安装kitt2bag
1
2
3sudo pip install pandas==0.23.0 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
sudo pip install pykitti -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
sudo pip install kitti2bag -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
使用kitti-lego-loam
,结果报错 Failed to find match for field intensity ,结果发现是kitti转换出的bag中的点云fields是:x, y, z, i
。偏偏legoloam需要的是x, y, z, intensity.
参考kitt2bag 解决“Failed to find match for field intensity”问题
将PointField('i', 12, PointField.FLOAT32, 1)]
改为 PointField('intensity', 12, PointField.FLOAT32, 1)]
同步后的数据中,imu的频率在10Hz左右,如果需要100Hz的IMU数据,可以参考LIO-SAM【项目地址】中作者改过的kitti2bag文件。
该方法同时使用原始数据(extract)和同步数据(synced)制作数据包。
真值
真值pose是左相机坐标系相对于其第1帧的transform
数据集KITTI-00的真值pose.txt
,行数就是帧数,每行是12列数据,12列数据很容易想到是3个平移量和一个3x3的旋转矩阵,但是其排列方式是一个3*4
的增广矩阵[R|t]
,说白了就是4x4的变换矩阵T去掉了最后一行的[0 0 0 1]
,数据存储顺序是从行到列
第一行数据如下1
1.000000e+00 9.043680e-12 2.326809e-11 5.551115e-17 9.043683e-12 1.000000e+00 2.392370e-10 3.330669e-16 2.326810e-11 2.392370e-10 9.999999e-01 -4.440892e-16
实际就是矩阵