やはり実際に大会に参加するといろんな意味で収穫があるものである.
・実際の迷路を試走させていただいてわかったこと
機械研迷路とは異なり,粘着による摩擦は非常に小さい.調整をしてみると,モータのフィードバックのゲインが10倍ほど違う.話にならん.よって学生大会に向けてまずはじめに迷路の塗料を塗りなおさなければならない.
・参加者との情報交換で得たヒント
こちらで触れておられる,ADXRS300のselftestの話.もっと前に情報公開していただいていたらしいが,完全にスルーしていた.ドキュメントをよく読めば,ドリフトを劇的に抑えることができうるらしいです.
・貴重な休日として調整をしていて気づいたこと.
本番でもそうだったのだが,今年はなぜかブレーキが効かず,スラローム前に完全にスリップしてしまうことがたびたびあった.やや前重心とはいえ減速の加速度を落としても改善しないことから,簡単にスリップで片付けていい問題ではなさそう.どうも,タイヤ速度が落ちないもんだから,フィードバック制御で無理やり強いトルクをかけようとしたときにスリップすると考えられる.
さらにログをみながら探っていくと,duty比50%で一定速度の状態からduty比60%とすると5m/s/sで加速するが,40%としても-5m/s/sでは減速しないことがわかった.なぜ?トルクの線形性はないということか?
電流連続モードからかけはなれているからか?と思ってモータ制御のPWM周期は100kHzとしていたところを200kHzにしてみた.改善せず.20kHzにしてみた.改善した.そういうものなのか.なぜだろうか.MIN5では10kHzくらいと低いのが気になっていたが関係はあるのだろうか?
理由はわからないながらも,問題のひとつは解決しそうである.毎年中部地区大会では重要な知見が多く得られるが今年も例外ではなかった.学生大会までにすべてを盛り込んで調整するのは困難かもしれない.なんせマウスだけでなく迷路の路面状態も調整する必要があるから.
2009年10月30日金曜日
2009年8月23日日曜日
ジャイロ出力から角速度
ジャイロセンサはドリフトがあり,ゼロ点がきっちり決まらないという点でやや使いにくい.角速度が知りたいだけなら問題にならなくても本当にほしい情報はその積分値である角度なので,ゼロ点のずれはわりと効いてくる.
電圧出力のジャイロの場合,AD変換によって得られた値sから角速度ωを計算するには,
ω = k * (s - s0)
となる.kは比例定数,s0はω=0(マウスが停止している状態)におけるAD変換値.10bit分解能のAD変換器を使うとs0は500程度の値を示すが,真の値が499.8だった場合0.2の誤差が生じ,積分すると相当な大きさになることがある.
この場合には,
ω = k/10 * (s*10 - 4998)
とするなどして十分な精度を確保する.
これはジャイロセンサに限った話ではないが,エンコーダの場合は速度0でカウント0を示すし,積分しなければちょっとずれていても問題にならないからジャイロ特有といってしまってもよく,わりと見落としがちかもしれない.
電圧出力のジャイロの場合,AD変換によって得られた値sから角速度ωを計算するには,
ω = k * (s - s0)
となる.kは比例定数,s0はω=0(マウスが停止している状態)におけるAD変換値.10bit分解能のAD変換器を使うとs0は500程度の値を示すが,真の値が499.8だった場合0.2の誤差が生じ,積分すると相当な大きさになることがある.
この場合には,
ω = k/10 * (s*10 - 4998)
とするなどして十分な精度を確保する.
これはジャイロセンサに限った話ではないが,エンコーダの場合は速度0でカウント0を示すし,積分しなければちょっとずれていても問題にならないからジャイロ特有といってしまってもよく,わりと見落としがちかもしれない.