sending goal pose always results in ABORT, spinning

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

sending goal pose always results in ABORT, spinning

Jeff Rousseau
Hello,

Now that I can localize my iRobot Create robot within ROS (thanks
Brian), I'm trying to programmatically send goal poses to the nav
stack through the MoveBaseClient/SendGoal C++ API that I found on the
http://www.ros.org/wiki/navigation/Tutorials/SendingSimpleGoals howto.

The problem I keep running into is that I always receive an ABORT from
getState() after a call to waitForResult().  The strange thing is that
the robot seems to get to where I tell him to go (more or less), but
he just rotates in place after getting there.  After about a minute of
spinning it presumably gives up for some reason and I get the ABORT.

Here is the modified code I'm using from the howto:
http://jeffrousseau.info/code/simple_navigation_goals.cpp

my costmap/planner settings:
http://jeffrousseau.info/nav/move_base/base_local_planner_params.yaml
http://jeffrousseau.info/nav/move_base/costmap_common_params.yaml
http://jeffrousseau.info/nav/move_base/global_costmap_params.yaml
http://jeffrousseau.info/nav/move_base/local_costmap_params.yaml

Looking at the costmap in rviz shows that it should be able to
traverse around the map relatively easily:
http://jeffrousseau.info/screencap/costmap.png

PS In order to get the code in the SendingSimpleGoals howto to compile
I had to change actionlib::TerminalState::SUCCEEDED to
actionlib::SimpleClientGoalState::SUCCEEDED (I assume the howto should
be updated to reflect this API change?)

Jeff

------------------------------------------------------------------------------
Throughout its 18-year history, RSA Conference consistently attracts the
world's best and brightest in the field, creating opportunities for Conference
attendees to learn about information security's most important issues through
interactions with peers, luminaries and emerging and established companies.
http://p.sf.net/sfu/rsaconf-dev2dev
_______________________________________________
ros-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/ros-users
Reply | Threaded
Open this post in threaded view
|

Re: sending goal pose always results in ABORT, spinning

Eitan Marder-Eppstein
Hey Jeff,

First off, I noticed that your inflation_radius parameter is set lower than your robot_radius parameter. This means that obstacles won't actually be inflated enough for the planner to create safe plans for your robot. I should really put a warning into the code for this case, its ticketed here: https://code.ros.org/trac/ros-pkg/ticket/3663 and, although I don't think it has anything to do with your current problem, you should try changing the inflation_radius parameter to be larger than the robot_radius.

Ok... on to your current problem. It looks like you're sending an invalid quaternion to the navigation stack from glancing at your attached .cpp file. Its tough to warn on all invalid quaternions, but I can at least warn in the case that its all 0's, I've ticketed this as well here: https://code.ros.org/trac/ros-pkg/ticket/3667. Try changing the following line:

goal.target_pose.pose.orientation.w = 0.0;
To:
goal.target_pose.pose.orientation.w = 1.0;
Hopefully, this solves it. If not, give a shout again and I'll dig a bit deeper.

Hope all is well,

Eitan


PS: I'll update the outdated tutorial thanks for pointing it out.
On Mon, Jan 18, 2010 at 9:28 AM, Jeff Rousseau <[hidden email]> wrote:
Hello,

Now that I can localize my iRobot Create robot within ROS (thanks
Brian), I'm trying to programmatically send goal poses to the nav
stack through the MoveBaseClient/SendGoal C++ API that I found on the
http://www.ros.org/wiki/navigation/Tutorials/SendingSimpleGoals howto.

The problem I keep running into is that I always receive an ABORT from
getState() after a call to waitForResult().  The strange thing is that
the robot seems to get to where I tell him to go (more or less), but
he just rotates in place after getting there.  After about a minute of
spinning it presumably gives up for some reason and I get the ABORT.

Here is the modified code I'm using from the howto:
http://jeffrousseau.info/code/simple_navigation_goals.cpp

my costmap/planner settings:
http://jeffrousseau.info/nav/move_base/base_local_planner_params.yaml
http://jeffrousseau.info/nav/move_base/costmap_common_params.yaml
http://jeffrousseau.info/nav/move_base/global_costmap_params.yaml
http://jeffrousseau.info/nav/move_base/local_costmap_params.yaml

Looking at the costmap in rviz shows that it should be able to
traverse around the map relatively easily:
http://jeffrousseau.info/screencap/costmap.png

PS In order to get the code in the SendingSimpleGoals howto to compile
I had to change actionlib::TerminalState::SUCCEEDED to
actionlib::SimpleClientGoalState::SUCCEEDED (I assume the howto should
be updated to reflect this API change?)

Jeff

------------------------------------------------------------------------------
Throughout its 18-year history, RSA Conference consistently attracts the
world's best and brightest in the field, creating opportunities for Conference
attendees to learn about information security's most important issues through
interactions with peers, luminaries and emerging and established companies.
http://p.sf.net/sfu/rsaconf-dev2dev
_______________________________________________
ros-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/ros-users


------------------------------------------------------------------------------
Throughout its 18-year history, RSA Conference consistently attracts the
world's best and brightest in the field, creating opportunities for Conference
attendees to learn about information security's most important issues through
interactions with peers, luminaries and emerging and established companies.
http://p.sf.net/sfu/rsaconf-dev2dev
_______________________________________________
ros-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/ros-users