LinkerBot O6 Pathに戻る

データ収集

LeRobot を使用してLinkerBot O6 で 50+ のデモエピソードを記録する. カメラ設定,エピソードワークフロー,データセットフォーマット,品質フィルタリングチェックリスト. ~ 2 時間.

5つ目の4つ目 · データ収集 · ~2時間

レロボットを使用して50以上の成功のデモエピソードを記録します.カメラを設置し,タスクを定義し,録画作業を実行し,品質のフィルタリングを行います.ターゲット:トレーニングに準備ができているクリーンな50エピソードデータセット.

カメラの設定

模倣学習には少なくとも1台のカメラが必要である.二つのカメラは政策のパフォーマンスを大幅に向上させる:

  • 上下カメラ 6080cm以上でカメラの腕や天井に設置されている.物体の位置とグリッパー状態を明確に把握する. 640×480 @ 30 fpsは十分; 1280×720は好ましい.
  • **手首カメラ (オプション) ** 端エフェクター近くに設置.接触と握手作業のための精細な視野を提供します. Intel RealSense D405またはそれと同等.
# Test camera streams before recording
python3 -c "
import cv2
cap = cv2.VideoCapture(0)  # /dev/video0
ret, frame = cap.read()
print('Camera OK:', frame.shape if ret else 'FAILED')
cap.release()
"

作業流を記録する

LeRobot の レコード スクリプト を使用します. これは複数のカメラの同期,共同状態のログイン,および HuggingFace Hub のアップロードを一つのコマンドで処理します.

python -m lerobot.scripts.control_robot \
  --robot.type=linker_bot_o6 \
  --control.type=record \
  --control.fps=30 \
  --control.repo_id=your-username/o6-pick-place \
  --control.tags='[o6,pick-place,tabletop]' \
  --control.warmup_time_s=5 \
  --control.episode_time_s=30 \
  --control.reset_time_s=10 \
  --control.num_episodes=60

作業流は各エピソード

  1. 温まる期間 (5 s) シーンを設定する (オブジェクトをスタートポジションに配置する).
  2. 記録 (最大30秒) 遠隔操作方法を使用して作業を実行します.
  3. 腕を帰宅させ,物体を復元させ,次のエピソード準備する.
  4. 予定されている60話で繰り返す

レロボットデータセットフォーマット

各エピソードは,同期観測とアクションを パークテファイルとして保存します.

# Dataset structure (per episode)
{
  "observation.state":      [T, 12],  # joint positions [6] + velocities [6]
  "action":                 [T, 6],   # commanded joint positions
  "observation.images.top": [T, H, W, 3],  # top camera frames (uint8 RGB)
  "observation.images.wrist": [T, H, W, 3], # wrist camera (if configured)
  "timestamp":              [T],      # seconds from episode start
  "episode_index":          scalar,
  "frame_index":            [T],
  "task":                   str       # task description
}

任務の定義のヒント

  • ** 簡単なスタート.** "赤い立方体を取り出し,ゴミ箱に放す"は良い最初の作業です. 基本の作業が完了するまで複合型多段階の作業を避ける.
  • 一貫したスタート位置. 各エピソードで同じ位置 (±1cm) に物体を配置する.高い変異によりより多くのデータが求められます.
  • タスクを端から端まで完了する.* 各エピソードは,明確な開始状態から明確な目標状態へと移行する必要があります. 部分的な完了を記録しないでください.
  • スムーズな動き. 可能な限り,乱暴な,修正的な動きを避ける.スムーズなデモはより良い政策を生み出します.

品質フィルタリングプロトコル

訓練前に チェック・フィルター

  • 番組の再生を視聴する
  • 削除のために,タスクが終了されていないエピソードを端から端にマークします.
  • 落としたカメラフレーム (再生中の視覚的声) を確認する. 影響を受けたエピソードを捨てておく.
  • 連続したフレーム間の大きな不連続性がないことを確認する.
  • 保持されたエピソードでオブジェクトのスタート位置が一致していたことを確認します
  • フィルタリング後,残っている≥50エピソードを確認してください.
  • 進行する前に データを2番目の場所にバックアップします

HuggingFace Hub にアップロードする

# Push to Hub (requires huggingface-cli login)
huggingface-cli login
python -m lerobot.scripts.push_dataset_to_hub \
  --repo-id your-username/o6-pick-place

ハブにアップロードすると,あなたのデータセットはチームコラボレーション,再現可能なトレーニングランス, [roboticscenter.ai/datasets]T5で共有されたロボットデータセットレジストリへの貢献のために利用可能になります.

ユニット4 完成する...

LeRobot データセットには50以上の高品質のデモエピソードがあります.すべてのエピソードが品質チェックリストを通過します.カメラストリームが完了し,コモンステートデータは連続です.データセットはバックアップされ,オプションとして HuggingFace Hubに押されます.タスク説明文字列を特定し,すべてのエピソードで一致していることを確認しました.

[← 経路概要に戻る]