デモ機は、第2世代のMIRSの走行系を用いたものである(写真1参照)。
標準機とはシャーシおよびタイヤ系が一回り小さく、使用しているモータおよびエンコーダが異なっている。モータ・エンコーダ共MAXON製のもので、標準機のモータと比較すると duty-回転速度のリニアリティに優れている。また、エンコーダはモータ軸直結で100PPSのものを使用している。このため、標準機では走行系のパラメータはここに示すソースの値をそのまま用いることは出来ない。
MIRSの競技中の動作全体を管理するモジュール(pilot)を、デバイスのオープンのスレッドの生成
のみを行う部分 pilot と、巡回動作のシーケンスを管理する mirssa_patrol に分割した。
pilot()はデバイスオープン、スレッド生成を行ったあと、mirssak_patrol()を呼び出し、
巡回動作がスタートする。
pilot (pilot.c) と mirsak_patrol (mirssak_patrrol.c)モジュール以外は、mg3s_std_v2.* のモジュールを利用する。
ソースファイルのリンク
プログラムは標準プログラム Ver2.xを使って作成されており、プログラムのモジュール構成は最上位の操作者モジュール(pilot, mirsak_patrol)の部分を除くと
MG3S 標準プログラム 設計仕様書のモジュール構成・構造と同じである。
デモ競技用のプラグラムのモジュール構造を図1に示す。モジュール内に示す関数はモジュール間で利用する関数である。
main関数(pailot.c)では、デバイスファイルののオープン、スレッド(vel_ctrlスレッドおよび encoder スレッド)の生成のみを行って、mirsak_patrol()を呼び出している。misak_patrol()が、
MG3S 標準プログラム 設計仕様書のモジュール構造の「操縦者」に対応している。