From-Scratch Build · 04 · Quadruped Robotics
A good-boy robot dog you can build for under €500. Four legs, twelve servos, and a surprising amount of trigonometry — rebuilt from scratch to understand how a walking robot goes from CAD model to ROS2 node to coordinated step.
What it is
This is an autonomous quadruped robot — a robot dog — built on a single thesis: be a strong platform that anyone can replicate, deliberately sitting in the trade-off between quality and cost so the whole thing comes in under €500. CAD, firmware, control and docs are all kept open.
What drew me to rebuild it is that it spans the entire robotics stack in one project: you design the legs (CAD), drive the motors (firmware), do the maths that turns "put the foot here" into joint angles (inverse kinematics), and orchestrate it all (ROS2) — with a simulator to test before you risk the real servos.
The stack
Building this robot dog meant touching every layer of robotics at once. These are the tools that matter.
The nervous system. A workspace of nodes — for perception, kinematics and gait — passing messages so the legs act as one body.
Given where you want a foot, solve for the servo angles that put it there. The heart of every leg movement.
Low-level code on the microcontroller that drives the PWM signals to twelve servos with the timing they demand.
Printable parts for the frame and legs — the physical body, shared so anyone can fabricate it.
Try a gait in software first. Cheaper than a snapped 3D-printed limb when the maths is wrong.
The whole build is documented as a static site generated from Markdown — the same delivery idea I use for my own course companions.
Architecture
A single footstep travels down through every layer of the project:
A high-level command — "walk forward" — enters as a ROS2 message.
The gait logic decides where each of the four feet should be, and when, to stay balanced.
For each target foot position, solve the three joint angles of that leg.
The angles become PWM signals; the microcontroller drives the twelve servos to match.
The simulator (or real robot) reports back, closing the loop for the next step.
Reflection