Isaac Sim(アイザック・シム)は、NVIDIAがOmniverseの技術を土台に作ったロボット向けシミュレータです。物理演算、カメラやLiDARの再現、学習用の合成データ生成、ROS 2との接続を1つのアプリで扱えます。2025年にソースコードがApache 2.0でGitHubに公開され、2026年10月時点の正式版は6.2.0(2026年10月14日公開)です。
この記事では、無料で使える範囲と別契約が要る境界、必要なGPU、導入方法、Isaac Labとの関係、GazeboやMuJoCoとの選び分けを、NVIDIAの公式ドキュメントとGitHubの記載をもとに整理します。MacでのインストールとLinux向けの依存解決は、手元で実際に試した結果も載せています。
まとめ:Isaac Simの要点(2026年10月時点)
- 現行版は6.2.0(GitHub 2026年10月14日)。Kit SDK 110.4を基盤に、PhysXに加えてNewton物理エンジンを実験的に統合しています。6.2ではUbuntu 22.04のサポートが非推奨になりました。7.0.0a1はKitに依存しない新構成のアルファ版で、公式は本番利用しないよう明記しています。
- 社内の研究開発なら無料。ソースはApache 2.0、実行に必要なOmniverse Kitやアセットは別ライセンスという2層構造で、Isaac Simの公式FAQは、Kitを含めて第三者に配布する場合とサービスとして提供する場合だけNVIDIA AI Enterpriseを必須としています。ただしOmniverse側の案内は再配布も無償としており、公式文書間で食い違っています。
- GPUはRTコア付きのNVIDIA RTXが必須。最小構成はGeForce RTX 4080・VRAM 16GB・メモリ32GBで、A100とH100は非対応です。Arm機はDGX Sparkだけが対応し、macOS版はありません。
- 導入はpip・ZIP・コンテナ・ソースビルドの4通り。2025年10月1日にOmniverse Launcherの提供が終わったため、Launcher前提の古い手順は使えません。
- 強化学習はIsaac Labで行う。2026年10月20日に正式版になったIsaac Lab 3.0.0はIsaac Sim 6.2に対応し、NewtonやOVPhysX・OVRTXのバックエンドを選べばIsaac Simを入れずに学習を回せます。ROS 2ブリッジなどIsaac Sim固有の機能を使わない学習では、Isaac Simの導入を後回しにできます。
以下、製品群の中での位置づけから順に、根拠と手順を示します。
Isaac Simの定義とNVIDIA Isaac製品群での位置
OmniverseとIsaac Simの違い:基盤とアプリの関係
Omniverseは3D空間を記述・描画・共同編集するためのNVIDIAの開発基盤で、Isaac SimはOmniverse Kit SDKの上に作られたロボット専用のアプリです。GitHubのREADMEは自らを「NVIDIA Omniverse上に構築されたシミュレーションプラットフォーム」と説明しています。シーンはすべてOpenUSD(Universal Scene Description)で保存されるため、工場や倉庫の3Dデータを他のOmniverse対応ツールと同じ形式でやり取りできます。
「Omniverse Isaac Sim」という呼び方は、Omniverse Launcherから起動していた時代の名残です。Launcherは2025年10月1日に提供を終えており、現在のIsaac Simは単独のアプリとしてpipやZIP、コンテナで配布されています。
Isaac Sim・Isaac Lab・Isaac ROSの役割分担
NVIDIAはロボット関連のソフトウェアに「Isaac」の名前を付けています。名前が似ているため混同されがちですが、担う工程が違います。
| 名称 | 役割 | 最新版(2026年10月) | ライセンス |
|---|---|---|---|
| Isaac Sim | シミュレーション・合成データ生成 | 6.2.0 | Apache 2.0+追加コンポーネント |
| Isaac Lab | 強化学習・模倣学習 | 3.0.0 | BSD-3 |
| Isaac ROS | 実機向けGPU高速化ROS 2パッケージ | 5.0(isaac_ros_common) | NVIDIA Isaac ROS Software License |
Isaac Sim 6.2のリリースノートは、Isaac ROS 5.0との互換性を記載しています。基本の流れは、Isaac Simで仮想環境を作り、Isaac Labで制御方策を学習させ、Isaac ROSを使ってJetsonなどの実機に載せるというものです。3つを同時に入れる必要はありません。最初はIsaac Sim単体でロボットを動かし、学習が必要になった段階でIsaac Labを足す順番で困りません。
Isaac Simの版の変遷:4.5から6.2、7.0アルファまで
Isaac Simは1年で2回メジャー版が上がり、そのたびにPythonの版や導入方法が変わっています。ネット上の手順記事を読むときは、どの版を前提にしているかを最初に確かめてください。
| 版 | 公開日 | Python | 主な変化 |
|---|---|---|---|
| 4.5.0 | 2025年1月(PyPI) | 3.10 | Launcher配布時代の最終系 |
| 5.0.0 | 2025年8月8日 | 3.11 | ソースをGitHubでApache 2.0公開 |
| 5.1.0 | 2025年10月21日 | 3.11 | 5.0系の更新 |
| 6.0.0 | 2026年6月4日 | 3.12 | Kit 110.1・Newtonを実験統合 |
| 6.1.0 | 2026年9月10日 | 3.12 | Kit 110.3・ROS 2 Control統合 |
| 6.2.0 | 2026年10月14日 | 3.12 | Kit 110.4・Newton 1.6.1・Cortex削除 |
| 7.0.0a1 | 2026年9月18日 | 3.12 | Kit非依存の新構成(アルファ) |
公開日はGitHubのリリース一覧の日付、PythonはPyPIのrequires_pythonの値です。GitHubリポジトリの最初のコミットは2025年6月11日の「Initial commit RC.21」で、5.0のリリース候補の段階からソースが公開されていました。
Isaac Sim 6.2.0の変更点と6.x系の移行で直す箇所
6.2.0のリリースノートのうち、既存のスクリプトや環境に影響するのは次の5点です。
- Ubuntu 22.04が非推奨に:動作要件のページに「Ubuntu 22.04 support in Isaac Sim is deprecated」と警告が入り、将来の版で外す予定と明記されました。これから環境を作るならUbuntu 24.04を選びます。
- Cortexの削除:意思決定フレームワークのCortex拡張とドキュメントが消え、
RMPflowCortexの登録も外れました。Cortexのサンプルを土台にしたコードは、RMPflowなどの方策と自前の手順制御に書き換える必要があります。 - パッケージの分割:URDFのエクスポーター、URDF・MJCFのインポーターは独立した
isaacsim-asset、制御器とcuMotionはisaacsim-robot-motionのwheelから読み込まれるようになりました。公開APIとimportのパスは変わっていません。 - センサー値の取り方:
get_sensor_reading()はセンサーのバッファをそのまま返すのをやめ、その時点の値のコピーを返します。値が更新されると思って同じオブジェクトを読み続けるコードは、毎回取り直すか、新設のget_sensor_reading_view()に切り替えます。 - ROS 2の関節名:ROS 2のシミュレーション制御は、ロボットスキーマに定義した関節名を優先して使います。従来の名前解決は残っていますが、非推奨の警告が出ます。
物理まわりではNewtonが1.6.1(MuJoCo Warp 3.12.0)に上がり、ロボットのモデルを実機の測定値に合わせるSystem Identification拡張に検証用の再生機能が加わりました。この使い方は後述の「シミュレーションと実機の差を詰める方法」で扱います。
6.0・6.1から6.2へ上げる場合は、上の5点に加えて6.1での変更も確認してください。6.1ではNewton統合が1.5.0に上がってVBD(Vertex Block Descent)とXPBD(Extended Position-Based Dynamics)のソルバーに対応し(XPBDの考え方はPBD(Position Based Dynamics)とXPBDの解説を参照)、ros2_controlをIsaac Simのプロセス内で動かすisaacsim.ros2.control拡張が入りました。ロボットアセットの参照先はIsaac/Robots/からIsaac/Robots_Multiphysics/に、C++ヘッダの拡張子は.hから.hppに変わっています。
6.0ではisaacsim.sensors.cameraやisaacsim.sensors.rtxなどのセンサー拡張が非推奨になり、isaacsim.sensors.experimental系のAPIへ移行が始まっています。5.x系のチュートリアルをそのまま6.2で動かすと、この差で警告やエラーが出ることがあります。
Isaac Sim 7.0.0a1の未提供機能と本番利用の制限
7.0.0a1は、Omniverse Kitに依存しないAPIでシーンの読み込みと物理の時間進行を行う新しい構成のアルファ版です。公式の説明は「シーン作成とロボットのリギング、合成データ生成、SIL(ソフトウェア・イン・ザ・ループ)テストはまだ提供していない」とし、「Do not use this release in production.」と明記しています。業務で使うのは6.2.0で、7.0は動向を追う対象と考えてください。
Isaac Simのライセンスと料金:無料の範囲と別契約が要る場面
ソースとOmniverse Kitで分かれる2層のライセンス
「Apache 2.0でオープンソース化された」とだけ理解していると、配布の場面で判断を誤ります。v6.2.0のLICENSEファイルの冒頭には、ソースはApache 2.0だが、ビルドや実行にはOmniverse Kit SDKや3Dモデル、テクスチャなど別条件の追加コンポーネントが必要だと書かれています。
| 対象 | ライセンス | 改変 | 再配布 |
|---|---|---|---|
| GitHubのソースコード | Apache 2.0 | 可 | 可(Apache 2.0の条件内) |
| Omniverse Kit SDK | Additional Software and Materials License | 不可 | 不可(別契約) |
| NVIDIA提供の3Dモデル・テクスチャ | Additional Software and Materials License | 不可 | 不可 |
追加コンポーネントのライセンス(最終改定2025年6月9日)は、利用を「NVIDIA GPUを搭載したシステム」に限り、改変・再配布・リバースエンジニアリングを禁じています。Omniverse KitをIsaac SimやIsaac Lab以外の用途に使うことも対象外です。pipで配られるisaacsimパッケージがPyPI上で「NVIDIA Proprietary Software」と表示されるのは、このKit部分を含むためです。
商用利用で無料のケースと別契約が必要なケース
Isaac Sim 6.2の公式License FAQは、社内の研究開発には無料で使えるとし、例外を具体的に挙げています。利用人数や席数の上限もありません。
| 使い方 | NVIDIA AI Enterprise |
|---|---|
| 社内の研究開発・検証 | 不要 |
| 社内で回したシミュレーションの動画・レポート・データセットを販売 | 不要 |
| 自作のPythonコードとUSDアセットを販売(客先が自前のIsaac Simで動かす) | 不要 |
| Isaac Sim(Kit込み)を自社アプリに同梱して第三者に配布 | 必要 |
| Isaac Sim(Kit込み)を第三者にサービスとして提供 | 必要 |
| 客先のハードにIsaac Sim一式を構築して納品(ターンキー) | 必要 |
受託開発の会社にとって分かれ目になるのは最後の行です。シミュレーション結果や自作コードを納めるだけなら無料の範囲に収まりますが、客先にIsaac Simを入れて動く状態で引き渡すと、Kitの再配布にあたるとFAQは説明しています。
一方で、Omniverse側のライセンス案内ページは「2026年5月から、Omniverseは開発にも本番にもNVIDIA AI Enterpriseなしで無償で使え、Omniverseで作ったソフトウェアは同じ条件で自由に再配布できる」としています。この案内は2026年10月21日にも更新されていますが、同月14日に公開されたIsaac Sim 6.2のFAQは6.1から変わらずNVIDIA AI Enterpriseを必須としており、追加コンポーネントのライセンス本文もこの変更を反映していません(2026年10月24日に確認)。第三者への配布やサービス提供を計画しているなら、どちらの記載が優先するかをNVIDIAか販売代理店に書面で確認してから進めるのが安全です。
クラウドで使う場合の費用と初回のEULA同意
Isaac Sim自体の料金はかかりませんが、クラウドで動かすとGPUインスタンスの費用は別にかかります。公式FAQはAWS EC2について、開発・研究目的なら無料でデプロイできるが、EC2の利用料は支払いが必要だと書いています。
実行時にはNVIDIA Omniverse License Agreement(EULA)への同意が求められます。pip版では初回のimport isaacsimで同意を尋ねるプロンプトが出て、拒否すると処理が終了します。CIのように対話できない環境では、環境変数OMNI_KIT_ACCEPT_EULA=YESを設定しておきます。
Isaac Simの動作要件:GPU・VRAM・OS・ドライバ
6.2のx86_64向け要件は次のとおりです。数値は6.1から変わっていません。公式のIsaac Sim Requirementsは3段階で示しています。
| 項目 | 最小 | 推奨(Good) | 理想(Ideal) |
|---|---|---|---|
| OS | Ubuntu 22.04/24.04、Windows 11 | 同左 | 同左 |
| GPU | GeForce RTX 4080 | GeForce RTX 5080 | RTX PRO 6000 Blackwell |
| VRAM | 16GB | 16GB | 48GB |
| CPU | Core i7 第7世代 / Ryzen 5、4コア | Core i7 第9世代 / Ryzen 7、8コア | Core i9 / Ryzen 9、16コア |
| メモリ | 32GB | 64GB | 64GB |
| ストレージ | 50GB SSD | 500GB SSD | 1TB NVMe SSD |
| 検証済みドライバ | Linux 595.58.03 / Windows 595.97 | 同左 | 同左 |
公式の注記では、VRAMが16GB未満のGPUは1フレームあたり16メガピクセルを超える複雑なシーンの描画に足りない場合があります。センサーを多数使うワークフローは特に影響を受け、最小構成を下回るGPUでは一部のチュートリアルやベンチマークが動かないとされています。Isaac Labで学習まで行う場合は、さらにメモリとVRAMが必要です。
データセンター向けGPUでは、READMEが最小A40、推奨L40S、最上位RTX PRO 6000 Blackwell Serverを挙げています。ワークステーションGPUを比べるなら、RTX PRO 4500 Blackwellのベンチマークと選び方も参考になります。
Isaac Simが動かない環境
次の環境は公式に非対応です。GPU購入やPC選定の前に確認してください。
- RTコアを持たないGPU:A100とH100は名指しで非対応とされています。AI学習用のサーバーにIsaac Simを載せようとして詰まる典型例です。
- macOS:6.2のpipパッケージはLinux(manylinux_2_35のx86_64とaarch64)とWindows(win_amd64)向けのファイルしかPyPIに置かれていません。Apple Silicon・Intelを問わずMacでは動きません。実際にMacで試した結果は次の節に載せています。
- Windows 10:Microsoftのサポート終了(2025年10月14日)を理由に非対応です。
- Windowsでのコンテナ:Isaac SimのコンテナはLinuxのみの対応です。
- DGX Spark以外のArm機:aarch64版はDGX Spark(DGX OS 7)でのみサポートされています。条件は下のDGX Sparkの節で説明します。
手元のPCが要件を満たすかは、Isaac Simに付属する互換性チェッカーで確かめられます。pipならpip install "isaacsim[compatibility-check]==6.2.0.0" --extra-index-url https://pypi.nvidia.comで最小構成だけを入れ、isaacsim isaacsim.exp.compatibility_checkを実行します。
DGX Sparkで動かす場合の条件
x86_64以外で公式にサポートされるのは、NVIDIAの小型AI開発機DGX Sparkだけです。6.2の要件ページはaarch64向けの条件を別の表で示しています。
| 項目 | DGX Sparkでの条件 |
|---|---|
| OS | NVIDIA DGX OS 7 |
| 検証済みドライバ | 580.159.03 |
| pipパッケージ | manylinux_2_35_aarch64のwheelがPyPIにある(6.2.0.0) |
| 使えない機能 | cuRobo・cuMotion(動作計画のGPU高速化) |
pip導入の手順書には、DGX Spark(aarch64)では一部のモジュールを読み込むためにlibgompの共有ライブラリをLD_PRELOADで先読みさせる必要がある場合があると書かれています。import isaacsimの時点でチェックが走り、必要なら先読みの指示が表示されるので、その指示どおりに環境変数を設定してから起動し直します。cuRoboやcuMotionでアームの軌道を計画するワークフローはDGX Sparkではサポートされないため、これらを使うマニピュレーションの開発ではx86_64のRTX機を選びます。
MacでIsaac Simをpip installした結果(実測)
Macで動かないことは配布ファイルの一覧から分かりますが、実際にインストールを試すとエラーの出方が紛らわしいため、手元のMac(macOS 26.6.2・Intel・Python 3.12.13・pip 25.0.1)で2026年10月24日に試した結果を載せます。
公式手順どおり版を指定し、NVIDIAのインデックスを足した場合は、該当するファイルが無いという分かりやすいエラーで止まります。
$ pip install "isaacsim==6.2.0.0" --extra-index-url https://pypi.nvidia.com
ERROR: Could not find a version that satisfies the requirement isaacsim==6.2.0.0 (from versions: 6.0.0.0)
ERROR: No matching distribution found for isaacsim==6.2.0.0
紛らわしいのは版もインデックスも付けずにpip install isaacsimとした場合です。PyPIには6.0.0.0だけ1,081バイトのソース配布物が置かれており、pipはこれを取りに行きます。中身はpypi.nvidia.comから本物のwheelを取ってくるための仮のパッケージで、Macでは次のように失敗します。
The installation of isaacsim for version 6.0.0.0 failed.
This is a special placeholder package which downloads a real wheel package
from https://pypi.nvidia.com/. If https://pypi.nvidia.com/ is not reachable, we
cannot download the real wheel file to install.
...
Operating System: Darwin 25.6.0
nvidia-smi command not found. Ensure NVIDIA drivers are installed.
error: metadata-generation-failed
メッセージは「pypi.nvidia.comに届かない」可能性とドライバの不在を挙げますが、原因はmacOS向けのwheelが無いことです。ネットワークやドライバを調べても解決しません。Macしか無い場合は、Linuxのリモート機やクラウドのGPUインスタンスに入れて、手元からはWebRTCのストリーミングで画面を見る構成にします。
Isaac Simのインストール方式4種の選び分け
| 方式 | 向いている場面 | 対応OS |
|---|---|---|
| pip(Python 3.12) | Pythonスクリプト中心の開発・Isaac Lab併用 | Linux・Windows |
| ワークステーション版ZIP | GUIで操作したい・Python環境を分けたくない | Linux・Windows |
| コンテナ(NGC) | GPUサーバーやクラウドでのヘッドレス実行 | Linuxのみ |
| ソースビルド | Isaac Sim自体を改変・デバッグする | Linux・Windows |
個人や小規模チームが最初に試すならpipかZIPです。社内のGPUサーバーで複数人が使う、あるいは夜間に合成データを大量生成するならコンテナを選びます。ソースビルドはLinuxでGCC 11を求め、Ubuntu 24.04標準のGCC 13ではビルドできないなど前提が細かいため、改変する理由がない限り選ぶ必要はありません。
pipでのインストール手順
Linuxでは、pipがパッケージを見つけるためにGLIBC 2.35以上が必要です(ldd --versionで確認できます)。Ubuntu 22.04以降なら満たしています。公式のpip導入手順に沿ったコマンドは次のとおりです。
python3.12 -m venv env_isaacsim
source env_isaacsim/bin/activate
pip install --upgrade pip
# CUDA 12系のドライバ環境の場合(CUDA 13系なら cu130)
pip install torch==2.11.0 --index-url https://download.pytorch.org/whl/cu128
pip install "isaacsim[all,extscache]==6.2.0.0" --extra-index-url https://pypi.nvidia.com
# EULAの内容を確認して同意し、初回の確認プロンプトを省略する場合
export OMNI_KIT_ACCEPT_EULA=YES
isaacsim
isaacsimコマンドだけで標準のGUIアプリ(isaacsim.exp.full)が起動します。allは主要なPythonパッケージ一式、extscacheはKitの拡張機能のキャッシュです。Kit本体はpypi.nvidia.comから取得されるため、--extra-index-urlを省くとインストールに失敗します。
allを付けると何が入るのかを確かめるため、Linux x86_64・Python 3.12向けの依存関係をuv(0.11.31)で解決してみました(2026年10月24日)。isaacsim[all,extscache]==6.2.0.0は169パッケージに展開され、そのうちisaacsim-で始まるものが24個ありました。6.2で分離されたisaacsim-assetとisaacsim-robot-motionのほか、isaacsim-ros2やisaacsim-rlも含まれます。公式手順には、isaacsim[ros2]のようにバンドル名を指定する方法や、isaacsim-パッケージ名で個別に入れる方法も用意されています。
Pythonから動かす最小のコードは、公式リポジトリ(v6.2.0)のhello_world.pyのとおりSimulationAppを先に生成する形です。SimulationAppのdocstringには、Omniverseのプラグインは実行時に読み込まれるため、アプリを起動してから他のモジュールをimportするよう書かれています。omni系のimportは必ずSimulationAppの生成後に置きます。
from isaacsim import SimulationApp
kit = SimulationApp() # ここでKitが起動する。headless実行は SimulationApp({"headless": True})
import omni # Kit起動後にimportする
for i in range(100):
kit.update()
omni.kit.app.get_app().print_and_log("Hello World!")
kit.close()
コンテナでの実行手順
コンテナはnvcr.io/nvidia/isaac-sim:6.2.0で配布されています。事前にDockerとNVIDIA Container Toolkitを入れておきます。次のコマンドは、キャッシュ用マウントの一部を省いてコンテナのBashを開く手順です。入った後に./isaac-sim.compatibility_check.sh --/app/quitAfter=10 --no-windowで互換性を確認し、./runheadless.sh -vでIsaac Simを起動します。
docker pull nvcr.io/nvidia/isaac-sim:6.2.0
mkdir -p ~/docker/isaac-sim/cache/main ~/docker/isaac-sim/logs
sudo chown -R 1234:1234 ~/docker/isaac-sim
docker run --name isaac-sim --entrypoint bash -it --gpus all --rm --network=host \
-e "ACCEPT_EULA=Y" -e "PRIVACY_CONSENT=Y" \
-v ~/docker/isaac-sim/cache/main:/isaac-sim/.cache:rw \
-v ~/docker/isaac-sim/logs:/isaac-sim/.nvidia-omniverse/logs:rw \
-u 1234:1234 \
nvcr.io/nvidia/isaac-sim:6.2.0
コンテナ内のIsaac SimはUID 1234のユーザーで動きます。マウント指定の:rwだけではホスト側の書き込み権限は付かないため、chownでUID 1234に書き込みを許可しておかないと、キャッシュやログが保存されずに毎回シェーダーのコンパイルからやり直しになります。公式手順はこのほかComputeCacheなども含め計8か所をマウントしています。
Isaac Simの主要機能:物理演算・センサー・合成データ・ROS 2
PhysXとNewtonの2系統の物理エンジン
標準の物理エンジンはNVIDIA PhysXで、剛体、関節、接触、摩擦をGPUで計算します。6.0からは、NVIDIA・Google DeepMind・Disney Researchが立ち上げ、Linux Foundationのプロジェクトとしてコミュニティが開発・保守するオープンソースの物理エンジンNewton(Apache 2.0)を実験的に選べるようになりました。6.1以降は、URDF・MJCFのインポーター、ROS 2ブリッジ、IMUや接触センサーがNewtonでも動きます。6.2ではコンテナやライブストリーミングでも、環境変数ISAACSIM_PHYSICS_ENGINE=newtonでNewtonを選べるようになりました(既定はPhysXのままです)。
どちらを使うかの判断は単純です。製品の設計検証や既存のチュートリアルに沿う作業はPhysX、MuJoCo系のモデル資産を持ち込みたい場合や、Isaac Lab 3.0でIsaac Simを介さずに学習したい場合はNewtonを試します。Newtonは「experimental」の扱いなので、検証結果を製品判断に使う段階ではPhysXと結果を突き合わせてください。
RTXレンダリングによるカメラ・LiDAR・レーダーの再現
カメラ画像はRTXのレイトレーシングで描画され、反射、映り込み、逆光を物理的に再現します。LiDARとレーダーもRTXベースのセンサーとして実装されており、6.1では点群を強度や視線速度で色分けして表示する機能が加わりました。センサーのモデルはSICKやLuxonis、Texas Instrumentsなど実在する製品の設定がカタログとして用意されています。
実機を調達する前にセンサーの取り付け位置と画角を仮想空間で比べたり、SLAM(自己位置推定と地図作成)のアルゴリズムをセンサーの種類を変えて検証したりする用途に向いています。
Replicatorによる合成データ生成
Isaac Simに組み込まれたReplicatorは、仮想シーンから学習用の画像と正解ラベルを自動で出力します。設定したセマンティックラベルとシーン内の形状・位置から正解データを生成するため、人手で画像ごとに注釈を付ける作業を減らせます。ただし、クラス設定や出力ラベルの確認は必要です。公式FAQによれば、出力できるアノテーションにはRGB、バウンディングボックス、インスタンスセグメンテーション、セマンティックセグメンテーションなどがあり、COCO形式とKITTI形式で書き出せます。
公式リポジトリ(v6.2.0)のサンプルsdg_getting_started_01.pyは、立方体とカメラを置いて、RGB画像と2Dバウンディングボックスを書き出す最小構成です。以下は公式サンプルから要点を抜き出したもので、GPU環境での実行と出力の確認はしていません。
from isaacsim import SimulationApp
simulation_app = SimulationApp(launch_config={"headless": True})
import isaacsim.core.experimental.utils.stage as stage_utils
import omni.replicator.core as rep
stage_utils.create_new_stage()
rep.orchestrator.set_capture_on_play(False)
import carb.settings
carb.settings.get_settings().set("/rtx/post/dlss/execMode", 2)
rep.functional.create.xform(name="World")
rep.functional.create.dome_light(intensity=500, parent="/World", name="DomeLight")
cube = rep.functional.create.cube(parent="/World", name="Cube")
rep.functional.modify.semantics(cube, {"class": "my_cube"}, mode="add")
cam = rep.functional.create.camera(position=(5, 5, 5), look_at=(0, 0, 0), parent="/World", name="Camera")
rp = rep.create.render_product(cam, (512, 512), name="MyRenderProduct")
backend = rep.backends.get("DiskBackend")
backend.initialize(output_dir="_out_basic_writer")
writer = rep.writers.get("BasicWriter")
writer.initialize(backend=backend, rgb=True, bounding_box_2d_tight=True)
writer.attach(rp)
for i in range(3):
rep.orchestrator.step()
rep.orchestrator.wait_until_complete()
writer.detach()
rp.destroy()
simulation_app.close()
サンプル付属の検証処理によれば、1回のキャプチャごとにRGBのPNGが1枚、バウンディングボックスのNPYが1つ、ラベルとプリムパスのJSONが2つ出力されます。実務では、ここに照明・テクスチャ・物体配置のランダム化(ドメインランダマイゼーション)を加えて枚数を増やします。生成したデータをどう学習に回し、推論結果を現場に戻すかはデジタルツインとAIの連携の設計で扱っています。
ROS 2ブリッジによる通信とros2_controlによる制御
Isaac SimはROS 2ブリッジ拡張を標準で持ち、仮想センサーの値をトピックとして配信し、制御コマンドを受け取れます。公式が推奨するディストリビューションはHumbleとJazzyです。pip版のLinuxでは、ROS 2の環境を読み込んでいなくても同梱のROS 2ライブラリが自動で設定されます。自作メッセージをIsaac Sim内で使う場合は、Python 3.12でビルドしたROS 2とワークスペースを同じ端末で読み込んでから起動します。Ubuntu 22.04の標準Humble環境(Python 3.10)は、外部ノード用の別端末で読み込みます。
6.1で加わったisaacsim.ros2.controlにより、実機で使っているros2_controlの構成を、Isaac Simの物理で駆動されるController Managerにそのまま載せられるようになりました。公式のワークスペースにはUR10をros2_controlとMoveIt 2で動かすデモがHumble・Jazzyの両方で用意されています。公式はUbuntu 24.04とJazzyの組み合わせを推奨しています。既存のUbuntu 22.04環境でHumbleを使う場合は、Ubuntu 22.04へのROS 2 Humbleのインストール手順から始めてください。
強化学習ではIsaac Labを使う:3.0のKitなし実行
Isaac Simで強化学習をする場合、学習ループはIsaac Labが担います。Isaac Labは数千の環境をGPU上で並列に動かし、物理計算から方策の更新までをGPU内で完結させる設計です。強化学習そのものの仕組みは強化学習とは?報酬から学ぶ仕組みと手法を参照してください。
Isaac LabはIsaac Simの特定の版にしか対応しません。READMEの対応表は次のとおりです。
| Isaac Lab | 対応するIsaac Sim | 状態 |
|---|---|---|
| 2.1.x / 2.0.x | 4.5 | 旧版 |
| 2.2.x | 4.5 / 5.0 | 旧版 |
| 2.3.x | 4.5 / 5.0 / 5.1 | 2.x系の最終(2.3.2=2026年2月) |
| 3.0.0-beta2 | 6.0 | ベータ |
| 3.0.0-EA | 6.1 | Early Access(2026年9月16日) |
| 3.0.0 | 6.2 | 正式版(2026年10月20日) |
Isaac Lab 3.0.0は2026年10月20日に正式版になり、公式は新規プロジェクトと2.xからの移行の基準にするよう案内しています。対象はIsaac Sim 6.2、Python 3.12、CUDA 13.0版のPyTorch 2.11、Newton 1.6.1です。最大の変化は、物理・描画・可視化のバックエンドを別々に選べるようになったことです。リリースノートは、Isaac Labのワークフローの多くはIsaac Simを入れずに動き、Isaac SimはPhysXとRTXの一式、ROSブリッジ、XR、ライブストリーミング、Kitのツールが必要な場合の選択肢で「fully optional」だとしています。PhysXとRTX描画も、OVPhysXとOVRTXという単体のライブラリを使えばIsaac Simなしで使えます。以下のコマンドはGitとuvの導入済み環境を前提とします。
git clone --branch v3.0.0 --depth 1 https://github.com/isaac-sim/IsaacLab.git
cd IsaacLab
# Newton物理のみ(Isaac Simは入らない)
uv run isaaclab train --rl_library rsl_rl --task Isaac-Cartpole --viz newton_gl physics=newton_mjwarp
# PhysXとRTX描画を単体ライブラリで使う(Isaac Simは入らない)
uv run --extra ov isaaclab train --rl_library rsl_rl --task Isaac-Cartpole-Camera --viz newton_gl physics=ovphysx renderer=ovrtx presets=rgb
# Isaac SimのPhysX・RTX描画・ROS 2ブリッジまで使う場合
uv run --extra isaacsim isaaclab train --rl_library rsl_rl --task Isaac-Cartpole --viz kit physics=isaacsim_physx
関節角や速度だけを観測する歩行やマニピュレーションの方策学習なら、Isaac Lab 3.0をNewtonで動かし、Isaac Simの導入は後回しにできます。カメラ画像を入力にする方策でも、上の2つ目のようにOVRTXで描画すればIsaac Simは要りません。Isaac SimのROS 2ブリッジやKit拡張が必要になった段階で、Isaac Simを追加するか判断します。
3.0のEarly Accessや2.x系から移る場合は、アプリの起動方法が変わる点に注意します。正式版ではAppLauncherは限定的な互換のみとなり、新しいスクリプトはisaaclab.appのlaunch_simulationを使う形に変わりました。AppLauncher.is_availableやAppLauncher.deviceなど、削除・変更されたAPIを使っている自作スクリプトは書き換えが必要です。
シミュレーションと実機の差を詰める方法
Isaac Simで動いた制御や方策が、そのまま実機で動くとは限りません。関節の摩擦や減衰、モーターの応答遅れ、物体の質量が実物とずれていれば、シミュレーションで最適だった動きは実機で外れます。この差を小さくする取り組みはSim-to-Real(Sim2Real)と呼ばれ、Isaac Simでは主に3つの手段を組み合わせます。
- ドメインランダマイゼーション:照明、質感、物体の配置や物理パラメータを毎回ばらつかせ、多少ずれても崩れない方策や認識モデルを作ります。前述のReplicatorやIsaac Labの設定で行います。
- システム同定:実機で記録した関節の動きに合うよう、シミュレーション側の摩擦や減衰の値を推定して直します。
- 物理エンジンを変えた検証:Isaac Lab 3.0は、PhysXで学習した方策をNewtonで、またはその逆で動かす手順と検証済みの例を用意しています。どちらのエンジンでも動くかを確かめると、特定の物理モデルの細部に頼りすぎた方策を見つける手がかりになります。
システム同定は、6.2でSystem Identification拡張(ベータ)として使えるようになっています。実機から記録したMCAP形式のテレメトリを読み込み、Newton上のMuJoCoソルバーでシミュレーションを繰り返しながら、最適化手法CMA-ESで関節の摩擦や減衰を推定し、結果をUSDのロボットアセットに書き戻します。学習に使わない別の動きで再生して、推定値が当たっているかを確かめる手順も組み込まれています。
公式のFranka Pandaのチュートリアルは、わざと関節の摩擦を1.0 N・m・s/radと過大に設定したモデルから始めて、効果を示しています。
| 段階 | 推定したもの | 正規化コスト | 誤差(RMSE)の変化 |
|---|---|---|---|
| 1段目 | 7関節の摩擦 | 42.7%減 | 位置8.3%・速度13.7%・トルク24.4%改善 |
| 2段目 | 7関節の減衰 | さらに28.9%減 | トルク1.6573→1.3946 N・m、位置・速度は1段目比2.0%・1.1%悪化 |
2段目は、トルクの合いが良くなる代わりに位置と速度がわずかに悪くなっています。チュートリアルは、最も小さい数値を機械的に採るのではなく、用途に照らしてどちらを採るかを判断する例としてこの結果を示しています。また、出発点はわざと崩したモデルで、公式も推奨する初期値ではなくストレステスト用の設定だと断っているため、この改善幅は一般的な期待値ではありません。実務では、システム同定で合わせ込んだうえで、最後は実機で確かめる流れになります。シミュレーションの結果は実機試験を減らす材料であって、実機での安全確認の代わりにはなりません。
Gazebo・MuJoCoとの比較とIsaac Simを選ぶ条件
| 観点 | Isaac Sim 6.2 | Gazebo(Jetty) | MuJoCo 3.17 |
|---|---|---|---|
| ライセンス | Apache 2.0+Kit別条件 | Apache 2.0 | Apache 2.0 |
| 物理エンジン | PhysX / Newton | DART・Bullet・TPEから選択 | 独自(接触計算が強み) |
| 描画 | RTXレイトレーシング | ラスタライズ | 簡易描画 |
| GPU | RTコア必須・最小構成例RTX 4080 | 専用GPUは必須でない | 不要(MJXでGPU利用可) |
| macOS | 非対応 | 対応 | 対応 |
| 合成データ生成 | Replicator標準搭載 | 画像・検出ラベルの保存機能あり | 描画出力を使って自作 |
| サポート期間 | 版ごとに更新 | LTS 2031年5月まで | 随時リリース |
Isaac Simを選ぶ理由になるのは、カメラ画像を使う認識AIの学習データを作りたい場合と、フォトリアルな映像で実機に近いセンサー出力を検証したい場合です。Gazeboの描画はレイトレーシングを使わないラスタライズで、金属の映り込みや逆光のような、認識AIが実環境で失敗しやすい光の条件を再現しにくい点が差になります。
制御ロジックやトピック通信の確認なら、ROS(Robot Operating System)のコミュニティで標準とされてきたGazeboで足ります。強化学習の初期検討を素早く回すなら、CPUだけで動くMuJoCoが向いています。ゲームエンジンのUnityで作った環境をそのまま学習に使いたい場合は、Unity ML-Agentsという選択肢もあります。
Isaac Simを採用しないほうがよい条件
次のいずれかに当てはまるなら、Isaac Simは過剰な装備です。
- カメラ画像を扱わない:2次元の経路計画や関節角だけを観測する方策学習で、既存のUSD資産やIsaac Sim固有の拡張も使わないなら、高品質な描画を目的とした導入は勧めません。Gazebo、MuJoCo、またはIsaac Lab 3.0のNewton構成で済みます。
- 開発者の多くがMacやGPU無しのノートPCを使っている:Isaac Simを各自の端末で直接動かせないため、要件を満たす共有GPUサーバー、クラウドGPU、または開発用PCを用意する必要があります。
- CIで制御コードの回帰テストを高速に回したい:描画の要らないテストにRTX GPUを割り当てるのは費用対効果が悪く、起動も重くなります。
- Isaac Simを客先に入れて納品する予定があり、契約の確認が済んでいない:前述のとおりNVIDIA AI Enterpriseの要否が公式文書間で食い違っており、見積もりの前提が崩れるおそれがあります。
Isaac Simは、ロボット向けAI全体の流れの中では「データを作り、検証する」工程を担います。生成AIを物理世界に広げる動きの全体像はフィジカルAIとは?、NVIDIAが同じ工程向けに出している世界モデルはCosmos 3の解説で整理しています。
よくある質問
Isaac Simの読み方は何ですか?
「アイザック・シム」と読みます。Isaacはロボット関連のNVIDIA製品群に共通する名前、Simはシミュレーターの略です。Isaac Lab(アイザック・ラボ)やIsaac ROS(アイザック・ロス)は名前が似ていますが別のソフトウェアです。
Isaac Simは無料で使えますか?料金や価格はかかりますか?
社内の研究開発、検証、学習データの作成に使う限り無料で、利用人数の上限もありません。Isaac Simの公式FAQがNVIDIA AI Enterpriseのライセンスを必要としているのは、Isaac SimをOmniverse Kitごと自社製品に同梱して第三者に配布する場合、サービスとして提供する場合、客先に一式を構築して納品する場合です。ただしOmniverse側の案内は2026年5月から再配布も無償としており、公式文書間で食い違っているため、これらに当たる場合はNVIDIAに書面で確認してください。クラウドで動かす場合はGPUインスタンスの利用料が別にかかります。
Isaac SimとOmniverseの違いは何ですか?
Omniverseは3DシーンをOpenUSDで記述・描画・共同編集するための基盤で、Isaac SimはそのOmniverse Kit SDKの上に作られたロボット専用のアプリです。「Omniverse Isaac Sim」はOmniverse Launcherから起動していた時代の呼び名で、Launcherは2025年10月1日に提供を終えています。
Isaac Simに必要なGPUと推奨スペックは?
6.2の最小構成はGeForce RTX 4080(VRAM 16GB)、メモリ32GB、50GBのSSDで、推奨はRTX 5080とメモリ64GBです。RTコアを持たないA100やH100は非対応で、Arm機はDGX Sparkだけが対応します。センサーを多数置くシーンやIsaac Labでの学習では、さらにVRAMとメモリが要ります。
Isaac SimはMacで使えますか?
使えません。6.2のpipパッケージはLinuxとWindows向けしか配布されておらず、要件もNVIDIAのRTX GPUを前提としています。Macでpip install isaacsimを実行すると、仮のパッケージが「pypi.nvidia.comに届かない」旨のエラーで失敗しますが、原因はmacOS非対応です。Macしか無い場合は、クラウドのGPUインスタンスで動かすか、macOSに対応したGazeboやMuJoCoで始めます。
Isaac Simで強化学習をするには何が必要ですか?
強化学習にはIsaac Labを使います。Isaac Simの版ごとに対応するIsaac Labの版が決まっており、Isaac Sim 6.2には2026年10月20日に正式版になったIsaac Lab 3.0.0、5.1には2.3.xが対応します。Isaac Lab 3.0はNewtonやOVPhysX・OVRTXのバックエンドならIsaac Simなしで学習を回せるので、Isaac SimのROS 2ブリッジやKit拡張を使わない学習ではIsaac Simを入れずに始められます。
実物のロボットが無くてもIsaac Simは使えますか?
使えます。Isaac Simには公式のロボットアセットが用意されており、6.2のリリースノートに出てくるだけでもFranka Pandaのアーム、UR10、移動ロボットのNova Carterがあります。URDFやMJCFのインポーターで自社ロボットのモデルを読み込むこともできます。ただし、実機に載せる段階では前述のシステム同定などでシミュレーションとの差を詰め、最後は実機で確認する必要があります。