Motivation

I’ve never built a robot before, but I’ve wanted to ever since I saw a video of a balancing robot on the internet around 2008. I wish I could remember the name of the guy who made it, because it was pretty impressive — low-tech, but high-quality. That same year (or around then — it’s been a while), I went to an event at Y Combinator and was greeted by a similarly impressive balancing robot mingling with the attendees. I don’t know much about that robot or who made it, but it left an impression.

So I’m building Calvin as a learning experience. YouTube is full of simple balancing robots running PID loops that balance… sort of. I want to build something better — something that aspires to the level of the machines being developed at universities for research. In that spirit, I’ve overdone pretty much everything. Most of Calvin is going to be overkill, but it’s overkill with the goal of learning the fundamentals that won’t be overkill on the next project.

So how did I get started? I watched a lot of YouTube videos and read a lot of books. I’ve also been working on a set of theoretical notes, mostly focused on the control of dynamical systems. These notes are a work in progress and will expand as I digest more of the concepts required to understand modern robotics systems. I’ve hosted a PDF of them here if you’re interested.

As a warning, I am not a robotics engineer. As I said, I’ve never done this before. These are working notes, not a textbook written by someone who already knows what they’re doing.

Calvin Working Notes (coming soon)