参考:
- rosbag数据播放:
rosbag play -l 2020-09-21-17-27-20.bag
其中,-l参数意思是循环播放。
- rosbag数据记录:
rosbag record -a
或
rosbag record -O result /velodyne_points /usb_cam/image_raw
其中:
-a(all)参数意思是记录所有发布的消息。
-O参数的含义是指定了我们要保存的bag文件的名字,这里会生成result.bag。后面的/velodyne_points和/usb_cam/image_raw则指定了我们要记录信息的话题。
-
注意:
若在记录数据时出现如下的警告提示:
即:[ WARN] [1576311065.082263288]: /use_sim_time set to true and no clock published. Still waiting for valid time…表现出的现象是:暂停了,并没有进行数据的录制。
原因:这是由于 ROS tf 的发布时间晚于 topic 的时间,Rviz 在做 msg 的 tf 变换时,默认把过时的 msg 丢掉。为了解决这一问题,可以让系统以 msg 对应的 simulated time 运行,而不是实际的 wall-clock time.
解决方案如下:
#录制前
$ rosparam set /use_sim_time false
#播放时
$ rosparam set /use_sim_time true