What's a CrawlBot?

A CrawlBot is a small autonomous 4x4 that does its best to make it through whatever obstacle course you build for it. You give it a little help by tuning the driver's personality to fit the terrain via three knobs (think effects pedal with wheels). That's it. No course plotting or programming. Adjust the personality and hit go. The CrawlBot does the rest.

The idea was born out of both frustration with how clunky and boring most "robot" toys are, and an observation that people seem to form attachments to things that do mildly unexpected things. Robots you completely control quickly become boring. But robots that allow you to have some input, but then force you to sit back and watch them succeed or fail are far more entertaining. CrawlBots are designed to maximize this effect. They're not designed to be the most capable off-road robot. They're designed to be the most entertaining off-road robot to play with.

What's the Hardware?

Simple. Basically a microcontroller, a two-channel motor driver, and a 9DOF sensor package (accelerometer, gyro, and magnetometer). Sure, there could be more sensors, but one of the key principles of this project is constraint. How much can you accomplish with just this basic hardware? That's the challenge. 

Mechanically, the cars use small 150:1 gear-motors, one in each wheel. Steering is done via skid-steering primarily so that it's easy to design and 3d print snap-on suspensions.

What's the End Goal?

I'd love to get CrawlBots to the point where you can buy a kit and compete in local events or just play in your living room. For the events I imagine having both a stock and modified class. Stock uses the default code. Modified allows you to come up with your own code, but still requires that the robot is tunable between heats using only the three knobs. Basically you show up with the code you'll run for the whole event.

History

I started this project a while ago but got sidetracked playing with industrial robots and starting a couple of companies. The videos below show some of the first experiments. For this reboot, I plan on using the adafruit express M4 boards and their circuitpython implementation. Mostly because I've been meaning to learn python.