본문 바로가기
  • AI 개발자가 될래요
로보틱스

[ROS2] bag 파일 열고 보는 방법

by 꿀개 2024. 12. 10.

[ROS2] bag 파일 열고 보는 방법

 

bag 파일이란?

ROS (Robot Operating System)에서 사용되는 데이터 파일 포맷.

주로 센서 데이터나 로봇의 동작 기록 등을 저장하는 데 사용.

 

참고로 ROS에서는 bag파일의 확장자가 .bag이었지만,

ROS2에서는 .db3이다.

 

bag 파일의 목적

 

- 데이터 기록: 센서 데이터(예: 카메라, LIDAR, IMU, GPS 등)나 로봇의 상태 정보를 실시간으로 기록.

- 데이터 재생: 기록된 데이터를 나중에 재생하여 분석하거나 테스트할 수 있다.

 

bag 파일 정보 보기 / ros2 bag info

.bag 파일에 대한 기본적인 정보를 조회하려면 아래 명령어 사용. <> 안에 파일명을 적으면 된다.

ros2 bag info <FILE_NAME.db3>

 

 

이 명령어는 bag 파일에 포함된 토픽 목록, 메세지 타입, 파일 크기, 시간 범위 등을 출력한다.

예를 들면 아래와 같다.

$ ros2 bag info my_bag_file.db3

reading from disk: my_bag_file.db3
  metadata:
    version: 2.0
    duration: 10.0s
    start: 2021-05-10 15:00:00
    end: 2021-05-10 15:00:10
    size: 1.2 GB
  topics:
    /camera/image_raw [sensor_msgs/msg/Image]
    /imu/data [sensor_msgs/msg/Imu]

 

bag 파일 토픽 조회 / ros2 bag play

bag 파일에 포함된 토픽을 조회하는 명령어

ros2 bag play my_bag_file.db3

기존에 로깅된 메세지들을 그래도 스트리밍한다.

 

bag 파일 특정 토픽만 조회 / ros2 bag play -t

-t 혹은 --topics 플래그를 사용하면 특정 토픽만 출력하도록 지정할 수 있다.

ros2 bag play my_bag_file.db3 --topics /camera/image_raw

 

bag 파일 재생 속도 조절 / ros2 bag play -r

-r 플래그 사용으로 재생 속도 조절 가능. 예를 들어 2배 빠르게 하려면 아래처럼.

ros2 bag play my_bag_file.db3 -r 2.0

 

bag 파일 특정 시간대 메시지 조회

특정 시간대에 맞춰 조회하려면 --start, --end 옵션 사용. 일정 구간만 재생 가능.

예를 들어, 3초부터 8초까지 재생하려면 아래처럼.

ros2 bag play my_bag_file.db3 --start 3.0 --end 8.0