独立行政法人 産業技術総合研究所【理事長 野間口 有】(以下「産総研」という)知能システム研究部門【研究部門長 比留川 博久】統合知能研究グループ【研究グループ長 神徳 徹雄】 安藤 慶昭 主任研究員らは、ロボットのさまざまな機能要素を、通信ネットワークを介して自由に組み合わせるためのソフトウエアプラットフォームRT(Robot Technology)ミドルウエア「OpenRTM-aist (Open Robot Technology Middleware implemented by AIST)」のC++言語版最新バージョン1.0を開発し、オープンソースライセンスで配布を開始する。
OpenRTM-aistは、センサーやモーター、ロボットアームや移動台車など、ロボットの機能要素をソフトウエアレベルでモジュール化し、信頼性や再利用性を高めることで、ロボットシステムの開発を効率的に行うことができる。モジュールの基本単位であるRTコンポーネントのインターフェース仕様は、国際標準化団体OMG™ (Object Management Group™)において公式標準仕様として採択されたRTC (Robotic Technology Component) 仕様バージョン1.0に準拠しており、同時にOpenRTM-aistがOMG RTC仕様に準拠した世界初の実装である。
OpenRTM-aistは、次世代ロボットの研究開発を効果的・効率的に促進する共通基盤技術となるものと期待され、国内外の多数のロボットシステムに利用されている。OpenRTM-aistは、http://www.openrtm.org からソースコードおよびWindows用インストーラやLinux用パッケージとして取得可能である。本ソフトウエアのライセンスは、オープンソースコミュニティーへの貢献と、技術移転による将来的な事業化の両方を念頭におき、EPL (Eclipse Public License, v 1.0) と個別ライセンス契約のうち、任意の一方を自由に選択できるデュアルライセンス方式とした。
|
図1 RTミドルウエアとRTコンポーネント
RTコンポーネントで既存のソフトウエア資産をモジュール化、RTミドルウエア上で実行する。
|
|
図2 RTコンポーネントの例
GUIを持つRTコンポーネントとRTコンポーネントを操作するインターフェース: RTSystemEditor
|
従来、ロボットの研究開発は個別的に実施されることが多く、各機関がすべてのソフトウエアを一から開発していたため効率が低かった。また、システム間のインターフェースの互換性や標準が存在しないため、過去のソフトウエア資産を再利用するのに多くの労力を要し、ロボットの高価格化の一因となっていた。医療、福祉、介護やエンターテイメント分野などでは、日常生活空間で動作するサービスロボットの実現が待たれている。モジュール化による開発効率の向上と開発コストの削減がロボットのコストダウンにつながり、本格的に実用化されることが期待されている。現在、こうした問題を解決するために、世界各国でロボットのためのソフトウエアプラットフォームが競って開発されている。
本ソフトウエアの旧バージョンであるOpenRTM-aistバージョン0.2は、2002年度から3年計画で行われた「ロボットの開発基盤となるソフトウエア上の基盤整備」プロジェクト(独立行政法人 新エネルギー・産業技術総合開発機構(以下「NEDO」という)の委託事業)において開発され、2005年に評価用として一般公開された。その後、OpenRTM-aistバージョン0.2のインターフェース仕様をもとにした標準仕様草案をOMGに対して提案し、米国ミドルウエアベンダと共同で統合標準仕様原案を作成、OMG技術会議に提案し採択された。この標準仕様原案のRTCインターフェースをもとにバージョンアップを行ったOpenRTM-aistバージョン0.4を、2006年5月にリリースした。標準仕様原案は最終的な公式文書化の作業を経て、2008年4月に公式標準仕様としてリリースされた。
OpenRTM-aist-0.4は「今年のロボット大賞2007」において、OMGでの標準化と国際標準準拠のソフトウエアであることが評価され、ソフトウエア・部品部門優秀賞受賞を受賞した。生活空間内で活動するサービスロボットの実用化に向けて、ロボット技術の標準化を加速し、開発を効率化するソフトウエアプラットフォームとして、RTミドルウエアの普及が期待されている。
2007年度から5年計画で行われている、経済産業省(2008年度からはNEDO)の委託事業「次世代ロボット知能化技術開発プロジェクト」においては、ロボットソフトウエアプラットフォームの基盤技術としてOpenRTM-aistが利用されており、多数のRTコンポーネントおよび開発ツール群が開発されている。
OpenRTM-aistは、インターネット上で一般公開されており、これまでの全バージョンを含めると、累計1万件以上ダウンロードされている。今回のOpenRTM-aistバージョン1.0はOMGの公式標準仕様にOpenRTM-aistとして準拠した初のバージョンであるとともに、OMG RTC仕様に準拠した世界初の実装である。バージョン1.0では同時に、多機能なデータストリームポート、遠隔からのコンポーネント制御を可能にするマネージャ機能等が追加されるなど、実用化に向けた高品質化、高機能化が図られている。
OpenRTM-aistおよび、OMG RTC仕様の核となるのは、モジュールの状態管理やモジュール間のインターフェース接続を管理する機能を備えたRTコンポーネントアーキテクチャである。ネットワーク上に分散した、さまざまな機能を持つモジュールを統一的に管理、統合するための基本的機能を提供するRTコンポーネントフレームワークにより、システム開発者はさまざまなロボット機能要素を容易にモジュール化し、他のモジュールと連携させることができる。OpenRTM-aistでは、コンポーネントフレームワークだけでなく、コンポーネントの生成・公開・削除等の管理を行うミドルウエアライブラリも提供される。開発者は他のモジュールとの連携部分など、定型的な部分には注意を払うことなく、実現したい機能をモジュールとして実装することに専念することができる。
|
図3 RTコンポーネントの主な機能
RTコンポーネントで既存のソフトウエア資産をモジュール化、RTミドルウエア上で実行する。
|
多人数や多数のベンダーが関与するシステム開発においても、インターフェースが共通化されているため、効率的に開発を行うことが可能であり、モジュールの再利用も容易となる。また、大きな特徴として、異なるOSや異なる言語で記述されたRTコンポーネント同士も容易に連携させることができる。この特徴により、抽象度の高い機能を高級言語で記述し、処理速度が要求される部分を低級言語で記述する等、さまざまな粒度や抽象度を持つソフトウエアで構成されるロボットシステムを柔軟に構成することが可能である。
|
図4 OpenRTM-aistの搭載が予定されているロボットの例
(左から、川田工業・産総研:HRP-2、 産総研:HRP-4C、川田工業:HIRO)
|
経済産業省およびNEDOが平成19年度から5年計画で実施している「次世代ロボット知能化技術開発プロジェクト」の一環として、Java言語版、Python言語への移植版OpenRTM-aistバージョン1.0および、同プロジェクトにおいて開発中の「ロボットソフトウエアプラットフォーム」として、OpenRTM-aistバージョン1.0対応のシステム開発ツールが継続開発される予定である。また、NEDOが平成20年度から3年計画で実施している「基盤ロボット技術活用型オープンイノベーション促進プロジェクト」の一環として、μITRON系OSへの移植版OpenRTM-aistバージョン1.0が開発されている。いずれも、開発が終了し次第、オープンソースソフトウエア、もしくはフリーのソフトウエアとして一般公開される予定である。