昨年もバグが見つかってましたが,今回はもっとひどい.なぜ今まで走っていたのか,というレベル.
昨日今日と調整をする中で,横センサが想定外の挙動をしていることをつかみ,対策をしようとしていた.
ふとログを見ると,±両方とりうる補正項が+にしかなっていない.さすがに符号ミスはしていない…
といわけで,想定外の挙動の対策どころかバグ潰しをするハメになった.
壁の切れ目を読むごとに逐一すれ違った時のセンサ最大値を取得するつもりが,歴代走行してきた中での最大値しかとっていない.そして,それが補正項として計算式に突っ込まれる.
つまり,いまどのくらい走行ラインからズレているか関係なく,最もズレていた時の値で補正されていた.他のマウスに比べて斜め走行中に明らかに発振していたように見えたのはこれのせい.補正がメチャクチャ.
一応,昨年まではこのバグが封じ込まれていたようだが,今年8月に調整した時に不要に思い削除したコードが封印を解除してしまったらしい.
なんとかバグを潰し,はじめに書いた想定外の挙動も対処できた.昨年はバグがなかったが,想定外の挙動に対処していなかった.バグと想定外対処ができている今年の状態が一番安定して斜め走行しているように見える.
もちろん,無理な時は無理だけど.いつまでたっても斜め走行は安定する気がしない.
0 件のコメント:
コメントを投稿