Roee-Sivan - Builder

Teaching a Robot to Walk

A Unitree Go2 quadruped learns to walk in MuJoCo - and then to score a goal.

Trailer

The soccer policy first, milestone by milestone from its earliest flailing to a 95% goal rate, then the two walkers side by side on the same robot and the same physics: the genetic algorithm's champion at generation 1,186 against the PPO champion at step 18,000,000. Both panels carry live telemetry, so the distance and fitness figures are the run's own numbers rather than captions added afterwards. Watch on YouTube →

Overview

Reinforcement learning on a twelve-joint Unitree Go2 in MuJoCo, trained twice on purpose. A genetic algorithm written from scratch in NumPy ran 1,186 generations and moved the robot 0.74 m; PPO on Stable-Baselines3 reached a stable gait over 20 million timesteps, and the genetic version stayed in the repository as the comparison baseline rather than being deleted. A third layer sits on top of the finished walker: a high-level policy running at 10 Hz that steers the frozen gait by velocity command and learned to push a ball into a goal, without the walking policy ever being retrained.

What makes it interesting

  • PPO across 20M timesteps on eight parallel MuJoCo environments - 48-dimensional observation, twelve torque-controlled joints at 50 Hz
  • An eleven-term locomotion reward logged per component, under friction, mass and random-push domain randomization
  • A pure-NumPy genetic algorithm kept as the baseline: 1,186 generations, behaviour-cloned warm start, anti-gaming curriculum gates
  • Hierarchical RL for soccer: a frozen walker driven by a 10 Hz policy, scoring on 95% of its last hundred episodes

Technology

7 technologies, grouped by the job they do in this project.

Languages

  • Python

AI & computer vision

  • MuJoCo
  • Stable-Baselines3
  • PyTorch
  • Gymnasium
  • NumPy
  • Matplotlib

At a glance

Year
2026
Status
Open source
Technologies
7

Repository

Read live from the GitHub API when this page was built, so it cannot drift away from the repository itself.

Name
RoeeSivan/Teaching-a-robot-to-walk
Primary language
Python
Repository size
255.6 MB
Last push
May 2026
Stars
1

← All projects