Inspiration

Skating is hard. Everyone likes to think they know how to skate, but no one can declare an absolute way to skate. We wanted to find out what the most optimal way to skate is — using a humanoid robot.

What it does

A humanoid robot uses a trained neural network to balance on a skateboard. We’ve achieved a 90% balancing success rate over a 20-second horizon.

How we built it

We used Unitree’s RL Lab plug-in together with NVIDIA Isaac Lab to train a neural network. Over about 15 million time steps, we trained the robot by fitting network parameters through simulation, allowing it to balance on a skateboard. By running over 4,000 agents in parallel, we were able to train parameters such as center of mass position, skateboard velocity, and the overall attitude of the robot’s body efficiently.

Challenges we ran into

The main challenge we faced was constraining the robot’s feet to the skateboard. During training, we found that explicitly fixing the feet to the board led the robot to learn unrealistic solutions. Maintaining physical intuitiveness in training proved difficult — we encountered several roadblocks when trying to connect physically meaningful constraints with stable training outcomes.

Accomplishments that we’re proud of

Our team had never trained a full policy end-to-end before. We are proud to have learned and used Isaac Lab to create a functional balancing robot. Developing intuition for both robotic conventions and reinforcement learning policies was one of the most rewarding parts of the project.

What we learned

We learned that tuning reward functions based only on observed policy behavior in simulation is not robust and often produces unintuitive results. Reward design requires physical insight and structured tuning rather than trial and error.

What’s next for Ollie

We aim to train for in-transit balancing — enabling the robot to stay balanced while moving — and ultimately create a fully autonomous skateboarding humanoid robot.

Built With

Share this project:

Updates