名称 |
MIRS1004 システム仕様書 |
番号 |
MIRS1004-SOFT-0001 |
最終更新日:2010.10.15
版数 |
更新日 |
作成 |
承認 |
改訂記事 |
A01 |
2010.10.15 |
杉山和暉 |
細越 寛太 |
初版 |
目次
- 概要
- 通路動作
- 鍵プログラム
- 小部屋プログラム
- 十字プログラム
- ロータリープログラム
- 概要
本ドキュメントは、MIRS1004 システム基本設計書内の4.システム詳細: ソフトで記したフローチャートの各要素に対するプログラム仕様を記したものである。
なお、本ドキュメントは開発中に変更されることがある。
- 通路動作
-
以下にメインプログラムのフローチャートを示す。
-
概要
試技開始直後の通路動作、DBから仕掛けへと向かう通路動作に使用する。
正面のTSで直線の終わりを検知し、その場で超音波センサを用いてどちらへと曲がるか判断する。
正確に直進する(道の真ん中を走るなど)ための機能は直線プログラムに記述する。
-
動作手順
-
直進
-
正面TSをチェックし、白線をおこなう
-
ONの場合は超音波センサを3方向に飛ばし右の壁が遠いと判断した場合には
右90°回転し、左の壁が遠いと判断した場合には左90°回転する
-
それぞれの動作で方向転換をした後、1に戻り白線センサがONとなるまでループする。
鍵プログラム
-
以下にメインプログラムのフローチャートを示す。
-
概要
DB確認動作にてカギ・トビラに入ったと認識し、攻略プログラムに移行する。
DBを確認しカギの方向を判断し、カギ(タッチセンサ)を押した後、180度旋回しトビラ(出口)に
向かう。
-
動作手順
-
白線センサにて白線を発見し、DBを読み取る。
-
カギを表す数字を読みとったら、カギの方向へ曲がる。
-
ゆっくり前進しカギ(タッチセンサ)を押す。
正面タッチセンサが反応したら、カギを押したと判断する。
-
少し後退し、180度旋回する。
-
通常動作と同様に進み、トビラから出る。
小部屋プログラム
-
以下にメインプログラムのフローチャートを示す。
-
概要
小部屋に到着するまでは通常動作を行う。
小部屋に到着したら壁沿いに左回りし、超音波センサで出口を見つけ、クリアする。
-
動作手順
-
ダイレクションボードを読み取りこれから行く要素が小部屋だと判断する。
-
超音波センサで前左右の3方向を調べながら通路動作を行い、
3方向のうちの2方向以上に壁がないとき、小部屋に入ったと判断する。
-
右に壁がないとき、右に旋回し、直進。
壁があるとき、そのまま直進。
-
前方に壁があるとき、左旋回し直進。
-
左右に壁があるとき、小部屋を抜けたと判断する。
-
右側に壁がなくなったとき、右旋回して直進し小部屋を抜けたと判断する。
壁がある場合は,4に戻る。
十字プログラム
-
以下にメインプログラムのフローチャートを示す。
-
概要
十字路に入り、左→正面→右の順でDBを確認し進むことが可能なDBがあった場合
すべてのDBを確認する前でも十字路攻略プログラムを終了しその他の攻略プログラムへ移行する。
これにより、すべてチェックしそれぞれの距離などを比較・考慮した場合の
正体補正や画像処理によるタイムロスを削減する。
-
動作手順
-
DBで次が十字路であることを認識した後、通路動作を行い
十字路の入り口に向かい合っている白線を認識させる。
これによって十字路に入ったことをMIRSが確認する。
-
次に、正面白線位置より後退、90°左旋回する。
入り口から向かって左のDBに正体補正を行い画像処理をする。
この際の優先順位は高い順にゴール、T字路、小部屋、十字路となっている。
鍵&扉は十字路の次に来ることは無いとし、省いた。
また、行き止まりとロータリーは進むべきでは無いとし、除いた。
-
もしも一枚目のDB何らかの問題(ロータリーor行き止まりだった)により
その後の動作に入らなかった場合は後退、90°右旋回し右隣へのDBへと移動する。
移動した先のDBで画像処理を行い流れ2のように動作する。
-
三枚目のDBでも次の動作に入らなかった場合、ロータリーの場合を含めて
画像処理を行う。この際の処理の順は入り口から見て右DB、正面DB、左DBとする。
ロータリープログラム
-
以下にメインプログラムのフローチャートを示す。
-
概要
ロータリーに進入したら、ロータリー内を90°ごとにカーブ移動し超音波センサで
出口を確認する。
-
動作手順
-
DBでロータリーと認識したら通路動作で進む。
-
正面のタッチセンサが反応した後、超音波センサを三方向に発して
左右の壁がないことを確認したら、ロータリーに進入できたと認識する。
-
少し後退し、左に90度旋回する。
-
ロータリー内をサークル動作(カーブ)で90度移動する。
-
超音波を左に発し、壁があるかどうか確認する。
-
壁があったら2つ上の動作に戻る。
壁がなかったら左に90度旋回、直進しロータリーを抜ける。
沼津工業高等専門学校 電子制御工学科