Back to all work
Hardware & Simulation· 2023· Project lead, team of 2Shipped

Snake Robot Simulation

Simulated snake robot with manual joint control and real-time casualty detection

Snake Robot Simulation

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.

Snake Robot Overview

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

Manual Control Interface

Robot Locomotion Snapshot

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.

Viola-Jones Algorithm with real time face tracking

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:

  1. Face Track Image Capture: Capturing images with a delay to simulate real-time processing lag.
  2. Face Track Video with Delay: Capturing images without any delay for immediate processing.
  3. 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 Variation vs Time

Angle Derivative 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.