Skip to content

robocup-logistics/rcll-mqtt-bridge

Repository files navigation

RCLL Mqtt Bridge

This is a tool to wrap the communication of the rcll-refbox with a team over json via mqtt. The advantage for this is that a new team does not need to implement the protocol.

Building

The build is done via gradle, run ./gradlew build

Running

If you are using the rcll-get-started repositor to start the refbox, there is build in support for this via the environment, please take a look there. If you want to directly start it you can use a command like:
java -jar mqtt-bridge-0.1-all.jar -b tcp://localhost:1883 -k randomkey -r localhost -t GRIPS
, note that all the arguments are required. Note that if you miss an argument it will print out a usage message.

Features

Implemented:

  • Messages Refbox to Public
  • Messages Refbox to Private
  • Prepare Machines

Messages Refbox to Public/Private

Best is you use the mqtt explorer to take a look what is published where. But there are 2 large groups (public/private) which publish the messages that are received on the according refbox peer. See images below.

Setup Phase:

setup_phase

Production Phase:

production_phase

Robot Beacon Signals

The bridge supports publishing Robot Beacon signals for a team. Topics: <TEAM>/beacon/R1 <TEAM>/beacon/R2 <TEAM>/beacon/R3 Payload: { "name": <ROBOT_NAME>, "x": <X_COORDINATE>, "y": <Y_COORDINATE>, "yaw": <YAW> }

robot_beacon_signal

Prepare Machines

The bridge is also listening to the following topics: Team is the value of the configure team name, i.e with the above starting command the name would be GRIPS. This applyes to all machine types below.

Base Station

Topic: <TEAM>/prepare/BS/<SIDE> Payloads:

  • Red
  • Silver
  • Black

SIDE is which side of the station to move the base to, it can either be input or output.

prepare_BS

Cap Station

Topic: <TEAM>/prepare/<CAP_STATION> Payloads:

  • RetrieveCap
  • MountCap

CAP_STATION is which station to use, it is either CS1 or CS2.

prepare_CS

Ring Station

Topic: <TEAM>/prepare/<RING_STATION> Payloads:

  • Blue
  • Green
  • Orange
  • Yellow

RING_STATION is which station to use, it is either RS1 or RS2.

prepare_RS

Delivery Station

Topic: <TEAM>/prepare/DS Payloads:

  • <ORDER_ID>

ORDER_ID is the id of the delivered order.

prepare_DS

Report machine as explored

Topic: <TEAM>/report Payload: { "machine": <FULL_MACHINE_NAME>, "x": <X_COORDINATE>, "y": <Y_COORDINATE>, "yaw": <YAW> } correct_report wrong_report

Missing Features

tion was prepared remember that this was done, then we could publish a more strong game state which does not need to be kept in the teams planning implementation but can be handled here.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages 3