手把手教用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文件夹下

手把手教用ROS做机器人控制(三)--ROS系统中rosbag使用MATLAB查看的两种方法_第1张图片

 

3.点击工作区里面的bag可以看到如下信息:

 

手把手教用ROS做机器人控制(三)--ROS系统中rosbag使用MATLAB查看的两种方法_第2张图片

 

4.点击bag.AvailableTopics即可看到如下信息:

手把手教用ROS做机器人控制(三)--ROS系统中rosbag使用MATLAB查看的两种方法_第3张图片

 

5.选择要显示的内容,如我的数据有两个话题的数据,一个是编码器的,一个是激光雷达的

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

手把手教用ROS做机器人控制(三)--ROS系统中rosbag使用MATLAB查看的两种方法_第4张图片

 

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

手把手教用ROS做机器人控制(三)--ROS系统中rosbag使用MATLAB查看的两种方法_第5张图片

然后通过上面的指令

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

即可把数据包里面的话题/imu/data数据转化为imu_data.txt文件,然后用matlab导入画图即可。

 

你可能感兴趣的:(ROS,matlab)