|
| 1 | +/**: |
| 2 | + ros__parameters: |
| 3 | + # -- system -- |
| 4 | + traj_resample_dist: 0.1 # path resampling interval [m] |
| 5 | + use_steer_prediction: false # flag for using steer prediction (do not use steer measurement) |
| 6 | + admissible_position_error: 5.0 # stop mpc calculation when error is larger than the following value |
| 7 | + admissible_yaw_error_rad: 1.57 # stop mpc calculation when error is larger than the following value |
| 8 | + |
| 9 | + # -- path smoothing -- |
| 10 | + enable_path_smoothing: true # flag for path smoothing |
| 11 | + path_filter_moving_ave_num: 25 # param of moving average filter for path smoothing |
| 12 | + curvature_smoothing_num_traj: 15 # point-to-point index distance used in curvature calculation (for trajectory): curvature is calculated from three points p(i-num), p(i), p(i+num) |
| 13 | + curvature_smoothing_num_ref_steer: 15 # point-to-point index distance used in curvature calculation (for steer command reference): curvature is calculated from three points p(i-num), p(i), p(i+num) |
| 14 | + |
| 15 | + # -- trajectory extending -- |
| 16 | + extend_trajectory_for_end_yaw_control: true # flag of trajectory extending for terminal yaw control |
| 17 | + |
| 18 | + # -- mpc optimization -- |
| 19 | + qp_solver_type: "osqp" # optimization solver option (unconstraint_fast or osqp) |
| 20 | + mpc_prediction_horizon: 50 # prediction horizon step |
| 21 | + mpc_prediction_dt: 0.1 # prediction horizon period [s] |
| 22 | + mpc_weight_lat_error: 0.2 # lateral error weight in matrix Q |
| 23 | + mpc_weight_heading_error: 0.0 # heading error weight in matrix Q |
| 24 | + mpc_weight_heading_error_squared_vel: 0.03 # heading error * velocity weight in matrix Q |
| 25 | + mpc_weight_steering_input: 1.0 # steering error weight in matrix R |
| 26 | + mpc_weight_steering_input_squared_vel: 1.00 # steering error * velocity weight in matrix R |
| 27 | + mpc_weight_lat_jerk: 0.0 # lateral jerk weight in matrix R |
| 28 | + mpc_weight_steer_rate: 0.0 # steering rate weight in matrix R |
| 29 | + mpc_weight_steer_acc: 0.000001 # steering angular acceleration weight in matrix R |
| 30 | + mpc_low_curvature_weight_lat_error: 0.05 # lateral error weight in matrix Q in low curvature point |
| 31 | + mpc_low_curvature_weight_heading_error: 0.0 # heading error weight in matrix Q in low curvature point |
| 32 | + mpc_low_curvature_weight_heading_error_squared_vel: 0.03 # heading error * velocity weight in matrix Q in low curvature point |
| 33 | + mpc_low_curvature_weight_steering_input: 1.0 # steering error weight in matrix R in low curvature point |
| 34 | + mpc_low_curvature_weight_steering_input_squared_vel: 2.00 # steering error * velocity weight in matrix R in low curvature point |
| 35 | + mpc_low_curvature_weight_lat_jerk: 0.0 # lateral jerk weight in matrix R in low curvature point |
| 36 | + mpc_low_curvature_weight_steer_rate: 0.0 # steering rate weight in matrix R in low curvature point |
| 37 | + mpc_low_curvature_weight_steer_acc: 0.000001 # steering angular acceleration weight in matrix R in low curvature point |
| 38 | + mpc_low_curvature_thresh_curvature: 0.03 # threshold of curvature to use "low_curvature" parameter (recommend: 0.01~0.03) |
| 39 | + mpc_weight_terminal_lat_error: 1.0 # terminal lateral error weight in matrix Q to improve mpc stability |
| 40 | + mpc_weight_terminal_heading_error: 0.1 # terminal heading error weight in matrix Q to improve mpc stability |
| 41 | + mpc_zero_ff_steer_deg: 0.5 # threshold that feed-forward angle becomes zero |
| 42 | + mpc_acceleration_limit: 2.0 # limit on the vehicle's acceleration |
| 43 | + mpc_velocity_time_constant: 0.3 # time constant used for velocity smoothing |
| 44 | + mpc_min_prediction_length: 5.0 # minimum prediction length |
| 45 | + |
| 46 | + # -- vehicle model -- |
| 47 | + vehicle_model_type: "kinematics" # vehicle model type for mpc prediction. option is kinematics, kinematics_no_delay, and dynamics |
| 48 | + input_delay: 0.1 # steering input delay time for delay compensation |
| 49 | + vehicle_model_steer_tau: 0.1 # steering dynamics time constant (1d approximation) [s] |
| 50 | + steer_rate_lim_dps_list_by_curvature: [20.0, 20.0, 20.0] # steering angle rate limit list depending on curvature [deg/s] |
| 51 | + curvature_list_for_steer_rate_lim: [0.001, 0.002, 0.01] # curvature list for steering angle rate limit interpolation in ascending order [/m] |
| 52 | + steer_rate_lim_dps_list_by_velocity: [18.0, 18.0, 15.0, 12.0, 5.0, 2.25, 1.5 , 1.5 , 1.5] # steering angle rate limit list depending on velocity [deg/s] [72, 72, 36, 18, 9, 3.6, 3.6] |
| 53 | + velocity_list_for_steer_rate_lim: [0.0, 1.388, 2.778, 4.167, 5.556, 6.944, 8.333, 9.722, 11.11] # velocity list for steering angle rate limit interpolation in ascending order [m/s] |
| 54 | + acceleration_limit: 1.0 # acceleration limit for trajectory velocity modification [m/ss] |
| 55 | + velocity_time_constant: 0.3 # velocity dynamics time constant for trajectory velocity modification [s] |
| 56 | + |
| 57 | + # -- lowpass filter for noise reduction -- |
| 58 | + steering_lpf_cutoff_hz: 10.0 # cutoff frequency of lowpass filter for steering command [Hz] |
| 59 | + error_deriv_lpf_cutoff_hz: 5.0 |
| 60 | + |
| 61 | + # stop state: steering command is kept in the previous value in the stop state. |
| 62 | + stop_state_entry_ego_speed: 0.2 |
| 63 | + stop_state_entry_target_speed: 0.2 |
| 64 | + converged_steer_rad: 0.1 |
| 65 | + keep_steer_control_until_converged: true |
| 66 | + new_traj_duration_time: 1.0 |
| 67 | + new_traj_end_dist: 0.3 |
| 68 | + mpc_converged_threshold_rps: 0.01 # threshold of mpc convergence check [rad/s] |
| 69 | + |
| 70 | + # steer offset |
| 71 | + steering_offset: |
| 72 | + enable_auto_steering_offset_removal: true |
| 73 | + update_vel_threshold: 5.56 |
| 74 | + update_steer_threshold: 0.035 |
| 75 | + average_num: 1000 |
| 76 | + steering_offset_limit: 0.02 |
0 commit comments