沼津高専 電子制御工学科 |
||||
|
||||
改訂記録 |
||||
版数 |
作成日 |
作成者 |
承認 |
改訂内容 |
A01 |
2006.7.4 |
善養寺 |
星野 |
初版 |
B01 |
2006.9.5 |
大高 |
星野 |
第2版 |
1,機能の明確化
1_1 ハードウェアについて
ポストの黒いテープでの判別のために、白線センサを搭載する。
さらに、床の白い線をトレースしなくてはならないので7個ほどの白線センサを用いる。
このために、ドーターボードの改良が必要である。
また、時間等の余裕があればの話であるが、床とタイヤの滑りをなるべく少なくするように「ファンコントローラー」の開発も視野に入れている。
1_2 ソフトウェアについて
システム上、MIRSの動作は次のように分けられる。
・超音波によるポスト探索を伴う、直進動作
・白線センサによるポスト番号識別
・赤外線センサによるポスト識別を伴う、ポスト周回動作
・指定ポスト周辺への移動動作(及び、移動中の障害物回避動作)
・ポスト周辺での、最も近いポスト探索動作
・エリア外周の白線上の移動動作
2,搭載、開発するソフトウェアの明確化
2_1,どのようなハードウェアをどの様に使用するのか?開発するのか?
1.車輪駆動用モータ
モータの速度制御はPWM信号によって行う。回転方向とPWM信号をHブリッジ
LL298(STMicroelectoronics)の2つ入力信号に変換して出力する。
標準MIRSの仕様を変更しない。
2.ロータリーエンコーダ
ロータリエンコーダの2相のパルスをカウントする16bitのカウンタが中心である。順回転で加算され、逆回転で減算される。回転方向の順、逆はロータリエンコーダの2相のパルスにより判別され、AがBより進んでいるとき順回転となる。負の値は2の補数表現であらわされる。
標準MIRSの仕様を変更しない。
3.超音波センサ
標準MIRSの仕様を変更しない予定である。
しかし、今回最も重要なモジュールである為、基本的には標準MIRSと同型のモジュールを使用するが、目的に沿った結果が得られない場合は再設計などの必要がある。
4.タッチセンサ、白線センサ、赤外線センサ、ポスト判別用WS
標準MIRSの仕様にポスト判別用の白線センサを追加する。
タッチセンサ、白線センサ、赤外線センサ、ポスト判別用WSはその検出信号が、そのまま汎用入力ポートに入力される。
ソフトウェアから汎用入力ポートを読み込むとその時点の各センサの状態が読める。
5,ファンコントローラ
MIRS底面に設置されたファンでフィールドを吸い上げるようにし、タイヤのスリップを少なくする。
制御はCPUボードを介さずにハードウェアのみで制御する。
2_2、どのようなソフトウェアをどの様に使用するのか?開発、改良するのか?
ポストの動作概要はシステム提案書どおりである。
これを実現するために、必要なプログラムは以下のとおりである。
1,ポスト探索を伴う直進プログラム
MIRSの起動直後に実行されるプログラムである。
超音波センサによるポスト探索と直進を並列に行う。
2,ポスト番号判別プログラム
上部に新しく取り付けた白線センサで黒のラインを読み取り、ポスト番号を識別する。
これは、上部に取り付けられた白線センサで白か黒か判別するのみなので、しきい値、ポストとの距離の調整が難しいと考えられる。
3,ポスト番号を確認した後のポスト間の移動プログラム
ポスト番号をすべて確認した後に、順番通りにポスト獲得にまわる。
開発のポイントとしては、ポスト間の移動の際にほかのポストの無いルートを選ぶこと、ポストにある程度近づける事があげられる。
4,ポスト獲得プログラム
標準MIRSは前面でスイッチを押すが、このシステムでは背面を使用するように変更。
5,白線トレースプログラム
白線上をトレースしながら直進するプログラム。
3、ソフトウェアとハードウェアのインターフェースの明確化
ソフトウェアとハードウェアの両者に関わる設計部分は、白線センサによるポスト判別の部分である。
ハードウェアの班が、MIRSに現在搭載されている白線センサと同じようにソフトウェア側で使用できるように開発する。
ソフトウェアビジビリティは、現段階では以下のように考えている。
■ソフトウェアビジビリティ
・PWM信号生成
I/O port Address [hex] |
R/W |
Port Name |
機能 |
0110 |
W |
PWM0 |
PWM出力0信号制御 |
0112 |
W |
PWM1 |
PWM出力1信号制御 |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
未使用 |
Duty幅設定 |
||||||||||||||
未使用 |
Duty幅設定 |
・RotaryEncoder
I/O port Address [hex] |
R/W |
Port Name |
機能 |
0120 |
R/W |
RE_X |
ロータリーエンコーダXの制御 |
0122 |
R/W |
RE_Y |
ロータリーエンコーダYの制御 |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
パルスカウント値 |
|||||||||||||||
パルスカウント値 |
・赤外線コード
I/O port Address [hex] |
R/W |
Port Name |
機能 |
0150 |
W |
IRS_sel |
赤外線コード復調センサの指定 |
0152 |
R |
Ir_Code |
赤外線検出コード |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
未使用 |
センサ番号 |
||||||||||||||
Flg |
未使用 |
赤外線復調コード |
・汎用入力
I/O port Address [hex] |
R/W |
Port Name |
機能 |
|
0140 |
R |
GIO |
デジタル入力 |
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
PWLS |
WLS |
IRS |
TS |
||||||||||||
4 |
3 |
2 |
1 |
4 |
3 |
2 |
1 |
4 |
3 |
2 |
1 |
4 |
3 |
2 |
1 |
ポスト判別用の白線センサ(PWLS)を追加
■FPGAピンアサイン
従来通りの部分 |
||||
項番 |
ピン番号 |
名称 |
IN/OUT |
機能 |
1 |
144 |
RE_XB |
IN |
ロータリエンコーダX_B相 |
2 |
147 |
RE_XA |
IN |
ロータリエンコーダX_A相 |
3 |
148 |
RE_XB |
IN |
ロータリエンコーダY_B相 |
4 |
149 |
RE_XA |
IN |
ロータリエンコーダY_A相 |
5 |
150 |
WLS1 |
IN |
白線センサ信号1 |
6 |
157 |
WLS2 |
IN |
白線センサ信号2 |
7 |
158 |
WLS3 |
IN |
白線センサ信号3 |
8 |
159 |
WLS4 |
IN |
白線センサ信号4 |
9 |
160 |
IRS1 |
IN |
赤外線センサ信号1 |
10 |
161 |
IRS2 |
IN |
赤外線センサ信号2 |
11 |
162 |
IRS3 |
IN |
赤外線センサ信号3 |
12 |
163 |
IRS4 |
IN |
赤外線センサ信号4 |
13 |
164 |
TS1 |
IN |
タッチセンサ信号1 |
14 |
166 |
TS2 |
IN |
タッチセンサ信号2 |
15 |
167 |
TS3 |
IN |
タッチセンサ信号3 |
16 |
168 |
TS4 |
IN |
タッチセンサ信号4 |
17 |
169 |
MR1 |
OUT |
右モータPWM1 |
18 |
170 |
MR2 |
OUT |
右モータPWM2 |
19 |
172 |
ML1 |
OUT |
左モータPWM1 |
20 |
173 |
ML2 |
OUT |
左モータPWM1 |
21 |
未 |
PWLS1 |
IN |
ポスト判別用WLS1 |
22 |
未 |
PWLS2 |
IN |
ポスト判別用WLS2 |
23 |
未 |
PWLS3 |
IN |
ポスト判別用WLS3 |
24 |
未 |
PWLS4 |
IN |
ポスト判別用WLS4 |