Snakeboard Robot – Part 1: The Prelude

A snakeboard is similar to a skateboard but the wheels are attached to pivoted platforms that can be rotated by the rider’s feet. Forward motion is generated by coordinated twisting of the body and platform angles. This is easier said than done! I have taught many people to juggle, a few to unicycle but most people give up after 10 wobbly seconds on a snakeboard.

I was a child in the 90’s when the sport exploded in popularity but I remember being fascinated that riders could somehow go up hills without their feet touching the ground. Fast-forward to 2008 and I was on holiday in Exmouth, where my grandparents lived. Aladdin’s Cave had a new, if slightly faded snakeboard on sale for the bargain price of £25 that must have sat their for years.

Having fun in Glasgow as a student.
Snakeboard tutorial

I didn’t know it at the time but that purchase was one of the biggest trousers of time moments in my entire life. A year later I guilt tripped myself into finally learning and tootled around Dumfries over the university summer break, jobless and carefree. At the beginning of fourth year I needed to select a project for my dissertation. I wasn’t thrilled with the suggested titles (sorry Dr Galloway, time has proven you were probably right that using neural networks for some materials analysis was the future!) so I decided to do a self-proposed project.

Robots had always fascinated me and what would be cooler than a robot snakeboard! I asked around and tried to find a supervisor. At the time, James Biggs was a lecturer and Associated Director of the Advanced Space Concepts Laboratory. He was interested in the snakeboard and it’s unusual locomotion but he felt building a robot as a solo project might be too much and suggested the purpose could be to “understand the strange/ non-intuitive motions/dynamics”.

I previously mentioned that buying a snakeboard was a pivotal moment in my life. This is the best point in the story to explain why. I loved working on my dissertation and liked my supervisor so when he proposed a PhD (something I hadn’t previously considered), I accepted. This led to getting my doctorate, eventually escaping from academia, move down south to join Dyson in England which kick started my career in robotics. It’s very unlikely any of that would have happened if not for the shopping trip in Devon.

Despite misspelling holonomic throughout the entire dissertation it received a high mark. I was exposed to maths I didn’t understand then (and still don’t understand now), made lots of nice plots and implemented a sort of janky Newton-Raphson optimisation for motion planninf. Even though a robot was off the cards, I flexed my burgeoning electronic and programming skills by building a controller that allowed a user to control a simple forwards kinematic simulation in Matlab through a serial connection.

Don’t judge my MATLAB simulation too harshly. I was a mechanical engineering student in an age before LLMs.
The controller I made to control the MATLAB simulation via serial.


During my PhD I looked at psuedospectral methods which were the hot thing in optimisation for the 2000s–early 2010s. Using PSOPT I could generate the control actions for an idealised snakeboard. But this kind of offline control is not suitable for real-time robotics that need fast re-planning rates.

Sinusoidal inputs give a very limited range of motion primitives that are difficult to blend together smoothly. For motion control of mobile robots it is desirable for the input to be a twist command specifying the forward linear velocity and averaged angular velocity. A magic black box should take the twist command, state of the robot and calculate control signals for the plates and rotor rotation.

Robot snakeboards have been built before, the next post will go through some of them. However, I don’t think much reinforcement learning work has been done with them. I’ve worked with machine learning experts and dabbled in the field but not as much as I’d like (or as much as some employers might expect!).

At the time of writing I am job hunting (startup financial reality caught up with my job at Christmas). Should I spend all my waking hours on LeetCode? Probably yes. Am I? No. But I love robots and software development so I want a fun project to work on. I’ve decided it’s time to achieve my the ultimate dream and make a snakeboard robot.

The project is called SnakeSkateBot and the plan is to start with a simulation, train an reinforcement learning control policy (the magic black box previously mentioned) and build a robot. I will document my progress in the upcoming posts.

Leave a Reply

Your email address will not be published. Required fields are marked *