とりあえず踏ん張ってマウスのデバッグの続きをしました。
昨日の時点でwhileのあたりがおかしい、ただvolatile付けてもコンパイラの最適化の設定を変えても効果がないので最適化ではなさそうと判断して、別のところを探ってみました。
最適化じゃなければオーバーフローか、と思い変数の値を取ってみたら、ビンゴでした。そして周辺を確認してみたところ、プログラムの移植の際の変更が一部できておらず、0除算している箇所があることを発見し、直したところ、ひとまずオーバーフローは解決しました。
その後ネイピアのところで一部式の符号が違う箇所を発見し、修正。これで動かしたところ、ずっと最高速になってしまっていました。直感で加速を管理しているタイマー用の変数のあたりが怪しいと思い、よくみてみると初期値の都合上勝手に作動してしまっていることに気づき、直したところ、目標速度がネイピア加速のものがマウスからログで取れました。
その後は追従させるだけなので大きな苦労はなく、真っ直ぐ進めるようになりました。もちもち4号のはじめの一歩です。
まだ旋回とスラロームはできないので、今後はそこを実装していきます。
とりあえず動くようになったので良かったです。まだネイピア数の真価はわかりませんが、プラスに働いて欲しいですね。
次は知ロボですね。アームのセンサ回路に関してまだ全然触れられていないので、見ていきたいと思います。あと、協調動作(アルゴリズム)や6号のアルゴリズム、5号のバグ取りなど、結構やりたいことはいっぱいありますね。無理せずやりたいと思います。
今日はこの辺で。
0 件のコメント:
コメントを投稿