ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
1

Bias move_base to move forward and not turn? [closed]

asked 2014-08-03 10:46:23 -0500

2ROS0 gravatar image

updated 2014-08-07 11:44:18 -0500

Hi,

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.

EDIT:

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.

edit retag flag offensive reopen merge delete

Closed for the following reason the question is answered, right answer was accepted by Procópio
close date 2016-02-17 08:23:42.607505

1 Answer

Sort by » oldest newest most voted
1

answered 2014-08-03 17:30:34 -0500

ahendrix gravatar image

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.

edit flag offensive delete link more

Comments

Thanks for the help. I'll do that ASAP.

2ROS0 gravatar image 2ROS0  ( 2014-08-05 09:05:01 -0500 )edit

@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)

2ROS0 gravatar image 2ROS0  ( 2014-08-07 08:13:54 -0500 )edit

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.

ahendrix gravatar image ahendrix  ( 2014-08-07 12:20:36 -0500 )edit

@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.

2ROS0 gravatar image 2ROS0  ( 2014-08-08 10:49:05 -0500 )edit

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.

ahendrix gravatar image ahendrix  ( 2014-08-08 11:56:20 -0500 )edit

Question Tools

1 follower

Stats

Asked: 2014-08-03 10:46:23 -0500

Seen: 2,319 times

Last updated: Aug 07 '14