기본 사용법
ros2 bag record 명령어를 통해 로봇 운영 시스템(ROS) 내 주제들(토픽)의 데이터를 기록할 수 있습니다. 기록을 중지하려면 Ctrl+C를 입력하면 되며, 자동으로 현재 디렉터리에 rosbag2_YYYY_MM_DD-HH_MM_SS 형식의 폴더가 생성되며, .yaml과 .db3 파일이 포함됩니다.
ros2 bag record /topic_name
ros2 bag record /topic1 /topic2 /topic3
ros2 bag record -a
ros2 bag record -o custom_name /topic_name
기록된 데이터를 재생하기 위한 명령어는 다음과 같습니다. 공백 키를 누르면 일시정지 가능합니다.
ros2 bag info recording.db3
ros2 bag play recording.db3
ros2 bag play recording.db3 /specific_topic
ros2 bag play recording.db3 -r 2.0
ros2 bag play recording.db3 -l
ros2 bag play recording.db3 -s 10.0
데이터 조각화: 특정 구간 추출
특정 시간 범위의 데이터만 필요할 경우, ros2bagcut 도구를 사용하여 빠르게 자릅니다.
- 설치:
pip install ros2bagcut
- 사용 방법:
options:
-h, --help
show this help message and exit
-i INPUT_BAG_FILE, --input_bag_file INPUT_BAG_FILE
Input bag file name.
-o OUTPUT_BAG_FILE, --output_bag_file OUTPUT_BAG_FILE
Output bag file name.
-st STARTTIME STARTTIME STARTTIME STARTTIME STARTTIME STARTTIME, \
--starttime STARTTIME STARTTIME STARTTIME STARTTIME STARTTIME STARTTIME
Cut start time (year month day hour minute second).
Default: beginning of the bag.
-et ENDTIME ENDTIME ENDTIME ENDTIME ENDTIME ENDTIME, \
--endtime ENDTIME ENDTIME ENDTIME ENDTIME ENDTIME ENDTIME
Cut end time (year month day hour minute second).
Default: end of the bag.
-tz TIMEZONE, --timezone TIMEZONE
Time zone string (e.g., Asia/Shanghai).
자르고자 하는 시간대를 확인하려면 plotjuggler를 사용합니다.
ros2 run plotjuggler plotjuggler
실행 후 .yaml 파일을 불러오면 기록된 데이터의 타임스탬프를 시각적으로 확인할 수 있습니다. 타임스탬프를 실제 날짜로 변환하는 예시:
date -d "@1722589789.191" '+%Y %m %d %H %M %S'
# 출력: 2024 08 02 17 09 49
실제 자르기 명령어 예시:
ros2bagcut -i rosbag2_2024_07_23-08_39_57/rosbag2_2024_07_23-08_39_57_0.db3 \
-o roscut \
-st 2024 08 02 17 09 49 \
-et 2024 08 02 17 10 49 \
-tz Asia/Shanghai
PlotJuggler 설치 및 활용
Bag 파일의 시각적 분석을 위해 plotjuggler를 설치합니다.
sudo apt install ros-humble-plotjuggler-ros
ros2 run plotjuggler plotjuggler
실행 후 메뉴에서 Data 섹션의 Import 아이콘을 클릭해 .yaml 파일을 불러옵니다. 불러온 후 리스트에서 원하는 토픽을 마우스 왼쪽 버튼으로 드래그하여 그래프 영역에 추가하면 실시간 그래프가 표시됩니다.
두 변수 간의 관계를 확인하고 싶다면, Ctrl 키를 누른 상태에서 두 항목을 선택한 후 오른쪽 마우스 버튼으로 그래프 영역으로 드래그하면 상관관계 그래프가 생성됩니다.