ROSとシミュレーターの連携が生み出す新たな可能性:ROSを使ってロスなくロボット開発(中編)(3/5 ページ)
ロボットの開発に広く利用されるようになっているロボット開発プラットフォーム「ROS(Robot Operating System)」の活用について解説する本連載。今回は、「ROSの活用シーンとしてのシミュレーターとの連携」をテーマに、ロボット開発におけるシミュレーターの重要性や、ROSと連携可能なシミュレーターなどについて解説する。
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年に開発が始まった新しい環境だが、実地走行からのフィードバックを受けながら開発されていることから、今後さらに機能が充実していくことが期待される。
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で作成した環境から比較的低コストに移行することが可能だ。
GPUメーカーのNVIDIAが開発していることもあり、同社GPU製品の利用が推奨されている。物理エンジンの「PhysX」は、NVIDIAのGPUコンピューティングのソフトウェア開発環境「CUDA」を経由したハードウェアアクセラレーションに対応しているため、流体演算やパーティクルなどのリアルタイム演算が可能である。
レンダリングにはNVIDIAが開発した「Omniverse RTX Renderer」が用いられている。最新のGPUボード「GeForce RTX」によるレイトレーシングは、陰影や反射、屈折などの表現に優れており、フォトリアルな画像をリアルタイムに得られる。
NVIDIA Isaacの発表後は、年間で1〜2回程度のバージョンアップが行われているが、現時点ではまだβ版のため仕様やドキュメントが変更される可能性がある。さまざまな用途が想定されているプラットフォームであるため、正式リリースが待ち望まれる。
Copyright © ITmedia, Inc. All Rights Reserved.