博主小白,分享一下自己对于点变换和坐标系变换的理解,不对的地方请大家指出~
目录
- 坐标系变换
- 点变换
- KITTI数据集中的坐标系关系
- 参考
坐标系变换
以最简单的坐标系变换为例,如下图
图中有两个坐标系,因为没有旋转,两个坐标系之间的变换关系很显然为
将
记为 , 也就是
在这个式子中,代表由坐标系2到坐标系1的空间变换,也就是坐标系1相对于坐标系2的位姿
点变换
同理,还是上面这个图,点在坐标系1下的坐标为,在坐标系2下的坐标为,设和的坐标变换为代表坐标系2到坐标系1的变换,则有:
带入,得:
因此,可以得到
通过这个例子可以发现,点的空间变化和坐标系的空间变换是一样的。
KITTI数据集中的坐标系关系
理解了上面的内容(点的空间变化和坐标系的空间变换是一样的),kitti数据集的坐标系变换就很简单了。
kitti坐标系之间的关系如下如图,其中左侧的坐标系是kitti odomtery的真值坐标系,右侧是lidar坐标系,因为A-LOAM计算的到的pose是右侧的,所以要想根据真值进行评价,我们需要将其转换到左侧的真值坐标系(其实就是左相机的坐标系),具体可以参考这篇博客。
记:
lidar to left camera的外参矩阵为,即Tr transform a point from velodyne coordinates into the left camera coordinate system;(这里我感觉这个其实就是camera到lidar的变换矩阵)
第i帧lidar坐标系在其世界坐标系(其世界坐标系就是指的相对于第一帧lidar的pose)的pose(也即transform)为;
第i帧camera坐标系在其世界坐标系的pose为;
第i帧lidar坐标系下的点云为;
第i帧camera坐标系下的点云为;
第i帧点云在lidar世界坐标系(第一帧的坐标系)下的点云为;
第i帧camera世界坐标系(第一帧的坐标系)下的点云为;
有:
其中就是kitti的odomtery的真值,为A-LOAM得到的里程计。
参考
[1] LOAM笔记及A-LOAM源码阅读