build-log

Look, a Cell Phone Robot!

I've been working on a little robot project for a bit and with the launch of a few kickstarter campaigns by others (not me), I thought the time was ripe for sharing progress. So, lo and behold, I give you.... Robots! (big picture later)

Some background: my senior project in college was a roof inspection robot. It's the big shiny red thing in the picture below. It's been a good handful of years since I've graduated now and technology has changed. At the time, finding something that was easy enough for a mechanical engineer to program and yet powerful enough to run our control loops, send video, and analyze some simple sensor data (accelerometer and rangefinders, you know, so you don't drive off the edge of the roof) can now be done with a cell phone. An off the shelf IOIO board from Sparkfun makes it a lot easier to connect an Android phone to physical things in the rest of the world. As much of a leap as the IOIO was over anything else, it was still pretty tough to get going.

You need to know Java, you need to learn the Android SDK, you need to become familiar with the Eclipse development environment, you need to learn the IOIO SDK (ok... it's actually pretty simple, but still, it's another thing), and you need to have the right drivers installed to plug the phone in, too.

That's aside from any other incompatibility issues you might have between the correct versions of Eclipse, your phone's firmware / Android version, and the IOIO. Getting Bluetooth to work on the thing was a special nightmare all on it's own.

Oh, and then you're going to have to do some soldering, too, so don't think you can play with it right out of the box.


I thought, maybe I can do better. I wanted robot that could be programmed in a web interface (no drivers or software to download!), that was ready to go out of the box, (no soldering, no picking out motors, no figuring out power supplies), that had a payload bay and was extensible and was made to have additional sensors plugged into it. The chart below tries to explain the use case.

The following are some details of the development process. The original concept sketches are in a pile somewhere, but the ones below are a pretty good example of what they looked like. I turn the sketches into a CAD model, which is then 3d printed (but is designed to be injection molded). I was also sortof gluing components to a breadboard chassis in a parallel effort to just get something working. I included some video of the proto-protoprototype.

https://www.youtube.com/watch?v=jCEqlAdzheE

Finally, the full robot! (Ok, just noticed that this is minus the IOIO board, but you can see the grooves where the board headers would poke through.) At this point, it moves, and I can control it over Bluetooth. The whole "programming in a web interface" is a bit over my head, but I'm working on it.

If you happen to be softwarey, web developmenty, industrial designy, graphic designy, businessy, electrical engineery, or just like making stuff and want to chat, or happen to have a million dollars to give me, say hello in the comments or do that twitter thing. I'll also be talking about this at Dorkbots Boston / Boston Area Robotics Design Meetup / Artisan's Asylum tomorrow, Friday, Aug. 3rd.