用語集

RTミドルウェア(RTM)

ロボットの機能要素をモジュール化し、その組み合わせによりシステムを構築するための共通プラットフォーム規格です。
そのモジュールのことをRTコンポーネント(RTC)と呼びます。
OpenRTM-aist、OpenRTM.NET等の実装が存在します。

OpenRTM-aist

産業技術総合研究所が開発しているRTミドルウェア規格に基づいたソフトウェアプラットフォームです。
分散オブジェクト技術CORBAを内部的に使用しており、複数のプログラミング言語、OSで動作するRTC同士で通信が可能です。
C++、Python、Javaに対応しており、またWindows、Linux、Mac OS Xで動作できます。

CORBA

様々なプログラミング言語で実装されたソフトウェアコンポーネントを相互利用するための標準規格です。
omniORB、IIOP.NET等の実装が存在します。

RTコンポーネント(RTC)

RTミドルウェアで規格されているソフトウェアモジュールです。
外部のRTCとの通信するためのデータポート、サービスポートを持っています。
またパラメータを動的に変更する仕組みとしてコンフィギュレーションパラメータを使用しています。
各RTCは何らかの実行コンテキストと関連付けられており、実行コンテキストのスレッド内でRTCのロジックが駆動します。
Created、Inactive、Active、Errorの状態が存在し、Acrtive状態の時に処理を有効にするようにRTCを実装します。

データポート

連続的なデータの通信を行うためのポートです。OutPortとInPortの2種類が存在し、それぞれをコネクタで接続することで通信できます。データポートにはデータ型を設定されており、同じデータ型の時にコネクタの接続、通信ができるようになります。
CORBAはGIOPというプロトコルを使用しており、またGIOPをTCP/IP上に実装したIIOPで通信を行うため内部的にはTCP/IPで通信しています。ただし同一プロセス内で起動したRTC同士の通信は関数呼び出しで行われます。

OutPort

データを出力する側のデータポートです。

InPort

データを入力する側のデータポートです。

コンフィギュレーションパラメータ

パラメータを外部から変更するための機能です。RTシステムエディタ等で変更、あるいは設定ファイルに予め設定しておく事ができます。

サービスポート

ユーザー定義の任意のインターフェースを利用できる機能です。機能を提供するコンシュマー、機能を要求するプロバイダのインターフェースを持たせる事ができます。
提供する機能はIDLという言語で定義します。共通のIDLファイルをコンパイルすることで各言語用のコードを生成できます。

RTシステムエディタ(RTSE)

RTCを操作するための開発ツールです。
GUI上でデータポート、サービスポートの接続、コンフィギュレーションパラメータの変更、状態の変更等が行えます。

Intel Edison

Intelの開発したシングルボードコンピュータです。

SDカードサイズの基盤になっています。

Intel EdisonをArduino互換拡張ボード上に実装したIntel Edison Kit for Arduino等が販売されています。

Arduino

AVRマイコンを使用したマイコンボード、プログラムの統合開発環境から構成されるシステムです。

Arduinoの主要モデルの一つのArduino Uno rev 3です。

Arduinoの統合開発環境です。