発表・掲載日:2008/06/18

次世代ロボット開発の共通基盤技術となるシミュレーションソフトウェア

-オープンソースライセンスでユーザーに配布開始-

ポイント

  • 多種多様なロボットを対象としたシミュレーションが行えるソフトウェアを開発
  • 高速・高精度な動力学計算エンジンを独自開発
  • 国際規格準拠のロボット用ミドルウェアを用いたソフトウェア開発を実現

概要

 独立行政法人 産業技術総合研究所【理事長 吉川 弘之】(以下「産総研」という)知能システム研究部門【研究部門長 平井 成興】中岡 慎一郎 研究員らは、国立大学法人 東京大学【総長 小宮山 宏】(以下「東京大学」という)大学院情報理工学系研究科 山根 克 准教授ら、およびゼネラルロボティックス 株式会社【代表取締役社長 五十棲 隆勝】と分担して、多種多様なロボットのシミュレーションを行えるソフトウェア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)。

GUIのプラグイン構造図
図4 GUIのプラグイン構造
  GUIの外観図
図5 GUIの外観

 本ソフトウェアのオープンソースライセンスは、西村あさひ法律事務所に依頼した調査を参考として、将来の商用化を念頭におき、EPL (Eclipse Public License)を選択した。オープンソースでの配布は6月18日に開始する。

今後の予定

 経済産業省が平成19年度から5年計画で実施している「次世代ロボット知能化技術開発プロジェクト」の一環として開発中の「ロボットソフトウェアプラットフォーム」において、ソフトウェア開発環境の充実、音響シミュレーションの追加等の継続開発を行う予定である。



用語の説明

◆オープンソースライセンス
ソフトウェアをソースコードにより配布する際に用いられるライセンスの中で、再配布の無制限、派生物の同一ライセンスによる配布義務、利用者・利用目的無差別等の記述を満たすもの。BSD系、MPL系、GPL系の3つのカテゴリーに大別され、現在70あまりのライセンスがOpen Source Initiativeにより承認されている。[参照元へ戻る]
◆動力学シミュレーション
速度や加速度により発生する力も含めた、物体の動きやロボットの動作の力学シミュレーション。[参照元へ戻る]
◆視野画像シミュレーション
ロボットの動作が与えられたときに、ロボットのカメラから見える画像を生成すること。[参照元へ戻る]
◆RTC(Robotic Technology Component)
産総研が開発するロボット用ミドルウェアOpenRTM-aistにおけるソフトウェアモジュールの基本単位。そのインターフェースは国際標準化団体OMG(Object Management Group)において標準化されている。[参照元へ戻る]
◆自由度
ロボットの関節の総数。ただし、肩関節のように複数の軸を中心として回転する場合は、各軸を1つと数える。[参照元へ戻る]
◆閉リンク機構
関節により接続されたリンクがループを形成する機構。例えば、両腕がバラバラだと開リンク機構であるが、両手を合わせると閉リンク機構になる。[参照元へ戻る]
◆拘束条件法
動力学シミュレーションにおいて、物体同士が接触した時に発生する力を計算する手法の1つ。物体同士がめり込まないという拘束条件から垂直抗力を計算し、垂直抗力に比例した力の大きさの範囲内であることと物体間の滑りを止める方向に働くことを条件として摩擦力を計算する。[参照元へ戻る]
◆EPL(Eclipse Public License)
MPL系のオープンソースライセンスで、派生物のソースコードの開示義務、ライセンス料は無償、当該ソースコードに対する特許権の不行使等を特徴とするライセンス。[参照元へ戻る]

関連記事


お問い合わせ

お問い合わせフォーム