「LeIsaac」入門:シミュレーションでのデータ収集からポリシー学習まで
はじめに
こんにちは、松尾研究所でデータサイエンティストをしている力岡です。
近年、ロボティクス領域におけるAIの発展が目覚ましいですが、中でもシミュレーション環境でのデータ生成と実機への移行は非常に重要なテーマになっています。
今回ご紹介する 「LeIsaac」は、Hugging Faceのオープンソースライブラリ「LeRobot」と、NVIDIAのロボットシミュレータ「Isaac Sim / Isaac Lab」をうまく繋いでくれるフレームワーク で、シミュレーション上のロボットと実機をほぼ同じ手順で扱うことができます。本記事では、LeIsaac の概要やアーキテクチャの仕組みを整理しつつ、実際にデータ収集からポリシー学習・評価まで一通り試してみた結果と気づきもあわせて、ご紹介していきたいと思います。
1. LeIsaacとは
LeIsaac は、Lightwheel AI社が開発しているオープンソースのロボット研究用フレームワークです。
その最大の特徴は、Hugging Faceの「LeRobot」と NVIDIAの「Isaac Lab」をシームレスに結合するパイプラインを提供している点です。
LeRobot / Isaac Lab とは?
【LeRobot】
Hugging Face を中心に開発されているオープンソースのロボット学習ライブラリ。データセット形式(LeRobot Dataset)から、ACT・Diffusion Policy・SmolVLA・π0 などの主要ポリシーまで、模倣学習に必要な要素が一通り揃っている。
【Isaac Lab】
NVIDIA が提供するロボット学習向けのシミュレーション基盤。Isaac Sim(Omniverse ベースの物理シミュレータ)の上で、強化学習・模倣学習用の標準環境やテレオペ用のインターフェースを利用できる。
ここでは便宜上、LeIsaac の機能を以下の3つの層(レイヤー)に整理して捉えて整理してみます。
-
シミュレーション層(Isaac Lab)
- タスクや環境の定義、物理ベースシミュレーションの実行
-
連携・データ生成層(LeIsaacのコア機能)
- 実機デバイスからのテレオペレーション入力をシミュレーションにマッピング
- 画像とロボットの状態を同期させたデータセットの記録と、LeRobot 規格への自動変換
-
学習・デプロイ層(LeRobot)
- 模倣学習(ACT、Diffusion Policy など)や、各種 VLA モデルの FT
- 学習済みモデルの推論によるシミュレーション/実機での評価

LeIsaac の全体構成イメージ
2. LeIsaac を支える技術要素と裏側の仕組み
LeIsaac は、Isaac Sim と LeRobot を単に接続するだけでなく、ロボット学習を簡易的かつ確実に実施するための機能を提供します。例えば、実世界の操作をシミュレーションへ反映する入力インターフェースや、フレーム同期・データ保存 / LeRobot Dataset 形式への変換機能などを備えています。
本章では、これらの機能がどのように構成され、ロボット学習のワークフローをどのように支えているのかを解説します。
2.1 多様な入力インターフェースとデジタルツイン制御
LeIsaac は、実世界の動きをシミュレーション上のロボットにマッピングするため、複数の入力デバイスをサポートしています。公式のテレオペレーションドキュメントでは、so101leader, lekiwi-leader, keyboard, gamepad といったデバイスが利用可能であると案内されています。

左図: SO-ARM(引用元) 右図: Lekiwi(引用元)
- 実機リーダーアーム:実機の関節角度を USB シリアル通信経由でリアルタイムに読み取り、シミュレーション空間のロボットへ関節空間でマッピングします。これにより、ローカルPC上で実機と同等の操作感をもつ「デジタルツイン制御」が成立します。
- キーボード・ゲームパッド:キーボード/ゲームパッドによる相対位置制御にも対応しており、ハードウェアが手元になくても操作データの収集が可能です。
2.2 高精度なデータ収集と同期メカニズム
VLA モデルや ACT の学習において「データの時間的・空間的なズレ」は致命的です。例えば、同じ時刻のはずの「正面カメラ画像」「手先カメラ画像」「関節角」「グリッパ状態」が数フレームずれるだけで、モデルは誤った対応関係を学習してしまいます。本来は「指先が物体に触れた瞬間にグリッパを閉じる」動作でも、画像や関節状態がずれていると、「まだ届いていないのに閉じる」「接触しているのに閉じない」といったデータに見えてしまい、学習後のポリシーが空振りしたり、把持タイミングを逃したりする原因になります。
そこで、LeIsaac では、厳密なフレーム同期を行いながらシミュレーションを回します。具体的には、複数視点のRGB画像とジョイント状態をフレーム単位でアライメントし、HDF5 形式で高速に保存します。また、変換スクリプトを挟まずに直接 LeRobot Dataset 形式で記録することも可能です。
3. 対応タスク
LeIsaac では、あらかじめ定義された様々なタスクが利用可能です。
主なタスク環境
- Pick Orange:3個のオレンジを皿に乗せる
- Lift Cube:赤いキューブを持ち上げる
- Clean Toy Table:文字ブロックを箱に入れる
- Fold Cloth:服を折りたたむ
- Cleanup Trash:床のゴミをゴミ箱へ運ぶ

Pick Orange:3個のオレンジを皿に乗せる(引用元)

Cleanup Trash:LeKiwi が床のゴミをゴミ箱へ運ぶ(引用元)
4. シミュレーションでのデータ収集方法
データを集めるアプローチとして、LeIsaac には以下の2つの手段が用意されています。
① テレオペレーションによる手動収集
前述したリーダーアームやキーボードなどを用いて、人間がデモンストレーションを行います。自然な軌道と文脈を持った「質の高い操作データ」を集めるためのベースとなります。
テレオペレーションでは、単にタスクを成功させるだけでなく、学習に使いやすいデモンストレーションを収集することが重要です。例えば、把持対象をカメラの中心に捉える、真上から垂直にアプローチするなど、視覚情報と操作の対応関係が分かりやすい軌道を意識します。さらに、物体への接近角度、把持位置、操作速度に適度なバリエーションを持たせながら成功例を集めることで、モデルは特定の軌道を丸暗記するのではなく、状況に応じた操作方策を学習しやすくなります。

リーダーアームによるテレオペレーションの様子
② ステートマシンによる自動生成
LeIsaac の datagen モジュールを利用すると、有限状態マシン(FSM:Finite State Machine)によるデータ生成ロジックをプログラムとして定義できます。例えば、「対象物に近づく」→「掴む」→「目的座標へ移動する」→「離す」といった一連の状態を用意し、各状態で満たすべき条件や、次の状態へ遷移する条件を設定します。
FSM による自動生成では、ロボットの行動は基本的にルールベースで決まります。一方で、エピソードごとに初期物体位置や目標位置などがランダム化されるため、同じタスクであっても異なる軌道や見た目のデータを生成できます。LeIsaac では、こうしたランダム化の仕組みがデフォルトで実装されており、手動操作だけでは集めにくい多様なデータを効率的に収集できます。

ステートマシンによる自動データ生成の様子
5. 実験:Pick Orange タスクの学習と評価
今回、実際に LeIsaac を用いて Pick Orange(3個のオレンジを皿に載せる) タスクのデータ収集からポリシー学習、シミュレーション評価までを一貫して行う実験を行いました。
実験条件
- 学習手法:ACT(Action Chunking Transformer)
- 学習ステップ数:100,000 steps
- カメラ配置:手首カメラ(Wrist)、上部カメラ(Top)
- 評価方法:試行回数10回の成功率
ACT とは?
ACTでは、状態に対して単発の行動を出力するのではなく、まとまった行動のチャンクを一括して生成することで、誤差の蓄積や分布のシフトに強い方策を構築します。また、Transformerアーキテクチャを活用することで、行動シーケンス全体における長期依存関係を効果的に捉えることが可能です。
ACTの最大の特徴は、1ステップ先だけを予測するのではなく、複数ステップ先のアクション列を「チャンク」としてまとめて予測する点です。たとえば、10秒間(500ステップ)のタスクで、100ステップ分のチャンクを一度に出力すれば、制御の決定は5回だけで済みます。これにより、タスク全体を俯瞰しながら動作を計画でき、誤差が蓄積しにくくなります。

ACTはこうしたチャンク予測を支えるために、条件付き変分オートエンコーダ(Conditional Variational Autoencoder: CVAE) と Transformer を組み合わせたアーキテクチャを採用しています。モデルは大きく「エンコーダ」と「デコーダ」に分かれています。エンコーダは人間のデモンストレーションから得られた複数タイムステップ分の観測情報とアクション系列を入力として受け取り、それらを潜在変数

入力としては、ロボットの周囲を捉える複数台のRGBカメラ画像(例:4台の480×640ピクセル)と関節角度が用いられます。画像はまずCNN(ResNet18など)によって高次の特徴ベクトルに変換され、位置エンベディングを付与されます。また、関節状態も埋め込みベクトルに変換され、Transformerエンコーダに入力されます。CVAEのエンコーダは、これらと実際のアクション列を組み合わせて潜在空間を学習し、潜在変数の分布を推定します。推論時はこの潜在変数を0に固定することで、決定論的かつ安定した行動生成が可能になります。
一方、アクションチャンクを長くすると、生成後に環境が変化した際、行動修正が遅れるリスクがあります。また、チャンクの切り替えがうまくいかないと、動きが途切れたり不自然になったりする恐れもあります。
これを補うため、ACTでは 「時間的アンサンブル(Temporal Ensembling)」 が導入されています。これは、毎タイムステップで最新の観測から新たなチャンクを再予測し、直近の複数チャンクを重み付けして平均化する仕組みです。最新の予測を最も重視しつつ、直前の計画も滑らかに反映することで、環境の変化に柔軟に対応しながら一貫性ある制御を実現します。

さらに詳しく知りたい方は、以下の記事も参考になります。
データ収集条件は以下の3パターンで比較しました。
- テレオペのみ:手動で30エピソード収集
- ステートマシンのみ:自動で30または60エピソード生成
- テレオペ & ステートマシン:手動30エピソード + 自動30エピソード
使用したハードウェア
モデルの学習には、自宅のゲーム用デスクトップPCを使用しました。以下はハードウェア構成の詳細です。
- CPU: Intel(R) Core(TM) i7-13700F
- GPU: NVIDIA GeForce RTX 4070 Ti(VRAM: 12GB)
実験結果
| 収集方法 | エピソード数 | 成功率 (10試行中) |
|---|---|---|
| テレオペ | 30 | 20% (2 / 10) |
| ステートマシン | 30 | 0% (0 / 10) |
| ステートマシン | 60 | 0% (0 / 10) |
| テレオペ & ステートマシン | 30 + 30 | 40% (4 / 10) |
手動のテレオペデータのみでは成功率20%でしたが、ステートマシンのみのデータ(30ep / 60ep)で学習したモデルは全くタスクを成功させることができませんでした。一方で、テレオペデータとステートマシンデータを組み合わせた場合、成功率が40%までと向上しました。

テレオペ+ステートマシン併用で学習したモデルの推論結果(成功例)

ステートマシンのみで学習したモデルの推論結果(失敗例)
6. 結果分析と考察
ステートマシン単体のデータで精度が伸びなかった理由について、実際に自動生成されたサンプルデータを一本ずつ確認しながら考察したところ、以下の課題が見えてきました。

ステートマシンで自動生成された軌道の例
課題1:ロボットの挙動(軌道)の不自然さ
自動生成データを再生してみると、オレンジに対して斜めからアプローチするような、不自然な挙動が目立っていました。原因を調べてみると、ステートマシンの状態遷移プログラム上で移動経路が単純な最短経路として計算されるため、「オレンジの現在位置の真上を経由してアプローチする」といった通過点(ウェイポイント)が含まれていないことが分かりました。これがモデルにとって学習しづらいノイズになっていたと考えられます。
課題2:成功判定の甘さによるノイズデータの混入
オレンジが3つすべてお皿に載っていないにもかかわらず「成功」として記録されているケースが10%程度含まれていることに気づきました。成功判定ロジックを詳しく見てみると、「3つのオレンジが判定エリア内(お皿の正しい高さと範囲のボックス内)に収まっているか」という単純な空間判定になっており、判定基準がかなり甘くなっていました。その結果、オレンジが実際にはお皿に載っていなくても、お皿のすぐ近くに落ちているだけで誤判定され、「失敗した軌道なのに成功データとして記録・学習される」ケースが発生していたと考えられます。
今後のベストプラクティス
今回の検証から、LeIsaac 利用におけるデータ収集戦略が見えてきました。
-
基本的な動作の獲得には「テレオペレーション」を軸にする
人間が操作する自然で滑らかな軌道は、モデル(特に模倣学習)が基本動作の意図を学習する上で不可欠です。 -
「ステートマシンの自動生成」は、ドメインランダマイゼーションの拡張材として使う
ドメインランダマイゼーションは、ロボット学習において環境差分への汎化を高めるためによく用いられるアプローチです。自動生成されたデータは、テクスチャ、ライティング、物体配置などのバリエーションを増やす補助データとして活用することで、成功率アップに寄与します。 -
自動生成スクリプトは「モデルの学習しやすさ」と「厳密なフィルタリング」が命
単純な最短経路ではなく、モデルが学習しやすい自然なウェイポイントをプログラムで設計する必要があります。また、少しでも条件を満たさないノイズデータを除外するため、物理的な接触判定などを絡めた厳密な成功条件(フィルタリング)が重要です。
おわりに
今回は「LeIsaac」の概要から裏側のアーキテクチャ、そして実際のシミュレーション環境での実験・考察までをご紹介しました。
ローカル PC とシミュレーション環境だけで、ロボットのデジタルツインを構築し、LeRobot のポリシー(ACT・Diffusion Policy など)のファインチューニングループまで回せるのは非常に強力です。実際に手を動かしてみると、「テレオペデータの自然さ」と「自動生成データの量」のどちらに偏りすぎても上手くいかず、両者を組み合わせていく難しさと面白さを改めて実感しました。
最後までお読みいただき、ありがとうございました。
Discussion