From ae7107bb7b115955e57a2476ce03b9c29d34751f Mon Sep 17 00:00:00 2001 From: Boyang Date: Thu, 6 Jun 2024 12:37:22 -0400 Subject: [PATCH 1/2] Refractored the parameters, build the schema file, updated the readme file. Signed-off-by: Boyang --- perception/multi_object_tracker/README.md | 39 ++---- .../data_association_matrix.schema.json | 75 +++++++++++ .../schema/input_channels.schema.json | 80 ++++++++++++ .../multi_object_tracker_node.schema.json | 117 ++++++++++++++++++ .../schema/simulation_tracker.schema.json | 63 ++++++++++ 5 files changed, 342 insertions(+), 32 deletions(-) create mode 100644 perception/multi_object_tracker/schema/data_association_matrix.schema.json create mode 100644 perception/multi_object_tracker/schema/input_channels.schema.json create mode 100644 perception/multi_object_tracker/schema/multi_object_tracker_node.schema.json create mode 100644 perception/multi_object_tracker/schema/simulation_tracker.schema.json diff --git a/perception/multi_object_tracker/README.md b/perception/multi_object_tracker/README.md index b5d965e1232ed..447c74d9b3450 100644 --- a/perception/multi_object_tracker/README.md +++ b/perception/multi_object_tracker/README.md @@ -65,41 +65,16 @@ Multiple inputs are pre-defined in the input channel parameters (described below ### Input Channel parameters -Available input channels are defined in [input_channels.param.yaml](config/input_channels.param.yaml). - -| Name | Type | Description | -| --------------------------------- | ------------------------------------------------ | ------------------------------------- | -| `` | | the name of channel | -| `.topic` | `autoware_perception_msgs::msg::DetectedObjects` | detected objects | -| `.can_spawn_new_tracker` | `bool` | a switch allow to spawn a new tracker | -| `.optional.name` | `std::string` | channel name for analysis | -| `.optional.short_name` | `std::string` | short name for visualization | +{{ json_to_markdown("perception/multi_object_tracker/schema/input_channels.schema.json") }} ### Core Parameters -Node parameters are defined in [multi_object_tracker_node.param.yaml](config/multi_object_tracker_node.param.yaml) and association parameters are defined in [data_association_matrix.param.yaml](config/data_association_matrix.param.yaml). - -#### Node parameters - -| Name | Type | Description | -| --------------------------- | ------ | --------------------------------------------------------------------------------------------------------------------------- | -| `***_tracker` | string | EKF tracker name for each class | -| `world_frame_id` | double | object kinematics definition frame | -| `enable_delay_compensation` | bool | if True, tracker use timers to schedule publishers and use prediction step to extrapolate object state at desired timestamp | -| `publish_rate` | double | Timer frequency to output with delay compensation | -| `publish_processing_time` | bool | enable to publish debug message of process time information | -| `publish_tentative_objects` | bool | enable to publish tentative tracked objects, which have lower confidence | -| `publish_debug_markers` | bool | enable to publish debug markers, which indicates association of multi-inputs, existence probability of each detection | - -#### Association parameters - -| Name | Type | Description | -| ------------------- | ------ | ------------------------------------------- | -| `can_assign_matrix` | double | Assignment table for data association | -| `max_dist_matrix` | double | Maximum distance table for data association | -| `max_area_matrix` | double | Maximum area table for data association | -| `min_area_matrix` | double | Minimum area table for data association | -| `max_rad_matrix` | double | Maximum angle table for data association | +{{ json_to_markdown("perception/multi_object_tracker/schema/multi_object_tracker_node.schema.json") }} +{{ json_to_markdown("perception/multi_object_tracker/schema/data_association_matrix.schema.json") }} + +#### Simulation parameters + +{{ json_to_markdown("perception/multi_object_tracker/schema/simulation_tracker.schema.json") }} ## Assumptions / Known limits diff --git a/perception/multi_object_tracker/schema/data_association_matrix.schema.json b/perception/multi_object_tracker/schema/data_association_matrix.schema.json new file mode 100644 index 0000000000000..4c9e97164bf20 --- /dev/null +++ b/perception/multi_object_tracker/schema/data_association_matrix.schema.json @@ -0,0 +1,75 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Parameters for Data Association Matrix", + "type": "object", + "definitions": { + "data_association_matrix": { + "type": "object", + "properties": { + "can_assign_matrix": { + "type": "array", + "description": "Assignment table for data association.", + "items": { + "type": "integer" + } + }, + "max_dist_matrix": { + "type": "array", + "description": "Maximum distance table for data association.", + "items": { + "type": "number" + } + }, + "max_area_matrix": { + "type": "array", + "description": "Maximum area table for data association.", + "items": { + "type": "number" + } + }, + "min_area_matrix": { + "type": "array", + "description": "Minimum area table for data association.", + "items": { + "type": "number" + } + }, + "max_rad_matrix": { + "type": "array", + "description": "Maximum angle table for data association.", + "items": { + "type": "number" + } + }, + "min_iou_matrix": { + "type": "array", + "description": "A matrix that represents the minimum Intersection over Union (IoU) limit allowed for assignment.", + "items": { + "type": "number" + } + } + }, + "required": [ + "can_assign_matrix", + "max_dist_matrix", + "max_area_matrix", + "min_area_matrix", + "max_rad_matrix", + "min_iou_matrix" + ] + } + }, + "properties": { + "/**": { + "type": "object", + "properties": { + "ros__parameters": { + "$ref": "#/definitions/data_association_matrix" + } + }, + "required": ["ros__parameters"] + } + }, + "required": ["/**"] + } + \ No newline at end of file diff --git a/perception/multi_object_tracker/schema/input_channels.schema.json b/perception/multi_object_tracker/schema/input_channels.schema.json new file mode 100644 index 0000000000000..3c3da4d3f70a0 --- /dev/null +++ b/perception/multi_object_tracker/schema/input_channels.schema.json @@ -0,0 +1,80 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Parameters for Input Channels", + "type": "object", + "definitions": { + "input_channel": { + "type": "object", + "properties": { + "topic": { + "type": "string", + "description": "The ROS topic name for the input channel." + }, + "can_spawn_new_tracker": { + "type": "boolean", + "description": "Indicates if the input channel can spawn new trackers." + }, + "optional": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the input channel." + }, + "short_name": { + "type": "string", + "description": "The short name of the input channel." + } + } + } + }, + "required": ["topic", "can_spawn_new_tracker"] + } + }, + "properties": { + "/**": { + "type": "object", + "properties": { + "ros__parameters": { + "type": "object", + "properties": { + "input_channels": { + "type": "object", + "properties": { + "detected_objects": { "$ref": "#/definitions/input_channel" }, + "lidar_clustering": { "$ref": "#/definitions/input_channel" }, + "lidar_centerpoint": { "$ref": "#/definitions/input_channel" }, + "lidar_centerpoint_validated": { "$ref": "#/definitions/input_channel" }, + "lidar_apollo": { "$ref": "#/definitions/input_channel" }, + "lidar_apollo_validated": { "$ref": "#/definitions/input_channel" }, + "lidar_pointpainitng": { "$ref": "#/definitions/input_channel" }, + "lidar_pointpainting_validated": { "$ref": "#/definitions/input_channel" }, + "camera_lidar_fusion": { "$ref": "#/definitions/input_channel" }, + "detection_by_tracker": { "$ref": "#/definitions/input_channel" }, + "radar": { "$ref": "#/definitions/input_channel" }, + "radar_far": { "$ref": "#/definitions/input_channel" } + }, + "required": [ + "detected_objects", + "lidar_clustering", + "lidar_centerpoint", + "lidar_centerpoint_validated", + "lidar_apollo", + "lidar_apollo_validated", + "lidar_pointpainitng", + "lidar_pointpainting_validated", + "camera_lidar_fusion", + "detection_by_tracker", + "radar", + "radar_far" + ] + } + }, + "required": ["input_channels"] + } + }, + "required": ["ros__parameters"] + } + }, + "required": ["/**"] +} diff --git a/perception/multi_object_tracker/schema/multi_object_tracker_node.schema.json b/perception/multi_object_tracker/schema/multi_object_tracker_node.schema.json new file mode 100644 index 0000000000000..1a262e6078a80 --- /dev/null +++ b/perception/multi_object_tracker/schema/multi_object_tracker_node.schema.json @@ -0,0 +1,117 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Parameters for Multi Object Tracker Node", + "type": "object", + "definitions": { + "multi_object_tracker_node": { + "type": "object", + "properties": { + "car_tracker": { + "type": "string", + "description": "Tracker model for car class.", + "default": "multi_vehicle_tracker" + }, + "truck_tracker": { + "type": "string", + "description": "Tracker model for truck class.", + "default": "multi_vehicle_tracker" + }, + "bus_tracker": { + "type": "string", + "description": "Tracker model for bus class.", + "default": "multi_vehicle_tracker" + }, + "trailer_tracker": { + "type": "string", + "description": "Tracker model for trailer class.", + "default": "multi_vehicle_tracker" + }, + "pedestrian_tracker": { + "type": "string", + "description": "Tracker model for pedestrian class.", + "default": "pedestrian_and_bicycle_tracker" + }, + "bicycle_tracker": { + "type": "string", + "description": "Tracker model for bicycle class.", + "default": "pedestrian_and_bicycle_tracker" + }, + "motorcycle_tracker": { + "type": "string", + "description": "Tracker model for motorcycle class.", + "default": "pedestrian_and_bicycle_tracker" + }, + "publish_rate": { + "type": "number", + "description": "Timer frequency to output with delay compensation.", + "default": 10.0 + }, + "world_frame_id": { + "type": "string", + "description": "Object kinematics definition frame.", + "default": "map" + }, + "enable_delay_compensation": { + "type": "boolean", + "description": "If True, tracker use timers to schedule publishers and use prediction step to extrapolate object state at desired timestamp.", + "default": false + }, + "publish_processing_time": { + "type": "boolean", + "description": "Enable to publish debug message of process time information.", + "default": false + }, + "publish_tentative_objects": { + "type": "boolean", + "description": "Enable to publish tentative tracked objects, which have lower confidence.", + "default": false + }, + "publish_debug_markers": { + "type": "boolean", + "description": "Enable to publish debug markers, which indicates association of multi-inputs, existence probability of each detection.", + "default": false + }, + "diagnostics_warn_delay": { + "type": "number", + "description": "Delay threshold for warning diagnostics in seconds.", + "default": 0.5 + }, + "diagnostics_error_delay": { + "type": "number", + "description": "Delay threshold for error diagnostics in seconds.", + "default": 1.0 + } + }, + "required": [ + "car_tracker", + "truck_tracker", + "bus_tracker", + "trailer_tracker", + "pedestrian_tracker", + "bicycle_tracker", + "motorcycle_tracker", + "publish_rate", + "world_frame_id", + "enable_delay_compensation", + "publish_processing_time", + "publish_tentative_objects", + "publish_debug_markers", + "diagnostics_warn_delay", + "diagnostics_error_delay" + ] + } + }, + "properties": { + "/**": { + "type": "object", + "properties": { + "ros__parameters": { + "$ref": "#/definitions/multi_object_tracker_node" + } + }, + "required": ["ros__parameters"] + } + }, + "required": ["/**"] + } + \ No newline at end of file diff --git a/perception/multi_object_tracker/schema/simulation_tracker.schema.json b/perception/multi_object_tracker/schema/simulation_tracker.schema.json new file mode 100644 index 0000000000000..a78b4d294d7ad --- /dev/null +++ b/perception/multi_object_tracker/schema/simulation_tracker.schema.json @@ -0,0 +1,63 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Parameters for Simulation Tracker Node", + "type": "object", + "definitions": { + "simulation_tracker_node": { + "type": "object", + "properties": { + "car_tracker": { + "type": "string", + "description": "Tracker model for car class.", + "default": "pass_through_tracker" + }, + "truck_tracker": { + "type": "string", + "description": "Tracker model for truck class.", + "default": "pass_through_tracker" + }, + "bus_tracker": { + "type": "string", + "description": "Tracker model for bus class.", + "default": "pass_through_tracker" + }, + "pedestrian_tracker": { + "type": "string", + "description": "Tracker model for pedestrian class.", + "default": "pass_through_tracker" + }, + "bicycle_tracker": { + "type": "string", + "description": "Tracker model for bicycle class.", + "default": "pass_through_tracker" + }, + "motorcycle_tracker": { + "type": "string", + "description": "Tracker model for motorcycle class.", + "default": "pass_through_tracker" + } + }, + "required": [ + "car_tracker", + "truck_tracker", + "bus_tracker", + "pedestrian_tracker", + "bicycle_tracker", + "motorcycle_tracker" + ] + } + }, + "properties": { + "/**": { + "type": "object", + "properties": { + "ros__parameters": { + "$ref": "#/definitions/simulation_tracker_node" + } + }, + "required": ["ros__parameters"] + } + }, + "required": ["/**"] + } + \ No newline at end of file From e49db87711399df2cf3f1afeb119c3d6353e7698 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 16 Jul 2024 03:30:18 +0000 Subject: [PATCH 2/2] style(pre-commit): autofix --- .../data_association_matrix.schema.json | 139 ++++++----- .../multi_object_tracker_node.schema.json | 227 +++++++++--------- .../schema/simulation_tracker.schema.json | 119 +++++---- 3 files changed, 241 insertions(+), 244 deletions(-) diff --git a/perception/multi_object_tracker/schema/data_association_matrix.schema.json b/perception/multi_object_tracker/schema/data_association_matrix.schema.json index 4c9e97164bf20..daf9d9f957b7c 100644 --- a/perception/multi_object_tracker/schema/data_association_matrix.schema.json +++ b/perception/multi_object_tracker/schema/data_association_matrix.schema.json @@ -1,75 +1,74 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Parameters for Data Association Matrix", - "type": "object", - "definitions": { - "data_association_matrix": { - "type": "object", - "properties": { - "can_assign_matrix": { - "type": "array", - "description": "Assignment table for data association.", - "items": { - "type": "integer" - } - }, - "max_dist_matrix": { - "type": "array", - "description": "Maximum distance table for data association.", - "items": { - "type": "number" - } - }, - "max_area_matrix": { - "type": "array", - "description": "Maximum area table for data association.", - "items": { - "type": "number" - } - }, - "min_area_matrix": { - "type": "array", - "description": "Minimum area table for data association.", - "items": { - "type": "number" - } - }, - "max_rad_matrix": { - "type": "array", - "description": "Maximum angle table for data association.", - "items": { - "type": "number" - } - }, - "min_iou_matrix": { - "type": "array", - "description": "A matrix that represents the minimum Intersection over Union (IoU) limit allowed for assignment.", - "items": { - "type": "number" - } + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Parameters for Data Association Matrix", + "type": "object", + "definitions": { + "data_association_matrix": { + "type": "object", + "properties": { + "can_assign_matrix": { + "type": "array", + "description": "Assignment table for data association.", + "items": { + "type": "integer" } }, - "required": [ - "can_assign_matrix", - "max_dist_matrix", - "max_area_matrix", - "min_area_matrix", - "max_rad_matrix", - "min_iou_matrix" - ] - } - }, - "properties": { - "/**": { - "type": "object", - "properties": { - "ros__parameters": { - "$ref": "#/definitions/data_association_matrix" + "max_dist_matrix": { + "type": "array", + "description": "Maximum distance table for data association.", + "items": { + "type": "number" } }, - "required": ["ros__parameters"] - } - }, - "required": ["/**"] - } - \ No newline at end of file + "max_area_matrix": { + "type": "array", + "description": "Maximum area table for data association.", + "items": { + "type": "number" + } + }, + "min_area_matrix": { + "type": "array", + "description": "Minimum area table for data association.", + "items": { + "type": "number" + } + }, + "max_rad_matrix": { + "type": "array", + "description": "Maximum angle table for data association.", + "items": { + "type": "number" + } + }, + "min_iou_matrix": { + "type": "array", + "description": "A matrix that represents the minimum Intersection over Union (IoU) limit allowed for assignment.", + "items": { + "type": "number" + } + } + }, + "required": [ + "can_assign_matrix", + "max_dist_matrix", + "max_area_matrix", + "min_area_matrix", + "max_rad_matrix", + "min_iou_matrix" + ] + } + }, + "properties": { + "/**": { + "type": "object", + "properties": { + "ros__parameters": { + "$ref": "#/definitions/data_association_matrix" + } + }, + "required": ["ros__parameters"] + } + }, + "required": ["/**"] +} diff --git a/perception/multi_object_tracker/schema/multi_object_tracker_node.schema.json b/perception/multi_object_tracker/schema/multi_object_tracker_node.schema.json index 1a262e6078a80..a40eb12d99b38 100644 --- a/perception/multi_object_tracker/schema/multi_object_tracker_node.schema.json +++ b/perception/multi_object_tracker/schema/multi_object_tracker_node.schema.json @@ -1,117 +1,116 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Parameters for Multi Object Tracker Node", - "type": "object", - "definitions": { - "multi_object_tracker_node": { - "type": "object", - "properties": { - "car_tracker": { - "type": "string", - "description": "Tracker model for car class.", - "default": "multi_vehicle_tracker" - }, - "truck_tracker": { - "type": "string", - "description": "Tracker model for truck class.", - "default": "multi_vehicle_tracker" - }, - "bus_tracker": { - "type": "string", - "description": "Tracker model for bus class.", - "default": "multi_vehicle_tracker" - }, - "trailer_tracker": { - "type": "string", - "description": "Tracker model for trailer class.", - "default": "multi_vehicle_tracker" - }, - "pedestrian_tracker": { - "type": "string", - "description": "Tracker model for pedestrian class.", - "default": "pedestrian_and_bicycle_tracker" - }, - "bicycle_tracker": { - "type": "string", - "description": "Tracker model for bicycle class.", - "default": "pedestrian_and_bicycle_tracker" - }, - "motorcycle_tracker": { - "type": "string", - "description": "Tracker model for motorcycle class.", - "default": "pedestrian_and_bicycle_tracker" - }, - "publish_rate": { - "type": "number", - "description": "Timer frequency to output with delay compensation.", - "default": 10.0 - }, - "world_frame_id": { - "type": "string", - "description": "Object kinematics definition frame.", - "default": "map" - }, - "enable_delay_compensation": { - "type": "boolean", - "description": "If True, tracker use timers to schedule publishers and use prediction step to extrapolate object state at desired timestamp.", - "default": false - }, - "publish_processing_time": { - "type": "boolean", - "description": "Enable to publish debug message of process time information.", - "default": false - }, - "publish_tentative_objects": { - "type": "boolean", - "description": "Enable to publish tentative tracked objects, which have lower confidence.", - "default": false - }, - "publish_debug_markers": { - "type": "boolean", - "description": "Enable to publish debug markers, which indicates association of multi-inputs, existence probability of each detection.", - "default": false - }, - "diagnostics_warn_delay": { - "type": "number", - "description": "Delay threshold for warning diagnostics in seconds.", - "default": 0.5 - }, - "diagnostics_error_delay": { - "type": "number", - "description": "Delay threshold for error diagnostics in seconds.", - "default": 1.0 - } + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Parameters for Multi Object Tracker Node", + "type": "object", + "definitions": { + "multi_object_tracker_node": { + "type": "object", + "properties": { + "car_tracker": { + "type": "string", + "description": "Tracker model for car class.", + "default": "multi_vehicle_tracker" }, - "required": [ - "car_tracker", - "truck_tracker", - "bus_tracker", - "trailer_tracker", - "pedestrian_tracker", - "bicycle_tracker", - "motorcycle_tracker", - "publish_rate", - "world_frame_id", - "enable_delay_compensation", - "publish_processing_time", - "publish_tentative_objects", - "publish_debug_markers", - "diagnostics_warn_delay", - "diagnostics_error_delay" - ] - } - }, - "properties": { - "/**": { - "type": "object", - "properties": { - "ros__parameters": { - "$ref": "#/definitions/multi_object_tracker_node" - } + "truck_tracker": { + "type": "string", + "description": "Tracker model for truck class.", + "default": "multi_vehicle_tracker" }, - "required": ["ros__parameters"] - } - }, - "required": ["/**"] - } - \ No newline at end of file + "bus_tracker": { + "type": "string", + "description": "Tracker model for bus class.", + "default": "multi_vehicle_tracker" + }, + "trailer_tracker": { + "type": "string", + "description": "Tracker model for trailer class.", + "default": "multi_vehicle_tracker" + }, + "pedestrian_tracker": { + "type": "string", + "description": "Tracker model for pedestrian class.", + "default": "pedestrian_and_bicycle_tracker" + }, + "bicycle_tracker": { + "type": "string", + "description": "Tracker model for bicycle class.", + "default": "pedestrian_and_bicycle_tracker" + }, + "motorcycle_tracker": { + "type": "string", + "description": "Tracker model for motorcycle class.", + "default": "pedestrian_and_bicycle_tracker" + }, + "publish_rate": { + "type": "number", + "description": "Timer frequency to output with delay compensation.", + "default": 10.0 + }, + "world_frame_id": { + "type": "string", + "description": "Object kinematics definition frame.", + "default": "map" + }, + "enable_delay_compensation": { + "type": "boolean", + "description": "If True, tracker use timers to schedule publishers and use prediction step to extrapolate object state at desired timestamp.", + "default": false + }, + "publish_processing_time": { + "type": "boolean", + "description": "Enable to publish debug message of process time information.", + "default": false + }, + "publish_tentative_objects": { + "type": "boolean", + "description": "Enable to publish tentative tracked objects, which have lower confidence.", + "default": false + }, + "publish_debug_markers": { + "type": "boolean", + "description": "Enable to publish debug markers, which indicates association of multi-inputs, existence probability of each detection.", + "default": false + }, + "diagnostics_warn_delay": { + "type": "number", + "description": "Delay threshold for warning diagnostics in seconds.", + "default": 0.5 + }, + "diagnostics_error_delay": { + "type": "number", + "description": "Delay threshold for error diagnostics in seconds.", + "default": 1.0 + } + }, + "required": [ + "car_tracker", + "truck_tracker", + "bus_tracker", + "trailer_tracker", + "pedestrian_tracker", + "bicycle_tracker", + "motorcycle_tracker", + "publish_rate", + "world_frame_id", + "enable_delay_compensation", + "publish_processing_time", + "publish_tentative_objects", + "publish_debug_markers", + "diagnostics_warn_delay", + "diagnostics_error_delay" + ] + } + }, + "properties": { + "/**": { + "type": "object", + "properties": { + "ros__parameters": { + "$ref": "#/definitions/multi_object_tracker_node" + } + }, + "required": ["ros__parameters"] + } + }, + "required": ["/**"] +} diff --git a/perception/multi_object_tracker/schema/simulation_tracker.schema.json b/perception/multi_object_tracker/schema/simulation_tracker.schema.json index a78b4d294d7ad..88a4cf41bad08 100644 --- a/perception/multi_object_tracker/schema/simulation_tracker.schema.json +++ b/perception/multi_object_tracker/schema/simulation_tracker.schema.json @@ -1,63 +1,62 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Parameters for Simulation Tracker Node", - "type": "object", - "definitions": { - "simulation_tracker_node": { - "type": "object", - "properties": { - "car_tracker": { - "type": "string", - "description": "Tracker model for car class.", - "default": "pass_through_tracker" - }, - "truck_tracker": { - "type": "string", - "description": "Tracker model for truck class.", - "default": "pass_through_tracker" - }, - "bus_tracker": { - "type": "string", - "description": "Tracker model for bus class.", - "default": "pass_through_tracker" - }, - "pedestrian_tracker": { - "type": "string", - "description": "Tracker model for pedestrian class.", - "default": "pass_through_tracker" - }, - "bicycle_tracker": { - "type": "string", - "description": "Tracker model for bicycle class.", - "default": "pass_through_tracker" - }, - "motorcycle_tracker": { - "type": "string", - "description": "Tracker model for motorcycle class.", - "default": "pass_through_tracker" - } + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Parameters for Simulation Tracker Node", + "type": "object", + "definitions": { + "simulation_tracker_node": { + "type": "object", + "properties": { + "car_tracker": { + "type": "string", + "description": "Tracker model for car class.", + "default": "pass_through_tracker" }, - "required": [ - "car_tracker", - "truck_tracker", - "bus_tracker", - "pedestrian_tracker", - "bicycle_tracker", - "motorcycle_tracker" - ] - } - }, - "properties": { - "/**": { - "type": "object", - "properties": { - "ros__parameters": { - "$ref": "#/definitions/simulation_tracker_node" - } + "truck_tracker": { + "type": "string", + "description": "Tracker model for truck class.", + "default": "pass_through_tracker" }, - "required": ["ros__parameters"] - } - }, - "required": ["/**"] - } - \ No newline at end of file + "bus_tracker": { + "type": "string", + "description": "Tracker model for bus class.", + "default": "pass_through_tracker" + }, + "pedestrian_tracker": { + "type": "string", + "description": "Tracker model for pedestrian class.", + "default": "pass_through_tracker" + }, + "bicycle_tracker": { + "type": "string", + "description": "Tracker model for bicycle class.", + "default": "pass_through_tracker" + }, + "motorcycle_tracker": { + "type": "string", + "description": "Tracker model for motorcycle class.", + "default": "pass_through_tracker" + } + }, + "required": [ + "car_tracker", + "truck_tracker", + "bus_tracker", + "pedestrian_tracker", + "bicycle_tracker", + "motorcycle_tracker" + ] + } + }, + "properties": { + "/**": { + "type": "object", + "properties": { + "ros__parameters": { + "$ref": "#/definitions/simulation_tracker_node" + } + }, + "required": ["ros__parameters"] + } + }, + "required": ["/**"] +}