Please help me learn how to build my robot
February 21, 2008 3:07 AM   Subscribe

Robotics question: simple and high-payoff project, don't have the time/leet skillz/rationale to jump in the deep end of the pool (i.e. academic smartypantses building attack vehicles), don't want to spend the money on/deal with the physical bulk of the shallow end (Mindstorms et al). What is in the middle?

Can you recommend sites/communities where I can go and get smart about basic robotics and look at some beginner projects that don't include a multi-hundred-dollar investment in legos, or, alternately, access to the campus machine shop? I have googled but I feel like I keep ending up at these two outcomes and thought it might be time to see if I could get some human guidance. My robot is going to be an eye and a three-position switch which a script decides what position to put in based on the info seen by the eye. Pretty much the bare minimum which qualifies as robotics.

My non-leet applicable skills are soldering, enjoyment of linux and a willingness to compile OSS, any c-like scripting, well-stocked real-life toolbox, ability to read. I have made my own circuit boards in the past with decidedly mixed results, and I am willing to continue that proud tradition. I am secretly hoping that I can control my little friend using busybox linux since I have a tiny device already running it (thank you dd-wrt), but I guess we'll see about that.

Thank you!
posted by Your Time Machine Sucks to Technology (10 answers total) 9 users marked this as a favorite
Best answer: Don't know where you've looked yet, but Make's blog has an enormous number of projects, both robotic and not. If not exactly what you are looking for, maybe a good start.
posted by From Bklyn at 5:43 AM on February 21, 2008

Hacking Roomba.

Bonus: it'll vacuum your carpet while you test it!
posted by at 6:10 AM on February 21, 2008

Here is a decent hobbyist website... my former life in grad school involved this company quite a bit.

I'm not sure what you mean by "an eye and three-position switch", but it sounds like a pan-tilt unit my lab used: basically a CCD video camera with a coaxial cable connection to a workstation. The camera was mounted on a platform with two servo motors, one each for the x and y axes. So basically you'd need a couple servos, a board to control them, and a link (serial line) to send data from your computer to the board.

Anyway, browsing that site should give you a few ideas.
posted by logicpunk at 8:44 AM on February 21, 2008

Response by poster: From Bklyn: thank you, that was a great start and has so far led me to, which seems to be very much in line with what I need; an inexpensive and practical platform with OSS tools and many published projects and tutorials. I've spent a bunch of time on the Make site and somehow managed not to notice all the microcontroller stuff on their blog! They also have a breakdown of PIC versus AVR which was pretty much one of the biggest questions on my mind. Well, I have many big questions about this project, but that was one of them. Starting to feel the fog clearing, very exciting! appreciate the thought, but Roomba isn't really in line with the inexpensive part of my question, or well-suited to what I'm trying to build.

logicpunk: don't sell yourself short; it sounds like you had a pretty decent idea of what I meant! I'd like to be able to push one of two buttons on another machine, or push neither, so there is something with (probably) servos which can be switched between three positions, to put light physical pressure on one of two points or neither. Lynxmotion looks interesting, thanks.
posted by Your Time Machine Sucks at 9:13 AM on February 21, 2008

Best answer: I would check out the Gumstix community. They have a nice wiki that is constantly being updated, a mailing list that is quite active, and multiple expansion boards, including the Robostix (based on an ATMega128), Wifistix (802.11), GPSstix, etc. There are a few different iterations of the gumstix itself, but bluetooth is included on many. You mentioned an enjoyment of Linux, which is what the Gumstix runs, and with just a little soldering skills and C skills, you can program the Robostix to interact with sensors, motors, and servos. It's a good off-the-shelf package for robot brains, if you don't mind the price (considering what you get, though, it's not bad).

Make magazine, on the other hand, seems to espouse the Arduino, which is also based on an Atmel, like the Robostix. I can't speak much for this, though, as I haven't used it.

Lastly, a co-worker of mine swears by the PICs, but the development tools can be a bit costly for a hobbyist just getting started. That's why I personally prefer the AVR, which has a free compiler and ide. If you decide on the Gumstix package, you don't even need to buy the ISP cable to program the microcontroller, as you can program directly from the gumstix (just need a serial connection, via cable or bluetooth). Speaking of which, I just saw this today - looks like a very nice tutorial for getting up and running with an Atmel/AVR environment.
posted by mysterpigg at 10:35 AM on February 21, 2008

Best answer: I'm a big fan of Arduino. It's an Atmel AVR ATmega168-based board, so very similar to the Robostix and while based on the same chip family as in that AVR tutorial, it's much simpler to get going. (I've taught two classes on Arduino)

To do roboty things with an Arduino, LadyAda just released a motor & servo controller kit for it. It's pretty great. There are lots of surplus places with cheap motors like All Electronics.

Disclaimer: I'm also the author of Hacking Roomba. And while you can find a Roomba for <$100, you still need a microcontroller like a Arduino or Gumstix to control it. So I say start with a microcontroller board first, a few motors, and see where that takes you.
posted by todbot at 10:48 AM on February 21, 2008

Vex Kits. For bonus points mentor a FIRST team.
posted by martinX's bellbottoms at 10:49 AM on February 21, 2008

Best answer: Also, controlling a microcontroller like an Arduino with an Linux WRT-compatible router is pretty easy and I think make a great combination. All microcontrollers have serial ports (Arduino's USB port is really a serial port in disguise, you can get at the serial connections too).

And all WRT-compatible routers have serial ports. Some have two. And some have USB ports you can hook other things too. Finding a router with a USB port is the best solution I feel, as it lets you hook up web-cams, thumb drives, audio output, etc. Otherwise you'll have to crack open your WRT router to get at the serial port connector. Not a hard task but does void the warranty.

I've had good luck using the Linksys WRTSL54GS and Asus WL-500gp routers with USB running OpenWrt to control various interesting USB devices. (the Hacking Roomba book goes into this a bit)
posted by todbot at 10:57 AM on February 21, 2008

Response by poster: Very cool stuff, thanks all! todbot, I'm thrilled to hear that I'm not being silly to think that I might be able to use my dd-wrt router as a controller, because it's ideal for a bunch of reasons: I know it well, it's already located and has been put to work in the right place in my house, and it's already online! And it has tons of spare CPU time; I've been wondering if I can put it to more use. Have you seen this:

i2c bus for La Fonera

Looks pretty fun. Thanks for not taking my anti-Roomba-for-this-project stance to heart :) . The Arduino seems like it's right up my alley.

Mysterypigg: I had just read that AVR tutorial after seeing it linked on the Make blog -- it was a major factor in my fog-clearing, very good tutorial.
posted by Your Time Machine Sucks at 12:03 PM on February 21, 2008

Response by poster: Followup: I've picked up an Arduino (Berliners: Segor carries them) and it seems pretty much perfect. My project is mostly a practical thing, but to be honest the platform makes it really fun to work on. So far I'm finding todbot's site to have the best learning materials for Arduino (due to quality of writing/explanations/examples), followed by Makeblog/ w00t, thanks everyone!
posted by Your Time Machine Sucks at 9:37 AM on February 23, 2008

« Older The good, the bad, and the ugly   |   Help a skint domain name seeker out! Newer »
This thread is closed to new comments.