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

planner frequency delays replanning on new goal #100

Closed
tkruse opened this issue Aug 2, 2013 · 2 comments
Closed

planner frequency delays replanning on new goal #100

tkruse opened this issue Aug 2, 2013 · 2 comments

Comments

@tkruse
Copy link

tkruse commented Aug 2, 2013

When setting the /move_base_node param to a low frequency above 0, e.g. 0.5, then this frequency delays replanning even when a new goal is set, which IMO it shouldn't.

To reproduce:
start navigation in stage:
$ roslaunch navigation_stage move_base_fake_localization_10cm.launch

set the param dynamically:
$ rosrun dynamic_reconfigure dynparam set /move_base_node planner_frequency 0.05

In rviz, set a nav goal, with mouse, robot should start moving towards goal.
Set another nav goal while robot is moving, and robot will stop moving,and global planning will be delayed by 0 to 20 secs.

I believe move_base should, upon receiving a new goal, immediately replan globally.

@hershwg
Copy link
Contributor

hershwg commented Aug 13, 2013

I agree, perfectly reasonable request.

Looks like this is caused by the r.sleep() call on line 623 of move_base.cpp. To fix, the loop needs to be reworked somehow so that the single (potentially big) call to r.sleep() is broken up into multiple short sleeps, with checks for new plan requests (or actionlib goal pre-emptions?) in between.

I don't have time to look into this right now, but the change should be feasible without affecting any APIs or other files I think.

@mikeferguson
Copy link
Contributor

should be fixed by #282

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

No branches or pull requests

3 participants