Rosbag改变话题名称和Frame_id
Rosbag提取特定话题
录制的rosbag包当中包含众多话题消息,提取特定的话题方法如下:
rosbag filter input.bag output.bag "(topic == '/velodyne_points') and (t.to_sec() >= 1506117983.884751 and t.to_sec() <= 1506118069.884751)"
示例如下:
rosbag filter kitti_2011_10_03_drive_0042_synced.bag wangkitti.bag "(topic == '/kitti/velo/pointcloud')"
改变Rosbag中的话题名称
对rosbag包当中的话题名进行更改,终端语法如下:
rosrun rosbag topic_renamer.py <intopic> <inbag> <outtopic> <outbag>
示例如下:
rosrun rosbag topic_renamer.py /rslidar_points wangzhi.bag /points_raw gaitopic_wangzhi.bag
改变Rosbag中的话题的Frame_id
对rosbag包当中的话题名进行更改:
安装srv_tools工具
新建工作空间在src文件下执行如下:
git clone https://github.com/srv/srv_tools.git
进行编译即可使用。
示例如下
usage: change_frame_id.py [-h] -o OUTPUT_BAGFILE -i INPUT_BAGFILE -f FRAME_ID -t TOPIC [TOPIC …]
其中FRAME_ID为期望转化的目标fram_id, TOPIC为对应的话题名称
rosrun bag_tools change_frame_id.py -o wangzhi.bag -i zhi_2022-07-23-10-36-17.bag -f velodyne -t /rslidar_points