OpenRTM-aistでコンポーネント作成入門

ここではOpenRTM-aistでコンポーネントを作成する方法を学習します。
C++またはPythonでの作成方法を学習することができます。

事前準備

このトピックでは以下のことを前提としています。

・e-ラーニング全体の事前準備を確認していること
OpenRTM-aistを使うための事前準備

・ここではWindows10を使って説明しています。OSやそのバージョンによりツールやコンポーネントの配置場所、画面の構成に違いがあることがあります。

1. 全体説明

入力, 出力, 変換の3つのコンポーネントを作成し、入力した値とコンフィギュレーションで設定した値を乗算して表示するシステムを作成します。

図1-1 コンポーネント全体図

図1-1 コンポーネント全体図

1.1 作成するコンポーネント

・ConsoleInFloat
標準入力を使用して数字を入力、OutPortから値を出力
・ConsoleOutFloat
InPortから入力された値とコンフィギュレーションで設定した値を乗算し、OutPortから値を出力
・ConsoleConvertFloat
InPortから入力値をコンソールに表示

1.2 コンポーネント作成の流れ

コンポーネントは、以下の手順で作成します。
①仕様を決める
どの様なコンポーネント作成するか決める。使う変数や言語を設定します。
②コンポーネントのひな形を生成
RTCBuilderを使用してコンポーネントのひな形を生成します。RTCBuilderにコンポーネントの基本情報(言語、通信など)を入力するとその基本情報に合わせてコンポーネントの共通の部分を作成することができます。

③コンポーネントのプログラムを作成
コンポーネントをプログラミング言語を使用して編集します。この部分で自分が作成したいコンポーネントのコアロジック(重要な部分)を作成します。

1.3 コンポーネントの仕様

作成するコンポーネントの仕様は以下になります。

・ConsoleInFloat

コンポーネント名称 ConsoleInFloat
OutPort
ポート名 OutFloat
変数 outfloat
RTCTimedFloat
説明 Floatの値を出力

・ConsoleOutFloat

コンポーネント名称 ConsoleOutFloat
InPort
ポート名 InFloat
変数 infloat
RTCTimedFloat
説明 Floatの値を入力

ConsoleConvertFloat

コンポーネント名称 ConsoleConvertFloat
InPort
ポート名 InFloat
変数 infloat
RTCTimedFloat
説明 Floatの値を入力
OutPort
ポート名 OutFloat
変数 outfloat
RTCTimedFloat
説明 Floatの値を出力
Configuration
パラメータ名 multiplication
float