4.5 rosbag2와 MCAP 원본 기록
4.5.1 왜 원본 메시지를 보존하는가
동기화 정책이나 보정 파라미터는 나중에 바뀐다. 원본 메시지와 timestamp가 있으면 다시 정렬할 수 있지만, 30 fps 배열로 이미 resample한 데이터만 남으면 원래 jitter와 누락을 복원할 수 없다.
Jazzy의 rosbag2는 메시지 기록·재생 계층이고 storage plugin을 선택할 수 있다. MCAP은 여러 channel과 schema, index를 담을 수 있는 컨테이너이며 ROS 2 storage plugin으로 사용할 수 있다.
sudo apt install ros-jazzy-rosbag2-storage-mcap
ros2 bag record -s mcap -o episode_0001 \
/camera/color/image_raw /camera/color/camera_info \
/joint_states /tf /tf_static /command /clock
기록 후:
ros2 bag info episode_0001
ros2 bag play episode_0001 --clock
예상 출력 예시
Storage id: mcap
Duration: 42.31s
/camera/color/image_raw: 1268 messages
/joint_states: 2115 messages
4.5.2 에피소드 메타데이터
bag 폴더 바깥에 다음을 함께 저장한다.
- task prompt, 성공/실패, 종료 이유
- 로봇/카메라 serial과 calibration hash
- 소프트웨어 버전과 Git revision
- QoS override와 record 명령
- 시뮬레이션 seed와 randomization 분포
- operator와 안전 이벤트
개인정보나 사람 얼굴이 포함될 수 있으면 수집 전에 보존 기간과 접근 권한을 정한다.