[ROS] rosbag filter를 통해 원하는 토픽 저장하기

rosbag filter

1. rosbag filter란? 토픽

rosbag 파일에는 보통 여러 센서로 부터 들어온 수 많은 토픽들이 저장되어 있다. 이에 원하는 토픽만 뽑아 저장해둘 필요가 있는데, 이를 rosbag filter를 통해 할 수 있다.

rosbag filter를 사용하면 저장된 rosbag 파일로 부터 원하는 토픽만 선택적으로 저장할 수가 있다. 커맨드는 아래와 같으며 하나의 토픽 뿐만 아니라 여러 토픽을 새로운 bag file로 저장하는 것도 가능하다.

또한, 원하는 시간 구간 (1.3 참고) 에 대해서만 저장하는 것도 가능하다.

rosbag filter 커맨드 작성 후 저장된 bag file명저장하고자 하는 bag file명을 작성해준 다음 필요한 topic 명을 아래와 같이 나열해주면 된다. 이렇게 하면 모든 토픽들이 저장되어 굉장히 큰 용량을 차지했던 bag 파일이 아닌 필요한 토픽들만 저장되어 좀 더 가벼운 bag파일을 얻을 수 있다.

1.1 single topic 저장하기

$ rosbag filter my.bag only-tf.bag "topic == '/tf'"

1.2 multiple topics 저장하기

$ rosbag filter input.bag output.bag "topic == '/ouster/imu_packets' or topic == '/ouster/lidar_packets' or topic == '/imu/data'"

1.3  시간구간 정하기

$rosbag filter input.bag output.bag "t.secs >= 16781699884.123 and t.secs <= 167816994.123"

 

Leave a Reply

Your email address will not be published. Required fields are marked *