Diagnostics
eplansys_rmf_probe holds two programs that establish the bridge’s two ends
against a real fleet before any ActionExecutorClient exists. state_probe
is the receiving end, built on the same WebsocketFeed the bridge uses;
submit_probe is the sending end.
state_probe
A websocket server that reads task states and task logs and reports any value carrying a known prefix. That settles whether an epistemic outcome token survives the trip.
ros2 run eplansys_rmf_probe state_probe --port 7879
Flag |
Meaning |
|---|---|
|
Port to listen on. |
|
Prefix that marks a value as an epistemic outcome. |
|
Print every log entry, not only those carrying the prefix. |
|
Print the frames as they arrive. |
Point the adapter at it, with the panel switched off:
ros2 launch eplansys_rmf_demo office_fleet.launch.xml \
use_rmf_panel:=false server_uri:="ws://localhost:7879"
submit_probe
Submits one task pinned to a named robot and prints the booking id it was
given. state_probe groups everything it reports under that same id, which is
the key the bridge uses to match a finished RMF task to the epistemic action
that asked for it.
ros2 run eplansys_rmf_probe submit_probe -F tinyRobot -R tinyRobot1 \
-p patrol_A1
Flag |
Meaning |
|---|---|
|
Fleet name. |
|
Robot name. |
|
Destination waypoint. |
|
Final orientation. |
|
Send a |
|
How long to wait for a response. |
Reading the output
[11:32:59] task compose.dispatch-0: assigned to tinyRobot/tinyRobot1
[11:32:59] task compose.dispatch-0: none -> underway
[11:33:00] task compose.dispatch-0: OUTCOME via log: "e-scan-dirty"
[11:33:01] task compose.dispatch-0: underway -> completed
task compose.dispatch-0
category compose
robot tinyRobot/tinyRobot1
status completed
outcome "e-scan-dirty" (via log)
A stock go_to_place task carries no outcome, and the summary says so. To see
one, have the fleet adapter’s action executor write the token as shown in
Running the survey demo.
PYTHONNOUSERSITE=1 may be needed for anything that launches
rmf_demos_panel, whose Flask can be shadowed by a pip --user Werkzeug.
Neither probe is affected.