Two new packages: - saltybot_emergency_msgs: EmergencyEvent.msg, RecoveryAction.msg - saltybot_emergency: threat_detector, alert_manager, recovery_sequencer, emergency_fsm, emergency_node Implements: - ObstacleDetector: MAJOR <30cm, CRITICAL <10cm; suppressed when not moving - FallDetector: MINOR/MAJOR/CRITICAL tilt thresholds; floor-drop edge detection - StuckDetector: MAJOR after 3s wheel stall (cmd>threshold, actual~0) - BumpDetector: jerk = |Δ|a||/dt with gravity removal; MAJOR/CRITICAL thresholds - AlertManager: per-(type,level) suppression; MAJOR×N within window → CRITICAL escalation - RecoverySequencer: REVERSING→TURNING→RETRYING FSM; max_retries before GAVE_UP - EmergencyFSM: NOMINAL→STOPPING→RECOVERING→ESCALATED; acknowledge to clear - EmergencyNode: 20Hz ROS2 node; /saltybot/emergency, /saltybot/e_stop, cmd_vel mux 59/59 tests passing. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
23 lines
771 B
XML
23 lines
771 B
XML
<?xml version="1.0"?>
|
|
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
|
|
<package format="3">
|
|
<name>saltybot_emergency_msgs</name>
|
|
<version>0.1.0</version>
|
|
<description>Emergency behavior message definitions for SaltyBot (Issue #169)</description>
|
|
<maintainer email="sl-controls@saltylab.local">sl-controls</maintainer>
|
|
<license>MIT</license>
|
|
|
|
<buildtool_depend>ament_cmake</buildtool_depend>
|
|
<buildtool_depend>rosidl_default_generators</buildtool_depend>
|
|
|
|
<depend>builtin_interfaces</depend>
|
|
|
|
<exec_depend>rosidl_default_runtime</exec_depend>
|
|
|
|
<member_of_group>rosidl_interface_packages</member_of_group>
|
|
|
|
<export>
|
|
<build_type>ament_cmake</build_type>
|
|
</export>
|
|
</package>
|