-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Summary
Add fault injection scenarios to the TurtleBot3 demo that showcase how ros2_medkit enables diagnosing and managing robot problems through the REST API and Web UI.
Proposed solution
Goals
- Demonstrate fault detection - Show faults appearing in Web UI
- Demonstrate fault analysis - View fault snapshots with context
- Demonstrate recovery - Clear faults and observe system healing
- Realistic scenarios - Real robotic failure modes
Proposed Fault Scenarios
Scenario 1: Sensor Timeout (LiDAR)
Simulated LiDAR driver stops publishing → detected as sensor fault
User flow:
- Robot navigating normally
- Click "Inject LiDAR Fault" button (via service call)
- See
LIDAR_TIMEOUTfault appear in Web UI Faults panel - Robot stops moving (Nav2 detects no scan data)
- Click "Clear Fault" → Fault clears, LiDAR resumes
Scenario 2: Motor Overheat
Simulated motor temperature exceeds threshold:
Fault memory snapshot shows temperature at fault time:
{
"motor_temp": 85.0,
"ambient_temp": 25.0,
"duty_cycle": 0.95,
"runtime_hours": 2.3
}Scenario 3: Localization Lost
AMCL reports high uncertainty → localization fault:
User flow:
- Robot navigating
- Teleport robot via Gazebo (breaks localization)
- See
LOCALIZATION_LOSTfault - Re-localize via Initial Pose → fault auto-clears
Scenario 4: Navigation Stuck
Robot unable to find path → planner fault
Scenario 5: Robot Collision (Multi-Robot)
Two TurtleBots collide while navigating → fleet-level fault
User flow:
- Send robot1 and robot2 to crossing paths
- Both robots detect collision (bumper contact in Gazebo)
- See
ROBOT_COLLISIONfaults on both robots in Web UI - Faults are correlated by timestamp and position
- Fleet manager can coordinate recovery (backup both robots)
- Clear faults → robots resume with new paths
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request