diff --git a/localization/pose_initializer/README.md b/localization/pose_initializer/README.md
index 961f3a8e3293c..3063e13c10226 100644
--- a/localization/pose_initializer/README.md
+++ b/localization/pose_initializer/README.md
@@ -22,6 +22,8 @@ This node depends on the map height fitter library.
| `gnss_enabled` | bool | If true, use the GNSS pose when no pose is specified. |
| `gnss_pose_timeout` | bool | The duration that the GNSS pose is valid. |
+{{ json_to_markdown("localization/pose_initializer/schema/pose_initializer.schema.json") }}
+
### Services
| Name | Type | Description |
diff --git a/localization/pose_initializer/config/pose_initializer.param.yaml b/localization/pose_initializer/config/pose_initializer.param.yaml
index a05cc7c35cb1a..88acbfb52611d 100644
--- a/localization/pose_initializer/config/pose_initializer.param.yaml
+++ b/localization/pose_initializer/config/pose_initializer.param.yaml
@@ -2,6 +2,11 @@
ros__parameters:
gnss_pose_timeout: 3.0 # [sec]
stop_check_duration: 3.0 # [sec]
+ ekf_enabled: $(var ekf_enabled)
+ gnss_enabled: $(var gnss_enabled)
+ yabloc_enabled: $(var yabloc_enabled)
+ ndt_enabled: $(var ndt_enabled)
+ stop_check_enabled: $(var stop_check_enabled)
# from gnss
gnss_particle_covariance:
diff --git a/localization/pose_initializer/launch/pose_initializer.launch.xml b/localization/pose_initializer/launch/pose_initializer.launch.xml
index 43e8d48c4fda0..a0fdde13c65c5 100644
--- a/localization/pose_initializer/launch/pose_initializer.launch.xml
+++ b/localization/pose_initializer/launch/pose_initializer.launch.xml
@@ -9,13 +9,7 @@
-
-
-
-
-
-
-
+
diff --git a/localization/pose_initializer/schema/pose_initializer.schema.json b/localization/pose_initializer/schema/pose_initializer.schema.json
new file mode 100644
index 0000000000000..14a286f059030
--- /dev/null
+++ b/localization/pose_initializer/schema/pose_initializer.schema.json
@@ -0,0 +1,85 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "title": "Parameters for Pose Initializer Node",
+ "type": "object",
+ "definitions": {
+ "pose_initializer": {
+ "type": "object",
+ "properties": {
+ "gnss_pose_timeout": {
+ "type": "number",
+ "description": "The duration that the GNSS pose is valid. [sec]",
+ "default": "3.0",
+ "minimum": 0.0
+ },
+ "stop_check_enabled": {
+ "type": "string",
+ "description": "If true, initialization is accepted only when the vehicle is stopped.",
+ "default": "true"
+ },
+ "stop_check_duration": {
+ "type": "number",
+ "description": "The duration used for the stop check above. [sec]",
+ "default": "3.0",
+ "minimum": 0.0
+ },
+ "ekf_enabled": {
+ "type": "string",
+ "description": "If true, EKF localizer is activated.",
+ "default": "true"
+ },
+ "gnss_enabled": {
+ "type": "string",
+ "description": "If true, use the GNSS pose when no pose is specified.",
+ "default": "true"
+ },
+ "yabloc_enabled": {
+ "type": "string",
+ "description": "If true, YabLocModule is used.",
+ "default": "true"
+ },
+ "ndt_enabled": {
+ "type": "string",
+ "description": "If true, the pose will be estimated by NDT scan matcher, otherwise it is passed through.",
+ "default": "true"
+ },
+ "gnss_particle_covariance": {
+ "type": "array",
+ "description": "gnss particle covariance",
+ "default": "[1.0, 0.0, 0.0, 0.0, 0.0, 0.0,\n 0.0, 1.0, 0.0, 0.0, 0.0, 0.0,\n 0.0, 0.0, 0.01, 0.0, 0.0, 0.0,\n 0.0, 0.0, 0.0, 0.01, 0.0, 0.0,\n 0.0, 0.0, 0.0, 0.0, 0.01, 0.0,\n 0.0, 0.0, 0.0, 0.0, 0.0, 10.0]"
+ },
+ "output_pose_covariance": {
+ "type": "array",
+ "description": "output pose covariance",
+ "default": "[1.0, 0.0, 0.0, 0.0, 0.0, 0.0,\n 0.0, 1.0, 0.0, 0.0, 0.0, 0.0,\n 0.0, 0.0, 0.01, 0.0, 0.0, 0.0,\n 0.0, 0.0, 0.0, 0.01, 0.0, 0.0,\n 0.0, 0.0, 0.0, 0.0, 0.01, 0.0,\n 0.0, 0.0, 0.0, 0.0, 0.0, 0.2]"
+ }
+ },
+ "required": [
+ "gnss_pose_timeout",
+ "stop_check_duration",
+ "ekf_enabled",
+ "gnss_enabled",
+ "yabloc_enabled",
+ "ndt_enabled",
+ "stop_check_enabled",
+ "gnss_particle_covariance",
+ "output_pose_covariance"
+ ],
+ "additionalProperties": false
+ }
+ },
+ "properties": {
+ "/**": {
+ "type": "object",
+ "properties": {
+ "ros__parameters": {
+ "$ref": "#/definitions/pose_initializer"
+ }
+ },
+ "required": ["ros__parameters"],
+ "additionalProperties": false
+ }
+ },
+ "required": ["/**"],
+ "additionalProperties": false
+}