From 6b22d4407bb800a2cad9ba6236d898da3cf3e2cf Mon Sep 17 00:00:00 2001 From: Zhanhong Yan <43631587+Ericpotato@users.noreply.github.com> Date: Fri, 9 Aug 2024 21:10:30 +0900 Subject: [PATCH] feat(diagnostic_graph_aggregator): introduce diagnostic graph aggregator feature into beta/v0.46.0 (#927) (#937) * add psim setting files of diagnostic_graph_aggregator * add debug example * style(pre-commit): autofix * typo fixed * setting diagnostic config entrance for autoware.launch.xml * remove diagnostic_graph unused psim config and change logging_simulator config file to autoware.yaml * remove unused hardware.yaml file --------- Signed-off-by: Ericpotato Co-authored-by: Ericpotato --- .../autoware-main.yaml | 2 + .../autoware-psim.yaml | 5 -- .../diagnostic_graph_aggregator/autoware.yaml | 70 +++++++++++++++ .../diagnostic_graph_aggregator/control.yaml | 68 ++++++++++++++ .../localization.yaml | 43 +++++++++ .../diagnostic_graph_aggregator/map.yaml | 16 ++++ .../perception.yaml | 16 ++++ .../diagnostic_graph_aggregator/planning.yaml | 90 +++++++++++++++++++ .../diagnostic_graph_aggregator/system.yaml | 27 ++++++ .../diagnostic_graph_aggregator/vehicle.yaml | 16 ++++ .../dummy_diag_publisher.param.yaml | 69 ++++++++------ autoware_launch/launch/autoware.launch.xml | 2 +- .../tier4_system_component.launch.xml | 2 +- .../launch/logging_simulator.launch.xml | 2 +- .../launch/planning_simulator.launch.xml | 4 +- 15 files changed, 394 insertions(+), 38 deletions(-) delete mode 100644 autoware_launch/config/system/diagnostic_graph_aggregator/autoware-psim.yaml create mode 100644 autoware_launch/config/system/diagnostic_graph_aggregator/autoware.yaml create mode 100644 autoware_launch/config/system/diagnostic_graph_aggregator/control.yaml create mode 100644 autoware_launch/config/system/diagnostic_graph_aggregator/localization.yaml create mode 100644 autoware_launch/config/system/diagnostic_graph_aggregator/map.yaml create mode 100644 autoware_launch/config/system/diagnostic_graph_aggregator/perception.yaml create mode 100644 autoware_launch/config/system/diagnostic_graph_aggregator/planning.yaml create mode 100644 autoware_launch/config/system/diagnostic_graph_aggregator/system.yaml create mode 100644 autoware_launch/config/system/diagnostic_graph_aggregator/vehicle.yaml diff --git a/autoware_launch/config/system/diagnostic_graph_aggregator/autoware-main.yaml b/autoware_launch/config/system/diagnostic_graph_aggregator/autoware-main.yaml index f35f219df6..7d0a1c0c8a 100644 --- a/autoware_launch/config/system/diagnostic_graph_aggregator/autoware-main.yaml +++ b/autoware_launch/config/system/diagnostic_graph_aggregator/autoware-main.yaml @@ -1,3 +1,5 @@ +# This is the default setting file of diagnostic_graph_aggregator for vehicle usage +# We will use autoware.yaml to replace this file for vehicle test in the future files: - { path: $(find-pkg-share system_diagnostic_monitor)/config/autoware-main.yaml } diff --git a/autoware_launch/config/system/diagnostic_graph_aggregator/autoware-psim.yaml b/autoware_launch/config/system/diagnostic_graph_aggregator/autoware-psim.yaml deleted file mode 100644 index e11f391606..0000000000 --- a/autoware_launch/config/system/diagnostic_graph_aggregator/autoware-psim.yaml +++ /dev/null @@ -1,5 +0,0 @@ -files: - - { path: $(find-pkg-share system_diagnostic_monitor)/config/autoware-psim.yaml } - -edits: - - { type: remove, path: /autoware/control/emergency_braking } diff --git a/autoware_launch/config/system/diagnostic_graph_aggregator/autoware.yaml b/autoware_launch/config/system/diagnostic_graph_aggregator/autoware.yaml new file mode 100644 index 0000000000..26f3fee286 --- /dev/null +++ b/autoware_launch/config/system/diagnostic_graph_aggregator/autoware.yaml @@ -0,0 +1,70 @@ +files: + - { path: $(find-pkg-share system_diagnostic_monitor)/config/map.yaml } + - { path: $(find-pkg-share system_diagnostic_monitor)/config/localization.yaml } + - { path: $(find-pkg-share system_diagnostic_monitor)/config/planning.yaml } + - { path: $(find-pkg-share system_diagnostic_monitor)/config/perception.yaml } + - { path: $(find-pkg-share system_diagnostic_monitor)/config/control.yaml } + - { path: $(find-pkg-share system_diagnostic_monitor)/config/vehicle.yaml } + - { path: $(find-pkg-share system_diagnostic_monitor)/config/system.yaml } + +units: + - path: /autoware/modes/stop + type: ok + + - path: /autoware/modes/autonomous + type: and + list: + - { type: link, link: /autoware/map } + - { type: link, link: /autoware/localization } + - { type: link, link: /autoware/planning } + - { type: link, link: /autoware/perception } + - { type: link, link: /autoware/control } + - { type: link, link: /autoware/vehicle } + - { type: link, link: /autoware/system } + + - path: /autoware/modes/local + type: and + list: + - { type: link, link: /autoware/vehicle } + - { type: link, link: /autoware/system } + - { type: link, link: /autoware/control/local } + + - path: /autoware/modes/remote + type: and + list: + - { type: link, link: /autoware/vehicle } + - { type: link, link: /autoware/system } + - { type: link, link: /autoware/control/remote } + + - path: /autoware/modes/emergency_stop + type: and + list: + - { type: link, link: /autoware/vehicle } + - { type: link, link: /autoware/system } + + - path: /autoware/modes/comfortable_stop + type: and + list: + - { type: link, link: /autoware/map } + - { type: link, link: /autoware/localization } + - { type: link, link: /autoware/planning } + - { type: link, link: /autoware/perception } + - { type: link, link: /autoware/control } + - { type: link, link: /autoware/vehicle } + - { type: link, link: /autoware/system } + + - path: /autoware/modes/pull_over + type: and + list: + - { type: link, link: /autoware/map } + - { type: link, link: /autoware/localization } + - { type: link, link: /autoware/planning } + - { type: link, link: /autoware/perception } + - { type: link, link: /autoware/control } + - { type: link, link: /autoware/vehicle } + - { type: link, link: /autoware/system } + + - path: /autoware/debug/tools + type: and + list: + - { type: link, link: /autoware/system/service_log_checker } diff --git a/autoware_launch/config/system/diagnostic_graph_aggregator/control.yaml b/autoware_launch/config/system/diagnostic_graph_aggregator/control.yaml new file mode 100644 index 0000000000..5551ed4575 --- /dev/null +++ b/autoware_launch/config/system/diagnostic_graph_aggregator/control.yaml @@ -0,0 +1,68 @@ +units: + - path: /autoware/control + type: and + list: + - { type: link, link: /autoware/control/topic_rate_check/trajectory_follower } + - { type: link, link: /autoware/control/topic_rate_check/control_command } + - { type: link, link: /autoware/control/node_alive_monitoring/vehicle_cmd_gate } + - { type: link, link: /autoware/control/emergency_braking } + - { type: link, link: /autoware/control/performance_monitoring/lane_departure } + - { type: link, link: /autoware/control/performance_monitoring/trajectory_deviation } + - { type: link, link: /autoware/control/performance_monitoring/control_state } + + - path: /autoware/control/local + type: and + list: + - { type: link, link: /autoware/control/topic_rate_check/external_cmd_selector } + - { type: link, link: /autoware/control/topic_rate_check/external_cmd_converter } + + - path: /autoware/control/remote + type: and + list: + - { type: link, link: /autoware/control/topic_rate_check/external_cmd_selector } + - { type: link, link: /autoware/control/topic_rate_check/external_cmd_converter } + + - path: /autoware/control/topic_rate_check/trajectory_follower + type: diag + node: topic_state_monitor_trajectory_follower_control_cmd + name: control_topic_status + + - path: /autoware/control/topic_rate_check/control_command + type: diag + node: topic_state_monitor_control_command_control_cmd + name: control_topic_status + + - path: /autoware/control/node_alive_monitoring/vehicle_cmd_gate + type: diag + node: vehicle_cmd_gate + name: heartbeat + + - path: /autoware/control/emergency_braking + type: diag + node: autonomous_emergency_braking + name: aeb_emergency_stop + + - path: /autoware/control/performance_monitoring/lane_departure + type: diag + node: lane_departure_checker_node + name: lane_departure + + - path: /autoware/control/performance_monitoring/trajectory_deviation + type: diag + node: lane_departure_checker_node + name: trajectory_deviation + + - path: /autoware/control/performance_monitoring/control_state + type: diag + node: controller_node_exe + name: control_state + + - path: /autoware/control/topic_rate_check/external_cmd_selector + type: diag + node: external_cmd_selector + name: heartbeat + + - path: /autoware/control/topic_rate_check/external_cmd_converter + type: diag + node: external_cmd_converter + name: remote_control_topic_status diff --git a/autoware_launch/config/system/diagnostic_graph_aggregator/localization.yaml b/autoware_launch/config/system/diagnostic_graph_aggregator/localization.yaml new file mode 100644 index 0000000000..62bf17775c --- /dev/null +++ b/autoware_launch/config/system/diagnostic_graph_aggregator/localization.yaml @@ -0,0 +1,43 @@ +units: + - path: /autoware/localization + type: short-circuit-and + list: + - type: link + link: /autoware/localization/state + - type: and + list: + - { type: link, link: /autoware/localization/topic_rate_check/transform } + - { type: link, link: /autoware/localization/topic_rate_check/pose_twist_fusion } + - { type: link, link: /autoware/localization/scan_matching_status } + - { type: link, link: /autoware/localization/accuracy } + - { type: link, link: /autoware/localization/sensor_fusion_status } + + - path: /autoware/localization/state + type: diag + node: component_state_diagnostics + name: localization_state + + - path: /autoware/localization/topic_rate_check/transform + type: diag + node: topic_state_monitor_transform_map_to_base_link + name: localization_topic_status + + - path: /autoware/localization/topic_rate_check/pose_twist_fusion + type: diag + node: topic_state_monitor_pose_twist_fusion_filter_pose + name: localization_topic_status + + - path: /autoware/localization/scan_matching_status + type: diag + node: ndt_scan_matcher + name: scan_matching_status + + - path: /autoware/localization/accuracy + type: diag + node: localization + name: localization_error_monitor + + - path: /autoware/localization/sensor_fusion_status + type: diag + node: localization + name: ekf_localizer diff --git a/autoware_launch/config/system/diagnostic_graph_aggregator/map.yaml b/autoware_launch/config/system/diagnostic_graph_aggregator/map.yaml new file mode 100644 index 0000000000..231ac6eb5f --- /dev/null +++ b/autoware_launch/config/system/diagnostic_graph_aggregator/map.yaml @@ -0,0 +1,16 @@ +units: + - path: /autoware/map + type: and + list: + - { type: link, link: /autoware/map/topic_rate_check/vector_map } + - { type: link, link: /autoware/map/topic_rate_check/pointcloud_map } + + - path: /autoware/map/topic_rate_check/vector_map + type: diag + node: topic_state_monitor_vector_map + name: map_topic_status + + - path: /autoware/map/topic_rate_check/pointcloud_map + type: diag + node: topic_state_monitor_pointcloud_map + name: map_topic_status diff --git a/autoware_launch/config/system/diagnostic_graph_aggregator/perception.yaml b/autoware_launch/config/system/diagnostic_graph_aggregator/perception.yaml new file mode 100644 index 0000000000..24e3c4eed5 --- /dev/null +++ b/autoware_launch/config/system/diagnostic_graph_aggregator/perception.yaml @@ -0,0 +1,16 @@ +units: + - path: /autoware/perception + type: and + list: + - { type: link, link: /autoware/perception/topic_rate_check/objects } + - { type: link, link: /autoware/perception/topic_rate_check/pointcloud } + + - path: /autoware/perception/topic_rate_check/objects + type: diag + node: topic_state_monitor_object_recognition_objects + name: perception_topic_status + + - path: /autoware/perception/topic_rate_check/pointcloud + type: diag + node: topic_state_monitor_obstacle_segmentation_pointcloud + name: perception_topic_status diff --git a/autoware_launch/config/system/diagnostic_graph_aggregator/planning.yaml b/autoware_launch/config/system/diagnostic_graph_aggregator/planning.yaml new file mode 100644 index 0000000000..c403fec237 --- /dev/null +++ b/autoware_launch/config/system/diagnostic_graph_aggregator/planning.yaml @@ -0,0 +1,90 @@ +units: + - path: /autoware/planning + type: short-circuit-and + list: + - type: link + link: /autoware/planning/routing/state + - type: and + list: + - { type: link, link: /autoware/planning/topic_rate_check/route } + - { type: link, link: /autoware/planning/topic_rate_check/trajectory } + - { type: link, link: /autoware/planning/trajectory_validation } + + - path: /autoware/planning/trajectory_validation + type: and + list: + - { type: link, link: /autoware/planning/trajectory_validation/finite } + - { type: link, link: /autoware/planning/trajectory_validation/interval } + - { type: link, link: /autoware/planning/trajectory_validation/curvature } + - { type: link, link: /autoware/planning/trajectory_validation/angle } + - { type: link, link: /autoware/planning/trajectory_validation/lateral_acceleration } + - { type: link, link: /autoware/planning/trajectory_validation/acceleration } + - { type: link, link: /autoware/planning/trajectory_validation/deceleration } + - { type: link, link: /autoware/planning/trajectory_validation/steering } + - { type: link, link: /autoware/planning/trajectory_validation/steering_rate } + - { type: link, link: /autoware/planning/trajectory_validation/velocity_deviation } + + - path: /autoware/planning/routing/state + type: diag + node: component_state_diagnostics + name: route_state + + - path: /autoware/planning/topic_rate_check/route + type: diag + node: topic_state_monitor_mission_planning_route + name: planning_topic_status + + - path: /autoware/planning/topic_rate_check/trajectory + type: diag + node: topic_state_monitor_scenario_planning_trajectory + name: planning_topic_status + + - path: /autoware/planning/trajectory_validation/finite + type: diag + node: planning_validator + name: trajectory_validation_finite + + - path: /autoware/planning/trajectory_validation/interval + type: diag + node: planning_validator + name: trajectory_validation_interval + + - path: /autoware/planning/trajectory_validation/curvature + type: diag + node: planning_validator + name: trajectory_validation_curvature + + - path: /autoware/planning/trajectory_validation/angle + type: diag + node: planning_validator + name: trajectory_validation_relative_angle + + - path: /autoware/planning/trajectory_validation/lateral_acceleration + type: diag + node: planning_validator + name: trajectory_validation_lateral_acceleration + + - path: /autoware/planning/trajectory_validation/acceleration + type: diag + node: planning_validator + name: trajectory_validation_acceleration + + - path: /autoware/planning/trajectory_validation/deceleration + type: diag + node: planning_validator + name: trajectory_validation_deceleration + + - path: /autoware/planning/trajectory_validation/steering + type: diag + node: planning_validator + name: trajectory_validation_steering + + - path: /autoware/planning/trajectory_validation/steering_rate + type: diag + node: planning_validator + name: trajectory_validation_steering_rate + + - path: /autoware/planning/trajectory_validation/velocity_deviation + type: diag + node: planning_validator + name: trajectory_validation_velocity_deviation diff --git a/autoware_launch/config/system/diagnostic_graph_aggregator/system.yaml b/autoware_launch/config/system/diagnostic_graph_aggregator/system.yaml new file mode 100644 index 0000000000..cb96c2cd7f --- /dev/null +++ b/autoware_launch/config/system/diagnostic_graph_aggregator/system.yaml @@ -0,0 +1,27 @@ +units: + - path: /autoware/system + type: and + list: + - { type: link, link: /autoware/system/duplicated_node_checker } + - { type: link, link: /autoware/system/topic_rate_check/emergency_control_command } + - { type: link, link: /autoware/system/emergency_stop_operation } + + - path: /autoware/system/duplicated_node_checker + type: diag + node: duplicated_node_checker + name: duplicated_node_checker + + - path: /autoware/system/service_log_checker + type: diag + node: service_log_checker + name: response_status + + - path: /autoware/system/topic_rate_check/emergency_control_command + type: diag + node: topic_state_monitor_system_emergency_control_cmd + name: system_topic_status + + - path: /autoware/system/emergency_stop_operation + type: diag + node: vehicle_cmd_gate + name: emergency_stop_operation diff --git a/autoware_launch/config/system/diagnostic_graph_aggregator/vehicle.yaml b/autoware_launch/config/system/diagnostic_graph_aggregator/vehicle.yaml new file mode 100644 index 0000000000..e040e3c3c3 --- /dev/null +++ b/autoware_launch/config/system/diagnostic_graph_aggregator/vehicle.yaml @@ -0,0 +1,16 @@ +units: + - path: /autoware/vehicle + type: and + list: + - { type: link, link: /autoware/vehicle/topic_rate_check/velocity } + - { type: link, link: /autoware/vehicle/topic_rate_check/steering } + + - path: /autoware/vehicle/topic_rate_check/velocity + type: diag + node: topic_state_monitor_vehicle_status_velocity_status + name: vehicle_topic_status + + - path: /autoware/vehicle/topic_rate_check/steering + type: diag + node: topic_state_monitor_vehicle_status_steering_status + name: vehicle_topic_status diff --git a/autoware_launch/config/system/dummy_diag_publisher/dummy_diag_publisher.param.yaml b/autoware_launch/config/system/dummy_diag_publisher/dummy_diag_publisher.param.yaml index ff3b0881a0..ca75ddceeb 100644 --- a/autoware_launch/config/system/dummy_diag_publisher/dummy_diag_publisher.param.yaml +++ b/autoware_launch/config/system/dummy_diag_publisher/dummy_diag_publisher.param.yaml @@ -14,38 +14,51 @@ /**: ros__parameters: required_diags: + #example + #"node: name": default + + # Debug + # "node_A: name_B": default + + #map + "topic_state_monitor_pointcloud_map: map_topic_status": default + #control - joy_controller_connection: default + # joy_controller_connection: default #localization - localization_accuracy: default - ndt_scan_matcher: default + "topic_state_monitor_pose_twist_fusion_filter_pose: localization_topic_status": default + "ndt_scan_matcher: scan_matching_status": default + "localization: localization_error_monitor": default + "localization: ekf_localizer": default #system - bagpacker: default - NTP Offset: default - CPU Temperature: default - CPU Usage: default - CPU Thermal Throttling: default - CPU Frequency: default - CPU Load Average: default - GPU Temperature: default - GPU Usage: default - GPU Memory Usage: default - GPU Thermal Throttling: default - Memory Usage: default - Network Usage: default - Network Traffic: default - HDD Temperature: default - HDD Usage: default - HDD PowerOnHours: default - HDD TotalDataWritten: default - High-load: default - High-mem: default - Tasks Summary: default + + # bagpacker: default + # NTP Offset: default + # CPU Temperature: default + # CPU Usage: default + # CPU Thermal Throttling: default + # CPU Frequency: default + # CPU Load Average: default + # GPU Temperature: default + # GPU Usage: default + # GPU Memory Usage: default + # GPU Thermal Throttling: default + # Memory Usage: default + # Network Usage: default + # Network Traffic: default + # HDD Temperature: default + # HDD Usage: default + # HDD PowerOnHours: default + # HDD TotalDataWritten: default + # High-load: default + # High-mem: default + # Tasks Summary: default #vehicle - vehicle_errors: default - pacmod_errors: default - pacmod_accel_brake_fault: default - accel_brake_map_calibrator: default + + # vehicle_errors: default + # pacmod_errors: default + # pacmod_accel_brake_fault: default + # accel_brake_map_calibrator: default diff --git a/autoware_launch/launch/autoware.launch.xml b/autoware_launch/launch/autoware.launch.xml index d1c35ab7c3..f06063c86a 100644 --- a/autoware_launch/launch/autoware.launch.xml +++ b/autoware_launch/launch/autoware.launch.xml @@ -38,7 +38,7 @@ - + diff --git a/autoware_launch/launch/components/tier4_system_component.launch.xml b/autoware_launch/launch/components/tier4_system_component.launch.xml index d17925549b..3cb8881482 100644 --- a/autoware_launch/launch/components/tier4_system_component.launch.xml +++ b/autoware_launch/launch/components/tier4_system_component.launch.xml @@ -2,7 +2,7 @@ - + diff --git a/autoware_launch/launch/logging_simulator.launch.xml b/autoware_launch/launch/logging_simulator.launch.xml index 50b7e4ff3b..3609b32c2d 100644 --- a/autoware_launch/launch/logging_simulator.launch.xml +++ b/autoware_launch/launch/logging_simulator.launch.xml @@ -68,7 +68,7 @@ - + diff --git a/autoware_launch/launch/planning_simulator.launch.xml b/autoware_launch/launch/planning_simulator.launch.xml index 305f55a930..8ff7eca467 100644 --- a/autoware_launch/launch/planning_simulator.launch.xml +++ b/autoware_launch/launch/planning_simulator.launch.xml @@ -18,7 +18,7 @@ - + @@ -68,7 +68,7 @@ - +