ROS进行导航时,需要查看速度曲线等消息,可以编写listener文件接收保存消息,然后进行格式转换,利用其它工具如MATLAB绘图,但是这样很麻烦,rosbag这个工具就可以很方便的记录和保存数据,并利用rqt进行实时绘图。
参考的博客:
ROS总结——录制和回放数据
ROS学习篇(七)rostopic消息记录、回放、转.txt
ROS相关:使用rospy 编写ros程序并使用rosbag存储数据 //这个暂时没有用到
1.rosbag使用
以turtlesim小乌龟为例:
启动turtlesim
roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key
创建rosbag文件并保存数据
mkdir ~/bagfiles
cd ~/bagfiles
rosbag record -a
$rosbag record -a表示保存所有消息数据,运行record命令后,在键盘控制界面控制小乌龟移动一段时间,然后结束record命令(crtl+c),可以在bag文件夹看到保存的数据:
cd ~/bagfiles
ls
2019-09-22-15-45-21.bag
rosbag数据回放
rosbag info <your bagfile> #查看数据
rosbag play <your bagfile>
三倍速回放(失真)
rosbag play -r 3 <your bagfile>
保存部分数据
将上述$rosbag record -a改为:
rosbag record -O mydata /turtle1/cmd_vel /turtle1/pose #话题之间空格
.bag文件转换为.txt
rostopic echo -b file_name.bag -p /topic_name > Txt_name.txt
2.rqt使用
打开rqt plot的GUI界面
rqt_plot
在方框中输入消息名称,注意要写对
或者用命令行打开:
rqt_plot /topic/data #单个话题,单个数据
rqt_plot /topic/x:y:z #单个话题,向量数据
rqt_plot /topic/x /topic/y /topic/z
曲线的缩放:
鼠标放上去有说明,pan axes with left mouse, zoom with right,可以横向或者纵向缩放
版权声明:本文为lovelycrayon原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。