autoware_error_monitor 
Purpose 
Autoware Error Monitor has two main functions.
It is to judge the system hazard level from the aggregated diagnostic information of each module of Autoware. 
It enables automatic recovery from the emergency state. 
 
Inner-workings / Algorithms 
State Transition 
updateEmergencyHoldingCondition Flow Chart 
Name 
Type 
Description 
 
 
/diagnostics_aggdiagnostic_msgs::msg::DiagnosticArrayDiagnostic information aggregated based diagnostic_aggregator setting  is used to 
 
/autoware/stateautoware_system_msgs::msg::AutowareStateRequired to ignore error during Route, Planning and Finalizing. 
 
/control/current_gate_modeautoware_control_msgs::msg::GateModeRequired to select the appropriate module from autonomous_driving or remote_control 
 
/vehicle/status/control_modeautoware_vehicle_msgs::msg::ControlModeRequired to not hold emergency during manual driving 
 
 
Output 
Name 
Type 
Description 
 
 
/system/emergency/hazard_statusautoware_system_msgs::msg::HazardStatusStampedHazardStatus contains system hazard level, emergency hold status and failure details 
 
/diagnostics_errdiagnostic_msgs::msg::DiagnosticArrayThis has the same contents as HazardStatus. This is used for visualization 
 
 
Parameters 
Node Parameters 
Name 
Type 
Default Value 
Explanation 
 
 
ignore_missing_diagnosticsbool 
falseIf this parameter is turned off, it will be ignored if required modules have not been received. 
 
add_leaf_diagnosticsbool 
trueRequired to use children diagnostics. 
 
diag_timeout_secdouble 
1.0 (sec)If required diagnostic is not received for a diag_timeout_sec, the diagnostic state become STALE state. 
 
data_ready_timeoutdouble 
30.0If 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_timeoutdouble 
5.0The vehicle can recovery to normal driving if emergencies disappear during hazard_recovery_timeout. 
 
use_emergency_holdbool 
falseIf it is false, the vehicle will return to normal as soon as emergencies disappear. 
 
use_emergency_hold_in_manual_drivingbool 
falseIf this parameter is turned off, emergencies will be ignored during manual driving. 
 
emergency_hazard_levelint 
2If hazard_level is more than emergency_hazard_level, autoware state will translate to emergency state 
 
 
Assumptions / Known limits 
TBD.