데이터 수집
Orca Hand를 사용하여 능숙한 조작 데이터를 기록하는 것은 단순한 그리퍼 데이터 수집과 근본적으로 다릅니다. 17개의 손가락 관절, 선택적 촉각 스트림 및 장갑 원격 조작에는 모두 신중한 동기화가 필요합니다. 이 가이드에서는 전체 작업 흐름을 다룹니다.
능숙한 데이터 수집을 위한 하드웨어 설정
Orca Hand 녹음 설정에는 단순한 그리퍼 암보다 더 많은 스트림이 있습니다. 손가락 관절, 선택적 촉각, 카메라 및 팔 관절을 모두 동기화해야 합니다.
오르카 핸드(USB 직렬)
최대 100Hz에서 17-DOF 손가락 상태. 확인하다: python -c "from orca_core import OrcaHand; h=OrcaHand('/dev/ttyUSB0'); h.connect(); print(h.get_positions())"
원격조작 장치
Juqiao 장갑(권장) 또는 VR 손 추적. 작업자의 손가락 자세를 Orca Hand 관절 대상에 실시간으로 매핑합니다.
손바닥/손목 카메라
손바닥 안에 있는 작은 USB 카메라가 손가락 끝과 물체를 가리킵니다. 손가락 끝과 물체의 접촉이 파악 성공 여부를 결정하는 접촉이 많은 작업에 중요합니다.
촉각 센서(옵션)
Paxini 또는 호환되는 손가락 끝 센서. 별도의 USB 연결. 접촉 기반 정책 교육을 위해 데이터 세트에 접촉 강제 스트림을 추가합니다.
단계별 녹음 작업 흐름
팔+손+장갑을 들어올린다
# Terminal 1: Arm (if using OpenArm)
source ~/openarm_ws/install/setup.bash
ros2 launch openarm_ros2 openarm.launch.py use_fake_hardware:=false can_interface:=can0
# Terminal 2: Orca Hand
source ~/orca_ws/install/setup.bash
ros2 launch orca_ros2 orca_hand.launch.py port:=/dev/ttyUSB0 handedness:=right
# Terminal 3: Juqiao Glove (see Juqiao Glove software page)
python -m juqiao_glove.stream --port /dev/ttyUSB1
모든 스트림이 실시간인지 확인
# Check finger joint states
ros2 topic hz /orca_hand/joint_states # expect ~100 Hz
# Check glove stream
ros2 topic hz /juqiao_glove/finger_angles # expect ~100 Hz
# Check camera
python -c "import cv2; cap=cv2.VideoCapture(0); print('Camera OK:', cap.isOpened())"
장갑 대 손 매핑 보정
장갑 보정을 실행하여 손가락 치수를 Orca Hand의 관절 범위에 매핑합니다. 이 단계는 자연스러운 원격 조작을 보장합니다. 열린 손 = Orca 열림, 주먹 = Orca 주먹.
python -m orca_core.scripts.calibrate_teleop \
--hand_port /dev/ttyUSB0 \
--glove_port /dev/ttyUSB1 \
--handedness right
작업 장면 설정
일관된 시작 위치에 개체를 배치합니다. 능숙하게 잡는 것은 물체의 자세에 매우 민감합니다. 고정 장치(테이프, 퍼티)를 사용하여 에피소드 전반에 걸쳐 일관된 물체 배치를 유지하십시오.
녹음 세션 시작
python -m orca_core.scripts.record_episodes \
--hand_port /dev/ttyUSB0 \
--glove_port /dev/ttyUSB1 \
--camera_id 0 \
--fps 30 \
--output_dir ~/datasets/orca-grasp-v1 \
--num_episodes 50 \
--task "Pick up the pen using a precision pinch grasp"
레코더는 동기화된 손가락 관절 위치, 장갑 각도, 카메라 프레임 및 (연결된 경우) 촉각 판독값을 Parquet 데이터세트에 저장합니다.
파악 품질 검토
각 에피소드를 다시 재생해 보세요. 주의 사항: 미끄러짐 현상(갑자기 위치 점프), 불완전한 잡기, 힘줄 포화(잡는 동안 관절의 심한 한계), 일관되지 않은 접근 경로.
python -m orca_core.scripts.visualize_episode \
--dataset_dir ~/datasets/orca-grasp-v1 \
--episode_index 0
HuggingFace 허브로 푸시
python -m orca_core.scripts.push_dataset \
--dataset_dir ~/datasets/orca-grasp-v1 \
--repo_id your-username/orca-grasp-v1
오르카 핸드 데이터세트 스키마
Orca Hand 데이터 세트 형식은 손가락별 및 촉각 스트림을 추가하여 표준 LeRobot 스키마를 확장합니다.
능숙한 데이터 품질 체크리스트
능숙한 조작 데이터는 단순한 선택 및 배치보다 실패 모드가 더 많습니다. 허브로 푸시하기 전에 이 과정을 실행해 보세요.
-
117개 관절 모두 에피소드 전반에 걸쳐 유효한 위치 판독값을 가집니다. NaN 또는 고착 값은 서보 드롭아웃을 나타냅니다. 검사
observation.hand_state모든 프레임에 걸쳐 모든 관절의 상수 값에 대해. -
2장갑 대 손 대기 시간은 20ms 미만입니다. 사이의 타임스탬프 정렬을 확인하세요.
action(장갑에서) 그리고observation.hand_state. 대기 시간이 길면 정책이 일관되지 않은 쌍으로부터 학습하게 됩니다. -
3파악 유형은 작업 내에서 일관됩니다. 일부 시위에서 권력 장악을 사용하는 경우 정밀 핀치 정책은 일반화되지 않습니다. 각 데이터 세트를 하나의 기본 파악 전략으로 유지하거나 파악 유형별로 라벨을 지정합니다.
-
4접촉 이벤트는 공동 위치에서 볼 수 있습니다. 손이 물체와 접촉할 때 손가락 관절은 명확한 감속 및 순응 편향을 보여야 합니다. 접촉 변형 없이 손가락이 제자리에 고정되는 에피소드는 파악을 놓쳤을 수 있습니다.
-
5손바닥 카메라는 전체 조작 단계에서 물체를 보여줍니다. 물체는 접근할 때부터 놓을 때까지 손바닥 카메라에 보여야 합니다. 카메라 마운트가 부딪치지 않았는지, FOV가 작업 작업 공간을 덮고 있는지 확인하십시오.
-
6촉각 스트림에는 예상되는 접촉 이벤트가 있습니다. 핀치 잡는 동안 엄지와 검지의 촉각 모두 힘이 증가하는 모습을 보여야 합니다. 접촉이 확인되는 동안 힘 신호가 누락되면 센서가 연결 해제되었거나 잘못 보정되었음을 나타냅니다.