Build an autonomous quadruped that walks on servo-driven legs and demonstrates four biologically-inspired behaviours in a controlled test environment.
Outside the software sprint, I independently designed the leg and joint mechanism — hip, knee, ankle, left/right legs and the locomotion sub-assembly with its engineering drawing — and managed the repository structure and the majority of its commit/PR history.
A priority-based arbitration loop over adapter-wrapped behaviours. Every behaviour exposes check() / execute(); higher priorities interrupt lower ones — a detected predator halts a walk cycle mid-stride.
Statically stable: three feet planted at all times. Sequence and per-leg timing iterated in Isaac Sim, then transferred to the physical calibration.
The gait was designed from scratch in NVIDIA Isaac Sim — leg-swing timing, stride sequencing and stability iterated in simulation rather than tuned blind on servos. The crawl sequence and per-leg timing came out of that loop.
One arbitration loop owns the robot. Behaviours don't negotiate with each other — they declare priority, and the loop interrupts lower-priority work cleanly, including mid-stride.
Obstacle and predator logic consume the same SharedUltrasonicReader instead of polling sensors twice — one source of truth classifying CLEAR / OBSTACLE / PREDATOR / BOTH.
Per-leg home angles and direction signs live in calibration.json with a tuning utility — servo replacement or mechanical drift never requires a firmware edit.