ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Pioneer3-Navigation-tf-/odom /map problem

asked 2012-11-06 04:12:56 -0600

keron gravatar image

updated 2012-11-06 23:02:01 -0600

Hello, I have some problems with a rebuild pioneer3-dx. The rebuild is with a construction(nearby 4kg weight and a Sick LMS 200). Right now I use the navigation stack ( AMCL and the Move_Base) and the p2os-stack(dashboard, motor, driver, joystick). While the robot runs with this configuration, the odom frame drifts farther and farther from the map-frame(the odom rotates around the base_link) see Scheme. After 3 rotations it lose its orientation of the map. The problem is when I send the target vectors to move_base_client direct, the zero coordinates change from map(as start point) to odom. At this situation the starting point is now at a new position in the wall. I tried to manipulate the values from navfn and amcl(odom-values) to compress the failure without success. Has anyone knowledge about this problems?? Thanks in anticipate.

edit retag flag offensive close merge delete


What do you men with "the zero coordinates change from map to odom"?

Lorenz gravatar image Lorenz  ( 2012-11-06 04:31:59 -0600 )edit

I mean the origin frame, if I start the robot. This pose is at the frame /map. Normally, during the robot is active /odom should have always the same position nearby the /map. But if I use a joystick or the move_base_client ,the frame /odom drift away.

keron gravatar image keron  ( 2012-11-06 11:41:53 -0600 )edit

2 Answers

Sort by ยป oldest newest most voted

answered 2012-11-06 23:11:52 -0600

dornhege gravatar image

This is not a problem, but the correct behaviour. The /odom frame naturally has drift and thus will not coincide with /map when running localization. If you want to address coordinates in a globally consistent frame, use /map, not /odom.

edit flag offensive delete link more

answered 2012-11-07 01:44:50 -0600

keron gravatar image

Thanks I tried it, but the problem is nearby the same. Now the origin /map rotates a little bit after calling the move_base_client. Than MoveBase the error : "[ERROR] [1352218718.334551350]: Aborting because a valid plan could not be found. Even after executing all recovery behaviors." Is this possible that navigation stack only works in a simulated environment?? Like an empty room.

edit flag offensive delete link more


Please do not post an answer for discussion. Edit your original question or use the comment functionality instead.

dornhege gravatar image dornhege  ( 2012-11-07 02:08:31 -0600 )edit

Given the message I guess either your current state or the goal is in collision. Is rviz working to send the goal?

dornhege gravatar image dornhege  ( 2012-11-07 02:12:37 -0600 )edit

Yes it works. And the topic echo move_base_simple/goal show the vector from the current pos to the target pos,too. I tested it from different locations, I think rviz use everytime its own coordinate system. But I would like use the navigation without rviz and with an Interface to different programs

keron gravatar image keron  ( 2012-11-07 02:55:24 -0600 )edit

If it works with rviz it also works otherwise. rviz uses the fixed frame, which should be set to /map. Your code should do the same and provide valid coordinates. You can compare by echoing the topic output from rviz. Your values for the same goal should be similar.

dornhege gravatar image dornhege  ( 2012-11-07 05:10:05 -0600 )edit

Question Tools


Asked: 2012-11-06 04:12:56 -0600

Seen: 455 times

Last updated: Nov 07 '12