博主小白,分享一下自己对于点变换和坐标系变换的理解,不对的地方请大家指出~

目录

  • ​​坐标系变换​​
  • ​​点变换​​
  • ​​KITTI数据集中的坐标系关系​​
  • ​​参考​​

坐标系变换

以最简单的坐标系变换为例,如下图

点的空间变换与坐标系的空间变换_数据集


图中有两个坐标系,因为没有旋转,两个坐标系之间的变换关系很显然为

点的空间变换与坐标系的空间变换_数据集_02


点的空间变换与坐标系的空间变换_世界坐标系_03记为 点的空间变换与坐标系的空间变换_坐标变换_04, 也就是
点的空间变换与坐标系的空间变换_世界坐标系_05
在这个式子中,点的空间变换与坐标系的空间变换_坐标变换_04代表由坐标系2到坐标系1的空间变换,也就是坐标系1相对于坐标系2的位姿


点变换

同理,还是上面这个图,点点的空间变换与坐标系的空间变换_世界坐标系_07在坐标系1下的坐标为点的空间变换与坐标系的空间变换_坐标变换_08,在坐标系2下的坐标为点的空间变换与坐标系的空间变换_空间变换_09,设点的空间变换与坐标系的空间变换_世界坐标系_10点的空间变换与坐标系的空间变换_坐标变换_11的坐标变换为点的空间变换与坐标系的空间变换_slam_12代表坐标系2到坐标系1的变换,则有:

点的空间变换与坐标系的空间变换_世界坐标系_13
带入点的空间变换与坐标系的空间变换_世界坐标系_10,点的空间变换与坐标系的空间变换_坐标变换_11得:
点的空间变换与坐标系的空间变换_数据集_16
因此,可以得到点的空间变换与坐标系的空间变换_数据集_17

通过这个例子可以发现,点的空间变化和坐标系的空间变换是一样的

KITTI数据集中的坐标系关系

理解了上面的内容(点的空间变化和坐标系的空间变换是一样的),kitti数据集的坐标系变换就很简单了。

kitti坐标系之间的关系如下如图,其中左侧的坐标系是kitti odomtery的真值坐标系,右侧是lidar坐标系,因为A-LOAM计算的到的pose是右侧的,所以要想根据真值进行评价,我们需要将其转换到左侧的真值坐标系(其实就是左相机的坐标系),具体可以参考​​这篇博客​​。

点的空间变换与坐标系的空间变换_slam_18


记:

lidar to left camera的外参矩阵为点的空间变换与坐标系的空间变换_坐标变换_04,即Tr transform a point from velodyne coordinates into the left camera coordinate system;(这里我感觉这个点的空间变换与坐标系的空间变换_空间变换_20其实就是camera到lidar的变换矩阵

第i帧lidar坐标系在其世界坐标系(其世界坐标系就是指的相对于第一帧lidar的pose)的pose(也即transform)为点的空间变换与坐标系的空间变换_数据集_21

第i帧camera坐标系在其世界坐标系的pose为点的空间变换与坐标系的空间变换_slam_22

第i帧lidar坐标系下的点云为点的空间变换与坐标系的空间变换_slam_23

第i帧camera坐标系下的点云为点的空间变换与坐标系的空间变换_数据集_24

第i帧点云在lidar世界坐标系(第一帧的坐标系)下的点云为点的空间变换与坐标系的空间变换_世界坐标系_25

第i帧camera世界坐标系(第一帧的坐标系)下的点云为点的空间变换与坐标系的空间变换_空间变换_26

有:
点的空间变换与坐标系的空间变换_数据集_27

点的空间变换与坐标系的空间变换_slam_28

点的空间变换与坐标系的空间变换_空间变换_29

点的空间变换与坐标系的空间变换_空间变换_30

点的空间变换与坐标系的空间变换_世界坐标系_31

其中点的空间变换与坐标系的空间变换_slam_22就是kitti的odomtery的真值,点的空间变换与坐标系的空间变换_数据集_21为A-LOAM得到的里程计。

参考

[1] ​​LOAM笔记及A-LOAM源码阅读​​