-
Notifications
You must be signed in to change notification settings - Fork 179
Costmap Safety Check Doesn't Quite Work as Expected #297
Description
Greetings. MoveBaseFlex is an excellent piece of software. Thank you for the hard work in creating and maintaining it.
I wanted to report an issue: In brief the safetyChecks are not working as expected.
- Setup: Robot with MoveBaseFlex and a Time-Elastic-Band local controller
- Experiment: Set an expected sensor data rate in your costmap parameters. Do NOT publish sensor data to the costmap.
- Expectation: The robot does not move. If sensor data is provided, it would keep going.
- Observation: The robot stutters and slowly creeps forward. See figure 1 for a visualization of the bag file.
Blue is a velocity command (linear/x).
Red is measured robot twist (linear/x).

Figure 1
A very quick glance through the source code shows this section of code as the point where our checks are applied.
It appears that the safety check fails (as expected), a zero velocity is published, and the thread sleeps. It then proceeds to go and run the controller and issue a command anyway. I suggest the inclusion of a continue in the loop where the safety checks fail.
I'm happy to make this edit, but I acknowledge that this may have been done on purpose. I can certainly see the value in still running controllers at regular intervals and just letting them know that things are kinda broken.
Again thank you for being open source maintainers.