前言
想要将 KITTI 的 raw_data 转化为bag文件以便于在ROS中可以用rosbag play bag文件名
的方式进行 play,然后在RVIZ中可以看到效果。于是需要用到 kitti2bag 。
KITTI数据集下载链接(我保存到了百度网盘方便下载)
链接: https://pan.baidu.com/s/15_acpKSKjpSsfWzcJMl53g 密码: h31o --来自百度网盘超级会员V4的分享
安装kitti2bag
参考另一篇文章
将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可以看到原始数据