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(behavior_path_sampling_module): add sampling based planner #6131

Conversation

danielsanchezaran
Copy link
Contributor

@danielsanchezaran danielsanchezaran commented Jan 22, 2024

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:

image

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.

  • 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.

Copy link
Contributor

@maxime-clem maxime-clem left a 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.

@danielsanchezaran danielsanchezaran force-pushed the feature/add-sampling-based-planner-to-behavior-path-planner branch from 364652b to 101fefa Compare January 29, 2024 05:35
@github-actions github-actions bot added the type:documentation Creating or refining documentation. (auto-assigned) label Jan 29, 2024
@danielsanchezaran danielsanchezaran added the run:build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci) label Jan 29, 2024
Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
@danielsanchezaran danielsanchezaran force-pushed the feature/add-sampling-based-planner-to-behavior-path-planner branch from 16e8a0d to 4b87d15 Compare February 6, 2024 00:40
@danielsanchezaran danielsanchezaran merged commit be5663c into autowarefoundation:main Feb 6, 2024
19 of 24 checks passed
@danielsanchezaran danielsanchezaran deleted the feature/add-sampling-based-planner-to-behavior-path-planner branch February 6, 2024 04:40
@satoshi-ota
Copy link
Contributor

🎉

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 <danielsanchezaran@gmail.com>

* change name of file

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* delete more unrelated code

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* refactor

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* fix manager

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* rebase
Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* Copy sampling-based planner to behavior path planner

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* fix include paths

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* rebase
Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* eliminate unused code

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* delete repeated code

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* add dependencies for bezier and frenet planners

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* [WIP] Made a simple implementation of behavior planning

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* [WIP] added comments on making drivable area

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* Just adding functions to test

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* [WIP] Implement Frenet Planner

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* eliminate unused code

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* WIP add debug marker generation

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* Comment out for debugging

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* return prev drivable area (temp)

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* fixes to compile after rebase

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* WIP update sampling planner param structure to equal behav planner

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* Updated param handling

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* changed names of internal_variable to match changes

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* partially solve markers not clearing

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* add param update functionality

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* WIP transform frenet to pathwithlaneid

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* set frenet path as output

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* Added pruning to select the best frenet  path

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* Initialize vehicle info

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* calculate properly right and left bound for drivable area check

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* remove debug prints and increase vehicle margin, should be param

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* param changes for driving in small lanes

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* WIP add drivable area expansion from LC

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* add drivable area expansion

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* add driveable area

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* Make the points on the path have the same z as goal

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* remove print, changes

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* WIP add prev sampling path to calculation

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* WIP constraints handler

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* Add modifiable hard constraints checking function

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* Add modifiable soft constraints checking function

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* Add costs for distance to goal and curvature

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* take out todo-> solved

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* Added normalized constraints with ref path speed

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* (WIP)isExecution requested update to not execute

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* refactor: move getInitialState to utils

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* refactor: move some functions to utils, get rid of velocity req in generate pathwithlaneid

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* made curvature soft constraint depend on distance to goal

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* Add prev path extension

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* add calculation of initial lateral velocity and acceleration

Signed-off-by: Maxime CLEMENT <maxime.clement@tier4.jp>

* add calculation of initial lateral velocity and acceleration to path extension

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* WIP Add poses to path to get centerline distance and other stuff

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* clear info_marker_ to prevent performance issues

Signed-off-by: Maxime CLEMENT <maxime.clement@tier4.jp>

* solve dependency issues

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* Add cost to avg. distance to centerline

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* added arc lenght based extension limit

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* Add running and success conditions, add dist to soft const

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* update success transition

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* Solve bug with goal not being in any current lanelet

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* Add todo comment

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* Adjust to centerline cost

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* update soft costs

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* tuning

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* add reference path change after sampling planner Success (which might cause a LC

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* Added soft constraints weights as parameter to easily tune w/ rqt

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* improve performance by computing arc coordinates before soft constraints check

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* temp

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* temp

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* deleted unusused

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* delete unused

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* add plugin export macro

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* fix launch file

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* WIP still not launching sampling planner plugin

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* solve problem of plugin insertion (duplicated files)

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* partly fix issue with PathwithLaneID not having laneids at the first points

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* Modify PreviousOutput path since it is no longer a shared ptr

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* Added new change root lanelet request override

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* WIP update collision detection to use rtree

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* fix bug with index

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* Add rtree for collision checking

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* refine soft constraints use remaining length of path max curv and normalize lateral error

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* Add sanity check and delete unused code

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* change success transit function to be more accurate

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* refactor

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* solve bug for path.extend with 0 poses

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* add hard check for empty paths

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* fix private current_state usage

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* Add path reuse at different lenghts

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* delete old comments use param for path reuse

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* light refactoring

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* pre-commit changes

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* pre-commit add dependency

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* delete unused dependencies

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* change constraints evaluation to return vectors

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* use tier4 autoware utils function to calc quaternion

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* refactor, use autoware utils

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* update comment

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* Add documentation

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* pre-commit changes

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* delete unused dependencies and repeated args

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* update copyright and fix magic numbers

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* delete unused header

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* refactoring

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* remove unused dependency

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* update copyright and dependency

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* update calcBound to work properly

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* solve problem with drivable area

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* remove forced false

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* solve calc bound problem

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* fix compatibility with updates to bpp

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* remove cerr print

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* solve bugs when merging with lane

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* solve issue of sbp not activating

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* remove unused commented code

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

---------

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>
Signed-off-by: Maxime CLEMENT <maxime.clement@tier4.jp>
Co-authored-by: Maxime CLEMENT <maxime.clement@tier4.jp>
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 <danielsanchezaran@gmail.com>

* change name of file

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* delete more unrelated code

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* refactor

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* fix manager

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* rebase
Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* Copy sampling-based planner to behavior path planner

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* fix include paths

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* rebase
Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* eliminate unused code

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* delete repeated code

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* add dependencies for bezier and frenet planners

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* [WIP] Made a simple implementation of behavior planning

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* [WIP] added comments on making drivable area

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* Just adding functions to test

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* [WIP] Implement Frenet Planner

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* eliminate unused code

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* WIP add debug marker generation

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* Comment out for debugging

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* return prev drivable area (temp)

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* fixes to compile after rebase

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* WIP update sampling planner param structure to equal behav planner

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* Updated param handling

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* changed names of internal_variable to match changes

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* partially solve markers not clearing

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* add param update functionality

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* WIP transform frenet to pathwithlaneid

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* set frenet path as output

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* Added pruning to select the best frenet  path

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* Initialize vehicle info

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* calculate properly right and left bound for drivable area check

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* remove debug prints and increase vehicle margin, should be param

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* param changes for driving in small lanes

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* WIP add drivable area expansion from LC

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* add drivable area expansion

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* add driveable area

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* Make the points on the path have the same z as goal

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* remove print, changes

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* WIP add prev sampling path to calculation

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* WIP constraints handler

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* Add modifiable hard constraints checking function

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* Add modifiable soft constraints checking function

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* Add costs for distance to goal and curvature

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* take out todo-> solved

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* Added normalized constraints with ref path speed

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* (WIP)isExecution requested update to not execute

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* refactor: move getInitialState to utils

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* refactor: move some functions to utils, get rid of velocity req in generate pathwithlaneid

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* made curvature soft constraint depend on distance to goal

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* Add prev path extension

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* add calculation of initial lateral velocity and acceleration

Signed-off-by: Maxime CLEMENT <maxime.clement@tier4.jp>

* add calculation of initial lateral velocity and acceleration to path extension

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* WIP Add poses to path to get centerline distance and other stuff

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* clear info_marker_ to prevent performance issues

Signed-off-by: Maxime CLEMENT <maxime.clement@tier4.jp>

* solve dependency issues

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* Add cost to avg. distance to centerline

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* added arc lenght based extension limit

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* Add running and success conditions, add dist to soft const

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* update success transition

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* Solve bug with goal not being in any current lanelet

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* Add todo comment

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* Adjust to centerline cost

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* update soft costs

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* tuning

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* add reference path change after sampling planner Success (which might cause a LC

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* Added soft constraints weights as parameter to easily tune w/ rqt

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* improve performance by computing arc coordinates before soft constraints check

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* temp

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* temp

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* deleted unusused

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* delete unused

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* add plugin export macro

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* fix launch file

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* WIP still not launching sampling planner plugin

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* solve problem of plugin insertion (duplicated files)

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* partly fix issue with PathwithLaneID not having laneids at the first points

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* Modify PreviousOutput path since it is no longer a shared ptr

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* Added new change root lanelet request override

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* WIP update collision detection to use rtree

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* fix bug with index

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* Add rtree for collision checking

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* refine soft constraints use remaining length of path max curv and normalize lateral error

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* Add sanity check and delete unused code

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* change success transit function to be more accurate

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* refactor

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* solve bug for path.extend with 0 poses

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* add hard check for empty paths

Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>

* fix private current_state usage

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* Add path reuse at different lenghts

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* delete old comments use param for path reuse

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* light refactoring

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* pre-commit changes

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* pre-commit add dependency

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* delete unused dependencies

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* change constraints evaluation to return vectors

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* use tier4 autoware utils function to calc quaternion

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* refactor, use autoware utils

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* update comment

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* Add documentation

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* pre-commit changes

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* delete unused dependencies and repeated args

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* update copyright and fix magic numbers

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* delete unused header

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* refactoring

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* remove unused dependency

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* update copyright and dependency

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* update calcBound to work properly

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* solve problem with drivable area

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* remove forced false

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* solve calc bound problem

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* fix compatibility with updates to bpp

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* remove cerr print

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* solve bugs when merging with lane

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* solve issue of sbp not activating

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* remove unused commented code

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

---------

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
Signed-off-by: Daniel Sanchez <daniel.sanchez@tier4.jp>
Signed-off-by: Maxime CLEMENT <maxime.clement@tier4.jp>
Co-authored-by: Maxime CLEMENT <maxime.clement@tier4.jp>
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:build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci) run:deploy-docs Mark for deploy-docs action generation. (used-by-ci) type:documentation Creating or refining documentation. (auto-assigned)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants