• kaist数据集体验


    1 Kaist数据集简介

    选择数据集选择了好几天,最终选择了kaist数据集,这个数据集中有 轮速计,imu, gps, 16线雷达,这些传感器满足了我认为多传感器融合定位的需要。

    简要介绍一下Kaist数据集

    数据集是面向城市环境(例如大都市地区、复杂建筑和居住区)的。[1] 提供了上述的传感器数据

    数据集网址:https://sites.google.com/view/complex-urban-dataset/download-lidar#h.sa42osfdnwst
    数据集论文名称 : Complex Urban LiDAR Data Set

    1.1 传感器数据

    提供了

    • 2个16线的veldyne的16线雷达
    • 2个sick的单线雷达
    • 里程计
    • 1个消费级的imu
    • 一个3轴的光纤陀螺仪(可以用来当做姿态的真值)
    • 一个gps
    • 一个vrs gps(rtk)
    • 立体相机

    具体的传感器配置可以参考下论文中的截图。
    请添加图片描述

    1.2 传感器位置

    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 文件夹里有3个文件夹,分别是

    • 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.
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    表示数据加载成功,如果没提示表示没加载成功。然后按 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

  • 相关阅读:
    LeetCode 2000. Reverse Prefix of Word
    建立对象模型— 如何确定类与对象?
    【Android】功能丰富的dumpsys activity
    Java 操作 Excel:生成数据、设置单元格样式、设置数据有效性(hutool)
    Github 摸鱼神器面世!
    对elementui中分页组件进行二次封装
    我把Github上最牛b的Java教程和实战项目整合成了一个PDF文档
    SSR服务器端渲染
    学习css 伪类:has
    ElasticSearch - 基础概念,以及和 mysql 的对比
  • 原文地址:https://blog.csdn.net/tiancailx/article/details/125782157