ROS——rosbag数据记录与回放

        为了方便调试测试,ROS提供了数据记录与回放的功能包——rosbag,可以帮助开发者收集ROS系统运行时的消息数据,然后在离线状态下回放。

        下面通过乌龟例程来介绍rosbag数据记录和回放的实现方法。

记录数据

        首先要在不同终端下分别执行以下命令,启动键盘控制乌龟例程所需的所有节点:

$ roscore
$ rosrun turtlesim turtlesim_node
$ rosrun turtlesim turtle_teleop_key

        查看当前ROS系统中发布的话题,因为只有发布的消息才能被记录下来:

$ rostopic list -v

        接下来用rosbag记录这些话题的消息,并且打包成一个文件放置到指定文件夹中,成功生成的数据记录文件应该是一个以时间命名并且以.bag为后缀的文件。打开一个新终端,输入以下指令:

$ mkdir ~/bagfiles
$ cd ~/bagfiles
$ rosbag record -a    //-a表示将所有发布的话题消息都记录在这一个bag文件中

检查并回放数据

         我们可以执行info命令检查bag文件的内容而不回放它:

$ rosbag info <your bagfile>

        我们可以使用rosbag play回放bag文件来再现系统运行过程。在这个例子里要先关闭之前打开的turtle_teleop_key控制节点,并且重新启动turtlesim_node节点,然后使用以下命令回放所记录的话题数据:

$ rosbag play <your bagfile>

录制数据子集

        在一个复杂的系统中,会有上百个话题被发布,如果这时候只录制子集想要的话题,我们可以使用rosbag record命令,后面跟上指定的话题来记录。例如

$ rosbag record /turtle1/cmd_vel

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值