Skip to content

Commit d59ae26

Browse files
authored
feat(motion_velocity_planner): add new motion velocity planning (autowarefoundation#992)
Signed-off-by: Maxime CLEMENT <[email protected]>
1 parent f7e6dd7 commit d59ae26

File tree

5 files changed

+84
-1
lines changed

5 files changed

+84
-1
lines changed

autoware_launch/config/planning/preset/default_preset.yaml

+6-1
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ launch:
7676
default: "false"
7777
- arg:
7878
name: launch_out_of_lane_module
79-
default: "true"
79+
default: "false"
8080
- arg:
8181
name: launch_no_drivable_lane_module
8282
default: "false"
@@ -98,6 +98,11 @@ launch:
9898
# path_sampler
9999
# none
100100

101+
# motion velocity planner modules
102+
- arg:
103+
name: launch_motion_out_of_lane_module
104+
default: "true"
105+
101106
- arg:
102107
name: motion_stop_planner_type
103108
default: obstacle_cruise_planner
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
/**:
2+
ros__parameters:
3+
smooth_velocity_before_planning: true # [-] if true, smooth the velocity profile of the input trajectory before planning
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
/**:
2+
ros__parameters:
3+
out_of_lane: # module to stop or slowdown before overlapping another lane with other objects
4+
mode: ttc # mode used to consider a conflict with an object. "threshold", "intervals", or "ttc"
5+
skip_if_already_overlapping: false # do not run this module when ego already overlaps another lane
6+
ignore_overlaps_over_lane_changeable_lanelets: true # if true, overlaps on lane changeable lanelets are ignored
7+
8+
threshold:
9+
time_threshold: 5.0 # [s] consider objects that will reach an overlap within this time
10+
intervals: # consider objects if their estimated time interval spent on the overlap intersect the estimated time interval of ego
11+
ego_time_buffer: 0.5 # [s] extend the ego time interval by this buffer
12+
objects_time_buffer: 0.5 # [s] extend the time intervals of objects by this buffer
13+
ttc:
14+
threshold: 3.0 # [s] consider objects with an estimated time to collision bellow this value while on the overlap
15+
16+
objects:
17+
minimum_velocity: 0.5 # [m/s] objects lower than this velocity will be ignored
18+
use_predicted_paths: true # if true, use the predicted paths to estimate future positions.
19+
# if false, assume the object moves at constant velocity along *all* lanelets it currently is located in.
20+
predicted_path_min_confidence : 0.1 # when using predicted paths, ignore the ones whose confidence is lower than this value.
21+
distance_buffer: 1.0 # [m] distance buffer used to determine if a collision will occur in the other lane
22+
cut_predicted_paths_beyond_red_lights: true # if true, predicted paths are cut beyond the stop line of red traffic lights
23+
24+
overlap:
25+
minimum_distance: 0.0 # [m] minimum distance inside a lanelet for an overlap to be considered
26+
extra_length: 0.0 # [m] extra arc length to add to the front and back of an overlap (used to calculate enter/exit times)
27+
28+
action: # action to insert in the path if an object causes a conflict at an overlap
29+
skip_if_over_max_decel: true # if true, do not take an action that would cause more deceleration than the maximum allowed
30+
precision: 0.1 # [m] precision when inserting a stop pose in the path
31+
distance_buffer: 1.5 # [m] buffer distance to try to keep between the ego footprint and lane
32+
min_duration: 1.0 # [s] minimum duration needed before a decision can be canceled
33+
slowdown:
34+
distance_threshold: 30.0 # [m] insert a slowdown when closer than this distance from an overlap
35+
velocity: 2.0 # [m/s] slowdown velocity
36+
stop:
37+
distance_threshold: 15.0 # [m] insert a stop when closer than this distance from an overlap
38+
39+
ego:
40+
min_assumed_velocity: 2.0 # [m/s] minimum velocity used to calculate the enter and exit times of ego
41+
extra_front_offset: 0.0 # [m] extra front distance
42+
extra_rear_offset: 0.0 # [m] extra rear distance
43+
extra_right_offset: 0.0 # [m] extra right distance
44+
extra_left_offset: 0.0 # [m] extra left distance

autoware_launch/launch/components/tier4_planning_component.launch.xml

+3
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,9 @@
6969
<arg name="obstacle_stop_planner_param_path" value="$(var motion_config_path)/obstacle_stop_planner/obstacle_stop_planner.param.yaml"/>
7070
<arg name="obstacle_stop_planner_acc_param_path" value="$(var motion_config_path)/obstacle_stop_planner/adaptive_cruise_control.param.yaml"/>
7171
<arg name="obstacle_cruise_planner_param_path" value="$(var motion_config_path)/obstacle_cruise_planner/obstacle_cruise_planner.param.yaml"/>
72+
<arg name="motion_velocity_planner_param_path" value="$(var motion_config_path)/motion_velocity_planner/motion_velocity_planner.param.yaml"/>
73+
<arg name="motion_velocity_planner_out_of_lane_module_param_path" value="$(var motion_config_path)/motion_velocity_planner/out_of_lane.param.yaml"/>
74+
<arg name="motion_velocity_smoother_type_param_path" value="$(find-pkg-share autoware_launch)/config/planning/scenario_planning/common/motion_velocity_smoother/Analytical.param.yaml"/>
7275

7376
<!-- motion velocity smoother -->
7477
<arg name="motion_velocity_smoother_param_path" value="$(var common_config_path)/motion_velocity_smoother/motion_velocity_smoother.param.yaml"/>

autoware_launch/rviz/autoware.rviz

+28
Original file line numberDiff line numberDiff line change
@@ -2128,6 +2128,18 @@ Visualization Manager:
21282128
Reliability Policy: Reliable
21292129
Value: /planning/scenario_planning/motion_velocity_smoother/virtual_wall
21302130
Value: true
2131+
- Class: rviz_default_plugins/MarkerArray
2132+
Enabled: true
2133+
Name: VirtualWall (OutOfLane)
2134+
Namespaces:
2135+
{}
2136+
Topic:
2137+
Depth: 5
2138+
Durability Policy: Volatile
2139+
History Policy: Keep Last
2140+
Reliability Policy: Reliable
2141+
Value: /planning/scenario_planning/lane_driving/motion_planning/motion_velocity_planner/out_of_lane/virtual_walls
2142+
Value: true
21312143
Enabled: true
21322144
Name: VirtualWall
21332145
- Class: rviz_common/Group
@@ -2251,6 +2263,22 @@ Visualization Manager:
22512263
Reliability Policy: Reliable
22522264
Value: /planning/scenario_planning/lane_driving/motion_planning/obstacle_avoidance_planner/debug/marker
22532265
Value: false
2266+
- Class: rviz_common/Group
2267+
Displays:
2268+
- Class: rviz_default_plugins/MarkerArray
2269+
Enabled: true
2270+
Name: OutOfLane
2271+
Namespaces:
2272+
{}
2273+
Topic:
2274+
Depth: 5
2275+
Durability Policy: Volatile
2276+
History Policy: Keep Last
2277+
Reliability Policy: Reliable
2278+
Value: /planning/scenario_planning/lane_driving/motion_planning/motion_velocity_planner/out_of_lane/debug_markers
2279+
Value: true
2280+
Enabled: false
2281+
Name: MotionVelocityPlanner
22542282
Enabled: false
22552283
Name: DebugMarker
22562284
Enabled: true

0 commit comments

Comments
 (0)