Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Costmap Safety Check Doesn't Quite Work as Expected #297

Open
Jmeyer1292 opened this issue Mar 22, 2022 · 1 comment
Open

Costmap Safety Check Doesn't Quite Work as Expected #297

Jmeyer1292 opened this issue Mar 22, 2022 · 1 comment

Comments

@Jmeyer1292
Copy link

Jmeyer1292 commented Mar 22, 2022

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).
oscillation
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.

@corot
Copy link
Collaborator

corot commented Nov 15, 2022

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)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants