NVIDIA Isaac Sim: Replicator Composerの使用
概要
Replicator Comporserを用いてデータセットを作成します。
Issac Simのtutorialに上記の内容が記載されており、この内容に沿って進めます。
実行環境
- インストール実行環境
unit | specification |
---|---|
CPU | i9-11900H |
GPU | GeForce RTX 3080 Laptop |
RAM | 32GB |
OS | Ubuntu 20.04.3 LTS |
- Nvidia Driverバージョン
- 510.39.01
- Issac simバージョン
- 2021.2.1
手順
Replicator Composerを用いてデータセットを作成します。
Replicator Composerでは、Parameter FileとAsset Fileの2つのファイルからシーンを生成します。
シーンの設定では、Objectの種類や特性、環境の種類や特性をそれぞれ設定するこが可能です。
設定値の一覧はこちらのReferenceから確認できます。
Replicator ComposerのTutorialとして用意されているParameter FileとAsset Fileを用いてデータセットを作成します。
また、Tutorialには、Launcherから実行する方法とDocker上で実行する方法が記載されています。
今回はLauncherから実行する方法によってデータセットを作成します。
流れを次に示します。
- Isaac SimのインストールディレクトリでTerminalを開く
- データ生成のコマンドの実行
1. Isaac SimのインストールディレクトリでTerminalを開く
1.1 OmniverseからIsaac Simを起動する
まず、OmniverseのLauncherからIsaac SimのLauncherを起動します。
1.2 Isaac SimのインストールディレクトリでTerminalを開く
次に、Isaac SimのLauncherから”Open in Terminal”を選択します。
2. データ生成のコマンドの実行
2.1 データ保存先ディレクトリを作成する
データ保存先ディレクトリを作成します。
開いたterminalで次のコマンドを実行する
$ mkdir -p ~/workspace/isaac/
2.2 tool/composer/main.pyを修正する
自分の環境において、このコマンドを実行すると、エラーが発生しデータを生成することができませんでした。
エラー内容は次の様な内容でした。
こちらについて調べたところ、Isaacのある複数のパッケージはSimulationAppのインスタンスに依存しており、依存しているパッケージはインスタンス生成後にimportしないと、ImportErrorになるという報告がありました。
そのため、実行ファイルであるtool/composer/main.pyを編集し、先にSimulationAppのインスタンスを生成するように変更しました。
まず、エディタで該当ファイルを開きます。
$ vim tool/composer/main.py
16行目に次の処理を追加します。
kit = SimulationApp()
52行目をコメントアウトします。
# self.sim_app = SimulationApp(config)kit = SimulationApp()
2.3 データ生成のコマンドを実行する
2.3.1 Factory環境におけるデータ生成
Factory環境でデータを生成するコマンドを実行します。
$ ./python.sh tools/composer/src/main.py --input parameters/warehouse.yaml --output */datasets/warehouse --num-scenes 10 --headless --mount ~/workspace/isaac/
実行が完了すると/workspace/isaac/datasets/warehouse/にデータが保存されます。
2.3.1 FlyingThings3Dを用いたデータ生成
FlyingThings3Dを用いてデータを生成するコマンドを実行します。
$ ./python.sh tools/composer/src/main.py --input parameters/flying_things_3d.yaml --output */datasets/flying_things_3d --num-scenes 10 --headless --mount ~/workspace/isaac/
実行が完了すると/workspace/isaac/datasets/flying_things_3d/にデータが保存されます。
Discussion