2017年9月18日月曜日

吸引実装&壁制御改善?

少し放置気味でした。

これまでやったことをまとめていきます。
前回投稿した翌日、壁制御を直すためにソフトを改修しようとしたと思います。でも、どうもダメだったように思います。正直だいぶ前で詳しくは忘れましたが、ミスやバグを抱えまくっていた気がします。

その翌日。壁制御出来ない上迷路で調整もできない日だったので、吸引機構を使える状態にしました。ファンを1つ手を滑らせて壊してしまいましたが、なんとか2次スカートまで付けて使える状態になりました。Duty30%で130g程度吸えているので結構良くできたと思います。

その次の日。とりあえず吸引の効果を試すためにパラメータ高めのサーキットをやらせてみました。結論、効果絶大でした。ターンは1.0m/sでフラついていたのに、吸うと1.4m/sまでは安定して、1.6m/sでもたまに走れるくらいになりました。さすがに驚きました。壁制御なし、調整なしで走っているので吸引の力はすごいですね。
ただ、サーキットモードだとモーターのトルク不足感があって、直進速と加速度がそこそこなところでフェールセーフがかかってしまいます。まぁ、DC初年度なので、これくらいの方がもしろ制御しやすい気がします。
その後は壁制御の根本を変更しました。前までは角速度をP制御していましたが、調べてみるとあまり良くないようだったので、角加速度をPD補償してやるように変えたと思います。安定はしませんでしたが、とりあえず変えたと思います。

さらに次の日。調整しようとしたら、突如モーターが少ししか回らなくなりました。?という感じで、しかも動くときと動かない時がある…これはハードだなと分かりましたが、この日はそれの原因をひたすら追求していました。両輪が回らなくなるのでケーブルの接触ではないし、元気な時もあるからモータードライバとも考えにくい、などと色々試したいたところバッテリー電源を監視するA/D変換がうまくいっていないことを突き止めて終了でした。

そして昨日。そこの修理をしました。分圧抵抗の接触かと思いきやマイコンの半田不良でした。とりあえず直りました。
その後はひたすら壁制御の調整。目標加速度は正しくなっているのに目標速度が変わっているバグがあったので直しました。あと、ついでにセンサの近似化をする時に自然対数の結果で除算をしていることを考慮していないために値がマイナスになったり無限になったりする結構危険めなバグを修正しました。
ログを取りながらひたすら調整。上のバグからかもしれませんが目標角速度が20000°/sとかになることがあったので、偏差が大きすぎる時は抑えるように上限を定めて、そこそこ走れそうになりました。
そうしたら壁の切れ目に吸われてしまい、値を変えてもうまくいかないので切れ目を検知した時にはD項を切るようにしたらようやく走れそうな状態になってきました。

まだ迷路で探索させているわけではないのでどうなるかは分かりませんが、結構頑張りました。久々にかなり苦労しました。どうにかこれで壁制御は安定して欲しいですね…。
吸引が出来るようになったので、斜めもできるようになりたいところです。まぁ、まずは壁制御が大丈夫なことが確認できたら、というところですね。本当、そろそろ安定してもらいたいです。頼むよ…。

今日はこの辺で。

0 件のコメント:

コメントを投稿