- § ハードウエア §
- 超音波センサ機能
発信部からの超音波が障害物に当たって跳ね返って受信部に帰ってきたときに、その障害物までの距離をデータとして与える。
但し、超音波は壁に対してほぼ直角(入射角5度程度まで、但し近距離ではもっと幅広くとることが可能。)に当てなければ戻ってこない。
最大測定距離が2.5m程度、およそ0.3m以内の近距離をはかるときは値が0.3mに固定されてしまうことに注意する。
それぞれに対して垂直な壁との距離をとることにより自機の絶対座標位置を、 また絶対位置から予想される、壁から帰ってくる超音波から得る距離ではない値を返したときに、 超音波を跳ね返したのが相手機であるとして相手機との相対位置を得ることができる。
又、平行にならべた二つのセンサの反応の時間による変化により相手機の進行方向がわかる。
- 赤外線センサ機能
相手機後部の勝敗判定装置から発する赤外線により自機の赤外線センサが反応して割り込みを起こして赤外線を受信したことを知らせる。
各受信部は左右22.5度以内に収まる楕円の範囲で入力を受け付ける。
8つの赤外線センサは取り付けられた位置・方向により捉えられる赤外線の範囲が制限されるので、 どのセンサに反応があったかで相手の勝敗判定装置の位置を知ることができる。
- ロータリエンコーダ機能
タイヤの回転数をはかり値を返す。
左右それぞれのタイヤの回転数から自機の移動距離及び速さがわかる。
- タッチセンサ機能
背後を除く自機の周囲のタッチセンサに何らかの物体が触れたことを知らせる。
スイッチが押されたとき及び離れたときに割り込みを起こす。(未確認)
スイッチはあわせて3ビットの入力を持ちこの信号で最大7の入力を受け付けられる。(本システムでは3つの入力とする。)
壁でなければ相手機がぶつかってきたことを示し、どのタッチセンサに反応があったかにより相手の位置がわかる。
- 駆動機能
左右二つの独立した駆動系を持ちそれぞれの回転方向及び速度を変えることでシステムの移動やその場回転による向きの変更ができる。
- ステータス表示機能
上部に取り付けられた7セグメントLEDにより、システムがどのようなモードに入っているのかを外部から視覚的に判定することができる。
- § ソフトウエア §
- 駆動制御機能
左右のそれぞれ独立した駆動系に対して各モータの回転方向及び回転数を制御する(PWM制御)ことにより、 自機の前進・後進・旋回・その場回転・加速・減速を行う。
- 行動決定機能
センサの反応により状況判断して、その時々に有効な行動に切り替える。
敵検索・敵捕捉・壁回避等。
- センサ無効果機能
特にタッチセンサ及び赤外線センサの故障並びに信号の入りっぱなしにより、 システムが行動モードを適切でないモノにとってしまうのを防ぐ機能。
具体的にはスタート時の無入力時もしくは入力に対する対処をした後反応がなくなるはずのときなどに入力があったとき、 そのセンサの入力を不当なモノとして以降そのセンサの入力はないモノとソフトウエア上で処理する。
これにより入っていないはずのタッチセンサによりシステムの動作が無限ループに入ってしまうのを防ぐ。
- 入力データ補正機能
ロータリエンコーダなど路面や相手との接触により入力データに誤差が生じやすいモノに対して補正をかけてより正確にする。