Rosanswers logo


I am working on amcl recently, I have some questions about it. The tf tree is like the picture below.

image description http://answers.ros.org/upfiles/13893591131665467.png

  1. I found in other questions that amcl receives information from tf between odom and base_link frames, then broadcast tf between map and odom frames after correcting to implement localization. I am not sure if I understand correctly.
  2. Suppose the coordinate of odom under map frame is (x1, y1), base_link under odom is (x2, y2). So if I understand correctly, the coordinate of base_link under map frame is (x, y), i.e. x=x1+x2, y=y1+y2. Is it right?
  3. What role does base_footprint frame play?


Originally posted by MINGLIBRIAN on ROS Answers with karma: 3 on 2016-11-23

Post score: 0


1 Answer 1


Rosanswers logo

First of all, it seems your picture about tf tree doesnt have amcl, so I'm not sure if the picture is related to the questions.

Next, following are my thoughts about your questions:

  1. You are right. AMCL keeps transform between map and odom. Some node will keep transform between odom and base_link. This node could use difference ways to calculate the transform: motor encoder, laser odometry, imu, fusion of different sensors, etc.
  2. Not always true. The reason is it depends on the rotational transform between odom and map. In your example, there is no information about the rotation, so we cant conclude easily. If the odom and map frame have same orientation (meaning no rotational transform between them), then you can conclude x=x1+x2, y=y1+y2.
  3. base_link frame represents the robot body. It varies from different type of robots.

Originally posted by DavidN with karma: 544 on 2016-11-23

This answer was ACCEPTED on the original site

Post score: 1


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.