280 likes | 448 Views
マイクロマウス概論 A. 2003/04/14( Mon) 15:00- 早稲田大学マイクロマウスクラブ( WMMC) 4年 原 耕司. マイクロマウスとは. マイクロコンピュータや各種センサなどを内蔵し、自分の力で迷路を走り抜ける小型自走車 2輪マウスが主流 現在のトップは井谷氏の6輪マウス (日本システムデザイン社). 迷路. 迷路の大きさ 3 m×3m 16×16区画の通路(通路の幅は18 cm) 迷路の形状は事前に知らされていない (大会ごとに変わる) 出発点は隅の1区画 ゴールは中央の4区画. 競技の方法. 出発点にマウスを置き、ゴールまで走らせる
E N D
マイクロマウス概論 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相励磁) 10001100010001100010001100011001 ↓時間
迷路探索アルゴリズム • 拡張左手法 • 一度通った区画は再び入らない • ゴールが中央にあるので、純粋な左手法ではうまくいかない事がある • 求心法 • 分岐点で、ゴールに近い方を選ぶ • 足立法(シミュレータ参照) • 未知の壁は無いものとして最短経路を進む
クロスコンパイル環境 • 日立製コンパイラ • シンボルテーブルの制限がきつい • gcc (h8300-hms-gcc など) • Windows で動かす時は Cygwin が必要 • .c -> .obj -> .abs -> .mot
ROMへの転送 • シリアルポート経由で書き込む • wrt306x • 秋月電子製 • GUI もあり • h8comm