Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(behavior_path_planner): change the order of resampling and smooth goal connection #1381

Open
wants to merge 2 commits into
base: beta/v0.3.18.1
Choose a base branch
from

Conversation

takayuki5168
Copy link

@takayuki5168 takayuki5168 commented Jul 4, 2024

Description

beta0.3.16とbeta/v0.3.18.1の経路計画を比較した結果、初期値とゴール位置の距離が近い場合に、
初期位置周辺の経路計画の差分が大きい問題を対策するPRとなる。

原因

ゴールに対してスムーズな経路計画を実施している。
このスムーズな経路計画を実現するために、ゴール周辺の経路計画の点を削除して、一定距離からゴールに向かって、
スムーズな経路計画を実施する。

ゴールに対してスムーズな経路計画を実施するための対象となる点が、
beta0.3.16とbeta/v0.3.18.1で異なっている事により、経路計画の差分が大きくなる問題が発生している。

ゴールに対してスムーズな経路計画を実施するための対象となる点が異なる理由

ゴールに対してスムーズな経路計画の実施を行う入力時の経路が、beta0.3.16とbeta/v0.3.18で異なるためである。

具体的には、beta0.3.17で、経路歪み対策としてリサンプリング機能を追加実装したが、
リサンプリング機能により、経路計画の点が増えており、ゴールに対してスムーズな経路計画を実施時に、
削除対象となる点が変更となっている。

以下、beta0.3.16とbeta/v0.3.18のゴールに対するスムーズな経路計画のロジックをまとめる。

beta0.3.16の経路計画

  • ベースの経路計画の入力に対して、ゴールに対してスムーズな経路計画の実施
ロジックのフロー

image

beta/v0.3.18の挙動

  • ベースの経路計画に対して、経路歪み対策として、リサンプリングを実施
  • リサンプリグ後の経路計画を入力として、ゴールに対してスムーズな経路計画の実施
    ロジックのイメージ
ロジックのフロー

image

beta0.3.16とv4.3.0のゴールに対してスムーズな経路計画の比較

以下のように、初期位置付近の経路が直線と曲線で変化しており、
この変化がそのまま経路差分となる。

image

対策

  • 今回の問題は、「スムーズなゴールに対する経路計画」実施する前に、リサンプリングを実施している事が原因となる。
    そのため、「スムーズなゴールに対する経路計画」を実施後に、リサンプリングを行うようにする。
    これにより、beta0.3.16とbeta/v0.3.18で同じ形状の経路計画が実施されるようになる。
ロジックのフロー

image

影響

リサンプリグの実施順序が変更になっただけで、負荷的な影響はない。

Related links

https://tier4.atlassian.net/browse/AEAP-1333
https://tier4.atlassian.net/browse/AEAP-661

Tests performed

機能テスト

特定経路のstop pointから近い位置に、初期値を設定し、goal poseまでのを、beta0.3.16とbeta/v0.3.18で比較し差分が、
2.5cm以内である事を確認。
*詳細は、チケット参照。

リグレッションテスト

経路計画に対するリサンプリング機能を追加する要因となった、
重複経路における経路歪みが発生しない事を確認済み

実車テスト

リリース評価時に実施する

Effects on system behavior

Not applicable.

Interface changes

Pre-review checklist for the PR author

The PR author must check the checkboxes below when creating the PR.

In-review checklist for the PR reviewers

The PR reviewers must check the checkboxes below before approval.

Post-review checklist for the PR author

The PR author must check the checkboxes below before merging.

  • There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

takayuki5168 and others added 2 commits July 4, 2024 01:40
Signed-off-by: Takayuki Murooka <[email protected]>
Copy link

sonarqubecloud bot commented Jul 4, 2024

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant