Skip to content

autoware_error_monitor#

Purpose#

Autoware Error Monitor has two main functions.

  1. It is to judge the system hazard level from the aggregated diagnostic information of each module of Autoware.
  2. It enables automatic recovery from the emergency state.

Inner-workings / Algorithms#

State Transition#

uml diagram

updateEmergencyHoldingCondition Flow Chart#

uml diagram

Inputs / Outputs#

Input#

Name Type Description
/diagnostics_agg diagnostic_msgs::msg::DiagnosticArray Diagnostic information aggregated based diagnostic_aggregator setting is used to
/autoware/state autoware_system_msgs::msg::AutowareState Required to ignore error during Route, Planning and Finalizing.
/control/current_gate_mode autoware_control_msgs::msg::GateMode Required to select the appropriate module from autonomous_driving or remote_control
/vehicle/status/control_mode autoware_vehicle_msgs::msg::ControlMode Required to not hold emergency during manual driving

Output#

Name Type Description
/system/emergency/hazard_status autoware_system_msgs::msg::HazardStatusStamped HazardStatus contains system hazard level, emergency hold status and failure details
/diagnostics_err diagnostic_msgs::msg::DiagnosticArray This has the same contents as HazardStatus. This is used for visualization

Parameters#

Node Parameters#

Name Type Default Value Explanation
ignore_missing_diagnostics bool false If this parameter is turned off, it will be ignored if required modules have not been received.
add_leaf_diagnostics bool true Required to use children diagnostics.
diag_timeout_sec double 1.0 (sec) If required diagnostic is not received for a diag_timeout_sec, the diagnostic state become STALE state.
data_ready_timeout double 30.0 If input topics required for autoware_error_monitor are not available for data_ready_timeout seconds, autoware_state will translate to emergency state.

Core Parameters#

Name Type Default Value Explanation
hazard_recovery_timeout double 5.0 The vehicle can recovery to normal driving if emergencies disappear during hazard_recovery_timeout.
use_emergency_hold bool false If it is false, the vehicle will return to normal as soon as emergencies disappear.
use_emergency_hold_in_manual_driving bool false If this parameter is turned off, emergencies will be ignored during manual driving.
emergency_hazard_level int 2 If hazard_level is more than emergency_hazard_level, autoware state will translate to emergency state

Assumptions / Known limits#

TBD.