RTM Box Coding
概要 「RTM Box Coding」は,ロボットミドルウェアの初学者向けのWebベースのビジュアルプログラミングツールです. 本研究では,プログラミング教育,及び,ロボット制御を目的とした既存のビジュアルプログラミングツールを比較検討しました. その結果,ロボットシステム開発で将来的に不可欠となるテキストプログラミングに繋げる学習ツールとして, (1)利用するロボットミドルウェア特有の性質を理解できること (2)変数と命令の組み合わせで動作を指定すること (3)ビジュアルプログラミングで用いるオブジェクトとソースコードの対応関係を確認すること の3点の要求仕様を抽出し,この考えに基づいて,システム設計及び実装を行いました. RTミドルウェアの特徴 本ツールは,日本の産業技術総合研究所が開発したRTミドルウェアを実装した「OpenRTM-aist」をサポートするものです. RTミドルウェアでは,ロボットに用いられる要素技術をRTコンポーネント(RTC, RT-Component)としてカプセル化し,それらの組合せでシステムを構築します. これにより,資産の再利用性の向上,及びシステム開発の効率化を狙っています. RTCは基本的に以下に示す状態をもち,それぞれの状態遷移(ライフサイクル)を理解した上で,RTCを作成することが必要となります. • 生成状態(Created) • 活動状態(Alive) – 非アクティブ状態(Inactive) – アクティブ状態(Active) – エラー状態(Error) さらに,RTCの実装では,通常のプログラムとは異なり,main関数に実行する処理内容を直接記述することはありません. 上述した,各状態や遷移時に,あらかじめ決められた関数(コールバック関数)が実行コンテキストから呼ばれるため,どのタイミングで行いたい処理なのかを設計した上で,該当の関数に処理を記述します. 主なコールバック関数と,それぞれの関数が呼ばれるタイミング以下に示します. 関数名 概要 onInitialize ライフサイクル初期化時に1度だけ呼ばれる. onActivated アクティブ化する際に1回呼ばれる. onDeactivated 非アクティブ化する際に1回呼ばれる. onExecute アクティブ状態にあるとき周期的に呼ばれる. 基本利用方法 本ツールでは,ボックスを組み合わせてコーディングを行います. 本ツールで用意している,プログラムを構成するためのボックス一覧を以下に示します. 【onInitializeタブ】 1. RT-Componentの基本設定を行う カテゴリ『RTミドルウェア』から 「入力/出力ポート追加」を選択. ポートの名称を入力し、データタイプを選ぶ. 2. プログラムに必要な変数を予め宣言する …