장 개요

로봇 학습 데이터는 이미지, 관절 상태, 행동 명령, 언어 지시를 한 행에 모았다고 해서 자동으로 올바른 데이터가 되지 않는다. 이미지의 픽셀이 어느 3차원 광선을 뜻하는지, 관절 상태가 어느 시각의 것인지, 카메라가 어느 링크에 붙어 있는지, 시뮬레이션과 실물의 축 정의가 어떻게 다른지를 설명할 수 있어야 한다. 이 장에서는 공간 정합(spatial alignment)과 시간 정합(temporal alignment)을 하나의 데이터 계약으로 설계한다.

먼저 핀홀 카메라 모델과 내부·외부 파라미터를 유도한다. OpenUSD/Isaac Sim, ROS 2, OpenCV 사이의 좌표 프레임을 명시적으로 변환하고 TF2 트리를 구성한다. 50~100 Hz 관절 스트림과 30 fps 영상의 타임스탬프를 message_filters로 근사 동기화하고, 정책 학습용 기준 시각에 관절 상태를 보간한다. 이어 rosbag2와 MCAP으로 원본 메시지를 보존하고, Omniverse Replicator로 도메인 랜덤화(domain randomization)를 수행하며, Rerun으로 프레임 드롭·타임스탬프 역전·관절 이상치를 시각적으로 점검한다.

공간과 시간 정합 파이프라인

그림 4-1. 카메라 기하, TF2, 타임스탬프, 보간, 기록, 무결성 검사를 분리하면 어느 단계에서 오차가 생겼는지 추적할 수 있다.

이 장의 예제 코드·설정 파일 (12)

이 장의 자가 점검·가상실습