📄

Isaac SimとROSの連携環境構築(OmniverseにIsaac Simをインストールする)

2022/04/02に公開

https://zenn.dev/hardbake/articles/c980d6193ffa23
前回からの続きです。

Isaac Simとは

ここに書いてあることのまとめです。
https://docs.omniverse.nvidia.com/app_isaacsim/app_isaacsim/overview.html

"Isaac Sim"とはOmniverse上で動作するロボットシミュレーションツールキットであり、"Isaac SDK"と"ROS/ROS2"を使用したナビゲーション&マニュピレータアプリケーションを提供する。RGB-D、Lidar、IMUなどのセンサやセグメンテーションなどの画像認識機能も含んでいる。


出典:https://docs.omniverse.nvidia.com/app_isaacsim/app_isaacsim/overview.html

Omniverse Kit

要約すると"Isaac Sim"にアクセスするためのインタフェースみたいなものです。C言語やPythonなどでシミュレーション環境に直接干渉できるということらしい(例えば、オブジェクトを自動生成したり移動させたりできる)。

Omniverse Nucleus

Omniverseの核となるデータサーバみたいなもの。ネットワーク上にも置けるのでみんなで共通のデータを参照できるとのこと。

USD

"Isaac Sim"はUSD(Universal Scene Description)ファイルフォーマットを使用します。USDはPixar社によって開発されたフォーマットで3D環境記述が可能なフォーマットとなっています。

必要スペック

"Isaac Sim"の必要スペックは以下の通りです。メモリが32GB以上、Nvidiaのドライババージョンは"470.57.02"以降が必要みたいです。


出典:https://docs.omniverse.nvidia.com/app_isaacsim/app_isaacsim/requirements.html

Nvidia公式Isaac Simインストールガイド

以下の手順を参考に進めていきます。
https://docs.omniverse.nvidia.com/app_isaacsim/app_isaacsim/install_basic.html#isaac-sim-app-install-basic

Isaac Simのインストール

EXCHANGEタブから"Isaac Sim"を選択します。


Isaac Simを選択

INSTALLボタンを押すとダウンロード&インストールが開始されます。


INSTALLボタンを押す


3.7GBダウンロード中

チュートリアルによると"Isaac Sim"起動後に"Isaac Sim Assets"(サンプルデータなど)をダウンロードするボタンが出るはずなんですが、変なWarningが出てダウンロードできませんでした。調べてみるとこれはバグらしく、このアセットは手動で導入します。


本来は中央のウィンドウの下部にDownloadボタンが表示されるはず…

上記エラーに関して、同様の現象が発生している以下のforumの投稿に解決策が記載されています。
https://forums.developer.nvidia.com/t/known-issue-error-checking-isaac-sim-assets/204522

具体的な解決方法はメインウィンドウのNUCLEUSタブからnavigatorの"localhost"で右クリック→"new mount"から以下のパラメータでフォルダを作成します。

項目 内容
Name Isaac
Type Amazon S3
Host d28dzv1nop4bat.cloudfront.net
Service s3
Redirection https://d28dzv1nop4bat.cloudfront.net


サーバ上にリンクを貼るイメージ

これで"Submit"するとデータセットが追加されます。Warningが出るウィンドウは起動するたびに出てきますが、無視して構いません。ただ、これはあくまでネットワークのディレクトリにパスを貼っているだけのようで、容量の大きいサンプルのUSDなどを開こうとするとめちゃくちゃ時間がかかります。このような場合は、NUCLEUS上でローカルにコピー(ダウンロード)して開いたほうが良いです。

VSCodeのインストール

"Isaac Sim"で使用するエディタはデフォルトではVSCodeとなっていますので、インストールします。VSCodeは以下のページからdebファイルをダウンロードしてインストールします。

https://code.visualstudio.com/Download

以下のコマンドでインストールします。

$ cd ~/Downloads
$ sudo apt install ./code_1.51.1-1605051630_amd64.deb
$ sudo apt install -y apt-transport-https
$ sudo apt update

なお、"Isaac Sim"からVSCodeを開いた場合の設定ファイル(settings.jsonなど)は"Isaac Sim"のルートディレクトリ(~/.local/share/ov/pkg/isaac_sim-2021.2.1など)にある".vscode"が使用されます。

ROSとROS2のインストール

連携先となるROSやROS2をUbuntuにインストールします。以下の手順を参考に進めていきますが、ROSのインストールガイドに従ってインストールしているだけです。今回の環境ではROSは"noetic"、ROS2は"foxy"となります。

https://docs.omniverse.nvidia.com/app_isaacsim/app_isaacsim/install_ros.html

次に"Isaac Sim"側で"ROS Bridge Extension"を有効にします。"Window"メニュー→"Extensions"から"ROS"を検索します。


"Window"→"Extensions"

"ROS BRIDGE"と"ROS UI"を有効化します。


ROSを検索すると、すでに有効になっていた

これで"Isaac Sim"と外部のroscoreの通信が可能となります。ROS2を使用する場合は"ROS BRIDGE"の代わりに"ROS2 BRIDGE"を有効にします。

Discussion