Sept 5, 2022
I have recently built a small robot as a test platform for an advanced robotics project. Huh? Let’s put the advanced robotics project aside and talk about what I actually have. I have a working robot that can detect hard collisions and the code is 120 lines of CircuitPython (not counting the libraries used to be clear). I can write a lot more code, but there’s no point to make it overly complicated until certain goals are met. Those goals: detect soft collisions, detect false-positive accelerations that are not collisions, and store information. While these may seem pretty easy to overcome, the thesis of this blog post is that they are not.
Let’s start at the very start. When I was young I wanted a robot. I didn’t know why very well, but I knew that I did. I bought Handbook of Advanced Robotics from a used bookstore, a bunch of motors, balsa, wheels, and other RC stuff from my local hobby shop, and started building. After building quite a few uncontrolled cars, I realized that a lot of the robot lies in control. It did not occur to me until I reached university how much. I tried to build an ornithopter and after propulsion failed on that project, I went off to university and gave up on robots. As time went on I worked on electronics and realized that while I was better than average at soldering, I was particularly bad at finishing projects. Each project had an obstacle. Not only did I lack experience as a young person, I lacked the necessary support to complete projects of even modest difficulty.Read more »