沼津高専 電子制御工学科 |
||||||
|
||||||
改訂記録 |
||||||
版数 |
作成日 |
作成者 |
承認 |
改訂内容 |
||
A01 |
2005.10.14 |
大木 輔 |
大木 輔 |
初版 |
||
A02 |
2005.12.16 |
大木 輔 |
大木 輔 |
モード名を変更 |
1. 目的
2. 動作概要
3. モード全体のフローチャート
4. モード遷移表
本ドキュメントは、本ドキュメントでは、MIRS0504基本設計書に規定されたシステムの動作規定、状態遷移を実現する各タスクの開発(コーディング、試験等)に必要な事項を述べる。
・
2−1.待機モード(関数なし)
MIRSの電源を入れた後、キーボードからの入力を待つ
・ 2−2.初期位置決定モード1 (関数名:first_post_search1 引数:なし)
MIRS初期化の後、左右に90度回転を始め、一番近いポストを探し、接近する。それを基準ポストとする
基準ポストまでの移動・座標情報は記録しておく
二回目の競技では、1回目の競技で得た情報から、瞬時に0度ポストへ向かうプログラムとする
・ 2−3.ポスト探索モード(関数名:self_post_search 引数:なし)
基準ポストを軸に回転し、基準ポスト以外の全てのポストを発見する
発見できた場合はポスト確認モードへ移行する
発見できなかった場合は、初期位置決定モード1-2に移行する
・ 2−4.初期位置決定モード2 (関数名:first_post_search2 引数:なし)
一度目の基準ポストから全てのポストの発見・移動に失敗した時、別のポストを探し、再び基準ポストとする
・ 2−5.ポスト確認モード()(関数名:self_post_check 引数:なし)
電子コンパスによって0度のポストを決め、0度のポストの角度データをとっておく
ポスト探索モードで発見したポストの角度と距離を超音波センサで読み取る
その後、ポスト移動モードへ移行する
・
2−6.ポスト移動モード(関数名:post_move 引数:なし)
記憶した角度データから、基準ポストを周回している体制から90度旋回して目標ポストに対して正対し、
正対補正をしながら、ポストからの一定の距離まで接近する
・
2−7.ポスト判別モード(関数名:post_no_check 引数:なし)
ポストに接近して、白線センサを用いて、ポストの番号をラベルの白線検知から判断する
獲得するべきポストだった場合、獲得処理モードへ移行
獲得するべきポストではなかったら、位置記憶処理モードへ移行
・
2−8.獲得処理モード(関数名:post_arm_get 引数:なし)
ポストからの赤外線を認識するまで、ポストを周回する
獲得前にポストNoを記録し、ポストを獲得。その後、
アームを伸ばし、先のタッチセンサが反応したら戻す。その後帰還モードに移行
・
2−9.帰還モード(関数名:go_back_home 引数:なし)
基準ポストに戻り、0度ポストの方向まで周回する。
獲得するポストがまだ残っている場合は、ポスト移動モードに移行
獲得ポストが残っていない場合は、終了モードに移行
・ 初期位置決定モードに二回目の競技では、1回目の競技で得た情報から、
瞬時に0度ポストへ向かうプログラムとする
・ ポスト探索モードとポスト確認モードを省く
遷移前/ 遷移後 |
待機 |
初期位置決定1 |
初期位置決定2 |
ポスト探索 |
ポスト確認 |
ポスト移動 |
ポスト判別 |
獲得処理 |
帰還 |
終了 |
待機 |
− |
スタートスイッチが押された後 |
× |
× |
× |
× |
× |
× |
× |
× |
初期位置決定1-1 |
× |
− |
× |
モード終了後 |
× |
× |
× |
× |
× |
× |
ポスト探索 |
× |
× |
全てのポストを発見できなかった場合 |
× |
全てのポスト発見した場合 |
× |
× |
× |
× |
× |
初期位置決定1-2 |
× |
× |
基準ポストを発見できなかった場合 |
基準ポストを発見した場合 |
× |
× |
× |
× |
× |
× |
ポスト確認 |
× |
× |
× |
× |
− |
全てのポストの距離と角度測定終了後 |
× |
× |
× |
× |
ポスト移動 |
× |
× |
× |
× |
× |
− |
ポストから一定の距離に到達後 |
× |
× |
× |
ポスト判別 |
× |
× |
× |
× |
× |
× |
− |
獲得するべきポストだった場合 |
獲得すべきでないポストだった場合 |
× |
獲得処理 |
× |
× |
× |
× |
× |
× |
× |
− |
獲得処理終了 |
× |
帰還 |
× |
× |
× |
× |
× |
獲得ポストが残っている場合 |
× |
× |
− |
獲得ポストが残っていない場合 |
終了 |
× |
× |
× |
× |
× |
× |
× |
× |
× |
− |
*
電子コンパス、白線センサ、赤外線センサのデバイスドライバのIOアドレスは140番を使用する
4−1.アームデバイスドライバ
機能:アームの始動命令、終了確認(write)
メジャー番号 64 マイナー番号 0
※ IOポート番号160番の0bit目を使う
※ arm_dd.cとarm_dd.hのファイル名で作成する
4−2.赤外線センサデバイスドライバ
機能:赤外線の有無の感知(read)
bit:4
4−3.電子コンパスデバイスドライバ
機能:電子コンパスの方角データを取得する。
(read)
bit:5~7
4−4.白線コード読み取りデバイスドライバ
機能:白線の感知と番号の読み込み(read)
bit:8〜10
これ以外のデバイスドライバは標準機のものを使用する。