こんにちは。
今日はちょっとすがすがしい日ですね♪
こんな日はぜひお洗濯をしたい…!なんなら掃除もしちゃいたい…!!
…ですがそのために早く起きられるほど意志が固いわけではない松崎です。
さてさて、今日のマイクロマウス研修も、センサの調整です。
妥協はしない!(キリッ)
そう言えば、私にはずっと憧れているものがありました。
それは、
マイクロマウスの先輩、早苗さんの「びぎにんぐまうす」が持つ秘術、
ぐるぐるトレッド幅チェック
です!!!
Pi:Co Classicのサンプルプログラムにあらかじめ入っているトレッド幅調整用プログラムは、
2区画進んで180度回転し、2区画進んで180度回転し…と動くように書いてあります。
つまり、往復を何度も繰り替えして、回転の誤差をあぶりだすものです。
ですが、貸し出し用Pi:Co Classicを調整しているとき、
早苗さんがおもむろに繰り出したのが
ぐるぐるトレッド幅チェック!
※名前は松崎がテキトーにつけましたすみません。
これは、その場(1区画内)で360度の回転を10回繰り返し、止まったときのPi:Co Classicの向きを見て回転の誤差を確認できる画期的な方法です!
最初に置いた角度と違っていたら、足りないか多すぎるかを確認して、プログラムの数値を書き換えます。
これなら、2区画まっすぐ走れる場所を十分に確保できないときにきっと役立ちますし、
何よりLEDぴかぴかさせてぎゅいーんと回る様がかっこいい!
と、いうことで長らく実装を夢見ていました。
(コピペさせていただくのはなんかズルしてる感じがしていやだ)
しかし、今日、研修始めようとおもむろにadjust.cファイルを見ていてピンときた。
「もしかして、めちゃくちゃ簡単に作れるのでは?」
つまり、何も考えず、とにかく10回転して止まるようにしちゃえばいいわけです。
往復を繰り返してトレッドをチェックするサンプルプログラムを
適宜コメントアウト&改変してこんな風にしてみました♪
(はじめwhile文のままにしちゃってて、回っては止まり回っては止まり…するようになっちゃったのは内緒)
こんなふうになりました♪
ジェニちゃんってば天才ね!
ちなみに、これをやるときは、必ず任意の回数回転しているかどうかを確認してあげながら止まった位置を見てください。
はじめに置いた角度と全く同じに止まったと思っても、一周違っていた場合、悲惨です(;_;)笑
どうやら、回転数を見極めやすくするために回転の速度を遅くもできるようなので、鋭意研究中。
そんなドラスティックな一歩があった本日のジェニちゃんのテスト走行はと言うと…
どーーーーーも調子が悪い。
止まるたびに、「がくんっ」となって、その衝撃で誤差が生まれてがつがつ壁に当たります。
13区画走らせてホイール幅チェックしても、執拗にセンサの値を見ても、新しく導入した方法でトレッド幅を調整しても
なっかなかうまく走らない。
なぜだ…。
助けてください、のり先生(;_;)!
To be continued…