一、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,就可以了。