独立行政法人 産業技術総合研究所【理事長 吉川 弘之】(以下「産総研」という)知能システム研究部門【研究部門長 平井 成興】中岡 慎一郎 研究員らは、国立大学法人 東京大学【総長 小宮山 宏】(以下「東京大学」という)大学院情報理工学系研究科 山根 克 准教授ら、およびゼネラルロボティックス 株式会社【代表取締役社長 五十棲 隆勝】と分担して、多種多様なロボットのシミュレーションを行えるソフトウェアOpenHRP3 (Open Architecture Human-centered Robotics Platform 3)を開発し、オープンソースライセンスで平成20年6月18日に配布を開始する。
OpenHRP3は、ロボットアーム、車輪型移動ロボット、人間型ロボット等の多様なロボットの動力学シミュレーション(図1、2)、視野画像シミュレーションを行うことができ、これを用いてロボットの経路計画・動作制御・視覚フィードバック制御等のソフトウェア開発を効率的に行える。また、ユーザープログラムは、国際標準化団体OMG (Object Management Group)により国際規格として認められたRTC (Robotic Technology Component)を用いて開発できる。このように、OpenHRP3は、次世代ロボットの研究開発を効果的・効率的に促進する共通基盤技術になるものと期待される。なお、本ソフトウェアは、https://fkanehiro.github.io/openhrp3-doc/jp/から取得できる。
図1 アームの例(モデル提供:三菱重工(株))
|
|
図2 ヒューマノイドロボットの例
|
内閣府総合科学技術会議は、国家的・社会的に重要かつ関係府省の連携の下に推進すべきテーマを定め、関連施策等の不必要な重複を排除し、連携を強化した上で、科学技術連携施策群として推進している。その中の1つである次世代ロボット連携群では、次世代ロボット研究開発を加速する基盤・インフラ技術を「次世代ロボット共通プラットフォーム技術」と位置づけ、社会に提供することを中核ミッションとして活動を展開している。
従来、ロボットの研究開発は個別的に実施されることが多く、各機関が全てのソフトウェアを一から開発していたため効率が良くなかった。また、新規ハードウェアを開発した際には過去のソフトウェア資産を再活用するのに多くの労力を要していた。このようなロボットソフトウェア開発の非効率性の解決を図るため、次世代ロボット共通のプラットフォーム技術が求められている。
通商産業省(現経済産業省)が平成10年度から5年計画で実施した人間協調・共存型ロボットシステムの研究開発プロジェクトにおいて、産総研は本ソフトウェアの旧バージョンであるOpenHRP2を開発した。OpenHRP2は、人間型ロボットのシミュレーションを主な対象とし、バイナリ配布であったが、本研究では対象を一般のロボットに拡大するとともに、オープンソースで配布するOpenHRP3の開発を行った。
OpenHRP3は動力学計算エンジンとしてABA (Articulated Body Algorithm) とADA (Assembly-Disassembly Algorithm)を実装する。研究の分担としては、産総研が全体の設計およびABAエンジンの開発等、東京大学がADAエンジンの開発、ゼネラルロボティックス 株式会社がグラフィカルユーザーインターフェイスを担当した。
なお、本研究は、内閣府総合科学技術会議の推進する科学技術連携施策群次世代ロボット連携群における補完的課題「分散コンポーネント型ロボットシミュレータ」【研究代表者 比留川 博久(産総研 知能システム研究部門 副研究部門長)】として、文部科学省科学技術振興調整費により平成17年度から3年計画で実施された。
OpenHRP3の核となる動力学計算エンジンについては、ロボットの自由度に比例する時間で計算が可能なABA (Articulated Body Algorithm)を実装したものと、東京大学 中村仁彦 教授、山根 克 准教授が独自に開発したADA (Assembly-Disassembly Algorithm)を実装したものを開発した。ADAは、閉リンク機構を含む剛体リンク機構のシミュレーションが可能で、単一CPUの場合は自由度に比例する時間で、また、十分多くのCPUが利用できる場合は自由度の対数の時間で高速に計算が可能である。ADAは計算誤差が小さく、かつ、質量の大きなリンクと小さなリンクが混在するようなロボットの動力学も安定に計算できるという特徴を持つ。両者の使い分けとしては、動作速度の点で、比較的自由度の少ないロボットに対してはABAエンジンが適しており、自由度の多いロボットに対してはADAエンジンが適している。
ABA、ADAどちらの動力学計算エンジンも、物体間に働く反力の計算は拘束条件法を利用している。拘束条件法は、正確な反力を計算する手法として知られていたが、従来は数値的に安定な実装が困難であった。本研究では、複雑な接触条件に対しても安定かつ効率的に解を得ることが可能なアルゴリズムを開発し、ロボットと環境物体の間で多数の接触を伴うシミュレーションも実現可能とした(図3)。
|
図3 多数の接触を伴うシミュレーションの例
|
グラフィカルユーザーインターフェイス(GUI)は、シミュレータの実行に加えて、ロボット実機の制御、ロボットの動作パターンの生成といった作業を想定して、各作業に対応したデータ構造(これをアイテムと呼ぶ)と、それを編集・表示するためのGUI部品(これをビューと呼ぶ)を構成単位とし、ユーザーがこれらをプラグインとして追加できる構造とした(図4、図5)。
図4 GUIのプラグイン構造
|
|
図5 GUIの外観
|
本ソフトウェアのオープンソースライセンスは、西村あさひ法律事務所に依頼した調査を参考として、将来の商用化を念頭におき、EPL (Eclipse Public License)を選択した。オープンソースでの配布は6月18日に開始する。
経済産業省が平成19年度から5年計画で実施している「次世代ロボット知能化技術開発プロジェクト」の一環として開発中の「ロボットソフトウェアプラットフォーム」において、ソフトウェア開発環境の充実、音響シミュレーションの追加等の継続開発を行う予定である。