Zenn
📘

【Isaac Sim × Isaac Lab入門】#1 PythonスクリプトでIsaac Simに空のシーンを表示してみる

2025/04/02に公開

以下の記事にて、NVIDIA Isaac Sim をIsaac Labから起動することができた。
https://zenn.dev/kprn/articles/9b6afc80ca1956

今回からは、Isaac Simの3D環境内をPythonスクリプトで操作する方法を調査する。

今回はPart1として、公式チュートリアルを参考に、

  • Pythonスクリプトを実行し、Isaac Simで空のシーンを開く

というシンプルな操作を試してみる。

この記事の内容を実施すると、以下のようにIsaac Simが起動し、空のシーンが開く。

手順

前回までの手順で、C:\Users\{ユーザ名}\work\IsaacLabディレクトリが配置されている状況からスタートする。

手順1. ディレクトリの作成

IsaacLabと同じ階層にpython_scriptsという、Pythonスクリプト配置用のディレクトリを作成する。
(今回は分かりやすいように上記の場所にしたが、場所はどこでも良い。)

ディレクトリ作成後は、以下のようになる。

C:\Users\{ユーザ名}\work\
├─ IsaacLab
└─ python_scripts
   └─ create_empty_scene.py

手順2. Pythonスクリプトの作成

次に、作成したpython_scriptsディレクトリの中に、create_empty_scene.pyというPythonスクリプトを作成する。

そしてcreate_empty_scene.pyの中身に、以下の空のシーンを作成するコードをコピーして貼り付ける。このコードは、公式のコードを参考に、ステップを整理したものである。

create_empty_scene.py
import argparse
from isaaclab.app import AppLauncher

# ステップ0. 引数を受け取る
parser = argparse.ArgumentParser(description="Tutorial on creating an empty stage.")
AppLauncher.add_app_launcher_args(parser)
args_cli = parser.parse_args()

# ステップ1. シミュレータの起動
app_launcher = AppLauncher(args_cli)
simulation_app = app_launcher.app

# ステップ2. Isaac Simからモジュールをインポート
from isaaclab.sim import SimulationCfg, SimulationContext

# ステップ3. シミュレーションコンテキストの設定
sim_cfg = SimulationCfg(dt=0.01)
sim = SimulationContext(sim_cfg)

# ステップ4. ビューポートを映すカメラの位置・注視点を設定
sim.set_camera_view([2.5, 2.5, 2.5], [0.0, 0.0, 0.0])

# ステップ5. シミュレーションの実行
sim.reset()
while simulation_app.is_running():
    sim.step()

# ステップ6. シミュレーションを終了
simulation_app.close()

スクリプトの流れはコメントに記載の通りだが、詳細は次回以降調査する。

手順3. 実行前の事前準備

Isaac SimとIsaac Labを実行する事前作業として、パスを通す必要がある。

コマンドプロンプト上で、以下を実行する。

cd C:\Users\{ユーザ名}\work\IsaacLab
set ISAACSIM_PATH="C:/isaacsim"
set ISAACSIM_PYTHON_EXE="%ISAACSIM_PATH:"=%\python.bat"
isaaclab.bat --install

手順4. 実行

コマンドプロンプト上で、以下を実行する。

isaaclab.bat -p ..\python_scripts\create_empty_scene.py

実行が成功すると、Isaac Simが起動し、以下のような空のシーンが開く。

シミュレーションを終了するときは、

  • コマンドプロンプトで「Ctrl+C」を押す
  • シミュレータ画面を「×ボタン」で消す

のどちらかを実行する。

Next Action

今回はPythonスクリプトによって、Isaac Simで空のシーンを開くことができた。

ただし、Pythonスクリプトの中身についてはまだ理解できていない。

今後の記事では、今回使用したPythonスクリプトを理解することと、空のシーンの中にキューブを置く方法、カメラを操作する方法などを検討する。

関連記事↓
https://zenn.dev/kprn/articles/8c1d9b191e0775

Discussion

ログインするとコメントできます