1.开源代码
GitHub - Little-Potato-1990/localization_in_auto_driving
本篇对应代码Tag为 2.0
2.官方数据集
测试数据集:
提取码: n9ys
激光雷达点云数据和RTK数据做融合,所以只使用数据集里的RawData数据,它包含RTK、IMU、激光雷达、摄像头等传感器的数据和他们之间的标定关系,并且时间戳已经对应好。
由于我们是使用ROS作为调试环境,所以我把一部分数据转成了ROS的bag文件,放在百度网盘里,如果不想自己转换数据,就可以直接下载这里面的bag文件使用,文件在“转换后的bag文件/2011_10_03”文件夹里。由于百度网盘单个文件大小有限制,所以我做了分卷压缩,下载完成之后需要在当前目录下输入如下指令,把他们再合成一个文件才能解压
cat bag_file*>bag.tar.gz
3.KITTI数据转成ROS的bag文件
1. 升级numpy
这一步很重要,不然后面运行会报错。kitti2bag要求numpy版本>=1.12,ubuntu 16.04默认的是1.11,升级可以通过一条指令来完成
sudo pip install -U numpy
2. 安装kitti2bag
sudo pip install kitti2bag
3. 下载文件并设置目录
从我给的百度网盘链接里找到“RawData原始数据”文件夹,找到文件“2011_10_03_drive_0027_sync.zip”和文件“2011_10_03_calib.zip”,下载下来,并解压缩。最终文件应该按照这样的目录存放
4. 转换文件
在系统中打开终端,cd进入上一步目录对应的"2011_10_03"文件夹的上一级目录,输入下面的指令,就会自动开始转换
kitti2bag -t 2011_10_03 -r 0027 raw_synced
如果指令正常执行,会出现下面的画面,耐心等他执行完就好了
执行结束之后,会生成一个文件“kitti_2011_10_03_drive_0027_synced.bag”,这个就是使用KITTI数据集生成的bag文件了。
三、bag文件测试
制作完bag文件之后,要播放文件测试以下,看显示出来的数据对不对。
我们就直接用rviz了。制作好的rviz文件放在了github上的代码里,在kitti_test文件夹下。
执行步骤如下:
1) 启动ros
roscore
2) 启动rviz
打开终端,cd到“kitti_test”文件夹下,输入指令
rviz -d display_bag.rviz
3) 播放bag
再次强调一下
由于百度网盘单个文件大小有限制,所以我做了分卷压缩,需要下载文件夹中bag_file所有的分卷,即bag_file00,bag_file01…,下载完成之后需要在当前目录下输入如下指令,把他们再合成一个文件才能解压
cat bag_file*>bag.tar.gz
打开终端,cd到bag所在目录,输入指令
rosbag play kitti_2011_10_03_drive_0027_synced.bag
如果不出意外,此时我们就会在rviz上看到下面的画面了,手托香腮,静静地欣赏一会儿吧!