데이터 수집

휴머노이드 데이터 수집은 팔 전용 워크플로우와 근본적으로 다릅니다. 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 없음).
  • 시연은 원활하고 신중하게 진행됩니다. 서두르지 않고 지나치게 수정하지도 않습니다.
  • 객체와 작업 장면은 전체에 걸쳐 최소 두 개의 카메라 스트림에서 볼 수 있습니다.
데이터 수집 파이프라인 개요 →

첫 번째 휴머노이드 정책을 훈련할 준비가 되셨나요?

품질 데모를 수집한 후 전체 학습 및 배포 워크플로를 보려면 Booster K1 학습 경로로 이동하세요.