move_base sometimes fails to drive, how to find out why

Hi,

I try to use move_base to drive my robot. I have the setup working quite fine, most of the time, using gmapping for map->odom tf, and the global planner working in the map frame. The local planner is working in the odom frame completely.

My issue is, that sometimes move_base just won't drive for no apparent reason.

I get this warning quite often:

Could not get robot pose, cancelling reconfiguration


Usually this does not seem to matter much. But I have no real idea, where that comes from. Is there anyway to investigate that further?

Then, before the robot stops moving I sometimes got this error (but not always):

 Aborting because a valid control could not be found. Even after executing all recovery behaviors


At this point, the global planner, still publishes paths on move_base/NavfnROS/plan, but there is nothing published on move_base/TrajectoryPlannerROS/local_plan.

So it seems that the local planner gave up. I watched the local obstacles in rviz and this also happens if there are no local obstacles at all. How can I find out for what reason the local planner gave up?

The robot actually starts moving again, as soon as it gets a new goal, either from exploration or manually from rviz. Then it will drive just fine, until it again, just stops moving for no obvious reason.

edit retag close merge delete

Sort by » oldest newest most voted

In terms of move_base, you can only get a generic answer: Look at the outputs/rxconsole messages/log files/markers.

move_base only calls the global/local planner and usually that's the origin of failing. As their behavior is specific on the planner, debugging depends on what planner you use.

The fact that the global planner still publishes paths can be normal. It might not use real-world obstacles, or uses a relaxed plan (like only grid-based A*). So even, if that succeeds, the local planner might not be possible to find a path as you observed.

more

check if move_base is properly subscribing your laser scan. I had problems once, not seeing any obstacles coming from the local_planner. I do not quite remember, but I think the problem was from amcl, which was not subscribing to the robot's odom (I never used gmapping). Also you can try to play around with the parameters of your move base, that helped me once.

more