Ask Your Question
0

What is Warn and Error about Rotate recovery?

asked 2014-06-24 18:35:03 -0600

Ken_in_JAPAN gravatar image

After planning, ROS outputs a warn and an error on a terminal.

[WARN] [1403639144.542396993]: Rotate recovery behavior started.
[ERROR] [1403639144.542945771]: Rotate recovery can't rotate in place because there is a potential collision. Cost: -1.00

What outputs these warning and error? I means which source file says error and warning? and What kind of problem happens on my plan?
Could anyone give me any clues? Thank you in advance?

edit retag flag offensive close merge delete

3 Answers

Sort by ยป oldest newest most voted
0

answered 2014-06-25 02:07:04 -0600

fergs gravatar image

updated 2014-06-25 02:07:19 -0600

Yes, this in the rotate_recovery behavior inside the navigation stack. However, the actual cause of this is typically more complex. If your robot has an odd-shaped footprint, than that can be the cause. But if you are using a turtlebot, with a circular footprint and centered drive wheels, you should pretty much always be able to rotate in place -- unless localization drifts/jumps, thus putting you on top of an obstacle that was already in the cost map.

edit flag offensive delete link more

Comments

Thanks @fergs, I try to experiment a navigation with turtlebot2. As Turtlebot2 can rotate in place, you say that such a error doesn't arise without drift/jumps?

Ken_in_JAPAN gravatar imageKen_in_JAPAN ( 2014-06-25 02:21:40 -0600 )edit

@fergs, I run into this situation quite often with my Kobuki when it is stopped in a hallway and needs to go to the next goal location. I am using amcl and an existing map for localization and the DWA global planner. Is there any way to force a rotation in place as a last resort recovery behavior?

Pi Robot gravatar imagePi Robot ( 2016-09-18 09:50:08 -0600 )edit
1

answered 2014-06-27 09:03:17 -0600

I means which source file says error and warning?

grep -R "Rotate recovery behavior started." /opt/ros/groovy/
/opt/ros/groovy/stacks/navigation/rotate_recovery/src/rotate_recovery.cpp:  ROS_WARN("Rotate recovery behavior started.");
Binary file /opt/ros/groovy/stacks/navigation/rotate_recovery/lib/librotate_recovery.so matches
edit flag offensive delete link more

Comments

Thanks you @MichaelKorn, The command is useful for me.

Ken_in_JAPAN gravatar imageKen_in_JAPAN ( 2014-06-27 14:31:08 -0600 )edit
0

answered 2014-06-24 20:19:55 -0600

Ken_in_JAPAN gravatar image

updated 2014-06-25 13:27:20 -0600

If we execute rqt, we seem to be able to get many information. in case that Rotate recovery can't rotate in place because there is a potential collision, rqt shows that error happens at the location /home/turtlebot/catkin_ws/src/rotate_recovery/src/rotate_recovery.cpp:RoateRecovery::runBehavior:124 The position at the error is next

footprint_cost = world_model_->footprintCost(x, y, theta, local_costmap_->getRobotFootprint(),0.0,0.0);

and footprint value is likely -1.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2014-06-24 18:35:03 -0600

Seen: 2,191 times

Last updated: Jun 27 '14