モジュール名 | (0ー1)本戦用行動判断モジュール |
モジュールの属性 | ノーマル処理 |
目的 | どのような行動をとればよいか判断する。 |
入力 | ステータス群(各センサモジュールから得られたデータ) |
処理 | ステータス群より次の走行用モード(データ仕様書参照)を決定し、MMIで表示すべきデータを作成する。 |
出力 | 走行用モードデータ、7segLED表示データ、追跡データ |
起動条件 | 本戦モード(モード判定モジュール参照)において、PWM制御タスクの実行が終了したら、再びノーマル処理登録される。 |
関連モジュール | (4ー1)走行データ作成モジュール (6ー4)表示データ作成モジュール |
備考 |
モジュール名 | (1ー1)赤外線センサONデータ作成モジュール |
モジュールの属性 | タイマ処理 |
目的 | 赤外線センサのONデータを得る。 |
入力 | <赤外線センサデータ> |
処理 | 赤外線センサONデータをポートから入力し、データとして出力する。 |
出力 | 赤外線センサONデータ |
起動条件 | 一定時間毎 |
関連モジュール | |
備考 |
モジュール名 | *(2ー1)超音波入出力モジュール |
モジュールの属性 | タイマ処理 |
目的 | *超音波センサ管理において、メインの役割を成す。超音波送信と、超音波関連のモジュールの起動を行う。 |
入力 | *超音波センサカウントデータ |
処理 | *まず超音波距離データ作成モジュールを呼び、カウントデータ(距離を格納)を得る。カウントデータは距離データとしてBB(Bulletin Board)に書き込まれる。次に、超音波送信のためのコントロールデータ(センサ選択信号等)をポートへ出力する。次に相手サーチモジュールを呼び、それが終了したら、処理を終わる。 |
出力 | *<超音波センサコントロールデータ>、*超音波距離データ |
起動条件 | 一定時間毎 |
関連モジュール | *(2ー2)超音波距離データ作成モジュール *(2ー3)相手サーチモジュール |
備考 | *超音波センサは3方向に取り付けられるためデータも3つ作られるが、このモジュールが一回実行されるごとに読み取るデータは1方向のみであり、その方向は、前回このモジュールが呼ばれた時にポートへ書いたコントロールデータ(のセンサ選択信号)によって決まる。 |
モジュール名 | *(2ー2)超音波距離データ作成モジュール |
モジュールの属性 | *タイマ処理 |
目的 | *超音波センサのカウント値を超音波距離データに変換する。 |
入力 | *<超音波センサデータ> |
処理 | *超音波センサのカウント値(超音波センサデータ)を、音速とカウント周期を用いて障害物までの距離データ(超音波カウントデータ)へ変換する。 |
出力 | *超音波カウントデータ |
起動条件 | *(2ー1)超音波入出力モジュール内で呼ばれた時 |
関連モジュール | *(2ー1)超音波入出力モジュール *(2ー3)相手サーチモジュール |
備考 | *ポートから送られるカウント値が”超音波センサデータ”であり、距離に変換したデータが”超音波カウントデータ”である事に注意。 |
モジュール名 | *(2ー3)相手サーチモジュール |
モジュールの属性 | *タイマ処理 |
目的 | 過去数回の超音波距離のデータの分布から、相手を超音波で感知しているか判断する。 |
入力 | 超音波距離データ、超音波距離分布データ |
処理 | 超音波距離データの現在までの分布が大幅に変化している傾向にあるとき、相手を感知したものと判断し、これをデータとしてまとめる。 |
出力 | 相手サーチデータ、超音波距離分布データ |
起動条件 | *(2ー1)超音波入出力モジュール内で呼ばれた時 |
関連モジュール | *(2ー1)超音波入出力モジュール |
*(2ー2)超音波距離データ作成モジュール | |
備考 | *超音波距離分布データは、単に過去数回の超音波距離データから成るものとする。最新のデータ(超音波距離データ)はBBから受け取る。 |
モジュール名 | (3ー1)タッチセンサONデータ作成モジュール |
モジュールの属性 | タイマ処理 |
目的 | タッチセンサのONデータを作成する。 |
入力 | <タッチセンサデータ> |
処理 | タッチセンサ反応信号をポートから得て、タッチセンサの反応信号のON/OFFを表わしたデータを作成し、出力する。 |
出力 | タッチセンサONデータ |
起動条件 | 一定時間毎 |
関連モジュール | |
備考 |
モジュール名 | (4ー1)走行データ作成モジュール |
モジュールの属性 | ノーマル処理 |
目的 | 各行動判断モジュールで作成された走行用モードデータによって要求される軌道を走行するために、モータ駆動の信号(走行データ)を出力する。 |
入力 | 走行用モードデータ、エンコーダ測定データ |
処理 | 走行用モードデータより、要求されている起動を判断し、それを実現するために走行データを作成し、PWM制御回路へ出力する。ここに、走行用モードとは概ね次の様に分けられるものを指す: ・直進走行 ・直角走行 ・曲線走行 |
出力 | <走行データ> |
起動条件 | 各行動判断モジュールで、起動が必要になったときに、ノーマル処理に登録される。 |
関連モジュール | (0ー1)本戦用行動判断モジュール (7ー1)ペナルティ戦用行動判断モジュール (8ー1)試験用行動判断モジュール (5ー1)エンコーダ測定データ作成モジュール |
備考 | ロータリーエンコーダからのフィードバックを考え、エンコーダ測定データも入力とした。 |
モジュール名 | (5ー1)エンコーダ測定データ作成モジュール |
モジュールの属性 | タイマ処理 |
目的 | ロータリーエンコーダのカウント値を測定データ(タイヤの角速度)へ変換する。 |
入力 | <ロータリーエンコーダカウント値> |
処理 | ロータリエンコーダのカウント値をポートより各車輪ごとに読み込み、これにソフト内のクロックのカウント値を用いて各駆動用タイヤの角速度を算出し、エンコーダ測定データとして出力する。 *また、ロータリーエンコーダのカウント値読込み直後には、そのカウンタをリセットする信号を出力する。 |
出力 | エンコーダ測定データ、 *<エンコーダカウントリセットデータ> |
起動条件 | 一定時間毎 |
関連モジュール | (4ー1)走行データ作成モジュール (5ー2)エンコーダカウントリセットモジュール (5ー3)現在位置姿勢演算モジュール |
備考 |
モジュール名 | (5ー2)エンコーダカウントリセットモジュール |
モジュールの属性 | タイマ処理 |
目的 | *無し |
入力 | なし |
処理 | *無し |
出力 | *無し |
起動条件 | (5ー1)エンコーダ測定データ作成モジュールが起動された後 |
関連モジュール | (5ー1)エンコーダ測定データ作成モジュール |
備考 | *このモジュールで、ロータリーエンコーダの積算カウンタの値のリセット信号を出す予定だったが、それは(5ー1)でカウント値読込み直後にリセットする事にした。よってこのモジュールはダミーである。 |
モジュール名 | (5ー3)現在位置姿勢演算モジュール |
モジュールの属性 | タイマ処理 |
目的 | エンコーダ測定データ及びこのモジュールの1回前の実行結果を用い、自機の現在位置、速度、姿勢、走行距離を算出する。 |
入力 | エンコーダ測定データ、現在位置姿勢データ |
処理 | 車輪の径、両車輪の角速度、移動に掛かった時間から計算して、現在位置姿勢データを作成する。 |
出力 | *現在位置姿勢データ |
起動条件 | (5ー2)エンコーダカウントリセットモジュールの実行後 |
関連モジュール | (0ー1)本戦用行動判断モジュール (5ー1)エンコーダ測定データ作成モジュール (5ー2)エンコーダカウントリセットモジュール (7ー1)ペナルティ戦用行動制御モジュール (8ー1)規定走行試験用行動制御モジュール |
備考 |
モジュール名 | (6ー1)イニシャライズモジュール |
モジュールの属性 | イニシャライズ処理 |
目的 | 68K,I/Oボードの初期化 |
入力 | なし |
処理 | 68K,I/Oボードの初期化 |
出力 | なし |
起動条件 | 電源ON時 |
関連モジュール | |
備考 |
モジュール名 | (6ー2)スタートスイッチ待ちモジュール |
モジュールの属性 | タイマ処理 |
目的 | 押しボタンスイッチが押されるまで待つ。 |
入力 | <押しボタンスイッチデータ> |
処理 | 押しボタンスイッチデータがON信号であったら、処理を(6ー3)モード判定モジュールに移す。 |
出力 | なし |
起動条件 | 一定時間毎(但し、本戦モード中はマスクされる。) |
関連モジュール | (6ー3)モード判定モジュール |
備考 |
モジュール名 | (6ー3)モード判定モジュール |
モジュールの属性 | タイマ処理 |
目的 | 各ディップスイッチのON/OFFに従ってシステム使用者の要求を判断し、モード単位の初期設定を行う。 |
入力 | <ディップスイッチデータ> |
処理 | ディップスイッチデータより、それに見合った初期設定を行う。また、ディップスイッチデータを指定モードデータに格納する。指定モードとは概ね次の様に分けられるものを指す: ・本戦モード ・ペナルティ戦モード ・規定走行試験モード ・各センサ試験モード |
出力 | 指定モードデータ |
起動条件 | (6ー2)スタートスイッチ待ちモジュールが実行された後 |
関連モジュール | (6ー2)スタートスイッチ待ちモジュール |
備考 |
モジュール名 | (6ー4)表示データ作成モジュール |
モジュールの属性 | ノーマルタスク |
目的 | マンマシンインターフェイスの7segLED及び緑色LEDによって、必要な情報を表示する。 |
入力 | 7segLED表示データ、追跡データ |
処理 | 7segLED表示データをMMI用データに変換し、ポートを介してMMIへ送る。また、追跡データがONになっているときは緑色LED点灯のための信号を送る。 |
出力 | <表示データ> |
起動条件 | 行動判断モジュール、各センサデータ表示モジュールでノーマル処理登録があったとき |
関連モジュール | (0ー1)本戦用行動判断モジュール (7ー1)ペナルティ戦用行動制御モジュール (8ー1)規定走行試験用行動制御モジュール (9ー1)各センサデータ表示モジュール |
備考 |
モジュール名 | (7ー1)ペナルティ戦用行動制御モジュール |
モジュールの属性 | ノーマル処理 |
目的 | ペナルティ戦モードにおいて、次にどのような行動をとればよいかを判断する。 |
入力 | ステータス群 |
処理 | ステータス群より、次の走行用モードを決定しそれをデータとして出力する。 **動作は、基本的に本戦用タスクと同じだが、相手が正面にいると判断した場合、その場で反時計まわりに90度回転し、それから右前方へ旋回して相手の勝敗判定装置を捜すものとする。 |
出力 | 走行用モードデータ、7segLED表示データ |
起動条件 | ペナルティ戦モードにおいて、PWM制御タスクの実行が終了したら、再びノーマル処理登録される。 |
関連モジュール | (4ー1)走行データ作成モジュール |
備考 |
モジュール名 | (8ー1)規定走行試験用行動制御モジュール |
モジュールの属性 | ノーマル処理 |
目的 | 規定走行試験モードにおいて、次にどのような行動をとればよいか判断する。 |
入力 | ステータス群、指定モードデータ |
処理 | 指定モードデータより、どのような軌道の走行を行うか判断し、走行用モードを決定する。また、ステータス群からマンマシンインターフェイス用のデータを作成する。 |
出力 | 走行用モードデータ、7segLED表示データ |
起動条件 | 規定走行試験モードにおいて、走行データ作成モジュールの実行が終了したら再びノーマル処理登録される。 |
関連モジュール | (4ー1)走行データ作成モジュール (6ー4)表示データ作成モジュール |
備考 |
モジュール名 | (9ー1)各センサデータ表示モジュール |
モジュールの属性 | ノーマル処理 |
目的 | 各センサ試験モードにおいて、センサから得られたデータをマンマシンインターフェイスで表示させるための制御を行う。 |
入力 | ステータス群、指定モードデータ |
処理 | 指定モードデータよりどのセンサから得られたデータを表示するか判断し、7segLED表示データを作成する。 |
出力 | 7segLED表示データ |
起動条件 | 各センサ試験モードにおいて、モジュール(6ー4)表示データ作成モジュールの実行の終了したら再びノーマル処理登録される。 |
関連モジュール | (6ー4)表示データ作成モジュール |
備考 |