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

feat(start_planner): add curvature limit for path generation #4263

Merged

Conversation

TakaHoribe
Copy link
Contributor

@TakaHoribe TakaHoribe commented Jul 12, 2023

Description

To prevent a shift path from being too sharp in the start_planner as in the picture below, introduce a curvature limit.

image

The curvature limit is applied in the longitudinal distance calculation, resulting as below.

max curvature = 0.1 (longitudinal distance = 13.5 m)
image

max curvature = 0.08 (longitudinal distance = 16.1 m)
image

max curvature = 0.07 (longitudinal distance = 15.9 m)
image

max curvature = 0.06 (longitudinal distance = 17.9 m)
image

max curvature = 0.04 (longitudinal distance = 22.1 m)
image

max curvature = 0.03 (longitudinal distance = 26.8 m)
image

max curvature = 0.02 (longitudinal distance = 32.9 m)
image

max curvature = 0.01 (longitudinal distance = 46.6 m)
image

Related links

TIERIV INTERNAL TICKET

TIERIV INTERNAL SCENARIO TEST

Tests performed

  • Psim
  • scenario test

Notes for reviewers

None

Interface changes

None

Effects on system behavior

The shift path in starting gets more smooth.

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.

  • The PR follows the pull request guidelines.
  • The PR has been properly tested.
  • The PR has been reviewed by the code owners.

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.
  • The PR is ready for merge.

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

Signed-off-by: Takamasa Horibe <horibe.takamasa@gmail.com>
Signed-off-by: Takamasa Horibe <horibe.takamasa@gmail.com>
Signed-off-by: Takamasa Horibe <horibe.takamasa@gmail.com>
Signed-off-by: Takamasa Horibe <horibe.takamasa@gmail.com>
@codecov
Copy link

codecov bot commented Jul 12, 2023

Codecov Report

Patch coverage has no change and project coverage change: -0.04 ⚠️

Comparison is base (4d9d98f) 14.20% compared to head (2b6702b) 14.17%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4263      +/-   ##
==========================================
- Coverage   14.20%   14.17%   -0.04%     
==========================================
  Files        1597     1597              
  Lines      109902   111158    +1256     
  Branches    31526    32457     +931     
==========================================
+ Hits        15613    15753     +140     
- Misses      77338    78326     +988     
- Partials    16951    17079     +128     
Flag Coverage Δ *Carryforward flag
differential 13.60% <0.00%> (?)
total 14.20% <ø> (+<0.01%) ⬆️ Carriedforward from 97e195c

*This pull request uses carry forward flags. Click here to find out more.

Impacted Files Coverage Δ
...ath_planner/utils/start_planner/shift_pull_out.hpp 0.00% <ø> (ø)
...r/utils/start_planner/start_planner_parameters.hpp 0.00% <ø> (ø)
...planner/src/scene_module/start_planner/manager.cpp 13.11% <0.00%> (-0.22%) ⬇️
...planner/src/utils/start_planner/shift_pull_out.cpp 2.72% <0.00%> (-0.18%) ⬇️

... and 9 files with indirect coverage changes

☔ View full report in Codecov by Sentry.
📢 Do you have feedback about the report comment? Let us know in this issue.

TakaHoribe and others added 4 commits July 13, 2023 12:49
Signed-off-by: Takamasa Horibe <horibe.takamasa@gmail.com>
Signed-off-by: Takamasa Horibe <horibe.takamasa@gmail.com>
Signed-off-by: kosuke55 <kosuke.tnp@gmail.com>
Signed-off-by: kosuke55 <kosuke.tnp@gmail.com>
@github-actions github-actions bot added the type:documentation Creating or refining documentation. (auto-assigned) label Jul 13, 2023
Copy link
Contributor

@kosuke55 kosuke55 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks!!! looks good!

@TakaHoribe TakaHoribe enabled auto-merge (squash) July 13, 2023 08:05
// the calcBeforeShiftedArcLength is an approximate conversion from center line to center line
// (not shift path to centerline), the conversion result may too long or short. To prevent too
// short length, take maximum with the original distance.
// TODO(): update the conversion function and get rid of the comparison with original distance.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

planning/behavior_path_planner/src/utils/start_planner/shift_pull_out.cpp:212:  Missing username in TODO; it should look like "// TODO(my_username): Stuff."  [readability/todo] [2]
planning/behavior_path_planner/src/utils/start_planner/shift_pull_out.cpp:212:  TODO(my_username) should be followed by a space  [whitespace/todo] [2]

// the calcBeforeShiftedArcLength is an approximate conversion from center line to center line
// (not shift path to centerline), the conversion result may too long or short. To prevent too
// short length, take maximum with the original distance.
// TODO(): update the conversion function and get rid of the comparison with original distance.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
// TODO(): update the conversion function and get rid of the comparison with original distance.
// TODO(kosuke55): update the conversion function and get rid of the comparison with original distance.

kosuke55 added 2 commits July 13, 2023 18:43
Signed-off-by: kosuke55 <kosuke.tnp@gmail.com>
@TakaHoribe TakaHoribe merged commit 93a2408 into autowarefoundation:main Jul 13, 2023
@TakaHoribe TakaHoribe deleted the feat-start-shift-with-curvature branch July 13, 2023 14:19
kosuke55 added a commit to tier4/autoware.universe that referenced this pull request Jul 20, 2023
…efoundation#4263)

* feat: add curvature consideration in shift start

Signed-off-by: Takamasa Horibe <horibe.takamasa@gmail.com>

* update

Signed-off-by: Takamasa Horibe <horibe.takamasa@gmail.com>

* fix param

Signed-off-by: Takamasa Horibe <horibe.takamasa@gmail.com>

* update

Signed-off-by: Takamasa Horibe <horibe.takamasa@gmail.com>

* update

Signed-off-by: Takamasa Horibe <horibe.takamasa@gmail.com>

* change param

Signed-off-by: Takamasa Horibe <horibe.takamasa@gmail.com>

* maximum_curvature: 0.07

Signed-off-by: kosuke55 <kosuke.tnp@gmail.com>

* update docs

Signed-off-by: kosuke55 <kosuke.tnp@gmail.com>

---------

Signed-off-by: Takamasa Horibe <horibe.takamasa@gmail.com>
Signed-off-by: kosuke55 <kosuke.tnp@gmail.com>
Co-authored-by: kosuke55 <kosuke.tnp@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:planning Route planning, decision-making, and navigation. (auto-assigned) type:documentation Creating or refining documentation. (auto-assigned)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants