最近在SLAM调研期间,看到了FAST-LIO2以及Point-lio这两个比较新的SLAM建图算法,想着上手编译并且运行一下,选择了自己了解到的比较出名的数据集KITTI,想着在上述两个开源算法上上手跑一下(原论文并没有使用KITTI数据集进行验证),研究了两天最终也没有成功解决,上述两个开源算法都需要支持bag包中含有雷达每个点的采样的时间戳(timestamp)属性,查询了几个方法并实践后发现KITTI貌似本身就不支持雷达采样点的时间戳属性。
KITTI数据集没有雷达采样点的时间戳属性,这个观点仅代表现阶段我的调研,如果确实有这个属性并且有具体的kitti2bag方法将原始数据转换为bag包,欢迎在评论区指出,贴出链接,我也学习一下。
FAST-LIO和Point-lio官方网站
FAST-LIO是有雷电点云的后向传播、Point-lio采用的是雷达采样点的直接配准,两者都需要雷达点云具体的时间戳属性,具体可以参考论文以及Github官网展示:
GitHub - hku-mars/FAST_LIO: A computationally efficient and robust LiDAR-inertial odometry (LIO) package
https://github.com/hku-mars/Point-LIO
心路历程
Kitti2bag官方数据包转换工具
最先尝试的是使用Kitti2bag工具包转换KITTI官方odometry对应的数据,将其转换为bag包,随后播放bag包时显示:
显示没有time属性,其他两个属性不是很重要,一个intensity问题自己搜索之后已经解决,可以参考我的上一篇博客(官方提供的Kitti2bag转换工具也请参考我的上一篇博客):
kitti2bag原始数据转为bag包工具使用、SLAM精度评估工具evo安装及使用、KITTI原始数据集对应关系-CSDN博客
随后只解决了intensity问题,网络搜索基本找不到有关time的解决方案。
LIO-SAM Github网站提供的转换工具以及bag包
随后通过某个Github上的issue了解到LIO-SAM提供的工具包能够对KITTI数据集进行转换,再次尝试:
GitHub - TixiaoShan/LIO-SAM: LIO-SAM: Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping
数据包转换工具以及提供好的bag包下载链接参考如下:
进入LIO-SAM官网就可以看到上面图片展示的信息,自己下载LIO-SAM官方提供的数据包(上图Google Drive链接),再次修改lidar_topic以及imu_topic后上面出现的intensity以及ring警告均没有了,但是time的警告仍然存在。
其他三方转换工具
随后又调研了几个转换工具:
- 针对Lego-loam跑Kitti00包的(这个方法转换后的bag包只有雷达话题,没有Imu话题,所以没有尝试,感觉也不行,贴个链接供查看):lego-loam 跑 kitti00包(kitti2bag+lego-loam+evo)详细版_kitti格式转tum-CSDN博客
- 一个Github上阿里员工提供的kitti2bag转换工具,但是内容基本和上面一个没有太大差别:KITTI数据集转化为ROS bag包(解决各种类型数据集,实测有效)_kitti数据集转化成rosbag-CSDN博客
写在最后
暂时写到这里,自己尝试了2天,这个问题仍然没有解决,中间我查到一个Github上的issue也是关于Kitti的时间戳的问题,上面写到目前KITTI不支持雷达每个采样点的时间戳,后续有新的内容我会及时贴出来。