手把手教用ROS做機器人控制(三)--ROS系統中rosbag使用MATLAB查看的兩種方法

不知道你們有沒有遇到rosbag數據包查看數據困難的問題,用rosbag play看不到數據,用rviz訂閱也不太好,用rqt_bag插件查看也不是很友好,無奈之下,還是用我擅長的matlab實現數據查看,因爲matlab也支撐ROS。如果大家有好的方法可以跟我說說。現在就介紹用matlab查看步驟:

1.首先你當然要用rosbag錄製數據

2.有了數據,就要導入matlab裏面,指令如下:
filepath=fullfile('D:','PID','laser1_2018-07-14-17-31-41.bag');
>> bag=rosbag(filepath);

其中fullfile就是合併文件名稱。這裏我的rosbag文件是放在D盤PID文件夾下

 

3.點擊工作區裏面的bag可以看到如下信息:

 

 

4.點擊bag.AvailableTopics即可看到如下信息:

 

5.選擇要顯示的內容,如我的數據有兩個話題的數據,一個是編碼器的,一個是激光雷達的

通過指令 data=select(bag,'MessageType','sensor_msgs/LaserScan')

 

6.

接下來你可以看見裏面的數據,你也可以通過maltab指令plot畫圖了。

 

 

第二種方法就是把rosbag包文件轉爲txt文件然後導入matlab裏面,這種方法感覺更簡單:

1.通過下面指令既可以包rosbag中的指定話題轉爲txt文件。

rostopic echo -b file_name.bag -p /topic_name > Txt_name.txt

首先,我們通過rosbag record -a 記錄一個數據包,然後通過rosbag info 2018-12-27-04-06-12.bag查看數據包的信息:如下我的數據包2018-12-27-04-06-12.bag

然後通過上面的指令

 rosbag echo -b 2018-12-27-04-06-12.bag -p /imu/data > imu_data.txt

即可把數據包裏面的話題/imu/data數據轉化爲imu_data.txt文件,然後用matlab導入畫圖即可。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章