diff --git a/launch/tier4_map_launch/launch/map.launch.xml b/launch/tier4_map_launch/launch/map.launch.xml
index 8efc1a7b985aa..132d1ec9be3ea 100644
--- a/launch/tier4_map_launch/launch/map.launch.xml
+++ b/launch/tier4_map_launch/launch/map.launch.xml
@@ -8,6 +8,7 @@
+
@@ -48,8 +49,7 @@
-
-
+
diff --git a/map/map_tf_generator/CMakeLists.txt b/map/map_tf_generator/CMakeLists.txt
index 4e6390e0cacb6..e20289766cdda 100644
--- a/map/map_tf_generator/CMakeLists.txt
+++ b/map/map_tf_generator/CMakeLists.txt
@@ -48,5 +48,6 @@ if(BUILD_TESTING)
endif()
ament_auto_package(INSTALL_TO_SHARE
+ config
launch
)
diff --git a/map/map_tf_generator/Readme.md b/map/map_tf_generator/README.md
similarity index 83%
rename from map/map_tf_generator/Readme.md
rename to map/map_tf_generator/README.md
index 1b858ec12c2c2..643f4233c06f0 100644
--- a/map/map_tf_generator/Readme.md
+++ b/map/map_tf_generator/README.md
@@ -43,10 +43,7 @@ None
### Core Parameters
-| Name | Type | Default Value | Explanation |
-| -------------- | ------ | ------------- | ------------------------------------- |
-| `viewer_frame` | string | viewer | Name of `viewer` frame |
-| `map_frame` | string | map | The parent frame name of viewer frame |
+{{ json_to_markdown("map/map_tf_generator/schema/map_tf_generator.schema.json") }}
## Assumptions / Known limits
diff --git a/map/map_tf_generator/config/map_tf_generator.param.yaml b/map/map_tf_generator/config/map_tf_generator.param.yaml
new file mode 100644
index 0000000000000..90790808acace
--- /dev/null
+++ b/map/map_tf_generator/config/map_tf_generator.param.yaml
@@ -0,0 +1,4 @@
+/**:
+ ros__parameters:
+ map_frame: map
+ viewer_frame: viewer
diff --git a/map/map_tf_generator/launch/map_tf_generator.launch.xml b/map/map_tf_generator/launch/map_tf_generator.launch.xml
index ab5b515f8e61d..43d487c2bc982 100644
--- a/map/map_tf_generator/launch/map_tf_generator.launch.xml
+++ b/map/map_tf_generator/launch/map_tf_generator.launch.xml
@@ -1,13 +1,11 @@
-
+
-
-
+
-
-
+
diff --git a/map/map_tf_generator/schema/map_tf_generator.schema.json b/map/map_tf_generator/schema/map_tf_generator.schema.json
new file mode 100644
index 0000000000000..e501f7a9678f6
--- /dev/null
+++ b/map/map_tf_generator/schema/map_tf_generator.schema.json
@@ -0,0 +1,38 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "title": "Parameters for Map Tf Generator",
+ "type": "object",
+ "definitions": {
+ "map_tf_generator": {
+ "type": "object",
+ "properties": {
+ "map_frame": {
+ "type": "string",
+ "description": "The parent frame name of viewer frame",
+ "default": "map"
+ },
+ "viewer_frame": {
+ "type": "string",
+ "description": "Name of `viewer` frame",
+ "default": "viewer"
+ }
+ },
+ "required": ["map_frame", "viewer_frame"],
+ "additionalProperties": false
+ }
+ },
+ "properties": {
+ "/**": {
+ "type": "object",
+ "properties": {
+ "ros__parameters": {
+ "$ref": "#/definitions/map_tf_generator"
+ }
+ },
+ "required": ["ros__parameters"],
+ "additionalProperties": false
+ }
+ },
+ "required": ["/**"],
+ "additionalProperties": false
+}
diff --git a/map/map_tf_generator/src/pcd_map_tf_generator_node.cpp b/map/map_tf_generator/src/pcd_map_tf_generator_node.cpp
index bc686b17fbcab..69a66cf52c865 100644
--- a/map/map_tf_generator/src/pcd_map_tf_generator_node.cpp
+++ b/map/map_tf_generator/src/pcd_map_tf_generator_node.cpp
@@ -36,8 +36,8 @@ class PcdMapTFGeneratorNode : public rclcpp::Node
explicit PcdMapTFGeneratorNode(const rclcpp::NodeOptions & options)
: Node("pcd_map_tf_generator", options)
{
- map_frame_ = declare_parameter("map_frame", "map");
- viewer_frame_ = declare_parameter("viewer_frame", "viewer");
+ map_frame_ = declare_parameter("map_frame");
+ viewer_frame_ = declare_parameter("viewer_frame");
sub_ = create_subscription(
"pointcloud_map", rclcpp::QoS{1}.transient_local(),
diff --git a/map/map_tf_generator/src/vector_map_tf_generator_node.cpp b/map/map_tf_generator/src/vector_map_tf_generator_node.cpp
index 055d71cfb2b35..20ca1c037a578 100644
--- a/map/map_tf_generator/src/vector_map_tf_generator_node.cpp
+++ b/map/map_tf_generator/src/vector_map_tf_generator_node.cpp
@@ -31,8 +31,8 @@ class VectorMapTFGeneratorNode : public rclcpp::Node
explicit VectorMapTFGeneratorNode(const rclcpp::NodeOptions & options)
: Node("vector_map_tf_generator", options)
{
- map_frame_ = declare_parameter("map_frame", "map");
- viewer_frame_ = declare_parameter("viewer_frame", "viewer");
+ map_frame_ = declare_parameter("map_frame");
+ viewer_frame_ = declare_parameter("viewer_frame");
sub_ = create_subscription(
"vector_map", rclcpp::QoS{1}.transient_local(),