You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
Thanks for the thorough analysis. I agree, at first glance, looks like a continue; is missing.
I'll try myself and see if there's any good reason for not having it (we wrote that logic long time ago, and I don't remember the rationale)
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.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.
The text was updated successfully, but these errors were encountered: