-
Notifications
You must be signed in to change notification settings - Fork 448
feat: allow conditionally launch diffusion planner #1752
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
shmpwk
merged 21 commits into
autowarefoundation:main
from
tier4:feat/conditional_e2e_launch
Apr 24, 2026
Merged
Changes from 18 commits
Commits
Show all changes
21 commits
Select commit
Hold shift + click to select a range
e8e5950
feat: allow conditionally launch e2e/dp
Owen-Liuyuxuan 21a409e
rule base default
Owen-Liuyuxuan 9f93071
feat: adding dp rviz markers to other rviz configs
Owen-Liuyuxuan a26c70e
feat: adding dp rviz markers
Owen-Liuyuxuan 168ffb9
Merge branch 'main' into feat/conditional_e2e_launch
Owen-Liuyuxuan 47cfb8f
Merge branch 'main' into feat/conditional_e2e_launch
Owen-Liuyuxuan fc7b851
Merge branch 'main' into feat/conditional_e2e_launch
Owen-Liuyuxuan a322102
feat: update for later developments
Owen-Liuyuxuan f3fd1a6
Add planning factor parameters to diffusion planner
Owen-Liuyuxuan 3696ace
Rename NeuralNetworkPlanner to DiffusionPlanner
Owen-Liuyuxuan e18ab26
Rename PlanningFactor from NeuralNetworkPlanner to DiffusionPlanner
Owen-Liuyuxuan bedf6d4
Rename PlanningFactor from NeuralNetworkPlanner to DiffusionPlanner
Owen-Liuyuxuan 16a707d
Merge branch 'main' into feat/conditional_e2e_launch
Owen-Liuyuxuan c9a5855
Update autoware.rviz
Owen-Liuyuxuan 7063e31
Update planning_bev.rviz
Owen-Liuyuxuan 07f2efc
Update autoware.rviz
Owen-Liuyuxuan 94865c1
Update planning_tpv.rviz
Owen-Liuyuxuan 27907f5
Update scenario_simulator.rviz
Owen-Liuyuxuan 95879a4
feat: move dp as parallel to scenario planner (#1373)
Owen-Liuyuxuan d885e12
feat: align the modifier config with https://github.com/autowarefound…
Owen-Liuyuxuan bd53b83
Merge branch 'main' into feat/conditional_e2e_launch
Owen-Liuyuxuan File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
29 changes: 29 additions & 0 deletions
29
autoware_launch/config/planning/neural_net_planner/diffusion_planner.param.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,29 @@ | ||
| /**: | ||
| ros__parameters: | ||
| plugins_path: $(find-pkg-share autoware_tensorrt_plugins)/plugins/libautoware_tensorrt_plugins.so | ||
| onnx_model_path: $(env HOME)/autoware_data/diffusion_planner/v4.0/diffusion_planner.onnx | ||
| args_path: $(env HOME)/autoware_data/diffusion_planner/v4.0/diffusion_planner.param.json | ||
| planning_frequency_hz: 10.0 | ||
| ignore_neighbors: false | ||
| ignore_unknown_neighbors: true | ||
| traffic_light_group_msg_timeout_seconds: 0.2 | ||
| batch_size: 1 | ||
| temperature: [0.0] | ||
| velocity_smoothing_window: 8 | ||
| stopping_threshold: 0.3 | ||
| turn_indicator_keep_offset: -1.25 | ||
| turn_indicator_hold_duration: 1.0 | ||
| shift_x: false | ||
| delay_step: 0 | ||
| line_string_max_step_m: 5.0 | ||
| use_time_interpolation: false | ||
| planning_factor: | ||
| enable_stop: true | ||
| enable_slowdown: false | ||
| stop_keep_duration_threshold: 1.0 # [s] | ||
| stop_velocity_threshold: 0.1 # [m/s] | ||
| slowdown_accel_threshold: -0.3 # [m/s^2] | ||
| debug_params: | ||
| publish_debug_route: true | ||
| publish_debug_map: false | ||
| publish_debug_linestrings: true |
11 changes: 11 additions & 0 deletions
11
autoware_launch/config/planning/neural_net_planner/trajectory_modifier.param.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| /**: | ||
| ros__parameters: | ||
| use_stop_point_fixer: true | ||
|
|
||
| # Stop Point Fixer Plugin Parameters | ||
| stop_point_fixer: | ||
| force_stop_long_stopped_trajectories: true # Force zero velocity trajectory for trajectories with long stops | ||
| force_stop_close_stopped_trajectories: true # Force zero velocity trajectory for trajectories with stops close to ego | ||
| velocity_threshold_mps: 0.25 | ||
| min_distance_threshold_m: 1.0 | ||
| min_stop_duration_s: 1.0 |
23 changes: 23 additions & 0 deletions
23
autoware_launch/config/planning/neural_net_planner/trajectory_optimizer.param.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,23 @@ | ||
| /**: | ||
| ros__parameters: | ||
| # Plugin execution order - plugins will run in this order | ||
| plugin_names: | ||
| - "autoware::trajectory_optimizer::plugin::TrajectoryPointFixer" | ||
| - "autoware::trajectory_optimizer::plugin::TrajectoryKinematicFeasibilityEnforcer" | ||
| - "autoware::trajectory_optimizer::plugin::TrajectoryQPSmoother" | ||
| - "autoware::trajectory_optimizer::plugin::TrajectoryKinematicFeasibilityEnforcer" | ||
| - "autoware::trajectory_optimizer::plugin::TrajectoryVelocityOptimizer" | ||
| - "autoware::trajectory_optimizer::plugin::TrajectoryEBSmootherOptimizer" | ||
| - "autoware::trajectory_optimizer::plugin::TrajectorySplineSmoother" | ||
| - "autoware::trajectory_optimizer::plugin::TrajectoryMPTOptimizer" | ||
| - "autoware::trajectory_optimizer::plugin::TrajectoryExtender" | ||
|
|
||
| # Plugin activation flags - control runtime enable/disable | ||
| use_akima_spline_interpolation: true | ||
| use_eb_smoother: false | ||
| use_qp_smoother: true | ||
| use_trajectory_point_fixer: true | ||
| use_velocity_optimizer: true | ||
| use_trajectory_extender: false | ||
| use_kinematic_feasibility_enforcer: true | ||
| use_mpt_optimizer: false |
9 changes: 9 additions & 0 deletions
9
...g/planning/neural_net_planner/trajectory_optimizer_plugins/trajectory_extender.param.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| /**: | ||
| ros__parameters: | ||
| trajectory_extender: | ||
| # Trajectory matching thresholds | ||
| nearest_dist_threshold_m: 1.5 # [m] Distance threshold for trajectory matching | ||
| nearest_yaw_threshold_deg: 60.0 # [deg] Yaw threshold for trajectory matching | ||
|
|
||
| # Backward extension | ||
| backward_trajectory_extension_m: 5.0 # [m] Length to extend trajectory backward using ego history |
8 changes: 8 additions & 0 deletions
8
...planner/trajectory_optimizer_plugins/trajectory_kinematic_feasibility_enforcer.param.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| /**: | ||
| ros__parameters: | ||
| # Plugin-specific parameters | ||
| trajectory_kinematic_feasibility: | ||
| # Maximum yaw rate [rad/s]. See kinematic_feasibility_enforcer.md for details | ||
| max_yaw_rate_rad_s: 0.7 | ||
| # Time discretization | ||
| time_step_s: 0.1 # Fixed time step for yaw rate calculations [s] |
91 changes: 91 additions & 0 deletions
91
...nning/neural_net_planner/trajectory_optimizer_plugins/trajectory_mpt_optimizer.param.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,91 @@ | ||
| /**: | ||
| ros__parameters: | ||
| trajectory_mpt_optimizer: | ||
| # Bounds Generation (custom parameters for trajectory_optimizer) | ||
| corridor_width_m: 3.5 | ||
| enable_adaptive_width: true | ||
| curvature_width_factor: 0.5 | ||
| velocity_width_factor: 0.3 | ||
| min_clearance_m: 0.5 | ||
| reset_previous_data_each_iteration: true | ||
| enable_debug_info: false | ||
| output_delta_arc_length_m: 1.0 | ||
| output_backward_traj_length_m: 5.0 | ||
| ego_nearest_dist_threshold_m: 3.0 | ||
| ego_nearest_yaw_threshold_deg: 45.0 | ||
| acceleration_moving_average_window: 5 # Moving average window size (larger = smoother) | ||
|
|
||
| # MPT Algorithm Parameters (required by autoware_path_optimizer MPTOptimizer) | ||
| # NOTE: These are solver parameters passed to the underlying MPT optimizer. | ||
| # Clearance parameters use "road" terminology from the solver, but in this implementation | ||
| # they represent clearance from the generated corridor bounds (simple perpendicular offsets), | ||
| # NOT actual road boundaries or drivable area from maps. | ||
| mpt: | ||
| option: | ||
| steer_limit_constraint: false | ||
| visualize_sampling_num: 1 | ||
| enable_manual_warm_start: false | ||
| enable_warm_start: false | ||
| enable_optimization_validation: false | ||
|
|
||
| common: | ||
| num_points: 100 | ||
| delta_arc_length: 1.0 | ||
|
|
||
| clearance: | ||
| hard_clearance_from_road: 0.0 # Clearance from corridor bounds (not actual road) | ||
| soft_clearance_from_road: 0.1 # Clearance from corridor bounds (not actual road) | ||
|
|
||
| weight: | ||
| soft_collision_free_weight: 1.0 | ||
| lat_error_weight: 1.0 | ||
| yaw_error_weight: 0.0 | ||
| yaw_error_rate_weight: 0.0 | ||
| steer_input_weight: 1.0 | ||
| steer_rate_weight: 1.0 | ||
| terminal_lat_error_weight: 100.0 | ||
| terminal_yaw_error_weight: 100.0 | ||
| goal_lat_error_weight: 1000.0 | ||
| goal_yaw_error_weight: 1000.0 | ||
|
|
||
| avoidance: | ||
| max_bound_fixing_time: 1.0 | ||
| max_longitudinal_margin_for_bound_violation: 1.0 | ||
| max_avoidance_cost: 0.5 | ||
| avoidance_cost_margin: 0.0 | ||
| avoidance_cost_band_length: 5.0 | ||
| avoidance_cost_decrease_rate: 0.05 | ||
| min_drivable_width: 0.2 | ||
|
|
||
| weight: | ||
| lat_error_weight: 0.0 | ||
| yaw_error_weight: 10.0 | ||
| steer_input_weight: 100.0 | ||
|
|
||
| collision_free_constraints: | ||
| # NOTE: Collision avoidance is NOT active in this implementation. | ||
| # These parameters are part of the MPT solver configuration but unused | ||
| # because we don't provide obstacle data - only geometric corridor bounds. | ||
| option: | ||
| l_inf_norm: true | ||
| soft_constraint: true | ||
| hard_constraint: false | ||
|
|
||
| vehicle_circles: | ||
| method: "fitting_uniform_circle" | ||
|
|
||
| bicycle_model: | ||
| num_for_calculation: 3 | ||
| front_radius_ratio: 1.0 | ||
| rear_radius_ratio: 1.0 | ||
|
|
||
| uniform_circle: | ||
| num: 3 | ||
| radius_ratio: 1.0 | ||
|
|
||
| fitting_uniform_circle: | ||
| num: 3 | ||
|
|
||
| validation: | ||
| max_lat_error: 5.0 | ||
| max_yaw_error: 1.046 |
9 changes: 9 additions & 0 deletions
9
...lanning/neural_net_planner/trajectory_optimizer_plugins/trajectory_point_fixer.param.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| /**: | ||
| ros__parameters: | ||
| trajectory_point_fixer: | ||
| # Distance thresholds for point processing | ||
| remove_close_points: true # Enable removal of close proximity points | ||
| resample_close_points: true # Enable resampling of close proximity points | ||
| min_dist_to_remove_m: 0.01 # [m] Minimum distance to remove close proximity points | ||
| min_dist_to_resample_m: 0.05 # [m] Minimum distance to merge close proximity points | ||
| stop_detection_velocity_threshold_mps: 0.3 # [m/s] Velocity threshold for fallback stop detection in slow clusters |
34 changes: 34 additions & 0 deletions
34
...lanning/neural_net_planner/trajectory_optimizer_plugins/trajectory_qp_smoother.param.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,34 @@ | ||
| /**: | ||
| ros__parameters: | ||
| trajectory_qp_smoother: | ||
| # QP Smoother Parameters | ||
| # Path-only optimization: smooths geometric path (x,y positions) | ||
| # Velocity/acceleration are derived from smoothed positions in post-processing | ||
|
|
||
| # Optimization weights | ||
| weight_smoothness: 10.0 # Weight for path curvature minimization | ||
| weight_fidelity: 1.0 # Baseline fidelity (used when velocity-based disabled) | ||
|
|
||
| # Time discretization | ||
| time_step_s: 0.1 # Fixed time step for velocity/acceleration calculations [s] | ||
|
|
||
| # OSQP solver settings (tuned for real-time performance) | ||
| osqp_eps_abs: 1.0e-4 # Absolute tolerance for convergence | ||
| osqp_eps_rel: 1.0e-4 # Relative tolerance for convergence | ||
| osqp_max_iter: 100 # Maximum solver iterations | ||
| osqp_verbose: false # Print solver output to console | ||
|
|
||
| # Orientation preservation | ||
| preserve_input_trajectory_orientation: false # Copy orientations from input trajectory to smoothed output | ||
| max_distance_for_orientation_m: 5.0 # Max distance for nearest neighbor matching when copying orientations [m] | ||
|
|
||
| # Velocity-based fidelity weighting | ||
| use_velocity_based_fidelity: true # Enable velocity-dependent fidelity (low weight at slow speeds) | ||
| velocity_threshold_mps: 0.3 # Speed at which sigmoid transitions (midpoint) [m/s] | ||
| sigmoid_sharpness: 50.0 # Sigmoid steepness (higher = sharper transition) | ||
| min_fidelity_weight: 0.01 # Minimum fidelity at very low speeds | ||
| max_fidelity_weight: 1.0 # Maximum fidelity at high speeds | ||
|
|
||
| # Point constraints | ||
| num_constrained_points_start: 3 # Number of points from start to constrain (preserves initial state) | ||
| num_constrained_points_end: 0 # Number of points from end to constrain |
7 changes: 7 additions & 0 deletions
7
...ing/neural_net_planner/trajectory_optimizer_plugins/trajectory_spline_smoother.param.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,7 @@ | ||
| /**: | ||
| ros__parameters: | ||
| trajectory_spline_smoother: | ||
| # Spline interpolation | ||
| interpolation_resolution_m: 0.2 # [m] Interpolation resolution for Akima spline | ||
| max_distance_discrepancy_m: 5.0 # [m] Maximum position deviation allowed for orientation copying | ||
| preserve_input_trajectory_orientation: false # Flag to indicate if orientation from original trajectory should be copied |
35 changes: 35 additions & 0 deletions
35
.../neural_net_planner/trajectory_optimizer_plugins/trajectory_velocity_optimizer.param.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,35 @@ | ||
| /**: | ||
| ros__parameters: | ||
| trajectory_velocity_optimizer: | ||
| # Trajectory matching thresholds | ||
| nearest_dist_threshold_m: 1.5 # [m] Distance threshold for trajectory matching | ||
| nearest_yaw_threshold_deg: 60.0 # [deg] Yaw threshold for trajectory matching | ||
|
|
||
| # Engage behavior | ||
| target_pull_out_speed_mps: 1.0 # [m/s] Target speed during pull-out maneuver | ||
| target_pull_out_acc_mps2: 1.0 # [m/s²] Target acceleration during pull-out | ||
| set_engage_speed: false # Set minimum speed during engage | ||
|
|
||
| # Speed limiting (uses external_velocity_limit topic to set max speed) | ||
| limit_speed: true # Enable speed limiting | ||
|
|
||
| # Lateral acceleration limiting | ||
| max_lateral_accel_mps2: 2.0 # [m/s²] Maximum lateral acceleration | ||
| limit_lateral_acceleration: false # Enable lateral acceleration limiting, should be launched with velocity smoother | ||
| min_limited_speed_mps: 3.0 # [m/s] Minimum speed when applying lateral acceleration limit | ||
|
|
||
| # Velocity smoothing | ||
| smooth_velocities: false # Enable jerk-filtered velocity smoothing | ||
|
|
||
| # Continuous jerk smoother settings | ||
| # Note: Kinematic limits (max_accel, min_decel, max_jerk, min_jerk) are loaded | ||
| # from the common namespace (limit.max_acc, limit.min_acc, limit.max_jerk, limit.min_jerk) | ||
| # Note: max_velocity uses max_speed_mps from parent namespace | ||
| continuous_jerk_smoother: | ||
| # QP optimization weights | ||
| jerk_weight: 30.0 # Weight for jerk minimization (smoothness) | ||
| over_v_weight: 3000.0 # Weight for velocity limit violation (slack) | ||
| over_a_weight: 30.0 # Weight for acceleration limit violation (slack) | ||
| over_j_weight: 10.0 # Weight for jerk limit violation (slack) | ||
| velocity_tracking_weight: 1.0 # Weight for tracking reference velocity from input trajectory | ||
| accel_tracking_weight: 300.0 # Weight for tracking reference acceleration from input trajectory |
15 changes: 15 additions & 0 deletions
15
autoware_launch/config/system/diagnostics/autoware-main-e2e.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,15 @@ | ||
| files: | ||
| - { path: $(dirname)/autoware-main.yaml } | ||
|
|
||
| edits: | ||
| - { type: remove, path: /autoware/planning/trajectory_validation/finite } | ||
| - { type: remove, path: /autoware/planning/trajectory_validation/interval } | ||
| - { type: remove, path: /autoware/planning/trajectory_validation/curvature } | ||
| - { type: remove, path: /autoware/planning/trajectory_validation/angle } | ||
| - { type: remove, path: /autoware/planning/trajectory_validation/lateral_acceleration } | ||
| - { type: remove, path: /autoware/planning/trajectory_validation/acceleration } | ||
| - { type: remove, path: /autoware/planning/trajectory_validation/deceleration } | ||
| - { type: remove, path: /autoware/planning/trajectory_validation/steering } | ||
| - { type: remove, path: /autoware/planning/trajectory_validation/steering_rate } | ||
| - { type: remove, path: /autoware/planning/trajectory_validation/velocity_deviation } | ||
| - { type: remove, path: /autoware/planning/trajectory_validation/trajectory_shift } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.