マイクロマウス概論 A 2003/04/14(Mon) 15:00早稲田大学マイクロマウスクラブ(WMMC) 4年 原 耕司 マイクロマウスとは マイクロコンピュータや各種センサなどを 内蔵し、自分の力で迷路を走り抜ける小 型自走車 2輪マウスが主流 現在のトップは井谷氏の6輪マウス (日本システムデザイン社) 迷路 迷路の大きさ 3m×3m 16×16区画の通路(通路の幅は18cm) 迷路の形状は事前に知らされていない (大会ごとに変わる) 出発点は隅の1区画 ゴールは中央の4区画 競技の方法 出発点にマウスを置き、ゴールまで走らせる 事前に迷路をマウスに教えてはいけない 壁を乗り越えてはいけない 持ち時間10分 5 回までの走行ができる (最も速いタイムを採用する) 走行時間で競う以外に、 探索賞、自律賞、ナムコ賞などがある 定石 第一走行は探索 第二走行以降は、覚えた迷路情報を 利用してタイムトライアル ハードウェア構成の例 CPU センサ モーター ユーザーインターフェース 電池 CPUボード H8, SH2, PIC... WMMC では H8-3067 を使用 20MHz / ROM128KB / RAM32KB 秋月電子製 \5700 Memory Mapped I/O の例 0xFFFFD4 に書き込むと、PB1端子が High(5V)になり、配線したLEDが点灯する A/D 変換結果は 0xFFFFE0 にある #define PBDR (*(volatile unsigned char *)0xFFFFDA) センサ 赤外線LED + フォトトランジスタ PSDセンサ 三角測量で距離を測る 外乱光に強い CCDカメラ 外乱光に弱い(蛍光灯など) 要画像処理 角速度センサ(ジャイロなど) どの方向を向いているかわかる モータ ステッピングモータ(お手軽) パルスを与えた分だけ進む 正確な制御が容易 大きいのが欠点 DCモータ 電圧をかけると回る 進んだ距離が分からないので エンコーダが必要 ユーザーインターフェース ボタン3つ + LED が主流 場所をとらない ボタン1つ + 可変抵抗 + LCD 原のマウス。直感的な操作が可能 場所をとり、重くなるのが欠点 ソフトウェア構成の例 ユーザーインターフェース モータ制御(加減速、停止など) センサ値取得 探索+最短経路導出 ユーザーインターフェース 入力 メニュー体系 各種設定、動作を選択するために必要 出力 LED, スピーカー(D/A変換) 内部状態(センサ値やデバッグ情報)を 操作者に知らせるために必要 モータ制御 ステッピングモータの場合、制御は楽 割り込みタイマーを使う 励磁させたいコイルの情報を ビットパターンとしてポートに書き込む 加速テーブル マイコンは演算性能が低いので、 逆数はテーブルを引くことで求める 励磁パターンの例(1-2相励磁) 1000 1100 0100 0110 0010 0011 0001 1001 ↓時間 迷路探索アルゴリズム 拡張左手法 求心法 一度通った区画は再び入らない ゴールが中央にあるので、 純粋な左手法ではうまくいかない事がある 分岐点で、ゴールに近い方を選ぶ 足立法(シミュレータ参照) 未知の壁は無いものとして最短経路を進む クロスコンパイル環境 日立製コンパイラ gcc (h8300-hms-gcc など) シンボルテーブルの制限がきつい Windows で動かす時は Cygwin が必要 .c -> .obj -> .abs -> .mot ROMへの転送 シリアルポート経由で書き込む wrt306x 秋月電子製 GUI もあり h8comm
© Copyright 2024 ExpyDoc