沼津高専 電子制御工学科 | ||||||
| ||||||
改訂記録 | ||||||
---|---|---|---|---|---|---|
版数 | 作成日 | 作成者 | 承認 | 改訂内容 | ||
A01 | H12/2/3 |
MIRS9902 |
河野丈志 |
初版 | ||
A02 | H12/2/15 |
MIRS9902 |
河野丈志 |
不足していた部分を追加 | ||
A03 | H12/6/7 |
河野丈志 |
河野丈志 |
詳細設計書作成に伴い、変更した部分の手直し |
No. | ピン名称 | 方向 | 内容 |
26 | PA0 | OUT | 超音波センサ選択信号 |
27 | PA1 | OUT | 超音波センサ選択信号 |
28 | PA2 | OUT | 超音波センサ選択信号 |
29 | PA3 | IN | アンダーフロー信号 |
30 | PA4 | - | 未使用 |
31 | PA5 | IN | センサ選択信号 |
32 | PA6 | IN | センサ選択信号 |
33 | PA7 | IN | センサ選択信号 |
No. | ピン名称 | 方向 | 内容 | No. | ピン名称 | 方向 | 内容 | |
1 | Vcc | IN | Vcc | 11 | S1 | OUT | 受信信号 | |
2 | S0 | IN | 送信信号 | 12 | GND | - | GND | |
3 | S1 | OUT | 受信信号 | 13 | Vcc | IN | Vcc | |
4 | GND | - | GND | 14 | S0 | IN | 送信信号 | |
5 | Vcc | IN | Vcc | 15 | S1 | OUT | 受信信号 | |
6 | S0 | IN | 送信信号 | 16 | GND | - | GND | |
7 | S1 | OUT | 受信信号 | 17 | Vcc | IN | Vcc | |
8 | GND | - | GND | 18 | S0 | IN | 送信信号 | |
9 | Vcc | IN | Vcc | 19 | S1 | OUT | 受信信号 | |
10 | S0 | IN | 送信信号 | 20 | GND | - | GND |
まず置ける位置がわからないことから、どこからでもスタート位置に行けるようまず壁へ向かって走る。このとき、ポストは障害物とみなす(この判断には赤外線センサを用いる。)。壁に到達したら、マシン前面のタッチセンサを用いて、壁Tに対して垂直になるようにする。垂直になったら壁に対し、マシンの中心が500mm離れるまで後ろに下がり、マシン左横の超音波センサ(以下USS)を用いながら右へ90°回転する。これによりマシンの正面を右に向けマシンの直進方向が壁に対し平行になるようにする。そして平行になったら、直進し、もう1つの壁Uから、マシンの中心が500mm離れたところまで向かう。そしてまた右へ90°回転し、マシンの直進方向が壁Uと平行になるようにする。そこで、ロータリエンコーダ(以下R.E)の値をリセットし、そこを座標原点とする。
その後、決められたルート上を移動する。これはΠの字の形で競技場の左下の端から、移動していく。ルート上を移動中は左の2つのUSSで壁との距離を測りつつ、右のUSS、前面の5つのタッチセンサでポストがないかを確認する。ポストが見つからない間はルート上を移動し、右のUSSによりポストを発見したら、ポスト接近モードへ。タッチセンサによるポスト発見ならポスト獲得モードへ。また一度獲得したポストがあったら、回避モードへ。
ポスト接近モードに入ったら右へ90°回転し、前の超音波センサでポストを確認しつつポストへ接近する。(ポストへ接近中ポストを見失った場合は、マシンを回転させ、あたりを調べてないか確認し、発見したら再度接近をし、見つからなかったらルート上のポスト接近モードに入った位置へ戻る。(ルートトレースモードへ。これはルート移動中発見したポスト獲得を優先するためのものである。)
またこのとき他に近くにポストがないか、左のUSSで確認しながら進んでおり、ポストがあったときは、その位置を記録し、目標ポスト獲得後、そのポスト獲得へと向かう。ポストに近づきポストとの距離が超音波センサでわからなくなったら少し減速し、ゆっくりとポストへぶつかる。(この距離は20cmくらいだと思われるが詳しい値は決まっていない。)そしてポストにぶつかってポスト獲得モードへ移る。
※R.Eについて
R.Eのデータの改変には2つの時がある。見つかってからか、それともTimerにより随時やっていくかである。これは、多分R.Encのカウンタが、オーバーフローした時点でカウントアップをしていくと思うのでTimerまたはオーバーフローの割り込みでR.Eのデータを変えていくと思われる。
部品名称 | 機能 | 要する時間(min) | 必要数 |
MPUボード | CPU・メモリ・ROM等を搭載 | 5 | |
可逆モータパワー制御基盤 | PWM信号をアナログ信号に変換する | 10 | |
タッチセンサ | タッチセンサの状態をCPUに伝える | 10 | |
VMEラック | 各ボードをVMEバスでつなぐ | 20 | |
I/Oボード | IPボード・メモリ・ロータリーエンコーダーボードを搭載 | 15 | |
IPボード(IPDigital48) | PI/Tを2個実装 | 15 | |
ロータリーエンコーダボード | MIRSの相対的な現在位置をカウントし、CPUの要求に応じて送る | 15 | |
I/Osubボード | 超音波センサ・赤外線センサ・PWM回路等を搭載 | 15 | |
MMIボード | LEDにより人とMIRSの情報交換を行う | 25 | |
緊急停止装置 | MIRSの強制停止をスイッチにより行う | 10 | |
電源制御基板 | 各回路に電力を供給する | 20 | |
超音波センサボード | 超音波センサ回路を搭載 | 15 | |
赤外線センサボード | 赤外線センサ回路を搭載 | 15 | |
電池ホルダ | 電池をつなぐ | 5 | |
タイヤ | モータの回転に応じて回転する | 5 | |
シャーシ・フレーム | MIRS本体を衝撃から守る | 10 | |
モータ | 供給電力に応じて回転しMIRSの移動を行う | 5 | |
電池 | 必要電力の供給 | 5 | |
ネジ・ナット | 各ボードを留める | 10 | |
ケーブル類 | 各ボードをつなげる | 5 |
センサ | 位置 | IO port Address/bit | 備考 |
赤外線センサ | 前1 | FC6003/B7 | 出力 |
赤外線センサ | 前1 | FC6003/B5 | |
赤外線センサ | 前2、左 | FC6003/B4 | モードの違いにより前2と左を切り替える。 |
超音波センサ | 上 | FC6151/B2"1" B1"0" B0"0" | 出力 |
超音波センサ | 前 | FC6151/B2"0" B1"1" B0"1" | 出力 |
超音波センサ | 右 | FC6151/B2"0" B1"1" B0"0" | 出力 |
超音波センサ | 左1 | FC6151/B2"0" B1"0" B0"1" | 出力 |
超音波センサ | 左2 | FC6151/B2"0" B1"0" B0"0" | 出力 |
超音波センサ | カウント値上位 | FC616F/B7 - B0 | |
超音波センサ | カウント値中位 | FC6170/B7 - B0 | |
超音波センサ | カウント値下位 | FC6171/B7 - B0 | |
アーム部タッチセンサ | FC6153/B5 | ||
前面タッチセンサ | 右 | FC6153/B4 | |
前面タッチセンサ | 左 | FC6153/B3 | |
側面タッチセンサ | 右 | FC6153/B2 | |
側面タッチセンサ | 左 | FC6153/B1 | |
後部タッチセンサ | FC6153/B0 |
図5. 1回目の動作 | |
図6. 2回目の動作 |
図7.タスク間のデータの流れ (ポストスクリプト形式) どのタスクが何処へデータを書き込むか、何処からデータを読み出すかを表したもの |
(ポストスクリプト形式) 図8.タスク呼び出し図 どの高レベルタスクからどのタスクを起動するかを矢印で示した。 |
※書きなおす前の基本設計書にあったパフォーマンスタスクはまだ具体的なことを決めれないため詳細設計書には載せていない。しかしなくなったわけではない.MIRSを実際に動かしてみてその挙動から人をひきつけるような面白い行動をさせるようにするつもりである.