My first project on my quest to build a walking robot using neural nets. It’s my physical build of the classic pendulum control problem. The goal is to swing a stick and keep it balanced so it stays upright. Turns out, reinforcement learning is pretty hard, so I can’t show a working version yet. The build I have so far is a Raspberry Pi connected to 4 servos through control board I programmed. There’s a string tied to the servos on which a stick is held and on the stick there’s a gyroscope. The Raspberry Pi connects through websockets to my computer and I sample the measurements and output the servo positions. Hopefully an actor-critic algorithm will control it soon, but for now, here’s me fiddling with it.

PS. Feel free to use my code for the async interface for the servo and gyro, but beware that setting up the Raspberry PI is a bit tricky.

Bonus pulse width modulation through a shift register.