OpenRTM-aistは、RTコンポーネントフレームワーク、RTミドルウエア、基本RTコンポーネント群、ライブラリ、基本サービス群、基本ツール群等から構成されています。 RTコンポーネントフレームワークは、RTコンポーネントを作るための基本クラスであり、すべてのRTコンポーネントはこの基本クラスのサブクラスとして作成されます。 RTミドルウエアは、フレームワークに基づいて作成されたRTコンポーネントのモジュールのロードや、インスタンスの生成・解体等のライフサイクルの管理、コンポーネントのネームサービスへの登録等を行う部分です。 これらの中には、ユーザーの利便性を向上させるライブラリ、RTコンポーネントの登録検索等の基本的サービス(現在はCORBAのNaming Serviceを利用)、RTコンポーネントの雛型コードを生成するRTCBuilder、RTコンポーネントの接続・制御等を行うRTSystemEditor等のツール群が含まれています。
現在のところ、OpenRTM-aistは C++、Python、Javaの各言語をサポートしており、Windows、UNIX系OS、μITRON(C++のみ対応)系の各OS上で動作可能です。 さらに、株式会社セックがOpenRTM-aist互換のミドルウエア:OpenRTM .NETを公開しており、C#を始めとする.NET環境でRTCを作成・実行することができます。 異なる言語で作成したRTCや異なるOS上で動作するRTCを相互に接続し連携させることが可能です。
インターフェース仕様
- OMG Robotic Technology Component Specification 1.0準拠
- OMG Super Distributed Object Specification 1.1準拠
参考
構成
OpenRTM-aist は以下の各言語版のミドルウエアライブラリおよびツール群から構成されています。
OpenRTM-aistの構成
名前 |
概要 |
OpenRTM-aist (C++版) |
C++言語でRTコンポーネントを作成するためのコンポーネントフレームワークとミドルウエアライブラリおよびコマンド群 |
OpenRTM-aist (Python版) |
Python言語でRTコンポーネントを作成するためのコンポーネントフレームワークとミドルウエアライブラリおよびコマンド群 |
OpenRTM-aist (Java版) |
Java言語でRTコンポーネントを作成するためのコンポーネントフレームワークとミドルウエアライブラリおよびコマンド群 |
RTCBuilder |
RTコンポーネントの設計、コード生成を行うためのEclipseプラグイン |
RTSystemEditor |
RTコンポーネントの操作およびRTシステムの設計・操作を行うためのEclipseプラグイン |
rtshell |
RTコンポーネント、RTシステムの操作をCUIから行うためのコマンド群 |
これらの配布物はそれぞれEPLと個別契約のデュアルライセンスの元配布されています。
動作条件
OpenRTM-aist (C++版)
コンパイラ |
gcc 3.x 以上、Visual C++ 2008、2010、2012、2013、2015、2017、2019 |
OS |
Linux、FreeBSD、Windows、Mac OS X、TOPPERS ASP |
CPU |
i386、x86_64、ppc、arm |
依存ライブラリ |
omniORB 4.0以上、libuuid (Linux) |
OpenRTM-aist (Python版)
Python |
Python 2.7、Python3.6、Python 3.7 |
依存ライブラリ |
omniORBpy-2.3以上 |
OpenRTM-aist (Java版)
Java |
JDK5 以上 |
依存ライブラリ |
JDK に含まれる Java IDL |
RTCBuilder/RTSystemEditor
Eclipse |
3.4 以上 |
Java |
JDK6 以上 |
依存ライブラリ |
Eclipse EMF 2.2以上(SDO,XSD含む)、
Eclipse GEF 3.2以上(Draw2D含む) |
rtshell
Python |
Python 2.7、Python3.6、Python 3.7 |
依存ライブラリ |
omniORBpy-2.3以上 |