迷路探索性能に特化した遠距離光センサのマイクロマウス ALBIREO

<<前ページ ホームページ

 

写真1

 

動画(下の画像をクリック

 

1 マイクロマウスとは

 マイクロマウス競技は1区画18cmの迷路を探索するロボット競技で、探索後の出発点からゴールまでの時間を競います。
アメリカで発祥したものですが、全日本マイクロマウス大会が世界最高水準の大会として現在も毎年開催されています。
どちらかと言うとアメリカでは完走できるマウスが出た時点で研究テ−マとしては終わりという考えのようですが、日本では速度と制御を競う大会として年々レベルアップして今日に至るあたりが対照的と言えるでしょう。
全日本大会となっていますが海外のマウスが参加することもでき、優勝を取られてしまうこともあります。

 単純に考えれば最短コースが最速コースということになりますが、今はそういうレベルではなく、それで上位に食い込むのは難しいものがあります。
例えば距離は長くても曲がり角の数が少ない方が速く走れたりしますし、左右へ連続してジグザグに曲がるコースを斜めに走行する「斜め走行」などもあります。

 

2 経緯

 このマイクロマウスを作ったのは1994年から1995年にかけてのことでかなり前になります。
マイクロマウスには1台づつ名前をつける伝統があって、当時天体観測に凝っていたことから天上のロミオとジュリエットと言われる白鳥座の2重星(2つの星が接近して肉眼ではひとつの星に見える)に由来してALBIREOと名づけました。
2つの目のようなセンサを持つことからこのように名づけました。

 以前全日本マイクロマウス大会に2回出場して、「技術奨励賞」をもらいました。
スピードが遅く予選通過はできませんでしたが正式迷路での完走記録はあることになります。

 

3 ALBIREOの特徴

  前述のように日本のマイクロマウス競技はスピ−ド競技の趣があるわけですが、このマウスは探索性能一本槍に絞ったマウスで、競技とは関係なく作りたいモノを好き勝手に作ったという次第です。
つまり初回の探索で最短距離でゴ−ルに到達することを目指したものです。
通常のマウスはマウスの現在地の周囲の壁しか情報取得できませんが、ビーム光線(レ−ザ−ではありません)を壁に当てて戻ってくる光で先の壁の有無の情報を取得できます。
センサ は2つのラジコン・サーボで左右と上下に2つの自由度で動かすことができます。
競技規定で壁は白 、路面はつや消し黒と決まっていますので、スポットの当たった個所の戻り光を検出するのに都合良いことになります。

動作説明の連続写真

 

4 構成の概略

  上の写真1で説明します。
2つのルーペを並べてセンサとして、向かって左にLED、右にフォト・トランジスタが入っています。
手前の青い箱はセンサアンプで鉄板でシールド してあります。
その後のスピーカのようなものはサウンド・ モジュールで、音を出すだけで走行には関係ありません。
前の一番下に見える少々大げさな回路はモータ・ドライブ回路で、リレーはブレーキとしてモータをショートさせるためです。
ドライブ回路は左右の車輪を回す2つのモータ用に2系統あります。

写真2

 リア・ビューを写真2に示します。
電源は後に搭載しているリチウム・イオン電池ひとつですが、モータ駆動用と電子回路用の別々に定電圧回路を設けています。
電源ラインには後ろの右下に見えるように大きめのコンデンサを入れておきました。
後ろの下に見えるキャスタは固定ですので信地旋回をするときは回転せずに滑ることになります。
少々強引にも見えますが、このように固定すると直進性が良くなります。

 

5 サーボ

 下の黒いサーボのホーンに青いサーボがついている形になっていて、下の黒いサーボが左右、青いサーボが上下にセンサを振ります。
以前安物のサーボを使っていましたが耐久性に難がありました。
今使っているのはFutabaのFP-S9601ですが耐久性や精度で問題なく一度調整すれば後はメンテナンス・フリーで済みました。
周期的にマイコンからパルスをサーボに送っていて、そのパルス幅に応じてサーボの位置が決まります。
サーボを動かしたい時は新たな位置に相当するパルス幅に切り替えれば良いわけですが、これだけでは所定の位置にサーボはいつか到達してくれますが、所定の位置に到達したかどうかはマイコンには分からず時間で管理するしかないことになります。
サーボをバラさずに済むように、サーボに流れる電流を検出してサーボの停止を検出することにしました。
サーボに流れる電流の基本的な推移は、起動時の大電流からスピードが上がるにつれ次第に電流が減り、そして目的位置を通り過ぎたところで逆方向に戻す大電流があり、行ったり来たりをした後に停止に至るというものです。

 

6 スポット測光の意味

 同じルーペに片方はLED、片方にはフォト・トランジスタを同様な形で組み込んで、壁にスポット照明をあててその部分に相当するスポット測光をしていることになります。
LEDはパルス点灯してフォト・トランジスタからの信号はその帯域のバンド・パス・フィルタを介して受光量のアナログ量を得ています。
赤外線の方が外光の影響は受けにくいものがありますが、スポットが見えないと調整に不便ですし、また見えないと面白くありませんので可視光にしました。

   A       a

          

 壁は白、路面は黒ということで簡単にイメージセンサが使えるかというとそう簡単にはいきません。
Aはマウスの目に近い形でデジタル・カメラを置いて写したものです。
照明は斜め前右上から当たっている状態です。
人のパターン認識能力からすればどこが壁でどこが迷路かは一目瞭然ですが、これを白黒2色に変換したのがaです。
影の白い壁は黒くなってしまっていますし、黒であるべき路面にも反射光を拾って白くなっているところがありますので、白黒のスレッショルド調整だけで済む問題ではないことになります。
Bはフラッシュ撮影したものですが、この場合壁の陰は押さえることができましたが、壁に反射した光が路面に反射しています。
単純に白黒で識別するわけには行かず何らかのパターン認識系の処理が必要ということになります。
スポット照明スポット測光にすると余計な影や反射光を押さえて、単純に白黒で壁か床かを判別できます。

7 マウスの微調整

 動画で細かく動いて微調整をしているところがあります。
遠くの壁に当たるスポットは大きく位置がズレることになりので、通常のマウスより方向に関してはシビアなものがあり、なるべく真っ直ぐにするために行っています。
調整方法は回りの壁の状況により、どの壁に対してどのように調整するかいくつかのパターンがあります。
なお、動画は撮影のために久々に動かしたもので、とりあえず動いていますがメカは動かさなくても長期の間に状態が変わることがあり、整備万全の本来の動きとは少々ズレているものがあります。

 ひとつのセンサでサーボをそれぞれの用途に動かして全てやりくりするという悠長なことを行っていますが、例えば走行用の側面の壁を検出する専用のセンサとか複数のセンサを搭載した方がスムーズに動かすことができるはずです。
それにしても悠長とはいえ忙しげに動いているのは見ていて飽きませんし、合理的でなかろうが大げさにガシガシと動くのもロボットらしさのうちかと思った次第です。


8 ソフトウェア

 コンピュータの世界では10年大昔で、これを製作したときのソフトウェア開発環境は今ではズレているものがあります。

 8086ソフトウェア・コンパチのV25をCPUとして、MS-DOS上で開発しました。
プログラム言語はTURBO PASCALで割り込みも含めて全て記述しました。
TURBO PASCALのROM化は「技術者のためのTURBO PASCAL活用法 中野正次著 CQ出版社」を参考にしましたが、おそらく絶版だと思います。
ROM化と言ってもデバッグしながらいちいちROMを焼くわけではなくて、実行プログラムはパソコンとシリアル・ラインで接続してRAMに転送する形にしていました。

 スピードの速いマウスを作るのはソフトも気にしなければならないものが沢山あって大変ですが、スピードのことを気にせずとにかくまともに動きさえすれば良いという方針でマイクロマウスを作ると、「あれやって、これやって、次これやって」という具合にプログラムを作っていけば良いので、それに比べると嘘みたいに楽な面もあります。
その一方で壁からの取得情報量が多い分だけ探索のソフトが難しいものがありました。
ソフト作成の手間だけでなくCPUにとっても重いものがあり、小さなテスト迷路やパソコンの高速なCPUによる迷路シュミレーションでは問題ありませんでしたが、本番迷路では次の身の振り方を求めるマイコン内の最善手の探索でフリーズ状態に見えるほど時間がかかってしまうことがあります。

 

<<前ページ ホームページ