苦行記録

マイクロマウス関連の不定期な日記みたいなものです

2020年マイクロマウスハーフ機体紹介

f:id:nout:20200923223623j:plain

機体名 20HF-01
全長 55 mm
38 mm
重量 約16.5 g
マイコン RX631 64pin
モータ

6×12 mm(不明) コレ

BETAFPV 6x17 mm 25000 KV(吸引)

エンコーダ MA-700
モータドライバ

DRV8836

IMU MPU-6000
センサ LTR-4206E+OSI5FU3A11C
バッテリー 100mAh 20C 1Cell コレ
ギア

kkpmo M0.3 9T

DMMmake アクリル(Ultra) M0.3 36T

 <最大パラメータ>

直進速度 4 m/s
斜め直進速度 3.5 m/s
加速度 15 /m/s/s
大回り90度 1.5 m/s
その他ターン速度 1.2 m/s

<3DCAD>

<回路図>

f:id:nout:20200923225206p:plain

<AW>

f:id:nout:20211219171525p:plain

特徴

◎吸引力UP

前作では最大で30g程度しか吸引できず,また,吸引スカート自体が下りないことが多々あった.

そこで,吸引力を上げるため,モータを4mm径のものから6mm径のものに変更してより高回転型のものに変更した.

その結果,最大で60g程度吸引でき,十分な吸引力を得ることができた.

 

◎モータの選定

ハーフでよく使われるモータのDidel MK06-4.5は1Sだとトルクがそこまでなく,吸引機体には向いていないと感じたため,中国通販で同サイズのモータを買い漁って選定した.

自宅の環境で回転数やトルクの計測はできないため,実際にマウスに実装してFF&FBゲインを合わせて走行ログから評価した.

手間も時間もかかったが,まあまあ満足するスペックのモータが手に入り,トルク不足は改善された.

 

◎センサ配置

前作では発光と受光をセットで横に並べて配置していたが,今作では縦に並べてセンサマウントで保持することでセンサ角度を左右で合わせてセンサを使った制御をしやすくすることを狙った.

が,そもそもセンサの半減角が広いためあまり効果はなく,むしろセンサマウント分の重さによってイナーシャが若干増えた.

でもかっこいいのでOKです.

 

◎ジャイロ変更

クラシック同様,ハーフもジャイロを従来のものから変更した.

問題なく使えているが,ターン時(特に大回り180度)の最大角速度がこのジャイロのレンジの限界である2000deg/sに近いので次に作ることがあるなら最大レンジ4000deg/sのジャイロを使いたいと思う.

もちろん振動対策で実装方法を工夫したいと思う.

 

◎プログラムの変更(クラシックと同様)

今作はハードもソフトも今まで動けばOKだった箇所を見直した.

・並進方向と旋回方向にFF制御を導入し,モータに余計なトルクがかからないようにした.

FF制御のゲインは運動方程式から理論的に算出したものではなく,加速度項,速度項,摩擦項のそれぞれをログを取りながら自分で設定した.

コツを掴めばそれっぽくFF制御が可能だが,時間と根気のいる作業なのでどうにか精度良く定数を得る方法を考えたいと思う.

・角度の扱いに関して,今まで相対角度でしか扱っていなかった(旋回する度に角度はリセットしていた)が,リセットをせずに絶対角度で扱うことで前の動作による目標角度と機体角度のズレを考慮した旋回が可能になった.

旋回後の機体角度が壁制御がなくてもほぼ合うことで壁制御が困難な櫛区間などで効果的だった.

おそらくDCマウスでは絶対角度で扱うことが普通であり,多くの人がやっていることだと思う.

・センサ値の線形化を自然対数近似にしてセンサテーブルでROMに持つようにした.

それに伴ってコンパイラをCC-RXからGCC for RXに変更.(CC-RXの無償評価版ではプログラムサイズの制限があったため)

今まで割り込み関数内で多項式近似で逐次計算していたが割り込み時間を超えていたが,テーブル参照にすることでかなり処理時間を抑えられた.

 

総合評価

今までで一番まともだと思う.