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

Using the estimated robot pose from robot_pose_ekf with amcl

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

Naman gravatar image

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

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
1

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

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

Comments

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 -0500 )edit
1

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

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

Ok..Thanks!

Naman gravatar image Naman  ( 2015-05-01 14:07:02 -0500 )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 -0500 )edit

No, covariance information is not used in amcl.

bvbdort gravatar image bvbdort  ( 2017-11-07 04:11:39 -0500 )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 -0500 )edit

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

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

Question Tools

1 follower

Stats

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

Seen: 965 times

Last updated: May 01 '15