Posted by @[Missing data]:
Hi
My test scenario is :
- Submit one task to robot A to request it to wp_C
- Before robot A reaches wp_C, Interrupt the task, and robot A stops at wp_A
- At this time , I noticed from rviz, robot A became inactive.
- submit one task to robot B to request it to go to wp_B, and now robot A stands on wp_A which is in the shortest path from the current position of robot B to the destination wp_B.
- robot B collieded with robot A.
Is this expected behavior of rmf?
Posted by @mxgrey:
Yes this is expected behavior. When interrupted, RMF stops making assumptions about what your robot is doing which means it will no longer be on the traffic schedule.
There are some unstable APIs such as unstable_declare_holding
that allow custom fleet adapters to push their traffic intentions into the schedule while a robot is interrupted. But the demo fleet adapters do not use that feature so you won’t see that capability being used in the simulations.
In a future version of RMF I’d like to add a feature to make it easy for users to toggle and customize this kind of predictive behavior but the unstable APIs are the best we can provide at the moment.