RTCの実装
Simple Wiki Based Contents Management System
ソフトウェア関連 >> OpenRTM-aist のRTC開発システム(Yarbs) >> RTCの実装

RTCの実装

次にRTCの実装を行っていきます。Yarbsでは、作成したRTCの仕様(YAML形式のファイル)からC++またはPythonのひな形を生成し、それを編集して実装コードを作成します。
Yarbsで実装したRTCの振舞いは、C++とPythonで若干異なります。
C++での実装では、RtcBuilderの場合とほぼ同じようにcmakeを起動し、VC++のコンパイラを呼出して実行コード生成を行います。しかし、Yarbsで生成されるCMakeLists.txtは1つにまとめられ、ユーザが修正しない部分はマクロファイル等に集約し最小限のコードにしています。
Pythonの実装では、DataFlowComponentを継承する中間クラス(DataFlow_Base)を作成しており、このクラスを継承し、RTC仕様ファイル(YAMLファイル)を起動時に読込みポートやコンフィグレーションパラメータの定義部分を自動化しています。したがって、RTCの実装コードは最小化しています。
RTCの実装手順については、具体的な実装コードを例にして説明していきます。

ワークスペースの準備

RTCの実装手順の前に、ワークスペースの作成とツールを使用するための環境設定を行います。このサイトでは、オフィシャルのインストーラを使った場合の例で説明していきますが、rptでインストールした場合にもほぼ同じように実行することができます。
では、作業用のワークスペース(C:\work\yarbs_ws)を作成し、移動します。
 > mkdir C:\work\yarbs_ws
 > cd /d C:\work\yarbs_ws
次に、Yarbsの実行のためのPATHや環境変数の設定を行います。
ほとんどの環境変数の設定には、OpenRTM-aistをインストールしたディレクトリにあるsetup.batを使用します。
 > "C:\Program Files\OpenRTM-aist\setup.bat"
setup.batでは、OpenRTM-aist, omniORB, Python37, cmake, GraphvizへのPATHの設定とYarbsでの開発用の環境変数の設定を行います。また、C++で作成したRTCの実行コードをインストールするための場所をRTM_PKG_PATHで設定します。RTC_PKG_PATHを設定しない場合には、"C:\Program Files\OpenRTM-aist\Components\[category]\[RTC name]"にコピーされます。
 > set RTM_PKG_PATH=C:\work\yarbs_ws\Components