クラッシュ時の止め方

 この記事はMicro Mouse Advent Calendar 2023の2日目の記事で、昨日の記事はなおフィスさんの「マイクロマウスで使ってるテストについて」でした。丁寧にモードを準備していると開発サイクルも短くできそうです。そして、「導入:テストの重要性」の項は必読

 マイクロマウスを走行させると壁にぶつかったり制御を失敗したりしてクラッシュする時が多々ある。クラッシュした後にさらに駆動モータやファンモータを動かし続けているとそれらのモータが故障したり、マイクロマウス本体が破損したりする
 そのため、クラッシュ時には即時に各モータを止めたいと思うものの、一方で、軽微な壁への接触や制御目標値との差で止めるてしまうと完走できるはずの走行を諦めてしまうことになる
 そこで、今回はそのようなジレンマを解消できるかもしれない異常状態の判定を紹介する
 マイクロマウスSpangle V5にはクラッシュ判定として①直線走行時に速度が閾値を下回る時間が続く場合②目標角度との差が閾値よりも大きい場合③ターン走行中に制限時間を超えた場合、の3つを搭載している

 一つ目の処理は具体的には、速度が目標値の半分よりも遅い時間が0.5秒続いた場合に異常状態と判定する。こうすることで、駆動モータが停止にいたらない状態を検出できる。また、一瞬の壁への接触などで一時的に速度が低下した場合の誤判定を防げる。
 二つ目の処理は具体的には、直線走行(斜め直線も含む)に中に目標角度に対して30度ずれた場合、ターン中に目標角度に対して90度ずれた場合に異常状態と判定する。これによりターン中にスリップして角度が著しくずれた場合、斜め直進中に壁に触れて大きく姿勢を崩した場合といった場合を検出できる。
 三つ目の処理は具体的には、各ターンの曲がり始めから曲がり終わりまでに0.5秒の制限時間を設けるもので、その時間を超えた場合、すなわち壁に当たった状態が続く場合、あるいは、(バグで)処理が終わらず回転を続けた場合を異常状態と判定する。

 そして、上述の3つの判定のいずれかで異常状態を検出した場合は停止処理に移行する。停止処理は駆動PWMを0%(ON-Break方式のBreak状態)に設定して、機体の回転と速度が止まるのを待ち、止まったのを確認できたら吸引ファンの回転を止める。これにより安全に機体を停止でき、(吸引ファンを回し続けることによる)モータの消耗も抑制できる

明日は「私のセンサ回路について」です。どんな回路構成が出るか楽しみです

マイクロマウス九州大会

文化祭で賑わう熊本高専で開催された九州大会に参加してきた。いつもなら模擬店でご飯を調達するけれど今年は熊本B級グルメのちくわサラダを調達。罪の味がして美味しい
大会は遠方からの参戦も多くて過去最大の参加人数だったそうで、いつもより長く競技を見ることができた

目を動かし瞬きしながら走り回るM社むぶあい

個人競技成績は60ms差で2位。課題もみつかったし有意義な大会でした。大会を運営頂いた熊本高専の皆さまありがとうございました

モータに直列繋ぎのインダクタ


 モータに流れる電流の脈動を抑える意図ではなく、バッテリからの電流の脈動を抑えれたい目的で一旦試した。そして以下の2点が気になった
 一つ目、モータの印加電圧に対する回転数の低下。バッテリの放電能力が低い物と組わせた場合に制御値PWMを100%にしても機体のヨー加速が目標値に達しない場合がでてきた。、Lのインダクタンス成分というよりDC抵抗の影響かもしれない
 二つ目、こちらもDC抵抗の影響で、左右モータとLを合わせた状態でのPWMと回転数の特性が合わない。モータのバラツキはほぼ影響はないけれどインダクタの影響が大きく結果左右で10%の差が出てしまった
 どちらももっとサイズの大きなDC抵抗の小さい物を選べば改善するかもしれないけれど、今回は搭載を取りやめた。

光学式エンコーダNJL5820R


今年度のマウス(spangle V5)から導入したエンコーダについて紹介する。今回導入したエンコーダは日清紡マイクロデバイス社のNJL5820Rという反射型のエンコーダICを利用している。このIC(NJL5820R)は0.25mm/0.25mmの反射面、非反射面のミラーを組み合わせて動作するもので、今年度のマウスではこのミラーを円形のPCBにしてエンコーダ板を作っている。

エンコーダ板は金フラッシュ処理されたパターン面とつや消し黒のレジストとで、反射面と非反射面のスリットを作っている。スリットの数は50で、円の直径8mm(≒(0.5mm*50個)/3.14)のところでエンコーダのスリット幅が合致して、かつ、ハーフサイズマウスのホイルの直径に収まる

このような構成でつくるエンコーダについてのノウハウとして、というか今回嵌った点について記録を残す。フォロワーの設計の参考になれば幸いである
・エンコーダ板とNJL5820Rとの距離
 0.5mmを前後にしてあまりシビアでは無さそう
・NJL5820Rの発光LEDに流す電流
 電源3.3Vに抵抗200Ωを組み合わせて10mA(≒(3.3V-1.4V)/200Ω)を流している。当初5mAを流している時にパルスを読み落とす場合があったのが電流を大きくすると解決した
・エンコーダ板の汚れ
 エンコーダ板の金フラッシュが”くすん”でいる物を使った場合にパルスを読み落とす場合があった
・壁センサとの干渉
 壁センサの光を受けてパルスカウントが増える場合があり、壁センサの発光LEDの後ろ側を遮光すると解決した

・センサの発光側をエンコーダ板の内側にするか外側に配置するか?
 エンコーダ板は直径が小さくエンコーダ板の8mmの位置の内外によってスリット幅が大きく変化する。そしてNJL5820R発光側と受光側に1mm程度の距離がある。そのためNJL5820Rの発光側と受光側のどちらともを理想的なスリット位置に配置することはできない。今回は発光側を外側にして受光側を内側に配置したが、逆の方が発光の反射光を多く出来て良い(発光LEDに流す電流を小さくできる)のかもしれない(未検証)
・黒レジストの下のパターン
 今回はエンコーダ板の表面に不要な凹凸がないほうが良いと考えてレジストの下にもパターンを残したが、可視光で黒色に見える黒レジストが赤外光に対して”透過しない”かどうかが分からない(未検証)

第40回マイクロマウス北陸信越地区大会


北陸信越大会に初参加。会場は新潟駅に近い繁華街にある新潟コンピュータ専門学校で、毎食ともに地元の美味しいグルメを満喫できた。

魚が美味しい

団子も美味しい

カレーも美味しい
食べ物の美味しい地区の大会は素晴らしい

そて、競技は運よく優勝。直進優先の経路が功を奏して不安定なターンでも完走することができた


大会を運営頂いた北陸信越地区の皆さま、新潟コンピュータ専門学校のみなさまありがとうございました

V4とV5で探索結果が違うのなぜだろうか?

ケーブルの被覆


同じAWG28番線だけど左のUL1429ケーブルの太さが1.0mmで、右のUL1007は1.2mm。この差によってZHコネクタに使えなかったりする。
太さの違いは被覆の材質で、左は耐熱架橋ビニルで、右は耐熱ビニルが使われている

斜めゴール


今まではゴール区間に入ると1区間と半分だけ(東西南北方向に)直進する処理をしていた。しかしながら、この処理だとゴール区間に斜めに侵入したときに1ターン増えてしまうため、ターン前の減速によるタイムロスと、ターンの失敗の可能性を含んでいた
というわけで、処理を変更して斜めのままゴールできるようにする
例えば、ゴール区間に到達するn歩目とn-1歩目との間が左ターンで、n-1歩目とn-2歩目の間が直線または右ターンの場合(つまり左ターンではない場合)、ゴール区間の右側の壁が無ければ、n歩とn+1歩の間に右ターンをn+1歩とn+2歩の間に左ターンを追加することで、n-1からn+2までを斜めの直進に置き換えられるようにする

1mmシャフトとベアリング


1つ前の機体の作製時から気になっていたのだけれど、内径1mmのベアリングにはマイナス公差のシャフトが入らないことが多々ある。ベアリングは有名メーカの物なので、試しにシャフトのメーカを変えてみても変わらない。
しかたないので、ベアリングとシャフトを沢山買って、上手くはまる組み合わせを選別して使っているが、釈然としない
1.5mmのシャフトの時は起きなかった気がするので、設計が上手くいくなら1.5mmに戻したいところ

2023年度マイクロマウス関西地区大会

 大阪電気通信大学で行われた2023年度マイクロマウス関西地区大会、延べエントリ111台の大きな大会となりました。皆様お疲れ様でした。

 金曜日から行われていた会場設営は、翌日の土曜日も自由工房のメンバーたちによるクラシック迷路の設営や、早めに到着した競技者たちの手伝いもあってスムーズに進んで、午後1時からは試走会が開始できました。

 日曜はパドックも大賑わい、机は丁度で足りた様子

 競技の観戦も賑わい、それでも会場が広いおかげで渋滞はしない

 今回の大会は、クラシック競技とハーフ競技は競技時間を5分設定ではあったが、未出走の機体があっても、ちょうど時間内に終われた様子だった。2面での大会運営だと今回の参加台数がギリギリのように思う

 個人の競技成績は狙った当たりのタイムで6位になりました。