
NVIDIA Isaac Simをインストールしてロボットシミュレーション環境を構築する
はじめに
過去の記事でも紹介している通り、現在クラスメソッドには2台のロボットがいます。(弊社のアイドルぴーたんを入れたら3台)
両方ともUnitree社の製品で、人型のG1と犬型のGo2です。
現在社内では私を含めた複数名の社員が、本記事で紹介するIsaac Simも使用しながら、これらのロボットを色々いじっています。
ロボット開発において、実機で試行錯誤する前にシミュレーション上で動作検証できることは非常に重要です。
NVIDIA Isaac Simは、仮想環境でロボットのシミュレーション・テスト・学習を行えるプラットフォームです。
本記事では、Ubuntu 24 + NVIDIA RTX 5090の環境にIsaac Simをインストールし、起動確認するまでの手順を解説します。
Isaac Simとは
NVIDIA Isaac Simは、Omniverseプラットフォーム上に構築されたシミュレーターです。
主な特徴は以下の通りです。
- PhysXによる物理的に正確なシミュレーション
- RTXテクノロジーによるリアルなセンサーシミュレーション
- OpenUSD形式でのロボット・環境モデル管理
- Isaac Labとの統合
- ROS 2との連携が可能
Isaac Simは、GitHubリポジトリ上のソースコードがApache 2.0ライセンスで公開されています。ビルド・実行に必要なOmniverse Kit SDKなどの追加コンポーネントには別途「NVIDIA Isaac Sim Additional Software and Materials License」が適用されますが、NVIDIA Developer Programに無料登録することでnon-production useであれば無料で利用できます。
一方、Omniverse Kitを含む形でIsaac Simを第三者に再配布したり、自社製品に組み込んで提供する場合には、別途NVIDIAとのライセンス契約が必要です。
今回試した環境
- OS: Ubuntu 24.04 LTS(x86_64)
- GPU: NVIDIA GeForce RTX 5090
- CPU: AMD Ryzen 7
- Isaac Simバージョン: 5.1.0
Isaac Simのインストール
ダウンロード
Isaac Simの公式ドキュメントのQuick Installページ、またはDownloadページからパッケージをダウンロードします。
Downloadページには各OS・アーキテクチャ向けのリンクが用意されています。今回はLinux (x86_64)版を選択しました(AMD/Intel CPUの場合はこちらです。aarch64はARM系CPU向けで、現時点ではDGX Sparkシステムのみサポート)。
なお、インストール方法はこの他にもpipパッケージやDockerコンテナなど複数あります。Dockerコンテナ版はリモートのヘッドレスサーバーやクラウドへのデプロイ向けで、GUI操作は十分にサポートされていません。ローカルマシンでGUIを使って操作する場合は、今回のようにzipパッケージを展開するWorkstation Installationが適しています。
展開とポストインストール
ダウンロードしたzipファイルを展開し、post_install.sh を実行します
unzip isaac-sim-standalone-5.1.0-linux-x86_64.zip
cd isaac-sim-standalone-5.1.0-linux-x86_64
./post_install.sh
実行すると、以下のような出力が表示されます。
Creating extension_examples symlink...
Symlink extension_examples created.
Installing Icon...
Writing Isaac Sim icon file to: ~/.local/share/applications/IsaacSim.desktop
起動方法
公式のQuick Installでは、post_install.shの後にApp Selectorを起動する手順が案内されています。
./isaac-sim.selector.sh
App Selectorでは実行モード(Isaac Sim Full、Full Streaming、Pythonなど)を選んでからIsaac Simを起動できます。初回起動時やモードを切り替えたい場合はこちらが便利です。
App Selectorを経由せず、Isaac Simを直接起動することもできます。
今回はこちらの方法で起動しました。
./isaac-sim.sh
初回起動時の注意点
初回起動時は諸々のアセット等のビルドや読み取りが行われるため時間がかかります。「"Isaac Sim 5.1.0"の応答がありません」というダイアログが繰り返し表示されますが、「応答を待つ」を選択し続けてください。これは正常な動作で、初回のみ発生します。2回目以降はキャッシュが効くため起動が高速化されますが、環境によっては時間がかかる場合もあります。
また、初回起動時にはEULA(使用許諾契約)への同意が求められます。
By installing or using Omniverse Kit, I agree to the terms of NVIDIA OMNIVERSE LICENSE AGREEMENT (EULA)
Do you accept the EULA? (Yes/No):
Yesと入力して進めてください。
ターミナルにIsaac Sim Full App is loaded.と表示されれば起動完了です。
Isaac Simの周辺技術
Isaac Simを使ったロボット開発のエコシステムを整理しておきます。
Omniverse
NVIDIAが提供する、産業デジタルツインやロボティクスシミュレーションなどを開発するためのライブラリ・マイクロサービス群です。OpenUSD、RTXレンダリング、物理シミュレーション(PhysX)などの技術を統合しています。Isaac SimはこのOmniverseのライブラリ上に構築されたリファレンスフレームワークという位置付けです。
Isaac Lab
Isaac Simの上に構築された強化学習・模倣学習・モーションプランニングなどのロボット学習のフレームワークです。ロボットの学習タスクの定義、並列環境での高速学習、シミュレーションから実機への適用(Sim-to-Real)などの機能を提供します。
ROS2
ロボット開発のミドルウェアです。Isaac SimとはROS2 Bridgeを通じて連携できます。ただし、すべての開発でROS2が必須というわけではなく、Pythonスクリプトによるスタンドアロン実行やIsaac Labを使った強化学習など、ROS2を介さずにロボットを制御する方法もあります。
シミュレーションから実機デプロイまでの流れ
Isaac Simを使ったロボット開発の一般的なワークフローは以下の4ステップです。
- シミュレーション環境の構築 — Isaac Sim上にロボットモデルと作業環境を構築する
- 学習 — 強化学習や模倣学習で訓練する。シミュレーションならどれだけ失敗しても壊れず、多くの環境をGPU上で並列に回して学習を高速化できる
- Sim-to-Realのギャップの低減 — ドメインランダマイゼーション等の手法を用いて、シミュレーションと現実の差を縮める
- 実機へのデプロイ — 学習済みモデルをNVIDIA Jetsonなどのエッジコンピュータに載せ、センサー入力→ポリシー推論→行動指令のループを実機上で回す
まとめ
Isaac Simをインストールし、起動確認するまでの手順を紹介しました。
次の記事では、Isaac Lab環境を構築し、Unitree G1のシミュレーションを起動するところまでを解説します。









