로봇 데이터 수집 리그 설계: 카메라·관절·행동·힘·촉각·시간동기

좋은 카메라와 힘센서를 달아도 서로 다른 시각의 데이터를 한 행에 넣으면 학습용 시범은 깨진다. 로봇 데이터 수집 리그는 센서 목록이 아니라 공통 시계, 좌표, 행동 의미, 보정과 재현 원장을 설계하는 일이다.

카메라·촉각 센서·엣지 컴퓨터·로봇 관절이 연결된 로봇 공학 시험대 개념도
특정 제품이나 측정 결과가 아닌, 로봇 센서·컴퓨팅·액추에이터 데이터 경로를 설명하기 위한 AI 생성 개념 이미지입니다.

공개 수집 리그의 주장은 재현 가능한 부품표로 읽는다

DROID 공식 페이지는 Franka 로봇, 손목·외부 ZED 카메라, Oculus 기반 인터페이스를 여러 현장에 배포해 데이터를 모은 하드웨어·소프트웨어 구성을 공개한다. 이 사례의 가치가 특정 부품 조합의 보편 우위에 있는 것은 아니다. 공통 키트, 설치 절차와 메타데이터를 여러 장면에서 반복했다는 점을 읽어야 한다.

자체 리그도 로봇·그리퍼·카메라·힘토크·촉각·텔레옵 장치, 컴퓨터·네트워크, 트리거와 시계원의 부품 번호·펌웨어를 기록한다. 센서 정격 주파수와 실제 저장 주파수, 하드웨어 timestamp 지원 여부, 버퍼와 드롭 정책을 구분한다.

공개 데모의 ‘동기화’ 표현은 내 시스템의 허용오차를 정해 주지 않는다. 고속 접촉과 느린 이동, 힘 제어와 시각 정책은 필요한 오차가 다르다. 작업의 가장 짧은 사건과 제어주기, 셔터·노출과 네트워크 지연을 기준으로 예산을 만든다.

공식 문서가 합의하는 것은 시각을 명시해야 한다는 점이다

LeRobot 데이터셋 API 문서는 영상 프레임과 상태·행동을 timestamp로 질의하고 허용시간을 검사하는 인터페이스를 설명한다. ROS 2 message_filters 공식 저장소 문서는 ExactTime과 ApproximateTime 동기화 정책을 제공한다. 둘 다 토픽이 같은 순서로 도착했다는 사실을 실제 취득시각과 같다고 보지 않는다.

센서마다 시간의 의미를 적는다. 영상은 노출 시작·중간·끝 가운데 무엇인지, 관절은 읽은 시각인지 드라이버가 찍은 시각인지, 행동은 명령 생성·전송·컨트롤러 적용 가운데 무엇인지 구분한다. 힘·촉각도 필터와 샘플링 지연을 포함한다.

기준 시계는 단조 시간과 절대 시간을 나눌 수 있다. 단조 시간은 에피소드 안의 간격 계산에 안정적이고 절대 시간은 여러 장비·로그를 연결한다. PTP나 하드웨어 트리거를 쓴다는 이름보다 각 장치 offset·drift·lock 상태와 재시작 뒤 변화를 측정해 저장한다.

문서가 충돌하는 지점은 timestamp가 의미하는 사건이다

파일 포맷은 프레임을 정렬해 주지만, 카메라 드라이버가 수신 시각만 기록하면 네트워크·디코딩 지연이 센서마다 다르다. ApproximateTime은 가까운 메시를 묶을 수 있지만 물리적으로 같은 순간임을 증명하지 않는다. 데이터셋 라이브러리의 허용오차와 계측 리그의 실제 오차를 분리한다.

표기문서에서 기대하는 것현장에서 확인할 것오판 위험
30 fps초당 프레임 수노출 시각·드롭·간격 분포균일한 33.3ms로 가정
timestamp시간축 인덱스센서·수신·적용 시각의 의미도착시각을 취득시각으로 사용
PTP synced공통 시계 동기offset·drift·lock 손실장치 전체가 같은 정확도라 가정
ApproximateTime근접 메시 묶음slop 안의 물리 사건 일치접촉 전후를 같은 샘플로 결합
episode complete파일 구간 존재시작·종료·취소·복구 의미잘린 시범을 성공으로 학습

충돌을 해결하려면 원시 hardware timestamp와 수신 timestamp를 둘 다 보존한다. 변환된 공통시각만 저장하면 어떤 지연을 보정했는지 되돌릴 수 없다. 보정 모델의 버전과 잔차, 동기화 품질 플래그를 에피소드 메타데이터에 남긴다.

기술 문맥은 센서에서 학습 샘플까지 네 지연으로 나뉜다

첫째는 센서 취득 지연이다. 롤링셔터 영상은 프레임 안에서도 행마다 시각이 다르고, 힘센서는 필터가 위상을 늦출 수 있다. 둘째는 전송·드라이버 지연, 셋째는 타임스탬프 변환과 동기화, 넷째는 행동이 실제 로봇에 적용되는 지연이다. 관측–행동 쌍은 네 구간을 합쳐야 한다.

좌표도 같은 방식으로 원본과 파생을 나눈다. 카메라 내부보정, 카메라–로봇 외부보정, 힘센서 영점과 말단 도구변환을 버전화한다. 움직이는 손목 카메라는 로봇 자세 timestamp와 결합해야 하므로 시간오차가 공간오차로 바뀐다. 빠르게 움직일수록 같은 10ms가 더 큰 위치오차를 만든다.

버퍼와 저장 큐도 계측 대상이다. 평균 처리량이 충분해도 디스크 flush나 영상 인코더가 순간적으로 막히면 오래된 메시가 늦게 저장될 수 있다. 큐 깊이, 드롭·재전송, CPU·GPU·디스크 부하를 에피소드와 연결하고 부하 시험에서 시각 순서가 유지되는지 본다.

행동 표현은 명령과 실행값을 함께 보존한다. 정책이 낸 목표 자세, 컨트롤러가 받은 명령, 실제 관절·말단 궤적과 안전제어의 클리핑이 다를 수 있다. 학습 대상이 무엇인지 모르면 성공 시범에서도 실행되지 않은 명령을 정답으로 가르칠 수 있다.

배치 현실은 설치·재시작·고장 때 드러난다

수집 시작 전 고정 표적과 알려진 관절·접촉 동작으로 시간을 검증한다. LED나 플래시 같은 공통 광학 사건, 로봇이 판을 두드리는 시각–힘 사건, 급격한 관절 변화로 스트림 간 offset과 drift를 측정한다. 평균뿐 아니라 p95·최대오차와 에피소드 길이에 따른 드리프트를 본다.

카메라 케이블 재연결, 컴퓨터 재부팅, PTP master 전환, 저장공간 포화와 네트워크 혼잡을 일부러 일으킨다. 시계가 뒤로 가거나 같은 timestamp가 반복되고 프레임이 누락될 때 수집기가 조용히 보간하지 말고 에피소드를 보류하는지 확인한다.

저장 시스템은 원시 스트림과 정렬된 학습 뷰를 분리한다. LeRobotDataset v3 문서가 설명하는 Parquet·MP4·메타 구조를 채택하더라도 원시시각, 보정·변환·누락 플래그를 사용자 feature로 명시한다. 포맷 호환을 계측 정확도로 오인하지 않는다.

독자가 가져갈 결과는 알려진 것과 아직 모르는 것을 나눈 계약표다

인수 문서에는 각 신호의 소유자, 단위, 좌표, timestamp 의미, 주기, 지연·드롭 상한과 보정 파일을 적는다. ‘모든 센서 동기화’ 같은 한 줄 대신 작업별 허용오차와 실패 시 데이터 처리 규칙을 둔다.

항목출하 전에 아는 것현장마다 다시 잴 것보류 조건
카메라모델·해상도·트리거노출·지연·드롭원시시각 없음
관절·행동제어주기·명령 형식적용 지연·클리핑명령과 실행 구분 없음
힘·촉각정격·필터 설정영점·위상지연·포화접촉 사건 재현 실패
공통 시계PTP·트리거 구성offset·drift·재잠금lock 손실을 기록하지 않음
파생 샘플정렬 규칙·fps작업별 허용오차근거 없는 보간·라벨

합격은 모든 스트림이 완벽히 같은 시각이 아니라, 정한 오차 안에서 작업결정을 재현하고 초과 구간을 확실히 보류하는 것이다. 로봇 PTP·하드웨어 타임스탬프 안내와 함께 장비 선택·네트워크·검증 절차를 구체화할 수 있다.

감시 목록은 데이터가 쌓일수록 더 엄격해져야 한다

장기간 수집에서는 온도·부하에 따른 시계 드리프트, 렌즈·마운트 이동, 힘센서 영점, 펌웨어 업데이트와 저장 지연이 변한다. 일일 기준 사건과 주기 보정을 자동 실행하고 임계값을 넘으면 이후 에피소드를 격리한다.

  • 센서·드라이버별 hardware·receive·applied timestamp 의미를 명시한다.
  • 공통 광학·접촉 사건으로 offset·drift·p95·최대오차를 반복 측정한다.
  • 명령 행동과 실행 관절·말단 상태, 안전 클리핑을 같은 사건 ID로 저장한다.
  • 카메라·힘·도구·로봇 좌표 보정 파일과 적용 기간을 버전화한다.
  • 드롭·중복·역행시각·PTP lock 손실을 자동 플래그하고 근거 없는 보간을 금지한다.
  • 원시 스트림–정렬 뷰–학습 샤드의 해시와 변환 코드를 로봇 데이터 품질 점검에 연결한다.

좋은 리그는 결함을 숨기지 않고 어느 에피소드가 왜 부적합한지 증명한다. 센서를 추가할수록 동기·좌표·권리·저장 계약도 함께 늘어난다. 목표 작업에 쓰이지 않는 고비용 센서는 먼저 빼고, 필요한 사건의 정답을 개선하는 센서만 확장한다.

리그 변경은 부품 교체가 아니라 데이터 스키마 변경으로 취급한다. 카메라 펌웨어·해상도, 로봇 제어주기나 force filter가 바뀌면 변경 전후 기준 사건을 수집하고 새 calibration epoch를 연다. 호환되지 않는 에피소드를 같은 샤드에 조용히 섞지 않는다.

로봇 데이터 수집 리그의 시간동기는 무엇부터 감시하나

PTP를 켜면 모든 로봇 데이터가 바로 동기화되나요?

아니다. 장치가 PTP를 실제 지원하고 같은 domain·시계를 사용해도 카메라 노출, 드라이버 timestamp, 필터와 명령 적용 지연이 남는다. offset·drift·lock 손실과 공통 물리 사건을 측정해야 학습 샘플의 허용오차를 증명할 수 있다.

리그 운영에서 다음으로 가장 먼저 감시할 것은 무엇인가요?

재부팅·케이블 재연결·부하 변화 뒤 timestamp 의미와 보정이 유지되는지 본다. 일일 광학·접촉 기준 사건, 드롭·역행시각, 카메라 외부보정과 힘 영점의 추세를 함께 감시해야 조용한 품질 저하를 찾을 수 있다.

자료 마지막 확인: 2026년 8월 26일