MicroDuck

MuJoCo · Reinforcement learning · Two robots

Can a Microduck be a bridge for its sister?

01The inspiration

You may have seen this video. A boy lies down across a gap in the street, and his little sister climbs over his back to the other side.

I wanted to see if two MicroDuck robots could do the same.

Top: the original viral clip. Bottom: the MicroDucks in MuJoCo simulation.

02The MicroDuck version

The brother lies down across the gap and holds himself straight. The sister walks sideways over his back. Her walking was trained with reinforcement learning (PPO in MuJoCo).

The rules are strict: she must stay upright, only her feet may touch him, and she must really step. Falling or crawling across does not count.

He lies down, and one second later she walks over his legs, back and head to the far ledge. Real time.

03The funny failures

It took many tries. Here are some of my favourite failures.

The dive. She leans forward and throws herself onto him.

The belly flop. Same idea, head-first.

Marching in place. Lots of steps, no progress.

The stuck foot. Her foot drops into the gap by his heels.

The crouch and topple. She crouches over his feet and topples back.

The side fall. A few good steps, then off his side.

Crawling. I first tried a crawl, to copy the girl in the real video. It did not work, so I switched to walking sideways.

Into the slot beside him.
Stuck across his hips.
A long wiggle on his back.

A scripted policy. Before the learning worked, I also tried a scripted policy that planned each step.

Tumbles and gets stuck.
Crosses on her knees.
The leap.
The roll.

04Explore the implementation

The code is in my microduck_lab package, on the microduck-lab branch:

  • tasks/human_bridge/rl_policy/: the two-robot world, the set, the brother, the story and the strict rules;
  • rl/rl_policy/: the reinforcement learning task that taught the sister to walk on narrow beams.

All results are from MuJoCo simulation, scored with the strict rules above. Every attempt was filmed; the clips here are a selection.