一、rosbag相关的指令
1. rostopic list //列举出系统中正在发布的ros 话题
2. rosbag record -a //录制系统中所有正在发布的ros 话题
3. rosbag record topic1 topic2 .... -o bagname.bag
4. rosbag play bagname.bag //播放bag文件
5. rosbag info bagname.bag //查看bag中录制的话题信息
6. Ctrl + c //停止录制
二、 播放rosbag中的数据
rosbag play bagname.bag 播放的数据一点也不直观,类似于这种
比如说我们想看一下bag中的图像,点云或者IMU数据是什么样子的,我们可以使用rviz来实现。
//打开一个终端输入
roscore
//打开一个新的终端输入
rosrun rviz rviz
1. 显示image图像
在rviz的左下角点击“Add”在弹出的窗口中选择“Image”,然后点击OK
然后选择“Image”的话题为你正在发布的image的话题
2. 显示IMU数据
这个需要提前安装一个插件“rviz_imu_plugin”.安装方法如下:
注意:这里的"melodic"要切换成你自己的ros版本。安装上之后,rviz中会自动加载出来
sudo apt-get install ros-melodic-imu-tools
按照同样的方法,点击RVIZ左下角的“Add”然后选择 “rviz_imu_plugin”中的“imu”,最后点击“OK”。然后就是选择imu的话题。
但是你很可能会遇到这样的error:for frame [xxx]: Fixed Frame [map] does not exist
这是因为在“Global Options”中的“Fixed Frame”设置为“map”,这是因为世界坐标定义成map,单独运行sensor 节点不会生成世界坐标,而传感器坐标imu找不到世界坐标,就定位不了自身的位置,从而报错。
那如何结局这个问题呢?只需要将"Fixed Frame"后面的map修改为 for frame [xxx]: Fixed Frame [map] does not exist 报错信息中括号中的 xxx,就可以了。