osrf / rmf_core

Provides the centralized functions of RMF: scheduling, etc.
Apache License 2.0
102 stars 41 forks source link

Add an "Active Waiting" behavior #304

Closed mxgrey closed 3 years ago

mxgrey commented 3 years ago

Currently the fleet adapter behavior when a robot goes idle is to remove it from the traffic schedule and stop participating in any traffic negotiations. This is problematic for cases where a task or operator wants a robot to wait at a location which may create traffic conflicts, because the robot will become an invisible obstacle, blocking any traffic from passing through.

To deal with this use case, we can implement an "Active Waiting" behavior that the fleet adapter can use instead of letting robots go idle. While "Actively Waiting" a robot would make a best effort to remain on the designated waypoint while still giving way for other traffic that wants to pass through.

mxgrey commented 3 years ago

Implemented by #308