沼津高専 電子制御工学科 | ||||||
| ||||||
改訂記録 | ||||||
---|---|---|---|---|---|---|
版数 | 作成日 | 作成者 | 承認 | 改訂内容 | ||
A01 | 2008.9.5 | 浦田・里見 | 浦田 | 初版 | ||
A02 | 2008.9.18 | 浦田 | 浦田 | リンク切れの修正 | ||
A03 | 2008.9.19 | 里見 | 浦田 | フローチャートの追加 | ||
A04 | 2008.10.6 | 里見 | 浦田 | 動作モード遷移表をフローチャートに変更 | ||
B01 | 2008.10.27 | 浦田 | 浦田 | 書式を変更 |
本ドキュメントでは、MIRS0804 基本設計書(MIRS0804-DSGN-0002)に規定されたシステムを実現するために必要な事項を述べる。
作成するプログラムは、MIRSSTND 標準プログラム(Ver.2.1)(MIRSSTND-SOFT-0003)を元に、行動制御プログラムおよび各種パラメータをMIRS0804 基本設計書(MIRS0804-DSGN-0002)に準じて変更し、作成する。
(1) 競技時間を考慮し、ポスト獲得後に中心位置で行う補正動作(correct_center.c)を省略。
(2) 競技場を超音波センサで探索する回数を2回に増やす(search_1を追加)。
(3) ポスト獲得動作(post_get)を、アームを使用したものに変更。
(4) ポスト番号識別を白線センサにより行うため新たにポスト番号判別モード(get_num)を追加。
(5) すべてのポストが確認できなかった場合、取得できたポスト情報および競技規定から未発見ポストの位置を予測するモード(predict)を追加。
(6) control.hより一部パラメータ(超音波センサ位置・認識ポスト数など)を変更。
(7) ポスト位置予測モードのため、競技規定に関する数値(ポスト間の距離・競技場の大きさなど)をcontrol.hに追加でdefineする。
(1) スタート位置で180度その場回転を行いながら、左側の超音波センサでポスト位置を探索する。(ポスト探索モード2)※
(2) スタート位置から中心位置に移動する。
(3) その場回転を行いながら、左側の超音波センサでポスト位置を探索する。(ポスト探索モード)※
(4) ポスト位置を正面のセンサーを使って再確認する。(ポスト確認モード)※
(5) 然るべきアルゴリズムにそって接近するポストを選択する。(ポスト選択モード)※
(6) 距離、方向を補正しならがら、ポストに接近する。(ポスト接近モード)
(7) アームを展開してポストを獲得する。(ポスト獲得モード)
(8) 中心位置を向き、後方の白線センサでポスト番号を読み取る。(ポスト番号判別モード)※
(9) 中心位置へ戻る。(中心復帰モード)
(10) 獲得したポストが発見したポスト数と等しく、発見したポスト数が全ポスト数よりも少なければ、発見済みポストの位置未発見ポストの位置を予測する。予測した地点の付近まで移動し、ポスト探索・選択・獲得/
判別動作を行う。(ポスト位置予測モード)
(11) 獲得したポストが全ポスト数と等しければプログラムを終了する。
※ マークの付いている動作は、競技2回目では行わない。
ソースファイル名 | 関数名 | 書式 | 戻り値 | 説明 |
---|---|---|---|---|
search_1.c | search_1 | int search_1(int); | 0 | 初期位置からのポスト探索 |
functions.c (既存) | get_num | int get_num(int); | 黒を判別した数 | 白線センサによるポスト番号識別 |
predict.c | predict | int predict(void); | 0 | 未発見ポスト位置予測 |
名称 | 値 | 書式 | 説明 |
---|---|---|---|
POST_NUM | 2→5 | #define POST_NUM 5 | 総ポスト数 |
USS_MAX | 1500→2000 | #define USS_MAX 2000 | 最大計測可能距離 |
MCENTER_USS3_DIS | 50→計測中 | #define MCENTER_USS3_DIS xx | MIRS中心からUSS3までの距離 |
MCENTER_USS12_DIS | 55→計測中 | #define MCENTER_USS12_DIS yy | MIRS中心からUSS1,2までの距離 |
FOWARD_DIS | 100→250 | #define FOWARD_DIS 250 | post_approachで正対補正をかけるまでの距離 |
STADIUM_DIS | 1340 | #define STADIUM_DIS 1340 | 競技場中心線上での競技場中央からポスト中心までの最大距離: 1800(競技場の1辺/2)-450(競技場外周からポストまでの距離)-10(ポスト半径)[mm] MIRS2007 競技規定(MIRS07SF-CURR-0001)準拠 |
POST_TO_POST | 450 | #define POST_TO_POST 450 | ポスト間の最低距離 MIRS2007 競技規定(MIRS07SF-CURR-0001)準拠 |
(1) ポスト探索モード2(search_1)
その場で180度左回転を行いながら、本体左側の超音波センサでポスト位置を探索する。
(2) ポスト獲得モード(post_get)
既存のpost_getをアームを使用したものに変更する。
アームを展開してポストを獲得。ポスト獲得後にアームを収納する。ポスト周回動作は行わない。
ポストまで250mmの距離まで接近したら、アームを展開する(フローチャートは後退となっているが変更した)。
アームを閉じる動作のスイッチはタッチセンサの入力とする。アームへの動作命令はPICにより行う。
※fig.8中のパルスに関しては、MIRS0804エレクトロニクス詳細設計書(MIRS0804-ELEC-0001)を参照。
(3) ポスト番号判別モード(get_num)
MIRS本体背面に取り付けられた白線センサをポストに接触させ、番号を確認して記録する。
MIRS2007 競技規定(MIRS07SF-CURR-0001)よりポスト数は4または5であるため、4つの白線センサが読み取った黒色ラインの本数+1をポスト番号とする。
(4) ポスト位置予測モード(predict)
すべてのポストが確認できなかった場合に、競技規定とポスト同士の位置関係から最もポストが隠れている可能性が高い場所を予測して移動する。
その後ポスト探索モード1(post_search)、基準位置移動モード2(move_2)の順で呼出する。