Archive for July, 2010

Robots

Thursday, July 15th, 2010

I’ve been building little robots for quite a few years now, but my main focus has always been BEAM Robotics. Things have slowly been changing over the last year though. I started out by ordering some PIC microcontrollers, and while I managed to do a FEW things, I found myself hating them after a while. The problem with the PIC is that the only easy way to program it is through windows, and everything else is just annoying. Personal opinion maybe? In my defense, the programmer I had only allowed for a serial connection.

Everything changed though, at a recent Maker Faire. I picked up one of the new Arduino boards and a Getting Started book. After I got home, I was up and running within just a few minutes. It’s pretty amazing, actually. The Arduino guys have really done a great job in making a microcontroller that you can really use.

Anyway, back to the robots. I was recently at the local CVS and noticed a tracked, amphibious, R/C car. I bought two. I don’t know about anyone else, but if I show up with a shiny new toy and tell my son that it’s mine and I’m going to take it apart, it’s a little disappointing for him. So I took it apart pretty quickly and this thing is pretty cool on the inside. Everything has a rubber seal so that water can’t get in, and I really like the way it’s constructed. That being said, I had to open up BOTH of them to switch the motor wires… the factory managed to wire them in reverse. I guess that’s what you get for $14.99!

So I removed the top, and then went to work on getting rid of the excess electrics and plastic. I decided that there wouldn’t be enough room to mount everything I’d like, so I started modifying it to allow for a better top. But what top do I use? I looked at some hardware stores for the material that would work, and I figured I’d just build something custom out of balsa, when (tada!) I found an altogether amazing alternative. I have an old tupperware bowl that was meant for organizing or somesuch. The lid didn’t attach like a normal sealed container, but rocked back and forth. So without the lid, sitting upside down, it makes a great blue translucent cover. Sweet!

Next design move: I suddenly realized that I had an old NSLU2 sitting around that I don’t use anymore. The possibility of having a robot that actually runs Linux was almost too much for me! Whoa! Unfortunately, it wasn’t as easy as that. If I’m going to have Linux on board, I also want WiFi, and Python, and… a webcam, and… anything else I can cram in there!

SO… here’s the plan: I’m going to have an Arduino running as the interface for the motors and sensors, connected to the NSLU2 through USB. The NSLU2 will have Python running, which will act as the brains of the system. I’ll have a webcam and some sensors – I’ll probably start with just infrared range finders at each corner. Python will talk with the Arduino and make decisions based on sensor data, and will send movement commands to it. I’m thinking I’ll either setup an H-Bridge for the motors, or I’ll use some old servo boards that I have laying around.

The second phase will be to build out some software to all for getting telemetry and controlling the robot when it’s not running autonomously.

So much fun, right? I’ll update as I make progress!