沼津高専 電子制御工学科

ソフトウェア詳細設計書

MIRS0504-SOFT-0001

改訂記録

版数

作成日

作成者

承認

改訂内容

A01

2005.10.14

大木 輔

大木 輔

初版

A02

2005.12.16

大木 輔

大木 輔

モード名を変更


目次

1.     目的

2.     動作概要

3.     モード全体のフローチャート

4.     モード遷移表


1、  目的

本ドキュメントは、本ドキュメントでは、MIRS0504基本設計書に規定されたシステムの動作規定、状態遷移を実現する各タスクの開発(コーディング、試験等)に必要な事項を述べる。

 

2、  動作概要

■動作モードの定義

    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度ポストの方向まで周回する。

獲得するポストがまだ残っている場合は、ポスト移動モードに移行

獲得ポストが残っていない場合は、終了モードに移行

 

2回目の動作についての補足事項

    初期位置決定モードに二回目の競技では、1回目の競技で得た情報から、

瞬時に0度ポストへ向かうプログラムとする

    ポスト探索モードとポスト確認モードを省く

 

2.  モード全体のフローチャート

3.  モード遷移表

遷移前/

遷移後

待機

初期位置決定1

初期位置決定2

ポスト探索

ポスト確認

ポスト移動

ポスト判別

獲得処理

帰還

終了

待機

スタートスイッチが押された後

×

×

×

×

×

×

×

×

初期位置決定1-1

×

×

モード終了後

×

×

×

×

×

×

ポスト探索

×

×

全てのポストを発見できなかった場合

×

全てのポスト発見した場合

×

×

×

×

×

初期位置決定1-2

×

×

基準ポストを発見できなかった場合

基準ポストを発見した場合

×

×

×

×

×

×

ポスト確認

×

×

×

×

全てのポストの距離と角度測定終了後

×

×

×

×

ポスト移動

×

×

×

×

×

ポストから一定の距離に到達後

×

×

×

ポスト判別

×

×

×

×

×

×

獲得するべきポストだった場合

獲得すべきでないポストだった場合

×

獲得処理

×

×

×

×

×

×

×

獲得処理終了

×

帰還

×

×

×

×

×

獲得ポストが残っている場合

×

×

獲得ポストが残っていない場合

終了

×

×

×

×

×

×

×

×

×

 

 

4.  ドライバについて

    電子コンパス、白線センサ、赤外線センサのデバイスドライバの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

これ以外のデバイスドライバは標準機のものを使用する。