vuitls の
pathUtils.h の直線追従の補助コマンドについての説明です。あらかじめ決められた直線経路を追従させたい場合に使うと便利。
ビーゴの走行系は目標の追従直線に対し、指定曲率rで追従しようとする。
現在追従中の直線Aと次に追従すべき直線B、追従時の曲率rが定められた場合、その追従経路は以下のように示すことができる。
この図より、直線Aを走行していて直線Bに乗り換える場合、地点Pで直線Bへ追従するコマンドを発行すればよいことがわかる。つまり、あらかじめ追従したい経路を直線で表現することにより直線乗り換えのタイミングを制御できる。
連続直線への追従をそれを実現する関数は, followLinesUpdate となる。それを用いてあらかじめ決められた連続直線への追従サンプルは以下の通り。今回のデモプログラム
lines::cpp では、追従予定の直線を描画している。
シミュレータによる実行結果