ロボット訓練データ収集方法
遠隔操作 <unk> ハードウェア設定,レロボット記録,RLDSフォーマット,品質スコアリング,データセット準備を通じて高品質のロボット訓練データを収集するための完全なガイド
遠隔操作
中間
1.ハードウェア 2.インストール 3.設定 4.テレオップセット 5.記録 6.レビュー 7. RLDS変換 8.アップロード 9.品質チェック 10. VLA準備
必須条件
- ロボット腕 (OpenArm, SO-100, Aloha, Koch, UR5または類似)
- 少なくとも1台のRGBカメラ (腕に搭載されたほうが好ましい) +1台の外部カメラ
- 遠隔操作入力装置 (リードアーム,SpaceMouse,キーボード)
- ROS2 シャッフルがインストールされている (ROS2 設定ガイドを参照してください)
- パイthon 3.10+ パイプ
- Ubuntu 22.04 NVIDIA GPU (ビジュアライゼーションと将来のトレーニング)
建設するものは
このチュートリアル終了までに,完全なデータ収集パイプラインが用意されます:テレオペレーションハードウェアが設定され,ロボットの作業のエピソードをレロボットで記録し,品質スコア示し,RLDS形式でデータセットが HuggingFace Hubにアップロードされ VLAのフィーナティューニングに準備されています.
データ収集パイプライン
電気入力 リーダー腕 / スペースマウス
ロボット腕 共同国家+行動
カメラ 腕 + 外部RGB (RGB)
ローボット 記録と同期
RLDS データセット ハグ・フェイスハブ
1 年間
ハードウェアの要件
完全なデータ収集セットアップには4つの要素があります. 以下は,必要なものと推奨するオプションです.
| Component | Recommended | Budget |
|---|---|---|
| Robot arm | OpenArm ($2,400) or Aloha ($20K+) | SO-100 ($200 DIY kit) |
| Wrist camera | Intel RealSense D405 ($300) | USB webcam ($30) |
| External camera | Intel RealSense D435 ($350) | Logitech C920 ($70) |
| Teleop device | Leader arm (matched pair) | 3Dconnexion SpaceMouse ($130) |
予算経路: SO-100 腕は2台のウェブカメラとSpaceMouseを搭載し,合計500ドル未満のデータ収集が可能になります.品質はリーダーフォロワー設定よりも低いが,ワークフローを学び,シンプルなポリシーを訓練するには十分です.
2 について
レロボットをインストール
仮想環境でインストールして 依存関係衝突を回避します
コピー# 仮想環境 python3 -m venv ~/lerobot_env源 ~/lerobot_env/bin/activate # データを収集するすべての追加でLeRobotをインストール "lerobot[all]" # または最新機能 git clone
コピー# カメラの記録用の追加の依存をインストール パイプをインストール opencv-python pyrealsense2 h5py # HuggingFace Hubのアップロードのために パイプをインストール huggingface_hub huggingface-cliログイン
3 について
レロボットでロボットを設定する
ロボットのプロパティを定義するために YAML 構成ファイルを使用します. 特定のハードウェアのための設定を作成します.
コピー# ロボット設定ディレクトリ mkdir -p ~/lerobot_configs # オープンソースアーム (openarm.yaml) の設定例猫 > ~/lerobot_configs/openarm.yaml << 'EOF' ロボット:タイプ:オープンアームポート: /dev/ttyUSB0rate: 1000000関節: -名:肩_pan id: 1分: -3.14 max: 3.14 -名:肩_リフト id: 2分: -1.57 max: 1.57 -名:肘 id: 3分: -2.35 max: 2.35 -名:腕_ピッチ id: 4分: -1.57 max: 1.57 - id:腕_ロール: 5分: -3.14 f_14 -名:握り身高: 6分: 1.0_リフト: ビデオ: 0.0x: 0.0x: 0.0x: 0.0x: 0.0x: 0.0x: 0.0x: 0.0x: 0.0x: 0.0x: 0.0x: 0.0x: 0.0x: 0.
重要なこと:** カメラインデックス (
4 について
遠隔操作インターフェースを設定する
デモの際にロボットを制御する主な選択肢は 2つあります:リーダーとフォロワー腕ペア (最高の品質) またはスペースマウス (よりアクセス可能)
**オプションA:リーダーフォロワー武器 (推奨) **
コピー#リーダー腕を設定 (物理的に移動する) lerobotを校正する \ --robot-type=openarm \ --robot-port=/dev/ttyUSB0 \ --leader-port=/dev/ttyUSB1 # これは校正ルーチンを実行します 画面上の指示に従って両腕を動き範囲で移動します
選択肢B: スペースマウス
コピー# インストールSpaceMouseドライバー pip インストール pyspacemouse # テストSpaceMouse接続 python3 -c "import pyspacemouse; m = pyspacemouse.open(); print('SpaceMouse connected') " # LeRobotでSpaceMouseを設定します ロボット型=openarm \ --robot-port=/dev/ttyUSB0 \ --teleop=spacemouse
どちらを選ぶか? Leader-following 腕は,手動きをロボットの関節に直接映射するため,より自然的な示範を生み出す.SpaceMouseは設定が簡単だが,よりスムーズなデータを生成し,政策のパフォーマンスを10%~20%削減できる.
5 について
第 一話 録画
"エピソード"は,開始から終結まで, 完成の完全な示範です. ブロックを拾い,ターゲットゾーンに配置するような簡単な作業から始めましょう.
コピー# ローカルデータセットにエピソードを記録する ロボット レコード \ --robot-type=openarm \ --robot-port=/dev/ttyUSB0 \ --leader-port=/dev/ttyUSB1 \ --fps=30 \ --task="pick_red_block_place_target" \ --num-episodes=10 \ --output-dir=~/datasets/openarm_stop_pick_place # 録音中に制御: # 入力
各エピソードは同期データで保存されます.
│ │ │── │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
エピソードカウントガイドライン: 単一のタスクポリシー (ACT,拡散ポリシー) において,50200エピソードを収集する.VLAの微調整 (OpenVLA, pi0),3001,200エピソードを収集する.より多様なデモはよりよい通用化をもたらします.エピソード間のオブジェクト位置,方向性,照明を異なる.
6 について
レビューと品質評価エピソード
録音をレビューし,失敗したデモを削除し,品質のメトリックを計算する.
コピー#特定のエピソードを可視化します ロボット可視化データセット \ --dataset-path=~/datasets/openarm_pick_place \ --episode=0 \ # ロボットでエピソードを再現します (オプションの確認のために) ロボットを再現します
削除失敗したエピソード:
複製#すべてのエピソード python3 -c "輸入量メトリックをNP輸入 json, os, glob dataset_dir = os.path.expanduser('~/datasets/openarm_pick_place') に変換する.
品質規則: 最終的なデータセットで 90%以上の作業成功率を目指す. ロボットがオブジェクトを落とした,テーブルに衝突した,または揺るぎない動きをしたエピソードを排除する.より小さな高品質のデモセットはより大きな騒音なデータセットを上回る.
7 について
RLDS フォーマットに変換する
RLDS (Reinforcement Learning Datasets) は,VLAモデルトレーニングの標準形式です.OpenVLA,Octo,RT-2との互換性のためにLeRobotデータセットをRLDSに変換します.
コピー# RLDS変換ツールをインストールする pip tensorflow tensorflow-data-set rlds # LeRobotデータセットを RLDS python3 -m lerobot.scripts.convert_to_rlds \ --input-dir=/datasets/openarm_pick_place \ --output-dir=/datasets/openarm_pick_place_rlds --task-description="赤いブロックを拾って目標緑のゾーンに配置する"
RLDS データセットには,時間ステップごとにこの構造を持つTFRecordファイルが含まれます:
{ "観察": { "画像": (480, 640, 3) uint8, #腕カメラ "画像_外部": (480, 640, 3) uint8, #外相 "状態": (6,) float32 # 合着位置 }, "アクション": (7,) float32, # ターゲット関節 + 握手 "報酬": float32, # 1.0 成功,0.0 否則は "_terminal": bool, "言語_指示":文字列 # 任務説明 }
8 について
HuggingFace Hub にアップロードする
バージョン作成,簡単に共有し,トレーニング中に直接読み込みを行うために データセットを HuggingFace Hub に押し付けます.
コピー# ログインされていることを確認します.またはRLDS形式のデータセット python3 -c を押します.またはRLDS形式のデータセットをHuggingface_hubから輸入します.HfApipi = HfApi() ダウンロード_path_folder_folder_os.~.expanduser.('dataset/datasets/arm_pick_open_place\rlds'), repo_id='your-username/open-arm-pick-plds-rl1', 完全な repo_type'_printa='t_up' (), 公開のファイルファイル.
バージョンの提示: 必ずバージョンのサフィックス (
9 について
品質チェックを 行なう
訓練の前に 質のチェックを 実行して GPU時間を無駄にする問題を 把握してください
輸入の長さ = [\]滑らかな点数 = [\]行動_範囲 = [\]ep_dir のエピソード:アクション = np.pathos.expanduser.join'~/datasets/openarm_pick_place') エピソード = 整理された(glob.glob.os.path.join' episodes = グローバル.glob.os.path.join'(dataset_dir, 'episode_*' (n) ◎長さ = [\]滑らかな点数 = [\]アクション_範囲 = [\]ep_範囲 = \ (n) ep_dir のエピソード:アクション = np.pathos.expanduser.join'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
10
VLA の 調整 に 備え て ください
適切な分割やタスク説明を作成することで,トレーニングのためのデータセットを構造化します.
ダウンロード#作成列車/バルの分割 (90/10) python3 -c "輸入 os, shutil, random, glob dataset_dir = os.path.expanduser('~/datasets/openarm_pick_place') 編輯部 = 編輯部, "dataset_dir, "episode_*"))) ランダム.seed(42) ランダム.shuffle(episodes) 分割部 (int((lenepisodes) * 0.9) 列車 = 編輯部[:split] vallit = 編輯部[split:\] #ファイルを書いて開いた列車.path.pick.dir, "train_episodes.txt'), "wlen') 列車: f ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
VLAモデルを調整する準備は?
データのセットは準備済みです. データをOpenVLAまたはpi0に訓練するために [VLAfine-tuning guide]
データ収集コストの分割
| Cost Component | Per Hour | Notes |
|---|---|---|
| Operator labor | $50–80 | Skilled teleoperator, varies by market |
| Hardware depreciation | $15–30 | Amortized over 2,000 hrs of use |
| Quality review | $20–40 | エピソード filtering and scoring |
| Compute and storage | $8–15 | Recording, processing, storage |
| Facility overhead | $25–35 | Lab space, lighting, safety |
| Total | $118–200 |
データを収集する助けが必要ですか?
RCSV データサービスでは プロのテレオペレーター,品質保証,RLDS対応の配信でロボットデータ収集を管理しています 時給150ドルから開始します
[データサービスについて学ぶ]
トラブルシューティング
カメラのフィードは黒か凍結した
ロボット腕は録音中に反応しない
記録中にフレームの落下 (不一致の fps)
カメラの解像度が 480x360 に低下する.背景アプリケーションを閉じる.各カメラに専用USBバスを使用する (T9で確認).
RLDS変換は形状不一致で失敗
これは通常話の観測次元が異なることを意味します. すべてのカメラがすべての話で同じ解像度を使用していることを確認します. 異なる次元を持つエピソードを再録画します.
HuggingFace アップアップ時間
ゆっくりとした接続で大きなデータセット (50 GB+) がタイムアウトできます. パーツをアップロードするには
関連 チュートリアル
[ 固定リンク ]
VLAモデルを細かく調節する
リアルロボット部署のために 遠隔操作データセットに OpenVLA または pi0 を入れます
レロボット クイックスタート
2時間以内にLeRobotを起動します インストール,記録,トレーニング
](
OpenArm 最初のデモ
開箱を開けて,最初の遠隔操作デモを OpenArmハードウェアで実行する.
よく 聞かれる 質問
ロボット政策を訓練するには 何回のデモが必要ですか?
ほとんどの単作業操作策 (ピックアンド・プレス,倒すなど) では,ACTまたはディフュージョンポリシーでは50
ロボット訓練データ収集の費用は?
ロボット遠隔操作データ収集の全額負担額は,操作者のスキルレベルとハードウェアによって2026年に1時間118~200ドルからなる.これは操作者の時間,ハードウェアの減価,計算,および品質レビューを含む.RCSVデータサービスでは,150ドル/時間から管理された収集を提供しています.
ロボットデータ収集にはどんなカメラを使えばいいのか?
腕に搭載されたRGBカメラ (640x480,30fps) と外部第三者ビューカメラを少なくとも1枚使用してください.最高の結果のために,深度データのためにIntel RealSense D435のようなRGBDカメラを追加してください.多くのVLAモデルは腕と外部カメラの両方を表示します.
RLDS 形式 は 何 です か
RLDS (Reinforcement Learning Datasets) は,ロボット学習データを保存するためのGoogle DeepMindの標準化されたフォーマットである.TFRecordファイルで観測,アクション,報酬のシーケンスとしてエピソードを保存する.ほとんどのVLAモデル (RT-2,OpenVLA,Octo) はRLDSフォーマットを期待し,互操作性の事実上の標準となっている.
収集したデータは,どのように高品質であることを確認できるのか?
質量指標を3つ追跡する: (1) 任務の成功率
このチュートリアルが役に立ったのか?
👍 はい
ロボット に 進歩 し て ください
ロボット部署,データ収集,物理的なAIに関する最新情報を メールボックスに届けます







