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

Setting Up Navigation Stack with only Odomtery

asked 2014-08-22 19:19:16 -0500

ROSCMBOT gravatar image

updated 2014-08-22 20:27:00 -0500


I'm trying to set up the navigation stack on a robot possessing only odometry devices (wheel encoder, IMU, and GPS, published to /odom /imu /gps). No camera/laser. The robot is also using robot_state_publisher to publish the transformations between robot parts. The tree looks like this:

/base_footprint --> /base_link --> /imu /gps /front_left_wheel_link /front_right_wheel_link ...

If I want to use only odometry sources (wheel encoder, IMU, and GPS) to navigate the robot, it seems the only frame transformation that needs to be done is /map --> /odom --> /base_footprint. I was wondering if this should be done manually or navigation stack (amcl localization?) is taking care of these two transformations?


edit retag flag offensive close merge delete


Can I ask you how do you get information from /imu /gps and /odom the move your base_link? In the tutorial about setting up the navigation stack I didn t find any example. Regards

Andromeda gravatar image Andromeda  ( 2014-08-24 07:10:30 -0500 )edit

2 Answers

Sort by ยป oldest newest most voted

answered 2014-08-23 16:34:35 -0500

fergs gravatar image

Without a laser, you won't be able to use amcl. You should be able to use to use the odometry alone, however, given that odometry is going to drift, you'll likely get lost in your map.

edit flag offensive delete link more

answered 2014-08-24 08:58:50 -0500

Tom Moore gravatar image

You can fuse all those sources together using a state estimation package like robot_localization or robot_pose_ekf. Depending on your GPS, there will likely be some extra effort required to get its data integrated. Those nodes will generate a odom->base_link transform for you.

However, if you really want to follow the ROS spec (particularly REP-105), you'll need to maintain all three frames (map, odom, and base_link), and only fuse GPS data with the estimate in the map frame. I'm in the process of updating robot_localization to better support this.

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2014-08-22 19:19:16 -0500

Seen: 1,309 times

Last updated: Aug 24 '14