-
Notifications
You must be signed in to change notification settings - Fork 658
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(behavior_path_sampling_module): add sampling based planner #6131
Merged
danielsanchezaran
merged 115 commits into
autowarefoundation:main
from
tier4:feature/add-sampling-based-planner-to-behavior-path-planner
Feb 6, 2024
Merged
feat(behavior_path_sampling_module): add sampling based planner #6131
danielsanchezaran
merged 115 commits into
autowarefoundation:main
from
tier4:feature/add-sampling-based-planner-to-behavior-path-planner
Feb 6, 2024
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
github-actions
bot
added
component:planning
Route planning, decision-making, and navigation. (auto-assigned)
component:launch
Launch files, scripts and initialization tools. (auto-assigned)
labels
Jan 22, 2024
7 tasks
danielsanchezaran
requested review from
maxime-clem,
rej55,
kosuke55,
kyoichi-sugahara,
satoshi-ota,
shmpwk,
TakaHoribe,
takayuki5168,
TomohitoAndo,
tkimura4,
zulfaqar-azmi-t4,
mkuri,
soblin and
taikitanaka3
as code owners
January 29, 2024 00:17
maxime-clem
reviewed
Jan 29, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have a bunch of small comments but overall the code looks good.
Please add some documentation with some information about the module, how it should be used, the current limitations, future works, etc.
...behavior_path_sampling_planner_module/include/behavior_path_sampling_planner_module/util.hpp
Outdated
Show resolved
Hide resolved
...behavior_path_sampling_planner_module/include/behavior_path_sampling_planner_module/util.hpp
Outdated
Show resolved
Hide resolved
planning/sampling_based_planner/frenet_planner/src/frenet_planner/frenet_planner.cpp
Outdated
Show resolved
Hide resolved
...ing_planner_module/include/behavior_path_sampling_planner_module/sampling_planner_module.hpp
Show resolved
Hide resolved
danielsanchezaran
force-pushed
the
feature/add-sampling-based-planner-to-behavior-path-planner
branch
from
January 29, 2024 05:35
364652b
to
101fefa
Compare
github-actions
bot
added
the
type:documentation
Creating or refining documentation. (auto-assigned)
label
Jan 29, 2024
danielsanchezaran
added
the
tag:run-build-and-test-differential
Mark to enable build-and-test-differential workflow. (used-by-ci)
label
Jan 29, 2024
maxime-clem
reviewed
Jan 29, 2024
maxime-clem
approved these changes
Jan 29, 2024
rej55
reviewed
Jan 29, 2024
..._launch/launch/scenario_planning/lane_driving/behavior_planning/behavior_planning.launch.xml
Outdated
Show resolved
Hide resolved
...ampling_planner_module/include/behavior_path_sampling_planner_module/constraints_checker.hpp
Outdated
Show resolved
Hide resolved
...planner_module/include/behavior_path_sampling_planner_module/sampling_planner_parameters.hpp
Outdated
Show resolved
Hide resolved
...behavior_path_sampling_planner_module/include/behavior_path_sampling_planner_module/util.hpp
Outdated
Show resolved
Hide resolved
Signed-off-by: Daniel Sanchez <[email protected]>
Signed-off-by: Daniel Sanchez <[email protected]>
Signed-off-by: Daniel Sanchez <[email protected]>
Signed-off-by: Daniel Sanchez <[email protected]>
Signed-off-by: Daniel Sanchez <[email protected]>
Signed-off-by: Daniel Sanchez <[email protected]>
Signed-off-by: Daniel Sanchez <[email protected]>
Signed-off-by: Daniel Sanchez <[email protected]>
Signed-off-by: Daniel Sanchez <[email protected]>
Signed-off-by: Daniel Sanchez <[email protected]>
Signed-off-by: Daniel Sanchez <[email protected]>
Signed-off-by: Daniel Sanchez <[email protected]>
Signed-off-by: Daniel Sanchez <[email protected]>
Signed-off-by: Daniel Sanchez <[email protected]>
Signed-off-by: Daniel Sanchez <[email protected]>
Signed-off-by: Daniel Sanchez <[email protected]>
Signed-off-by: Daniel Sanchez <[email protected]>
Signed-off-by: Daniel Sanchez <[email protected]>
Signed-off-by: Daniel Sanchez <[email protected]>
Signed-off-by: Daniel Sanchez <[email protected]>
Signed-off-by: Daniel Sanchez <[email protected]>
Signed-off-by: Daniel Sanchez <[email protected]>
danielsanchezaran
force-pushed
the
feature/add-sampling-based-planner-to-behavior-path-planner
branch
from
February 6, 2024 00:40
16e8a0d
to
4b87d15
Compare
danielsanchezaran
merged commit Feb 6, 2024
be5663c
into
autowarefoundation:main
19 of 24 checks passed
danielsanchezaran
deleted the
feature/add-sampling-based-planner-to-behavior-path-planner
branch
February 6, 2024 04:40
🎉 |
anhnv3991
pushed a commit
to anhnv3991/autoware.universe
that referenced
this pull request
Feb 13, 2024
…warefoundation#6131) * first commit: add only necessary bpp code for template Signed-off-by: Daniel Sanchez <[email protected]> * change name of file Signed-off-by: Daniel Sanchez <[email protected]> * delete more unrelated code Signed-off-by: Daniel Sanchez <[email protected]> * refactor Signed-off-by: Daniel Sanchez <[email protected]> * fix manager Signed-off-by: Daniel Sanchez <[email protected]> * rebase Signed-off-by: Daniel Sanchez <[email protected]> * Copy sampling-based planner to behavior path planner Signed-off-by: Daniel Sanchez <[email protected]> * fix include paths Signed-off-by: Daniel Sanchez <[email protected]> * rebase Signed-off-by: Daniel Sanchez <[email protected]> * eliminate unused code Signed-off-by: Daniel Sanchez <[email protected]> * delete repeated code Signed-off-by: Daniel Sanchez <[email protected]> * add dependencies for bezier and frenet planners Signed-off-by: Daniel Sanchez <[email protected]> * [WIP] Made a simple implementation of behavior planning Signed-off-by: Daniel Sanchez <[email protected]> * [WIP] added comments on making drivable area Signed-off-by: Daniel Sanchez <[email protected]> * Just adding functions to test Signed-off-by: Daniel Sanchez <[email protected]> * [WIP] Implement Frenet Planner Signed-off-by: Daniel Sanchez <[email protected]> * eliminate unused code Signed-off-by: Daniel Sanchez <[email protected]> * WIP add debug marker generation Signed-off-by: Daniel Sanchez <[email protected]> * Comment out for debugging Signed-off-by: Daniel Sanchez <[email protected]> * return prev drivable area (temp) Signed-off-by: Daniel Sanchez <[email protected]> * fixes to compile after rebase Signed-off-by: Daniel Sanchez <[email protected]> * WIP update sampling planner param structure to equal behav planner Signed-off-by: Daniel Sanchez <[email protected]> * Updated param handling Signed-off-by: Daniel Sanchez <[email protected]> * changed names of internal_variable to match changes Signed-off-by: Daniel Sanchez <[email protected]> * partially solve markers not clearing Signed-off-by: Daniel Sanchez <[email protected]> * add param update functionality Signed-off-by: Daniel Sanchez <[email protected]> * WIP transform frenet to pathwithlaneid Signed-off-by: Daniel Sanchez <[email protected]> * set frenet path as output Signed-off-by: Daniel Sanchez <[email protected]> * Added pruning to select the best frenet path Signed-off-by: Daniel Sanchez <[email protected]> * Initialize vehicle info Signed-off-by: Daniel Sanchez <[email protected]> * calculate properly right and left bound for drivable area check Signed-off-by: Daniel Sanchez <[email protected]> * remove debug prints and increase vehicle margin, should be param Signed-off-by: Daniel Sanchez <[email protected]> * param changes for driving in small lanes Signed-off-by: Daniel Sanchez <[email protected]> * WIP add drivable area expansion from LC Signed-off-by: Daniel Sanchez <[email protected]> * add drivable area expansion Signed-off-by: Daniel Sanchez <[email protected]> * add driveable area Signed-off-by: Daniel Sanchez <[email protected]> * Make the points on the path have the same z as goal Signed-off-by: Daniel Sanchez <[email protected]> * remove print, changes Signed-off-by: Daniel Sanchez <[email protected]> * WIP add prev sampling path to calculation Signed-off-by: Daniel Sanchez <[email protected]> * WIP constraints handler Signed-off-by: Daniel Sanchez <[email protected]> * Add modifiable hard constraints checking function Signed-off-by: Daniel Sanchez <[email protected]> * Add modifiable soft constraints checking function Signed-off-by: Daniel Sanchez <[email protected]> * Add costs for distance to goal and curvature Signed-off-by: Daniel Sanchez <[email protected]> * take out todo-> solved Signed-off-by: Daniel Sanchez <[email protected]> * Added normalized constraints with ref path speed Signed-off-by: Daniel Sanchez <[email protected]> * (WIP)isExecution requested update to not execute Signed-off-by: Daniel Sanchez <[email protected]> * refactor: move getInitialState to utils Signed-off-by: Daniel Sanchez <[email protected]> * refactor: move some functions to utils, get rid of velocity req in generate pathwithlaneid Signed-off-by: Daniel Sanchez <[email protected]> * made curvature soft constraint depend on distance to goal Signed-off-by: Daniel Sanchez <[email protected]> * Add prev path extension Signed-off-by: Daniel Sanchez <[email protected]> * add calculation of initial lateral velocity and acceleration Signed-off-by: Maxime CLEMENT <[email protected]> * add calculation of initial lateral velocity and acceleration to path extension Signed-off-by: Daniel Sanchez <[email protected]> * WIP Add poses to path to get centerline distance and other stuff Signed-off-by: Daniel Sanchez <[email protected]> * clear info_marker_ to prevent performance issues Signed-off-by: Maxime CLEMENT <[email protected]> * solve dependency issues Signed-off-by: Daniel Sanchez <[email protected]> * Add cost to avg. distance to centerline Signed-off-by: Daniel Sanchez <[email protected]> * added arc lenght based extension limit Signed-off-by: Daniel Sanchez <[email protected]> * Add running and success conditions, add dist to soft const Signed-off-by: Daniel Sanchez <[email protected]> * update success transition Signed-off-by: Daniel Sanchez <[email protected]> * Solve bug with goal not being in any current lanelet Signed-off-by: Daniel Sanchez <[email protected]> * Add todo comment Signed-off-by: Daniel Sanchez <[email protected]> * Adjust to centerline cost Signed-off-by: Daniel Sanchez <[email protected]> * update soft costs Signed-off-by: Daniel Sanchez <[email protected]> * tuning Signed-off-by: Daniel Sanchez <[email protected]> * add reference path change after sampling planner Success (which might cause a LC Signed-off-by: Daniel Sanchez <[email protected]> * Added soft constraints weights as parameter to easily tune w/ rqt Signed-off-by: Daniel Sanchez <[email protected]> * improve performance by computing arc coordinates before soft constraints check Signed-off-by: Daniel Sanchez <[email protected]> * temp Signed-off-by: Daniel Sanchez <[email protected]> * temp Signed-off-by: Daniel Sanchez <[email protected]> * deleted unusused Signed-off-by: Daniel Sanchez <[email protected]> * delete unused Signed-off-by: Daniel Sanchez <[email protected]> * add plugin export macro Signed-off-by: Daniel Sanchez <[email protected]> * fix launch file Signed-off-by: Daniel Sanchez <[email protected]> * WIP still not launching sampling planner plugin Signed-off-by: Daniel Sanchez <[email protected]> * solve problem of plugin insertion (duplicated files) Signed-off-by: Daniel Sanchez <[email protected]> * partly fix issue with PathwithLaneID not having laneids at the first points Signed-off-by: Daniel Sanchez <[email protected]> * Modify PreviousOutput path since it is no longer a shared ptr Signed-off-by: Daniel Sanchez <[email protected]> * Added new change root lanelet request override Signed-off-by: Daniel Sanchez <[email protected]> * WIP update collision detection to use rtree Signed-off-by: Daniel Sanchez <[email protected]> * fix bug with index Signed-off-by: Daniel Sanchez <[email protected]> * Add rtree for collision checking Signed-off-by: Daniel Sanchez <[email protected]> * refine soft constraints use remaining length of path max curv and normalize lateral error Signed-off-by: Daniel Sanchez <[email protected]> * Add sanity check and delete unused code Signed-off-by: Daniel Sanchez <[email protected]> * change success transit function to be more accurate Signed-off-by: Daniel Sanchez <[email protected]> * refactor Signed-off-by: Daniel Sanchez <[email protected]> * solve bug for path.extend with 0 poses Signed-off-by: Daniel Sanchez <[email protected]> * add hard check for empty paths Signed-off-by: Daniel Sanchez <[email protected]> * fix private current_state usage Signed-off-by: Daniel Sanchez <[email protected]> * Add path reuse at different lenghts Signed-off-by: Daniel Sanchez <[email protected]> * delete old comments use param for path reuse Signed-off-by: Daniel Sanchez <[email protected]> * light refactoring Signed-off-by: Daniel Sanchez <[email protected]> * pre-commit changes Signed-off-by: Daniel Sanchez <[email protected]> * pre-commit add dependency Signed-off-by: Daniel Sanchez <[email protected]> * delete unused dependencies Signed-off-by: Daniel Sanchez <[email protected]> * change constraints evaluation to return vectors Signed-off-by: Daniel Sanchez <[email protected]> * use tier4 autoware utils function to calc quaternion Signed-off-by: Daniel Sanchez <[email protected]> * refactor, use autoware utils Signed-off-by: Daniel Sanchez <[email protected]> * update comment Signed-off-by: Daniel Sanchez <[email protected]> * Add documentation Signed-off-by: Daniel Sanchez <[email protected]> * pre-commit changes Signed-off-by: Daniel Sanchez <[email protected]> * delete unused dependencies and repeated args Signed-off-by: Daniel Sanchez <[email protected]> * update copyright and fix magic numbers Signed-off-by: Daniel Sanchez <[email protected]> * delete unused header Signed-off-by: Daniel Sanchez <[email protected]> * refactoring Signed-off-by: Daniel Sanchez <[email protected]> * remove unused dependency Signed-off-by: Daniel Sanchez <[email protected]> * update copyright and dependency Signed-off-by: Daniel Sanchez <[email protected]> * update calcBound to work properly Signed-off-by: Daniel Sanchez <[email protected]> * solve problem with drivable area Signed-off-by: Daniel Sanchez <[email protected]> * remove forced false Signed-off-by: Daniel Sanchez <[email protected]> * solve calc bound problem Signed-off-by: Daniel Sanchez <[email protected]> * fix compatibility with updates to bpp Signed-off-by: Daniel Sanchez <[email protected]> * remove cerr print Signed-off-by: Daniel Sanchez <[email protected]> * solve bugs when merging with lane Signed-off-by: Daniel Sanchez <[email protected]> * solve issue of sbp not activating Signed-off-by: Daniel Sanchez <[email protected]> * remove unused commented code Signed-off-by: Daniel Sanchez <[email protected]> --------- Signed-off-by: Daniel Sanchez <[email protected]> Signed-off-by: Daniel Sanchez <[email protected]> Signed-off-by: Maxime CLEMENT <[email protected]> Co-authored-by: Maxime CLEMENT <[email protected]>
4 tasks
karishma1911
pushed a commit
to Interplai/autoware.universe
that referenced
this pull request
Jun 3, 2024
…warefoundation#6131) * first commit: add only necessary bpp code for template Signed-off-by: Daniel Sanchez <[email protected]> * change name of file Signed-off-by: Daniel Sanchez <[email protected]> * delete more unrelated code Signed-off-by: Daniel Sanchez <[email protected]> * refactor Signed-off-by: Daniel Sanchez <[email protected]> * fix manager Signed-off-by: Daniel Sanchez <[email protected]> * rebase Signed-off-by: Daniel Sanchez <[email protected]> * Copy sampling-based planner to behavior path planner Signed-off-by: Daniel Sanchez <[email protected]> * fix include paths Signed-off-by: Daniel Sanchez <[email protected]> * rebase Signed-off-by: Daniel Sanchez <[email protected]> * eliminate unused code Signed-off-by: Daniel Sanchez <[email protected]> * delete repeated code Signed-off-by: Daniel Sanchez <[email protected]> * add dependencies for bezier and frenet planners Signed-off-by: Daniel Sanchez <[email protected]> * [WIP] Made a simple implementation of behavior planning Signed-off-by: Daniel Sanchez <[email protected]> * [WIP] added comments on making drivable area Signed-off-by: Daniel Sanchez <[email protected]> * Just adding functions to test Signed-off-by: Daniel Sanchez <[email protected]> * [WIP] Implement Frenet Planner Signed-off-by: Daniel Sanchez <[email protected]> * eliminate unused code Signed-off-by: Daniel Sanchez <[email protected]> * WIP add debug marker generation Signed-off-by: Daniel Sanchez <[email protected]> * Comment out for debugging Signed-off-by: Daniel Sanchez <[email protected]> * return prev drivable area (temp) Signed-off-by: Daniel Sanchez <[email protected]> * fixes to compile after rebase Signed-off-by: Daniel Sanchez <[email protected]> * WIP update sampling planner param structure to equal behav planner Signed-off-by: Daniel Sanchez <[email protected]> * Updated param handling Signed-off-by: Daniel Sanchez <[email protected]> * changed names of internal_variable to match changes Signed-off-by: Daniel Sanchez <[email protected]> * partially solve markers not clearing Signed-off-by: Daniel Sanchez <[email protected]> * add param update functionality Signed-off-by: Daniel Sanchez <[email protected]> * WIP transform frenet to pathwithlaneid Signed-off-by: Daniel Sanchez <[email protected]> * set frenet path as output Signed-off-by: Daniel Sanchez <[email protected]> * Added pruning to select the best frenet path Signed-off-by: Daniel Sanchez <[email protected]> * Initialize vehicle info Signed-off-by: Daniel Sanchez <[email protected]> * calculate properly right and left bound for drivable area check Signed-off-by: Daniel Sanchez <[email protected]> * remove debug prints and increase vehicle margin, should be param Signed-off-by: Daniel Sanchez <[email protected]> * param changes for driving in small lanes Signed-off-by: Daniel Sanchez <[email protected]> * WIP add drivable area expansion from LC Signed-off-by: Daniel Sanchez <[email protected]> * add drivable area expansion Signed-off-by: Daniel Sanchez <[email protected]> * add driveable area Signed-off-by: Daniel Sanchez <[email protected]> * Make the points on the path have the same z as goal Signed-off-by: Daniel Sanchez <[email protected]> * remove print, changes Signed-off-by: Daniel Sanchez <[email protected]> * WIP add prev sampling path to calculation Signed-off-by: Daniel Sanchez <[email protected]> * WIP constraints handler Signed-off-by: Daniel Sanchez <[email protected]> * Add modifiable hard constraints checking function Signed-off-by: Daniel Sanchez <[email protected]> * Add modifiable soft constraints checking function Signed-off-by: Daniel Sanchez <[email protected]> * Add costs for distance to goal and curvature Signed-off-by: Daniel Sanchez <[email protected]> * take out todo-> solved Signed-off-by: Daniel Sanchez <[email protected]> * Added normalized constraints with ref path speed Signed-off-by: Daniel Sanchez <[email protected]> * (WIP)isExecution requested update to not execute Signed-off-by: Daniel Sanchez <[email protected]> * refactor: move getInitialState to utils Signed-off-by: Daniel Sanchez <[email protected]> * refactor: move some functions to utils, get rid of velocity req in generate pathwithlaneid Signed-off-by: Daniel Sanchez <[email protected]> * made curvature soft constraint depend on distance to goal Signed-off-by: Daniel Sanchez <[email protected]> * Add prev path extension Signed-off-by: Daniel Sanchez <[email protected]> * add calculation of initial lateral velocity and acceleration Signed-off-by: Maxime CLEMENT <[email protected]> * add calculation of initial lateral velocity and acceleration to path extension Signed-off-by: Daniel Sanchez <[email protected]> * WIP Add poses to path to get centerline distance and other stuff Signed-off-by: Daniel Sanchez <[email protected]> * clear info_marker_ to prevent performance issues Signed-off-by: Maxime CLEMENT <[email protected]> * solve dependency issues Signed-off-by: Daniel Sanchez <[email protected]> * Add cost to avg. distance to centerline Signed-off-by: Daniel Sanchez <[email protected]> * added arc lenght based extension limit Signed-off-by: Daniel Sanchez <[email protected]> * Add running and success conditions, add dist to soft const Signed-off-by: Daniel Sanchez <[email protected]> * update success transition Signed-off-by: Daniel Sanchez <[email protected]> * Solve bug with goal not being in any current lanelet Signed-off-by: Daniel Sanchez <[email protected]> * Add todo comment Signed-off-by: Daniel Sanchez <[email protected]> * Adjust to centerline cost Signed-off-by: Daniel Sanchez <[email protected]> * update soft costs Signed-off-by: Daniel Sanchez <[email protected]> * tuning Signed-off-by: Daniel Sanchez <[email protected]> * add reference path change after sampling planner Success (which might cause a LC Signed-off-by: Daniel Sanchez <[email protected]> * Added soft constraints weights as parameter to easily tune w/ rqt Signed-off-by: Daniel Sanchez <[email protected]> * improve performance by computing arc coordinates before soft constraints check Signed-off-by: Daniel Sanchez <[email protected]> * temp Signed-off-by: Daniel Sanchez <[email protected]> * temp Signed-off-by: Daniel Sanchez <[email protected]> * deleted unusused Signed-off-by: Daniel Sanchez <[email protected]> * delete unused Signed-off-by: Daniel Sanchez <[email protected]> * add plugin export macro Signed-off-by: Daniel Sanchez <[email protected]> * fix launch file Signed-off-by: Daniel Sanchez <[email protected]> * WIP still not launching sampling planner plugin Signed-off-by: Daniel Sanchez <[email protected]> * solve problem of plugin insertion (duplicated files) Signed-off-by: Daniel Sanchez <[email protected]> * partly fix issue with PathwithLaneID not having laneids at the first points Signed-off-by: Daniel Sanchez <[email protected]> * Modify PreviousOutput path since it is no longer a shared ptr Signed-off-by: Daniel Sanchez <[email protected]> * Added new change root lanelet request override Signed-off-by: Daniel Sanchez <[email protected]> * WIP update collision detection to use rtree Signed-off-by: Daniel Sanchez <[email protected]> * fix bug with index Signed-off-by: Daniel Sanchez <[email protected]> * Add rtree for collision checking Signed-off-by: Daniel Sanchez <[email protected]> * refine soft constraints use remaining length of path max curv and normalize lateral error Signed-off-by: Daniel Sanchez <[email protected]> * Add sanity check and delete unused code Signed-off-by: Daniel Sanchez <[email protected]> * change success transit function to be more accurate Signed-off-by: Daniel Sanchez <[email protected]> * refactor Signed-off-by: Daniel Sanchez <[email protected]> * solve bug for path.extend with 0 poses Signed-off-by: Daniel Sanchez <[email protected]> * add hard check for empty paths Signed-off-by: Daniel Sanchez <[email protected]> * fix private current_state usage Signed-off-by: Daniel Sanchez <[email protected]> * Add path reuse at different lenghts Signed-off-by: Daniel Sanchez <[email protected]> * delete old comments use param for path reuse Signed-off-by: Daniel Sanchez <[email protected]> * light refactoring Signed-off-by: Daniel Sanchez <[email protected]> * pre-commit changes Signed-off-by: Daniel Sanchez <[email protected]> * pre-commit add dependency Signed-off-by: Daniel Sanchez <[email protected]> * delete unused dependencies Signed-off-by: Daniel Sanchez <[email protected]> * change constraints evaluation to return vectors Signed-off-by: Daniel Sanchez <[email protected]> * use tier4 autoware utils function to calc quaternion Signed-off-by: Daniel Sanchez <[email protected]> * refactor, use autoware utils Signed-off-by: Daniel Sanchez <[email protected]> * update comment Signed-off-by: Daniel Sanchez <[email protected]> * Add documentation Signed-off-by: Daniel Sanchez <[email protected]> * pre-commit changes Signed-off-by: Daniel Sanchez <[email protected]> * delete unused dependencies and repeated args Signed-off-by: Daniel Sanchez <[email protected]> * update copyright and fix magic numbers Signed-off-by: Daniel Sanchez <[email protected]> * delete unused header Signed-off-by: Daniel Sanchez <[email protected]> * refactoring Signed-off-by: Daniel Sanchez <[email protected]> * remove unused dependency Signed-off-by: Daniel Sanchez <[email protected]> * update copyright and dependency Signed-off-by: Daniel Sanchez <[email protected]> * update calcBound to work properly Signed-off-by: Daniel Sanchez <[email protected]> * solve problem with drivable area Signed-off-by: Daniel Sanchez <[email protected]> * remove forced false Signed-off-by: Daniel Sanchez <[email protected]> * solve calc bound problem Signed-off-by: Daniel Sanchez <[email protected]> * fix compatibility with updates to bpp Signed-off-by: Daniel Sanchez <[email protected]> * remove cerr print Signed-off-by: Daniel Sanchez <[email protected]> * solve bugs when merging with lane Signed-off-by: Daniel Sanchez <[email protected]> * solve issue of sbp not activating Signed-off-by: Daniel Sanchez <[email protected]> * remove unused commented code Signed-off-by: Daniel Sanchez <[email protected]> --------- Signed-off-by: Daniel Sanchez <[email protected]> Signed-off-by: Daniel Sanchez <[email protected]> Signed-off-by: Maxime CLEMENT <[email protected]> Co-authored-by: Maxime CLEMENT <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
component:launch
Launch files, scripts and initialization tools. (auto-assigned)
component:planning
Route planning, decision-making, and navigation. (auto-assigned)
run:deploy-docs
Mark for deploy-docs action generation. (used-by-ci)
tag:run-build-and-test-differential
Mark to enable build-and-test-differential workflow. (used-by-ci)
type:documentation
Creating or refining documentation. (auto-assigned)
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This feature implements an (experimental) sampling based planner into the behavior path planning architecture, and its heavily based on the sampling based planner. The behavior_path_sampling_module utilizes the Frenet coordinate space to sample/generate several candidate paths for the ego vehicle.
The candidate paths are evaluated based on hard constraints, used to prune samples that don't satisfy certain conditions, and soft constraints, that evaluate the cost or fitness of each sample. After each iteration the "best" sampled path (the one with the lowest cost) is chosen as the output of the module.
At every iteration, the previous "best" path is used as a reference to generate a new "best" path. That is accomplished by using
The image below illustrates the candidate paths (red and green lines) and the valid sampled paths (green lines only) generated by the module:
NOTE:
This feature is still in development, this module should only be used on simulations for the time being.
Uses:
In theory, with appropriate pruning and sampling, this module can be adapted to solve most behavior path problems, however, this implementation is aimed at avoiding static obstacles.
Some examples:
Avoidance with many roads to do LC:
cap-.2024-01-22-13-06-55.mp4
Narrow road with parked cars in front:
cap-.2024-01-22-14-19-09.mp4
Avoiding a parked vehicle:
cap-.2024-01-22-14-38-53.mp4
Hard avoidance scenarios:
cap-.2024-01-22-14-41-39.mp4
Related links
Requires these changes to launch: autowarefoundation/autoware_launch#810
Tests performed
Tests on Psim and real life tests on a service robot.
Notes for reviewers
This is an experimental feature, it has not been sufficiently tested on real life scenarios to be proved safe for use. It is a work in progress and should be used only in simulations until specified otherwise.
Known limitations:
Activation conditions for the module require refinement.
A dynamic parameter tuning might be necessary to force the generated path to merge back into the original lane.
Collision checking can be improved.
Interface changes
Adds a new optional module for the bpp based on path sampling in the frenet coordinate space.
Effects on system behavior
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.
After all checkboxes are checked, anyone who has write access can merge the PR.