名称 |
MIRS1304 競技用ソフトウェア開発計画書 |
番号 |
MIRS1304-PLAN-0003 |
最終更新日:2013.10.07
版数 |
最終更新日 |
作成 |
承認 |
改訂記事 |
A01 |
2013.10.01 |
芦田樹 |
- |
初版 |
A02 |
2013.10.07 |
芦田樹 |
牛丸先生 |
指摘部分を修正 |
目次
1.はじめに
-
本ドキュメントは、8/10に行われる体験入学に向けて、MIRS1304標準機を用いた戦略・プログラム設計・開発工程について記したドキュメントである。
2.基本戦略
-
確実なゴールを目指すため、時間を犠牲にしてでも保険を多重にかけ、安全策をとった堅実なプログラムの設計を目標とする。
3.標準機について
-
体験入学デモの攻略のために、標準機に超音波センサを以下のように追加する。
標準機:前2機、左1機、右0機
追加後:前2機、左1機、右1機
※左右の超音波は、MIRS本体を通路の中心に置いたとき、壁までの距離が25cmになるように設置する。
4.動作の流れ
-
プログラムのフローチャートを下図に示す。MIRS1304では、各機能をモジュール化して、必要に応じて呼び出す形を取る。各機能の動作の流れは機能定義で示す。
- 通路走行
- 前方のタッチセンサと超音波センサによりT字路・曲がり角・行き止まりを検知する
- 曲がり角の場合は、その場で90°回転し、走行
- 直進の場合は、超音波センサやロータリーエンコーダなどを使用し、壁に接触しないように走行する。
- 壁に接触した場合、後退し超音波計測で周りの状況を計測して向きを変更する。
- Direction Board
- 白線を認識する。
- 画像を正確に取得するために正対補正を行う。
- 画像を取得し、数字認識処理を行う。
- 正しく認識できた場合⇒5.に移行
正しく認識できなかった場合⇒2.に戻る
- あらかじめ決めておいた優先度に従い、攻略する仕掛けを選択し通路動作に移行する。鍵・扉の優先度は最低にしておく。
- ロータリー
- Direction Boardで識別後、ロータリーに侵入したことを超音波センサで判断
- ロータリーに侵入後その場で90°回転し、少しロータリー走行する。
- 超音波センサを用いて、出口を探しながら、ロータリー走行を続ける。
- 出口を発見したら90°回転し、ロータリーを出る。
- 小部屋
- Direction Boardで識別後、小部屋に侵入したことを超音波センサで判断
- 左の壁伝いで、出口を探しながら走行する。
- 見つけたら出る or 前方のタッチセンサに反応があれば90°回転して再度探索する。
- 鍵・扉
- Direction Boardで識別後、鍵の位置まで移動する。
- 壁にタックルし、扉を開ける
- 扉を通り、次の動作に移行する。
5. 基本動作仕様
-
基本的動作の関数の動作を下記に示す。
- 直進走行
- 機能概要: 要求された距離を真っ直ぐ走行する。(基本的に速度は固定とする)
- 性能要求: 1mの距離を、左右のずれを2p以内、前後のずれを2p以内に抑える
- 備考: 標準の関数を変更
- 回転走行
- 機能概要: 要求された角度だけその場で回転する。(基本的に速度は固定とする)
- 性能要求: 90度、180度を±5度以内でその場で回転する。
- 備考: 標準の関数を変更
- 周回走行
- 機能概要: 要求された半径・角度・方向に基づき、弧を描いて走行する。(基本的に速度は固定とする)
- 性能要求: ロータリー用に周回半径35pで180度回った時に、回転のずれを±5度以内、左右のずれ±2p以内に抑える。
- 備考: 標準の関数を変更
- 超音波計測
- 機能概要: 目的の物体との距離を計測する。
- 性能要求: 20cmから150cmまでの距離を、10%未満の誤差に抑えて計測する
- 備考: 標準の関数を利用
- 白線センサ検知
- 機能概要: 床面の白線を検知する
- 性能要求: 検出率を9割以上にする。
- 備考: 標準の関数を利用
- 壁検知
- 機能概要: 壁を検知する(タッチセンサのON/OFFを検知する)
- 性能要求: 壁接触時の誤動作を5%未満の回数にする
- 備考: 標準の関数を利用
- 数字認識
- 機能概要: DBの数字を認識する
- 性能要求: 白線からの距離で数字認識を行った場合に90%の精度で0〜9の数字を認識できるようにする。
- 備考: 標準の関数を変更
6 詳細設計
-
6.1 モジュール分割
-
下記に示す機能はモジュールとして分割する。
- Direction Board
- 機能概要: 数字認識を行う
- 性能要求: 仕掛け攻略の成功率を90%以上とする
- 利用する機能: 直進、回転、数字認識、白線センサ検知、通路及び走行履歴の記憶、壁検知、正対補正
- 通路走行
- 機能概要: 仕掛け以外の通路の走行を制御する
- 性能要求: 通路走行の成功率を95%以上とする
- 利用する機能: 直進、回転、周回、超音波計測、白線センサ検知、通路及び走行履歴の記憶、壁検知
- ロータリー
- 機能概要: ロータリー内の走行を制御する
- 性能要求: 仕掛け攻略の成功率を90%以上とする
- 利用する機能: 直進、周回、超音波計測、通路及び走行履歴の記憶、壁検知
- 小部屋
- 機能概要: 小部屋内の走行を制御する
- 性能要求: 仕掛け攻略の成功率を90%以上とする
- 利用する機能: 直進、回転、超音波計測、通路及び走行履歴の記憶、壁検知
- 鍵・扉
- 機能概要: 鍵・扉の場所における制御を行う
- 性能要求: 仕掛け攻略の成功率を90%以上とする
- 利用する機能: 直進、回転、超音波計測、通路及び走行履歴の記憶、壁検知
6.2 フローチャートの詳細設計
- 各モジュールの機能関数を用いてあらわしたフローチャートを以下に示す。
・ロータリー
・小部屋
・鍵・扉
6.開発日程
-
開発日程を以下に示す。
日付 | ~8/7 | 8/8 | 8/9 | 8/10 朝
|
作業内容
| ソフト開発
| 実機の組み立て、テスト
| モーターボードのデバック、実機テスト
| 最終調整
|
沼津工業高等専門学校 電子制御工学科