RTミドルウエア

RTミドルウエア (RT-middleware) とは、ロボット、もしくはロボット技術 (Robotics Technologies, RT) を用いたシステムを構成する機器を制御するソフトウエア・モジュールの規格群を指す。現在ではモジュール間の通信におけるインターフェースが規定されており、この規格は、CORBAやUMLの規格化で知られるObject Management Groupによって議論がなされた後に策定される国際的な標準規格の一つである。
特徴.
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規格を実装しており、C++、Java、Pythonでの実装があり、Linux, Mac OSおよびWindowsでの運用が可能である。また、CORBAの特徴を生かした複数ホストによる分散システムや、Linuxカーネルのプリエンプションを利用したリアルタイムな実行コンテキストをサポートしており、PCをベースとしたロボットシステム開発に有効なツールとなっている。
OpenRTM.NET.
OpenRTM.NETとは、.NET Frameworkによる実装である。株式会社セックによって開発されている。OpenRTM-aistと同様にOMGによるRobitics Technology Component Specification version 1.0規格を実装しており、.NET Frameworkの特性を生かした複数言語のサポートや、上記のOpenRTM-aistとの通信をはじめ、SOAPなどの複数の通信プロトコルをサポートしているのが特徴である。また、Monoを用いることでMac OSやLinuxでの運用もサポートしている。
RTM on Android.
Android上で動作するRTCを開発するためのライブラリ。株式会社セックが開発している。
TOPPERS版 RTM.
組込みボード上で動作するTOPPERS OS版のRTM。株式会社未来技術研究所が開発。
RTC Lite.
RTC規格を組み込み向けに見直した軽量版RTCの規格であり、その実装として株式会社セックが開発しているminiRTCおよびmicroRTCがあり、CANバスおよびZigBeeプロトコル上での通信が可能となっている。
RTM Safety.
国際規格IEC 61508 SIL3 Capable準拠のRTミドルウエア。株式会社セックが開発を行っている
Gostai RTC.
Gostai RTCとは、フランスGostai社の開発したRTコンポーネント規格に準拠したロボット用ソフトウエアプラットフォームのことをさす。