OpenRTM-aistとは,日本の産業技術研究所が主体となって開発しているロボット用の総合プラットフォーム規格「RTミドルウエア」に則った形で,産総研自身が開発しているソフトウェア・ライブラリ(およびツール群)のことです.
RTミドルウエアの定義をもう一度
RTミドルウエアとは,ロボットに代表されるメカトロニクスシステムを,ロボット技術(RT)を用いた要素(RTコンポーネント)の組み合わせによって構成するための「通信規格」です.あくまでも通信規格なので本来はソフトウエアそのものを指す言葉ではありません.
OpenRTM-aist
OpenRTM-aistは産総研が開発したRTミドルウエア対応ライブラリで,日本国政府の実質的な支援を受けながら開発を行っています.
機能としてはRTミドルウエア規格に加えて,独自の拡張を行った機能やマネージャなどを使った使いやすく,再利用性の高いコンポーネント開発環境を提供しています.
RTミドルウエア自体は分散コンポーネント技術上に実装することを意識した規格になっており,.NETやJavaとの親和性が高いように見えます.OpenRTM-aistは分散コンポーネント技術の「CORBA」を用いています.
CORBAとは
CORBAは複数のサーバ上にあるリソースを,単一のホスト内にあるクラスライブラリのように実行することができる機能です.詳しくはCORBAの解説書を読んでください.CORBA自体もOSに縛られない実装規格であり,CORBAを実装しているライブラリも複数あり,OSや言語はそれぞれの実装によって異なります.
実行できるOS
さて,話がそれましたがOpenRTM-aistは2010年3月現在,以下のOS上での開発が可能になっています.
- WindowsXP, Vista, 7
- Unix系OS (Ubuntu Linux, Debian GNU/Linux等)
これ以外にも,まだ正式ではありませんが,Mac OS,TOPPERS,VxWorksなどの実装があります.
実行できる言語
OpenRTM-aistを開発できる言語は2010年8月現在で以下のものがあります.
- C++
- Python
- Java
また非公式ですが,Rubyへの対応が予定されています.
ほかの実装はないの?
OpenRTM-aist以外には,株式会社セックの開発しているOpenRTM.NETが存在します.韓国やドイツでもRTミドルウエア規格に対応したプラットフォームの開発が計画されているようです.