데이터 수집
로봇 관절 상태 및 카메라 영상과 함께 접촉 압력을 기록합니다. 장갑은 포착하는 촉각 양식을 추가합니다. 얼마나 힘든지 로봇 그리퍼가 누르는 중입니다. 시각만으로는 정보가 보이지 않습니다.
시스템 연결
소프트웨어를 시작하기 전에 모든 장치를 연결하십시오. 장갑은 USB로만 연결되며 무선 모드는 없습니다.
로봇 팔 + 손
Orca Hand(권장) 또는 기타 엔드 이펙터. 암에 따라 Feetech USB 어댑터 또는 CAN을 통해 연결됩니다.
/dev/ttyUSB0 or CAN0주교 장갑
호스트 PC에 대한 USB-C. CDC-ACM 일련번호로 나타납니다. 1.5m 케이블; 자유로운 이동을 위해 필요한 경우 USB 확장 장치를 사용하세요.
/dev/ttyACM0손목 카메라
로봇의 손목에 장착된 USB 또는 GigE 카메라로 훈련을 위한 객체 중심 보기를 제공합니다.
/dev/video0 or GigE IP오버헤드 카메라
장면 상황에 맞는 작업 공간 카메라를 수정했습니다. 다중 뷰 데이터세트를 위해 손목 카메라와 페어링하세요.
/dev/video2 or GigE IP원격조작 장치
리더 암(SO-101/OpenArm 리더), VR 컨트롤러 또는 추종자 로봇을 구동하는 SpaceMouse.
리더 포트/HID단계별 녹음
로봇 팔과 손을 들고
별도의 터미널에서 암 드라이버(및 해당하는 경우 오르카 핸드 드라이버)를 시작합니다. 계속하기 전에 Joint_states가 게시되고 있는지 확인하세요.
Juqiao 장갑 드라이버 시작
장갑 ROS2 노드를 실행합니다. 녹음 세션을 시작하기 전에 200Hz 데이터가 흐르는지 확인하십시오.
카메라 실행
손목 및 머리 위 보기를 위해 카메라 노드를 시작합니다. 이미지 주제가 목표 프레임 속도(일반적으로 30fps)로 게시되고 있는지 확인하세요.
모든 스트림이 동기화되었는지 확인
사용 ros2 주제 목록 필요한 모든 주제가 있는지 확인하십시오. 에피소드를 녹화하기 전에 양식 전반에 걸쳐 타임스탬프가 20ms 이내에 있는지 확인하세요.
LeRobot으로 데이터 세트 기록
LeRobot의 기록 스크립트를 사용하세요. 그만큼 --촉각 주제 플래그는 관절 상태 및 이미지와 함께 장갑 압력 스트림을 데이터 세트 열로 추가합니다.
푸시하기 전에 에피소드를 검토하세요.
HuggingFace Hub에 참여하기 전에 히트맵 오버레이로 각 에피소드를 재생하여 촉각 데이터 품질을 확인하세요.
HuggingFace 허브로 푸시
검증된 데이터세트를 업로드하세요. 데이터 세트 카드는 촉각을 포함한 양식 설명으로 자동 생성됩니다.
데이터세트 스키마
데이터세트의 각 프레임에는 다음 열이 포함되어 있습니다. 모든 배열은 float32 Parquet 열로 저장됩니다. MP4 비디오 시퀀스로 이미지.
| 열 | 모양 / 종류 | 설명 |
|---|---|---|
| 관찰.상태 | float32[6] | 로봇 팔 관절 위치(라디안). 인덱스 6은 6-DOF 암을 사용하는 경우 그리퍼 조리개입니다. |
| 관찰.손_상태 | float32[17] | Orca 손 관절 위치(라디안), 17 DOF. 손재주가 없으면 생략하세요. 메타데이터의 공동 이름별로 라벨이 지정됩니다. |
| 관찰.촉각_압력 | float32[64] | Juqiao Glove는 노드당 압력을 0.0(접촉 없음)부터 1.0(전체 크기)까지 정규화했습니다. 로봇 프레임 속도와 일치하도록 200Hz 다운샘플링. |
| 관찰.촉각_압력_원시 | 단위16[64] | 원시 16비트 ADC 값. 재보정 후 재정규화를 위해 보존합니다. 선택 과목; 데이터세트 크기를 줄이려면 생략하세요. |
| 관찰.파악_지역 | str | 활성 접촉 지역 휴리스틱: "손바닥 안에 감추다", "무지", "색인", "가운데", "반지", "핑키", 또는 "" (연락 없음). |
| 관찰.이미지.손목 | uint8[H, W, 3] | MP4 비디오 시퀀스로 저장되는 30fps의 손목 카메라 RGB 프레임입니다. |
| 관찰.이미지.오버헤드 | uint8[H, W, 3] | 30fps의 오버헤드 카메라 RGB 프레임. |
| 행동 | float32[6 또는 23] | 팔(6) 및 선택적으로 손(17)의 대상 관절 위치입니다. 모양은 손재주가 있는지 여부에 따라 달라집니다. |
| 언어_지시 | str | 작업 설명(예: "계란을 깨지 않고 집으세요". 언어 조건에 따른 정책 교육을 활성화합니다. |
| 에피소드_색인 | 정수 | 데이터 세트 내의 에피소드 번호입니다. |
| 프레임_인덱스 | 정수 | 에피소드 내의 프레임 번호(0-인덱스)입니다. |
| 타임스탬프 | float64 | 에피소드 시작 후 경과된 시간(초)입니다. |
촉각적 다운샘플링
장갑은 200Hz로 스트리밍됩니다. 로봇과 카메라는 일반적으로 30~100Hz에서 작동합니다. 레코더는 가장 가까운 타임스탬프 일치를 사용하여 프레임을 정렬합니다. 전체 200Hz 촉각 스트림을 별도의 배열로 보존하려면:
에피소드 품질 체크리스트
데이터세트에 포함하기 전에 각 에피소드를 이러한 기준에 따라 검토하세요. 하나의 나쁜 에피소드는 정책 훈련을 저하시키는 가짜 촉각 패턴을 도입할 수 있습니다.
-
촉각 스트림은 연속적이며 프레임 간격이 없습니다. 확인하다 프레임.시퀀스 건너뛰지 않고 증가합니다. 프레임 드랍은 촉각 기둥에 반복되는 값으로 나타납니다.
-
정지 상태의 기준선은 0에 가깝습니다(< 0.03). 에피소드 시작 시(접촉 전) 최대 압력 노드는 0.03 미만이어야 합니다. 정지 상태에서 드리프트가 0.05를 초과하면 장갑에 재보정이 필요함을 나타냅니다.
-
접촉 이벤트는 비디오에서 눈에 보이는 파악과 일치합니다. 다음으로 재생 --오버레이-촉각. 압력 스파이크(최대 노드 > 0.4)는 손목 카메라의 눈에 보이는 그리퍼 폐쇄와 일치해야 합니다.
-
파악 영역은 접촉 단계에서 일관됩니다. 파악_지역 각 잡는 동안 하나 또는 두 개의 영역에서 안정화되어야 합니다(예: "손바닥 안에 감추다" + "색인"). 빠르게 변화하는 영역은 장갑 정렬이 잘못되었거나 신호가 시끄럽다는 것을 나타냅니다.
-
로봇 상태에 따른 장갑 대기 시간 < 20 ms 촉각 이벤트 시작을 그리퍼 속도 스파이크와 비교합니다. 지연 시간 > 20ms는 USB 허브 정체를 나타냅니다. 장갑을 호스트 USB 포트에 직접 연결하십시오.
-
언어 교육은 시연된 과제와 일치합니다. 언어 조건 데이터 세트의 경우 에피소드 시작 시 입력한 지침이 운영자가 실제로 시연한 내용을 정확하게 설명하는지 확인하세요.
-
로봇 동작에 케이블 간섭이 없음 1.5m USB 케이블은 조작자의 손 움직임을 제한하거나 에피소드 중에 장갑을 벗겨서는 안 됩니다. 팔뚝에 있는 케이블 관리 클립을 사용하세요.
촉각 관찰을 통한 훈련
촉각 입력을 사용하는 정책은 일반적으로 비전 전용 기준에 비해 접촉에 민감한 작업(깨지기 쉬운 물체 처리, 말뚝 삽입, 천 접기)에서 15~30% 개선됩니다.