iRobotEducation / create3_sim

ROS 2 Simulation for the iRobot® Create® 3 Educational Robot
BSD 3-Clause "New" or "Revised" License
110 stars 56 forks source link

Undock action failures #155

Open alsora opened 2 years ago

alsora commented 2 years ago

Describe the bug

I'm running the ignition simulation. It's worth mentioning that since I'm not using a GPU, it runs incredibly slow (0.2 real time factor).

This seems to cause problems in the undocking action, that terminates while the robot is still backing up (i.e. before it turn 180 degree).

Logs from the simulator terminal:

[motion_control-20] [INFO] [1645199480.062020673] [motion_control]: Received new undock goal
[motion_control-20] [WARN] [1645199490.479844511] [motion_control]: Reached backup limit! Stop Driving robot backward or disable from safety_override parameter!
[motion_control-20] [WARN] [1645199531.984501790] [motion_control]: Reflex Exceeded Runtime without clearing hazard

The issue is caused by the very slow real time factor. If I run the system at 1x, the problem goes away. Still there's definitely a bug somewhere in the code as the actions shouldn't depend on the wall-time.

To Reproduce In one terminal:

ros2 launch irobot_create_ignition_bringup create3_ignition.launch.py

in another terminal:

ros2 action send_goal /undock irobot_create_msgs/action/Undock "{}"

Screenshots Final position of the robot:

Screenshot from 2022-02-18 15-56-20