forked from autowarefoundation/autoware.universe
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
refactor(ekf_localizer): rework parameters (autowarefoundation#6196)
* refactor: Create JSON Schema files Signed-off-by: Motsu-san <[email protected]> * Fix: Modify the descriptions of parameters Signed-off-by: Motsu-san <[email protected]> * fix: Redo modification of the descriptions Signed-off-by: Motsu-san <[email protected]> * doc: Replace parameter tables to JSON Schema ones in README Signed-off-by: Motsu-san <[email protected]> * refactor: Remove default value from source code and launch.xml with arrangement of param .yaml Signed-off-by: Motsu-san <[email protected]> * style(pre-commit): autofix --------- Signed-off-by: Motsu-san <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
- Loading branch information
Showing
12 changed files
with
359 additions
and
95 deletions.
There are no files selected for viewing
This file contains 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
68 changes: 38 additions & 30 deletions
68
localization/ekf_localizer/config/ekf_localizer.param.yaml
This file contains 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 |
---|---|---|
@@ -1,38 +1,46 @@ | ||
/**: | ||
ros__parameters: | ||
show_debug_info: false | ||
enable_yaw_bias_estimation: true | ||
predict_frequency: 50.0 | ||
tf_rate: 50.0 | ||
publish_tf: true | ||
extend_state_step: 50 | ||
node: | ||
show_debug_info: false | ||
enable_yaw_bias_estimation: true | ||
predict_frequency: 50.0 | ||
tf_rate: 50.0 | ||
publish_tf: true | ||
extend_state_step: 50 | ||
|
||
# for Pose measurement | ||
pose_additional_delay: 0.0 | ||
pose_measure_uncertainty_time: 0.01 | ||
pose_smoothing_steps: 5 | ||
pose_gate_dist: 10000.0 | ||
pose_measurement: | ||
# for Pose measurement | ||
pose_additional_delay: 0.0 | ||
pose_measure_uncertainty_time: 0.01 | ||
pose_smoothing_steps: 5 | ||
pose_gate_dist: 10000.0 | ||
|
||
# for twist measurement | ||
twist_additional_delay: 0.0 | ||
twist_smoothing_steps: 2 | ||
twist_gate_dist: 10000.0 | ||
twist_measurement: | ||
# for twist measurement | ||
twist_additional_delay: 0.0 | ||
twist_smoothing_steps: 2 | ||
twist_gate_dist: 10000.0 | ||
|
||
# for process model | ||
proc_stddev_yaw_c: 0.005 | ||
proc_stddev_vx_c: 10.0 | ||
proc_stddev_wz_c: 5.0 | ||
process_noise: | ||
# for process model | ||
proc_stddev_yaw_c: 0.005 | ||
proc_stddev_vx_c: 10.0 | ||
proc_stddev_wz_c: 5.0 | ||
|
||
#Simple1DFilter parameters | ||
z_filter_proc_dev: 1.0 | ||
roll_filter_proc_dev: 0.01 | ||
pitch_filter_proc_dev: 0.01 | ||
simple_1d_filter_parameters: | ||
#Simple1DFilter parameters | ||
z_filter_proc_dev: 1.0 | ||
roll_filter_proc_dev: 0.01 | ||
pitch_filter_proc_dev: 0.01 | ||
|
||
# for diagnostics | ||
pose_no_update_count_threshold_warn: 50 | ||
pose_no_update_count_threshold_error: 100 | ||
twist_no_update_count_threshold_warn: 50 | ||
twist_no_update_count_threshold_error: 100 | ||
diagnostics: | ||
# for diagnostics | ||
pose_no_update_count_threshold_warn: 50 | ||
pose_no_update_count_threshold_error: 100 | ||
twist_no_update_count_threshold_warn: 50 | ||
twist_no_update_count_threshold_error: 100 | ||
|
||
# for velocity measurement limitation (Set 0.0 if you want to ignore) | ||
threshold_observable_velocity_mps: 0.0 # [m/s] | ||
misc: | ||
# for velocity measurement limitation (Set 0.0 if you want to ignore) | ||
threshold_observable_velocity_mps: 0.0 # [m/s] | ||
pose_frame_id: "map" |
This file contains 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
This file contains 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
52 changes: 52 additions & 0 deletions
52
localization/ekf_localizer/schema/ekf_localizer.schema.json
This file contains 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,52 @@ | ||
{ | ||
"$schema": "http://json-schema.org/draft-07/schema#", | ||
"title": "EKF Localizer Configuration", | ||
"type": "object", | ||
"properties": { | ||
"/**": { | ||
"type": "object", | ||
"properties": { | ||
"ros__parameters": { | ||
"type": "object", | ||
"properties": { | ||
"node": { | ||
"$ref": "sub/node.sub_schema.json#/definitions/node" | ||
}, | ||
"pose_measurement": { | ||
"$ref": "sub/pose_measurement.sub_schema.json#/definitions/pose_measurement" | ||
}, | ||
"twist_measurement": { | ||
"$ref": "sub/twist_measurement.sub_schema.json#/definitions/twist_measurement" | ||
}, | ||
"process_noise": { | ||
"$ref": "sub/process_noise.sub_schema.json#/definitions/process_noise" | ||
}, | ||
"simple_1d_filter_parameters": { | ||
"$ref": "sub/simple_1d_filter_parameters.sub_schema.json#/definitions/simple_1d_filter_parameters" | ||
}, | ||
"diagnostics": { | ||
"$ref": "sub/diagnostics.sub_schema.json#/definitions/diagnostics" | ||
}, | ||
"misc": { | ||
"$ref": "sub/misc.sub_schema.json#/definitions/misc" | ||
} | ||
}, | ||
"required": [ | ||
"node", | ||
"pose_measurement", | ||
"twist_measurement", | ||
"process_noise", | ||
"simple_1d_filter_parameters", | ||
"diagnostics", | ||
"misc" | ||
], | ||
"additionalProperties": false | ||
} | ||
}, | ||
"required": ["ros__parameters"], | ||
"additionalProperties": false | ||
} | ||
}, | ||
"required": ["/**"], | ||
"additionalProperties": false | ||
} |
38 changes: 38 additions & 0 deletions
38
localization/ekf_localizer/schema/sub/diagnostics.sub_schema.json
This file contains 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,38 @@ | ||
{ | ||
"$schema": "http://json-schema.org/draft-07/schema#", | ||
"title": "EKF Localizer Configuration for Diagnostics", | ||
"definitions": { | ||
"diagnostics": { | ||
"type": "object", | ||
"properties": { | ||
"pose_no_update_count_threshold_warn": { | ||
"type": "integer", | ||
"description": "The threshold at which a WARN state is triggered due to the Pose Topic update not happening continuously for a certain number of times", | ||
"default": 50 | ||
}, | ||
"pose_no_update_count_threshold_error": { | ||
"type": "integer", | ||
"description": "The threshold at which an ERROR state is triggered due to the Pose Topic update not happening continuously for a certain number of times", | ||
"default": 100 | ||
}, | ||
"twist_no_update_count_threshold_warn": { | ||
"type": "integer", | ||
"description": "The threshold at which a WARN state is triggered due to the Twist Topic update not happening continuously for a certain number of times", | ||
"default": 50 | ||
}, | ||
"twist_no_update_count_threshold_error": { | ||
"type": "integer", | ||
"description": "The threshold at which an ERROR state is triggered due to the Twist Topic update not happening continuously for a certain number of times", | ||
"default": 100 | ||
} | ||
}, | ||
"required": [ | ||
"pose_no_update_count_threshold_warn", | ||
"pose_no_update_count_threshold_error", | ||
"twist_no_update_count_threshold_warn", | ||
"twist_no_update_count_threshold_error" | ||
], | ||
"additionalProperties": false | ||
} | ||
} | ||
} |
23 changes: 23 additions & 0 deletions
23
localization/ekf_localizer/schema/sub/misc.sub_schema.json
This file contains 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 @@ | ||
{ | ||
"$schema": "http://json-schema.org/draft-07/schema#", | ||
"title": "EKF Localizer Configuration for MISC", | ||
"definitions": { | ||
"misc": { | ||
"type": "object", | ||
"properties": { | ||
"threshold_observable_velocity_mps": { | ||
"type": "number", | ||
"description": "Minimum value for velocity that will be used for EKF. Mainly used for dead zone in velocity sensor [m/s] (0.0 means disabled)", | ||
"default": 0.0 | ||
}, | ||
"pose_frame_id": { | ||
"type": "string", | ||
"description": "Parent frame_id of EKF output pose", | ||
"default": "map" | ||
} | ||
}, | ||
"required": ["threshold_observable_velocity_mps", "pose_frame_id"], | ||
"additionalProperties": false | ||
} | ||
} | ||
} |
50 changes: 50 additions & 0 deletions
50
localization/ekf_localizer/schema/sub/node.sub_schema.json
This file contains 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,50 @@ | ||
{ | ||
"$schema": "http://json-schema.org/draft-07/schema#", | ||
"title": "EKF Localizer Configuration for node", | ||
"definitions": { | ||
"node": { | ||
"type": "object", | ||
"properties": { | ||
"show_debug_info": { | ||
"type": "boolean", | ||
"description": "Flag to display debug info", | ||
"default": false | ||
}, | ||
"predict_frequency": { | ||
"type": "number", | ||
"description": "Frequency for filtering and publishing [Hz]", | ||
"default": 50.0 | ||
}, | ||
"tf_rate": { | ||
"type": "number", | ||
"description": "Frequency for tf broadcasting [Hz]", | ||
"default": 50.0 | ||
}, | ||
"publish_tf": { | ||
"type": "boolean", | ||
"description": "Whether to publish tf", | ||
"default": true | ||
}, | ||
"extend_state_step": { | ||
"type": "integer", | ||
"description": "Max delay step which can be dealt with in EKF. Large number increases computational cost.", | ||
"default": 50 | ||
}, | ||
"enable_yaw_bias_estimation": { | ||
"type": "boolean", | ||
"description": "Flag to enable yaw bias estimation", | ||
"default": true | ||
} | ||
}, | ||
"required": [ | ||
"show_debug_info", | ||
"predict_frequency", | ||
"tf_rate", | ||
"publish_tf", | ||
"extend_state_step", | ||
"enable_yaw_bias_estimation" | ||
], | ||
"additionalProperties": false | ||
} | ||
} | ||
} |
Oops, something went wrong.