diff --git a/planning/autoware_velocity_smoother/README.ja.md b/planning/autoware_velocity_smoother/README.ja.md index 152945e8bc1ce..53f0a4735a8b9 100644 --- a/planning/autoware_velocity_smoother/README.ja.md +++ b/planning/autoware_velocity_smoother/README.ja.md @@ -118,7 +118,6 @@ {{json_to_markdown("planning/autoware_velocity_smoother/schema/Linf.schema.json")}} - ### Constraint parameters | Name | Type | Description | Default value | diff --git a/planning/autoware_velocity_smoother/README.md b/planning/autoware_velocity_smoother/README.md index c9f6617eaf7da..1d355839ef117 100644 --- a/planning/autoware_velocity_smoother/README.md +++ b/planning/autoware_velocity_smoother/README.md @@ -131,7 +131,6 @@ After the optimization, a resampling called `post resampling` is performed befor {{json_to_markdown("planning/autoware_velocity_smoother/schema/Linf.schema.json")}} - ### Constraint parameters | Name | Type | Description | Default value | diff --git a/planning/autoware_velocity_smoother/config/default_nearest_search.param.yaml b/planning/autoware_velocity_smoother/config/default_nearest_search.param.yaml index c6c6e6e74013d..9a5aa0cd30a5c 100644 --- a/planning/autoware_velocity_smoother/config/default_nearest_search.param.yaml +++ b/planning/autoware_velocity_smoother/config/default_nearest_search.param.yaml @@ -1,4 +1,4 @@ /**: - ros__parameters: + ros__parameters: ego_nearest_dist_threshold: 0.3 # threshold to find the nearest point on the trajectory [m] - ego_nearest_yaw_threshold: 1.046 # threshold to find the nearest point on the trajectory [rad] \ No newline at end of file + ego_nearest_yaw_threshold: 1.046 # threshold to find the nearest point on the trajectory [rad] diff --git a/planning/autoware_velocity_smoother/schema/Analytical.schema.json b/planning/autoware_velocity_smoother/schema/Analytical.schema.json index c79316d4f783c..59e8d00157e57 100644 --- a/planning/autoware_velocity_smoother/schema/Analytical.schema.json +++ b/planning/autoware_velocity_smoother/schema/Analytical.schema.json @@ -1,140 +1,146 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Parameters for analytical", - "type": "object", - "definitions": { - "analytical_params": { - "type": "object", - "properties": { - "resample": { - "type": "object", - "properties": { - "ds_resample": { - "type": "number", - "default": 0.1, - "description": "Enable resampling" - }, - "num_resample": { - "type": "number", - "default": 1, - "description": "Resample interval" - }, - "delta_yaw_threshold": { - "type": "number", - "default": 0.785, - "description": "Threshold for yaw change" - } + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Parameters for analytical", + "type": "object", + "definitions": { + "analytical_params": { + "type": "object", + "properties": { + "resample": { + "type": "object", + "properties": { + "ds_resample": { + "type": "number", + "default": 0.1, + "description": "Enable resampling" }, - "required": ["ds_resample", "num_resample", "delta_yaw_threshold"], - "additionalProperties": false - }, - "latacc": { - "type": "object", - "properties": { - "enable_constant_velocity_while_turning": { - "type": "boolean", - "default": false, - "description": "Enable constant velocity while turning" - }, - "constant_velocity_dist_threshold": { - "type": "number", - "default": 2.0, - "description": "Threshold for constant velocity" - } + "num_resample": { + "type": "number", + "default": 1, + "description": "Resample interval" }, - "required": [ - "enable_constant_velocity_while_turning", - "constant_velocity_dist_threshold" - ], - "additionalProperties": false + "delta_yaw_threshold": { + "type": "number", + "default": 0.785, + "description": "Threshold for yaw change" + } }, - "forward": { - "type": "object", - "properties": { - "max_acc": { - "type": "number", - "default": 1.0, - "description": "Maximum forward acceleration" - }, - "min_acc": { - "type": "number", - "default": -1.0, - "description": "Minimum forward acceleration" - }, - "max_jerk": { - "type": "number", - "default": 0.3, - "description": "Maximum forward jerk" - }, - "min_jerk": { - "type": "number", - "default": -0.3, - "description": "Minimum forward jerk" - }, - "kp": { - "type": "number", - "default": 0.3, - "description": "Proportional gain for forward control" - } + "required": ["ds_resample", "num_resample", "delta_yaw_threshold"], + "additionalProperties": false + }, + "latacc": { + "type": "object", + "properties": { + "enable_constant_velocity_while_turning": { + "type": "boolean", + "default": false, + "description": "Enable constant velocity while turning" }, - "required": ["max_acc", "min_acc", "max_jerk", "min_jerk", "kp"], - "additionalProperties": false + "constant_velocity_dist_threshold": { + "type": "number", + "default": 2.0, + "description": "Threshold for constant velocity" + } }, - "backward": { - "type": "object", - "properties": { - "start_jerk": { - "type": "number", - "default": -0.1, - "description": "Jerk at the start of backward motion" - }, - "min_jerk_mild_stop": { - "type": "number", - "default": -0.3, - "description": "Minimum jerk for mild stopping" - }, - "min_jerk": { - "type": "number", - "default": -1.5, - "description": "Minimum backward jerk" - }, - "min_acc_mild_stop": { - "type": "number", - "default": -1.0, - "description": "Minimum acceleration for mild stopping" - }, - "min_acc": { - "type": "number", - "default": -2.5, - "description": "Minimum backward acceleration" - }, - "span_jerk": { - "type": "number", - "default": -0.01, - "description": "Span jerk value for backward motion" - } - }, - "required": ["start_jerk", "min_jerk_mild_stop", "min_jerk", "min_acc_mild_stop", "min_acc", "span_jerk"], - "additionalProperties": false - } + "required": [ + "enable_constant_velocity_while_turning", + "constant_velocity_dist_threshold" + ], + "additionalProperties": false }, - "required": ["resample", "latacc", "forward", "backward"], - "additionalProperties": false - } - }, - "properties": { - "/**": { - "type": "object", - "properties": { - "ros__parameters": { - "$ref": "#/definitions/analytical_params" - } + "forward": { + "type": "object", + "properties": { + "max_acc": { + "type": "number", + "default": 1.0, + "description": "Maximum forward acceleration" + }, + "min_acc": { + "type": "number", + "default": -1.0, + "description": "Minimum forward acceleration" + }, + "max_jerk": { + "type": "number", + "default": 0.3, + "description": "Maximum forward jerk" + }, + "min_jerk": { + "type": "number", + "default": -0.3, + "description": "Minimum forward jerk" + }, + "kp": { + "type": "number", + "default": 0.3, + "description": "Proportional gain for forward control" + } + }, + "required": ["max_acc", "min_acc", "max_jerk", "min_jerk", "kp"], + "additionalProperties": false }, - "required": ["ros__parameters"], - "additionalProperties": false - } - }, - "required": ["/**"], - "additionalProperties": false - } - \ No newline at end of file + "backward": { + "type": "object", + "properties": { + "start_jerk": { + "type": "number", + "default": -0.1, + "description": "Jerk at the start of backward motion" + }, + "min_jerk_mild_stop": { + "type": "number", + "default": -0.3, + "description": "Minimum jerk for mild stopping" + }, + "min_jerk": { + "type": "number", + "default": -1.5, + "description": "Minimum backward jerk" + }, + "min_acc_mild_stop": { + "type": "number", + "default": -1.0, + "description": "Minimum acceleration for mild stopping" + }, + "min_acc": { + "type": "number", + "default": -2.5, + "description": "Minimum backward acceleration" + }, + "span_jerk": { + "type": "number", + "default": -0.01, + "description": "Span jerk value for backward motion" + } + }, + "required": [ + "start_jerk", + "min_jerk_mild_stop", + "min_jerk", + "min_acc_mild_stop", + "min_acc", + "span_jerk" + ], + "additionalProperties": false + } + }, + "required": ["resample", "latacc", "forward", "backward"], + "additionalProperties": false + } + }, + "properties": { + "/**": { + "type": "object", + "properties": { + "ros__parameters": { + "$ref": "#/definitions/analytical_params" + } + }, + "required": ["ros__parameters"], + "additionalProperties": false + } + }, + "required": ["/**"], + "additionalProperties": false +} diff --git a/planning/autoware_velocity_smoother/schema/JerkFiltered.schema.json b/planning/autoware_velocity_smoother/schema/JerkFiltered.schema.json index 70ac3f758e862..f9f765f3d1dc5 100644 --- a/planning/autoware_velocity_smoother/schema/JerkFiltered.schema.json +++ b/planning/autoware_velocity_smoother/schema/JerkFiltered.schema.json @@ -1,59 +1,58 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Parameters for JerkFiltered", - "type": "object", - "definitions": { - "jerk_filtered_params": { - "type": "object", - "properties": { - "jerk_weight": { - "type": "number", - "default": 10.0, - "description": "Weight for 'smoothness' cost for jerk" - }, - "over_v_weight": { - "type": "number", - "default": 100000.0, - "description": "Weight for 'over speed limit' cost" - }, - "over_a_weight": { - "type": "number", - "default": 5000.0, - "description": "Weight for 'over accel limit' cost" - }, - "over_j_weight": { - "type": "number", - "default": 2000.0, - "description": "Weight for 'over jerk limit' cost" - }, - "jerk_filter_ds": { - "type": "number", - "default": 0.1, - "description": "Resampling ds for jerk filter" - } + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Parameters for JerkFiltered", + "type": "object", + "definitions": { + "jerk_filtered_params": { + "type": "object", + "properties": { + "jerk_weight": { + "type": "number", + "default": 10.0, + "description": "Weight for 'smoothness' cost for jerk" }, - "required": [ - "jerk_weight", - "over_v_weight", - "over_a_weight", - "over_j_weight", - "jerk_filter_ds" - ] - } - }, - "properties": { - "/**": { - "type": "object", - "properties": { - "ros__parameters": { - "$ref": "#/definitions/jerk_filtered_params" - } + "over_v_weight": { + "type": "number", + "default": 100000.0, + "description": "Weight for 'over speed limit' cost" }, - "required": ["ros__parameters"], - "additionalProperties": false - } - }, - "required": ["/**"], - "additionalProperties": false - } - \ No newline at end of file + "over_a_weight": { + "type": "number", + "default": 5000.0, + "description": "Weight for 'over accel limit' cost" + }, + "over_j_weight": { + "type": "number", + "default": 2000.0, + "description": "Weight for 'over jerk limit' cost" + }, + "jerk_filter_ds": { + "type": "number", + "default": 0.1, + "description": "Resampling ds for jerk filter" + } + }, + "required": [ + "jerk_weight", + "over_v_weight", + "over_a_weight", + "over_j_weight", + "jerk_filter_ds" + ] + } + }, + "properties": { + "/**": { + "type": "object", + "properties": { + "ros__parameters": { + "$ref": "#/definitions/jerk_filtered_params" + } + }, + "required": ["ros__parameters"], + "additionalProperties": false + } + }, + "required": ["/**"], + "additionalProperties": false +} diff --git a/planning/autoware_velocity_smoother/schema/L2.schema.json b/planning/autoware_velocity_smoother/schema/L2.schema.json index 9f692f1ecf49c..346dc5c368834 100644 --- a/planning/autoware_velocity_smoother/schema/L2.schema.json +++ b/planning/autoware_velocity_smoother/schema/L2.schema.json @@ -1,45 +1,40 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Parameters for L2", - "type": "object", - "definitions": { - "l2_params": { - "type": "object", - "properties": { - "pseudo_jerk_weight": { - "type": "number", - "default": 100.0, - "description": "Weight for 'smoothness' cost" - }, - "over_v_weight": { - "type": "number", - "default": 100000.0, - "description": "Weight for 'over speed limit' cost" - }, - "over_a_weight": { - "type": "number", - "default": 1000.0, - "description": "Weight for 'over accel limit' cost" - } + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Parameters for L2", + "type": "object", + "definitions": { + "l2_params": { + "type": "object", + "properties": { + "pseudo_jerk_weight": { + "type": "number", + "default": 100.0, + "description": "Weight for 'smoothness' cost" }, - "required": [ - "pseudo_jerk_weight", - "over_v_weight", - "over_a_weight" - ] - } - }, - "properties": { - "/**": { - "type": "object", - "properties": { - "ros__parameters": { - "$ref": "#/definitions/l2_params" - } + "over_v_weight": { + "type": "number", + "default": 100000.0, + "description": "Weight for 'over speed limit' cost" }, - "required": ["ros__parameters"] - } - }, - "required": ["/**"] - } - \ No newline at end of file + "over_a_weight": { + "type": "number", + "default": 1000.0, + "description": "Weight for 'over accel limit' cost" + } + }, + "required": ["pseudo_jerk_weight", "over_v_weight", "over_a_weight"] + } + }, + "properties": { + "/**": { + "type": "object", + "properties": { + "ros__parameters": { + "$ref": "#/definitions/l2_params" + } + }, + "required": ["ros__parameters"] + } + }, + "required": ["/**"] +} diff --git a/planning/autoware_velocity_smoother/schema/Linf.schema.json b/planning/autoware_velocity_smoother/schema/Linf.schema.json index 0e65d6e459c72..62e642e1cd2e3 100644 --- a/planning/autoware_velocity_smoother/schema/Linf.schema.json +++ b/planning/autoware_velocity_smoother/schema/Linf.schema.json @@ -1,45 +1,40 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Parameters for Linf", - "type": "object", - "definitions": { - "linf_params": { - "type": "object", - "properties": { - "pseudo_jerk_weight": { - "type": "number", - "default": 200.0, - "description": "Weight for 'smoothness' cost" - }, - "over_v_weight": { - "type": "number", - "default": 100000.0, - "description": "Weight for 'over speed limit' cost" - }, - "over_a_weight": { - "type": "number", - "default": 5000.0, - "description": "Weight for 'over accel limit' cost" - } + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Parameters for Linf", + "type": "object", + "definitions": { + "linf_params": { + "type": "object", + "properties": { + "pseudo_jerk_weight": { + "type": "number", + "default": 200.0, + "description": "Weight for 'smoothness' cost" }, - "required": [ - "pseudo_jerk_weight", - "over_v_weight", - "over_a_weight" - ] - } - }, - "properties": { - "/**": { - "type": "object", - "properties": { - "ros__parameters": { - "$ref": "#/definitions/linf_params" - } + "over_v_weight": { + "type": "number", + "default": 100000.0, + "description": "Weight for 'over speed limit' cost" }, - "required": ["ros__parameters"] - } - }, - "required": ["/**"] - } - \ No newline at end of file + "over_a_weight": { + "type": "number", + "default": 5000.0, + "description": "Weight for 'over accel limit' cost" + } + }, + "required": ["pseudo_jerk_weight", "over_v_weight", "over_a_weight"] + } + }, + "properties": { + "/**": { + "type": "object", + "properties": { + "ros__parameters": { + "$ref": "#/definitions/linf_params" + } + }, + "required": ["ros__parameters"] + } + }, + "required": ["/**"] +} diff --git a/planning/autoware_velocity_smoother/schema/default_common.schema.json b/planning/autoware_velocity_smoother/schema/default_common.schema.json index 040a516a4c5d1..2964a1e0189ce 100644 --- a/planning/autoware_velocity_smoother/schema/default_common.schema.json +++ b/planning/autoware_velocity_smoother/schema/default_common.schema.json @@ -1,88 +1,87 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Parameters for default_common", - "type": "object", - "definitions": { - "default_common_params": { - "type": "object", - "properties": { - "max_vel": { - "type": "number", - "default": 11.1, - "description": "Max velocity limit [m/s]" - }, - "normal": { - "type": "object", - "properties": { - "min_acc": { - "type": "number", - "default": -0.5, - "description": "Min deceleration [m/ss]" - }, - "max_acc": { - "type": "number", - "default": 1.0, - "description": "Max acceleration [m/ss]" - }, - "min_jerk": { - "type": "number", - "default": -0.5, - "description": "Min jerk [m/sss]" - }, - "max_jerk": { - "type": "number", - "default": 1.0, - "description": "Max jerk [m/sss]" - } + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Parameters for default_common", + "type": "object", + "definitions": { + "default_common_params": { + "type": "object", + "properties": { + "max_vel": { + "type": "number", + "default": 11.1, + "description": "Max velocity limit [m/s]" + }, + "normal": { + "type": "object", + "properties": { + "min_acc": { + "type": "number", + "default": -0.5, + "description": "Min deceleration [m/ss]" }, - "required": ["min_acc", "max_acc", "min_jerk", "max_jerk"], - "additionalProperties": false - }, - "limit": { - "type": "object", - "properties": { - "min_acc": { - "type": "number", - "default": -2.5, - "description": "Min deceleration limit [m/ss]" - }, - "max_acc": { - "type": "number", - "default": 1.0, - "description": "Max acceleration limit [m/ss]" - }, - "min_jerk": { - "type": "number", - "default": -1.5, - "description": "Min jerk limit [m/sss]" - }, - "max_jerk": { - "type": "number", - "default": 1.5, - "description": "Max jerk limit [m/sss]" - } + "max_acc": { + "type": "number", + "default": 1.0, + "description": "Max acceleration [m/ss]" }, - "required": ["min_acc", "max_acc", "min_jerk", "max_jerk"], - "additionalProperties": false - } - }, - "required": ["max_vel", "normal", "limit"], - "additionalProperties": false - } - }, - "properties": { - "/**": { - "type": "object", - "properties": { - "ros__parameters": { - "$ref": "#/definitions/default_common_params" - } + "min_jerk": { + "type": "number", + "default": -0.5, + "description": "Min jerk [m/sss]" + }, + "max_jerk": { + "type": "number", + "default": 1.0, + "description": "Max jerk [m/sss]" + } + }, + "required": ["min_acc", "max_acc", "min_jerk", "max_jerk"], + "additionalProperties": false }, - "required": ["ros__parameters"], - "additionalProperties": false - } - }, - "required": ["/**"], - "additionalProperties": false - } - \ No newline at end of file + "limit": { + "type": "object", + "properties": { + "min_acc": { + "type": "number", + "default": -2.5, + "description": "Min deceleration limit [m/ss]" + }, + "max_acc": { + "type": "number", + "default": 1.0, + "description": "Max acceleration limit [m/ss]" + }, + "min_jerk": { + "type": "number", + "default": -1.5, + "description": "Min jerk limit [m/sss]" + }, + "max_jerk": { + "type": "number", + "default": 1.5, + "description": "Max jerk limit [m/sss]" + } + }, + "required": ["min_acc", "max_acc", "min_jerk", "max_jerk"], + "additionalProperties": false + } + }, + "required": ["max_vel", "normal", "limit"], + "additionalProperties": false + } + }, + "properties": { + "/**": { + "type": "object", + "properties": { + "ros__parameters": { + "$ref": "#/definitions/default_common_params" + } + }, + "required": ["ros__parameters"], + "additionalProperties": false + } + }, + "required": ["/**"], + "additionalProperties": false +} diff --git a/planning/autoware_velocity_smoother/schema/default_nearest_search.schema.json b/planning/autoware_velocity_smoother/schema/default_nearest_search.schema.json index 815ca75ff2984..c723351bae6f5 100644 --- a/planning/autoware_velocity_smoother/schema/default_nearest_search.schema.json +++ b/planning/autoware_velocity_smoother/schema/default_nearest_search.schema.json @@ -1,38 +1,35 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Parameters for default_nearest_search_params", - "type": "object", - "definitions": { - "default_nearest_search_params": { - "type": "object", - "properties": { - "ego_nearest_dist_threshold": { - "type": "number", - "default": 0.3, - "description": "Threshold to find the nearest point on the trajectory [m]" - }, - "ego_nearest_yaw_threshold": { - "type": "number", - "default": 1.046, - "description": "Threshold to find the nearest point on the trajectory [rad]" - } + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Parameters for default_nearest_search_params", + "type": "object", + "definitions": { + "default_nearest_search_params": { + "type": "object", + "properties": { + "ego_nearest_dist_threshold": { + "type": "number", + "default": 0.3, + "description": "Threshold to find the nearest point on the trajectory [m]" }, - "required": [ - "ego_nearest_dist_threshold", - "ego_nearest_yaw_threshold" - ] + "ego_nearest_yaw_threshold": { + "type": "number", + "default": 1.046, + "description": "Threshold to find the nearest point on the trajectory [rad]" + } + }, + "required": ["ego_nearest_dist_threshold", "ego_nearest_yaw_threshold"] } -}, -"properties": { - "/**": { - "type": "object", - "properties": { - "ros__parameters": { - "$ref": "#/definitions/default_nearest_search_params" - } - }, - "required": ["ros__parameters"] - } -}, -"required": ["/**"] -} \ No newline at end of file + }, + "properties": { + "/**": { + "type": "object", + "properties": { + "ros__parameters": { + "$ref": "#/definitions/default_nearest_search_params" + } + }, + "required": ["ros__parameters"] + } + }, + "required": ["/**"] +} diff --git a/planning/autoware_velocity_smoother/schema/default_velocity_smoother.schema.json b/planning/autoware_velocity_smoother/schema/default_velocity_smoother.schema.json index 77ccb69d3d62e..cd3983be4ec64 100644 --- a/planning/autoware_velocity_smoother/schema/default_velocity_smoother.schema.json +++ b/planning/autoware_velocity_smoother/schema/default_velocity_smoother.schema.json @@ -1,282 +1,281 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Parameters for default_velocity_smoother", - "type": "object", - "definitions": { - "velocity_smoother_params": { - "type": "object", - "properties": { - "max_velocity": { - "type": "number", - "default": 20.0, - "description": "Max velocity limit [m/s]" - }, - "stop_decel": { - "type": "number", - "default": 0.0, - "description": "Deceleration at a stop point [m/ss]" - }, - "margin_to_insert_external_velocity_limit": { - "type": "number", - "default": 0.3, - "description": "Margin distance to insert external velocity limit [m]" - }, - "curvature_calculation_distance": { - "type": "number", - "default": 5.0, - "description": "Distance of points while curvature is calculating for the steer rate and lateral acceleration limit [m]" - }, - "algorithm_type": { - "type": "string", - "enum": ["JerkFiltered", "L2", "Linf", "Analytical"], - "default": "JerkFiltered", - "description": "Algorithm type for velocity smoother." - }, - "enable_lateral_acc_limit": { - "type": "boolean", - "default": true, - "description": "To toggle the lateral acc filter on and off." - }, - "max_lateral_accel": { - "type": "number", - "default": 0.8, - "description": "Max lateral acceleration limit [m/ss]" - }, - "min_curve_velocity": { - "type": "number", - "default": 2.74, - "description": "Min velocity at lateral acceleration limit and steering angle rate limit [m/s]" - }, - "decel_distance_before_curve": { - "type": "number", - "default": 3.5, - "description": "Slow speed distance before a curve for lateral acceleration limit [m]" - }, - "decel_distance_after_curve": { - "type": "number", - "default": 2.0, - "description": "Slow speed distance after a curve for lateral acceleration limit [m]" - }, - "min_decel_for_lateral_acc_lim_filter": { - "type": "number", - "default": -2.5, - "description": "Deceleration limit applied in the lateral acceleration filter to avoid sudden braking [m/ss]" - }, - "enable_steering_rate_limit": { - "type": "boolean", - "default": true, - "description": "To toggle the steer rate filter on and off." - }, - "max_steering_angle_rate": { - "type": "number", - "default": 40.0, - "description": "Maximum steering angle rate [degree/s]" - }, - "resample_ds": { - "type": "number", - "default": 0.1, - "description": "Distance between trajectory points [m]" - }, - "curvature_threshold": { - "type": "number", - "default": 0.02, - "description": "If curvature > curvature_threshold, steeringRateLimit is triggered [1/m]" - }, - "replan_vel_deviation": { - "type": "number", - "default": 5.53, - "description": "Velocity deviation to replan initial velocity [m/s]" - }, - "engage_velocity": { - "type": "number", - "default": 0.25, - "description": "Engage velocity threshold [m/s]" - }, - "engage_acceleration": { - "type": "number", - "default": 0.1, - "description": "Engage acceleration [m/ss]" - }, - "engage_exit_ratio": { - "type": "number", - "default": 0.5, - "description": "Exit engage sequence to normal velocity planning when the velocity exceeds engage_exit_ratio x engage_velocity." - }, - "stop_dist_to_prohibit_engage": { - "type": "number", - "default": 0.5, - "description": "If the stop point is in this distance, the speed is set to 0 not to move the vehicle [m]" - }, - "stopping_velocity": { - "type": "number", - "default": 2.778, - "description": "Change target velocity to this value before v=0 point [m/s]" - }, - "stopping_distance": { - "type": "number", - "default": 0.0, - "description": "Distance for the stopping_velocity [m]. 0 means the stopping velocity is not applied." - }, - "extract_ahead_dist": { - "type": "number", - "default": 200.0, - "description": "Forward trajectory distance used for planning [m]" - }, - "extract_behind_dist": { - "type": "number", - "default": 5.0, - "description": "Backward trajectory distance used for planning [m]" - }, - "delta_yaw_threshold": { - "type": "number", - "default": 1.0472, - "description": "Allowed delta yaw between ego pose and trajectory pose [radian]" - }, - "max_trajectory_length": { - "type": "number", - "default": 200.0, - "description": "Max trajectory length for resampling [m]" - }, - "min_trajectory_length": { - "type": "number", - "default": 150.0, - "description": "Min trajectory length for resampling [m]" - }, - "resample_time": { - "type": "number", - "default": 2.0, - "description": "Resample total time for dense sampling [s]" - }, - "dense_resample_dt": { - "type": "number", - "default": 0.2, - "description": "Resample time interval for dense sampling [s]" - }, - "dense_min_interval_distance": { - "type": "number", - "default": 0.1, - "description": "Minimum points-interval length for dense sampling [m]" - }, - "sparse_resample_dt": { - "type": "number", - "default": 0.5, - "description": "Resample time interval for sparse sampling [s]" - }, - "sparse_min_interval_distance": { - "type": "number", - "default": 4.0, - "description": "Minimum points-interval length for sparse sampling [m]" - }, - "post_max_trajectory_length": { - "type": "number", - "default": 300.0, - "description": "Max trajectory length for resampling [m]" - }, - "post_min_trajectory_length": { - "type": "number", - "default": 30.0, - "description": "Min trajectory length for resampling [m]" - }, - "post_resample_time": { - "type": "number", - "default": 10.0, - "description": "Resample total time for dense sampling [s]" - }, - "post_dense_resample_dt": { - "type": "number", - "default": 0.1, - "description": "Resample time interval for dense sampling [s]" - }, - "post_dense_min_interval_distance": { - "type": "number", - "default": 0.1, - "description": "Minimum points-interval length for dense sampling [m]" - }, - "post_sparse_resample_dt": { - "type": "number", - "default": 0.1, - "description": "Resample time interval for sparse sampling [s]" - }, - "post_sparse_min_interval_distance": { - "type": "number", - "default": 1.0, - "description": "Minimum points-interval length for sparse sampling [m]" - }, - "over_stop_velocity_warn_thr": { - "type": "number", - "default": 1.389, - "description": "Used to check if the optimization exceeds the input velocity on the stop point" - }, - "plan_from_ego_speed_on_manual_mode": { - "type": "boolean", - "default": true, - "description": "Planning is done from ego velocity/acceleration on MANUAL mode." - }, - "publish_debug_trajs": { - "type": "boolean", - "default": false, - "description": "Publish debug trajectories" - } - }, - "required": [ - "max_velocity", - "stop_decel", - "margin_to_insert_external_velocity_limit", - "curvature_calculation_distance", - "ego_nearest_dist_threshold", - "ego_nearest_yaw_threshold", - "algorithm_type", - "enable_lateral_acc_limit", - "max_lateral_accel", - "min_curve_velocity", - "decel_distance_before_curve", - "decel_distance_after_curve", - "min_decel_for_lateral_acc_lim_filter", - "enable_steering_rate_limit", - "max_steering_angle_rate", - "resample_ds", - "curvature_threshold", - "replan_vel_deviation", - "engage_velocity", - "engage_acceleration", - "engage_exit_ratio", - "stop_dist_to_prohibit_engage", - "stopping_velocity", - "stopping_distance", - "extract_ahead_dist", - "extract_behind_dist", - "delta_yaw_threshold", - "max_trajectory_length", - "min_trajectory_length", - "resample_time", - "dense_resample_dt", - "dense_min_interval_distance", - "sparse_resample_dt", - "sparse_min_interval_distance", - "post_max_trajectory_length", - "post_min_trajectory_length", - "post_resample_time", - "post_dense_resample_dt", - "post_dense_min_interval_distance", - "post_sparse_resample_dt", - "post_sparse_min_interval_distance", - "over_stop_velocity_warn_thr", - "plan_from_ego_speed_on_manual_mode", - "publish_debug_trajs" - ] - } - }, - "properties": { - "/**": { - "type": "object", - "properties": { - "ros__parameters": { - "$ref": "#/definitions/velocity_smoother_params" - } - }, - "required": ["ros__parameters"] - } - }, - "required": ["/**"] - } - \ No newline at end of file + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Parameters for default_velocity_smoother", + "type": "object", + "definitions": { + "velocity_smoother_params": { + "type": "object", + "properties": { + "max_velocity": { + "type": "number", + "default": 20.0, + "description": "Max velocity limit [m/s]" + }, + "stop_decel": { + "type": "number", + "default": 0.0, + "description": "Deceleration at a stop point [m/ss]" + }, + "margin_to_insert_external_velocity_limit": { + "type": "number", + "default": 0.3, + "description": "Margin distance to insert external velocity limit [m]" + }, + "curvature_calculation_distance": { + "type": "number", + "default": 5.0, + "description": "Distance of points while curvature is calculating for the steer rate and lateral acceleration limit [m]" + }, + "algorithm_type": { + "type": "string", + "enum": ["JerkFiltered", "L2", "Linf", "Analytical"], + "default": "JerkFiltered", + "description": "Algorithm type for velocity smoother." + }, + "enable_lateral_acc_limit": { + "type": "boolean", + "default": true, + "description": "To toggle the lateral acc filter on and off." + }, + "max_lateral_accel": { + "type": "number", + "default": 0.8, + "description": "Max lateral acceleration limit [m/ss]" + }, + "min_curve_velocity": { + "type": "number", + "default": 2.74, + "description": "Min velocity at lateral acceleration limit and steering angle rate limit [m/s]" + }, + "decel_distance_before_curve": { + "type": "number", + "default": 3.5, + "description": "Slow speed distance before a curve for lateral acceleration limit [m]" + }, + "decel_distance_after_curve": { + "type": "number", + "default": 2.0, + "description": "Slow speed distance after a curve for lateral acceleration limit [m]" + }, + "min_decel_for_lateral_acc_lim_filter": { + "type": "number", + "default": -2.5, + "description": "Deceleration limit applied in the lateral acceleration filter to avoid sudden braking [m/ss]" + }, + "enable_steering_rate_limit": { + "type": "boolean", + "default": true, + "description": "To toggle the steer rate filter on and off." + }, + "max_steering_angle_rate": { + "type": "number", + "default": 40.0, + "description": "Maximum steering angle rate [degree/s]" + }, + "resample_ds": { + "type": "number", + "default": 0.1, + "description": "Distance between trajectory points [m]" + }, + "curvature_threshold": { + "type": "number", + "default": 0.02, + "description": "If curvature > curvature_threshold, steeringRateLimit is triggered [1/m]" + }, + "replan_vel_deviation": { + "type": "number", + "default": 5.53, + "description": "Velocity deviation to replan initial velocity [m/s]" + }, + "engage_velocity": { + "type": "number", + "default": 0.25, + "description": "Engage velocity threshold [m/s]" + }, + "engage_acceleration": { + "type": "number", + "default": 0.1, + "description": "Engage acceleration [m/ss]" + }, + "engage_exit_ratio": { + "type": "number", + "default": 0.5, + "description": "Exit engage sequence to normal velocity planning when the velocity exceeds engage_exit_ratio x engage_velocity." + }, + "stop_dist_to_prohibit_engage": { + "type": "number", + "default": 0.5, + "description": "If the stop point is in this distance, the speed is set to 0 not to move the vehicle [m]" + }, + "stopping_velocity": { + "type": "number", + "default": 2.778, + "description": "Change target velocity to this value before v=0 point [m/s]" + }, + "stopping_distance": { + "type": "number", + "default": 0.0, + "description": "Distance for the stopping_velocity [m]. 0 means the stopping velocity is not applied." + }, + "extract_ahead_dist": { + "type": "number", + "default": 200.0, + "description": "Forward trajectory distance used for planning [m]" + }, + "extract_behind_dist": { + "type": "number", + "default": 5.0, + "description": "Backward trajectory distance used for planning [m]" + }, + "delta_yaw_threshold": { + "type": "number", + "default": 1.0472, + "description": "Allowed delta yaw between ego pose and trajectory pose [radian]" + }, + "max_trajectory_length": { + "type": "number", + "default": 200.0, + "description": "Max trajectory length for resampling [m]" + }, + "min_trajectory_length": { + "type": "number", + "default": 150.0, + "description": "Min trajectory length for resampling [m]" + }, + "resample_time": { + "type": "number", + "default": 2.0, + "description": "Resample total time for dense sampling [s]" + }, + "dense_resample_dt": { + "type": "number", + "default": 0.2, + "description": "Resample time interval for dense sampling [s]" + }, + "dense_min_interval_distance": { + "type": "number", + "default": 0.1, + "description": "Minimum points-interval length for dense sampling [m]" + }, + "sparse_resample_dt": { + "type": "number", + "default": 0.5, + "description": "Resample time interval for sparse sampling [s]" + }, + "sparse_min_interval_distance": { + "type": "number", + "default": 4.0, + "description": "Minimum points-interval length for sparse sampling [m]" + }, + "post_max_trajectory_length": { + "type": "number", + "default": 300.0, + "description": "Max trajectory length for resampling [m]" + }, + "post_min_trajectory_length": { + "type": "number", + "default": 30.0, + "description": "Min trajectory length for resampling [m]" + }, + "post_resample_time": { + "type": "number", + "default": 10.0, + "description": "Resample total time for dense sampling [s]" + }, + "post_dense_resample_dt": { + "type": "number", + "default": 0.1, + "description": "Resample time interval for dense sampling [s]" + }, + "post_dense_min_interval_distance": { + "type": "number", + "default": 0.1, + "description": "Minimum points-interval length for dense sampling [m]" + }, + "post_sparse_resample_dt": { + "type": "number", + "default": 0.1, + "description": "Resample time interval for sparse sampling [s]" + }, + "post_sparse_min_interval_distance": { + "type": "number", + "default": 1.0, + "description": "Minimum points-interval length for sparse sampling [m]" + }, + "over_stop_velocity_warn_thr": { + "type": "number", + "default": 1.389, + "description": "Used to check if the optimization exceeds the input velocity on the stop point" + }, + "plan_from_ego_speed_on_manual_mode": { + "type": "boolean", + "default": true, + "description": "Planning is done from ego velocity/acceleration on MANUAL mode." + }, + "publish_debug_trajs": { + "type": "boolean", + "default": false, + "description": "Publish debug trajectories" + } + }, + "required": [ + "max_velocity", + "stop_decel", + "margin_to_insert_external_velocity_limit", + "curvature_calculation_distance", + "ego_nearest_dist_threshold", + "ego_nearest_yaw_threshold", + "algorithm_type", + "enable_lateral_acc_limit", + "max_lateral_accel", + "min_curve_velocity", + "decel_distance_before_curve", + "decel_distance_after_curve", + "min_decel_for_lateral_acc_lim_filter", + "enable_steering_rate_limit", + "max_steering_angle_rate", + "resample_ds", + "curvature_threshold", + "replan_vel_deviation", + "engage_velocity", + "engage_acceleration", + "engage_exit_ratio", + "stop_dist_to_prohibit_engage", + "stopping_velocity", + "stopping_distance", + "extract_ahead_dist", + "extract_behind_dist", + "delta_yaw_threshold", + "max_trajectory_length", + "min_trajectory_length", + "resample_time", + "dense_resample_dt", + "dense_min_interval_distance", + "sparse_resample_dt", + "sparse_min_interval_distance", + "post_max_trajectory_length", + "post_min_trajectory_length", + "post_resample_time", + "post_dense_resample_dt", + "post_dense_min_interval_distance", + "post_sparse_resample_dt", + "post_sparse_min_interval_distance", + "over_stop_velocity_warn_thr", + "plan_from_ego_speed_on_manual_mode", + "publish_debug_trajs" + ] + } + }, + "properties": { + "/**": { + "type": "object", + "properties": { + "ros__parameters": { + "$ref": "#/definitions/velocity_smoother_params" + } + }, + "required": ["ros__parameters"] + } + }, + "required": ["/**"] +}