1 Kaist数据集简介
选择数据集好几天,最后选择kaist这个数据集中有数据集 轮速计,imu, gps, 这些传感器满足了我认为多传感器集成定位的需要。
简要介绍一下Kaist数据集
数据集面向城市环境(如大都市、复杂建筑和居住区)。 传感器数据提供了上述传感器数据
数据集网站:https://sites.google.com/view/complex-urban-dataset/download-lidar#h.sa42osfdnwst 论文名称的数据集 :
1.1 传感器数据
提供了
- 2个16线的veldyne的16线雷达
- 2个sick的单线雷达
- 里程计
- 1个消费级的imu
- 三轴光纤陀螺仪(可作为姿势的真值)
- 一个gps
- 一个vrs gps(rtk)
- 立体相机
具体的传感器配置可参考论文截图。
1.2 传感器位置
汽车后面安装了两个16线雷达,斜向下安装,可以看到更多的地面。 数据中的时间戳是雷达最后一圈packet的时间戳。
与参考坐标系相比,所有传感器的位置在图中为 Vehicle Center。
2 数据集下载
我在腾讯文档中统一连接数据集,腾讯文档地址如下: https://docs.qq.com/sheet/DVElRQVNlY0tHU01I?tab=BB08J2
现在下载需要翻墙。如有必要,也可以将数据上传到阿里云盘。
3 使用数据集
这个数据集提供了一个使用工具,只要数据集的文件夹以固定格式设置,并通过工具加载,就可以直接获得ros格式的topic数据,非常方便。
这个工具是file_player,其github地址是 https://github.com/irapkaist/file_player
3.1 项目仓库
需要在自己的工作空间下载编译,我已经下载了依赖和源代码,放在开源项目中,github地址是 https://github.com/xiangli0608/Learning_localization_from_scratch_ws
这个仓库已经是工作空间了,直接下载cd 进去,用 catkin_make 可以编译。
src文件夹里的 kaist_tool 文件夹中有三个文件夹,即
- file_player 读取数据集并通过数据集ros发布格式消息的工具
- irp_sen_msgs 一些定制的消息类型
- kaist_description 我根据数据集提供的标定文件写的urdf
因为我暂时只下载了 Urban08 所以现在只有一个数据集 urban08.urdf, 我不知道其他数据集的校准参数是否相同,如果相同的话urdf所有数据都可以使用。
现在的urdf没有camera的link,使用时再添加。
3.2 设置数据集的文件夹
由于 file_player 该工具读取文件夹,因此对文件夹目录的放置提出了要求,如果不按指定位置设置,则无法读取数据。
文件夹的设置如下:
Urban08
- calibration
- EncoderParameter.txt
- Vehicle2BackSick.txt
- Vehicle2FOG.txt
- Vehicle2GPS.txt
- Vehicle2IMU.txt
- Vehicle2LeftVLP.txt
- Vehicle2MiddleSick.txt
- Vehicle2RightVLP.txt
- Vehicle2VRS.txt
- sensor_data
- VLP_left 文件夹
- VLP_right 文件夹
- SICK_back 文件夹
- SICK_middle 文件夹
- 其它传感器数据csv文件
当您下载官方链接时,您需要将其下载Urban08文件夹合并,最终合并成上述文件夹。
3.3 启动 file_player
先编译代码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发布出来。
3.3 传感器数据话题
会有很多个topic发布,有的是ros一些标准格式是irp_sen_msgs格式的数据
其中ros标准格式的数据如下:
- /imu/data_raw 110hz
- /odom 100hz
- /gps/fix 5hz
- /ns1/velodyne_points 10hz
- /ns2/velodyne_points 10hz
其中
- /vrs_gps_data 是rtk的gps,可作为位置的真值,是irp_sen_msgs/vrs格式的
- /xsens_imu_data 是光纤陀螺仪,可作为姿势的真实值,是irp_sen_msgs/imu格式的
还有很多视觉topic,用视觉的时候再说吧。
3.4 点云可视化
通过执行 roslaunch kaist_description kaist_description.launch
可以进行点云的可视化
坐标系间的可视化如下 点云的可视化如下
4 总结
现在数据集选定了,数据也可以通过ROS发布出来了,接下来先是进行建图,然后再开始搞多传感器融合定位。
REFERENCES
[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