Skip to content

Commit

Permalink
feat: add behavior_path_planner package (autowarefoundation#25)
Browse files Browse the repository at this point in the history
* Feature/porting behavior path planner (autowarefoundation#1645)

* Add behavior path planner pkg with Lane Change (autowarefoundation#1525)

* add lanelet extension funcs

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

* add planning msgs for FOA

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

* add behavior_path_planner pkg

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

* apply clang format

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

* add error handling for config load failure

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

* replace word: foa with remote control

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

* add readme

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

* use pointer for return value of path

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

* fix hz

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

* remove debug print

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

* remove shide-shift & avoidance related files

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

* Clip path by goal

* add build depend for behavior tree cpp

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

* temporally disable lint test in lanelet2_extension

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

Co-authored-by: rej55 <rej55.g@gmail.com>

* Add avoidance module in behavior_path_planner (autowarefoundation#1528)

* Revert "remove shide-shift & avoidance related files"

This reverts commit d819ea0291fca251012e4b9ffd16de3896830aa2.

* refactor findNewShiftPoint func

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

* remove duplicated decleration

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

* fix barkward length issue
 - add clipPathLenght func in avoidance

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

* refactor:
 - translate english
 - minor modification for traffic distance

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

* support debug marker in behavior_path_planner

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

* clean up side shift module

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

* change topic name

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

* remove japanese

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

* Update planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/include/behavior_path_planner/scene_module/side_shift/side_shift_module.hpp

Co-authored-by: Yukihiro Saito <yukky.saito@gmail.com>

* fix typo

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

* remove unused var

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

* adress reviewer comments:
 - add const for variables
 - add comment
 - fix typo

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

* fix typo

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

Co-authored-by: Yukihiro Saito <yukky.saito@gmail.com>

* Replace behavior_path utilities with autoware_utils (autowarefoundation#1532)

* replace calcDistance

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

* replace arange

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

* replave convertToEigenPt with autoware_utils::fromMsg

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

* replace normalizeRadian

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

* cosmetic change

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

* import autowarefoundation#1526 into behavior path planner (autowarefoundation#1531)

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

* Fix/behavior path empty path output guard (autowarefoundation#1536)

* add guard

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

* Update planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/src/behavior_path_planner.cpp

* fix lateral jerk calculation (autowarefoundation#1549)

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

* fix: error handling on exception in behavior_path_planner (autowarefoundation#1551)

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

* Fix ignore too steep avoidance path (autowarefoundation#1550)

* ignore too steep path

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

* Update planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/src/scene_module/avoidance/avoidance_module.cpp

* parametrize lateral jerk limit

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

* Update planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/include/behavior_path_planner/scene_module/avoidance/avoidance_module.hpp

Co-authored-by: tkimura4 <tomoya.kimura@tier4.jp>

Co-authored-by: tkimura4 <tomoya.kimura@tier4.jp>

* use offsetNoThrow and add error log (autowarefoundation#1615)

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

* Ignore object ahead goal for avoidance (autowarefoundation#1618)

* Ignore object ahead goal for avoidance

* Add flag

* Fix position of definition of goal_pose

* Fix arclength calculation

* Fix position of definition of goal_pose

* fix intersection stop line (autowarefoundation#1636)

* fix intersection stop line

* fix typo

* add document (autowarefoundation#1635)

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

* Port behavior path planner to ros2

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* Apply lint

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* Fix typo

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* Fix map qos

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* debug slope calculation in behavior (autowarefoundation#1566)

* update

* update

* revert change of autoware_utils

* define getPose in behavior_path_planner

* update

* update

* update

* update

* interpolate z in obstacle_avoidance_planner

* update velocity controller

* fix detection area and scene

* Update planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/src/utilities.cpp

Co-authored-by: tkimura4 <tomoya.kimura@tier4.jp>

* update comment in velocity controller

* remove debug print

* update

Co-authored-by: tkimura4 <tomoya.kimura@tier4.jp>

* Address review: Fix config file name

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* pre-commit fixes

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* Fix redeclaring parameters

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* Add missing tf2 geometry function

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* Apply lint

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* Fix rclcpp Time initialization

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* Use now() instead of msg stamp

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* Use throttle output in getExpandedLanelet

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* Add missing const

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* Fix lint

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

Co-authored-by: Takamasa Horibe <horibe.takamasa@gmail.com>
Co-authored-by: rej55 <rej55.g@gmail.com>
Co-authored-by: Yukihiro Saito <yukky.saito@gmail.com>
Co-authored-by: tkimura4 <tomoya.kimura@tier4.jp>
Co-authored-by: Takayuki Murooka <takayuki5168@gmail.com>

* Fix/separate drivable area calculation (autowarefoundation#1828)

* Do not calculate drivable area at plan candidate

* Remove is_first_plan_

* Fix comment

* Fix compile warnings (autowarefoundation#1852)

Fix -Wunused-parameter

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

Fix -Wunused-private-field

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

Fix -Wunused-lambda-capture

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

Fix -Wdelete-non-abstract-non-virtual-dtor

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

Fix -Wrange-loop-construct

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

Ignore lint error

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Feature/behavior fillpoly drivable area fast (autowarefoundation#1843)

* add sample codes to check how overlapped polygon works, which have to be removed before merged

* remove cv::Mats for each lanelet

* remove unused variable

* remove test sample codes

* assign pose to pre goal in behavior (autowarefoundation#1874)

* Rearrange behavior path planner utilities  (autowarefoundation#1944)

* Refactor route handler

* Refactor utilities

* Remove unnecessary blank line

* [behavior_path_planner] refactor parameter declaration (autowarefoundation#1953)

* refactor parameter definition

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

* apply format

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

* [behavior_path_planner] remove unused drivable area calculation (autowarefoundation#1977)

* [behavior_path_planner] remove unused drivable area calculation in planCandidate()

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

* change function name

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

* [behavior_path_planner] update side shift module (autowarefoundation#1968)

* fix side_shift module with path_shifter

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

* update readme for side shift

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

* fix markdown lint

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

* remove unused drivable area calculation

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

* rename thres -> threshold

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

* Fix package.xml (autowarefoundation#2056)

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Feature/expand drivable area (autowarefoundation#1812)

* check if ego lane has adjacent lane or not

* expand drivable area by using lanelet

* remove unnecessary operator

* use extra drivable area

* fix variable names

* fix indent

* get polygon by id

* fix variable name

* remove redundant logic

* update area name

* disable expand by default

Co-authored-by: satoshi-ota <satoshi.ota@gmail.com>

* fix clip path length (autowarefoundation#2095)

* fix clip path

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

* update

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

* not ignore lanelet altitude (autowarefoundation#2132) (autowarefoundation#2133)

Co-authored-by: Satoshi OTA <44889564+satoshi-ota@users.noreply.github.com>

* Fix/side shift approval (autowarefoundation#2126)

* Fix approval

* Add clear approval

* Fix typo

* add pull over/out module (autowarefoundation#2147)

* Improve avoidance algorithm in behavior_path_planner (autowarefoundation#2127)

* add debug comment

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

* use same clock and logger

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

* update

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

* remove Frenet struct

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>

* Correspond exactly to the modified and raw shift points.

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

* separate structure file

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

* update

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

* fix return shift calculation

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

* add index info on path marker

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

* update returnSHift func

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

* update param

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

* update findNewShiftPoiint logic by using linear shifter

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

* fix return distance calculation

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

* fix return shift for steep shape

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

* fix for return shift after approval

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

* re-fix for return shift after approval

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

* re-re-fix for return shift after approval

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

* add same object_id shift for parent_ids even if it is not overwrapped.

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

* fix clock for approval_handler

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

* fix bug: extra_return_shift is not registered

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

* update
 - update logic of unique check for registered shift
 - update addReturnShift func to support for opposite obstacle case
 - disable trimSmallShift

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

* use relative shift for avoid start point

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

* update path_shifter: use end_point shift for relative shift calculation so that the desired shift length is set at shift_point's end_idx (before, it was set at the end point of the path)

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

* update: select existing shift point that will be removed before adding a new one

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

* fix path_shifter: current_shift for linear shift

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

* update
 - add ignore over-jerk shift function
 - improve debug print

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

* update
 - add control flag for debug print
 - add control flag for debug marker

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

* TMP: add sparse resampling to reduce computational cost

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

* update parameter: min_nominal_avoidance_speed 3.0 -> 5.0

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

* cosmetic change
 - move some debug functions to debug.cpp
 - remove temporal debug comment
 - remove unused params
 - parametrize some values
 - align function decleration order

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

* add empty avoidance design

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

* applly format

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

* fix typo

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

* fix design.md directory

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

* change variable nale sudden, tight -> sharp

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

* remove unused param

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

* fix default value

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

* add design

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

* move some functions to util

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

* fix design typo

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

* remove temporal mutable & adjust function name

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

* parametrize some hard-coded params

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

* follow ament_uncrustify & cpplint

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

* fix parent_id inheritance bug

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

* back to experiment config

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

* update trim filter: trimSharpReturn

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

* add lost-detection compensator

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

* resolve todo for empty path

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

* change param: set false for debug publisher

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

* update debug comment

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

* remove unused debug print

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

* update default param

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

* use closest footpoint from ego for avoidance point

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

* cosmetic change

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

* fix format

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

* fix typo

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

* move lateral and longitudinal distance calculation to util

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

* simplify mergeShift function

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

* fix format

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

* fix typo

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

* fix readme style

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

* revert unexpected changes

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

* - remove unused comment
- translate to english

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

* apply format

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

* fix typo

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

* fix for createQuaternionFromRPY/Yaw (autowarefoundation#2154)

* add behavior velocity planner utils (autowarefoundation#2113)

* add gtest utils

* add state machine as utils

* add arc lane utils

* remove empty file

* add gtest for offset segment

* use calcdist2d in autoware util

* apply get point

* fix uncrustify

* fix conflict getPoint in behavior path

* apply commit suggestion

* slower than ros1

* use interpolation::slerp (autowarefoundation#2161)

* Fix side shift planner (autowarefoundation#2171)

* add print debug

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

* remove forward shift points when adding new point

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

* remove debug print

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

* format

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

* Fix remove threshold

Co-authored-by: Fumiya Watanabe <rej55.g@gmail.com>

* Fix/pull out and pull over (autowarefoundation#2175) (autowarefoundation#2177)

* delete unnecessary check

* fix condition of starting pull out

Co-authored-by: tkimura4 <tomoya.kimura@tier4.jp>

* change threshold_distance_object_is_on_center to 1.0 (autowarefoundation#2176)

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

* [hotfix] 1 path point exception after resampling (autowarefoundation#2204) (autowarefoundation#2208)

* fix 1 path point exception after resampling

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

* Apply suggestions from code review

* Apply suggestions from code review

Co-authored-by: Takamasa Horibe <horibe.takamasa@gmail.com>

Co-authored-by: tkimura4 <tomoya.kimura@tier4.jp>

Co-authored-by: Takamasa Horibe <horibe.takamasa@gmail.com>
Co-authored-by: tkimura4 <tomoya.kimura@tier4.jp>

* [hotfix] Fix lane ids (autowarefoundation#2211) (autowarefoundation#2212)

* Fix lane ids

Co-authored-by: Fumiya Watanabe <rej55.g@gmail.com>

* Prevent acceleration on avoidance (autowarefoundation#2214) (autowarefoundation#2216)

* prevent acceleration on avoidance

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

* fix param name

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

* parametrize avoidance acc

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

* change param name

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

* fix typo

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

Co-authored-by: Takamasa Horibe <horibe.takamasa@gmail.com>

* design document for avoidance module (autowarefoundation#2196)

* Update behavior_path_planner_avoidance-design.md

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

* fix for markdown lint

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

* fix lint

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

* fix

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

* Update planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/behavior_path_planner_avoidance-design.md

Co-authored-by: Kazuki Miyahara <kmiya@outlook.com>

* Update planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/behavior_path_planner_avoidance-design.md

Co-authored-by: Kazuki Miyahara <kmiya@outlook.com>

* Update planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/behavior_path_planner_avoidance-design.md

Co-authored-by: Kazuki Miyahara <kmiya@outlook.com>

* Update planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/behavior_path_planner_avoidance-design.md

Co-authored-by: Kazuki Miyahara <kmiya@outlook.com>

* Update planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/behavior_path_planner_avoidance-design.md

Co-authored-by: Kazuki Miyahara <kmiya@outlook.com>

* Update planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/behavior_path_planner_avoidance-design.md

Co-authored-by: Kazuki Miyahara <kmiya@outlook.com>

* Update planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/behavior_path_planner_avoidance-design.md

* update

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

Co-authored-by: Kazuki Miyahara <kmiya@outlook.com>

* [hotfix] Remove exception in avoidance module (autowarefoundation#2233) (autowarefoundation#2234)

* Remove exception

* Fix clock

* Remove blank line

Co-authored-by: Fumiya Watanabe <rej55.g@gmail.com>

* Add description in behavior path planner (autowarefoundation#2248)

* add description for goal point management functions

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

* change function name

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

* update readme

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

* fix readme

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

* fix typo

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

* refactor center line calculation (autowarefoundation#2252)

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

* Change formatter to clang-format and black (autowarefoundation#2332)

* Revert "Temporarily comment out pre-commit hooks"

This reverts commit 748e9cdb145ce12f8b520bcbd97f5ff899fc28a3.

* Replace ament_lint_common with autoware_lint_common

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Remove ament_cmake_uncrustify and ament_clang_format

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Apply Black

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Apply clang-format

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Fix build errors

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Fix for cpplint

* Fix include double quotes to angle brackets

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Apply clang-format

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Fix build errors

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Add COLCON_IGNORE (autowarefoundation#500)

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* rename topic name twist -> odometry (autowarefoundation#568)

Co-authored-by: Takayuki Murooka <takayuki.murooka@tier4.jp>

* Port behavior path planner (autowarefoundation#622)

* Convert message to autoware_auto_msgs

* Use route_handler package and fix bugs

* Fix README

* Fix hazard signal

* Fix default value of TurnSignalInfo and use get_clock()

* Use odometry

* Sync .auto branch with the latest branch in internal repository (autowarefoundation#691)

* add trajectory point offset in rviz plugin (autowarefoundation#2270)

* sync rc rc/v0.23.0 (autowarefoundation#2258)

* fix interpolation for insert point (autowarefoundation#2228)

* fix interpolation for insert point

* to prev interpolation pkg

* Revert "to prev interpolation pkg"

This reverts commit 9eb145b5d36e297186015fb17c267ccd5b3c21ef.

Co-authored-by: taikitanaka3 <65527974+taikitanaka3@users.noreply.github.com>
Co-authored-by: taikitanaka <ttatcoder@outlook.jp>

* fix topic name (autowarefoundation#2266)

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

* Add namespace to diag for dual_return_filter (autowarefoundation#2269)

* Add a function to make 'geometry_msgs::msg::TransformStamped' (autowarefoundation#2250)

* Add a function to make 'geometry_msgs::msg::TransformStamped'
* Add 'child_frame_id' as an argument of 'pose2transform'

* Simplify marker scale initialization (autowarefoundation#2286)

* Fix/crosswalk polygon (autowarefoundation#2279)

* extend crosswalk polygon

* improve readability

* fix polygon shape

* Add warning when decel distance calculation fails (autowarefoundation#2289)

Signed-off-by: Makoto Kurihara <mkuri8m@gmail.com>

* [motion_velocity_smoother] ignore debug print (autowarefoundation#2292)

* cosmetic change

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

* cahnge severity from WARN to DEBUG for debug info

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

* use util for stop_watch

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

* fix map based prediction (autowarefoundation#2200)

* fix map based prediction

* fix format

* change map based prediction

* fix spells

* fix spells in comments

* fix for cpplint

* fix some problems

* fix format and code for clang-tidy

* fix space for cpplint

* Update Readme.md

* Update perception/object_recognition/prediction/map_based_prediction/Readme.md

* Update perception/object_recognition/prediction/map_based_prediction/Readme.md

* Update perception/object_recognition/prediction/map_based_prediction/Readme.md

* Update perception/object_recognition/prediction/map_based_prediction/Readme.md

* Update perception/object_recognition/prediction/map_based_prediction/Readme.md

* Update perception/object_recognition/prediction/map_based_prediction/Readme.md

* fix vector access method

* fix readme format

* add parameter

* Update perception/object_recognition/prediction/map_based_prediction/Readme.md

Co-authored-by: Kazuki Miyahara <kmiya@outlook.com>

* Update perception/object_recognition/prediction/map_based_prediction/Readme.md

Co-authored-by: Kazuki Miyahara <kmiya@outlook.com>

* Update perception/object_recognition/prediction/map_based_prediction/Readme.md

Co-authored-by: Kazuki Miyahara <kmiya@outlook.com>

* Update Readme.md

* Update perception/object_recognition/prediction/map_based_prediction/Readme.md

Co-authored-by: Kazuki Miyahara <kmiya@outlook.com>

Co-authored-by: tkimura4 <tomoya.kimura@tier4.jp>
Co-authored-by: Kazuki Miyahara <kmiya@outlook.com>

* remove failure condition for 0 velocity trajectory (autowarefoundation#2295)

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

* [mpc_follower] remove stop distance condition from stopState decision (autowarefoundation#1916)

* [mpc_follower] remove stop distance condition from stopState decision

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

* add invalid index handling

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

* Move the debug marker initialization part to another file (autowarefoundation#2288)

* Move the debug marker initialization part to 'debug.cpp'

* Make 'isLocalOptimalSolutionOscillation' independent from 'NDTScanMatcher' (autowarefoundation#2300)

* Remove an unused function 'getTransform' (autowarefoundation#2301)

* Simplify iteration of initial poses (autowarefoundation#2310)

* Make a transform object const (autowarefoundation#2311)

* Represent poses in 'std::vector' instead of 'geometry_msgs::msg::PoseArray' (autowarefoundation#2312)

* Feature/no stopping area (autowarefoundation#2163)

* add no stopping area module to behavior velocity planner

* apply utils

* add polygon interpolation module order stopline around area is considered

* devide jpass udge with stop line polygon

* update docs

* rename file name

* update to latest

* minor change for marker

* update license

Co-authored-by: Yukihiro Saito <yukky.saito@gmail.com>

* update license

Co-authored-by: Yukihiro Saito <yukky.saito@gmail.com>

* update license

Co-authored-by: Yukihiro Saito <yukky.saito@gmail.com>

* update license

Co-authored-by: Yukihiro Saito <yukky.saito@gmail.com>

* minor fix

* add parameter tuning at experiment

* update readme

* format doc

* apply comments

* add exception gurd

* cosmetic change

* fix ament

* fix typo and remove for statement

* & to " "

* better ns

* return pass judge param

* add missing stoppable condition

* add clear pass judge and stoppable flag

* add comment

* precommit fix

* cpplint

Co-authored-by: Yukihiro Saito <yukky.saito@gmail.com>

* sync rc rc/v0.23.0 (autowarefoundation#2281)

* Fix side shift planner (autowarefoundation#2171) (autowarefoundation#2172)

* add print debug

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

* remove forward shift points when adding new point

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

* remove debug print

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

* format

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

* Fix remove threshold

Co-authored-by: Fumiya Watanabe <rej55.g@gmail.com>

Co-authored-by: Takamasa Horibe <horibe.takamasa@gmail.com>

* Fix/pull out and pull over (autowarefoundation#2175)

* delete unnecessary check

* fix condition of starting pull out

* Add emergency status API (autowarefoundation#2174) (autowarefoundation#2182)

* Fix/mpc reset prev result (autowarefoundation#2185) (autowarefoundation#2195)

* reset prev result

* clean code

* reset only raw_steer_cmd

* Update control/mpc_follower/src/mpc_follower_core.cpp

Co-authored-by: Takamasa Horibe <horibe.takamasa@gmail.com>

Co-authored-by: Takamasa Horibe <horibe.takamasa@gmail.com>

Co-authored-by: Takamasa Horibe <horibe.takamasa@gmail.com>

* [hotfix] 1 path point exception after resampling (autowarefoundation#2204)

* fix 1 path point exception after resampling

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

* Apply suggestions from code review

* Apply suggestions from code review

Co-authored-by: Takamasa Horibe <horibe.takamasa@gmail.com>

Co-authored-by: tkimura4 <tomoya.kimura@tier4.jp>

* [hotfix] Fix lane ids (autowarefoundation#2211)

* Fix lane ids

* Prevent acceleration on avoidance (autowarefoundation#2214)

* prevent acceleration on avoidance

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

* fix param name

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

* parametrize avoidance acc

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

* change param name

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

* fix typo

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

* Fix qos in roi cluster fusion (autowarefoundation#2218)

* fix confidence (autowarefoundation#2220)

* too high confidence (autowarefoundation#2229)

* Fix/obstacle stop 0.23.0 (autowarefoundation#2232)

* fix unexpected slow down in sharp curves (autowarefoundation#2181)

* Fix/insert implementation (autowarefoundation#2186)

Co-authored-by: Satoshi OTA <44889564+satoshi-ota@users.noreply.github.com>

* [hotfix] Remove exception in avoidance module (autowarefoundation#2233)

* Remove exception

* Fix clock

* Remove blank line

* Update traffic light state if ref stop point is ahead of previous one (autowarefoundation#2197)

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* fix interpolation for insert point (autowarefoundation#2228)

* fix interpolation for insert point

* to prev interpolation pkg

* fix index (autowarefoundation#2265)

* turn signal calculation (#2280)

* add turn signal funtion in path shifter

* add ros parameters

Co-authored-by: Fumiya Watanabe <rej55.g@gmail.com>
Co-authored-by: Takamasa Horibe <horibe.takamasa@gmail.com>
Co-authored-by: tkimura4 <tomoya.kimura@tier4.jp>
Co-authored-by: Takagi, Isamu <43976882+isamu-takagi@users.noreply.github.com>
Co-authored-by: Daisuke Nishimatsu <42202095+wep21@users.noreply.github.com>
Co-authored-by: Yukihiro Saito <yukky.saito@gmail.com>
Co-authored-by: Satoshi OTA <44889564+satoshi-ota@users.noreply.github.com>
Co-authored-by: taikitanaka3 <65527974+taikitanaka3@users.noreply.github.com>
Co-authored-by: Sugatyon <32741405+Sugatyon@users.noreply.github.com>

* [behavior_path_planner] fix sudden path change around ego (autowarefoundation#2305) (autowarefoundation#2318)

* fix return-from-ego shift point generation logic

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

* change param for trimSimilarGradShiftPoint

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

* add comment for issue

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

* update comment

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

* replace code with function (logic has not changed)

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

* move func to cpp

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

* add comment for issue

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

* fix typo

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

* Update planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/src/scene_module/avoidance/avoidance_module.cpp

Co-authored-by: Kazuki Miyahara <kmiya@outlook.com>

* Update planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/src/scene_module/avoidance/avoidance_module.cpp

Co-authored-by: Kazuki Miyahara <kmiya@outlook.com>

Co-authored-by: Kazuki Miyahara <kmiya@outlook.com>

Co-authored-by: Takamasa Horibe <horibe.takamasa@gmail.com>
Co-authored-by: Kazuki Miyahara <kmiya@outlook.com>

* Add functions to make stamped scalar messages (autowarefoundation#2317)

* Fix/object yaw in intersection module (autowarefoundation#2294)

* fix object orientation

* fix function name

* add guard (autowarefoundation#2321)

* reduce cost (double to float) (autowarefoundation#2298)

* Add detail collision check (autowarefoundation#2274)

* Add detail collision check

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* Remove unused function

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* Fix arc length

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* Seperate time margin

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* Fix parameter name

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* Update Readme

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* Address review: Add comment for TimeDistanceArray

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* Run pre-commit

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* Fix cpplint

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* Add return for empty polygon

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* update CenterPoint  (autowarefoundation#2222)

* update to model trained by mmdet3d

* add vizualizer (debug)

* for multi-frame inputs

* chagne config

* use autoware_utils::pi

* project specific model and param

* rename vfe -> encoder

* rename general to common

* update download link

* update

* fix

* rename model_name

* change training toolbox link

* chage lint package

* fix test error

* commit suggestion

* Feature/lane change detection (autowarefoundation#2331)

* add old information deleter

* fix access bug

* change to deque

* update obstacle buffer

* fix some bugs

* add lane change detector

* make a update lanelet function

* fix code style

* parameterize essential values

* Update perception/object_recognition/prediction/map_based_prediction/src/map_based_prediction_ros.cpp

Co-authored-by: Kazuki Miyahara <kmiya@outlook.com>

* fix slash position

* remove unnecessary lines

* fix format

* fix format

* change to new enum

* fix format

* fix typo and add guard

* change funciton name

* add lane change description

Co-authored-by: Kazuki Miyahara <kmiya@outlook.com>

* Add Planning Evaluator  (autowarefoundation#2293)

* Add prototype planning evaluator

Produced data for dist between points, curvature, and relative angle

* Cleanup the code to make adding metrics easier

* Add remaining basic metrics (length, duration, vel, accel, jerk)

* Add motion_evaluator to evaluate the actual ego motion + code cleanup

* Add deviation metrics

* Add naive stability metric

* Handle invalid stat (TODO: fix the output file formatting)

* Add parameter file and cleanup

* Add basic obstacle metric (TTC not yet implemented) and fix output file format

* Add basic time to collision

* Add lateral-distance based stability metric

* Add check (at init time) that metrics' maps are complete

* Publish metrics as ParamaterDeclaration msg (for openscenario)

* Use lookahead and start from ego_pose when calculating stability metrics

* Code cleanup

* Fix lint

* Add tests

* Fix bug with Frechet dist and the last traj point

* Finish implementing tests

* Fix lint

* Code cleanup

* Update README.md

* Remove unused metric

* Change msg type of published metrics to DiagnosticArray

* fix format to fix pre-commit check

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

* fix yaml format to fix pre-commit check

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

* fix yaml format

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

* apply clang-format

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

* apply clang-format

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

* Update planning/planning_diagnostics/planning_evaluator/include/planning_evaluator/planning_evaluator_node.hpp

* Update planning/planning_diagnostics/planning_evaluator/test/test_planning_evaluator_node.cpp

* Update planning/planning_diagnostics/planning_evaluator/test/test_planning_evaluator_node.cpp

* change lint format to autoware_lint_common

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

Co-authored-by: Takamasa Horibe <horibe.takamasa@gmail.com>

* Add keep braking function at driving state (autowarefoundation#2346)

* Add keep braking function at driving state

Signed-off-by: Makoto Kurihara <mkuri8m@gmail.com>

* Remove debug messages

Signed-off-by: Makoto Kurihara <mkuri8m@gmail.com>

* Fix format

Signed-off-by: Makoto Kurihara <mkuri8m@gmail.com>

* Change diag_updater's pediod from default to 0.1sec (autowarefoundation#2348)

* add cross judgement and common signal function (autowarefoundation#2319)

* merge branch turn_signal_common

* add turn signal function in signal decider

* add cross judge in path_utilities and delete from turn_signal_decider

* remove original signal calculation in lane change

* omit substitution

* replace turn signal decider in pull over function

* modify cross judge logic

* replace turn signal decider in avoidance

* add readme of turn signal

* update

* delete print debug

* update

* delete lane change decider in path shifter

* delete blank line

* fix indent

* fix typo

* fix typo

* decrease nest

* run pre commit

* Add 0 limit at forward jerk velocity filter (autowarefoundation#2340)

Signed-off-by: Makoto Kurihara <mkuri8m@gmail.com>

* add time offset param to point cloud concatenation (autowarefoundation#2303)

* add offset param

* clang-format

Co-authored-by: Akihito OHSATO <aohsato@gmail.com>

* Feature/add doc for keep braking function at driving state (autowarefoundation#2366)

* Add the description of brake keeping

Signed-off-by: Makoto Kurihara <mkuri8m@gmail.com>

* Add the english document

Signed-off-by: Makoto Kurihara <mkuri8m@gmail.com>

* Improve description

Signed-off-by: Makoto Kurihara <mkuri8m@gmail.com>

* Add english description

Signed-off-by: Makoto Kurihara <mkuri8m@gmail.com>

* Fix include files (autowarefoundation#2339)

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* fix behavior intersection module

* fix behavior no stopping area module

* fix planning_evaluator

* fix motion_velocity_smoother

* rename variable

* Revert "[mpc_follower] remove stop distance condition from stopState decision (autowarefoundation#1916)"

This reverts commit ff4f0b5a844d1f835f1b93bd3b36a76747b0cd02.

* Revert "Add keep braking function at driving state (autowarefoundation#2346)"

This reverts commit f0478187db4c28bf6092c198723dcc5ec11a9c70.

* Revert "Feature/add doc for keep braking function at driving state (autowarefoundation#2366)"

This reverts commit 66de2f3924a479049fce2d5c5c6b579cacbd3e49.

* Fix orientation availability in centerpoint

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* fix test_trajectory.cpp

* add target link libraries

* Use .auto msg in test code for planniing evaluator

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* fix include

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

Co-authored-by: Takayuki Murooka <takayuki5168@gmail.com>
Co-authored-by: autoware-iv-sync-ci[bot] <87871706+autoware-iv-sync-ci[bot]@users.noreply.github.com>
Co-authored-by: taikitanaka3 <65527974+taikitanaka3@users.noreply.github.com>
Co-authored-by: taikitanaka <ttatcoder@outlook.jp>
Co-authored-by: Takamasa Horibe <horibe.takamasa@gmail.com>
Co-authored-by: Takeshi Miura <57553950+1222-takeshi@users.noreply.github.com>
Co-authored-by: Takeshi Ishita <ishitah.takeshi@gmail.com>
Co-authored-by: Satoshi OTA <44889564+satoshi-ota@users.noreply.github.com>
Co-authored-by: Makoto Kurihara <mkuri8m@gmail.com>
Co-authored-by: purewater0901 <43805014+purewater0901@users.noreply.github.com>
Co-authored-by: tkimura4 <tomoya.kimura@tier4.jp>
Co-authored-by: Kazuki Miyahara <kmiya@outlook.com>
Co-authored-by: Yukihiro Saito <yukky.saito@gmail.com>
Co-authored-by: Fumiya Watanabe <rej55.g@gmail.com>
Co-authored-by: Takagi, Isamu <43976882+isamu-takagi@users.noreply.github.com>
Co-authored-by: Sugatyon <32741405+Sugatyon@users.noreply.github.com>
Co-authored-by: s-murakami-esol <81723883+s-murakami-esol@users.noreply.github.com>
Co-authored-by: Yusuke Muramatsu <yukke42@users.noreply.github.com>
Co-authored-by: Maxime CLEMENT <78338830+maxime-clem@users.noreply.github.com>
Co-authored-by: Shunsuke Miura <37187849+miursh@users.noreply.github.com>
Co-authored-by: Shinnosuke Hirakawa <8327162+0x126@users.noreply.github.com>
Co-authored-by: Akihito OHSATO <aohsato@gmail.com>
Co-authored-by: Kenji Miyake <kenji.miyake@tier4.jp>

* [behavior_path_planner]fix velocity of pre_refined_goal (autowarefoundation#725)

* fix velocity of pre_refined_goal

* use std::clamp

Co-authored-by: Daisuke Nishimatsu <42202095+wep21@users.noreply.github.com>
Co-authored-by: Takamasa Horibe <horibe.takamasa@gmail.com>
Co-authored-by: rej55 <rej55.g@gmail.com>
Co-authored-by: Yukihiro Saito <yukky.saito@gmail.com>
Co-authored-by: Takayuki Murooka <takayuki5168@gmail.com>
Co-authored-by: Kenji Miyake <kenji.miyake@tier4.jp>
Co-authored-by: Satoshi OTA <44889564+satoshi-ota@users.noreply.github.com>
Co-authored-by: satoshi-ota <satoshi.ota@gmail.com>
Co-authored-by: autoware-iv-sync-ci[bot] <87871706+autoware-iv-sync-ci[bot]@users.noreply.github.com>
Co-authored-by: kyoichi sugahara <81.s.kyo.19@gmail.com>
Co-authored-by: taikitanaka3 <65527974+taikitanaka3@users.noreply.github.com>
Co-authored-by: Kazuki Miyahara <kmiya@outlook.com>
Co-authored-by: Kenji Miyake <31987104+kenji-miyake@users.noreply.github.com>
Co-authored-by: Takayuki Murooka <takayuki.murooka@tier4.jp>
Co-authored-by: taikitanaka <ttatcoder@outlook.jp>
Co-authored-by: Takeshi Miura <57553950+1222-takeshi@users.noreply.github.com>
Co-authored-by: Takeshi Ishita <ishitah.takeshi@gmail.com>
Co-authored-by: Makoto Kurihara <mkuri8m@gmail.com>
Co-authored-by: purewater0901 <43805014+purewater0901@users.noreply.github.com>
Co-authored-by: Takagi, Isamu <43976882+isamu-takagi@users.noreply.github.com>
Co-authored-by: Sugatyon <32741405+Sugatyon@users.noreply.github.com>
Co-authored-by: s-murakami-esol <81723883+s-murakami-esol@users.noreply.github.com>
Co-authored-by: Yusuke Muramatsu <yukke42@users.noreply.github.com>
Co-authored-by: Maxime CLEMENT <78338830+maxime-clem@users.noreply.github.com>
Co-authored-by: Shunsuke Miura <37187849+miursh@users.noreply.github.com>
Co-authored-by: Shinnosuke Hirakawa <8327162+0x126@users.noreply.github.com>
Co-authored-by: Akihito OHSATO <aohsato@gmail.com>
  • Loading branch information
1 parent b9e7df0 commit 235c7ce
Show file tree
Hide file tree
Showing 84 changed files with 16,651 additions and 0 deletions.
57 changes: 57 additions & 0 deletions planning/behavior_path_planner/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
cmake_minimum_required(VERSION 3.5)
project(behavior_path_planner)

if(NOT CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
endif()
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
add_compile_options(-Wall -Wextra -Wpedantic -Werror)
endif()

find_package(ament_cmake_auto REQUIRED)
ament_auto_find_build_dependencies()
find_package(OpenCV REQUIRED)

ament_auto_add_library(behavior_path_planner_node SHARED
src/behavior_path_planner_node.cpp
src/behavior_tree_manager.cpp
src/utilities.cpp
src/path_utilities.cpp
src/path_shifter/path_shifter.cpp
src/turn_signal_decider.cpp
src/scene_module/scene_module_bt_node_interface.cpp
src/scene_module/side_shift/side_shift_module.cpp
src/scene_module/side_shift/util.cpp
src/scene_module/avoidance/avoidance_module.cpp
src/scene_module/avoidance/avoidance_utils.cpp
src/scene_module/avoidance/debug.cpp
src/scene_module/lane_following/lane_following_module.cpp
src/scene_module/lane_change/lane_change_module.cpp
src/scene_module/lane_change/util.cpp
src/scene_module/pull_over/pull_over_module.cpp
src/scene_module/pull_over/util.cpp
src/scene_module/pull_out/pull_out_module.cpp
src/scene_module/pull_out/util.cpp
)

target_link_libraries(behavior_path_planner_node
${OpenCV_LIBRARIES}
)

rclcpp_components_register_node(behavior_path_planner_node
PLUGIN "behavior_path_planner::BehaviorPathPlannerNode"
EXECUTABLE behavior_path_planner
)

if(BUILD_TESTING)
find_package(ament_lint_auto REQUIRED)
ament_lint_auto_find_test_dependencies()
endif()

ament_auto_package(
INSTALL_TO_SHARE
config
launch
)
328 changes: 328 additions & 0 deletions planning/behavior_path_planner/README.md

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# see AvoidanceParameters description in avoidance_module_data.hpp for description.
/**:
ros__parameters:
avoidance:
resample_interval_for_planning: 0.3
resample_interval_for_output: 4.0
detection_area_right_expand_dist: 0.0
detection_area_left_expand_dist: 1.0

threshold_distance_object_is_on_center: 1.0 # [m]
threshold_speed_object_is_stopped: 1.0 # [m/s]
object_check_forward_distance: 150.0 # [m]
object_check_backward_distance: 2.0 # [m]
lateral_collision_margin: 2.0 # [m]

prepare_time: 2.0 # [s]
min_prepare_distance: 1.0 # [m]
min_avoidance_distance: 10.0 # [m]

min_nominal_avoidance_speed: 7.0 # [m/s]
min_sharp_avoidance_speed: 1.0 # [m/s]

max_right_shift_length: 5.0
max_left_shift_length: 5.0

nominal_lateral_jerk: 0.2 # [m/s3]
max_lateral_jerk: 1.0 # [m/s3]

object_hold_max_count: 20

# For prevention of large acceleration while avoidance
min_avoidance_speed_for_acc_prevention: 3.0 # [m/s]
max_avoidance_acceleration: 0.5 # [m/ss]

# for debug
publish_debug_marker: false
print_debug_info: false

# not enabled yet
longitudinal_collision_margin_min_distance: 0.0 # [m]
longitudinal_collision_margin_time: 0.0
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
/**:
ros__parameters:
backward_path_length: 5.0
forward_path_length: 200.0
backward_length_buffer_for_end_of_lane: 5.0
minimum_lane_change_length: 12.0
drivable_area_resolution: 0.1
drivable_area_width: 100.0
drivable_area_height: 50.0
refine_goal_search_radius_range: 7.5
intersection_search_distance: 30.0
110 changes: 110 additions & 0 deletions planning/behavior_path_planner/config/behavior_path_planner_tree.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
<?xml version="1.0"?>
<root main_tree_to_execute="BehaviorTree">
<!-- ////////// -->
<BehaviorTree ID="BehaviorTree">
<Fallback>
<ReactiveSequence>
<Condition ID="PullOver_Request"/>
<Condition ID="PullOver_Ready"/>
<Action ID="PullOver_Plan" output="{output}"/>
</ReactiveSequence>
<ReactiveSequence>
<Condition ID="PullOut_Request"/>
<Condition ID="PullOut_Ready"/>
<Action ID="PullOut_Plan" output="{output}"/>
</ReactiveSequence>
<ReactiveSequence>
<Condition ID="SideShift_Request"/>
<Condition ID="SideShift_Ready"/>
<Action ID="SideShift_Plan" output="{output}"/>
</ReactiveSequence>
<ReactiveSequence>
<Condition ID="LaneChange_Request"/>
<Fallback>
<Condition ID="LaneChange_Ready"/>
<Condition ID="ForceLaneChange_ForceApproval"/>
</Fallback>
<Action ID="LaneChange_Plan" output="{output}"/>
</ReactiveSequence>
<ReactiveSequence>
<Condition ID="Avoidance_Request"/>
<Condition ID="Avoidance_Ready"/>
<Action ID="Avoidance_Plan" output="{output}"/>
</ReactiveSequence>
<Action ID="LaneFollowing_Plan" output="{output}"/>
</Fallback>
</BehaviorTree>
<!-- ////////// -->
<BehaviorTree ID="a">
<ReactiveFallback>
<Condition ID="LaneChange_CheckApproval"/>
<KeepRunningUntilFailure>
<Action ID="LaneChange_PlanCandidate" output="{output}"/>
</KeepRunningUntilFailure>
</ReactiveFallback>
</BehaviorTree>
<!-- ////////// -->
<BehaviorTree ID="b">
<ReactiveFallback>
<Condition ID="Avoidance_CheckApproval"/>
<KeepRunningUntilFailure>
<Action ID="Avoidance_PlanCandidate" output="{output}"/>
</KeepRunningUntilFailure>
</ReactiveFallback>
</BehaviorTree>
<!-- ////////// -->
<TreeNodesModel>
<Condition ID="Avoidance_CheckApproval"/>
<Action ID="Avoidance_Plan">
<output_port name="output" type="behavior_path_planner::BehaviorModuleOutput">desc</output_port>
</Action>
<Action ID="Avoidance_PlanCandidate">
<output_port name="output" type="behavior_path_planner::BehaviorModuleOutput">desc</output_port>
</Action>
<Condition ID="Avoidance_Ready"/>
<Condition ID="Avoidance_Request"/>
<Condition ID="ExternalApproval"/>
<Condition ID="ForceApproval"/>
<Condition ID="ForceLaneChange_ForceApproval"/>
<Condition ID="LaneChange_CheckApproval"/>
<Action ID="LaneChange_Plan">
<output_port name="output" type="behavior_path_planner::BehaviorModuleOutput">desc</output_port>
</Action>
<Action ID="LaneChange_PlanCandidate">
<output_port name="output" type="behavior_path_planner::BehaviorModuleOutput">desc</output_port>
</Action>
<Condition ID="LaneChange_Ready"/>
<Condition ID="LaneChange_Request"/>
<Action ID="LaneFollowing_Plan">
<output_port name="output" type="boost::optional&lt;autoware_planning_msgs::PathWithLaneId_&lt;std::allocator&lt;void&gt; &gt; &gt;">desc</output_port>
</Action>
<Action ID="LaneFollowing_PlanCandidate">
<output_port name="output_candidate" type="boost::optional&lt;autoware_planning_msgs::PathWithLaneId_&lt;std::allocator&lt;void&gt; &gt; &gt;">desc</output_port>
</Action>
<Condition ID="LaneFollowing_Ready"/>
<Condition ID="LaneFollowing_Request"/>
<Action ID="PullOut_Plan">
<output_port name="output"/>
</Action>
<Condition ID="PullOut_Ready"/>
<Condition ID="PullOut_Request"/>
<Action ID="PullOver_Plan">
<output_port name="output" type="behavior_path_planner::BehaviorModuleOutput">desc</output_port>
</Action>
<Condition ID="PullOver_Ready"/>
<Condition ID="PullOver_Request"/>
<Condition ID="SideShift_CheckApproval"/>
<Action ID="SideShift_Plan">
<output_port name="output" type="behavior_path_planner::BehaviorModuleOutput">desc</output_port>
</Action>
<Action ID="SideShift_PlanCandidate">
<output_port name="output" type="behavior_path_planner::BehaviorModuleOutput">desc</output_port>
</Action>
<Condition ID="SideShift_Ready"/>
<Condition ID="SideShift_Request"/>
<SubTree ID="SubTree"/>
<SubTree ID="a"/>
<SubTree ID="b"/>
</TreeNodesModel>
<!-- ////////// -->
</root>
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
<?xml version="1.0"?>
<root main_tree_to_execute="BehaviorTree">
<!-- ////////// -->
<BehaviorTree ID="BehaviorTree">
<Fallback>
<ReactiveSequence>
<Condition ID="PullOver_Request"/>
<Condition ID="PullOver_Ready"/>
<Action ID="PullOver_Plan" output="{output}"/>
</ReactiveSequence>
<ReactiveSequence>
<Condition ID="PullOut_Request"/>
<Condition ID="PullOut_Ready"/>
<Action ID="PullOut_Plan" output="{output}"/>
</ReactiveSequence>
<ReactiveSequence>
<Condition ID="LaneChange_Request"/>
<Fallback>
<Condition ID="LaneChange_Ready"/>
<Condition ID="ForceLaneChange_ForceApproval"/>
</Fallback>
<Action ID="LaneChange_Plan" output="{output}"/>
</ReactiveSequence>
<Action ID="LaneFollowing_Plan" output="{output}"/>
</Fallback>
</BehaviorTree>
<!-- ////////// -->
<BehaviorTree ID="a">
<ReactiveFallback>
<Condition ID="LaneChange_CheckApproval"/>
<KeepRunningUntilFailure>
<Action ID="LaneChange_PlanCandidate" output="{output}"/>
</KeepRunningUntilFailure>
</ReactiveFallback>
</BehaviorTree>
<!-- ////////// -->
<BehaviorTree ID="b">
<ReactiveFallback>
<Condition ID="Avoidance_CheckApproval"/>
<KeepRunningUntilFailure>
<Action ID="Avoidance_PlanCandidate" output="{output}"/>
</KeepRunningUntilFailure>
</ReactiveFallback>
</BehaviorTree>
<!-- ////////// -->
<TreeNodesModel>
<Condition ID="Avoidance_CheckApproval"/>
<Action ID="Avoidance_Plan">
<output_port name="output" type="behavior_path_planner::BehaviorModuleOutput">desc</output_port>
</Action>
<Action ID="Avoidance_PlanCandidate">
<output_port name="output" type="behavior_path_planner::BehaviorModuleOutput">desc</output_port>
</Action>
<Condition ID="Avoidance_Ready"/>
<Condition ID="Avoidance_Request"/>
<Condition ID="ExternalApproval"/>
<Condition ID="ForceApproval"/>
<Condition ID="ForceLaneChange_ForceApproval"/>
<Condition ID="LaneChange_CheckApproval"/>
<Action ID="LaneChange_Plan">
<output_port name="output" type="behavior_path_planner::BehaviorModuleOutput">desc</output_port>
</Action>
<Action ID="LaneChange_PlanCandidate">
<output_port name="output" type="behavior_path_planner::BehaviorModuleOutput">desc</output_port>
</Action>
<Condition ID="LaneChange_Ready"/>
<Condition ID="LaneChange_Request"/>
<Action ID="LaneFollowing_Plan">
<output_port name="output" type="boost::optional&lt;autoware_planning_msgs::PathWithLaneId_&lt;std::allocator&lt;void&gt; &gt; &gt;">desc</output_port>
</Action>
<Action ID="LaneFollowing_PlanCandidate">
<output_port name="output_candidate" type="boost::optional&lt;autoware_planning_msgs::PathWithLaneId_&lt;std::allocator&lt;void&gt; &gt; &gt;">desc</output_port>
</Action>
<Condition ID="LaneFollowing_Ready"/>
<Condition ID="LaneFollowing_Request"/>
<Action ID="PullOut_Plan">
<output_port name="output"/>
</Action>
<Condition ID="PullOut_Ready"/>
<Condition ID="PullOut_Request"/>
<Action ID="PullOver_Plan">
<output_port name="output" type="behavior_path_planner::BehaviorModuleOutput">desc</output_port>
</Action>
<Condition ID="PullOver_Ready"/>
<Condition ID="PullOver_Request"/>
<Condition ID="SideShift_CheckApproval"/>
<Action ID="SideShift_Plan">
<output_port name="output" type="behavior_path_planner::BehaviorModuleOutput">desc</output_port>
</Action>
<Action ID="SideShift_PlanCandidate">
<output_port name="output" type="behavior_path_planner::BehaviorModuleOutput">desc</output_port>
</Action>
<Condition ID="SideShift_Ready"/>
<Condition ID="SideShift_Request"/>
<SubTree ID="SubTree"/>
<SubTree ID="a"/>
<SubTree ID="b"/>
</TreeNodesModel>
<!-- ////////// -->
</root>
Loading

0 comments on commit 235c7ce

Please sign in to comment.