メインコンテンツまでスキップ
ステージ 3 · 第 11 章 · 理論

11. ロボットデータセットとタスク設計

Episode とは何か、1 レコードの中身、タイムスタンプと同期、開始・終了条件、一貫性と多様性、データ量と品質、A から B へのピック&プレースの実例を学びます。

11.1 Episode とは?​

Episode

11.1 Episode とは?

本章から、あなたのすべての操作が役割の転換を意味します — あなたはもう「ドライバー」ではなく「先生」です。 あなたのすべての動作が記録され、モデルの教科書になります。この教科書の基本単位が Episode です。

1 つの Episode は 1 回の完全なタスク実演です。 アームが開始姿勢にありタスクが始まってから、タスク完了まで、システムが連続記録した全データが 1 つの Episode を構成します。

11.2 1 レコードの中身は?​

データ

11.2 1 レコードの中身は?

第 8 章の復習 — 見覚えがあるはずです。そう、学んだものです:観測・状態・アクション。

SO-ARM では、録画された 1 フレームに含まれるのは:

  • 観測:2 台のカメラ画像(前面 + 側面);
  • 状態:フォロワーの 6 つの関節読み取り値(5 関節 + グリッパ);
  • アクション:リーダー由来の 6 つの目標関節値。

アクションの出所に注意:記録されるのは(リーダー経由で)与えられた目標アクションであり、フォロワーが後で実際に到達した位置ではありません。これは行動クローニングの定義そのものです — モデルは「この観測と状態の下で、人がその瞬間何をしようとしたか」を学びます。

11.3 タイムスタンプとデータ同期​

同期

11.3 タイムスタンプとデータ同期

画像は USB を、関節データはシリアルバスを通ります — 2 つのデータストリームは異なる時刻に PC へ到着します。LeRobot は各フレームにタイムスタンプを打ち、「同じ瞬間」の画像・状態・アクションを 1 行に揃えます。

タイムスタンプと同期

11.4 タスク設計:開始条件と終了条件​

タスク設計

11.4 タスク設計:開始条件と終了条件

データ採集の前に、タスク定義を文章で明確に書き出します。良いタスク定義は 2 つの質問に答えます:どこから始まるか?いつ完了か?

開始条件:モデルに「固定された出発点」を与える​

  • 固定の初期アーム姿勢:すべての Episode が同じ安全姿勢(例:キャリブレーション後のホーム姿勢)から始まります。開始姿勢がバラバラだと、モデルの最初の学習対象が「任意姿勢からのタスク突入」になり、不要な難度が加わります。

終了条件:Episode に明確な「ゴールライン」を引く​

  • 成功終了:タスク目標達成(例:「物体が B 点でリリースされ、グリッパが開き、アームが離れた」);
  • 失敗終了:回復不能な状況(物体落下、物体がマット外へ、アームが危険姿勢へ)— その Episode の録画を即座に停止します。

11.5 一貫性 vs. 多様性​

データ設計

11.5 一貫性 vs. 多様性:データ設計の核心的緊張

本章で最も重要な節です。高品質な教示データは、一見矛盾する 2 つの要求を同時に満たす必要があります。

一貫性:「1 つのやり方」だけ教える​

  • 操作スタイルの一貫性:同じタスクでは全 Episode が同じ戦略を使う(例:常に物体の上方から接近し、把持し、B 点に置く)。半分が左から、半分が右から把持するデータでは、モデルは 2 つのやり方の「平均」を学び — 大抵は何も掴めない奇妙な軌跡になります;
  • リズムの一貫性:移動速度と休止位置はおおむね安定 — 20〜30 秒と決めたらその範囲で完了する。速度がバラつくデータは、モデルの動作速度も不安定にします;
  • フローの一貫性:毎回「接近 → 把持 → 搬送 → 配置 → 復帰」の完全な流れを省略せずに実行;
  • シーン初期状態の管理:物体は指定エリア内に置く(エリアは広くても境界は明確に)。作業領域から無関係な物を撤去;
  • カメラ位置の固定:採集中にカメラを動かしてはならない — モデルにとって、カメラが 5 cm 動けば世界が変わったのと同じです。

多様性:十分な「バリエーション」を見せる​

  • 目標位置の多様性:物体が作業空間の様々な位置に現れる(グリッド状カバー。ランダム散布ではない);
  • 初期姿勢の多様性:物体の向き、障害物との相対位置に変化を持たせる。

11.6 成功と失敗の基準​

基準

11.6 成功と失敗の基準

「タスク完了」は客観的に判定できる状態でなければならず、「なんとなく良さそう」ではいけません。良い成功基準はこうです:

不合格な基準(曖昧)合格した基準(測定可能)
「だいたい掴めていればよい。」「グリッパが完全に閉じ、物体の中心を掴んでいる。」
「物体が B 点付近に置かれていればよい。」「物体が B 点のマーク内に収まっている。縁に掛かっていない。」
「物体を拾って置けばよい。」「動作全体が滑らかで、各 Episode の録画時間がほぼ一定。」

録画中の失敗区間への原則は単純です:この Episode を撮り直す。「モデルが失敗からも学ぶかも」と失敗データを残さないこと — モデルは本当に学びます、失敗の部分も含めて。

11.7 データ量 vs. データ品質​

データ量

11.7 データ量 vs. データ品質

経験則(クリーンで一貫したシーンでの単一デスクトップタスク):

データ量期待される効果
20〜30 Episode固定 A→B タスクで最初に使えるポリシー(入門レベル)
50 Episodeパイプラインが動き、データカバー領域でモデルが機能し始める(位置のばらつきの入門量)
50〜100 Episode成功率が実用域に達する。ほとんどの単一タスク実験のスイートスポット
100+ Episode収益逓減。タスクが複雑でなければ、成功率要求が高くなければ

複数タスクでは複雑さに比例して増やします。もちろん、訓練後にデータを追加することも可能です — モデルの成績が振るわなければ足せばいいのです。

ただし、これらの文を数字の前に置いてください:

  • 高品質な 50 Episode は、雑な 200 Episode に勝る。
  • 採集に問題があれば迷わず — その Episode を即座に撮り直す。
  • 強い汎化が欲しければ、数百〜数千 Episode が必要。
ヒント

実用的なバッチ戦略(第 22 章のノーコードフローも同じ):1 バッチ約 10 Episode。2〜3 バッチ後、最初の訓練に有効な 20〜30 Episode を残し、訓練結果に応じて難しい変種のデータを追加します。

11.8 単一タスク vs. マルチタスクデータセット​

データセット

11.8 単一タスク vs. マルチタスクデータセット

  • 単一タスクデータセット:1 つのデータセットに 1 つのタスク(例:「物体を A から B へ」)。モデルの目標が単一でデータ要件が小さく、成功率を出しやすい。最初のモデルは必ず単一タスクから始めます;
  • マルチタスクデータセット:1 つのデータセットに複数タスク(ブロック把持、引き出しを開ける、ブロックを入れる)。各 Episode に task_index で所属タスクをラベル付け。データ利用率が高く汎用ポリシーへの方向性ですが、タスク同士がモデル容量を取り合うため、タスクごとに多くのデータが必要です。

11.9 データ収集のイテレーション​

イテレーション

11.9 データ収集のイテレーション

バッチ採集と反復検証:50 採る → 訓練 → 実機評価 → 失敗シーンのデータ追加 → 再訓練。モデルの大方向が正しく精度だけが悪いならデータ追加が効きます。モデルの挙動が完全に誤っているなら、タスクかデータ設計の問題であり、データをいくら足しても無駄です。

11.10 データ作成実例:A から B へのピック&プレース​

実例

11.10 データ作成実例:A から B へのピック&プレース

このステージの以降で使う例タスク:A 点の物体を拾って B 点に置く — 第 22 章のノーコードプラットフォームと同じタスクなので、2 つのパスを直接比較できます。

シーン設計​

  1. デスクマットに 2 つの固定位置をマーク:A 点は物体の開始位置、B 点は目的地。掴みやすい大きさの物体(小さなブロックなど)を用意;
  2. A 点・B 点・両アーム・物体が両カメラ映像で見え、遮蔽されていないことを確認。カメラを固定し、光照を変えず、リーダーをカメラ視野外に置く。
A 点と B 点のタスクシーン

初学者が頭を抱える問題が「物体をどう置けば満遍なく練習できるか」です — ランダム配置は、全部小さな範囲に寄る(モデルはその場所しか認識できず他で失敗)か、不規則に散らばる(過剰に練習する区域と未着手の区域ができる)かのどちらかです。ここに簡単で規範的な方法を示します:

  1. 点を打つ:採集エリア(マット)に鉛筆で 5 点をマークし、十字型に配置 — 中央 1 点、上下左右各 1 点;
  2. 間隔を決める:隣接点の間隔は 5〜10 cm とし、5 点すべてがアームの作業空間に入り、両カメラで明瞭に見えることを確認;
  3. 割り当て:各点で 10 Episode 採る。5 点 × 10 = 50 Episode で目標達成です。1 点で 10 連続ではなく、各点 1 回ずつ(5 点 = 1 周)を 10 周行ってください。

把持と配置の設計​

  1. 初期位置:アームはホーム姿勢。物体は A 点;
  2. 把持:
    • 物体の真上へ移動(毎回同じ高さで物体中心の真上に到達);
    • 物体上方の固定距離でグリッパを開く(なぜ固定距離?開く際に物体に当てて位置をずらさないため);
    • 毎回同じ力と速度で把持;
  3. 配置:
    • B 点中心の真上へ移動;
    • 一定速度でグリッパを開きアームを持ち上げる — 物体がマーク内に静かに収まるはず;
    • アームをホーム姿勢へ戻す。

これで完璧な Episode が 1 本完成です。あとはこれを 50 回繰り返すだけです。

デザイン問答​

なぜマット・カメラ・物体位置を動かしたり、光照を変えたりしてはいけないのか?

  • 誤解の解消:「何でも自由に動かす」が生むのは多様性ではなくノイズです;
  • 汎化予算の理論:限られたデータでは、変化を注いだ次元をモデルはその次元について学びます — 目標位置に注げば別位置の把持を学び、カメラ位置の変化に注げば把持と視点差の両方を学ぶことになり、遥かに多くのデータが必要で効果も落ちます;
  • 本当に変化が要る場合:採集中の「固定しない」ではなく、後の追加データ・イテレーションで意識的に境界を広げること — それこそが求めている汎化です。
Loading Comments...