MIRS1503 管理台帳へ戻る
名称 MIRS1503 標準機プレ競技会用システム開発計画書
番号 MIRS1503-PLAN-0003
版数 最終更新日 作成 承認 改訂記事
A01 2015.7.24 天野南月、大場春佳、菊澤雅哉 初版
A02 2015.7.24 天野南月、大場春佳、菊澤雅哉 小谷先生 第2版
一部改訂(改訂箇所はMIRS1503 標準機プレ競技用システム開発計画書レビュー議事録を参照)

目次

1.本ドキュメントについて
2.開発方針
3.ルール
4.戦略
5.機能定義
6.プログラム概要
7.機能詳細
8.開発計画

1.本ドキュメントについて

本ドキュメントは、8/8の一日体験入学に行う、プレ競技会に向けたもので、
標準機を用いてプレ競技用のシステム開発と競技「現場急行」に対する戦略について記述したドキュメントである。

2.開発方針

・班員それぞれの技術的な長所と短所を考慮したうえで、全員に仕事を割り当てる。
 特定の者が電子回路やプログラミングが得意で、反対にそれらが苦手な者もいる為、得意な者を得意な作業へ、苦手な者を得意な者と組み合わせて作業を分担させる。
・メカ班、エレキ班、ソフト班はその担当だけに限らず、お互いの仕事を把握する。
 システム開発において、動作確認とデバック、システム調整を同時に行うため、お互いの状況を報告し合い、各自の作業に逐次反映していく必要がある。
・FPGAやMCBなどの問題解決をわかる人だけが担当するのではなく、先を見据え、他のメンバーも一緒に作業したり、わかる人が増えるなどして、各々のスキルアップをする。

3. ルール

8/8の一日体験入学で行われる、プレ競技会のルールは以下のリンクを参照する。
プレ競技会について
プレ競技会 ルール

4. 戦略

・機体の直進スピードを500mm/sに近づけ、壁に接触しないようにする。
・タッチセンサが反応したときの軌道修正を正確に行う。
・短時間でのゴールを目指す。
 最短目標:ステージ1(6秒)、ステージ2(5秒)、ステージ3(4秒)、ゴール後数字認識完了まで(5秒)
 最長目標:ステージ1(8秒)、ステージ2(15秒)、ステージ3(17秒)、ゴール後数字認識完了まで(15秒)
・相手チームへの物理的な攻撃、妨害は行わない。

5.機能定義

Table1 機能定義
機能番号 機能名 機能概要
(1)-1 直進走行 ロータリーエンコーダを用いた進行走行をPD制御で補正する。
また目標距離に合わせて走行速度もPI制御で調整する。
(1)-2 回転 ロータリーエンコーダを用いた回転動作をPD制御で補正する。
また目標角度に合わせて機体回転速度もPI制御で補正する。
(1)-3 数字認識 webカメラを用いて画像を取得し、解析と数字認識を行う。
(1)-4 距離測定 超音波センサを用いて距離測定を行う。
(1)-5 接触判定 タッチセンサを用いて壁検知を行う。
(1)-6 正対補正 超音波センサを用いて、正対補正を行う。
(1)-7 機体停止 モータを回転させないことで機体停止を行う。
(2)-1 軌道修正 機体が壁に接触したときに軌道修正を行う。
*(1)は標準プログラム、(2)は新たに作るもの。

6.プログラム概要

6.1 ステージ1

case 1の中で実行される。このステージではスタートからL字角手前まで直進走行を行う。タッチセンサのch1とch2、ch3どれか1つの値が1になった時に軌道修正を行い、そうでない時は直進走行をする。完了したらステージ2へ自動的に移行する。

6.2 ステージ2

case 2の中で実行される。このステージではL字角手前から少し前進し回転動作を行う。完了したらステージ3へ自動的に移行する。

6.3 ステージ3

case 3の中で実行される。このステージではL字角からゴールまで直進走行を行う。同時に壁に接触した際には機体を停止させる。この際、事前に超音波でゴールまでの距離を測っておき、ゴール手前までの距離を進む間はステージ1と同様にタッチセンサの値に応じて軌道修正を行うが、それ以降はタッチセンサが反応したらゴール判定とする。ゴールしたらステージ4へ自動的に移行する。

6.4 ステージ4

case 4の中で実行される。このステージではswitch case文を使って後退後、数字認識を行う。完了したらプログラムを終了させる。


下図に、プログラムのフローチャートを示す。



Fig.1:トップのフローチャート


 
Fig.2:ステージ1のフローチャート


 
Fig.3:ステージ2のフローチャート


 
Fig.4:ステージ3のフローチャート


 
Fig.5:ステージ4のフローチャート


 

7.機能詳細

7.1 直進走行

関数名:run
引数:目標速度[cm/s],目標距離[cm]
返り値:走行距離[cm]

直進走行を可能にするための関数である。
目標距離と走行距離の差を偏差とし、PD制御を行い、制御入力を算出する。目標速度の制御入力を加えることで走行速度を制御する。また、左右のモータの回転数の差を偏差とし、左右のモータの速度比をPI制御し、直進走行を安定させる。

7.2 回転

関数名:turn
引数:目標回転速度[deg/s],目標角度[deg]
返り値:回転角度[deg]

回転行動を可能にするための関数である。
目標回転速度の制御入力を加えることで回転速度を制御する。

7.3 数字認識

関数名:camera
引数:なし
返り値:数字

ダイレクションボード(以下DB)の数字を認識し、その値を返す関数である。

7.4 距離測定

関数名:monitor
引数:なし
返り値:壁までの距離[cm]

壁までの距離を返す関数である。

7.5 接触反応

関数名:touch
引数:なし
返り値:接触判定

接触判定を行う関数である。
この関数は直進走行と組み合わせることを想定している。

7.6 正対補正

関数名:work
引数:なし
返り値:成功判定

前面の壁との距離をUSSを用いて測定し、壁と平行になるように補正を行う関数である。

7.7 機体停止

関数名:motor_stop
引数:なし
返り値:成功判定

機体停止を行う関数である。
発動条件は、ゴールを検知した時、正対補正を行う前後である。

7.8 軌道修正

関数名:angle
引数:ロータリーエンコーダ値[cm]
返り値:なし

機体が壁に接触したときに回転する角度を算出し、軌道修正を行う関数である。
発動条件は、前進時にタッチセンサが反応したときである。
算出方法は以下に示す。

Fig.6:軌道図

8.開発計画

開発日程(予定)を以下に示す。
Table2 開発日程
日付 作業内容 備考
7/24(金)
授業時間内
・システム開発
・標準機能試験
8/5(水)
前期期末試験終了後
・システム開発
・システム開発のデバック
・標準機能試験
8/6(木)
終業式終了後
・システム開発のデバック
・動作確認
・動作確認後のデバック
・システム調整
8/7(金)
体験入学準備日
・プログラムの最終確認
・最終調整

Fig.7:ガントチャート

沼津工業高等専門学校 電子制御工学科