emergency_handler
Purpose
Emergency Handler is a node to select proper MRM from from system failure state contained in HazardStatus.
Inner-workings / Algorithms
State Transitions
Name |
Type |
Description |
/system/emergency/hazard_status |
autoware_auto_system_msgs::msg::HazardStatusStamped |
Used to select proper MRM from system failure state contained in HazardStatus |
/control/vehicle_cmd |
autoware_auto_control_msgs::msg::AckermannControlCommand |
Used as reference when generate Emergency Control Command |
/localization/kinematic_state |
nav_msgs::msg::Odometry |
Used to decide whether vehicle is stopped or not |
/vehicle/status/control_mode |
autoware_auto_vehicle_msgs::msg::ControlModeReport |
Used to check vehicle mode: autonomous or manual |
/system/api/mrm/comfortable_stop/status |
tier4_system_msgs::msg::MrmBehaviorStatus |
Used to check if MRM comfortable stop operation is available |
/system/api/mrm/emergency_stop/status |
tier4_system_msgs::msg::MrmBehaviorStatus |
Used to check if MRM emergency stop operation is available |
Output
Name |
Type |
Description |
/system/emergency/shift_cmd |
autoware_auto_vehicle_msgs::msg::GearCommand |
Required to execute proper MRM (send gear cmd) |
/system/emergency/hazard_cmd |
autoware_auto_vehicle_msgs::msg::HazardLightsCommand |
Required to execute proper MRM (send turn signal cmd) |
/api/fail_safe/mrm_state |
autoware_adapi_v1_msgs::msg::MrmState |
Inform MRM execution state and selected MRM behavior |
/system/api/mrm/comfortable_stop/operate |
tier4_system_msgs::srv::OperateMrm |
Execution order for MRM comfortable stop |
/system/api/mrm/emergency_stop/operate |
tier4_system_msgs::srv::OperateMrm |
Execution order for MRM emergency stop |
Parameters
Name |
Type |
Description |
Default |
Range |
update_rate |
integer |
Timer callback period. |
10 |
N/A |
timeout_hazard_status |
float |
If the input hazard_status topic cannot be received for more than timeout_hazard_status , vehicle will make an emergency stop. |
0.5 |
N/A |
timeout_takeover_request |
float |
Transition to MRR_OPERATING if the time from the last takeover request exceeds timeout_takeover_request . |
10.0 |
N/A |
use_takeover_request |
boolean |
If this parameter is true, the handler will record the time and make take over request to the driver when emergency state occurs. |
false |
N/A |
use_parking_after_stopped |
boolean |
If this parameter is true, it will publish PARKING shift command. |
false |
N/A |
use_comfortable_stop |
boolean |
If this parameter is true, operate comfortable stop when latent faults occur. |
false |
N/A |
turning_hazard_on.emergency |
boolean |
If this parameter is true, hazard lamps will be turned on during emergency state. |
true |
N/A |
Assumptions / Known limits
TBD.