Autowareによる自動走行/パスプランニング


作成した地図と、走行経路ファイルを使って、車両を走行させてみる。

<前段>
地図の作成:https://qiita.com/atsuto/items/f26d63b778a783929ab7
走行経路の作成:https://qiita.com/atsuto/items/03d951143b908c59cef1

※参考
https://faboplatform.github.io/AutowareDocs/04.Autonomous_Drive/00.autoware/
https://qiita.com/k-koh/items/db88bbd6923a668c3164
https://qiita.com/yukkysaito/items/98a39dc4b842d7135ce2
http://4c281b16296b2ab02a4e0b2e3f75446d.cdnext.stream.ne.jp/randc/mirai/3_Autoware_LP.pdf

各ファイルの読み込み

参考ページに習って、地図と走行経路を読み込み、Computingの必要項目を稼働させた。

デバッグ

topicを確認してみると、当初、Twist_cmd.twistがゼロのままだった。
Waypointファイルの速度がゼロになっていたので、10くらいにしてみたが、ここは見てないらしい。

下記コマンドでグラフ化して確認してみた。

$ rosrun rqt_graph rqt_graph

うまく出力されていない twist_cmdは、final_waypoins、current_velocity、current_poseから計算されていることが分かる。それぞれの値を見てみるが、どうやらそれっぽい値が飛んでいる。ということで、pure_pursuitの設定値が怪しい。

設定値について

https://faboplatform.github.io/AutowareDocs/05.Autoware_parameters/04.computing/
【lattice_velocity_set】
[app]では障害物検出範囲を設定しますが、室内マップだと空間が狭すぎるようなので、[Detection Range]と[Deceleration Range]は小さい値にしておきます。
0とか0.15

【pure_pursuit】
車両制御命令となる、目標速度と目標角速度をROSトピックで配信するときに有効にします。[app]では[Dialog]を選択
[Velocity]はターゲットボールの移動速度として2(km/h)を設定します。
[Lookahead Distance]はターゲットボールまでの距離として1(m)を設定します。
ラジコンではこの比率(2km/h:1m、4km/h:2m、6km/h:3m)がいいようです。

→自分の場合はDialogだとTwist_cmdが出力されなかったので、Waypointにしてみたらうまく出力された。

Twist_cmdが出力されたのが分かる。
角速度は0.38から-0.38
速度は2.6くらいが出ている。

自分の設定値。

アウトプット

ここまでで、車両を動かすのに必要な、下記の値が出力できた。

twist_cmd.twist.linear.x:目標速度(m/s)
twist_cmd.twist.angular.z:目標角速度(rad/s)