ソフトウェア構成
本ソフトウェアは、昨年までのソフトを基にして、独自のソフトウェアを作成する。以下に各モジュールについて説明する。
- 初期設定モジュール
電源投入時またはリセットボタン押下時に一回だけ起動され,処理終了後行動計画タスクを起動する。初期診断プログラムの実行,ハードウェアの初期設定,自己位置を競技開始位置に設定,タスクの初期化,掲示板(BB)の初期化を行う。また,DIPスイッチを読み込み,動作モードをBBに書き込む.DIPの状態によっては,リモートタスクを行動計画タスクとともに起動する。 - 自己位置認識モジュール
タイマ割り込みにより起動される.ロータリエンコーダのカウント値を読み込み,自己位置(X,Y,Θ:姿勢角)を計算しBBに格納する。処理終了後,次のタイマ割り込みを設定する。また,LED表示モードがX,Y,Θのいずれかであれば7SegLED表示タスクを起動する。(7SegLED表示タスク用のBBを参照することにより何を表示しているか知ることができる)。タイマ割り込み間隔については,総合試験で決定するが,総合試験版では50msに設定する。 - 超音波センサ制御モジュール
タイマ割り込みにより起動される。3つの超音波センサにより順次距離を測定し結果をBBに格納する。処理終了後,次のタイマ割り込みを設定する。LED表示モードが超音波センサ状態を示していれば,7SegLED表示タスクを起動する。また,左右の超音波センサの計測距離の和が(2m− 左右センサ間隔)であれば,自己位置補正タスクを起動する。タイマ割り込み間隔については,総合試験で決定するが,総合試験版では,100msに設定する。 - 赤外線センサ制御モジュール
ハードウェア割り込みにより起動され,赤外線センサの状態をBBに書き込む.LED表示モードが赤外線センサ状態を示していれば7SegLED表示タスクを起動する. - タッチセンサ制御モジュール
ハードウェア割り込みにより起動される。左右のタッチセンサの反応により回避行動に移る。 - MMI制御モジュール
7SegLEDの表示内容を更新する.4桁のうち最上位桁は下位3桁の表示内容を示すIDでIDは0から9までの数値でMMIの押しボタン割り込みによりカウントアップされる. - 行動計画モジュール
BBに掲示された情報に基づき,MIRSの行動を決定する.このタスクより走行制御タスクが起動される. - 走行制御モジュール
行動計画タスクから起動される。起動時に軌跡と目標位置が与えられる。起動後,BBに実行中コードを書き込み,目標位置に到達するまでタイマ割り込みにより0.05秒毎に最起動され与えられた軌道に対する差を補正しながら移動する.目標位置に到達したときは実行完了コードをBBに書き込む.実行中に実行を強制停止する機能を有する. - 自己位置補正モジュール
タイマ割り込みにより起動される.左右の超音波センサの測定したデータに基づき,左右方向(XかYかはMIRSの姿勢及び現在位置により決定する)を補正する.タイマ割り込み間隔については,総合試験で決定する. - リモートコントロールモジュール
BBに掲示された情報に基づき,RS−232Cポートを使用してデータの送受信を行う.送受信のタイミングは,総合試験計画で決定する.
|