ROSとシミュレーターの連携が生み出す新たな可能性ROSを使ってロスなくロボット開発(中編)(3/5 ページ)

» 2021年02月25日 10時00分 公開
[富士ソフトMONOist]

VTC on Unity

 ゲームエンジンとして人気の高い「Unity」を、ROSのシミュレーターに活用することができる。Unityは、PCやスマートフォンに対応しており、フォトリアルな画像がリアルタイムに得られる、さまざまな3Dモデルが提供されている「Asset Store」を利用できる、歩行者シミュレーションが行えるといった利点がある。

 UnityをROSに対応させる方法は幾つかあるが、ここでは「つくばチャレンジ」で用いられている「VTC(Virtual Tsukuba Challenge) on Unity」を紹介する。

 つくばチャレンジは、市街地で移動ロボットを自律走行させる技術イベントで、大学研究室、研究機関、企業などから毎年50チーム以上の参加がある。VTC on Unityは、つくばチャレンジの会場付近のマップ、主要なセンサーモデル、“ロボットモデルをURDF(Unified Robot Description Format)からインポートするツール”などを含んだ総合パッケージである。

 2020年は、新型コロナウイルス感染症(COVID-19)の影響もあり実機のロボットを使って市街地を走行することはできなかったものの、VTC on Unityを公式ツールとしてシミュレーター上で大会が開催されたという実績がある。

 VTC on Unityは2018年に開発が始まった新しい環境だが、実地走行からのフィードバックを受けながら開発されていることから、今後さらに機能が充実していくことが期待される。

VTC on Unityの画面イメージ VTC on Unityの画面イメージ(クリックで拡大) 出典:筑波大学

Omniverse Isaac Sim

 GPUメーカーのNVIDIAは2018年、ロボティクスプラットフォーム「NVIDIA Isaac」を発表した

 NVIDIA Isaacは、AI開発キットの「Omniverse Isaac SDK(以下、Isaac SDK)」や、シミュレーション環境の「Omniverse Isaac Sim(以下、Isaac Sim)」など複数ツールから構成されている大規模な開発環境である。

 NVIDIA Isaacのツール群は個別にインストール可能であり、特にIsaac SimはROSトピックのpublish/subscribeに標準で対応していることから、Gazeboに代わるROSシミュレーターとして用いることができる。

 モデル読み込みについても、ロボットモデル読み込みの「URDF importer」やCADモデル読み込みの「STEP importer」が付属しており、ROSで作成した環境から比較的低コストに移行することが可能だ。

「NVIDIA Isaac」のツール構成 「NVIDIA Isaac」のツール構成

 GPUメーカーのNVIDIAが開発していることもあり、同社GPU製品の利用が推奨されている。物理エンジンの「PhysX」は、NVIDIAのGPUコンピューティングのソフトウェア開発環境「CUDA」を経由したハードウェアアクセラレーションに対応しているため、流体演算やパーティクルなどのリアルタイム演算が可能である。

 レンダリングにはNVIDIAが開発した「Omniverse RTX Renderer」が用いられている。最新のGPUボード「GeForce RTX」によるレイトレーシングは、陰影や反射、屈折などの表現に優れており、フォトリアルな画像をリアルタイムに得られる。

「Isaac Sim」によるフォトリアルなシミュレーターの画像 「Isaac Sim」によるフォトリアルなシミュレーターの画像

 NVIDIA Isaacの発表後は、年間で1〜2回程度のバージョンアップが行われているが、現時点ではまだβ版のため仕様やドキュメントが変更される可能性がある。さまざまな用途が想定されているプラットフォームであるため、正式リリースが待ち望まれる。

Copyright © ITmedia, Inc. All Rights Reserved.