Omniverse を基盤とする NVIDIA Isaac Sim のオープン ベータ版をリリース

栃谷 宗央 (Muneo Tochiya)
NVIDIA Japan
Published in
7 min readJul 1, 2021

新しい Isaac シミュレーション エンジンは、よりフォトリアルな環境を作り出すだけでなく、合成データの生成とドメイン ランダマイゼーションを効率化して、グラウンド トゥルース データセットを構築します。これにより、未来の物流、倉庫、工場で稼働するロボットを訓練できるようになります。

NVIDIA Omniverse は、新機能が追加された Isaac プラットフォームをはじめとする、NVIDIA のシミュレーション環境の基盤です。提供中の NVIDIA Isaac Sim オープン ベータ版で、ぜひ、最新のロボット シミュレーション機能をお試しください。

NVIDIA Omniverse プラットフォームに構築された Isaac Sim は、ロボット シミュレーション アプリケーションであり、合成データ生成ツールです。現実の範囲を越えた環境を忠実に作り出し、ロボットの動きをリアルにシミュレーションできるため、ロボット開発者が、より効率的にトレーニングやテストを実施できます。

今回のリリースでは、マルチカメラのサポートやセンサー機能を強化し、3D アセットを容易に取り込める PTC OnShape CAD インポート ツールを追加しました。このような新機能により、さらに多様なロボットと環境を効果的にモデル化し、あらゆる面で展開できるようになります。物理的なロボットを設計、開発して、トレーニングし、最終的に、正確でフォトリアルな仮想環境でシミュレーションやテストを行う「デジタル ツイン」に展開します。

主な新機能

  • マルチカメラ サポート
  • 合成データを用いた魚眼カメラ
  • ROS2 サポート
  • PTC OnShape インポート ツール
  • センサー サポートの強化

◦ 超音波センサー

◦ 力学センサー

◦ カスタム Lidar パターン

  • NVIDIA Omniverse Launcher からのダウンロード
Isaac Sim からマルチカメラのセンサー データを Rviz (ROS 可視化ツール) に送信
Isaac Sim でロボットアーム「Dofbot」を操作

Isaac Sim では充実したロボット シミュレーションが可能

開発者は以前から、優れたシミュレーション環境でロボットのテストやトレーニングを実施するメリットを認識していました。しかし、シミュレーターに欠点があることが多く、導入に至らないこともありました。Isaac Sim はそうした欠点を解消し、以下のようなメリットをもたらします。

リアルなシミュレーション
リアルなロボット シミュレーションを実現するために、Isaac Sim は Omniverse プラットフォームの優れた技術を活用しています。たとえば、PhysX 5 による高度な GPU 対応物理シミュレーション、リアルタイムのレイ トレーシングとパス トレーシングによる写真のようにリアルな映像、物理ベースのレンダリングのための MDL (マテリアル定義言語) のサポートなどです。

モジュラー型で幅広い用途に対応
Isaac Sim は、マニピュレーション、自律移動、トレーニング用合成データ生成など、ロボット工学の主要なユースケースの多くをサポートしています。モジュラー型の設計のため、ツールセットを容易にカスタマイズ、拡張して、多くの用途や環境に対応できます。

シームレスな接続と相互運用性
Isaac Sim は、Omniverse Nucleus と Omniverse Connector により、Universal Scene Description (USD) 形式の環境やロボットのモデルを共同で構築、共有、インポートできます。Isaac SDK、ROS/ROS2 インターフェイス、フル機能の Python スクリプト、環境やロボットのモデルをインポートするプラグインを組み合わせることで、ロボットの頭脳を仮想世界に簡単に接続できます。

Isaac Sim での合成データ生成による機械学習のブートストラップ

合成データの生成は、今日のロボットに搭載される知覚モデルのトレーニングに用いるツールとして重視されています。適切にラベル付けされた現実世界のデータを入手するには、時間とコストがかかります。しかも、ロボット工学の分野で必要なトレーニング データには、現実世界で収集することが不可能であったり、危険であったりするものもあります。人間の近くで動作するロボットの場合は特に困難です。

Isaac Sim は, 知覚モデルのトレーニングに欠かせない, さまざまな種類のセンサーをサポートしています。たとえば、RGB、深度、バウンディングボックス、セグメンテーションなどがあります。

ガラス オブジェクトのグラウンド トゥルース合成データ

今回のオープン ベータ版では、合成データを KITTI 形式で出力できます。このデータは、NVIDIA Transfer Learning Toolkit で直接使用でき、ユースケース特有のデータを用いてモデルのパフォーマンスを向上させることが可能です。

ドメイン ランダマイゼーション

ドメイン ランダマイゼーションとは、シミュレーション シーンを定義するパラメータ (シーン内の照明、色、素材の質感など) を変更する手法です。これは、シミュレーションでニューラル ネットワークに多様なドメイン パラメータを学ばせることで、機械学習 (ML) モデルのトレーニングを強化することを目的としています。そうすることで、現実世界のシナリオで動作するときに、適切に一般化できるようになります。つまり、このテクニックによって、モデルに無視すべきことを教えるのです。

工場シーンにおけるドメイン ランダマイゼーション

Isaac Sim は、特定のシーンを定義するさまざまな属性のランダマイゼーションをサポートしています。この機能により、ML エンジニアは合成データセットに十分な多様性を持たせて、モデルが安定した性能を発揮できるようにすることができます。

ランダマイゼーションが可能なパラメータ

  • 動き
  • スケール
  • 照明
  • 質感
  • 素材
  • メッシュ
  • 可視性
  • 回転

Isaac Sim のオープン ベータ版では、ドメイン ランダム化機能を強化し、ランダム化領域をユーザーが指定できるようになりました。シーン内のランダム化する対象領域をボックスで囲うと、それ以外の部分のパラメータを固定できます。

Isaac Sim の関連情報

最新の Isaac Sim GTC 2021 セッション「Sim-to-Real」をご覧ください。

また以下のチュートリアルでは、自作ロボットのインポート方法を詳しく説明しています。

Isaac Sim を使用して JetBot をトレーニングする方法は、以下の開発者向けブログをご覧ください。

利用するには

早期利用プログラムを通じて、Isaac Sim を活用する多数の開発者から成るロボット コミュニティにご参加ください。Isaac Sim をダウンロードして、ロボット シミュレーションの新たな一歩を踏み出しましょう。

--

--