名称 | MIRS1203 ソフトウェア詳細設計書 |
---|---|
番号 | MIRS1203-SOFT-0001 |
最終更新日:2012.2.18
版数 | 最終更新日 | 作成 | 承認 | 改訂記事 |
---|---|---|---|---|
A01 | 2012.2.18 | 廣野湧也 | 初版 |
関数名 | 型 | 引数 | 概要 | 戻り値 | 備考 |
---|---|---|---|---|---|
main | int | void | 状態変数stateにより、次の呼び出す関数を決める。stateは各関数の返り値となっている。state=10で全体のプログラムを終了する。 | 0 | |
tuuro | int | void | 通路走行の関数。超音波センサによるPID制御をしながら通路を走行する。走行中に左右タッチセンサが当たった場合、少し下がりながら方向転換をする。前方タッチセンサが当たった場合、左右の壁を超音波センサで検知し、turn_right、turn_left、turn_reverceを呼び出すか、返り値4を返す。白線検知でnumber_detectを呼び出し、優先度が高い方に方向転換した後、選んだ方向の読み取った番号を返り値として返す(1,2,4,読み取れなかった場合は0を返す)。 | 0~5,10 | state=0でmainから呼び出される。 鍵・扉、ロータリー、小部屋に入った判断、ゴールはこの関数でもできるように作成する。 |
rotary | int | void | ロータリー攻略関数。攻略終了で0を返す。 | 0 | state=3でmainから呼び出される。 現時点ではtuuroでロータリーを走らせた方が成功率が高いため、使用しない可能性がある。 |
cosmo | int | void | 小部屋に入ったかの判断、小部屋攻略プログラム。攻略終了で0を返す。 | 0 | state=4でmainから呼び出される。 |
goal | int | void | ゴール用関数。白線検知まではmainとほぼ同じ動作をする。白線検知後一定距離進んだ後に停止し、10を返す。 | 10 | state=5でmainから呼び出される。 |
straight | void | int kyori | 直進用関数。引数に与えられたkyori[mm]だけ超音波によるPD制御をしながら直進する。タッチセンサによる補正もする。 | void | |
back | void | int kyori | 後退用関数。引数に与えられたkyori[cm]だけ超音波によるPD制御をしながら後退する。後方にタッチセンサはついていないため、タッチセンサによる補正はできない。 | void | |
turn_right | void | void | 時計回りに90°回転させる関数。 | void | |
turn_left | void | void | 反時計回りに90°回転させる関数。 | void | |
turn_reverce | void | void | 180°反転させる関数。 | void | |
num_detect | int | int max_roop_counter | 数字認識を行う。 | -1〜9 |