ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | Q&A
Ask Your Question

Using the estimated robot pose from robot_pose_ekf with amcl

asked 2015-04-29 15:48:38 -0600

Naman gravatar image

updated 2015-05-01 10:56:03 -0600

Hi all,

I am using robot_pose_ekf to fuse data from Wheel encoders and IMU to estimate the 3D pose of the robot. Then, I am using amcl to take care of odometry drift and finally the move_base package does the navigation. I am generating the odom message of the type nav_msgs/Odometry from the wheel encoders which is used by the base_local_planner. I know robot_pose_ekf provides odom_combined to base_link transformation which is used by amcl.
My question is once robot_pose_ekf fuses the data from wheel encoders and IMU and generates the estimated 3D pose of the robot of the type geometry_msgs/PoseWithCovarianceStamped on the topic robot_pose_ekf/odom_combined, how and where is this output used in the navigation package as a whole (move_base or amcl)?

Thanks in advance.
Naman Kumar

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2015-05-01 12:48:50 -0600

bvbdort gravatar image

amcl dont use geometry_msgs/PoseWithCovarianceStamped message. Its nothing but tf from odom_combined -> base_link combined with covariance. As you mentioned amcl get the same pose from tf and amcl doesnt need pose covariance.

edit flag offensive delete link more


Thanks! So, basically the estimated robot pose from robot_pose_ekf is not used anywhere, its just the transformation between odom_combined and base link (which contains all the relevant information) which is used by amcl, right?

Naman gravatar image Naman  ( 2015-05-01 12:55:01 -0600 )edit

yes , transformation is nothing but estimate pose from ekf without covariance info.

bvbdort gravatar image bvbdort  ( 2015-05-01 13:45:42 -0600 )edit


Naman gravatar image Naman  ( 2015-05-01 14:07:02 -0600 )edit

"the estimated robot pose from robot_pose_ekf is not used anywhere," is that right ?? so why we use it?

marawy_alsakaf gravatar image marawy_alsakaf  ( 2017-11-07 04:00:44 -0600 )edit

No, covariance information is not used in amcl.

bvbdort gravatar image bvbdort  ( 2017-11-07 04:11:39 -0600 )edit

ok so i need to do robot_pose_ekf for encoders and IMU, and AMCL would use it instead of tf_diff ?

marawy_alsakaf gravatar image marawy_alsakaf  ( 2017-11-07 04:18:18 -0600 )edit

amcl needs odometry, most of the time odometry is from encoder and IMU

bvbdort gravatar image bvbdort  ( 2017-11-08 10:51:30 -0600 )edit

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


Asked: 2015-04-29 15:48:38 -0600

Seen: 902 times

Last updated: May 01 '15