Ask Your Question
3

Give move_base goalpoints without orientation

asked 2013-02-15 03:15:55 -0500

Peter Roos gravatar image

Hi,

I would like to know that is it possible to give goalpoints to the move_base (by move_base/goal or move_base_simple/goal) without orientation.

I followed this tutorial: http://www.ros.org/wiki/navigation/Tutorials/SendingSimpleGoals

I've exchanged 'base_link' to 'map' in:

goal.target_pose.header.frame_id = "base_link";

because naturally, I have goalpoints in the map coordinate system.

This works, the robot moves from goalpoint to goalpoint as expected. However, every time it reaches it's destination, it will also turn to the map's x axis (mathematics conventional x axis, so the robot "points to the right"). I suppose this is becuase the tutorial sets an identity quaternion for orientation in the map frame. If I uncomment the line:

goal.target_pose.pose.orientation.w = 1.0;

then the code would not compile.

So basically I want my robot to just arrive to a goalpoint, it's orientation does not matter for me.

edit retag flag offensive close merge delete

Comments

Any update from this? Is there a simple way of passing a goal to the navigation stack without orientation constraint? i.e keeping the same end orientation as the path from which the robot arrive? Setting the yaw_goal_tolearence high in my local planner is causing issues (custom implementation)

doisyg gravatar imagedoisyg ( 2016-11-17 03:03:22 -0500 )edit

2 Answers

Sort by ยป oldest newest most voted
2

answered 2013-02-15 03:54:34 -0500

goal expects a input in form of "pose" which is made of position and orientation. So you cannot skip the orientation part. One thing you can do is either give a constant orientation or use the orientation of robot as goal position orientation so that robot orientation remains constant.

edit flag offensive delete link more
3

answered 2013-02-15 04:12:36 -0500

dornhege gravatar image

It depends on the planner you use within move_base. Some, which actually plan using the robot's theta will use that information, some others (like AFAIK navfn_ros) might ignore it. Given the default setup with navfn_ros you'd only need to tune the local planner. If that is TrajectoryPlannerROS, set the parameter to something large:

~<name>/yaw_goal_tolerance (double, default: 0.05)
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

Stats

Asked: 2013-02-15 03:15:55 -0500

Seen: 1,329 times

Last updated: Feb 15 '13