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.
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.