데이터 수집
휴머노이드 데이터 수집은 팔 전용 워크플로우와 근본적으로 다릅니다. K1은 22개 이상의 자유도를 가지며 원격 조작 중에 균형을 유지해야 하며 동기화된 다중 모드 캡처가 필요합니다. 이 페이지에서는 과제, 방법, 데이터 세트 형식 및 안전 프로토콜을 다룹니다.
휴머노이드 데이터 수집 과제
실제 크기의 휴머노이드에 대한 고품질 데모를 수집하려면 데스크톱 암에는 존재하지 않는 문제를 해결해야 합니다.
원격 운용 중 균형
K1은 작업자가 팔을 제어하는 동안 몸 전체의 균형을 유지해야 합니다. 팔의 움직임은 질량 중심을 이동시키므로 운동 컨트롤러가 지속적으로 보상해야 합니다. 빠른 팔 명령은 로봇을 불안정하게 만들 수 있습니다.
고차원 상태
전신 관절 상태에는 22 DOF와 IMU, 머리 자세 및 선택적인 손 상태가 포함됩니다(시간 단계당 30개 이상의 차원). 데이터 세트 파일은 arm 전용 데이터 세트보다 훨씬 큽니다. 스토리지 계획은 필수적입니다.
다중 카메라 동기화
휴머노이드 작업에는 일반적으로 자기 중심(머리 장착) 카메라와 외심(외부) 카메라가 필요합니다. 50Hz+에서 공동 원격 측정을 사용하여 여러 비디오 스트림을 동기화하려면 신중한 파이프라인 설계가 필요합니다.
운전자 피로
VR을 기반으로 한 전신 원격 조작은 육체적으로 힘든 작업입니다. 운영자당 30분을 초과하는 세션은 데모 품질을 크게 저하시킵니다. 확장된 수집 캠페인에서 교환원 순환을 계획합니다.
휴머노이드를 위한 원격조작 방법
상체 원격 조작에는 두 가지 기본 방법이 지원됩니다. 운동은 항상 게임패드의 속도 명령을 통해 또는 자율적으로 제어됩니다.
VR 전신 원격조작 추천
Meta Quest 3 또는 유사한 VR 헤드셋을 사용하여 작업자의 머리와 손 자세를 추적합니다. K1의 머리와 팔 관절은 작업자의 움직임을 실시간으로 반영합니다. 가장 자연스럽고 표현력이 풍부한 데모를 제공합니다.
설정: Quest 3 + SteamVR, k1_vr_teleop ROS2 노드, 운영자는 손 추적을 위해 장갑을 착용합니다.
숨어 있음: 머리 ~20ms, 팔 전체 ~40ms.
가장 적합한 대상: 조작 작업, 선택 및 배치, 전신 이동 조작.
리더-팔로워 상체 고급의
두 번째 인간 규모의 외골격 또는 리더 팔 시스템은 추종자 K1의 상체를 반영합니다. 관절 각도는 리더에서 종동체로 직접 매핑됩니다. VR 하드웨어가 필요하지 않습니다.
설정: 호환되는 리더 암 시스템(예: OpenArm 양수동 키트 또는 맞춤형 외골격)이 필요합니다. 파트너 구성은 SVRC에 문의하세요.
가장 적합한 대상: 추적 정확도가 중요한 곳에서는 정확한 양손 조작이 가능합니다.
원격 조작 중 이동
상체 원격 조작은 일반적으로 게임 패드로 제어되는 이동과 결합됩니다. 운영자는 무선 게임패드를 사용하여 걷는 속도를 명령하고 VR 시스템은 팔과 머리를 제어합니다.
# Launch combined teleop: VR for upper body + gamepad for locomotion
ros2 launch k1_teleop k1_combined_teleop.launch.py \
vr_device:=quest3 \
gamepad:=xbox \
robot_ip:=192.168.10.102
전신 데이터 세트 형식(30+ DoF)
각 에피소드는 동기화된 관절 상태, 카메라 프레임 및 메타데이터를 기록합니다. 이 형식은 LeRobot 및 HuggingFace 데이터세트와 호환됩니다.
에피소드 구조
episode_000001/
joint_states.npy # [T, 44] — positions, velocities, torques for 22 joints
imu.npy # [T, 6] — accel (3) + gyro (3) from torso IMU
head_pose.npy # [T, 2] — yaw and pitch in radians
head_cam.mp4 # 1280x720 @ 30 fps, head-mounted egocentric
left_cam.mp4 # 1280x720 @ 30 fps, left wrist
right_cam.mp4 # 1280x720 @ 30 fps, right wrist
external_cam.mp4 # 1920x1080 @ 30 fps, fixed external view
timestamps.npy # [T] unix timestamps for joint_states
metadata.json # task name, operator, duration, success label
조인트 상태 스키마(22개 조인트 × 각각 2개 값)
# joint_states.npy shape: [timesteps, 44]
# Columns: [q0_pos, q0_vel, q1_pos, q1_vel, ..., q21_pos, q21_vel]
# Joint index mapping:
# 0-5: Left leg (hip_pitch, hip_roll, hip_yaw, knee, ankle_pitch, ankle_roll)
# 6-11: Right leg (same order)
# 12: Waist (yaw)
# 13: Head yaw
# 14: Head pitch
# 15-21: Left arm (shoulder_pitch, shoulder_roll, shoulder_yaw,
# elbow_pitch, wrist_pitch, wrist_roll, wrist_yaw)
# 22-28: Right arm (same order)
# Note: total 29 joints in extended K1 config; base K1 has 22
k1_agent.py로 세션 녹화
# Start the platform agent (streams telemetry to RoboticsCenter)
python k1_agent.py \
--robot-ip 192.168.10.102 \
--platform-url https://fearless-backend-533466225971.us-central1.run.app \
--record \
--task "pick up red block" \
--cameras head_cam,left_wrist,right_wrist,external
# Episodes auto-numbered and saved to ./recordings/
LeRobot 형식으로 변환
python convert_k1_to_lerobot.py \
--input-dir ./recordings/ \
--output-dir ./dataset/ \
--repo-id your-username/k1-pick-place
데이터 수집 중 안전 프로토콜
- ✓항상 감시인이 필요합니다. — 전담 직원 한 명이 로봇을 모니터링하고 비상 정지를 유지합니다. 원격 조작자는 동시에 안전을 모니터링할 수 없습니다.
- ✓3m × 3m의 명확한 경계 — 라이브 세션 중에는 작업 영역에 방관자, 케이블, 장비가 없습니다.
- ✓에피소드 길이 제한: 60초 — 에피소드를 짧게 유지하세요. 에피소드가 짧을수록 품질 필터링이 더 쉽고 장기간 작동으로 인한 위험이 줄어듭니다.
- ✓30분 교환원 순환 — VR 세션에서 30분마다 원격 조작자를 교대합니다. 피로는 데모 품질을 저하시키고 오류율을 높입니다.
- ✓불안정한 경우 즉시 중단하고 DAMP로 들어갑니다. — K1에 예상치 못한 진동이나 드리프트가 나타나면 비상 정지를 누르고 DAMP에서 다시 시작하십시오. 수동으로 안정화하려고 하지 마십시오.
- ✓모든 사건 기록 — 추락, 추락 직전 또는 중단된 에피소드를 기록합니다. 이 데이터는 데이터세트 품질 필터링과 안전 절차 개선에 유용합니다.
에피소드 품질 체크리스트
훈련 데이터세트에 추가하기 전에 각 에피소드를 검토하세요. 품질이 낮은 시연은 정책을 저하시킵니다.
- ✓작업이 처음부터 끝까지 성공적으로 완료되었습니다(훈련 데이터에 부분 완료 없음).
- ✓로봇은 넘어지거나 진동하거나 보상적인 갑작스러운 움직임 없이 전체적으로 안정적인 균형을 유지했습니다.
- ✓모든 카메라 스트림에는 누락된 세그먼트가 없는 완전한 프레임이 있습니다.
- ✓조인트 상태 타임스탬프는 연속적입니다(40Hz 기록에서 간격 > 25ms 없음).
- ✓시연은 원활하고 신중하게 진행됩니다. 서두르지 않고 지나치게 수정하지도 않습니다.
- ✓객체와 작업 장면은 전체에 걸쳐 최소 두 개의 카메라 스트림에서 볼 수 있습니다.