RTミドルウエア
![](http://upload.wikimedia.org/wikipedia/commons/thumb/9/9a/RTmiddleware_logo.jpg/256px-RTmiddleware_logo.jpg)
RTミドルウエア (RT-middleware) とは、ロボット、もしくはロボット技術 (Robotics Technologies, RT) を用いたシステムを構成する機器を制御するソフトウエア・モジュールの規格群を指す[1]。現在ではモジュール間の通信におけるインターフェースが規定されており、この規格は、CORBAやUMLの規格化で知られるObject Management Groupによって議論がなされた後に策定される国際的な標準規格の一つである[2]。
特徴
RTコンポーネント
RTミドルウエアでは、上述のソフトウエア・モジュールをRTコンポーネント (RT-Component, RTC) と呼び、ロボット技術を用いたシステムは、単一ないしは複数のRTコンポーネントの組み合わせで構成される。したがって、RTミドルウエアは分散制御システムを前提とした規格である。
RTコンポーネントはポートと呼ばれるインターフェースを有しており、ポートの接続によってRTコンポーネント間の通信がなされる。ポートはそれぞれタイプ(型)を持っており、同一タイプのポートならば接続が可能になる。
またRTコンポーネントは状態マシンとして、CREATED、INACTIVE、ACTIVE、ERRORの状態を持ち、それぞれの遷移および遷移に伴うアクションを管理する実行コンテキストを持つのがRTコンポーネントの特徴である。実行コンテキストを制御することにより、RTコンポーネントの状態管理や、周期実行時の同期などが可能になる。
RTミドルウエアの実装
RTミドルウエアに関する規格は分散システムを前提としており、CORBAや.NET Framework、EJBなどの実装に依存しないプラットフォーム独立モデル (PIM) によって定義されている。一方で、プラットフォームに依存する形での実装として、下記のものが公開されている。
OpenRTM-aist
OpenRTM-aistとは、CORBAによる実装である。産業技術総合研究所によって開発されている。OMGによるRobitics Technology Component Specification version 1.0[2]規格を実装しており、C++、Java、Pythonでの実装があり、Linux, Mac OSおよびWindowsでの運用が可能である。また、CORBAの特徴を生かした複数ホストによる分散システムや、Linuxカーネルのプリエンプションを利用したリアルタイムな実行コンテキストをサポート[3]しており、PCをベースとしたロボットシステム開発に有効なツールとなっている。
OpenRTM.NET
OpenRTM.NETとは、.NET Frameworkによる実装である。株式会社セックによって開発されている[4]。OpenRTM-aistと同様にOMGによるRobitics Technology Component Specification version 1.0[2]規格を実装しており、.NET Frameworkの特性を生かした複数言語のサポートや、上記のOpenRTM-aistとの通信をはじめ、SOAPなどの複数の通信プロトコルをサポートしているのが特徴である。また、Monoを用いることでMac OSやLinuxでの運用もサポートしている[5][6]。
RTM on Android
Android上で動作するRTCを開発するためのライブラリ。株式会社セックが開発している[6]。
TOPPERS版 RTM
組込みボード上で動作するTOPPERS OS版のRTM。株式会社未来技術研究所が開発。[7]
RTC Lite
RTC規格を組み込み向けに見直した軽量版RTCの規格であり、その実装として株式会社セックが開発しているminiRTCおよびmicroRTCがあり、CANバスおよびZigBeeプロトコル上での通信が可能となっている[6]。
RTM Safety
国際規格IEC 61508 SIL3 Capable準拠のRTミドルウエア。株式会社セックが開発を行っている[8]
Gostai RTC
Gostai RTCとは、フランスGostai社の開発したRTコンポーネント規格に準拠したロボット用ソフトウエアプラットフォームのことをさす[9]。
脚注
- ^ Noriaki ANDO, Takashi SUEHIRO, Kosei KITAGAKI, Tetsuo KOTOKU, Woo-Keun Yoon, "RT-Middleware: Distributed Component Middleware for RT (Robot Technology)", 2005 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS2005), pp.3555-3560, 2005.08, Edmonton, Canada
- ^ a b c Robotics Technology Component Specification version 1.0, Object Management Group (OMG)
- ^ 産総研プレスリリース, "働く人間型ロボット研究開発用プラットフォームHRP-4を開発", 産総研, 2010年9月, https://www.aist.go.jp/aist_j/press_release/pr2010/pr20100915/pr20100915.html
- ^ 長瀬 雅之, 中本 啓之, 池添 明宏、はじめてのコンポーネント指向ロボットアプリケーション開発「RTミドルウエア超入門」、毎日コミュニケーションズ、2008年
- ^ 長瀬 雅之, "連載:SEのためのRTシステム概論RTCとRTミドルウエア", ThinkIT, 2009年6月, http://thinkit.co.jp/article/962/1
- ^ a b c 株式会社セック、株式会社セック ロボットサイト - RTミドルウェア
- ^ [1] (PDF) (未来技術研究所 - FTL開発事例)
- ^ 株式会社セック RTMSafety製品ページ
- ^ Gostai RTC, Gostai technologies.
関連項目
外部リンク
- RTミドルウエアプロジェクト
- OpenRTM-aistウェブサイト