こんにちは。
さて、この土曜日日曜日は、マイクロマウスの北信越大会に参加するために新潟県にお邪魔してきました。
岐阜県→山梨県と住処を移し現在埼玉県に住んでいる松崎なので、
海を見るとちょっと感動です!
今年の北信越大会は、新潟大学の工学部祭で行われました。
今回の松崎の目標は、東日本大会と東北大会で挑戦したスラロームにパラメータ違いでモードを複数作成することでした。
東北大会でスラロームの調整に成功し調子にのった松崎は余裕の表情で新潟に向かったのですが、
いざ新潟に着いて大会前日の調整を開始したところ、
「あれっ…調整しても走りに反映されてない…??」
slalom1、slalom2、slalom3、slalom4、と4種類のパラメータ違いを作って、
マウスの大会でみなさんがよくやる、
「もっと早いモードでやってみます」
「次は博打モード(成功するかしないかわからないけど速いモード。新しい走りに挑戦するモード)です」
というのをやりたかったのですが、
調整しても調整しても走りが変わらない。
ありえないくらい値を変えても変わらない。
ピンチ!!!!!
パラメータ調整でいじっているslalom_parametersと調整での具体的な動きを指定するadjustが繋がってないような感じ。。。
プログラムを見直し、走らせて、見直し、走らせて、を繰り返しても変わりません。
前日に見直したのに~~!走らせて確認したらよかった!
結局前日の試走会では原因が判明しないまま、終了。。
トレーサーのプログラムを頑張って書いている佐倉さんと、「夜にデバッグしようね!」と言って懇親会へ、、、
懇親会では、おいしい日本酒や海の幸を頂きました。
マウスの大会は、マウス製作のモチベーションのために参加しても大変有意義なのですが、
懇親会でいろんな人とお話しができるのも大変勉強になります。
美味しいお酒と料理に舌鼓を打ちつつも、
ホテルに戻ってからのデバッグが頭から離れなかったです。
ということで、懇親会が終わってから佐倉さんに教わりながらデバッグをしました。
佐倉さんも自分のトレーサーがあるのに、ありがとうございます。。
プログラムを書き直しても動きに反映されない場合にありがちなことは、
- 書いたプログラムを書き込んでいない(ちがうのを書き込んでいる)
- 自分が思っているところに書いてない
ということなどが考えられます。
まずはこれがないかどうか、何か確認できるようにした方がいいと教わりました。
そこで、任意のモードを選択したときにブザーが鳴るようにプログラムを書いて確認。
…鳴りました。
また、実際に入れた変数(パラメータ)が任意の場所に呼び出されているかどうかを確かめるためにprintfでTeratermに表示させる方法も教わりました。
これをやってみると…「8.81」とした部分が「8」と表示されましたよ…!
なぜだ!と思っていましたが、謎はすぐに解決。
int型だからでした!!ああ、気付かなかった。小数点以下まで調整していた…。意味なかった…。
などと、洗い出しているうちになにやらボロボロとバグが。
満足のいく状態まで書き直して、25時ころには就寝しました。。
翌日、少し早めに会場に着き、コースを使って少し調整をさせていただきました。
が、やはり調整できないいいいい!!パラメータの変更が反映されないいいぃぃぃ
これもまたあわてつつ検証していくと、バグでした…。
なんだバグだらけーーー!!
とてもブログでは書ききれないくらいいろいろなバグやミスがあり調整ができなかったのでした。
そして、やっとで調整ができた!その瞬間に調整に使える時間は終了…。
その後、広い机の上で完全に目視によってスラロームの角度だけ調整しました。
そんなこんなで調整不十分で出場することになってしまったGENIEちゃんの本番の走りはこちら、、、
今回は超信地旋回のみでの完走となりました。。。
むむむう。
悔しいです。
また来週、がんばります。
(台風大丈夫なのか?)
アールティからは弊社製品Pi:Co halfで参加した川上が入賞していました。
やはり、事前に迷路で走らせてきちんと調整することは大切ですね。
そして、ちゃんとトラブルのありかを明らかにしながらプログラムを書いたり修整する必要性も強く感じました。
(闇雲にデバッグしたせいで時間が余分にかかりました。)
バグも洗い出せたことですし、九州大会まであと数日ですが、時間を見つけてちゃんと調整して出場します。