TEAMZ
ブログ一覧へ戻る
技術ブログ2026-04-18

Isaac Simで強化学習 — 四脚ロボットの不整地歩行を8時間で実現した全記録

この記事で得られること


  • Isaac Simでロボット歩行ポリシーを開発する具体的な手順と、プロジェクト全体の流れ
  • 報酬設計で7回失敗して学んだ教訓 局所解を突破するための実践的なテクニック
  • 2,048体並列学習の仕組みと、なぜ8時間で実用レベルに到達できたのか
  • シミュレーションから実機に移す際の**Sim-to-Realギャップ対策**

  • すべて受託開発の現場で実際に得た知見です。Isaac Simでの強化学習を検討されている方の参考になれば幸いです。


    プロジェクトの背景——「不整地で歩けるロボット」が求められている


    建設現場の瓦礫、プラントの配管周り、災害現場の倒壊物——**実世界の地面は平らではありません。**


    ところが、多くの産業用ロボットに搭載されているメーカー標準の歩行コントローラーは、平坦な床での動作を前提に設計されています。段差に突っ込めば止まり、傾斜では滑る。


    「不整地に対応した歩行ポリシーがほしい」——これが本プロジェクトの出発点でした。


    対象:Unitree B2-W(車輪付き四脚ロボット・16自由度)


    Unitree B2-W

    車輪+脚のハイブリッド四脚ロボット

    脚12関節+車輪4輪 = 16自由度

    想定用途:建設現場、プラント巡回、屋外点検

    解決すべき課題

    メーカーポリシーは平地専用

    ホイールだけでは段差を越えられない

    脚と車輪を地形に応じてリアルタイムに協調させる制御が必要


    このロボットの難しさは「脚も車輪もある」ことです。平地ではホイールが速い。段差では脚を使うべき。では凹凸の坂道は?——**「いつ脚を使い、いつ車輪を使い、いつ両方を組み合わせるか」**を地形に応じてリアルタイムに判断する制御が求められます。


    なぜ強化学習か——ルールベースでは書ききれない


    「段差が来たら脚を上げる」とルールを書けばいいのでは? そう思われるかもしれません。しかし実務で試みると、以下の壁にすぐぶつかります。


  • 地形パターンが無限にある。 段差の高さ、角度、路面の摩擦係数、複合地形の組み合わせ——条件分岐では到底追いつかない
  • 16自由度の協調制御。 脚12関節+車輪4輪を毎秒50回のループで同期させる。制御が1フレームでも遅れれば転倒する
  • 「うまくいく」の定義が曖昧。 転ばなければいいのか、速ければいいのか、エネルギー効率か——複数の目標をバランスするルールは人間には設計しきれない

  • 強化学習なら、これらの問題をシミュレーション上で力技に近い形で解けます。**2,048体のロボットを同時に走らせ、数千パターンの地形を体験させ、報酬関数で「良い歩き方」を数値定義する。** あとはGPUが最適解を見つけてくれます。


    開発環境——NVIDIA Isaac Sim × RunPod


    シミュレータ

    NVIDIA Isaac Sim 5.1

    PhysXベースのGPU物理演算

    学習フレームワーク

    Isaac Lab + RSL-RL

    PPO(Proximal Policy Optimization)

    GPU

    RTX PRO 6000 Blackwell

    96GB VRAM / RunPod


    Isaac Simを選んだ理由は**GPU並列シミュレーション**です。CPUベースのGazebo等では1体ずつしか動かせませんが、Isaac Simなら1GPU上で2,048体のロボットを同時に物理シミュレーションできます。地形もランダム生成で毎回異なるパターンを配置。これにより、実機では数年かかる試行錯誤が**1回の学習セッション(約8時間)に圧縮**されます。


    クラウドGPUにはRunPodを使いました。NVIDIA RTX PRO 6000(96GB VRAM)を時間課金で借り、SSHでアクセスして学習を実行。自社でGPUサーバーを持たなくても、必要な時だけ強力な計算環境が使えます。


    学習の進行——8時間で起きたこと


    学習開始時、2,048体のロボットは全員転倒します。関節をランダムに動かすだけなので当然です。


    しかし報酬関数が「前に進め」「転ぶな」「姿勢を保て」と方向を示し続けることで、ポリシーは段階的に進化していきます。


    1

    Step 0 — 全員転倒

    ランダムな関節指令で即座に転倒。報酬はほぼゼロ。ここからすべてが始まる。

    2

    Step 34K — 一部が立つ

    2,048体中の一部がバランスを保ち始める。「upward報酬」が姿勢を上向きに誘導。

    3

    Step 44K — 歩き始める

    前進報酬が効き始め、多くのロボットが不整地上で歩行を開始。カリキュラムの地形レベルが段階的に上昇。

    4

    Step 94K — 安定歩行達成

    階段・坂道・凹凸地形をクリア。生存率100%。報酬+233で安定収束。


    報酬設計——7回失敗して見つけた原則


    ここが本記事で**最もお伝えしたい部分**です。


    強化学習の論文やチュートリアルでは「報酬関数を設計する」と一言で片付けられますが、実務では**ここが最も時間がかかり、最も知見が溜まる工程**です。


    本プロジェクトでは報酬設計をv2からv7まで**7回やり直しました。** 以下は実際にハマった局所解と、それぞれの解決策です。


    ハマった局所解根本原因解決策
    立つが前進しない体高ペナルティの過剰付与。「倒れるな」が「動くな」に化けたupward報酬に転換。ペナルティではなく「上を向いたら加点」で誘導
    転倒すると学習が進まない転倒即エピソード終了で、挑戦的な行動が淘汰された転倒許容設計。転んでもペナルティのみ、エピソードは継続
    車輪を使わず脚だけで移動脚と車輪に同じ報酬を割り当てていた独立報酬。脚は静止ペナルティ→車輪駆動を促進
    Sim上では動くが実機で崩壊シミュレータ内部の速度値に依存Blind Policy。直線速度を観測から除外し、実機センサのみで制御


    特筆すべきは**「転倒許容設計」**の効果です。


    一般的に、ロボットの強化学習では転倒したらエピソードを即終了させます。理にかなっているように見えますが、これには副作用があります。ポリシーが「転倒しない=動かない」という安全策を学習してしまい、**いつまでも挑戦的な行動を取らなくなる**のです。


    私たちはエピソード即終了をやめ、転倒してもペナルティを与えつつ学習を続行するよう設計変更しました。すると、ポリシーは「転んでも起き上がり、再び前進する」という行動を学習し始めました。**失敗を許容することで、成功の確率が上がる。** 人間の学習と似ています。


    成果——数字で見る


    100%

    生存率

    全エピソードで転倒なし

    約8h

    学習完了時間

    2,048並列 × RTX PRO 6000

    Lv 6/10

    地形カリキュラム

    階段・坂道・凹凸を走破


  • 平均報酬 +233(安定した右肩上がりで収束)
  • 出力形式 ONNX / TorchScript(エッジデバイス対応)
  • 制御周波数 50Hz(実機と同一レート)

  • Sim-to-Real——シミュレーションを実機につなぐ設計


    シミュレーションでうまく動いても、実機で再現できなければ意味がありません。このギャップ(Sim-to-Realギャップ)を最小化するために、学習段階から以下を組み込んでいます。


  • Blind Policy シミュレータ内部でしか取得できない「真の速度」を観測から除外。IMU・関節角度など実機のセンサだけで動くポリシーを学習させる
  • 制御周波数の一致 学習時も推論時も50Hz。フレームレートの不一致による挙動変化を排除
  • ONNX出力 学習済みモデルをJetson等のエッジデバイスに直接デプロイ可能

  • この手法をヒューマノイドにも展開した


    B2-Wで確立した設計原則——転倒許容・Blind Policy・カリキュラム学習——は、その後**29自由度のヒューマノイドロボット Unitree G1**にも展開しました。


    G1では最新のオフポリシー手法FastSACを採用し、PPOでは10時間回しても到達できなかった不整地歩行を**わずか約15分**で達成。150〜400Nの外力にも耐えるPush Recovery能力も確認しています。


    G1ヒューマノイドの開発事例を見る →


    まとめ——Isaac Sim × 強化学習で「歩けないロボット」を変える


    本プロジェクトを通じて、いくつかの実務的な教訓が得られました。


  • 報酬設計は1回で決まらない。 7回の試行錯誤はムダではなく、ロボットの特性を理解するプロセスそのもの
  • 失敗を許容する設計が成功を生む。 転倒即終了をやめたことが最大のブレイクスルーだった
  • 並列シミュレーションが開発速度を決める。 2,048体並列がなければ、この成果は数週間かかっていた
  • Sim-to-Realは学習時に設計する。 後付けでは対処できない。Blind Policyのように、最初から実機を見据えた設計が必要

  • Isaac Simでの強化学習開発を検討されている方へ


    「自社のロボットでも試したい」「環境構築から相談したい」「PoCの費用感を知りたい」——そうした段階からのご相談を歓迎しています。


    チームゼットでは、**Isaac Simのシミュレーション環境構築、報酬設計、強化学習の実行、Sim-to-Real対策**まで、ワンストップで受託開発しています。最短1ヶ月のPoCからスタート可能です。


    フィジカルAI開発の無料相談を申し込む →

    フィジカルAI・ROS2開発のご相談

    この記事で紹介した技術を活用したロボット開発に興味はありませんか?最短1ヶ月のPoCから対応可能です。

    AI Concierge

    Online
    Team-Z AIコンシェルジュです。ROS2を用いたロボティクス開発、AIを活用したシステム構築、エンジニアの技術支援(SES)についてご案内します。どのような課題をお持ちですか?

    Powered by TEAM Z AI