こんにちは
今回は唐突に今まで手を付けていなかった最短走行に挑みました。
実は信地旋回が成功した地点で1度最短出来る様に試みた事があったのですが
サンプルプログラムを信地用に手直しするに至らず、等速に至っては
かなりの変更点を加えなければ走りすらしない、という中で
探索すら未完の状態で最短を作る事は全く頭になく、今まで放置されていました。
現在台形駆動に向けて、等速が安定期に入ったので
丁度良い機会だと思い、最短走行のプログラムを考えてみる事にしました。
まず最短走行のサンプルプログラムは超信地旋回で、
次の壁まで何ブロック分あるのかカウントして、そこまで一気に直進してから方向転換する
というプログラムでした。
探索プログラムでは直進、右折左折は独立していますが
最短走行では右折左折と直進がセットになっているので
まずそこを等速円運動用に書き換えねばなりません。
超信地旋回だと方向転換でその場に留まりますが、
等速円運動だと曲がって次のブロックまで進みます。
なのでそれを踏まえて等速円運動の最短走行として書き換えました。
と言っても、そんな単純に事は進まず、最初は曲がる事すら出来ないレベルでした。
が、原因特定が思ったより早く、とりあえず動く様になりました。
スピード自体は探索より少しだけ上げていますが、
超信地旋回時の最短最高速設定の半分程度です。
まずは、まともに走れる事を目指していたので、当初の目標は達成されました。
次はスピードが上げれるか試す、また電圧判定を詰めていく
探索のさらなる安定化を目指す、台形駆動の研究をする
等を予定しています。