ロボットの開発に広く利用されるようになっているロボット開発プラットフォーム「ROS(Robot Operating System)」の活用について解説する本連載。今回は、「ROSとシミュレーターの組み合わせ事例」をテーマに、ROSとフォトリアルなシミュレーター「Isaac Sim」の連携について具体的な手法を紹介する。
前編では「ROS」がオープンソースソフトウェアとしてどのように進化してきたのかを紹介した。また、中編ではROSの活用先として複数のシミュレーターとの連携について紹介した。【訂正あり】
ROSのシミュレーターは「Gazebo」が事実上の標準になってはいるが、ROSのブリッジ機能を備え、トピック間通信に対応しているツールであればシミュレーターとしての使用が可能だ。中編で紹介した「VTC on Unity」や「Omniverse Isaac Sim」は精細なレンダリング画像や物理シミュレーションが特徴だが、残念ながらROSのシミュレーターとしての活用報告はまだ少ないようだ。
本連載は、ROSについて以下の3部構成で解説している。
後編に当たる今回は、「ROSとシミュレーターの組み合わせ事例」をテーマに、中編に続きNVIDIAのOmniverse Isaac Sim(以下、Isaac Sim)に焦点を当てて、実際に操作を進めながら活用例を紹介する。
まずは、シミュレーターとなるIsaac Simの環境を整えていこう。
Isaac Simでは、フォトリアルな画像がリアルタイムで生成されるとともに、物理エンジンがGPUアクセラレーションに対応している。ROS topicの送受信にも部分的に対応しており、公式サンプルを環境に合わせて設定を変更するだけでROSとの連携が可能だ(現在はROS1のみ対応)。
Isaac Simは、Pythonでプログラムを作成することで詳細な操作が可能だが、今回はできるだけGUI操作のみでIsaac SimとROSを連携してみたい。
では早速Isaac Simをインストールしよう。今回は以下の環境を使用する。
なお、Isaac Simの動作環境やインストール方法についてはNVIDIAの公式ドキュメントを参照してほしい。
Isaac Simの操作の大半は「Omniverse Kit Remote(以下、Kit Remote)」の画面を通じて行う。クライアントでKit Remoteのアプリケーションが起動すると次のような画面が表示されるはずだ。
なお、詳細な操作方法についてはNVIDIAの公式ドキュメント「Layout Explained」を参照のこと。
Copyright © ITmedia, Inc. All Rights Reserved.