From fe8519cf8b8b8dbbcbb8956314c894631b887e8a Mon Sep 17 00:00:00 2001 From: "Guan Muhua (Tier4)" <134026894+Tier4Guan@users.noreply.github.com> Date: Wed, 12 Jul 2023 10:29:48 +0900 Subject: [PATCH] docs: add thumbnails for demonstration videos (#416) * docs: add 6 demonstration videos Signed-off-by: Tier4Guan * style(pre-commit): autofix Signed-off-by: Tier4Guan * docs(how-to-guides): fill the documentation of creating vehicle interface for ackerman kinematic model (#404) * feat: invalid lanelet documentation (#337) * feat: invalid lanelet documentation Signed-off-by: AhmedEbrahim * feat: changing module name from invalid_lanelet to no_drivable_lane Signed-off-by: AhmedEbrahim * feat(no_drivable_lane): updating the node diagram file will smaller one in size Signed-off-by: AhmedEbrahim * feat(no_drivable_lane): reverting back to large size image Signed-off-by: AhmedEbrahim * feat(no_drivable_lane): fix review comments / add missing parts regarding no_drivable_lane module documentation Signed-off-by: AhmedEbrahim * feat(no_drivable_lane): updating no_drivable_lane doc link Signed-off-by: AhmedEbrahim * feat(no_drivable_lane): fixing review comment / update missing no_drivable_lane link Signed-off-by: AhmedEbrahim --------- Signed-off-by: AhmedEbrahim Signed-off-by: TaikiYamada4 * Start to get writing about vehicle interfaces. Signed-off-by: TaikiYamada4 * Finished the implementation part Signed-off-by: TaikiYamada4 * First draft done Signed-off-by: TaikiYamada4 * Fixed ackerman to Ackermann, and changed the path of images. Signed-off-by: TaikiYamada4 * Fixed the html description of figures in md_in_html style Signed-off-by: TaikiYamada4 * Changed ROS2 to ROS 2. Added description about autoware.repos Signed-off-by: TaikiYamada4 * Minor revision Signed-off-by: TaikiYamada4 * style(pre-commit): autofix Signed-off-by: TaikiYamada4 * style(pre-commit): autofix Signed-off-by: TaikiYamada4 * Fixed typo and indents Signed-off-by: TaikiYamada4 * style(pre-commit): autofix Signed-off-by: TaikiYamada4 * Removed redundant new lines Signed-off-by: TaikiYamada4 * Revert Signed-off-by: TaikiYamada4 * Changed url for source installation explanation Signed-off-by: TaikiYamada4 * docs(ad-api): add use cases of vehicle status (#381) * init vehicle status Signed-off-by: tkhmy * fix spelling error Signed-off-by: tkhmy * remove old file Signed-off-by: tkhmy * fix spelling error Signed-off-by: tkhmy * fix dead link Signed-off-by: tkhmy * update vehicle message Signed-off-by: tkhmy * change vehicle motion Signed-off-by: tkhmy * feat(ad-api): add vehicle information api Signed-off-by: Takagi, Isamu * fix msgs Signed-off-by: tkhmy * update geo position Signed-off-by: tkhmy * fix typo Signed-off-by: tkhmy * change naming Signed-off-by: tkhmy * feat: add door group Signed-off-by: Takagi, Isamu * update message Signed-off-by: tkhmy * fix naming Signed-off-by: tkhmy * fix typo Signed-off-by: tkhmy * update geographic_msgs Signed-off-by: tkhmy * docs(ad-api): add use cases of vehicle status Signed-off-by: Takagi, Isamu * feat: remove old files Signed-off-by: Takagi, Isamu * feat: use template Signed-off-by: Takagi, Isamu * apply template Signed-off-by: Takagi, Isamu * update message name Signed-off-by: Takagi, Isamu * update vehicle status feature Signed-off-by: Takagi, Isamu * fix link Signed-off-by: Takagi, Isamu * update door layout Signed-off-by: Takagi, Isamu --------- Signed-off-by: tkhmy Signed-off-by: Takagi, Isamu Co-authored-by: tkhmy Signed-off-by: TaikiYamada4 * chore: add mkdocs template for sync files from other repository (#395) chore: add mkdocs template for sync files from other directory Signed-off-by: Takagi, Isamu Signed-off-by: TaikiYamada4 * ci(sync-files): fix source path (#398) Signed-off-by: TaikiYamada4 * docs(how-to-guides): add creating vehicle and sensor description. (#399) * docs(how-to-guides): Creating vehicle and sensor description. Fixes #396 Signed-off-by: Naophis * style(pre-commit): autofix Signed-off-by: Naophis * fix: typo Signed-off-by: Naophis * fix: typo Signed-off-by: Naophis --------- Signed-off-by: Naophis Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Signed-off-by: TaikiYamada4 * docs(coding-guidelines): add note for test file with private headers (#402) Signed-off-by: Takagi, Isamu Signed-off-by: TaikiYamada4 * merged upstream/main Signed-off-by: TaikiYamada4 * Adjust md file to markdown lint Signed-off-by: TaikiYamada4 * style(pre-commit): autofix Signed-off-by: TaikiYamada4 * Adjust style again Signed-off-by: TaikiYamada4 * feat: change the adapi page structure (#406) * move user stories Signed-off-by: Takagi, Isamu * move features Signed-off-by: Takagi, Isamu * add list page Signed-off-by: Takagi, Isamu * update message Signed-off-by: Takagi, Isamu * update menu Signed-off-by: Takagi, Isamu --------- Signed-off-by: Takagi, Isamu Signed-off-by: TaikiYamada4 * style(pre-commit): autofix Signed-off-by: TaikiYamada4 * style: fix pre-commit errors Signed-off-by: Kenji Miyake Signed-off-by: TaikiYamada4 * fix indent Signed-off-by: Kenji Miyake Signed-off-by: TaikiYamada4 * Changed list to subsubsections Signed-off-by: TaikiYamada4 * feat(how-to-guides): add important temporal performance metrics (#389) * feat(how-to-guides): add new pages for important temporal performance metrics. Signed-off-by: Takayuki AKAMINE * style(pre-commit): autofix * fix: removed unnecessary sub component names. Signed-off-by: Takayuki AKAMINE * style(pre-commit): autofix * fixed section for top-level temporal performance metrics Signed-off-by: Takayuki AKAMINE * style(pre-commit): autofix * fixed note Signed-off-by: Takayuki AKAMINE * fixed table for Perception Signed-off-by: Takayuki AKAMINE * style(pre-commit): autofix * fix table of Perception Signed-off-by: Takayuki AKAMINE * style(pre-commit): autofix * fixed table of Perception Signed-off-by: Takayuki AKAMINE * style(pre-commit): autofix * fixed table of Perception Signed-off-by: Takayuki AKAMINE * style(pre-commit): autofix * fixed not saved Signed-off-by: Takayuki AKAMINE * style(pre-commit): autofix * fixed table of obstacle segmentation Signed-off-by: Takayuki AKAMINE * style(pre-commit): autofix * removed or Signed-off-by: Takayuki AKAMINE * style(pre-commit): autofix * replaced LiDAR by sensor Signed-off-by: Takayuki AKAMINE * add some minor fix Signed-off-by: Takayuki AKAMINE * style(pre-commit): autofix * add high-level component name Signed-off-by: Takayuki AKAMINE * Update docs/how-to-guides/integrating-autoware/tuning-parameters-and-performance/important-temporal-performance-metrics.md Co-authored-by: takeshi-iwanari * Update docs/how-to-guides/integrating-autoware/tuning-parameters-and-performance/important-temporal-performance-metrics.md Co-authored-by: takeshi-iwanari * Update docs/how-to-guides/integrating-autoware/tuning-parameters-and-performance/important-temporal-performance-metrics.md Co-authored-by: takeshi-iwanari * Update docs/how-to-guides/integrating-autoware/tuning-parameters-and-performance/important-temporal-performance-metrics.md Co-authored-by: takeshi-iwanari * Update docs/how-to-guides/integrating-autoware/tuning-parameters-and-performance/important-temporal-performance-metrics.md Co-authored-by: takeshi-iwanari * style(pre-commit): autofix * Update docs/how-to-guides/integrating-autoware/tuning-parameters-and-performance/important-temporal-performance-metrics.md Co-authored-by: takeshi-iwanari * Update docs/how-to-guides/integrating-autoware/tuning-parameters-and-performance/important-temporal-performance-metrics.md Co-authored-by: takeshi-iwanari * Update docs/how-to-guides/integrating-autoware/tuning-parameters-and-performance/important-temporal-performance-metrics.md Co-authored-by: takeshi-iwanari * fixed reason expression. Signed-off-by: Takayuki AKAMINE * style(pre-commit): autofix * fixed model for perception Signed-off-by: Takayuki AKAMINE * replace the by a Signed-off-by: Takayuki AKAMINE * style(pre-commit): autofix * fixed the sentence Signed-off-by: Takayuki AKAMINE * style(pre-commit): autofix * replace image by correct one Signed-off-by: Takayuki AKAMINE * fixed missing link Signed-off-by: Takayuki AKAMINE * chore: mv the pages to how-to-guides/others Signed-off-by: Takayuki AKAMINE * chore: add page item to the list Signed-off-by: Takayuki AKAMINE * chore: add the reason why temporal performance is used. Signed-off-by: Takayuki AKAMINE * chore: add guide to performance evaluation tools Signed-off-by: Takayuki AKAMINE * add explanation of definition policy Signed-off-by: Takayuki AKAMINE * fix: completed writing policies Signed-off-by: Takayuki AKAMINE * style(pre-commit): autofix * chore: fixed missing link. Signed-off-by: Takayuki AKAMINE --------- Signed-off-by: Takayuki AKAMINE Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: takeshi-iwanari Co-authored-by: Ryohsuke Mitsudome <43976834+mitsudome-r@users.noreply.github.com> Signed-off-by: TaikiYamada4 * Update docs/how-to-guides/integrating-autoware/creating-vehicle-interface-package/.pages Get rid of redundancy Co-authored-by: Kenji Miyake <31987104+kenji-miyake@users.noreply.github.com> Signed-off-by: TaikiYamada4 * Apply three suggestions from code review Co-authored-by: Kenji Miyake <31987104+kenji-miyake@users.noreply.github.com> Signed-off-by: TaikiYamada4 * Fixed typos. Added proper articles to the title. Fixed inconsistancy for the term vehicle interface. Break paragraphs into lines. Changed the term hardware (ECU) to control device. Signed-off-by: TaikiYamada4 * Fixed typo Signed-off-by: TaikiYamada4 --------- Signed-off-by: AhmedEbrahim Signed-off-by: TaikiYamada4 Signed-off-by: tkhmy Signed-off-by: Takagi, Isamu Signed-off-by: Naophis Signed-off-by: Kenji Miyake Signed-off-by: Takayuki AKAMINE Co-authored-by: Ahmed Ebrahim <36835765+ahmeddesokyebrahim@users.noreply.github.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Takagi, Isamu <43976882+isamu-takagi@users.noreply.github.com> Co-authored-by: tkhmy Co-authored-by: Kenji Miyake <31987104+kenji-miyake@users.noreply.github.com> Co-authored-by: Naophis Co-authored-by: Kenji Miyake Co-authored-by: Takayuki AKAMINE <38586589+takam5f2@users.noreply.github.com> Co-authored-by: takeshi-iwanari Co-authored-by: Ryohsuke Mitsudome <43976834+mitsudome-r@users.noreply.github.com> Signed-off-by: Tier4Guan * feat(ad-api): add release status (#407) * add release status Signed-off-by: Takagi, Isamu * Update docs/design/autoware-interfaces/templates/autoware-interface.jinja2 --------- Signed-off-by: Takagi, Isamu Co-authored-by: Ryohsuke Mitsudome <43976834+mitsudome-r@users.noreply.github.com> Signed-off-by: Tier4Guan * docs: add 12 more demonstration videos Signed-off-by: Tier4Guan * style(pre-commit): autofix Signed-off-by: Tier4Guan * Update index.md docs: correct link to pull out module Signed-off-by: Tier4Guan * style(pre-commit): autofix Signed-off-by: Tier4Guan * docs: delete unfinished sentence docs: delete unfinished sentence Signed-off-by: Tier4Guan * style(pre-commit): autofix Signed-off-by: Tier4Guan * docs: move Slow-Down-for-Obstacle video to Obstacle Deceleration Signed-off-by: Tier4Guan * style(pre-commit): autofix * docs: delete unnecessary comma Signed-off-by: Tier4Guan * style(pre-commit): autofix * docs: add thumbnails for demonstration videos Signed-off-by: Tier4Guan * docs: correct a format typo Signed-off-by: Tier4Guan * docs: add one blank line before each demonstration video Signed-off-by: Tier4Guan * style(pre-commit): autofix * chore: add alternate text Signed-off-by: satoshi-ota --------- Signed-off-by: Tier4Guan Signed-off-by: AhmedEbrahim Signed-off-by: TaikiYamada4 Signed-off-by: tkhmy Signed-off-by: Takagi, Isamu Signed-off-by: Naophis Signed-off-by: Kenji Miyake Signed-off-by: Takayuki AKAMINE Signed-off-by: satoshi-ota Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: TaikiYamada4 <129915538+TaikiYamada4@users.noreply.github.com> Co-authored-by: Ahmed Ebrahim <36835765+ahmeddesokyebrahim@users.noreply.github.com> Co-authored-by: Takagi, Isamu <43976882+isamu-takagi@users.noreply.github.com> Co-authored-by: tkhmy Co-authored-by: Kenji Miyake <31987104+kenji-miyake@users.noreply.github.com> Co-authored-by: Naophis Co-authored-by: Kenji Miyake Co-authored-by: Takayuki AKAMINE <38586589+takam5f2@users.noreply.github.com> Co-authored-by: takeshi-iwanari Co-authored-by: Ryohsuke Mitsudome <43976834+mitsudome-r@users.noreply.github.com> Co-authored-by: satoshi-ota --- .../autoware-architecture/planning/index.md | 78 +++++++++---------- 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/docs/design/autoware-architecture/planning/index.md b/docs/design/autoware-architecture/planning/index.md index 3ecdc149e56..089d9a22f9d 100644 --- a/docs/design/autoware-architecture/planning/index.md +++ b/docs/design/autoware-architecture/planning/index.md @@ -97,45 +97,45 @@ As mentioned in the goal session, this planning module is designed to be extensi ## Supported Functions -| Feature | Description | Requirements | Figure | -| -------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | -| Route Planning | Plan route from the ego vehicle position to the destination.

Reference implementation is in [Mission Planner](https://autowarefoundation.github.io/autoware.universe/main/planning/mission_planner/), enabled by launching the `mission_planner` node. | - Lanelet map (driving lanelets) | ![route-planning](image/features-route-planning.drawio.svg) | -| Path Planning from Route | Plan path to be followed from the given route.

Reference implementation is in [Behavior Path Planner](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_path_planner/). | - Lanelet map (driving lanelets) | ![lane-follow](image/features-lane-follow.drawio.svg) | -| Obstacle Avoidance | Plan path to avoid obstacles by steering operation.

Reference implementation is in [Avoidance](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_path_planner/docs/behavior_path_planner_avoidance_design/), [Obstacle Avoidance Planner](https://autowarefoundation.github.io/autoware.universe/main/planning/obstacle_avoidance_planner/). Enable flag in parameter: `launch obstacle_avoidance_planner true`
[Demonstration Video](https://youtu.be/A_V9yvfKZ4E) | - objects information | ![obstacle-avoidance](image/features-avoidance.drawio.svg) | -| Path Smoothing | Plan path to achieve smooth steering.

Reference implementation is in [Obstacle Avoidance Planner](https://autowarefoundation.github.io/autoware.universe/main/planning/obstacle_avoidance_planner/). | - Lanelet map (driving lanelet) | ![path-smoothing](image/features-path-smoothing.drawio.svg) | -| Narrow Space Driving | Plan path to drive within the drivable area. Furthermore, when it is not possible to drive within the drivable area, stop the vehicle to avoid exiting the drivable area.

Reference implementation is in [Obstacle Avoidance Planner](https://autowarefoundation.github.io/autoware.universe/main/planning/obstacle_avoidance_planner/). | - Lanelet map (high-precision lane boundaries) | ![narrow-space-driving](image/features-narrow-space-driving.drawio.svg) | -| Lane Change | Plan path for lane change to reach the destination.

Reference implementation is in [Lane Change](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_path_planner/docs/behavior_path_planner_lane_change_design/).
[Demonstration Video](https://youtu.be/0jRDGQ84cD4) | - Lanelet map (driving lanelets) | ![lane-change](image/features-lane-change.drawio.svg) | -| Pull Over | Plan path for pull over to park at the road shoulder.

Reference implementation is in [Goal Planner](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_path_planner/docs/behavior_path_planner_goal_planner_design/).
Demonstration Videos: [Simple Pull Over](https://youtu.be/r3-kAmTb4hc), [Arc Forward Pull Over](https://youtu.be/ornbzkWxRWU), [Arc Backward Pull Over](https://youtu.be/if-0tG3AkLo) | - Lanelet map (shoulder lane) | ![pull-over](image/features-pull-over.drawio.svg) | -| Pull Out | Plan path for pull over to start from the road shoulder.

Reference implementation is in [Pull Out Module](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_path_planner/docs/behavior_path_planner_start_planner_design/#:~:text=WIP-,Path%20Generation,-%23).
Demonstration Video:[Simple Pull Out](https://youtu.be/xOjnPqoHup4), [Backward Pull Out](https://youtu.be/iGieijPcPcQ) | - Lanelet map (shoulder lane) | ![pull-out](image/features-pull-out.drawio.svg) | -| Path Shift | Plan path in lateral direction in response to external instructions.

Reference implementation is in [Side Shift Module](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_path_planner/docs/behavior_path_planner_side_shift_design/). | - None | ![side-shift](image/features-side-shift.drawio.svg) | -| Obstacle Stop | Plan velocity to stop for an obstacle on the path.

Reference implementation is in [Obstacle Stop Planner](https://autowarefoundation.github.io/autoware.universe/main/planning/obstacle_stop_planner/), [Obstacle Cruise Planner](https://autowarefoundation.github.io/autoware.universe/main/planning/obstacle_cruise_planner/). `launch obstacle_stop_planner` and enable flag: `TODO`, `launch obstacle_cruise_planner` and enable flag: `TODO`
[Demonstration Video](https://youtu.be/d8IRW_xArcE) | - objects information | ![obstacle-stop](image/features-obstacle-stop.drawio.svg) | -| Obstacle Deceleration | Plan velocity to decelerate for an obstacle located around the path.

Reference implementation is in [Obstacle Stop Planner](https://autowarefoundation.github.io/autoware.universe/main/planning/obstacle_stop_planner/), [Obstacle Cruise Planner](https://autowarefoundation.github.io/autoware.universe/main/planning/obstacle_cruise_planner/).
[Demonstration Video](https://youtu.be/gvN1otgeaaw) | - objects information | ![obstacle-decel](image/features-obstacle-decel.drawio.svg) | -| Adaptive Cruise Control | Plan velocity to follow the vehicle driving in front of the ego vehicle.

Reference implementation is in [Obstacle Stop Planner](https://autowarefoundation.github.io/autoware.universe/main/planning/obstacle_stop_planner/), [Obstacle Cruise Planner](https://autowarefoundation.github.io/autoware.universe/main/planning/obstacle_cruise_planner/). | - objects information | ![adaptive-cruise](image/features-adaptive-cruise.drawio.svg) | -| Decelerate for cut-in vehicles | Plan velocity to avoid a risk for cutting-in vehicle to ego lane.

Reference implementation is in [Obstacle Cruise Planner](https://autowarefoundation.github.io/autoware.universe/main/planning/obstacle_cruise_planner/). | - objects information | ![cut-in](image/features-cut-in.drawio.svg) | -| Surround Check at starting | Plan velocity to prevent moving when an obstacle exists around the vehicle.

Reference implementation is in [Surround Obstacle Checker](https://autowarefoundation.github.io/autoware.universe/main/planning/surround_obstacle_checker/). Enable flag in parameter: `use_surround_obstacle_check true` in [tier4_planning_component.launch.xml](https://github.com/autowarefoundation/autoware_launch/blob/2850d7f4e20b173fde2183d5323debbe0067a990/autoware_launch/launch/components/tier4_planning_component.launch.xml#L8)
[Demonstration Video](https://youtu.be/bbGgtXN3lC4) | - objects information | ![surround-check](image/features-surround-check.drawio.svg) | -| Curve Deceleration | Plan velocity to decelerate the speed on a curve.

Reference implementation is in [Motion Velocity Smoother](https://autowarefoundation.github.io/autoware.universe/main/planning/motion_velocity_smoother/). | - None | ![decel-on-curve](image/features-decel-on-curve.drawio.svg) | -| Curve Deceleration for Obstacle | Plan velocity to decelerate the speed on a curve for a risk of obstacle collision around the path.

Reference implementation is in [Obstacle Velocity Limiter](https://autowarefoundation.github.io/autoware.universe/main/planning/obstacle_velocity_limiter/).
[Demonstration Video](https://youtu.be/I-oFgG6kIAs) | - objects information
- Lanelet map (static obstacle) | ![decel-on-curve-obstacles](image/features-decel-on-curve-obstacles.drawio.svg) | -| Crosswalk | Plan velocity to stop or decelerate for pedestrians approaching or walking on a crosswalk.

Reference implementation is in [Crosswalk Module](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_velocity_crosswalk_module/).
[Demonstration Video](https://youtu.be/tUvthyIL2W8) | - objects information
- Lanelet map (pedestrian crossing) | ![crosswalk](image/features-crosswalk.drawio.svg) | -| Intersection Oncoming Vehicle Check | Plan velocity for turning right/left at intersection to avoid a risk with oncoming other vehicles.

Reference implementation is in [Intersection Module](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_velocity_intersection_module/).
[Demonstration Video](https://youtu.be/SGD07Hqg4Hk) | - objects information
- Lanelet map (intersection lane and yield lane) | ![intersection](image/features-intersection.drawio.svg) | -| Intersection Blind Spot Check | Plan velocity for turning right/left at intersection to avoid a risk with other vehicles or motorcycles coming from behind blind spot.

Reference implementation is in [Blind Spot Module](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_velocity_blind_spot_module/). | - objects information
- Lanelet map (intersection lane) | ![blind-spot](image/features-blind-spot.drawio.svg) | -| Intersection Occlusion Check | Plan velocity for turning right/left at intersection to avoid a risk with the possibility of coming vehicles from occlusion area.

Reference implementation is in [Intersection Module](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_velocity_intersection_module/). | - objects information
- Lanelet map (intersection lane) | ![intersection-occlusion](image/features-intersection-occlusion.drawio.svg) | -| Intersection Traffic Jam Detection | Plan velocity for intersection not to enter the intersection when a vehicle is stopped ahead for a traffic jam.

Reference implementation is in [Intersection Module](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_velocity_intersection_module/). | - objects information
- Lanelet map (intersection lane) | ![intersection-traffic-jam](image/features-intersection-traffic-jam.drawio.svg) | -| Traffic Light | Plan velocity for intersection according to a traffic light signal.

Reference implementation is in [Traffic Light Module](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_velocity_traffic_light_module/).
[Demonstration Video](https://youtu.be/lGA53KljQrM) | - Traffic light color information | ![traffic-light](image/features-traffic-light.drawio.svg) | -| Run-out Check | Plan velocity to decelerate for the possibility of nearby objects running out into the path.

Reference implementation is in [Run Out Module](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_velocity_run_out_module/).
[Demonstration Video](https://youtu.be/9IDggldT2t0) | - objects information | ![run-out](image/features-run-out.drawio.svg) | -| Stop Line | Plan velocity to stop at a stop line.

Reference implementation is in [Stop Line Module](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_velocity_stop_line_module/).
[Demonstration Video](https://youtu.be/eej9jYt-GSE) | - Lanelet map (stop line) | ![stop-line](image/features-stop-line.drawio.svg) | -| Occlusion Spot Check | Plan velocity to decelerate for objects running out from occlusion area, for example, from behind a large vehicle.

Reference implementation is in [Occlusion Spot Module](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_velocity_occlusion_spot_module/). | - objects information
- Lanelet map (private/public lane) | ![occlusion-spot](image/features-occlusion-spot.drawio.svg) | -| No Stop Area | Plan velocity not to stop in areas where stopping is prohibited, such as in front of the fire station entrance.

Reference implementation is in [No Stopping Area Module](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_velocity_no_stopping_area_module/). | - Lanelet map (no stopping area) | ![no-stopping-area](image/features-no-stopping-area.drawio.svg) | -| Merge from Private Area to Public Road | Plan velocity for entering the public road from a private driveway to avoid a risk of collision with pedestrians or other vehicles.

Reference implementation is in [Merge from Private Area Module](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_velocity_intersection_module/). | - objects information
- Lanelet map (private/public lane) | WIP | -| Speed Bump | Plan velocity to decelerate for speed bumps.

Reference implementation is in [Speed Bump Module](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_velocity_speed_bump_module/). | - Lanelet map (speed bump) | ![speed-bump](image/features-speed-bump.drawio.svg) | -| Detection Area | Plan velocity to stop at the corresponding stop when an object exist in the designated detection area.

Reference implementation is in [Detection Area Module](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_velocity_detection_area_module/).
[Demonstration Video](https://youtu.be/YzXF4U69lJs) | - Lanelet map (detection area) | ![detection-area](image/features-detection-area.drawio.svg) | -| No Drivable Lane | Plan velocity to stop before exiting the area designated by ODD (Operational Design Domain) or stop the vehicle if autonomous mode started in out of ODD lane.

Reference implementation is in [No Drivable Lane Module](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_velocity_no_drivable_lane_module/). | - Lanelet map (no drivable lane) | ![no-drivable-lane](image/features-no-drivable-lane.drawio.svg) | -| Collision Detection when deviating from lane | Plan velocity to avoid conflict with other vehicles driving in the another lane when the ego vehicle is deviating from own lane.

Reference implementation is in [Out of Lane Module](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_velocity_out_of_lane_module/). | - objects information
- Lanelet map (driving lane) | WIP | -| Parking | Plan path and velocity for given goal in parking area.

Reference implementation is in [Free Space Planner](https://autowarefoundation.github.io/autoware.universe/main/planning/freespace_planner/).
[Demonstration Video](https://youtu.be/rAIYmwpNWfA) | - objects information
- Lanelet map (parking area) | ![parking](image/features-parking.drawio.svg) | -| Autonomous Emergency Braking (AEB) | Perform an emergency stop if a collision with an object ahead is anticipated. It is noted that this function is expected as a final safety layer, and this should work even in the event of failures in the Localization or Perception system.

Reference implementation is in [Out of Lane Module](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_velocity_out_of_lane_module/). | - Primitive objects | ![aeb](image/features-aeb.drawio.svg) | -| Minimum Risk Maneuver (MRM) | Provide appropriate MRM (Minimum Risk Maneuver) instructions when a hazardous event occurs. For example, when a sensor trouble found, send an instruction for emergency braking, moderate stop, or pulling over to the shoulder, depending on the severity of the situation.

Reference implementation is in TODO | - TODO | WIP | -| Trajectory Validation | Check the planned trajectory is safe. If it is unsafe, take appropriate action, such as modify the trajectory, stop sending the trajectory or report to the autonomous driving system.

Reference implementation is in [Planning Validator](https://autowarefoundation.github.io/autoware.universe/main/planning/planning_validator/). | - None | ![trajectory-validation](image/features-trajectory-validation.drawio.svg) | -| Running Lane Map Generation | Generate lane map from localization data recorded in manual driving.

Reference implementation is in WIP | - None | WIP | -| Running Lane Optimization | Optimize the centerline (reference path) of the map to make it smooth considering the vehicle kinematics.

Reference implementation is in [Static Centerline Optimizer](https://autowarefoundation.github.io/autoware.universe/main/planning/static_centerline_optimizer/). | - Lanelet map (driving lanes) | WIP | +| Feature | Description | Requirements | Figure | +| -------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| Route Planning | Plan route from the ego vehicle position to the destination.

Reference implementation is in [Mission Planner](https://autowarefoundation.github.io/autoware.universe/main/planning/mission_planner/), enabled by launching the `mission_planner` node. | - Lanelet map (driving lanelets) | ![route-planning](image/features-route-planning.drawio.svg) | +| Path Planning from Route | Plan path to be followed from the given route.

Reference implementation is in [Behavior Path Planner](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_path_planner/). | - Lanelet map (driving lanelets) | ![lane-follow](image/features-lane-follow.drawio.svg) | +| Obstacle Avoidance | Plan path to avoid obstacles by steering operation.

Reference implementation is in [Avoidance](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_path_planner/docs/behavior_path_planner_avoidance_design/), [Obstacle Avoidance Planner](https://autowarefoundation.github.io/autoware.universe/main/planning/obstacle_avoidance_planner/). Enable flag in parameter: `launch obstacle_avoidance_planner true`

[Demonstration Video](https://youtu.be/A_V9yvfKZ4E)
[![Demonstration Video](https://img.youtube.com/vi/A_V9yvfKZ4E/0.jpg)](https://www.youtube.com/watch?v=A_V9yvfKZ4E) | - objects information | ![obstacle-avoidance](image/features-avoidance.drawio.svg) | +| Path Smoothing | Plan path to achieve smooth steering.

Reference implementation is in [Obstacle Avoidance Planner](https://autowarefoundation.github.io/autoware.universe/main/planning/obstacle_avoidance_planner/). | - Lanelet map (driving lanelet) | ![path-smoothing](image/features-path-smoothing.drawio.svg) | +| Narrow Space Driving | Plan path to drive within the drivable area. Furthermore, when it is not possible to drive within the drivable area, stop the vehicle to avoid exiting the drivable area.

Reference implementation is in [Obstacle Avoidance Planner](https://autowarefoundation.github.io/autoware.universe/main/planning/obstacle_avoidance_planner/). | - Lanelet map (high-precision lane boundaries) | ![narrow-space-driving](image/features-narrow-space-driving.drawio.svg) | +| Lane Change | Plan path for lane change to reach the destination.

Reference implementation is in [Lane Change](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_path_planner/docs/behavior_path_planner_lane_change_design/).

[Demonstration Video](https://youtu.be/0jRDGQ84cD4)
[![Demonstration Video](https://img.youtube.com/vi/0jRDGQ84cD4/0.jpg)](https://www.youtube.com/watch?v=0jRDGQ84cD4) | - Lanelet map (driving lanelets) | ![lane-change](image/features-lane-change.drawio.svg) | +| Pull Over | Plan path for pull over to park at the road shoulder.

Reference implementation is in [Goal Planner](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_path_planner/docs/behavior_path_planner_goal_planner_design/).

Demonstration Videos:
[Simple Pull Over](https://youtu.be/r3-kAmTb4hc)
[![Demonstration Video](https://img.youtube.com/vi/r3-kAmTb4hc/0.jpg)](https://www.youtube.com/watch?v=r3-kAmTb4hc)
[Arc Forward Pull Over](https://youtu.be/ornbzkWxRWU)
[![Demonstration Video](https://img.youtube.com/vi/ornbzkWxRWU/0.jpg)](https://www.youtube.com/watch?v=ornbzkWxRWU)
[Arc Backward Pull Over](https://youtu.be/if-0tG3AkLo)
[![Demonstration Video](https://img.youtube.com/vi/if-0tG3AkLo/0.jpg)](https://www.youtube.com/watch?v=if-0tG3AkLo) | - Lanelet map (shoulder lane) | ![pull-over](image/features-pull-over.drawio.svg) | +| Pull Out | Plan path for pull over to start from the road shoulder.

Reference implementation is in [Pull Out Module](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_path_planner/docs/behavior_path_planner_start_planner_design/#:~:text=WIP-,Path%20Generation,-%23).

Demonstration Video:
[Simple Pull Out](https://youtu.be/xOjnPqoHup4)
[![Demonstration Video](https://img.youtube.com/vi/xOjnPqoHup4/0.jpg)](https://www.youtube.com/watch?v=xOjnPqoHup4)
[Backward Pull Out](https://youtu.be/iGieijPcPcQ)
[![Demonstration Video](https://img.youtube.com/vi/iGieijPcPcQ/0.jpg)](https://www.youtube.com/watch?v=iGieijPcPcQ) | - Lanelet map (shoulder lane) | ![pull-out](image/features-pull-out.drawio.svg) | +| Path Shift | Plan path in lateral direction in response to external instructions.

Reference implementation is in [Side Shift Module](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_path_planner/docs/behavior_path_planner_side_shift_design/). | - None | ![side-shift](image/features-side-shift.drawio.svg) | +| Obstacle Stop | Plan velocity to stop for an obstacle on the path.

Reference implementation is in [Obstacle Stop Planner](https://autowarefoundation.github.io/autoware.universe/main/planning/obstacle_stop_planner/), [Obstacle Cruise Planner](https://autowarefoundation.github.io/autoware.universe/main/planning/obstacle_cruise_planner/). `launch obstacle_stop_planner` and enable flag: `TODO`, `launch obstacle_cruise_planner` and enable flag: `TODO`

[Demonstration Video](https://youtu.be/d8IRW_xArcE)
[![Demonstration Video](https://img.youtube.com/vi/d8IRW_xArcE/0.jpg)](https://www.youtube.com/watch?v=d8IRW_xArcE) | - objects information | ![obstacle-stop](image/features-obstacle-stop.drawio.svg) | +| Obstacle Deceleration | Plan velocity to decelerate for an obstacle located around the path.

Reference implementation is in [Obstacle Stop Planner](https://autowarefoundation.github.io/autoware.universe/main/planning/obstacle_stop_planner/), [Obstacle Cruise Planner](https://autowarefoundation.github.io/autoware.universe/main/planning/obstacle_cruise_planner/).

[Demonstration Video](https://youtu.be/gvN1otgeaaw)
[![Demonstration Video](https://img.youtube.com/vi/gvN1otgeaaw/0.jpg)](https://www.youtube.com/watch?v=gvN1otgeaaw) | - objects information | ![obstacle-decel](image/features-obstacle-decel.drawio.svg) | +| Adaptive Cruise Control | Plan velocity to follow the vehicle driving in front of the ego vehicle.

Reference implementation is in [Obstacle Stop Planner](https://autowarefoundation.github.io/autoware.universe/main/planning/obstacle_stop_planner/), [Obstacle Cruise Planner](https://autowarefoundation.github.io/autoware.universe/main/planning/obstacle_cruise_planner/). | - objects information | ![adaptive-cruise](image/features-adaptive-cruise.drawio.svg) | +| Decelerate for cut-in vehicles | Plan velocity to avoid a risk for cutting-in vehicle to ego lane.

Reference implementation is in [Obstacle Cruise Planner](https://autowarefoundation.github.io/autoware.universe/main/planning/obstacle_cruise_planner/). | - objects information | ![cut-in](image/features-cut-in.drawio.svg) | +| Surround Check at starting | Plan velocity to prevent moving when an obstacle exists around the vehicle.

Reference implementation is in [Surround Obstacle Checker](https://autowarefoundation.github.io/autoware.universe/main/planning/surround_obstacle_checker/). Enable flag in parameter: `use_surround_obstacle_check true` in [tier4_planning_component.launch.xml](https://github.com/autowarefoundation/autoware_launch/blob/2850d7f4e20b173fde2183d5323debbe0067a990/autoware_launch/launch/components/tier4_planning_component.launch.xml#L8)

[Demonstration Video](https://youtu.be/bbGgtXN3lC4)
[![Demonstration Video](https://img.youtube.com/vi/bbGgtXN3lC4/0.jpg)](https://www.youtube.com/watch?v=bbGgtXN3lC4) | - objects information | ![surround-check](image/features-surround-check.drawio.svg) | +| Curve Deceleration | Plan velocity to decelerate the speed on a curve.

Reference implementation is in [Motion Velocity Smoother](https://autowarefoundation.github.io/autoware.universe/main/planning/motion_velocity_smoother/). | - None | ![decel-on-curve](image/features-decel-on-curve.drawio.svg) | +| Curve Deceleration for Obstacle | Plan velocity to decelerate the speed on a curve for a risk of obstacle collision around the path.

Reference implementation is in [Obstacle Velocity Limiter](https://autowarefoundation.github.io/autoware.universe/main/planning/obstacle_velocity_limiter/).

[Demonstration Video](https://youtu.be/I-oFgG6kIAs)
[![Demonstration Video](https://img.youtube.com/vi/I-oFgG6kIAs/0.jpg)](https://www.youtube.com/watch?v=I-oFgG6kIAs) | - objects information
- Lanelet map (static obstacle) | ![decel-on-curve-obstacles](image/features-decel-on-curve-obstacles.drawio.svg) | +| Crosswalk | Plan velocity to stop or decelerate for pedestrians approaching or walking on a crosswalk.

Reference implementation is in [Crosswalk Module](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_velocity_crosswalk_module/).

[Demonstration Video](https://youtu.be/tUvthyIL2W8)
[![Demonstration Video](https://img.youtube.com/vi/tUvthyIL2W8/0.jpg)](https://www.youtube.com/watch?v=tUvthyIL2W8) | - objects information
- Lanelet map (pedestrian crossing) | ![crosswalk](image/features-crosswalk.drawio.svg) | +| Intersection Oncoming Vehicle Check | Plan velocity for turning right/left at intersection to avoid a risk with oncoming other vehicles.

Reference implementation is in [Intersection Module](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_velocity_intersection_module/).

[Demonstration Video](https://youtu.be/SGD07Hqg4Hk)
[![Demonstration Video](https://img.youtube.com/vi/SGD07Hqg4Hk/0.jpg)](https://www.youtube.com/watch?v=SGD07Hqg4Hk) | - objects information
- Lanelet map (intersection lane and yield lane) | ![intersection](image/features-intersection.drawio.svg) | +| Intersection Blind Spot Check | Plan velocity for turning right/left at intersection to avoid a risk with other vehicles or motorcycles coming from behind blind spot.

Reference implementation is in [Blind Spot Module](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_velocity_blind_spot_module/). | - objects information
- Lanelet map (intersection lane) | ![blind-spot](image/features-blind-spot.drawio.svg) | +| Intersection Occlusion Check | Plan velocity for turning right/left at intersection to avoid a risk with the possibility of coming vehicles from occlusion area.

Reference implementation is in [Intersection Module](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_velocity_intersection_module/). | - objects information
- Lanelet map (intersection lane) | ![intersection-occlusion](image/features-intersection-occlusion.drawio.svg) | +| Intersection Traffic Jam Detection | Plan velocity for intersection not to enter the intersection when a vehicle is stopped ahead for a traffic jam.

Reference implementation is in [Intersection Module](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_velocity_intersection_module/). | - objects information
- Lanelet map (intersection lane) | ![intersection-traffic-jam](image/features-intersection-traffic-jam.drawio.svg) | +| Traffic Light | Plan velocity for intersection according to a traffic light signal.

Reference implementation is in [Traffic Light Module](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_velocity_traffic_light_module/).

[Demonstration Video](https://youtu.be/lGA53KljQrM)
[![Demonstration Video](https://img.youtube.com/vi/lGA53KljQrM/0.jpg)](https://www.youtube.com/watch?v=lGA53KljQrM) | - Traffic light color information | ![traffic-light](image/features-traffic-light.drawio.svg) | +| Run-out Check | Plan velocity to decelerate for the possibility of nearby objects running out into the path.

Reference implementation is in [Run Out Module](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_velocity_run_out_module/).

[Demonstration Video](https://youtu.be/9IDggldT2t0)
[![Demonstration Video](https://img.youtube.com/vi/9IDggldT2t0/0.jpg)](https://www.youtube.com/watch?v=9IDggldT2t0) | - objects information | ![run-out](image/features-run-out.drawio.svg) | +| Stop Line | Plan velocity to stop at a stop line.

Reference implementation is in [Stop Line Module](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_velocity_stop_line_module/).

[Demonstration Video](https://youtu.be/eej9jYt-GSE)
[![Demonstration Video](https://img.youtube.com/vi/eej9jYt-GSE/0.jpg)](https://www.youtube.com/watch?v=eej9jYt-GSE) | - Lanelet map (stop line) | ![stop-line](image/features-stop-line.drawio.svg) | +| Occlusion Spot Check | Plan velocity to decelerate for objects running out from occlusion area, for example, from behind a large vehicle.

Reference implementation is in [Occlusion Spot Module](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_velocity_occlusion_spot_module/). | - objects information
- Lanelet map (private/public lane) | ![occlusion-spot](image/features-occlusion-spot.drawio.svg) | +| No Stop Area | Plan velocity not to stop in areas where stopping is prohibited, such as in front of the fire station entrance.

Reference implementation is in [No Stopping Area Module](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_velocity_no_stopping_area_module/). | - Lanelet map (no stopping area) | ![no-stopping-area](image/features-no-stopping-area.drawio.svg) | +| Merge from Private Area to Public Road | Plan velocity for entering the public road from a private driveway to avoid a risk of collision with pedestrians or other vehicles.

Reference implementation is in [Merge from Private Area Module](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_velocity_intersection_module/). | - objects information
- Lanelet map (private/public lane) | WIP | +| Speed Bump | Plan velocity to decelerate for speed bumps.

Reference implementation is in [Speed Bump Module](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_velocity_speed_bump_module/). | - Lanelet map (speed bump) | ![speed-bump](image/features-speed-bump.drawio.svg) | +| Detection Area | Plan velocity to stop at the corresponding stop when an object exist in the designated detection area.

Reference implementation is in [Detection Area Module](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_velocity_detection_area_module/).

[Demonstration Video](https://youtu.be/YzXF4U69lJs)
[![Demonstration Video](https://img.youtube.com/vi/YzXF4U69lJs/0.jpg)](https://www.youtube.com/watch?v=YzXF4U69lJs) | - Lanelet map (detection area) | ![detection-area](image/features-detection-area.drawio.svg) | +| No Drivable Lane | Plan velocity to stop before exiting the area designated by ODD (Operational Design Domain) or stop the vehicle if autonomous mode started in out of ODD lane.

Reference implementation is in [No Drivable Lane Module](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_velocity_no_drivable_lane_module/). | - Lanelet map (no drivable lane) | ![no-drivable-lane](image/features-no-drivable-lane.drawio.svg) | +| Collision Detection when deviating from lane | Plan velocity to avoid conflict with other vehicles driving in the another lane when the ego vehicle is deviating from own lane.

Reference implementation is in [Out of Lane Module](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_velocity_out_of_lane_module/). | - objects information
- Lanelet map (driving lane) | WIP | +| Parking | Plan path and velocity for given goal in parking area.

Reference implementation is in [Free Space Planner](https://autowarefoundation.github.io/autoware.universe/main/planning/freespace_planner/).

[Demonstration Video](https://youtu.be/rAIYmwpNWfA)
[![Demonstration Video](https://img.youtube.com/vi/rAIYmwpNWfA/0.jpg)](https://www.youtube.com/watch?v=rAIYmwpNWfA) | - objects information
- Lanelet map (parking area) | ![parking](image/features-parking.drawio.svg) | +| Autonomous Emergency Braking (AEB) | Perform an emergency stop if a collision with an object ahead is anticipated. It is noted that this function is expected as a final safety layer, and this should work even in the event of failures in the Localization or Perception system.

Reference implementation is in [Out of Lane Module](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_velocity_out_of_lane_module/). | - Primitive objects | ![aeb](image/features-aeb.drawio.svg) | +| Minimum Risk Maneuver (MRM) | Provide appropriate MRM (Minimum Risk Maneuver) instructions when a hazardous event occurs. For example, when a sensor trouble found, send an instruction for emergency braking, moderate stop, or pulling over to the shoulder, depending on the severity of the situation.

Reference implementation is in TODO | - TODO | WIP | +| Trajectory Validation | Check the planned trajectory is safe. If it is unsafe, take appropriate action, such as modify the trajectory, stop sending the trajectory or report to the autonomous driving system.

Reference implementation is in [Planning Validator](https://autowarefoundation.github.io/autoware.universe/main/planning/planning_validator/). | - None | ![trajectory-validation](image/features-trajectory-validation.drawio.svg) | +| Running Lane Map Generation | Generate lane map from localization data recorded in manual driving.

Reference implementation is in WIP | - None | WIP | +| Running Lane Optimization | Optimize the centerline (reference path) of the map to make it smooth considering the vehicle kinematics.

Reference implementation is in [Static Centerline Optimizer](https://autowarefoundation.github.io/autoware.universe/main/planning/static_centerline_optimizer/). | - Lanelet map (driving lanes) | WIP |