Skip to content

Robiswell/Euler_Rover_2026

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

417 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Identity: Team Euler Autonomous Hexapod Rover

Identity rover banner

Simulation Checks Raspberry Pi/Python: Gait Control Program Arduino/C++: Sensor Firmware License: PolyForm Noncommercial 1.0.0

Identity is a six-legged autonomous rover built by Team Euler for the COSGC robotics challenge. It combines Python control software on a Raspberry Pi 3B+, Arduino/C++ sensor firmware on an Arduino Nano, six Feetech STS3215 smart servos with runtime telemetry, ultrasonic sensing, and IMU feedback to test cost-conscious rough-terrain locomotion.

The project explored whether a six-servo hexapod could adapt to rough outdoor terrain using a small set of interpretable gait parameters instead of complex multi-joint planning or learned locomotion. The key control variables were Buehler-clock duty cycle, impact window, phase offsets, and a global speed setpoint.

The final build combined field-tested hardware, simulation-backed control logic, and documented validation results showing 31/32 successful traversals across seven terrain categories.

Project Snapshot

Category Summary
Project Autonomous six-legged rover using RHex-style C-leg locomotion
Stack Python, C++, Raspberry Pi 3B+, Arduino Nano, Feetech STS3215 serial smart servos, BNO085 IMU, HC-SR04 ultrasonic sensors
My focus Software, controls, validation, CAD/printing workflow, hardware selection, and build documentation
Outcome 31/32 formal traversals, 40/40 simulation checks, and 3 COSGC recognitions

The main README is intentionally concise; detailed build, validation, gait, media, release, and purchasing references are kept in docs/ for reviewers who want deeper evidence.

Quick Reviewer Path

Reader Start Here What It Shows
Recruiters and portfolio reviewers Project Snapshot, My Role, and Recognition And Publications Project outcome, validation result, awards, and public deliverables
Robotics and controls reviewers final_full_gait_test.py, Gait Control Reference, and Validation Reference Brain/Heart control split, smart-servo feedback, terrain adaptation, and validation strategy
Hardware reviewers Hardware Reference and Categorized Bill of Materials Actuation, sensing, power, printed structure, tread design, and purchasing traceability
Reproducing or running code Software Map and RUNNING.md Main runtime entry points, diagnostics, simulations, and launch commands

For control-software review, start with final_full_gait_test.py, ARCHITECTURE.md, and docs/gait-control.md.

Results At A Glance

Metric
Result
Metric
Result
Formal validation trials 31/32 successful Observed traversal success 96.9%
Terrain categories 7 Simulation tests 40/40 passing
Awards 3 COSGC recognitions Heart loop rate 30 Hz
Sensor update rate ~10 Hz Steady-state servo load margin At least 42% in formal trials

Validation is presented as pilot-scale testing; statistical framing and known limits are documented in docs/validation.md.

Engineering Highlights

Highlight Why It Matters
Multiprocess Brain/Heart architectureKeeps navigation logic from blocking the 30 Hz gait loop
STS3215 smart-servo telemetryTreats actuator feedback as sensor data for phase error, load, speed, voltage, current, temperature, and fault monitoring
Arduino Nano sensor hubMoves ultrasonic timing and IMU polling off the Raspberry Pi so sensor collection stays deterministic
Buehler-clock gait controlKeeps rough-terrain adaptation interpretable through duty cycle, impact window, phase offsets, and speed setpoint changes
Simulation-backed validationTests gait timing, terrain overlays, governors, and navigation FSM behavior before hardware runs
Field-tested C-leg locomotionValidated a cost-conscious PETG/TPU C-leg platform across sand, gravel, stone, carpet, packed earth, tile, and inclines

Repository Status

This repository contains the final public code, validation previews, CAD references, media links, and supporting documentation for the Team Euler rover build. Longer reference pages are collected in the docs index, and full-resolution media is hosted in the Portfolio Media Assets release.

Area Status
Final rover build Final Post-Competition Build, with cliff detection enabled in the public configuration
Primary runtime final_full_gait_test.py on Raspberry Pi plus final_sensors.ino on Arduino Nano
Validation 31/32 formal traversals successful, with 40/40 simulation checks passing at the symposium-paper checkpoint
Setup and references RUNNING.md, ARCHITECTURE.md, docs/README.md, and requirements.txt
Release history Earlier public milestones are preserved in docs/releases.md

My Role

This was a team robotics project. My individual work focused on software, controls, validation, and the mechanical design and 3D-printed fabrication work I personally owned, plus documentation for the parts of the build I led or integrated.

  • Co-developed and tuned the Python gait/navigation stack, including terrain overlays, telemetry-driven gait tuning, simulation validation, and competition-readiness fixes.
  • Integrated Arduino/C++ sensor firmware with the Raspberry Pi control stack and contributed firmware-facing fixes for ultrasonic/IMU data handling.
  • Built the simulation and telemetry-analysis tooling used to validate gait timing, navigation behavior, terrain overlays, safety governors, and post-run logs.
  • Used STS3215 smart-servo telemetry and field logs to tune gait behavior, load limits, phase-error handling, and safety governors.
  • Owned the CAD modeling and 3D printing workflow for the rover's custom mechanical parts, and selected and ordered hardware components recorded in the public BOM.
  • Contributed to electrical assembly, including soldering and wiring.

System Architecture

Identity rover system architecture diagram

The Brain process handles sensor interpretation, terrain classification, obstacle/cliff logic, and navigation state transitions. The Heart process runs the timing-critical gait loop, computes servo commands, reads STS3215 telemetry, applies safety governors, and keeps motor control isolated from slower navigation work.

See ARCHITECTURE.md for the full software architecture map, or docs/architecture.md for a diagram-focused overview.

Hardware Stack

Identity uses a cost-conscious, field-serviceable hardware stack built around one smart servo per C-leg, a Raspberry Pi control computer, and an Arduino sensor hub. The full hardware reference, measured geometry, CAD links, tread construction notes, and BOM routing live in docs/hardware.md.

Subsystem Components Purpose
Compute and sensing Raspberry Pi 3B+, Arduino Nano, BNO085 IMU, 8x HC-SR04 ultrasonic sensors Brain/Heart control, deterministic sensor timing, orientation feedback, obstacle detection, and cliff/drop-off sensing
Locomotion 6x Feetech STS3215 smart servos with C-shaped PETG/TPU legs Single-actuator C-leg motion with servo telemetry used for phase, load, speed, voltage, current, temperature, and error feedback
Structure and traction PETG octagonal chassis, TPU tread interface, adhesive bumper pads, hot-glue V tread Mechanically simple rough-terrain platform with a NASA rover-inspired chevron contact pattern
Power and integration 3S 3000 mAh LiPo, FE-URT-1 servo interface, wiring harnesses, fasteners, adhesives Portable power, servo bus configuration, and field-serviceable assembly

Bill Of Materials

BOM Snapshot Key Details Link
31 tracked purchase lines Control electronics, sensors, power, printed structure, wiring, adhesives, fasteners, and assembly supplies Categorized BOM
Locomotion core 6 STS3215 smart servos driving PETG/TPU C-legs BOM locomotion entries
Sensor coverage 8 ultrasonic sensors plus BNO085 IMU BOM sensing entries
Source export CSV generated from Robotics_Purchasing_2025-2026.xlsx Purchasing source CSV

Software Map

The main runtime is split between the Raspberry Pi gait/navigation program and Arduino sensor firmware. The full file-by-file map, diagnostics, launch modes, calibration tools, simulation helpers, telemetry analysis, and regression tests live in docs/software-map.md.

Area Primary Files Reviewer Signal
Runtime gait and autonomy final_full_gait_test.py, final_sensors.ino Main Raspberry Pi control loop plus Arduino sensor firmware used by the final rover
Running and diagnostics RUNNING.md, docs/software-map.md Hardware launch commands, dry-run modes, subsystem tests, and gait-specific checks

Gait Control

The gait engine follows a RHex-style Buehler clock. Duty cycle defines stance fraction, phase offsets define inter-leg timing, and a global speed setpoint controls phase progression. Tripod, wave, and quadruped modes were tuned for different terrain demands.

Control Feature Implementation
Interpretable gait parametersDuty cycle, impact window, phase offsets, and global speed setpoint
STS3215 feedback loopPosition, phase error, load, speed, voltage, current, temperature, and error flags
Safety governorsPhase-error slowdown, stall detection, brownout/current limits, thermal monitoring, and overload prevention
Detailed referencedocs/gait-control.md

STS3215 telemetry was central to the gait changes: the rover compared commanded and measured leg phase, slowed before phase lag became foot drag, used sustained load as a terrain signal, and applied voltage/current/temperature limits during field testing.

Navigation And Terrain Adaptation

The autonomous navigation layer uses an eight-state finite state machine for forward traversal, slow approach, arc turns, backing up, pivot turns, recovery wiggle, and safe stop behavior. Sensor input comes from ultrasonic range data, IMU orientation, servo telemetry, and watchdog state.

Terrain classification combines IMU pitch/roll, angular-rate stability, ultrasonic range changes, and servo-load trends. The navigation FSM diagram, terrain overlay chart, and servo load margin figure are collected in docs/validation.md.

Simulation And Testing

At the symposium-paper checkpoint, the project passed 40/40 automated simulation checks covering gait timing, terrain overlays, safety governors, and navigation FSM behavior. GitHub Actions runs the simulation and pytest regression suite on code, firmware, dependency, workflow, pull request, and manual-dispatch events.

Validation Resource
What It Verifies
Link
GitHub Actions simulation workflow Automated simulation and pytest regression checks across code, firmware, dependency, workflow, pull request, and manual-dispatch events Simulation Checks
Field results and known limits Formal traversal outcomes, terrain categories, servo load margin, pilot-test scope, and remaining validation limits Validation Reference
Local simulation commands Command references for sim_verify.py, sim_terrain.py, and sim_nav.py, including what the simulations do and do not model docs/validation.md

Recognition And Publications

COSGC 2026 Robotics Challenge certificate for Outstanding Demonstration of Creative Locomotion Outstanding Demonstration of Creative Locomotion

Awarded at the 2026 Colorado Space Grant Consortium Robotics Challenge for the rover's six C-leg locomotion system.
COSGC 2026 Best Robotics Poster certificate Best Robotics Poster

Awarded at the 2026 Colorado Space Grant Consortium Undergraduate Space Research Symposium for the rover research poster and technical presentation.
COSGC 2026 People's Choice Video certificate People's Choice Video

Awarded at the 2026 Colorado Space Grant Consortium Undergraduate Space Research Symposium for the Identity rover project video.
COSGC symposium poster presentation setup with rover prototype and printed parts 2026 NASA Colorado Space Grant Consortium Research Symposium Display

Presented the rover prototype, printed CAD components, and research poster together so reviewers could connect the software, mechanical design, and validation results.
Research Output
Context
View
Download
Paper Full technical writeup for the rover design, gait control approach, validation results, and project limitations View Paper Download Paper PDF
Presentation Slides Symposium presentation deck summarizing the engineering problem, rover architecture, gait strategy, and validation outcomes View Slides Download Slides PDF
Paper Presentation Video Recorded version of the symposium paper presentation with audio hosted externally for browser playback Watch on YouTube Download Presentation MP4
Poster Research-poster version of the project for quick review of motivation, design, validation, and outcomes View Poster Download Poster PDF
People's Choice Video Public-facing award video showing the rover and project story in a shorter presentation format Watch on YouTube Download Video MP4
Field Demos & Course Success Videos Gallery of full-resolution field demos and course-success videos with GIF previews Open Gallery N/A

Appendix: Project Reference Index

This optional index is organized by what someone might need to find later, rather than by file name. It points to the deeper references behind the portfolio summary above.

Looking For
Best Starting Point
What It Contains
Fast reviewer orientation Quick Reviewer Path, My Role Shortest route to the code, architecture, validation evidence, hardware summary, and individual contribution scope.
Programming contribution evidence final_full_gait_test.py, final_sensors.ino, docs/software-map.md, ARCHITECTURE.md Main Python gait/navigation stack, Arduino sensor firmware, runtime modes, Brain/Heart process split, safety governors, and simulation hooks.
Gait tuning and STS3215 telemetry Smart-Servo Feedback, Servo Load Margin How actuator telemetry was used as sensor input for phase error, load trends, speed feedback, voltage/current limits, temperature monitoring, and gait changes.
Validation claims and limits docs/validation.md, Simulation Checks Formal traversal outcomes, terrain categories, pilot-scale framing, known limits, and the automated simulation/pytest checkpoint.
Mechanical design and fabrication CAD Models, Printed Body Assembly, Tread Construction CAD references, printed chassis/lid assembly, C-leg geometry, TPU layer, adhesive bumper tread construction, hot-glue V-tread pattern, and fabrication notes.
BOM and purchasing traceability docs/BOM.md, docs/purchasing-bom.csv Categorized purchasing table, source links, quantities, pack counts, subsystem notes, and integration notes for the final public build.
Running, diagnostics, and reviewer commands RUNNING.md, Main Program Modes Simulation commands, dry-run modes, hardware launch commands, Arduino firmware notes, safety checklist, and review-friendly execution paths.
Sensor stack and data flow Sensor Firmware And Input, Sensor Pipeline Arduino Nano hub, ultrasonic sensors, BNO085 IMU input, Raspberry Pi handoff, watchdog behavior, and sensor integration points.
Field demos and course videos docs/media.md Full-resolution traversal videos, course-success runs, and GIF previews for sand, obstacle, indoor, and park-style navigation demos.
Research outputs and symposium materials Recognition And Publications, docs/paper-presentation-slides.md Paper, presentation slides, poster, paper-presentation video, People's Choice video, award certificates, and symposium display context.
Release history and public milestones docs/releases.md, Portfolio Media Assets Final public release trail, earlier milestone summaries, and the GitHub release that hosts full-resolution PDFs and MP4s.
Complete documentation map docs/README.md One-page index of the supporting docs for hardware, BOM, software, validation, media, release history, and reviewer references.

About

Autonomous hexapod rover using Python Raspberry Pi control, Arduino/C++ sensor firmware, Buehler-clock gait control, and simulation-backed terrain navigation.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors