Rosanswers logo


I'm running the navigation stack on the Seekur Jr. robot. After a lot of parameter tuning, I have managed to get the robot to move satisfactorily to the goal.

However, when the goal is mostly straight in front of the robot (like at the end of a straight corridor) I find that the robot oscillates about (right and left) the path given to it by move_base. Is there a way to bias the robot to select more linear trajectories and less of angular trajectories?

In my application, I do not care much about the lateral displacement (and so I have set the xy goal tolerance to be high) but that doesn't solve the problem.

Thank you.


Video link: https://vimeo.com/102831405

I am navigating a corridor. I have a wall following algorithm that is computing a goal and sending it to move base. The goal can be seen by the big red marker and the global path (green) and local path (pink) are also visible. Ignore the green points on the floor in front of the robot (those are the computed ground plane).

As you can see, the planner always selects paths that curve a bit to the right. Although it keeps correcting and turning back to the left, it keep going ever so slightly to the right. And finally it gets too close to the obstacle.

So I am guessing that for whatever reason it is choosing trajectories that have negative v_theta. Any help you could proved on this would be great.

Thank you.

Originally posted by 2ROS0 on ROS Answers with karma: 1133 on 2014-08-03

Post score: 1


1 Answer 1


Rosanswers logo

There are a couple of things that could be causing this:

  • The global planner chooses a path that isn't very straight, and the local planner follows it
  • The global planner chooses a straight path, but the local planner overshoots and oscillates when trying to follow it
  • The robot itself has some momentum, and the base controller that's driving it is under-damped, causing the system to oscillate.

Without more information, it's hard to say which of these is actually the problem. Screenshots or video of rviz visualizing the global and local plans would be a good first step.

Originally posted by ahendrix with karma: 47576 on 2014-08-03

This answer was ACCEPTED on the original site

Post score: 1

Original comments

Comment by 2ROS0 on 2014-08-05:
Thanks for the help. I'll do that ASAP.

Comment by 2ROS0 on 2014-08-07:
@ahendrix I have uploaded the rviz video (link added to question). I also included details on what you are visualizing. (Sorry it will be uploaded in 40 minutes acc. to Vimeo)

Comment by ahendrix on 2014-08-07:
It looks like the global plan is consistently a little to the right of the robot, so it generates a local plan that goes right to take it quickly back to the global plan. You may want to try increasing the lookahead distance or the angular scoring weight.

Comment by 2ROS0 on 2014-08-08:
@ahendrix Thank you I increased the lookahead distance. That reduces the error a bit. But any ideas on what could be causing the global path to be slightly to the right every time.

Comment by ahendrix on 2014-08-08:
It's hard to say. My best guess would be that the global planner is planning in a discrete space, and the nearest discretization happens to be to the right for most of the video you showed. I wouldn't worry about it unless you're seeing consistent errors over many runs.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.