-
open-rmf release: iron 20231229 Issue summary: robot does enters lift without having lift session if while waiting for lift, robot current task is cancelled and assigned with another task. Building yaml: hotel.building.yaml
Robot starting position is set by using spawn_entity.launch.xml and robotplacer.launch.xml lift_session_issue_20241025.mp4Initial position: ros2 run rmf_demos_tasks dispatch_patrol -F tinyRobot -R tinyBot_2 -p restaurant --use_sim_time -id task_1; Then, a moment later, send sleep 5;
ros2 run rmf_demos_tasks dispatch_patrol -F tinyRobot -R tinyBot_1 -p L2_room15 --use_sim_time -id task_2; (refer to video at ros2 run rmf_demos_tasks cancel_task -id task_2;
ros2 run rmf_demos_tasks dispatch_patrol -F tinyRobot -R tinyBot_1 -p restaurant --use_sim_time -id task_3; Observation: |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 10 replies
-
Thanks for the detailed report. I've opened an issue ticket for this and we'll try to reproduce and then debug it. It looks like you're using a release from December of last year, and several race conditions related to lifts and task cancellation have been put in since then, so I'll start by doing an A/B test of the scenario with the current main branch vs the one you mentioned. |
Beta Was this translation helpful? Give feedback.
The bug has been found and fixed here: open-rmf/rmf_ros2#393
There are exactly two ways that the bug can occur:
I believe all the bugged cases that you've discovered match one of those categories, so the fix should cover everything.
That said, I would still recommend making sure that robots can always enter and exit lifts without a risk of conflicts occurring (e.g. by using mute…