From 2c5cea18de2f7e31f2f49bc0d37b1f36344be908 Mon Sep 17 00:00:00 2001 From: Yuki Takagi Date: Thu, 14 Nov 2024 15:05:28 +0900 Subject: [PATCH] set pcv diagns Signed-off-by: Yuki Takagi --- .../autoware-main.yaml | 35 ++-- .../system_diagnostic_monitor/control.yaml | 131 ++++++++---- .../system_diagnostic_monitor/planning.yaml | 189 ++++++++++++++---- .../system_diagnostic_monitor/vehicle.yaml | 82 +++++++- 4 files changed, 336 insertions(+), 101 deletions(-) diff --git a/autoware_launch/config/system/system_diagnostic_monitor/autoware-main.yaml b/autoware_launch/config/system/system_diagnostic_monitor/autoware-main.yaml index fbbfe384f2..b77f4e32e3 100644 --- a/autoware_launch/config/system/system_diagnostic_monitor/autoware-main.yaml +++ b/autoware_launch/config/system/system_diagnostic_monitor/autoware-main.yaml @@ -9,18 +9,10 @@ files: units: - path: /autoware/modes/local - type: and - list: - - { type: link, link: /autoware/vehicle } - - { type: link, link: /autoware/system } - - { type: link, link: /autoware/control/local } + type: stale - path: /autoware/modes/remote - type: and - list: - - { type: link, link: /autoware/vehicle } - - { type: link, link: /autoware/system } - - { type: link, link: /autoware/control/remote } + type: stale - path: /autoware/modes/stop type: ok @@ -30,10 +22,10 @@ units: list: - { type: link, link: /autoware/map } - { type: link, link: /autoware/localization } - - { type: link, link: /autoware/planning } + - { type: link, link: /planning/autonomous_available } - { type: link, link: /autoware/perception } - - { type: link, link: /autoware/control } - - { type: link, link: /autoware/vehicle } + - { type: link, link: /control/autonomous_available } + - { type: link, link: /vehicle/autonomous_available } - { type: link, link: /autoware/system } - path: /autoware/modes/pull_over @@ -41,10 +33,10 @@ units: list: - { type: link, link: /autoware/map } - { type: link, link: /autoware/localization } - - { type: link, link: /autoware/planning } + - { type: link, link: /planning/pull_over_available } - { type: link, link: /autoware/perception } - - { type: link, link: /autoware/control } - - { type: link, link: /autoware/vehicle } + - { type: link, link: /control/pull_over_available } + - { type: link, link: /vehicle/pull_over_available } - { type: link, link: /autoware/system } - path: /autoware/modes/comfortable_stop @@ -52,17 +44,14 @@ units: list: - { type: link, link: /autoware/map } - { type: link, link: /autoware/localization } - - { type: link, link: /autoware/planning } + - { type: link, link: /planning/comfortable_stop_available } - { type: link, link: /autoware/perception } - - { type: link, link: /autoware/control } - - { type: link, link: /autoware/vehicle } + - { type: link, link: /control/comfortable_stop_available } + - { type: link, link: /vehicle/comfortable_stop_available } - { type: link, link: /autoware/system } - path: /autoware/modes/emergency_stop - type: and - list: - - { type: link, link: /autoware/vehicle } - - { type: link, link: /autoware/system } + type: ok - path: /autoware/debug/tools type: and diff --git a/autoware_launch/config/system/system_diagnostic_monitor/control.yaml b/autoware_launch/config/system/system_diagnostic_monitor/control.yaml index 5551ed4575..bedadc17bf 100644 --- a/autoware_launch/config/system/system_diagnostic_monitor/control.yaml +++ b/autoware_launch/config/system/system_diagnostic_monitor/control.yaml @@ -1,68 +1,129 @@ units: - - path: /autoware/control + - path: /control/autonomous_available 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: link, link: /control/emergency_stop } + - { type: link, link: /control/pull_over } + - { type: link, link: /control/comfortable_stop } + + - path: /control/pull_over_available 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 } + - { type: link, link: /control/emergency_stop } + - { type: link, link: /control/comfortable_stop } - - path: /autoware/control/remote + - path: /control/comfortable_stop_available 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 } + - { type: link, link: /control/emergency_stop } - - path: /autoware/control/topic_rate_check/trajectory_follower - type: diag - node: topic_state_monitor_trajectory_follower_control_cmd - name: control_topic_status + # ******************************************************************************* + # NOTE: Please modify this section according to your environment and requirements. + # ******************************************************************************* + - path: /control/emergency_stop + type: and + list: + - { type: link, link: /control/001-topic_status/control_command-error } + - { type: link, link: /control/004-lane_departure-error } + - { type: link, link: /control/005-trajectory_deviation-error } + - { type: link, link: /control/009-aeb_emergency_stop } + # - { type: link, link: /control/010-max_distance_deviation-error } + # - { type: link, link: /control/011-slip_detection } + - { type: link, link: /control/collision_detector } + + - path: /control/comfortable_stop + type: and + + - path: /control/pull_over + type: and + + - path: /control/none + type: and + list: + - { type: link, link: /control/003-gate_heartbeat } + - { type: link, link: /control/007-external_command_converter_heartbeat } + - { type: link, link: /control/008-external_command_selector_heartbeat } + + # Intermediate paths + - path: /control/001-topic_status/control_command-error + type: warn-to-ok + item: + type: link + link: /control/001-topic_status/control_command + + - path: /control/004-lane_departure-error + type: warn-to-ok + item: + type: link + link: /control/004-lane_departure + + - path: /control/005-trajectory_deviation-error + type: warn-to-ok + item: + type: link + link: /control/005-trajectory_deviation + + - path: /control/010-max_distance_deviation-error + type: warn-to-ok + item: + type: link + link: /control/010-max_distance_deviation - - path: /autoware/control/topic_rate_check/control_command + - path: /control/001-topic_status/control_command type: diag node: topic_state_monitor_control_command_control_cmd name: control_topic_status + timeout: 1.0 - - path: /autoware/control/node_alive_monitoring/vehicle_cmd_gate + - path: /control/003-gate_heartbeat type: diag node: vehicle_cmd_gate name: heartbeat + timeout: 1.0 - - path: /autoware/control/emergency_braking - type: diag - node: autonomous_emergency_braking - name: aeb_emergency_stop - - - path: /autoware/control/performance_monitoring/lane_departure + - path: /control/004-lane_departure type: diag node: lane_departure_checker_node name: lane_departure + timeout: 1.0 - - path: /autoware/control/performance_monitoring/trajectory_deviation + - path: /control/005-trajectory_deviation type: diag node: lane_departure_checker_node name: trajectory_deviation + timeout: 1.0 - - path: /autoware/control/performance_monitoring/control_state + - path: /control/007-external_command_converter_heartbeat type: diag - node: controller_node_exe - name: control_state + node: external_cmd_converter + name: remote_control_topic_status + timeout: 1.0 - - path: /autoware/control/topic_rate_check/external_cmd_selector + - path: /control/008-external_command_selector_heartbeat type: diag node: external_cmd_selector name: heartbeat + timeout: 1.0 - - path: /autoware/control/topic_rate_check/external_cmd_converter + - path: /control/009-aeb_emergency_stop type: diag - node: external_cmd_converter - name: remote_control_topic_status + node: autonomous_emergency_braking + name: aeb_emergency_stop + timeout: 1.0 + + - path: /control/010-max_distance_deviation + type: diag + node: control_validator + name: control_validation_max_distance_deviation + timeout: 1.0 + + - path: /control/011-slip_detection + type: diag + node: slip_detector + name: slip_status + timeout: 3.0 + + - path: /control/collision_detector + type: diag + node: collision_detector + name: collision_detect diff --git a/autoware_launch/config/system/system_diagnostic_monitor/planning.yaml b/autoware_launch/config/system/system_diagnostic_monitor/planning.yaml index c403fec237..3a8240aedd 100644 --- a/autoware_launch/config/system/system_diagnostic_monitor/planning.yaml +++ b/autoware_launch/config/system/system_diagnostic_monitor/planning.yaml @@ -1,90 +1,203 @@ units: - - path: /autoware/planning - type: short-circuit-and + - path: /planning/autonomous_available + type: 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: link, link: /planning/emergency_stop } + - { type: link, link: /planning/pull_over } + - { type: link, link: /planning/comfortable_stop } + + - path: /planning/pull_over_available 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 + - { type: link, link: /planning/emergency_stop } + - { type: link, link: /planning/comfortable_stop } + + - path: /planning/comfortable_stop_available + type: and + list: + - { type: link, link: /planning/emergency_stop } + + # ******************************************************************************* + # NOTE: Please modify this section according to your environment and requirements. + # ******************************************************************************* + - path: /planning/emergency_stop + type: and + list: + - { type: link, link: /planning/001-topic_status/route-error } + - { type: link, link: /planning/001-topic_status/trajectory-error } + - { type: link, link: /planning/003-trajectory_finite_validation-error } + - { type: link, link: /planning/004-trajectory_interval_validation-error } + - { type: link, link: /planning/005-trajectory_curvature_validation-error } + - { type: link, link: /planning/006-trajectory_relative_angle_validation-error } + - { type: link, link: /planning/007-trajectory_lateral_acceleration_validation-error } + - { type: link, link: /planning/008-trajectory_acceleration_validation-error } + - { type: link, link: /planning/009-trajectory_deceleration_validation-error } + - { type: link, link: /planning/010-trajectory_steering_validation-error } + - { type: link, link: /planning/011-trajectory_steering_rate_validation-error } + - { type: link, link: /planning/012-trajectory_velocity_deviation_validation-error } + # - { type: link, link: /planning/013-collision_checker-error } + + - path: /planning/comfortable_stop + type: and + + - path: /planning/pull_over + type: and + + - path: /planning/none + type: and - - path: /autoware/planning/topic_rate_check/route + - path: /planning/001-topic_status/route-error + type: warn-to-ok + item: + type: link + link: /planning/001-topic_status/route + + - path: /planning/001-topic_status/trajectory-error + type: warn-to-ok + item: + type: link + link: /planning/001-topic_status/trajectory + + - path: /planning/003-trajectory_finite_validation-error + type: warn-to-ok + item: + type: link + link: /planning/003-trajectory_finite_validation + + - path: /planning/004-trajectory_interval_validation-error + type: warn-to-ok + item: + type: link + link: /planning/004-trajectory_interval_validation + + - path: /planning/005-trajectory_curvature_validation-error + type: warn-to-ok + item: + type: link + link: /planning/005-trajectory_curvature_validation + + - path: /planning/006-trajectory_relative_angle_validation-error + type: warn-to-ok + item: + type: link + link: /planning/006-trajectory_relative_angle_validation + + - path: /planning/007-trajectory_lateral_acceleration_validation-error + type: warn-to-ok + item: + type: link + link: /planning/007-trajectory_lateral_acceleration_validation + + - path: /planning/008-trajectory_acceleration_validation-error + type: warn-to-ok + item: + type: link + link: /planning/008-trajectory_acceleration_validation + + - path: /planning/009-trajectory_deceleration_validation-error + type: warn-to-ok + item: + type: link + link: /planning/009-trajectory_deceleration_validation + + - path: /planning/010-trajectory_steering_validation-error + type: warn-to-ok + item: + type: link + link: /planning/010-trajectory_steering_validation + + - path: /planning/011-trajectory_steering_rate_validation-error + type: warn-to-ok + item: + type: link + link: /planning/011-trajectory_steering_rate_validation + + - path: /planning/012-trajectory_velocity_deviation_validation-error + type: warn-to-ok + item: + type: link + link: /planning/012-trajectory_velocity_deviation_validation + + - path: /planning/013-collision_checker-error + type: warn-to-ok + item: + type: link + link: /planning/013-collision_checker + + - path: /planning/001-topic_status/route type: diag node: topic_state_monitor_mission_planning_route name: planning_topic_status + timeout: 1.0 - - path: /autoware/planning/topic_rate_check/trajectory + - path: /planning/001-topic_status/trajectory type: diag node: topic_state_monitor_scenario_planning_trajectory name: planning_topic_status + timeout: 1.0 - - path: /autoware/planning/trajectory_validation/finite + - path: /planning/003-trajectory_finite_validation type: diag node: planning_validator name: trajectory_validation_finite + timeout: 1.0 - - path: /autoware/planning/trajectory_validation/interval + - path: /planning/004-trajectory_interval_validation type: diag node: planning_validator name: trajectory_validation_interval + timeout: 1.0 - - path: /autoware/planning/trajectory_validation/curvature + - path: /planning/005-trajectory_curvature_validation type: diag node: planning_validator name: trajectory_validation_curvature + timeout: 1.0 - - path: /autoware/planning/trajectory_validation/angle + - path: /planning/006-trajectory_relative_angle_validation type: diag node: planning_validator name: trajectory_validation_relative_angle + timeout: 1.0 - - path: /autoware/planning/trajectory_validation/lateral_acceleration + - path: /planning/007-trajectory_lateral_acceleration_validation type: diag node: planning_validator name: trajectory_validation_lateral_acceleration + timeout: 1.0 - - path: /autoware/planning/trajectory_validation/acceleration + - path: /planning/008-trajectory_acceleration_validation type: diag node: planning_validator name: trajectory_validation_acceleration + timeout: 1.0 - - path: /autoware/planning/trajectory_validation/deceleration + - path: /planning/009-trajectory_deceleration_validation type: diag node: planning_validator name: trajectory_validation_deceleration + timeout: 1.0 - - path: /autoware/planning/trajectory_validation/steering + - path: /planning/010-trajectory_steering_validation type: diag node: planning_validator name: trajectory_validation_steering + timeout: 1.0 - - path: /autoware/planning/trajectory_validation/steering_rate + - path: /planning/011-trajectory_steering_rate_validation type: diag node: planning_validator name: trajectory_validation_steering_rate + timeout: 1.0 - - path: /autoware/planning/trajectory_validation/velocity_deviation + - path: /planning/012-trajectory_velocity_deviation_validation type: diag node: planning_validator name: trajectory_validation_velocity_deviation + timeout: 1.0 + + - path: /planning/013-collision_checker + type: diag + node: collision_checker + name: collision_check + timeout: 1.0 diff --git a/autoware_launch/config/system/system_diagnostic_monitor/vehicle.yaml b/autoware_launch/config/system/system_diagnostic_monitor/vehicle.yaml index e040e3c3c3..0034709dbc 100644 --- a/autoware_launch/config/system/system_diagnostic_monitor/vehicle.yaml +++ b/autoware_launch/config/system/system_diagnostic_monitor/vehicle.yaml @@ -1,16 +1,88 @@ units: - - path: /autoware/vehicle + - path: /vehicle/autonomous_available type: and list: - - { type: link, link: /autoware/vehicle/topic_rate_check/velocity } - - { type: link, link: /autoware/vehicle/topic_rate_check/steering } + - { type: link, link: /vehicle/emergency_stop } + - { type: link, link: /vehicle/pull_over } + - { type: link, link: /vehicle/comfortable_stop } - - path: /autoware/vehicle/topic_rate_check/velocity + - path: /vehicle/pull_over_available + type: and + list: + - { type: link, link: /vehicle/emergency_stop } + - { type: link, link: /vehicle/comfortable_stop } + + - path: /vehicle/comfortable_stop_available + type: and + list: + - { type: link, link: /vehicle/emergency_stop } + + # ******************************************************************************* + # NOTE: Please modify this section according to your environment and requirements. + # ******************************************************************************* + - path: /vehicle/emergency_stop + type: and + list: + - { type: link, link: /vehicle/001-topic_status/velocity-error } + - { type: link, link: /vehicle/001-topic_status/steering-error } + # - { type: link, link: /vehicle/005-vehicle_heartbeat-error } + # - { type: link, link: /vehicle/006-vehicle_errors-error } + + - path: /vehicle/comfortable_stop + type: and + # list: + # - { type: link, link: /vehicle/006-vehicle_errors } + + - path: /vehicle/pull_over + type: and + + - path: /vehicle/none + type: and + + - path: /vehicle/001-topic_status/velocity-error + type: warn-to-ok + item: + type: link + link: /vehicle/001-topic_status/velocity + + - path: /vehicle/001-topic_status/steering-error + type: warn-to-ok + item: + type: link + link: /vehicle/001-topic_status/steering + + # - path: /vehicle/005-vehicle_heartbeat-error + # type: warn-to-ok + # item: + # type: link + # link: /vehicle/005-vehicle_heartbeat + + # - path: /vehicle/006-vehicle_errors-error + # type: warn-to-ok + # item: + # type: link + # link: /vehicle/006-vehicle_errors + + - path: /vehicle/001-topic_status/velocity type: diag node: topic_state_monitor_vehicle_status_velocity_status name: vehicle_topic_status + timeout: 1.0 - - path: /autoware/vehicle/topic_rate_check/steering + - path: /vehicle/001-topic_status/steering type: diag node: topic_state_monitor_vehicle_status_steering_status name: vehicle_topic_status + timeout: 1.0 + + # - path: /vehicle/005-vehicle_heartbeat + # type: diag + # node: + # name: vehicle_heartbeat_errors + # timeout: 1.0 + + # - path: /vehicle/006-vehicle_errors + # type: diag + # node: + # name: vehicle_errors + # timeout: 1.0