前言

想要将 KITTI 的 raw_data 转化为bag文件以便于在ROS中可以用rosbag play bag文件名的方式进行 play,然后在RVIZ中可以看到效果。于是需要用到 kitti2bag 。

KITTI数据集下载链接(我保存到了百度网盘方便下载)

链接: https://pan.baidu.com/s/15_acpKSKjpSsfWzcJMl53g

密码: h31o

--来自百度网盘超级会员V4的分享

安装kitti2bag

参考另一篇文章:

https://blog.csdn.net/qq_36754438/article/details/113832891

将KITTI的raw_data转化成bag文件
下载数据集和对应的calib,分别解压,将calib文件夹内的文件放到数据集文件夹下:

放到日期的目录下

回到日期上一级目录,打开terminal输入

kitti2bag -t 2011_09_29 -r 0004 raw_synced .

会得到下面的效果并生成对应的bag文件。(记得修改日期和编号)

播放KITTI数据集

打开一个terminal输入roscore启动ros master,之后在上图所示的路径下打开terminal输入rosbag play -l 包的名字即可实现bag文件的循环播放(因为有点短)。打开一个新的terminal输入rviz即可打开rviz,对其进行设置即可看到效果了。

但是有的时候需要调整数据集播放速度和发布的话题名:这时候可以写一个shell脚本(也可以直接在终端输入,写成脚本方便运行)

1. 在bag文件同级目录下新建 bag.sh,内容如下

rosbag play -r 0.2 kitti_2011_09_29_drive_0004_synced.bag    /kitti/camera_gray_right/camera_info:=/kitti/right/camera_info  /kitti/camera_gray_right/image_raw:=/kitti/right/image_raw  /kitti/camera_gray_left/camera_info:=/kitti/left/camera_info  /kitti/camera_gray_left/image_raw:=/kitti/left/image_raw

其中 -r 后面的 0.2 是播放速度倍数

后面的内容是修改话题名,格式如下

rosbag play file.bag /foo:=/bar #/foo是原topic,/bar是新topic

2. 运行bag.sh

chmod +x bag.sh   #给予可执行权限
roscore
./bag.sh    #运行 (按下空格可以暂停数据集播放)

3. 在rviz中播放打开rviz可以看到原始数据

tupian