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