Yes. AMCL gets odometry information from the TF transform from odom to base_link.
This transform usually comes from some hardware on your robot, so the node that publishes the transform is specific to each robot. There's a navigation Odometry tutorial which describes how to publish the odometry transform from your encoder values.
Originally posted by ahendrix with karma: 47576 on 2016-11-20
This answer was ACCEPTED on the original site
Post score: 1
Comment by MINGLIBRIAN on 2016-11-22:
Thank you so much. If I understand correctly, the transform between odom and base_link broadcasted by some hardware should be varying as robot moves, right? And I saw that the parent frame of base_link is not odom but base_footprint, so what is the difference between the two frames? Thank you again!
Comment by ahendrix on 2016-11-23:
Some robots use different frame names, or they'll have intermediate frames between odom and base_link. In that case the hardware usually publishes the transform between odom and its direct child frame (in this case base_footprint).