diff --git a/launch/tier4_map_launch/launch/map.launch.xml b/launch/tier4_map_launch/launch/map.launch.xml
index 56ad5b01c5024..8efc1a7b985aa 100644
--- a/launch/tier4_map_launch/launch/map.launch.xml
+++ b/launch/tier4_map_launch/launch/map.launch.xml
@@ -8,6 +8,7 @@
+
@@ -59,6 +60,7 @@
+
diff --git a/map/map_projection_loader/CMakeLists.txt b/map/map_projection_loader/CMakeLists.txt
index 700d468ed4431..f6102a1efa795 100644
--- a/map/map_projection_loader/CMakeLists.txt
+++ b/map/map_projection_loader/CMakeLists.txt
@@ -59,4 +59,5 @@ endif()
ament_auto_package(INSTALL_TO_SHARE
launch
+ config
)
diff --git a/map/map_projection_loader/README.md b/map/map_projection_loader/README.md
index 1887a1cd8934f..848fcfba95f14 100644
--- a/map/map_projection_loader/README.md
+++ b/map/map_projection_loader/README.md
@@ -82,11 +82,10 @@ map_origin:
## Published Topics
-- ~/map_projector_info (tier4_map_msgs/MapProjectorInfo) : Topic for defining map projector information
+- `~/map_projector_info` (tier4_map_msgs/MapProjectorInfo) : This topic shows the definition of map projector information
## Parameters
-| Name | Type | Description |
-| :---------------------- | :---------- | :------------------------------------------------------------------------------- |
-| map_projector_info_path | std::string | A path to map_projector_info.yaml (used by default) |
-| lanelet2_map_path | std::string | A path to lanelet2 map (used only when `map_projector_info_path` does not exist) |
+Note that these parameters are assumed to be passed from launch arguments, and it is not recommended to directly write them in `map_projection_loader.param.yaml`.
+
+{{ json_to_markdown("map/map_projection_loader/schema/map_projection_loader.schema.json") }}
diff --git a/map/map_projection_loader/config/map_projection_loader.param.yaml b/map/map_projection_loader/config/map_projection_loader.param.yaml
new file mode 100644
index 0000000000000..6ec300309a308
--- /dev/null
+++ b/map/map_projection_loader/config/map_projection_loader.param.yaml
@@ -0,0 +1,4 @@
+/**:
+ ros__parameters:
+ map_projector_info_path: $(var map_projector_info_path)
+ lanelet2_map_path: $(var lanelet2_map_path)
diff --git a/map/map_projection_loader/launch/map_projection_loader.launch.xml b/map/map_projection_loader/launch/map_projection_loader.launch.xml
index fc625e3162911..a6570b69d3498 100644
--- a/map/map_projection_loader/launch/map_projection_loader.launch.xml
+++ b/map/map_projection_loader/launch/map_projection_loader.launch.xml
@@ -1,9 +1,10 @@
+
+
-
-
+
diff --git a/map/map_projection_loader/schema/map_projection_loader.schema.json b/map/map_projection_loader/schema/map_projection_loader.schema.json
new file mode 100644
index 0000000000000..bb7fe5d2910ad
--- /dev/null
+++ b/map/map_projection_loader/schema/map_projection_loader.schema.json
@@ -0,0 +1,38 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "title": "Parameters for map_projection_loader",
+ "type": "object",
+ "definitions": {
+ "map_projection_loader": {
+ "type": "object",
+ "properties": {
+ "map_projector_info_path": {
+ "type": "string",
+ "description": "The path where map_projector_info.yaml is located",
+ "default": "$(var map_projector_info_path)"
+ },
+ "lanelet2_map_path": {
+ "type": "string",
+ "description": "The path where the lanelet2 map file (.osm) is located",
+ "default": "$(var lanelet2_map_path)"
+ }
+ },
+ "required": ["map_projector_info_path", "lanelet2_map_path"],
+ "additionalProperties": false
+ }
+ },
+ "properties": {
+ "/**": {
+ "type": "object",
+ "properties": {
+ "ros__parameters": {
+ "$ref": "#/definitions/map_projection_loader"
+ }
+ },
+ "required": ["ros__parameters"],
+ "additionalProperties": false
+ }
+ },
+ "required": ["/**"],
+ "additionalProperties": false
+}