1 前言
ros机器人系统里面,往往存在着多个坐标系系统,这些坐标系系统有着约定俗成的命名规范,便于机器人开发人员更好的理解代码,这里进行总结一下各个坐标系的含义。
关键注意的是odom坐标系,最容易理解错
2 各个坐标系
base_link坐标系
base_link是机器人本体坐标系,以底座中心为原点(一般为机器人的旋转中心)。
跟随robot一起运动,robot身上的任何零件都是以该坐标系为母参考系。
odom坐标系
odom的坐标系是固定世界坐标系,但是odom坐标系会随时间推移而漂移,与map坐标系不同。
这种漂移使odom坐标系无法用作长期的全局参考。但是,可以确保机器人的位姿在 odom坐标系中是连续的,这意味着odom坐标系中的机器人的位姿始终以连续平稳的方式变化,而不会出现离散的跳跃,这一点与map坐标系不同。
一般的,里程计坐标系的数据来源于车轮里程计,视觉里程计或惯性测量单元,以此来计算机器人在里程计坐标系下面的位姿。
里程计坐标系下的机器人位姿可以作为一个短期的参考,但漂移的存在使其不能作为全局的参考。
map坐标系
map坐标系是固定的世界坐标系,其Z轴指向上方。
在map坐标系下,不应存在漂移,但是机器人在map坐标系下面的位姿可能会有离散的变化,因为机器人在map坐标系下面的位姿可能因为回环检测而较大幅度的修改。