LoginSignup
4
1

初心者がAIチャレンジやってみた (3):2つ目の障害物の回避(パラメータチューニング)

Last updated at Posted at 2023-06-26

概要

「初心者がAI Challengeやってみた」シリーズの第3弾です。
今回はlongitudinal関連や、path interval関連のパラメータを調整して回避動作がシャープになったので共有します。

前回と前々回の記事はこちら:

筆者はautoware初心者です。
説明等が正確でない可能性があるので本記事だけではなく他の記事やautowareのドキュメントも確認するようにしてください。

パラメータ調整

Longitudinal関連

車両の進行方向の距離関連のパラメータ。
多分障害物を避け始めるタイミングとかを設定しており、デフォルト値だと障害物の十分前から回避をするように計画するため、かなり緩やかな回避経路が生成される。
逆に言うとAI Challengeのように障害物を連続で回避しないといけない場合は1つ目の障害物を緩やかに回避しすぎて2つ目が回避できなくなってしまう。

avoidance.param.yaml
avoidance:
# (省略)
longitudinal:
  prepare_time: 0.0                             # [s]   元々2.0
  longitudinal_collision_safety_buffer: 0.0     # [m]
  min_prepare_distance: 0.0                     # [m]   元々1.0
  min_avoidance_distance: 0.0                   # [m]   元々10.0
  min_nominal_avoidance_speed: 1.0              # [m/s] 元々7.0
  min_sharp_avoidance_speed: 1.0                # [m/s]

前回に比べて1つ目の障害物を直前で回避するようになった。

Path Interval関連

経路を生成する時の解像度に関するパラメータ。
大きいと荒すぎる経路が生成されるが、小さすぎると計算コストが高くなってしまう。

上の動画を見ると経路が荒くて2つ目の障害物が回避できていないように見えたので調整してみた。

behavior_path_planner.param.yaml
path_interval: 0.1   #元々2.0
avoidance.param.yaml
resample_interval_for_planning: 0.05       # [m]   元々0.3
resample_interval_for_output: 0.1          # [m]   元々4.0

確かに生成される経路のshift pointの数は増えたように見えるが、経路自体はそんなに変わらなかった印象。

obstacle_check_force_avoidance_clearance

あんまよく分からないけど、ここで設定したclearance先に障害物があると車両が一時停止して、回避経路を生成してくれる気がする。下の例だと障害物の1m手前で車両が一時停止して、回避動作をし始めてくれる。

avoidance.param.yaml
object_check_force_avoidance_clearance: 1.0    # [m]
object_check_forward_distance: 10.0            # [m]
object_check_backward_distance: 0.0             # [m]
object_check_goal_distance: 20.0                # [m]
4
1
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1