Replies: 1 comment 4 replies
-
While the robot is performing the precise movement, you can have your fleet adapter continually update the robot's itinerary such that the first waypoint in the itinerary is dispenser waypoint. We do something similar in our rmf_demos_fleet_adapter when docking. ie, the robot's itinerary does not start with the current location of the robot but rather includes the entire docking path regardless of where the robot is. That way that first waypoint where the robot begins docking is part of the schedule submitted by the fleet adapter. This should re-reoute other robot's attempting to reach this same waypoint but it's also subjective to how the graph is setup and whether there are nearby holding waypoints. This is not ideal but it's a workaround until we have the Open-RMF Reservation system implemented where agents can reserve shared resources such as parking spots. This would also lead in to having a queuing area at pickup/ dropoff locations where robots wait for their turns to interact with the shared dispensers. |
Beta Was this translation helpful? Give feedback.
-
Hi,
I have a setup in which a Dispenser node is activated when a robot arrives to a waypoint at the end of a lane, like this (coffee_bar):
Robots go here with a Delivery Task, where a Dispenser node receives a request and performs some tasks, including moving the mobile robot from that waypoint outside the lane graph for more precise control of the location where it will receive an object.
However, I noticed that when there are two Delivery requests, the second robot does not realize that the first is at the dispensing node because technically it left the RMF lanes in order to do that precise movement. This results in RMF not recognizing a conflict and both robots end up in the dispensing waypoint (coffee_bar) once the first robot comes back to the graph.
My goal is to add holding points in order for the second robot to wait while the first robot leaves that dead end waypoint where the dispensing occurs. But I noticed it does not work 100%
I'd be grateful to get some more ideas on how I can accomplish this.
Beta Was this translation helpful? Give feedback.
All reactions