0
$\begingroup$

Rosanswers logo

Dear ROS users, I am writing a nav_core recovery plugin to use with move_base and the trajectory rollout planner. To effectively test my code, I would like to be able to trigger the recovery behavior in someway, or tell the planner to activate a recovery often. In fact, when the robot is stuck, recovery behaviors are not always activated. I tried to lower the value of controller_patience in move base, but it seems that does not work. Is there a way to tell the planner to activate the recovery behaviors?


Originally posted by rastaxe on ROS Answers with karma: 620 on 2017-09-08

Post score: 0

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

move_base will invoke the recovery behaviors on three conditions: An oscillation was discovered, no global plan was received for some amount of time, or the local planner failed to find a valid velocity command for some amount of time. You can try forcing these conditions as test cases?


Originally posted by Sidd with karma: 155 on 2017-09-10

This answer was ACCEPTED on the original site

Post score: 0


Original comments

Comment by rastaxe on 2017-09-13:
Thanks for the answer. In my case, tuning the oscillation_timeout parameter is enough to trigger recovery behaviour. The default value is 0, which means infinite time.

Comment by Sidd on 2017-09-22:
I'm sorry, but I'm confused by your comment. Did you mean that tuning the oscillation parameter fixed your problem?

Comment by rastaxe on 2017-11-23:
yes, putting a small value (not zero) on the oscillation_timeout triggers the recovery behaviour very often, which was what I was looking for (only for testing my plugin).

$\endgroup$

Your Answer

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