知識がなくても始められる、AIと共にある豊かな毎日。
AIツールレビュー

ロボットに教えるのは、まず自分の手で — テレオペで模倣学習のデータを取る

ゲンキ

腕が組み上がった。電源を入れれば関節は回る。それでも、何もしてくれない。

ここから先に要るのは、部品でもモデルでもなくあなたの実演である。人が手で動かして見せた軌跡を記録し、それを真似るように学習させる。この方式を模倣学習と呼ぶ。強化学習のように機械に試行錯誤させるのではなく、正解の動きを人が与える。

そして、ここが結果を決める。同じモデル、同じ学習設定でも、記録の質が違えば結果はまったく変わる。模倣学習において、データは前処理ではなく本体である

本記事は、公式の記録手順に何が書かれているかを整理し、そのうえで数字の意味を読む。当サイトは実機での記録を行っていないため、以下は公式ドキュメントの内容の整理であり、収録の体験談ではない。確認はすべて2026年9月2日時点のものである。

忍者AdMax

まず座標を合わせる — キャリブレーションの意味

まず座標を合わせる — キャリブレーションの意味

記録の前にキャリブレーションがある。手順としては、各関節を可動域の中央に置き、そのあと全可動域を一度動かす、というものだ。

これを「初期設定の儀式」と受け取ると危ない。公式は目的をはっきり書いている。ある機体で学習したニューラルネットワークを、別の機体でも動かせるようにするためである。

意味を噛み砕くとこうなる。モデルが出力するのは関節の角度である。ところが同じ「30度」が、組み立て誤差やホーンの取り付け位置によって、機体ごとに違う姿勢を指してしまう。キャリブレーションは、その機体固有のずれを吸収して、共通の座標に載せる作業だ。

したがって、キャリブレーションがずれていれば、他のすべてが正しくても腕は狙った場所に行かない。うまく動かないときに最初に疑う場所でもある。

もうひとつ含意がある。公開されているデータセットや、他人が学習させた方策を自分の腕で試せるのは、この共通座標があるからだ。キャリブレーションは自分の機体のためだけの作業ではなく、他人の成果を持ち込むための入口でもある。手を抜くと、外から持ち込んだものが軒並み動かない。

作業自体は数分で終わる。リーダーとフォロワーの両方に対して行い、それぞれに固有の名前を与えて保存する。組み立て直したり、サーボを交換したりしたら、やり直しが要ると考えておいたほうがよい。

同じ名前を使い続ける

同じ名前を使い続ける

地味だが効く注意点がある。ロボットとリーダーには id という名前を付ける。この名前がキャリブレーション結果の保存先になる。

公式は、記録・学習・評価で同じ id を使うことを明記している。名前が変われば別の機体として扱われ、せっかく合わせた座標が参照されない。複数台を扱うようになったときに事故が起きやすい箇所だ。

厄介なのは、名前を間違えてもエラーにならずに動いてしまう点である。新しい名前を渡せば、その名前で新しくキャリブレーションが始まるだけだ。気づかないまま記録を進め、あとから「以前と結果が違う」と悩むことになる。腕に物理的な名札を貼っておくくらいの用心をしても、やりすぎではない。

テレオペ — 人が動かし、機械が追う

テレオペ — 人が動かし、機械が追う

準備が済んだら、まず記録せずに動かしてみる。リーダーを手で動かすと、フォロワーが同じ関節角度で追従する。

この段階で確かめておきたいのは、追従の素直さである。手応えが重い関節はないか、特定の姿勢で引っかからないか。ここで違和感がある状態のまま記録に進むと、その違和感がすべてのデータに刻まれる

公式のコマンドは、ロボットとリーダーそれぞれの種類と接続先を指定する形になっている。実行すると、キャリブレーションが済んでいない場合は自動で手順が始まり、そのあと追従が開始される。

lerobot-teleoperate --robot.type=so101_follower --robot.port=<フォロワーのポート> --teleop.type=so101_leader --teleop.port=<リーダーのポート>

なお、キーボードで腕を操作する方式もあるが、こちらは環境を選ぶ。公式は、キーボードによる操作は X11 のセッションか Windows のデスクトップか、権限を与えた macOS でのみ動き、Wayland やヘッドレスの環境では使えないと書いている。記録の開始や取り直しといった制御キーのほうは、対話的な端末であれば環境を問わず効く。

カメラをどこに置くか

カメラをどこに置くか

視覚を入力に取るモデルを使う以上、記録にはカメラ画像も含める。公式の設定例には、作業台を正面から撮る1台構成と、手首に付けたものと上から見下ろすものの2台構成が出てくる。解像度と毎秒のコマ数の例としては、640×480で毎秒30コマ、あるいは1920×1080で毎秒30コマが挙げられている。

ただしこれらは例であって推奨ではない。台数や画角の最適解は公式に書かれていない。

かわりに公式が置いている基準がひとつある。これが実務的にいちばん役に立つ。

カメラ画像だけを見て、自分がその作業をできるかどうか。

人間が画像だけで判断できないなら、モデルにも判断できない。掴む対象が手首に隠れて見えない、影で色が判別できない、奥行きが分からない。そうした配置は、記録を始める前に直すべき問題である。50本録ってから気づくと、50本が無駄になる。

何を「ひとつの作業」と呼ぶか

何を「ひとつの作業」と呼ぶか

記録を始める前に決めておくことがもうひとつある。作業をどう言葉にするかだ。

記録時には、その作業を説明する短い文を指定する。公式の例では「黒いキューブを掴む」といった一文が使われている。この文は飾りではない。学習したモデルを動かすときにも同じ文を渡すことになっており、記録時と実行時で文が食い違うと、モデルに与える条件が変わってしまう

そして、この一文を書こうとすると作業の粒度が決まる。「机を片付ける」は一文で書けるが、実演としては長すぎて、途中で何をしているのか分からなくなる。「ペンを右のトレイに移す」なら、始まりと終わりがはっきりしていて、失敗したかどうかも一目で分かる。

一文で言い切れて、60秒以内に終わり、成否が客観的に判定できる。この三つを満たす粒度に切るのが、最初の作業選びの基準になる。欲張って長い作業から始めると、うまくいかなかったときにどこが悪いのか切り分けられない。

机の上を先に整える

机の上を先に整える

カメラを固定し、掴み方を一貫させる。この原則を守ろうとすると、記録の前に作業台そのものを整える必要が出てくる。

考えるべきは三つある。ひとつは背景で、余計な物が映り込むほど、モデルが手がかりにすべきでないものを手がかりにしてしまう。ふたつめは照明で、昼と夜で明るさが変わる机では、同じ配置のはずの実演が別の見え方になる。窓からの光が入る場所なら、カーテンを引いて人工光で統一するほうが安定する。

そして三つめが、対象物を毎回同じ位置に戻せるかどうかだ。「1つの配置につき10本」という推奨は、10本のあいだ配置が同じであることを前提にしている。目分量で置き直せば、そのばらつきがそのままデータのばらつきになる。置き場所を決める受けを作ってしまうのが確実で、これは3Dプリンターの得意分野である。工具や部品の形に合わせた受けの作り方は工具の形に合わせた受けを写真から作る — AIに輪郭を取らせる治具設計(2026-09-04 公開)で扱った手法がそのまま使える。

整理された作業台は気分の問題ではない。再現性の道具である。

1エピソードは60秒、リセットも60秒

1エピソードは60秒、リセットも60秒

記録のパラメータには既定値がある。

パラメータ既定値意味
1エピソードの時間60秒1回の実演に使える時間
リセットの時間60秒次の実演に向けて環境を戻す時間
エピソード数50記録する本数

注目したいのは、リセットに実演と同じだけの時間が割り当てられていることだ。物を元の位置に戻し、腕を初期姿勢に戻す作業が、記録と同じ重みで見積もられている。

この既定値どおりなら、1本あたり2分。50本で100分になる。実際には考えたり撮り直したりする時間が乗るので、半日仕事だと思っておいたほうがよい。ここは公式の値からの単純計算であって、当サイトの実測ではない。

何本録るのか — 50本、1配置あたり10本

何本録るのか — 50本、1配置あたり10本

公式の推奨ははっきりしている。最低50エピソード、1つの配置につき10エピソードである。

つまり「50本を適当に録る」のではない。対象物の置き場所を5通り決め、それぞれで10本ずつ録る。同じ状況を複数回繰り返すことが、汎化に効くと説明されている。

そして、この数字には裏付けがある。小型モデルの開発元は、論文用のデータセットを5つの配置それぞれで10本、計50本という構成で作ったと公開している。さらに踏み込んで、こう書いている。

25エピソードの同様のデータセットも試したが、それでは足りず性能が悪かった。

開発元が自分の失敗を記録しているのは貴重だ。25本では足りない、という具体的な下限が分かる。模倣学習でどれだけデータが要るのかは経験則で語られがちだが、ここには根拠のある数字がある。

この50本という数字が、学習の側から見るとどれくらいの量になるかも押さえておきたい。毎秒30コマで30秒の実演を50本録れば、コマ数は45,000ほどになる。実際、学習の所要時間を見積もる公式の資料は、この「50本・約45,000コマ」を標準的な例として使っている。記録の設計が、そのまま学習時間の前提になるわけだ。

逆に言えば、1本を60秒に伸ばせばコマ数は倍になり、学習も倍かかる。長く録れば良いというものではない。作業を短く切る利点は、記録の手間だけでなく学習の側にもある。

一貫性を保ち、変化を増やしすぎない

一貫性を保ち、変化を増やしすぎない

公式が繰り返し書いている原則が二つある。

ひとつはカメラを固定し、掴み方を一貫させること。もうひとつは変化を一度に増やしすぎないことだ。

直感に反するかもしれない。多様なデータのほうが強いモデルになりそうに思える。しかし模倣学習では、少ないデータで多くの変化を見せると、どのパターンも中途半端にしか学べない。公式の順序はこうだ。まず確実に掴めるようにする。そのあとで、掴む位置を増やす、掴み方を変える、カメラの位置を変えるといった変化を導入していく。

これは記録作業の設計にそのまま効く。最初の50本は、退屈なほど同じことを繰り返す。退屈さは、この段階では品質の指標である

実演の速さと、手の癖

実演の速さと、手の癖

公式には書かれていないが、記録の設計として考えておく価値がある論点を挙げておく。ここからは当サイトの推論である。

模倣学習は人の動きを真似る。ということは、人の癖もそのまま真似る。速すぎる実演はモデルにとって難しく、遅すぎる実演は実用にならない動きになる。途中で迷って止まった時間があれば、その「止まる」動作も学習の対象になる。

したがって、実演は一定の速さで、迷いなく行うのが望ましいはずだ。逆に言えば、手順が固まっていないうちに録り始めるべきではない。何度か練習して、目をつぶっても同じ順序で手が動くようになってから記録に入る。50本を録るなら、練習の10本ぶんの時間は十分に元が取れる。

疲労も考えておきたい。1本2分の作業を50回繰り返せば、後半の実演は前半と違うものになる。休憩を挟んで質を揃えるほうが、一気に録り切るより良いデータになると考えるのが自然だ。

記録中の操作と、途中から足すときの落とし穴

記録中の操作と、途中から足すときの落とし穴

記録中はキー操作で流れを制御する。次へ進む、いまのエピソードを取り直す、セッションを終了する、の三つである。矢印キーと、nrq の文字キーの両方が使える。

取り直しがその場でできるのは重要だ。失敗した実演をその場で捨てられる。物を落とした、手が引っかかった、といった明らかな失敗を混ぜないで済む。

一方、失敗した実演をわざと混ぜるべきかどうかについては、公式に明確な推奨を見つけられなかった。人が介在しながら収集する方式が別途用意されてはいるが、「失敗デモを入れると強くなる」といった指針は確認できていない。したがって本記事では、推奨として書かない。

そして落とし穴がひとつある。記録を中断して後から足すとき、指定するエピソード数は「追加する本数」であって目標の総数ではない。公式が太字で注意している箇所だ。50本録ったあとに「合計80本にしたい」と思って80と指定すると、80本追加されて130本になる。

データはどこに保存され、どこへ上がるか

データはどこに保存され、どこへ上がるか

記録したデータは、まずローカルの決まった場所に保存される。ホームディレクトリの下のキャッシュ領域である。

そのうえで、既定では記録の終わりに Hugging Face のハブへ自動アップロードされる。これは便利な仕様だが、意識していないと事故になる。作業机が写り込んだ映像、家族の声、開発中の製品の形状。そうしたものが含まれるなら、アップロードを無効にする指定を付けてから記録を始める必要がある。

lerobot-record <各種オプション> --dataset.push_to_hub=False

公開する場合も、何が写っているかは自分で確認するしかない。記録は映像であるという当たり前の事実を、作業に没頭していると忘れやすい。

記録は資産になる

記録は資産になる

アップロードの既定を警戒する話をしたが、公開する側の利点にも触れておきたい。

ハブに上げたデータセットには自動でタグが付き、同じタグで他の人のデータセットを探せるようになっている。ブラウザ上でエピソードを再生して中身を確認する仕組みも用意されており、他人がどんな配置で、どんな速さで、何本録ったのかを見ることができる。

これは学習の題材として貴重だ。うまくいっているデータセットの構成を真似るのが、自分で試行錯誤するより速い。小型モデルが「コミュニティのデータで大型モデルに匹敵する」と説明されているのも、この積み上げの上に成り立っている。

自分のデータを出すかどうかは、写り込みを確認したうえでの判断になる。ただ、模倣学習の分野が個人の手に届く水準まで降りてきたのは、こうして記録を持ち寄る文化があったからだという事情は知っておいてよい。

再生して確かめる

再生して確かめる

記録したエピソードは再生できる。保存済みの軌跡を、そのまま腕に流し込む機能である。

lerobot-replay --robot.type=so101_follower --robot.port=<フォロワーのポート> --dataset.repo_id=<データセット名> --dataset.episode=0

これは学習の前に必ず一度やっておきたい。再生して同じ動きが再現しなければ、問題は機械側にある。土台が滑っている、キャリブレーションがずれている、サーボのどれかが渋い。学習を回してから悩むより、はるかに安く原因が分かる。

逆に言えば、再生が正しく再現するなら、そのデータは少なくとも機械的には健全である。学習に進んでよい、という判断がここで初めて下せる。

この確認は数分で終わる。学習に数時間かけたあとで機械側の問題に気づくより、はるかに安い。いちばん安い検査を最初にやるという順序は、機械の故障診断でも同じである。

まとめ — 記録は前処理ではない

まとめ — 記録は前処理ではない

模倣学習のデータ収集で押さえる点をまとめる。

  1. キャリブレーションを先に。座標が合っていなければ、あとの全部が狂う
  2. カメラは画像だけで作業が判断できる配置に。人が分からないならモデルも分からない
  3. 50本、1配置10本。25本では足りなかったという記録がある
  4. 一貫性を優先し、変化は後から足す。最初の50本は退屈でよい
  5. アップロードの既定に注意。何が写っているかは自分で確かめる
  6. 学習前に再生して機械を検証する

腕の組み立てと部品の選び方は4万円台で腕を2本そろえる — SO-101の部品構成と、造形側で効いてくる判断(2026-09-08 公開)に、モデル側の全体像はロボット基盤モデルが生成AIに手を持たせた — 言葉で動く機械はどこまで来たのか(2026-09-07 公開)にまとめてある。

データが揃えば、次は学習である。ここでようやく、手元のGPUの出番が来る。

出典・参考

ブラウザだけでできる本格的なAI画像生成【ConoHa AI Canvas】
ABOUT ME
swiftwand
swiftwand
AIを使って、毎日の生活をもっと快適にするアイデアや将来像を発信しています。 初心者にもわかりやすく、すぐに取り入れられる実践的な情報をお届けします。 Sharing ideas and visions for a better daily life with AI. Practical tips that anyone can start using right away.
記事URLをコピーしました