こんにちは、しおたにです。
前回、前壁との距離をみて一定位置で止まれるようにしました。
今回はスラロームと合体させ、曲がり終わった位置をなるべく一定にさせようと思います。
実装にあたり気にしたことは下の3つです。
-
スラロームを開始したい地点
前方との距離を測るセンサの値を記録します。
前壁との距離を測ってから機体が曲がり始めるまで若干時間がかかるので、少し手前に置いたときのセンサ値を閾値とし、これを超えたら曲がり始めるようにしました。
この手前具合は何度か試走して調整して求めています。 -
前壁がない場合
十字路などスラロームの際に前壁が無い場合があります。このため、前方のセンサ値が一定以下なら前壁なしと判断し、適当なところで曲がり始めるようにしました。
だいたい1.5区画先の壁をみたときのセンサ値を閾値としています。 -
前壁が近すぎる場合
曲がる区画に入った時点で前壁が近すぎると曲がり切れないので、この場合は旋回半径を小さくすることにしました。
タイヤ径などがしっかり調整されていると仮定し、ズレても最大で15mm程度だろうとあたりをつけ、半径が15mm小さい旋回半径で曲がれるように設定しました。「1.」の閾値を超えた場合はこのモードになるようにしています。
実装前
実装後
これでかなり安定性が向上したと思います。
今回はここまで。
次回、突然ですが社内走行会が開かれることになったのでその様子をお伝えします。