ぱわぷろ活動日誌

ゆったりまったり技術を学んでいます。備忘録代わりのブログです。書いてあることは私見が多いので参考程度にしてください。

クラシックマウスを作ろう!(5)~基板外径とセンサ配置~

初めましての方は初めまして

そうでない方はお疲れ様です.

前回までで機械設計の話は大体終えたので徐々に回路へと入っていきます.

マンネリ化と言えば聞こえは悪いですが、ルーティーンは大事なので保っていきたいものです.そんなわけで5回目の目次です.

 

基板外径のトレードオフ

モータマウント等ができてくると機体全体の横幅が決まってきます.ここでやっと基板外形、ひいてはマウス全体の大きさを考える事ができます.そこで横幅や縦の長さをいじることでどのようなメリット・デメリットがあるかを考慮していこうと思います.

主に僕が考えてる要素は以下の通りです.

・壁センサと壁との距離

・走行性能(斜め)

・前壁との接触頻度(位置補正)

 

「壁センサと壁との距離」

当たり前の話ですが、世のセンサには最適な範囲があります.そして、マウスの横壁センサは壁との距離を測るために使うので、最適な距離があります.これは前センサ、横センサのどちらもありますね.

これはどちらかと言えば、センサの特性というよりも「センサをどのように置くか」という設計に関わっているトレードオフと考えています.

詳細は焦点距離と飽和の項で述べます.

「走行性能」

すごく単純に考えれば、小さい方が壁や柱に接触するリスクは減ります.また逆に左壁と右壁の間にぎりぎり入るサイズだと通常の走行ですら制御が難しくなってきます.加えて、斜め走行するとなると区画よりもサイズ制限が厳しくなるので将来性を考えるとここまで考慮しています.

 

f:id:ss_sholaw_wmmc:20200628001139p:plain



 

「前壁との接触頻度」

 競技的美学として壁に一切接触しない宗教があります.(できるだけ外界的要因を外して制御したいお気持ちを考えれば理に適っています)それとは逆に接触することで強制的に位置を補正させる考え方もあります.あとは区画中心に置いたときに前壁までのマージンがどれくらいあるかで頻度が変わります.制御則が完成されていれば大丈夫ですが、初期のころは当たったら姿勢が補正されるぐらいがいいかもしれないです.(あんまりやってる人見ないけど…)

 

結局のところ壁センサの性能が出ていればどれだけ小さくてもいいって感じですね.

ちなみに壁センサの有効距離が短いことを「この機体は目が悪い」と表現することがあります.

覚えておくと話しやすいかもしれませんね.

 

壁センサの使用用途

前節で基板の大きさと壁センサの関わりが深いことを述べました.では改めて壁センサの用途を考えておきます.

 

「壁」センサなので当然壁に関わっているものが多いですが、壁センサの用途は多様です.

ほぼ必須の用途?

・壁の認識

・横壁からの位置制御(俗にいう、壁制御)

任意の用途

・前壁からの位置制御(俗にいう、前壁制御)

・横壁切れ目検知による位置補正(俗にいう、壁切れ)

・斜め走行時の壁制御

カッコいい ← 大事

・スタート合図用の非接触センサ

などなど

 

書き出してみると想像より多かった….

必須の判断は「初心者なら必須」ぐらいの感覚です.ジャイロとエンコーダ先輩を盲信すれば壁制御無くても走れはしますが、探索の安定性を求めるならあるに越したことないです.

いや、どうせ壁センサつける事になるなら設計時点では変わらないんですがね….

何で用途の話をしたかというと

“制御に組み込む用途が多い”

事を認識してもらうためです.

 

これは壁センサとしてどんなセンサを使うか決めるのに重要な考慮項目です.

 

壁センサの選定

単純に距離センサと考えると壁センサには様々なものが候補に上がります.

例えば、超音波センサ。簡易な身長測定器とかに使われるようにmm単位で距離が分かります.しかし、マイクロマウスでの採用率は低いです.理由はもちろん…デカいからです.

一般的なクラシック板マウスの重さが100gくらいなので超音波は重いというのも問題ですね.

 

クラシックマウスでよく用いられているのが砲弾型LEDとフォトトランジスタを組み合わせてAD変換する壁センサです.原理的にはフォトインタラプタと同じですが、こちらの方が自分で調整が効くので別々の方式が多いですね.

 

自分のいたWMMCではフォトトラとしてコーデンシst-1kl3aを使っていました.

マイクロマウス関係者は1度はお世話になった経験があるのではないでしょうか?(多分です、多分)

URL:

www.rt-shop.jp

 

LEDには赤色と赤外線を用いますが、最初の機体には個人的に赤色をオススメします.調整等がやりやすいのに加えて、カッコイイですからね!

 

真面目に性能だけ考えるとコーデンシを使うなら赤外線LEDがベストです.これはデータシートに記載された光の波長特性で赤外線部分にピークがあるからですね.

 

個人的には赤でも特性は充分ですし、最初はとにかくデバッグを容易にすることが肝要と思っているのでオススメした次第です.

2代目や壁センサの癖を掴んだら赤外線に挑むのはありだと思います.

 

ちなみにマイクロマウス(ハーフ)ではここ数年でToFセンサの導入が流行に見えます.(参戦してないのでソースは雰囲気)

位相差の処理から距離を厳密に出してくれる優れ物で一区画先といわず、数区画先の壁を検知することもできます.欠点は信号処理に時間がかかり、100Hz程でしか取得できないこと.

これは制御に組み込む上では致命的に遅いです.マイクロマウスの制御は概ね1kHz(1ms)でループしていることが多いためですね.

しかしそこまでの速度を要求しない使い方なら適するということで使用されています.特に前壁センサで使っている方が多い印象です.明らかに機体のトレンドを変えたセンサですね.

 

そんなわけでセンサの紹介をしてみましたが、本シリーズでは全てLED+フォトトラについて述べていきたいと思います.

 

焦点距離と飽和

LED+フォトトラは反射光を取得して、それを電圧(電流)に変換するタイプのセンサです.実用するときの回路としてフォトトラエミッタ側の電圧をAD変換するのが一般的だと信じているのでその時のAD値特性を雰囲気でお絵描きしてみました.

手元にちょうどいい壁センサのデータが無かったのでテキトーです.ごめんなさい.

f:id:ss_sholaw_wmmc:20200628005132p:plain

ここで注意点.上図ではLEDとフォトトラが傾いていますが、実際には平行になっているマウスが多いです.LEDの指向性の問題なのか、光が拡散する上であまり問題にならないスケールだからなのか…自分も全く見当がつきません.(仮説等があるブログ・論文があれば是非読みたいです…)

 

素子やサイズ間によりますが、代替のフォトトラのAD値は距離に対して線形ではありません.特に高い値ではあまり値が変化せず、飽和してしまうこともあります.

しかし、中間ぐらいでは概ね線形にみなせると考えて線形関数として近似して利用している方もいるそうです.

非線形近似の関数としては二次関数やこじま関数(宇宙人まうさー「こじまさん」が利用していた近似関数)が代表的です.以下にこじま関数のリンクを張っておきます.

URL:

kojimousenote.blogspot.com

 

 非線形部分は辛いところでもあり、面白いところでもあるので議論が尽きません.

もっとしっかり考えていきたい範囲です.

横センサ配置と角度

 横センサって真横を向いているわけではないですよ.

これはライントレーサーとかを走らせてみると分かるんですが、センサは前にあって、駆動輪は後ろにあった方が応答性がいいんですね.

理論的にはセンサの検知から処理、実行までにタイムラグがあるのでそのラグが埋まる程度に距離があると嬉しいって話(だと信じているの)です.

あとは壁の有無を確認するのは柱と柱の間なので、少し前を見た方が誤検知を防げそうですね.

f:id:ss_sholaw_wmmc:20200628013439p:plain

そんなわけで、理想としては

「車軸を区画中心に合わせたときに柱が見えるぐらいの配置と角度」

と言われています.壁切れとかも考慮すると納得はできます.

また、センサの飽和を物理的に防ぐために次の様なセンサ配置もあります.

 

 

f:id:ss_sholaw_wmmc:20200628013816p:plain

上記のように左側のセンサで右を、右側のセンサで左を見ることで飽和を防ぎ、かつ必要なAD値の帯域を線形にしようという試み(だと思っているの)です.

実際のところどこまで効果があったのかは分からないので、やっている人を見かけたら聞いてみると話のタネになるかなと思います.

前センサの個数

 前センサの役割としては

・前壁の認識

・(前壁による姿勢制御)

でしたね.

 

前壁の認識をするだけならセンサは1つで充分かと思います.しかも、壁の有無だけなのであまり細かい調整無しでもいけます.

前壁による姿勢制御は2つの前壁センサを用いることが多いです.姿勢制御の方法としては

1. 理想的な位置でのセンサ値を保持しておく

2. 前壁検知かつ機体停止時に前壁制御かける

3. 2つの前壁センサの偏差が0となる位置制御をかける

こんな雰囲気です.

当然、理想のセンサ値は会場によって異なるので調整が必要な場合もあります.

試走会や控え室で迷路のニ区画を借りて調整したりして取ったりしていますが、センサ値の取得方法やフィルタによってはほぼ毎回同じになるように工夫できたりもします.

 

そんなわけで最低1個、それなりに制御入れてみるなら2個だと思います.

また遠くなら壁を見るために3個目のセンサを入れている機体もあるので自分のやりたいことに合わせて決めてみてください.

 

f:id:ss_sholaw_wmmc:20200718162558p:plain

一般的(?)な機体の大きさとセンサ配置イメージ

はてさて、こんなところで回路?というかセンサの配置の話ができてきたので基板の形や概形が定まると思います.

以前の記事で述べたように1717を背中合わせに配置すると大体決まってきますが横幅は70〜80mm, 縦は考え方によりますが70〜100mmぐらいですかね…

もちろん、このサイズを超える方々もいるのであくまで目安程度に考えてください.

 

あとは設計あるのみです.

 

さて、今回で壁センサの物理的な話はできましたので次回からは「回路編」です.

特に初回は必要な機能の抽出とマイコン選定に関してです.

(この分野は最も不得意なのでツッコミどころが多いかもしれません、その時はコメントください)

 

では、また.