English

 

発表・掲載日:2010/01/28

RTミドルウエア:OpenRTM-aist バージョン1.0をリリース

-OMG世界標準準拠の次世代ロボットプラットフォーム-

ポイント

  • 柔軟なロボットシステムの効率的開発を支援する基盤ソフトウエア技術を開発
  • 国際標準に準拠したインターフェースによりOS・言語・ベンダー間の相互運用性向上を実現
  • オープンソースライセンスと個別契約のデュアルライセンス方式により配布

概要

 独立行政法人 産業技術総合研究所【理事長 野間口 有】(以下「産総研」という)知能システム研究部門【研究部門長 比留川 博久】統合知能研究グループ【研究グループ長 神徳 徹雄】 安藤 慶昭 主任研究員らは、ロボットのさまざまな機能要素を、通信ネットワークを介して自由に組み合わせるためのソフトウエアプラットフォーム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) と個別ライセンス契約のうち、任意の一方を自由に選択できるデュアルライセンス方式とした。

RTミドルウエアとRTコンポーネントの図
図1 RTミドルウエアと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では、コンポーネントフレームワークだけでなく、コンポーネントの生成・公開・削除等の管理を行うミドルウエアライブラリも提供される。開発者は他のモジュールとの連携部分など、定型的な部分には注意を払うことなく、実現したい機能をモジュールとして実装することに専念することができる。

RTコンポーネントの主な機能の図
図3 RTコンポーネントの主な機能

RTコンポーネントで既存のソフトウエア資産をモジュール化、RTミドルウエア上で実行する。

 多人数や多数のベンダーが関与するシステム開発においても、インターフェースが共通化されているため、効率的に開発を行うことが可能であり、モジュールの再利用も容易となる。また、大きな特徴として、異なるOSや異なる言語で記述されたRTコンポーネント同士も容易に連携させることができる。この特徴により、抽象度の高い機能を高級言語で記述し、処理速度が要求される部分を低級言語で記述する等、さまざまな粒度や抽象度を持つソフトウエアで構成されるロボットシステムを柔軟に構成することが可能である。

OpenRTM-aistの搭載が予定されているロボットの例の写真
図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が開発されている。いずれも、開発が終了し次第、オープンソースソフトウエア、もしくはフリーのソフトウエアとして一般公開される予定である。


用語の説明

◆RT(Robot Technology
単体のロボットだけでなく、空間内にセンサー等を分散させた知能化空間、既存の機械等をより知能化したシステムなど、多様化したロボット的システムと、ロボット工学由来の技術要素を総称してRTと呼ぶ。[参照元へ戻る]
◆ミドルウエア
アプリケーションソフトの開発効率を上げるために、特定の分野で頻繁に利用される機能をまとめて提供するソフトウエア。OSほど汎用的でなく、アプリケーションソフトほど特化されておらず、中間的な性格を持つ。グラフィックプログラム用、データベースプログラム用、分散オブジェクト環境用などのさまざまなミドルウエアがそろいつつあり、プログラム開発効率を向上させる鍵となっている。[参照元へ戻る]
◆RTミドルウエア
ロボットシステム開発用のソフトウエア基盤技術。RTスペースのようなロボットの機能部品をモジュール化し、そのモジュール化された機能部品を組み合わせて、ユーザーの要求に応えるサービスを提供するためのソフトウエア技術。この技術によりシステムを設計者が簡単に効率良くシステムを組み上げていくことを可能にする。[参照元へ戻る]
◆オープンソースライセンス
ソフトウエアをソースコードにより配布する際に用いられるライセンスの中、再配布の無制限、派生物の同一ライセンスによる配布義務、利用者・利用目的無差別等の記述を満たすもの。BSD系、MPL系、GPL系の3つのカテゴリーに大別され、現在70あまりのライセンスがOpen Source Initiativeにより承認されている。[参照元へ戻る]
◆RTコンポーネント
RTミドルウエアにおけるソフトウエアモジュールの基本単位。そのインターフェースは国際標準化団体OMG(Object Management Group)において標準化されている。[参照元へ戻る]
◆OMG™(Object Management Group™)
オブジェクト指向技術の標準化、普及をすすめるため、1989年に設立された業界団体。世界中の約460の団体が会員になっており、これまでにCORBA™(Common Object Request Broker Architecture™)、UML™(The Unified Modeling Language™)などを標準化した実績を持つ。(出典:http://e-words.jp/をもとに作成) [参照元へ戻る]
◆EPL(Eclipse Public License
MPL系のオープンソースライセンスで、派生物のソースコードの開示義務、ライセンス料は無償、当該ソースコードに対する特許権の不行使等を特徴とするライセンス。[参照元へ戻る]
◆デュアルライセンス
1つのソフトウエアを2つまたはそれ以上のライセンスの元で配布する形態を指し、利用者は2つないしはそれ以上の種類のライセンスから1つを選択して、ソフトウエアを利用または再配布することができる。一方をオープンソースライセンスとして無料で配布可能にするとともに、ソースコードの改変や秘匿が必要な法人に対してはコマーシャルライセンス版を提供することで、双方の利用者に利用しやすくするなどの目的で用いられることが一般的である。[参照元へ戻る]

関連記事


お問い合わせ

お問い合わせフォーム

▲ ページトップへ