From 4abe15cbe54ccd3b404c5e3e07ed40499fcac580 Mon Sep 17 00:00:00 2001 From: Takamasa Horibe Date: Sun, 19 Nov 2023 18:25:14 +0900 Subject: [PATCH] docs(planning-design): update reference implementation diagram (#485) Signed-off-by: Takamasa Horibe --- .../image/planning-diagram.drawio.svg | 1556 ++++++++++++++++- 1 file changed, 1552 insertions(+), 4 deletions(-) diff --git a/docs/design/autoware-architecture/planning/image/planning-diagram.drawio.svg b/docs/design/autoware-architecture/planning/image/planning-diagram.drawio.svg index bde7965b6fc..7d731d93c7a 100644 --- a/docs/design/autoware-architecture/planning/image/planning-diagram.drawio.svg +++ b/docs/design/autoware-architecture/planning/image/planning-diagram.drawio.svg @@ -1,4 +1,1552 @@ - - - -
Parking Scenario
Parking Scenario
route
route
高精度地図情報をもとに、自己位置からゴールまでのルートを計算します。高精度地図情報をもとに、自己位置からゴールまでのルートを計算します。
mission_planner
mission_planner
path_with_lane_id
path_with_lane_id
ルート情報や障害物情報をもとに、レーンチェンジを実行します。
path
path
交通ルールをもとに、経路上の最大速度を決定します。各モジュールは、自身の計算した最大速度と上段の結果を比較し、小さい速度を経路上に書き込みます。
Trajectory
Trajectory
車両形状や走行可能領域を考慮して、経路の平滑化を行う。障害物も避けるが、long historyで最近は回避機能はoffになっています。車両形状や走行可能領域を考慮して、経路の平滑化を行う。障害物も避けるが、long historyで最近は回避機能はoffになっています。
obstacle_
avoidance_planner
obstacle_...
Trajectory
Trajectory
自車が停止しているときに、周囲の障害物を確認し、近くに障害物がいる場合は車両を発進させない。自車が停止しているときに、周囲の障害物を確認し、近くに障害物がいる場合は車両を発進させない。
obstacle_velocity_limiter
obstacle_velocity_limiter
Trajectory
Trajectory
障害物停止・前車追従・近傍障害物減速の複数の機能を持ち、機能に応じて経路上に速度を埋め込む。 目標経路上に障害物点がある場合は停止、経路近くに障害物点群がある場合は減速、前方に車両が居る場合は前車追従。
Trajectory
Trajectory
いまのrouteおよび地図情報から、LaneDriving / Parkingのシナリオを判断し、どちらの経路を使うかを切り替える。いまのrouteおよび地図情報から、LaneDriving / Parkingのシナリオを判断し、どちらの経路を使うかを切り替える。
scenario_selector
scenario_selector
Trajectory
Trajectory
経路に埋め込まれた最大速度を超過しないように、うまい具合で速度を平滑化する。カーブでの減速もここで行う。経路に埋め込まれた最大速度を超過しないように、うまい具合で速度を平滑化する。カーブでの減速もここで行う。
motion_velocity_
smoother
motion_velocity_...
Trajectory
Trajectory
コストマップとゴールから、自車の走行ルートを計算する。いまはHA*を使ってる。コストマップとゴールから、自車の走行ルートを計算する。いまはHA*を使ってる。
freespace_planner
freespace_planner
occupancy_grid
occupancy_grid
障害物点群や地図の走行可能エリアの情報から、駐車プランナー用のコストマップを生成する。障害物点群や地図の走行可能エリアの情報から、駐車プランナー用のコストマップを生成する。
costmap_generator
costmap_generator
behavior
velocity
planner
behavior...
behavior
path
planner
behavior...
goal
goal
obstacle
stop
planner
obstacle...
障害物回避の可否判定と実行障害物回避の可否判定と実行
slow_down
slow_down
入力シフト量に応じて経路を横方向にシフトさせる入力シフト量に応じて経路を横方向にシフトさせる
adaptive_cruise
adaptive_cruise
レーンチェンジの可否判定と実行レーンチェンジの可否判定と実行
stop
stop
LaneDriving Scenario
LaneDriving Sce...
Behavior Planning
Behavior Planning
Motion Planning
Motion Planning
vector_map
vector_map
To Control
To Control
vector_map
vector_map
Dynamic Objects
Dynamic Objects
Dynamic Objects
Dynamic Objects
Dynamic Objects
Dynamic Objects
Dynamic Objects
Dynamic Objects
Obstacle Points
Obstacle Points
Obstacle Points
Obstacle Points
Dynamic Objects
Dynamic Objects
Obstacle Points
Obstacle Points
route (from mission_planner)
route (from mission_planner)
map
map
map
map
vehicle_state
vehicle_state
Localization
Localization
approval,
force_approval
approval,...
external_crosswalk_states,
external_intersection_states,
external_traffic_light_states
external_crosswalk_states,...
Planning
Planning
Traffic Light States
Traffic Light States
expand_stop_range
expand_stop_range
Perception
Perception
velocity_limit
(from external modules)
velocity_limit...
Human
Machine
Interface
Human...
Perception
Perception
external_velocity
_limit_selector
external_velocity...
velocity_limit
velocity_l...
障害物回避の可否判定と実行障害物回避の可否判定と実行
avoidance
avoidance
入力シフト量に応じて経路を横方向にシフトさせる入力シフト量に応じて経路を横方向にシフトさせる
side_shift
side_shift
レーンチェンジの可否判定と実行レーンチェンジの可否判定と実行
lane_change
lane_change
通常走行通常走行
lane_following
lane_following
pull_over
pull_over
pull_out
pull_out
右左折時に車両後方の巻き込み確認を行い、衝突の危険がある場合は停止します。右左折時に車両後方の巻き込み確認を行い、衝突の危険がある場合は停止します。
blind_spot
blind_spot
横断歩道に人が居る、もしくは侵入しようとしてきている場合に、横断歩道手前で停止します。近くに人が居る場合は徐行します。横断歩道に人が居る、もしくは侵入しようとしてきている場合に、横断歩道手前で停止します。近くに人が居る場合は徐行します。
cross_walk
cross_walk
規定された停止線で一時停止を行います規定された停止線で一時停止を行います
stop_line
stop_line
信号の色に応じて停止/発進の指示をします信号の色に応じて停止/発進の指示をします
traffic_light
traffic_light
地図情報および動物体情報から、交差点での停止/発進の判定を行います。地図情報および動物体情報から、交差点での停止/発進の判定を行います。
intersection
intersection
規定エリア内の障害物点群がある場合に、対応する位置で停止します規定エリア内の障害物点群がある場合に、対応する位置で停止します
detection_area
detection_area
no_stopping_area
no_stopping_area
virtual_traffic_light
virtual_traffic_light
occlusion_spot
occlusion_spot
run_out
run_out
check_point
check_point
vector_map
vector_map
自車が停止しているときに、周囲の障害物を確認し、近くに障害物がいる場合は車両を発進させない。自車が停止しているときに、周囲の障害物を確認し、近くに障害物がいる場合は車両を発進させない。
surround_obstacle_checker
surround_obstacle_checker
(from other planning modules)
(from othe...
Obstacle Points
Obstacle Points
Dynamic Objects
Dynamic Objects
Trajectory
Trajectory
Check the trajectory and stop publishing it if it is unsafe.Check the trajectory and stop publishing it if it is unsafe.
planning_validator
planning_validator
no_drivable_lane
no_drivable_lane
Text is not SVG - cannot display
\ No newline at end of file + + + + + + + + + + + + + + +
+
+
+ Parking Scenario +
+
+
+
+ + Parking Scenario + +
+
+ + + + + + + +
+
+
+ route +
+
+
+
+ + route + +
+
+ + + + + +
+
+
+ mission_planner +
+
+
+
+ + mission_planner + +
+
+
+ + + + + +
+
+
+ path_with_lane_id +
+
+
+
+ + path_with_lane_id + +
+
+ + + + + + + + +
+
+
+ path +
+
+
+
+ + path + +
+
+ + + + + + + + +
+
+
+ Trajectory +
+
+
+
+ + Trajectory + +
+
+ + + + + +
+
+
+ obstacle_avoidance_planner +
+
+
+
+ + obstacle_avoidance_planner + +
+
+
+ + + + + +
+
+
+ Trajectory +
+
+
+
+ + Trajectory + +
+
+ + + + + +
+
+
+ obstacle_velocity_limiter +
+
+
+
+ + obstacle_velocity_limiter + +
+
+
+ + + + + +
+
+
+ Trajectory +
+
+
+
+ + Trajectory + +
+
+ + + + + + + + +
+
+
+ Trajectory +
+
+
+
+ + Trajectory + +
+
+ + + + + +
+
+
+ scenario_selector +
+
+
+
+ + scenario_selector + +
+
+
+ + + + + +
+
+
+ + Trajectory + +
+
+
+
+ + Trajectory + +
+
+ + + + + +
+
+
+ motion_velocity_ +
+ smoother +
+
+
+
+ + motion_velocity_... + +
+
+
+ + + + + +
+
+
+ Trajectory +
+
+
+
+ + Trajectory + +
+
+ + + + + +
+
+
+ freespace_planner +
+
+
+
+ + freespace_planner + +
+
+
+ + + + + +
+
+
+ occupancy_grid +
+
+
+
+ + occupancy_grid + +
+
+ + + + + +
+
+
+ costmap_generator +
+
+
+
+ + costmap_generator + +
+
+
+ + + + +
+
+
+ behavior +
+ velocity +
+ planner +
+
+
+
+ + behavior... + +
+
+ + + + +
+
+
+ behavior +
+ path +
+ planner +
+
+
+
+ + behavior... + +
+
+ + + + + +
+
+
+ goal, check_point +
+
+
+
+ + goal, chec... + +
+
+ + + + + + +
+
+
+ obstacle +
+ stop planner +
+
+
+
+ + obstacle... + +
+
+ + + + +
+
+
+ slow_down +
+
+
+
+ + slow_down + +
+
+ + + + +
+
+
+ adaptive_cruise +
+
+
+
+ + adaptive_cruise + +
+
+ + + + +
+
+
+ stop +
+
+
+
+ + stop + +
+
+ + + + +
+
+
+ LaneDriving Scenario +
+
+
+
+ + LaneDriving Scenario + +
+
+ + + + +
+
+
+ + + Behavior Planning + + +
+
+
+
+ + Behavior Planning + +
+
+ + + + +
+
+
+ + + Motion Planning + + +
+
+
+
+ + Motion Planning + +
+
+ + + + + + + + +
+
+
+ To Control +
+
+
+
+ + To Control + +
+
+ + + + + +
+
+
+ vector_map +
+
+
+
+ + vector_map + +
+
+ + + + + +
+
+
+ Dynamic Objects +
+
+
+
+ + Dynamic Objects + +
+
+ + + + + +
+
+
+ Dynamic Objects, +
+ Obstacle Points, +
+ Occupancy Grid +
+
+
+
+ + Dynamic Objects,... + +
+
+ + + + + +
+
+
+ Dynamic Objects, +
+ Obstacle Points +
+
+
+
+ + Dynamic Objects,... + +
+
+ + + + + +
+
+
+ Dynamic Objects, +
+ Obstacle Points +
+
+
+
+ + Dynamic Objects,... + +
+
+ + + + + +
+
+
+ Dynamic Objects +
+
+
+
+ + Dynamic Objects + +
+
+ + + + + +
+
+
+ route (from mission_planner) +
+
+
+
+ + route (from mission_planner) + +
+
+ + + + + + + +
+
+
+ vehicle_state +
+
+
+
+ + vehicle_state + +
+
+ + + + +
+
+
+
+ Localization +
+
+
+
+
+ + Localization + +
+
+ + + + + +
+
+
+ approval, +
+ force_approval +
+
+
+
+ + approval,... + +
+
+ + + + + +
+
+
+ external_crosswalk_states, +
+ external_intersection_states, +
+ external_traffic_light_states +
+
+
+
+ + external_crosswalk_states,... + +
+
+ + + + +
+
+
+ Planning +
+
+
+
+ + Planning + +
+
+ + + + + +
+
+
+ Traffic Light States +
+
+
+
+ + Traffic Light States + +
+
+ + + + + +
+
+
+ expand_stop_range +
+
+
+
+ + expand_stop_range + +
+
+ + + + +
+
+
+ Perception +
+
+
+
+ + Perception + +
+
+ + + + + +
+
+
+ velocity_limit +
+
+
+
+ + velocity_limit + +
+
+ + + + +
+
+
+ Human +
+ Machine +
+ Interface +
+
+
+
+ + Human... + +
+
+ + + + + +
+
+
+ Dynamic Objects +
+
+
+
+ + Dynamic Objects + +
+
+ + + + + + +
+
+
+ external_velocity_limit_selector +
+
+
+
+ + external_velocity_limit_selector + +
+
+ + + + + +
+
+
+ velocity_limit +
+
+
+
+
+ + velocity_l... + +
+
+ + + + +
+
+
+ avoidance +
+
+
+
+ + avoidance + +
+
+ + + + +
+
+
+ side_shift +
+
+
+
+ + side_shift + +
+
+ + + + +
+
+
+ lane_change +
+
+
+
+ + lane_change + +
+
+ + + + +
+
+
+ lane_following +
+
+
+
+ + lane_following + +
+
+ + + + +
+
+
+ pull_over +
+
+
+
+ + pull_over + +
+
+ + + + +
+
+
+ pull_out +
+
+
+
+ + pull_out + +
+
+ + + + +
+
+
+ blind_spot +
+
+
+
+ + blind_spot + +
+
+ + + + +
+
+
+ cross_walk +
+
+
+
+ + cross_walk + +
+
+ + + + +
+
+
+ stop_line +
+
+
+
+ + stop_line + +
+
+ + + + +
+
+
+ traffic_light +
+
+
+
+ + traffic_light + +
+
+ + + + +
+
+
+ intersection +
+
+
+
+ + intersection + +
+
+ + + + +
+
+
+ detection_area +
+
+
+
+ + detection_area + +
+
+ + + + +
+
+
+ no_stopping_area +
+
+
+
+ + no_stopping_area + +
+
+ + + + +
+
+
+ virtual_traffic_light +
+
+
+
+ + virtual_traffic_light + +
+
+ + + + +
+
+
+ occlusion_spot +
+
+
+
+ + occlusion_spot + +
+
+ + + + +
+
+
+ run_out +
+
+
+
+ + run_out + +
+
+ + + + + +
+
+
+ vector_map +
+
+
+
+ + vector_map + +
+
+ + + + + +
+
+
+ surround_obstacle_checker +
+
+
+
+ + surround_obstacle_checker + +
+
+
+ + + + +
+
+
+ from other +
+ planning modules +
+
+
+
+ + from other... + +
+
+ + + + + +
+
+
+ Dynamic Objects, +
+ Obstacle Points +
+
+
+
+ + Dynamic Objects,... + +
+
+ + + + + +
+
+
+ + Trajectory + +
+
+
+
+ + Trajectory + +
+
+ + + + + +
+
+
+ planning_validator +
+
+
+
+ + planning_validator + +
+
+
+ + + + +
+
+
+ API Layer +
+
+
+
+ + API Layer + +
+
+ + + + +
+
+
+ Map +
+
+
+
+ + Map + +
+
+ + + + +
+
+
+ Map +
+
+
+
+ + Map + +
+
+ + + + +
+
+
+ Perception +
+
+
+
+ + Perception + +
+
+ + + + +
+
+
+ Mission Planning +
+
+
+
+ + Mission Planning + +
+
+ + + + +
+
+
+ Validation +
+
+
+
+ + Validation + +
+
+ + + + +
+
+
+ no_drivable_lane +
+
+
+
+ + no_drivable_lane + +
+
+ + + + + +
+
+
+ Component +
+
+
+
+ + Component + +
+
+ + + + +
+
+
+ ROS Node +
+
+
+
+ + ROS Node + +
+
+ + + + +
+
+
+ Modlue Plugin +
+
+
+
+ + Modlue Plugin + +
+
+ + + + + +
+
+
+ elastic_band_smoother +
+
+
+
+ + elastic_band_smoother + +
+
+
+ + + + + +
+
+
+ Trajectory +
+
+
+
+ + Trajectory + +
+
+
+ + + + + Text is not SVG - cannot display + + + +
\ No newline at end of file