1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Isaac Sim】3年間使ってきたNVIDIA Isaac Simを皆さんに紹介、そしてUbuntuで使うまで【Ubuntu】

Posted at

この記事の目的

この記事では、私が大学の研究室(情報工学系)にて3年間扱ってきたIsaac Sim(他Omniverse関連ソフトを含む)の特徴、またUbuntuに導入するまで紹介します。(使い方などは今後投稿していく予定です。)

日本の3D界隈ではまだそれほど認知度の高くないIsaac Simを、皆さんに知っていただけると嬉しいです。(もちろん、使ってくれたらもっと嬉しいです。)

筆者の環境

サーバー1

CPU GPU メモリ ストレージ OS NVIDIA Driver
名称 Intel Xeon Silver 4215R NVIDIA RTX 6000 Ada 96GB 2TB Ubuntu 20.04 LTS 550.54.15
個数 2 1

サーバー2

CPU GPU メモリ ストレージ OS NVIDIA Driver
名称 Intel Xeon Gold 6132 NVIDIA RTX A6000, A4500 160GB 4.5TB Ubuntu 20.04 LTS 560.35.03
個数 1 各1

どちらもローカルかつGUI環境

はじめに

Isaac Simとは?

Isaac Sim is a software platform built from the ground up to support the increasingly roboticized and automated world.
(What is Isaac Sim?より引用)

要するにIsaac Simとは、
"ロボティクス"と"自動化"を推進することを目的とした、「3Dモデル統合ソフトウェア」
のことです。
現在は統合プラットフォーム「NVIDIA Omniverse」内のソフトの1つとして提供されています。

OmniverseはIsaac Simを含むソフトやSDK、API等の統合プラットフォーム
別記事で解説予定

ここで、Isaac Simのことをわざわざ「3Dモデル統合ソフトウェア」と呼称したことに疑問を持たれた方もいらっしゃると思います。その理由についてはこの後解説でお分かりいただけるでしょう。

Isaac Simの特徴、「できること」と「できないこと」

Isaac Simは天下のNVIDIA様の謹製ソフトということで、一見なんでもできそうに見えます。当然多機能なソフトですが無論なんでもできるわけではなく、「わざわざIsaac Simを選ばなくていい」用途も多分に存在します。

よってここではそんなIsaac Simの特徴について、「できること(Isaac Simが得意なこと)」と「できないこと(不得意なこと)」に分けてそれぞれ説明します。

私自身の所感による部分もあります。ご容赦ください。

できること

  • ファイルフォーマットに依らない3Dモデルの統合
    • 一般的に使用されるフォーマットのほとんどに対応
    • すべてを統合し、USD(Universal Scene Description)形式のファイルとして保存できる

  • 高負荷な3Dシミュレーション
    • Python APIやIsaac Sim APIを利用
    • ホットリロード(スクリプトを編集、保存すると即座に3Dシーンへ適用される)対応でスムーズな開発ができる
    • GPUを活用した高速かつ高品質なレンダリングが可能

  • 高精細でリアルな3DCG映像の作成、表示
    • 皆さんご存じレイトレーシングをはじめ、様々なグラフィック技術を活かした映像美を実現

  • 物理シミュレーション
    • PhysXを用いた物理演算とグラフィック技術を組み合わせた、物理現象をリアルに再現

  • 複数人での同一シーンの同時操作 ※Ubuntuでは安定動作しない可能性があります

    • 「NVIDIA NUCLEUS」を用いて同一シーンを複数人で同時に編集、確認することができる(らしい)

    NUCLEUSはUSDファイルの共有フォルダ
    プライベートクラウドストレージのようなもの

できないこと

  • 3Dモデルの作成
    • 3Dモデル自体の作成には向かない
    • 単純なオブジェクト(立方体や球など)は配置可能
    • 代替ソフト: Blender, Fusion360, etc.

  • 3Dアニメーションの作成
    • "Action Graph"や"Animation Graph"というノーコードツール(Extension)を使うが、ドキュメントが不足しており扱いにくい
    • 物理演算を用いないのであれば、わざわざIsaac Simを使う必要はない
    • 代替ソフト: Unity, Cinema 4D, AfterEffect, etc.

  • ゲーム制作
    • Isaac Simはゲーム制作を想定して作られていない
    • 代替ソフト: Unity, Unreal Engine 5, etc.

私の経験では、Isaac Simも以上のように「できること」と「できないこと」があります。

これらを総合すると、Isaac Simは3Dモデルを統合し、高精細な映像や高速なシミュレーションを行うための「3Dモデル統合ソフトウェア」と考えることができるでしょう。

3D系ソフトを導入する際はぜひこれを参考に、Isaac Simを使うか否かの選択をしてみてください。

Isaac Simの導入方法

それでは、実際にIsaac Simを導入してみましょう。

導入前に確認して欲しいこと

システム要件

CPU GPU RAM OS(Linux) NVIDIA Driver
最小 Intel i7 第7世代, AMD Ryzen Geforce RTX 3070 32GB Ubuntu 20.04 LTS 535.129.03
推奨 Intel Xeonシリーズ NVIDIA RTX A5000 128GB Ubuntu 20.04 LTS 535.129.03

最小構成はOmniverse Materials and Rendering >> Technical Requirementsより引用
推奨構成は著者の経験則、およびOmniverse >> 推奨システムより引用

パフォーマンス参考

Isaac Sim起動時黒画面でのFPSを参考とする

  • サーバー1(6000 Ada):~150FPS
  • サーバー2(A6000+A4500):~150FPS
  • Xeon Silver 4215Rx2 + A6000:~90FPS
  • Xeon Gold 6132 + Quadro RTX 5000x2:~50FPS

注意点

  • Ubuntuは20.04と22.04のみサポート(他Linuxディストリビューション、他バージョンはサポート外)
  • NVIDIA以外のGPUはサポート外
  • 1台のローカルサーバー上で「複数人での同時操作」環境を無償で構築することは不可能
    • サーバーの増設、vGPU(GPU仮想化)環境の構築、Teradici等のリソース仮想化技術が別途必要

導入手順

NVIDIA Driverインストール

  1. Nouveau(Ubuntuデフォルトのグラフィックドライバ)無効化用Configファイル生成

    sudo vim /etc/modprobe.d/blacklist-nouveau.conf
    

  2. Configファイル編集

    blacklist-nouveau.conf
    blacklist nouveau
    options nouveau modeset=0
    

    ZZで保存し、以下を実行

    sudo update-initramfs -u
    

  3. 推奨NVIDIA Driverの検索

    sudo ubuntu-drivers list
    

    以下のようなリストが表示される

    nvidia-driver-535
    nvidia-driver-535-open
    nvidia-driver-535-server
    nvidia-driver-535-server-open
    nvidia-driver-550
    nvidia-driver-550-open
    nvidia-driver-550-server
    nvidia-driver-550-server-open
    

  4. インストール
    以下の基準に従ってリストからドライバーを選び、インストール

    • 基本的になるべく新しいもの
    • -open-serverがついていないもの
    nvidia-driver-550を選択
    sudo add-apt-repository ppa:graphics-drivers/ppa
    sudo apt update
    sudo apt install nvidia-driver-550
    

  5. 再起動

    sudo reboot
    

  6. 確認

    nvidia-smi
    

    以下のような出力が得られればインストール完了

    Sat Nov  2 11:17:42 2024       
    +-----------------------------------------------------------------------------------------+
    | NVIDIA-SMI 550.54.15              Driver Version: 550.54.15      CUDA Version: 12.4     |
    |-----------------------------------------+------------------------+----------------------+
    | GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
    |                                         |                        |               MIG M. |
    |=========================================+========================+======================|
    |   0  NVIDIA RTX 6000 Ada Gene...    Off |   00000000:17:00.0  On |                  Off |
    | 55%   78C    P2            222W /  300W |   13380MiB /  49140MiB |     73%      Default |
    |                                         |                        |                  N/A |
    +-----------------------------------------+------------------------+----------------------+
                                                                                             
    +-----------------------------------------------------------------------------------------+
    | Processes:                                                                              |
    |  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
    |        ID   ID                                                               Usage      |
    |=========================================================================================|
    |                                                                                         |
    

Omniverse Launcherインストール

■ 無償版(クリエイター版)の場合

  1. omniverse-launcher-linux.Appimageのダウンロード
    NVIDIA Omniverse for Developersにアクセスし、画像の赤矢印をクリックしてダウンロード
    スクリーンショット 2024-11-02 114516.png

  2. 実行権限の付与

    cd /<omniverse-launcher-linux.Appimageがダウンロードされたディレクトリ>
    sudo chmod +x omniverse-launcher-linux.Appimage
    

  3. 起動
    omniverse-launcher-linux.Appimageをダブルクリックor右クリックから起動
    スクリーンショット 2024-11-02 120047.png

■ 有償版(Omniverse Enterprise)の場合

  1. サービスプロバイダを選定し、Enterprise契約を締結

  2. NVIDIA Enterprise Accountの登録
    NVIDIA Omniverse Enterprise Licensing Quick Start Guideの手順に従って登録
    (Create your NVIDIA Enterprise Accountの項を参考に)

  3. "NVIDIA Application Hub"にログイン
    NVIDIA Application Hub Loginにアクセスし、NVIDIA Enterprise Accountでログイン
    スクリーンショット 2024-11-02 121136.png

  4. omniverse-launcher-linux.Appimageのダウンロード
    "NVIDIA Licensing Portal"にアクセス
    スクリーンショット 2024-11-02 133740.png
    "SOFTWARE DOWNLOADS"に遷移し、PRODUCT FAMILYから"Omniverse"を選択
    スクリーンショット 2024-11-02 133807.png
    Linux版"NVIDIA Omniverse Workstation Launcher"の最新版をダウンロード
    スクリーンショット 2024-11-02 133823.png
    ※画像の場合、omniverse-launcher-linux-1.9.10.Appimageがダウンロードされる

  5. 実行権限の付与

    cd /<omniverse-launcher-linux.Appimageがダウンロードされたディレクトリ>
    sudo chmod +x omniverse-launcher.Appimage
    

  6. 起動
    omniverse-launcher-linux.Appimageをダブルクリックor右クリックから起動
    スクリーンショット 2024-11-02 120047.png

Omniverse cacheインストール

  1. Omniverse LauncherのEXCHANGEに遷移
    スクリーンショット 2024-11-02 141011.png

  2. Omniverse Cacheをインストール
    スクリーンショット 2024-11-02 142032.png

NUCLEUSインストール、セットアップ

  1. Omniverse LauncherのNUCLEUSに遷移
    スクリーンショット 2024-11-02 143014.png
    ※これはセットアップ後の画像です。

  2. Nucleus Overviewに従ってインストールとセットアップ

NUCLEUSをセットアップすると、Omniverseが用意したAssetsやEnvironment、Materialなどが使える

Isaac Simインストール

  1. Omniverse LauncherのEXCHANGEに遷移
    スクリーンショット 2024-11-02 141011.png

  2. Isaac Simをインストール
    バージョンは最新版から1つ前のものを選ぶと良い
    スクリーンショット 2024-11-02 142113.png

Isaac Sim起動

  1. Omniverse LauncherのLIBRARYに遷移し、LAUNCHをクリック
    スクリーンショット 2024-11-02 145810.png

  2. ポップアップから"Isaac Sim"を選択し、STARTをクリック
    スクリーンショット 2024-11-02 145837.png

  3. ターミナルがポップアップし、Isaac Simが起動する
    以下のように「"Isaac Sim" is not responding」が出ても、スペックが足りていればしばらく待つと起動する
    スクリーンショット 2024-11-02 150817.png
    起動後の画面
    スクリーンショット 2024-11-02 150355.png

起こりうる問題と対処法

■ NUCLEUSが"not accessible"となる問題

  • 症状1:NUCLEUS内に保存したシーンが開けない
  • 症状2:AssetsやMaterialが正しく表示されない
  • 症状3:NUCLEUSタブで以下のように表示される
    スクリーンショット 2024-11-03 001021.png
  • 対処法:サーバーの再起動

様々な方法(Omniverse Launcher再起動、Driver再インストールなど)試したが効果なし
NVIDIAの開発者にバグ報告をしたが、3年間改善されていない状況

■ Isaac SimでUSDファイルが一切開けなくなる問題

  • 症状:ファイルの保存場所に関わらず、一切のファイルが開けなくなる
  • 対処法:Isaac Simのバージョンダウン

Isaac Sim ver.3.x.xの頃に発生していたバグ
現在のver.4.x.xでは発生していない

おわりに

Isaac Simは要求スペックも高く、日本語のドキュメントも少ないためなかなか個人に普及していない(Unityなどの主要ソフトに比べて)ように感じられます。

実際、私も4年次に研究室に配属されていきなり「うちはOmniverseを始めます。あとはあなたに任せます。」と言われましたが、ドキュメント不足のためセットアップにすら半年もかかりました。

その半年で私は以下の通り、考えられる限りすべての悪行を繰り返してきました。

  • 事例1:Omniverse黎明期だったこともあって公式ドキュメントに書いてあることが1ミリも分からなかった
  • 事例2:同時操作環境をセットアップしようとしてX11やgdmを破壊した結果強制CUI環境になった
  • 事例3:ufwの設定をミスってすべてのユーザーを締め出した

その結果、環境が汚染された総額100万円近いサーバーを初期化し、Ubuntuのクリーンインストールからやり直すことになりました!!!!!最高!!!!!!

皆さんもぜひIsaac Simを知って、十分なスペックがある人は使ってみてくれると嬉しいです。数多くの企業が導入し始めているOmniverseの波に、みんなも乗ろう!!!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?