マイクロマウス2002レポート草稿 2002.11.12

マイクロマウスの開発研究
〜マイクロマウス2002に出場して〜

情報工学科 r00h0390 不死川魔沙王

1.本研究の目的

 本研究の目的は、マイコン応用システムを利用した自立ロボット「マイクロマウス」の製作を通して、電気・電子・論理回路、マイクロコンピュータといったものへの理解を深め、電子工作およびアセンブラ言語プログラミング技能の向上を図ることである。
 研究題材としてマイクロマウスを選んだ理由は、

○ コンピュータ・センサ・アクチュエータの諸部分の総合であり、メカトロニクス技術の基礎を体系的に学ぶことができる。
○ 全国に初心者からベテランまでの愛好家が数多くおり、入門しやすい。また、ハードウエア・ソフトウエアともに適度に難解で奥が深い。
○ 競技化されており、はっきりした目標にむけて努力することができる。

というものである。
今回は、昨年度大会の反省を元にして新しく機体を製作し、名古屋で行なわれた「マイクロマウス中部地区大会」エキスパートクラス、東京で行なわれた「マイクロマウス2002」エキスパートクラスの試合に出場・完走することを目標とした。

2.マイクロマウス2002とは

 マイクロマウスとは、マイコン応用システムを利用して迷路探索・走行を行う自立型ロボットのことである。16×16のます目の中央をゴールとし、スピードを競う競技としてニューテクノロジー振興財団マイクロマウス委員会により全国大会が開かれている。2002年度は東京「科学技術館」にて、11月9・10日に行なわれた。

3.マシンデータ

研究場所 制御通信部部室(洛北校F教室裏)
作成者 不死川魔沙王
マシン名 肉弾激餓(にくだんげきが)
命名の由来 劇画が好きだから。
車体 車体はほぼ昨年度の機体を流用した。
 アルミボディを使用、部分的にガラスエポキシ板を使用。マイクロマウス委員会東日本支部標準部品を利用した。
車輪 車輪にはアルミ製ホイールを使った。上に両面テープで粘性の高いゴムシート(田宮RDタイヤキャップラバー(ソフト)OP-184)を貼り付けた。
CPU AKI-H8(3048F)を使用。
アクチュエータ ステッピングモータ2つ(SANYO103-540-36)モータが弱っていたため、途中で同等品と取り替えたところ、スピードが出るようになった。
センサ 壁上面検出タイプ、フォトリフレクタ10個(オムロンEE-SY121。前2つ、左右各4つ)→直前に14個(左右各6つ)に変更
電源 ニッケル水素電池単3型1.2V、1700mAh(GP社170AAHC)12本(14.4ボルト)、3端子レギュレータで降圧。
プログラム開発の方法 C言語による。AKI-H8へのHEXファイルの転送にはRS232Cケーブルの一端をステレオジャックに付け替えたものを用いた。AKI-H8は、脚の一部を上向きに取り付け、これに別に製作した転送ボードを挿して行なった。コンパイラはベストテクノロジー社のGCC Developper Liteを使用した。

5.開発の方針

マイクロマウス2001での反省から、次のような作成方針を立てた。

 1.方針
  迷路探索・最短経路計算ができなかったため、今回はソフトウエア開発に力を入れることにする。
 2.方法
  Microsoft Visual C++6.0を用い、Windows上で動作するシミュレータを作製する。この上で十分に迷路探索・最短経路計算アルゴリズムのデバッグを行なった上で、これをH8用に移植する。

6.設計図

回路図

CPU・モータ回路(GIF画像)

センサ回路(GIF画像)

7.CPU

8.アクチュエータ

アクチュエータとして、ステッピングモータを使用した。
ステッピングモータはパルス入力によって1ステップずつ決まった角度だけ回転するモータである。DCモータは電気を流せば回転するが、細かな制御を行うためにはロータリエンコーダで速度を測るなど、複雑な手順が必要となる。しかし、ステッピングモータは1パルスごとに進む距離が決まっているため位置の計算がたやすい。また、パルスの周波数に比例したスピードがでるため、加減速のプログラミングが容易である。

今回はユニポーラ型4相VR型のモータに各4ビットずつの信号を送り、2相励磁方式で回転させた。8713のような専用の素子は使わず、CPUから直接パルスを生成した。パルス発生のタイミング取りには、タイマ割り込みを用いた。モータ駆動用ICとして、定電流チョッパ駆動ICSLA7033Mを用いた。

9.センサ

10.ソフトウエア

プログラムはH8のC言語によった。

 大会で使用したプログラム
 補正についての考え方などは、ほぼ2001年度と同じである。
 足立法
 迷路探索には足立法を用いた。
 足立法とは、マウスが知らない壁を仮に「ない」ものとして最短経路を求め、それにしたがって前進し、もし壁に阻まれたら新たに計算しなおすということを繰り返す方法である。最短経路を考えながら進むので、ほかの方法(ゴールに着いてから最短経路を考える)に比べて合理的な進み方ができる。

11.マイクロマウス2002の顛末
 2002年11月9日、マイクロマウス2002エキスパートクラスで出場。
 主な競技規則は次の通りである。


競技規則(抜粋)
1−1 マイクロマウスは自立型でなければならない。
1−2 マイクロマウスは、競技中に操作者により、ハードウェアおよびソフトウェアの追加、取りはずし、交換、変更を受けてはならない。
1−4 マイクロマウスは迷路の壁を飛び越し、よじのぼり、傷つけ、あるいは壊してはならない。
1−5 マイクロマウスの大きさは、その床面への投影が1辺25cmの正方形に収まらなければならない。走行中に形状が変化する場合も、常にこの制限を満たしていなければならない。ただし、高さの制限はない。
2−1 迷路の壁の側面は白、壁の上面は赤、床面は黒とする。
2−2 迷路は18cm×18cmの単位区画から構成され、全体の大きさは16×16区画とする。区画の壁の高さは5cm、厚さは1.2cmとする。
2−3 迷路の始点は、四隅のいずれかにあり、時計回りに出発する。終点は中央の4区画とする。
3−1 マイクロマウスが始点から終点への走行に要した最短の時間をそのマイクロマウスの迷路通過時間記録とする。
3−2 操作者は迷路が公開された後で迷路に関する情報をマイクロマウスに入力してはならない。
3−3 迷路の走行は、毎回、始点より開始し、マイクロマウスが走行中止あるいは始点に戻った時点で終了する。
3−6 マイクロマウスは7分間の持時間を有し、この間5回までの走行をすることができる。


 結果は、1回目の走行でゴール手前まで行ったが動作がおかしくなり失敗。あと4回の走行では終始動作不良を起こし、リタイヤという結果になった。

12.問題点と今後の課題

 マイクロマウス2001の反省として、以下のことを目標としてあげた。

 ●正確な探索を行えるようにする。
 ●最短走行経路を計算できるようにする。

 そのうえで、

 ●高速な動きを可能とするハードウエアを開発する。
 ●ほかのCPUを使う(H8など)、他の言語(Cなど)を用いる等、技術についての知見を広げる。

 これらの目標のうち、ソフトウエア上の課題はとりあえずクリアしたが、それに対応できる機体を準備できなかったのが失敗の原因である。具体的には、赤外線LED常時点灯のセンサを増設したことにより電流が流れすぎ、しばらく運転すると三端子レギュレータが暴走するという致命的な欠陥があった。また、左右のバランスが悪く、修正にかなり頼らないと走行できない、電池が重すぎて効率が悪いなどさまざまな問題があった。
 今後はハードウェアに重点を置き、まず現在のソフトウェアに完全に対応できるマシンを開発した上で「スラローム走行」「斜め走行」などのより高度な走行に挑戦していきたい。

13.参考文献

「やさしいマイコン制御ロボットの製作」(横山直隆著、シータスク)
「ロボティクス入門」(ロボティクス研究会編、コロナ社)
「初心者のためのロボットの作り方第六版」(マイクロマウス委員会東日本支部)
「高速マイクロマウスの作り方」(浅野健一著、東京電機大学出版局)
「H8ビギナーズガイド」(白土義男著、東京電機大学出版局)
「マイコン技術教科書 H8編」(今野金顕著、CQ出版)
「H8マイコン完全マニュアル」(藤沢幸穂著、オーム社) ほか

14.謝辞

 久保田英司様、東京遠征に協力いただいた制御通信部の皆様、研究環境を提供いただいた京都コンピュータ学院様に感謝いたします。

以上