0.前言
本文主要讲解rosbag filter 命令的使用
可以用于对已经记好的包的分割,筛选需要的topic
1.根据topic过滤
1.1过滤单个topic
rosbag filter my.bag only-tf.bag "topic == '/tf'"
1.2过滤多个topic
rosbag filter input.bag output.bag "topic == '/velodyne_point_cloud' or topic =='/visensor/imu' or topic == '/visensor/left/image_raw'"
2.根据时间过滤
rosbag filter input.bag output.bag "t.to_sec() <= 1284703931.86"
3.同时过滤topic和时间
3.1单个topic和时间
rosbag filter input.bag output.bag "topic == '/odometry/gps' and t.to_sec() <= 1284703931.86"
3.2多个topic和时间
rosbag filter input.bag output.bag "(topic == '/velodyne_point_cloud' or topic =='/visensor/imu' or topic == '/visensor/left/image_raw') and (t.to_sec() >= 1506117983.884751 and t.to_sec() <= 1506118069.884751)"
参考
http://wiki.ros.org/rosbag/Commandline#rosbag_filter