Autoware monitoring system: Implement Autoware Error Monitor
Description
graph TD
classDef tier_iv fill:#f9f;
classDef arm fill:#f96;
subgraph Legend
arm_to_implement[Arm To Implement]:::arm
tier_iv_to_implement[Tier IV To Implement]:::tier_iv
end
subgraph Autoware Monitoring System
state_monitor[Autoware State Monitor]:::tier_iv
error_monitor[Autoware Error Monitor]:::arm
eme_handler[emergency Handler]:::tier_iv
monitor_events_topic{{/diagnostics}}:::arm
end
subgraph Autoware Core Functionalities
other_nodes_0[Autoware Node 0]
other_nodes_1[Autoware Node 1]
other_nodes_2[Autoware Node 2]
other_nodes_3[Autoware Node 3]
other_nodes_4[Autoware Node 4]
end
subgraph Vehicle Interface
vehicle_controls[Vehicle Controls]
end
other_nodes_0 -->|/vehicle/engage| state_monitor
other_nodes_1 -->|/vechicle/state_report| state_monitor
other_nodes_2 -->|...| state_monitor
other_nodes_3 --> |/vehicle/odometry| eme_handler
other_nodes_4 --> |/vehicle/state_report| eme_handler
other_nodes_2 --> |...| eme_handler
other_nodes_0 -->|monitor API|monitor_events_topic
other_nodes_1 -->|monitor API|monitor_events_topic
other_nodes_2 -->|monitor API|monitor_events_topic
other_nodes_3 -->|monitor API|monitor_events_topic
other_nodes_4 -->|monitor API|monitor_events_topic
monitor_events_topic --> error_monitor
error_monitor -->|/vehicle/driving_capability|eme_handler
state_monitor --> |/vehicle/engage|vehicle_controls
eme_handler -->|/vehicle_emergency/vehicle_command|vehicle_controls
eme_handler -->|/vehicle_emergency/hazard_status|vehicle_controls
eme_handler -->|...|vehicle_controls
state_monitor -->|/vehicle/state| vehicle_controls
Implement the error monitor in the Autoware monitoring system.
Purpose
The node monitors the running of every autoware node in order to make sure the system is running at an optimum rate.
Desired Behavior
Nodes in the autoware system emit diagnostic messages to the /diagnostic topic. The error monitor ingests these messages and makes a determination of the system state. The error monitor should then publish this as a driving capability message.
The error monitor should be able to determine complex failure conditions such as:
- if there are 2 modes of perception, only one mode fails, the vehicle can still perform normally.
- If there are 3 modes of localization, only one mode running slow, the vehicle is still capable of driving. This can be achieved by some user configuration, needs some further thought.
Definition of Done
-
Implement the functionally -
Integrate with the rest of the monitoring system.
Edited by Liyou Zhou