MIRS1503 管理台帳へ戻る
名称 |
MIRS1503 標準機プレ競技会用システム開発計画書 |
番号 |
MIRS1503-PLAN-0003 |
目次
本ドキュメントは、8/8の一日体験入学に行う、プレ競技会に向けたもので、
標準機を用いてプレ競技用のシステム開発と競技「現場急行」に対する戦略について記述したドキュメントである。
・班員それぞれの技術的な長所と短所を考慮したうえで、全員に仕事を割り当てる。
特定の者が電子回路やプログラミングが得意で、反対にそれらが苦手な者もいる為、得意な者を得意な作業へ、苦手な者を得意な者と組み合わせて作業を分担させる。
・メカ班、エレキ班、ソフト班はその担当だけに限らず、お互いの仕事を把握する。
システム開発において、動作確認とデバック、システム調整を同時に行うため、お互いの状況を報告し合い、各自の作業に逐次反映していく必要がある。
・FPGAやMCBなどの問題解決をわかる人だけが担当するのではなく、先を見据え、他のメンバーも一緒に作業したり、わかる人が増えるなどして、各々のスキルアップをする。
・機体の直進スピードを500mm/sに近づけ、壁に接触しないようにする。
・タッチセンサが反応したときの軌道修正を正確に行う。
・短時間でのゴールを目指す。
最短目標:ステージ1(6秒)、ステージ2(5秒)、ステージ3(4秒)、ゴール後数字認識完了まで(5秒)
最長目標:ステージ1(8秒)、ステージ2(15秒)、ステージ3(17秒)、ゴール後数字認識完了まで(15秒)
・相手チームへの物理的な攻撃、妨害は行わない。
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.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.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:軌道図
開発日程(予定)を以下に示す。
Table2 開発日程
日付 |
作業内容 |
備考 |
7/24(金) 授業時間内 |
・システム開発
・標準機能試験
|
|
8/5(水) 前期期末試験終了後 |
・システム開発
・システム開発のデバック
・標準機能試験
|
|
8/6(木) 終業式終了後 |
・システム開発のデバック
・動作確認
・動作確認後のデバック
・システム調整
|
|
8/7(金) 体験入学準備日 |
・プログラムの最終確認
・最終調整 |
|
Fig.7:ガントチャート
沼津工業高等専門学校 電子制御工学科