マイクロマウス2003レポート草稿 2003.11.25

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

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

1.本研究の目的

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

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

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

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

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

3.マシンデータ

研究場所 制御通信部部室(洛北校F教室裏)
作成者 不死川魔沙王・多賀■
マシン名 肉弾ITRON(にくだんあいとろん)
命名の由来 肉弾シリーズにITRON仕様OS「TOPPERS」を載せているから。
車体 車体は森永英一郎氏の「ベーシックマウス」を参考に作成した。ただし、センサ部分は独自に設計した。
 ガラスエポキシ両面基板を使用。
車輪 車輪にはアルミ製ホイールを使った。上に両面テープで粘性の高いゴムシート(田宮RDタイヤキャップラバー(ソフト)OP-184)を貼り付けた。
CPU AKI-H8(3048F)を使用。外部RAM512kバイトを増設した。
アクチュエータ ステッピングモータ2つ()
センサ 壁上面検出タイプ、フォトリフレクタ14個(オムロンEE-SY121。前2つ、左右各6つ)
電源 ニッケル水素電池単3型1.2V、1700mAh(GP社170AAHC)12本(14.4ボルト)、3端子レギュレータで降圧。
プログラム開発の方法 C言語による。AKI-H8へのHEXファイルの転送にはRS232Cケーブルの一端をステレオジャックに付け替えたものを用いた。AKI-H8は、脚の一部を上向きに取り付け、これに別に製作した転送ボードを挿して行なった。コンパイラはCYGWIN上のGCCを使用した。

5.開発の方針

 1.方針
  μITRON仕様OS「TOPPERS」を使用し、実用に耐えるマシンの作成ができることを証明する。
 2.方法
  

6.設計図

回路図

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

センサ回路(GIF画像)

7.CPU

8.アクチュエータ

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

今回はユニポーラ型4相VR型のモータに専用IC「8415」を用いて信号を送り、1・2相励磁方式で回転させた。タイマ割り込みの使い方がどうしてもわからなかったので、パルス発生のタイミング取りには周期ハンドラを用いた。モータ駆動用ICとして、定電流チョッパ駆動ICSLA7033Mを用いた。

9.センサ

10.ソフトウエア

プログラムはOSとしてTOPPERSを使用し、GCCでコンパイルした。

 大会で使用したプログラム
sample1.c(プログラム本体)
sample1.h(ヘッダファイル)
sample1.cfg(コンフィギュレーションファイル)
teigi.h(I/O定義ファイル(このプログラム専用))
3048.h(I/O定義ファイル(汎用、GCC Developer liteのものを一部書き換えたもの))

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


競技規則(抜粋)
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回までの走行をすることができる。


 結果は、一回目ゴール後途中で停止。二回目はゴール後スタートまで戻り、三回目で最短経路走行。四回目トライ中に時間切れとなった。

12.問題点と今後の課題

 OSを用いたプログラムによりゴールできる機体が作れることは示せたと思う。しかし、タイマ割り込みというリアルタイムシステムに必須の機能は実現できなかった。それらの機能も実現できるようにし、今後OSを使う人たちのために指針を示せるようにしていきたい。

13.参考文献

「μITRON4.0標準ガイドブック」(パーソナルメディア社)
「TOPPERSプロジェクトwebページ」(http://www.toppers.jp/)
「Design Wave」(2003年4月号)
「FreeBSD Press」(14号,15号,16号)
「マイクロマウス工房―森永―」(http://www02.so-net.ne.jp/~morinaga/)
ほか

14.謝辞

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

以上