Search and rescue happens in exactly the environments conventional robots handle worst: collapsed structures and confined spaces where wheels lose traction and legs have nowhere to stand. Snakes solve that locomotion problem naturally - which is why snake robots are a long-standing research subject, and why we picked one for this simulation study. The goal was twofold: reproduce a snake's agility through manually controlled joint angles, and give the robot a job worth doing - identifying human casualties through its camera feed.
As project lead, I developed the computer vision system for casualty identification and integrated the SolidWorks models into Simulink for motion control, with the results and analysis written up in a detailed report.
Two problems in one project
- Locomotion: Simulate the agility and flexibility of natural snakes through manual control of the robot's joint angles - smooth serpentine motion that can handle varied terrain and confined spaces.
- Perception: Enhance the operator's situational awareness with real-time image classification of human casualties.
Manual Motion Control
The robot's joints are adjusted manually, giving the operator direct control over its serpentine movement - the flexibility that matters in spaces where a fixed gait would get stuck.
- User-Controlled Joint Angles: Each joint can be adjusted individually, providing fine-grained control over the robot's shape and motion.
- Agility Simulation: The robot mimics the serpentine motion of a natural snake, enabling smooth, efficient movement.
Manual Control Interface
Robot Locomotion Snapshot
Casualty Identification
For the vision system I chose the Viola-Jones algorithm. It is decades old, but that was the point: it is fast enough for real-time detection on modest compute, well understood, and integrates directly with the MATLAB toolchain the rest of the simulation already lived in - the right trade for a study where detection speed mattered more than state-of-the-art accuracy.
Usage of the Viola-Jones Algorithm with real time face tracking
To understand the latency trade-offs, we evaluated the detector under three capture regimes rather than assuming real-time performance:
- Face Track Image Capture: Capturing images with a delay to simulate real-time processing lag.
- Face Track Video with Delay: Capturing images without any delay for immediate processing.
- Face Track Real-time without Delay: Processing continuous video streams to identify casualties in a live feed.
Results
The project demonstrated the feasibility of a snake-like robot for search and rescue: the manual control system delivered precise, snake-like movement, and the vision integration identified casualties in real time with a high degree of accuracy.
Angle Variation vs Time
Angle Derivative Variation vs Time
Future Work
Manual control and face detection were the scoped-down core; the honest limitations point at the next steps:
- Automated Kinematic Algorithms: Replace manual joint control with kinematic gait generation.
- Enhanced Image Processing: Move beyond face detection toward full-body casualty detection in cluttered scenes.
- Additional Sensors: Add sensing beyond the camera to support navigation in low-visibility environments.
Contributors
For more details, you can explore the GitHub repository and the project documentation.
