データ収集

ヒューマノイドのデータ収集は、アームのみのワークフローとは根本的に異なります。 K1 は 22 以上の自由度を持ち、遠隔操作中にバランスを維持する必要があり、同期されたマルチモーダル キャプチャが必要です。 このページでは、課題、手法、データセット形式、安全プロトコルについて説明します。

ヒューマノイドのデータ収集の課題

フルサイズのヒューマノイドで高品質のデモンストレーションを収集するには、デスクトップ アームには存在しない課題に対処する必要があります。

遠隔操作中のバランス

K1 は、オペレーターが腕を制御している間、全身のバランスを維持する必要があります。 腕の動きにより重心が移動するため、移動コントローラーが継続的に補正する必要があります。 アームコマンドを急速に使用すると、ロボットが不安定になる可能性があります。

📊

高次元状態

全身の関節状態には、22 DOF と IMU、頭のポーズ、およびオプションの手の状態が含まれており、タイムステップごとに 30 以上の次元が含まれます。 データセット ファイルは、arm のみのデータセットよりも大幅に大きくなります。 ストレージ計画は不可欠です。

📷

マルチカメラ同期

ヒューマノイドのタスクには通常、自己中心性 (頭部装着型) カメラと外中心性 (外部) カメラが必要です。 複数のビデオ ストリームを 50 Hz 以上のジョイント テレメトリと同期するには、慎重なパイプライン設計が必要です。

👥

オペレータの疲労

VR ベースの全身遠隔操作は肉体的に負担がかかります。 オペレーターあたり 30 分を超えるセッションは、デモンストレーションの品質を大幅に低下させます。 長期にわたる回収キャンペーンではオペレーターのローテーションを計画します。

ヒューマノイドの遠隔操作方法

上半身の遠隔操作では 2 つの主な方法がサポートされています。 移動は常にゲームパッドからの速度コマンドによって、または自律的に制御されます。

VR全身遠隔操作 推奨

Meta Quest 3 または同様の VR ヘッドセットを使用して、オペレーターの頭と手のポーズを追跡します。 K1 の頭と腕のジョイントは、オペレーターの動きをリアルタイムで反映します。 最も自然で表現力豊かなデモンストレーションを提供します。

設定: Quest 3 + SteamVR、k1_vr_teleop ROS2 ノード、オペレーターはハンド トラッキングのために手袋を着用します。

レイテンシ: ヘッドは最大 20 ミリ秒、アームはエンドツーエンドで最大 40 ミリ秒。

以下に最適: マニピュレーションタスク、ピックアンドプレイス、全身のロコマニピュレーション。

リーダー・フォロワーの上半身 高度な

2 番目の人間スケールの外骨格またはリーダー アーム システムは、フォロワー 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

データ収集中の安全プロトコル

  • スポッターは常に必要です — 1 人の専任担当者がロボットを監視し、非常停止を保持します。 遠隔操作者は安全性を同時に監視することはできません。
  • 3 m × 3 m の透明な周囲 — ライブセッション中は、運用エリアに傍観者、ケーブル、機器が存在しません。
  • エピソードの長さ制限: 60 秒 — エピソードは短くしてください。 エピソードが短いほど、品質のフィルタリングが容易になり、長時間の操作によるリスクが軽減されます。
  • 30分間のオペレーターローテーション — VR セッションで遠隔オペレーターを 30 分ごとに交代させます。 疲労によりデモンストレーションの品質が低下し、エラー率が増加します。
  • 不安定な場合は直ちに中止して DAMP に入ります — K1 が予期せぬ発振やドリフトを示した場合は、非常停止を押して DAMP から再起動してください。 手動で安定させようとしないでください。
  • すべてのインシデントを記録する — 転倒、転倒寸前、または中止されたエピソードを記録します。 このデータは、データセットの品質フィルタリングや安全手順の改善に役立ちます。

エピソードの品質チェックリスト

トレーニング データセットに追加する前に、各エピソードを確認してください。 質の悪いデモは政策の価値を低下させます。

  • タスクはエンドツーエンドで正常に完了しました (トレーニング データに部分的な完了はありません)
  • ロボットは全体を通して安定したバランスを維持し、つまずき、振動、代償的なジャークはありませんでした
  • すべてのカメラ ストリームには、セグメントが欠落していない完全なフレームが含まれています
  • ジョイント状態のタイムスタンプは連続的です (40 Hz 記録で 25 ミリ秒を超えるギャップはありません)
  • デモンストレーションはスムーズかつ慎重に行われ、急かされたり、過度に修正されたりすることはありません
  • オブジェクトとタスク シーンは、全体を通じて少なくとも 2 つのカメラ ストリームで表示されます。
データ収集パイプラインの概要 →

初めてのヒューマノイド ポリシーをトレーニングする準備はできましたか?

高品質のデモを収集したら、Booster K1 学習パスに進み、完全なトレーニングとデプロイのワークフローを学習します。