Reinforcement-learned bike pumper


You don’t know me, but lately I’ve been getting super interested in learning to jump on a dirt jump bike. Like doing an ollie on a skateboard, there is lots of technique that experienced people have that makes them effective, confident, and able to jump high. I suspect that the details around this are not something that are easily communicated, and lots of it is becomes second nature (and is likely done by muscle-memory / feel).

I’ve been trying to see what gets you to go higher (e.g., https://youtu.be/wR2SI9WnNrw?t=17), but haven’t fully unlocked it yet.

Given that I’ve been playing around with reinforcement learning lately, I was curious if I could setup a simple environment and get an RL agent to learn how to pump in order to get maximum efficiency. I ended up not focusing on height, but rather pump-ability.  I setup a small simulation to see if this was possible. I’m bad at physics, so one of the most challenging parts was to work some model of the “pump” into the physics model that was controllable by the agent…kind of like how we use our arms and legs to pump. I ended up with hacking a simple mass / spring which has no connection to a physical model. It kind of worked, and the agent was able to learn to pump at the correct times.

More details, along with the source code here: https://github.com/nbirkbeck/rl-bike-pumper

Check out the example video:

 

 

  1. No comments yet.
(will not be published)

  1. No trackbacks yet.