选择数据集选择了好几天,最终选择了kaist数据集,这个数据集中有 轮速计,imu, gps, 16线雷达,这些传感器满足了我认为多传感器融合定位的需要。
简要介绍一下Kaist数据集
数据集是面向城市环境(例如大都市地区、复杂建筑和居住区)的。[1] 提供了上述的传感器数据
数据集网址:https://sites.google.com/view/complex-urban-dataset/download-lidar#h.sa42osfdnwst
数据集论文名称 : Complex Urban LiDAR Data Set
提供了
具体的传感器配置可以参考下论文中的截图。
2个16线雷达在车后边,斜向下安装,能更多的看到地面。
数据里的时间戳是雷达一圈最后一个packet的时间戳。
所有传感器的位置都是相对于参考坐标系的,参考坐标系在图中为 Vehicle Center。
我把数据集的连接统一放在腾讯文档里了,腾讯文档的地址如下:
https://docs.qq.com/sheet/DVElRQVNlY0tHU01I?tab=BB08J2
现在下载需要翻墙,如果之后有需要也可以将数据上传到阿里云盘之类的。
这个数据集提供了一个使用工具,只要将数据集的文件夹按照固定的格式设置,通过工具进行加载,就可以直接获取到ros格式的topic数据,非常方便。
这个工具是file_player,其github地址是
https://github.com/irapkaist/file_player
需要下载下来在自己的工作空间中进行编译,我已经将依赖和源码下载好了,放在开源项目中了,github地址是
https://github.com/xiangli0608/Learning_localization_from_scratch_ws
这个仓库已经是一个工作空间了,下载下来直接cd 进去,然后用 catkin_make 编译就可以了。
src文件夹里的 kaist_tool 文件夹里有3个文件夹,分别是
由于我暂时只下载了 Urban08 的数据集,所以现在只有一个 urban08.urdf, 不知道其他几个数据集的标定参数是否相同,如果相同那这一个urdf就可以用所有的数据了。
现在的urdf没有camera的link,等用到的时候再添加。
由于 file_player 这个工具是读取文件夹的,所以对文件夹目录的摆放提出了要求,不按照指定位置设置的话是读取不了数据对。
文件夹的设置如下所示:
Urban08
当你用官方的链接下载时,需要将Urban08文件夹进行合并,最终合并成上述所示的文件夹。
编译好代码之后,先source,再rospack prodfile,然后执行
roslaunch file_player file_player.launch
会弹出如下所示界面
点击 Load 按钮,选中刚才设置好的 Urban08 文件夹,之后会在终端中打印
Stamp data are loaded
Altimeter data are loaded
Encoder calibrated parameter
Encoder resolution: 4096
Encoder left wheel diameter: 0.623803
Encoder right wheel diameter: 0.623095
Encoder wheel base: 1.52683
Encoder data are loaded
Fog data are loaded
Gps data are loaded
Vrs gps data are loaded
IMU data are loaded
scandir: No such file or directory
[ INFO] [1658414406.186192494]: camera calibration URL: file:///media/trunk/Trunk/0-LX/Kaist/Urban08/calibration/left.yaml
[ INFO] [1658414406.187175921]: Unable to open camera calibration file [/media/trunk/Trunk/0-LX/Kaist/Urban08/calibration/left.yaml]
[ WARN] [1658414406.187216202]: Camera calibration file /media/trunk/Trunk/0-LX/Kaist/Urban08/calibration/left.yaml not found.
[ INFO] [1658414406.187247816]: camera calibration URL: file:///media/trunk/Trunk/0-LX/Kaist/Urban08/calibration/right.yaml
[ INFO] [1658414406.187349750]: Unable to open camera calibration file [/media/trunk/Trunk/0-LX/Kaist/Urban08/calibration/right.yaml]
[ WARN] [1658414406.187373500]: Camera calibration file /media/trunk/Trunk/0-LX/Kaist/Urban08/calibration/right.yaml not found.
表示数据加载成功,如果没提示表示没加载成功。然后按 Play 按钮即可将数据通过ROS发布出来。
会有很多个topic发布出来,有些是ros的标准格式,有些是irp_sen_msgs格式的数据
其中ros标准格式的数据如下:
其中
还有非常多视觉的topic,等用到视觉的时候再说吧
通过执行 roslaunch kaist_description kaist_description.launch
可以进行点云的可视化
坐标系间的可视化如下
点云的可视化如下
现在数据集选定了,数据也可以通过ROS发布出来了,接下来先是进行建图,然后再开始搞多传感器融合定位。
[1] KAIST URBAN DATA SET/Complex Urban LiDAR Data Set数据集参数
https://blog.csdn.net/Iqun_LAN/article/details/106445884
[2] Kaist数据集的使用
https://blog.csdn.net/weixin_43846627/article/details/113510014