首先需要用到rosbag,没有下载的去下载一个。
下载完成后,
①运行发送rostopic的代码。
②在终端输入命令:(注:是字母O,大小写都行,不是0)
rosbag record -O my_data.bag /joint_controller_publisher/joint_angle0
其中, rosbag record -0 my_data.bag是创建一个.bag文件保存数据,保存在当前终端目录下。/joint_controller_publisher/joint_angle0是本次演示的话题名称。
③按下ctrl + c,停止并完成录制,随后输入命令:
将.bag文件转换为.csv文件
rostopic echo -b my_data.bag -p /joint_controller_publisher/joint_angle0 > angle0.csv
④ 打开matlab,创建.m文件后,填入如下代码:
clc
clear
data = readtable('angle0.csv');
%%将时间戳换为真实时间
temp = data{2:end, 1} / 1000000000;
t = temp - temp(1);
%%将时间戳换为真实时间
y = data{2:end, 2};
plot(t,y)
最后即可得到图像如下。
补
又发现了一个方法:在终端使用如下命令同样可以话题的获得.csv文件,并且不局限于double类型的数据,一些复杂数据也可以记录。
rostopic echo mavros/local_position/pose > position_rao8_bianxing.csv