産総研、ロボット開発の基盤技術をオープンソースで公開

産総研などが共同開発したロボットソフトウェアプラットフォーム「OpenHRP3」がEPLの下で公開された。ロボットのソフトウェア開発・シミュレーションといった部分の効率性向上が期待される。

» 2008年06月18日 20時25分 公開
[ITmedia]

 産業技術総合研究所知能システム研究部門、東京大学中村・山根研究室、ゼネラルロボティックスは6月18日、共同開発したロボットソフトウェアプラットフォーム「OpenHRP3」(Open Architecture Human-centered Robotics Platform 3)を、EPL(Eclipse Public License)の下で配布を開始したことを明らかにした。個別に開発されることが多い、ロボットソフトウェア開発の非効率性の解消が期待される。

ヒューマノイドロボットの例(左)と多数の接触を伴うシミュレーションの例(右) (画像出典:産総研)

 OpenHRP3は、ロボットアーム、車輪型移動ロボット、人間型ロボットなどの多様なロボットの動力学シミュレーションと視野画像シミュレーションを行うことが可能で、これを用いることでロボットの経路計画・動作制御・視覚フィードバック制御などのソフトウェア開発を効率的に行える。OpenHRPでは基本となるサーバ/クライアントとして以下のようなプログラムで構成される。

プログラム 詳細
Controller ロボットの制御プログラムを実装するサーバ。ユーザーはこのControllerを開発することで、独自の制御プログラムをシミュレーション可能となる
DynamicsSimulator 力学計算を行うサーバ。順動力学計算・接触力計算・積分など、シミュレーションにおける主要な計算はこのサーバが行う
CollisionDetector 干渉検出処理を行うサーバ。トライアングルメッシュとして表現された幾何モデル同士の干渉点を検出する。接触シミュレーションのためDynamicsSimulatorから利用される。
ModelLoader ロボットの機構や形状のモデルを記述したモデルファイルを読み込むためのサーバ。テキスト記述されたモデルファイルをパースし、プログラム上扱いやすいデータ構造として提供する。
ViewSimulator ロボットのカメラから得られる映像をシミュレートするサーバ。主にカメラ映像を利用するコントローラーから利用される
GrxUI OpenHRPの標準GUIフロントエンド。各サーバとシミュレーションの進行を管理し、シミュレーション結果をグラフィック表示する

 OpenHRP3の動力学計算エンジンはABA(Articulated Body Algorithm)とADA(Assembly-Disassembly Algorithm)の2つを実装する。両者の使い分けとしては、動作速度の点で、比較的自由度の少ないロボットに対してはABAエンジン、自由度の多いロボットに対してはADAエンジンが適しているという。

 ABA、ADAどちらの動力学計算エンジンも、物体間に働く反力の計算は拘束条件法を利用しているが、複雑な接触条件に対しても安定かつ効率的に解を得ることが可能なアルゴリズムが開発できたことで、ロボットと環境物体の間で多数の接触を伴うシミュレーションも実現可能とした。

 今後、ソフトウェア開発環境の充実、音響シミュレーションの追加などの継続開発が予定されている。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ