Workcells
Currently RMF has 2 types of sample workcells, namely: Dispenser and Ingestor.
| Message Types | ROS2 Topic | Description |
|---|---|---|
rmf_dispenser_msgs/DispenserRequest | /dispenser_reqeusts | Direct requests subscribed by the dispenser node |
rmf_dispenser_msgs/DispenserResult | /dispenser_results | Result of a dispenser request, published by the dispenser |
rmf_dispenser_msgs/DispenserState | /dispenser_states | State of the dispenser published by the dispenser periodically |
rmf_ingestor_msgs/IngestorRequest | /ingestor_requests | Direct requests subscribed by the ingestor node |
rmf_ingestor_msgs/IngestorResult | /ingestor_results | Result of a ingestor request, published by the ingestor |
rmf_ingestor_msgs/IngestorState | /ingestor_states | State of the dispenser published by the ingestor periodically |
In rmf_demos world, both TeleportDispenser and TeleportIngestor
plugins act as workcell adapter nodes.
Workcells currently work alongside with Delivery Task. In fleet_adapter.lauch.xml,
perform_deliveries needs to be true for the robot to accept a delivery task.
A Full Delivery:
- The robot will first move to the
pickup_waypoint - Requests a
DispenserRequesttill receives aDispenserResult. (Done Dispensing) - Continue delivery and moves to
dropoff_waypoint - Requests a
IngestorRequesttill receives aIngestorResult. (Done Ingesting)