概述
关于base_link与base_footprint的关系请参考我的:amcl配置需要特别注意的问题这篇文章。
要回答的问题
1、map坐标系在导航中是什么,它与gazebo中世界坐标系又有怎样的联系?
2、map到odom的TF变化的意义是什么?怎样得到的?
3、odom到base_link的TF变化的意义是什么?怎样得到的
4、TF变化对于导航堆栈的意义是什么?有什么注意事项?
回答问题1
地图是建出来的,在建图过程中,以机器人出发的起点作为map坐标系的原点。
从xacro文件在gazebo中生成机器人时,机器人默认放置在gazebo中的世界坐标原点,该世界坐标遵循右手坐标系,其坐标轴朝向固定。其它link的坐标系,如base_link(如果base_link是机器人最顶层坐标系)的坐标轴朝向默认与gazebo世界坐标一致,这个默认的意思如图:
oringin:表示该坐标系相对于其父坐标系的位置和朝向,六个0默认相同
注意:如果机器人本体的最顶层的坐标系是base_link,这就意味着base_link的父坐标系是gazebo中的世界坐标系。
规范是使用robot_state_publisher发布机器人本体一系列坐标变化,如base_link->laser_link、base_link->whee