Amateur robotics: CPU?

I’m wanting to build a small robot so that I can experiment with some AI techniques. Whilst the programming should be no problem, I have some questions on the hardware.

As an undergraduate, we did a group project where we constructed a small robot for clearing a simulated minefield. I seem to remember that we were supplied with a tiny motherboard with a complete computer on the board (i.e. RAM, processor, various buses, flash drive for permanent storage etc.)

I cannot remember the name of the board, nor can I remember what these types of board are called. IIRC, the boards could run a whole Linux distro or Windows CE, which would be ideal - many of the controllers that I’ve looked at on robotics sites force you to program in ASM or Basic - no thanks! - and being able to get at e.g. g++ via Linux would be great. Where can these boards be purchased? Are they recommended?

Secondly, we also require a stepper motor interface from the computer board to the motors when building our robot. Can these be purchased outright?

Whilst I want to have some input into how my robot is designed, I’m wanting to focus on programming, foremost, not having to buy soldering irons and millions of components (although I can do, if I’m forced) to construct interface circuits.

Any other advice would be great.

This may be well below the requirements you need, so apologies in advance.

Lego Mindstorms

using BrickOS. From the BrickOS link

.

This might be of interest:

http://www.gumstix.org/

Ach my first link was wrong. It should have been

http://www.lego.com/eng/education/mindstorms/home.asp?pagename=rcx

Ah, that’s interesting. I have a MindStorms kit but was always miffed by the lack of real programming facilities they provided. However, I was wanting to experiment with some binocular vision stuff. Does anybody know how powerful the Mindstorms processor is - i.e. can you write anything remotely complicated with it without killing it?

They look like what I want, and cheaper than I imagined, too (especially with the exchange rate). Thanks.

The newer NXT processor is a ATMEL AT91SAM7s256 so ARM7 I guess.

Here’s a link to a real-time face recognition project using it (I can’t access the full thing)

http://www.springerlink.com/content/gv7g201r124u36jw/

using this IDE

http://bricxcc.sourceforge.net/

so I guess it’s somewhat capable.

Here’s another firmware for the NXT

http://nxtasy.org/category/firmware/

If you’re just looking into exploring AI techniques, couldn’t you just simulate a robot in 3D CAD? That’s how we do it at work – much easier than building a robot.

Yeah, but then you don’t get to build a robot :stuck_out_tongue:

Or two robots, with attached flame-throwers and cutting tools.

First, I believe you’re thinking of a Stargate board, which has an ARM processor. However, you may have used an RCX brick (or its predecessor) or even a PIC.

Second, I have no doubt that you can buy a stepper motor interface, although I have no recommendations as to where. If you don’t own it, it might be worthwhile to buy Robot Builder’s Bonanza, which, besides having lots of good information, includes places to order equipment.

Finally, I’m a grad student doing AI work in robotics and I’m happy to (try to) answer any questions you might have. Here’s my advice: check into the various open source robotics software (Player/Stage and CARMEN are the big ones) that’re out there and look at the hardware they support. You might want to read this paper (warning: pdf), which has lots of references. And, as loathe as I am to suggest it, also look at Microsoft’s Robotics development studio.

Dagnabbit, edit timed out.

Since you’ve expressed interest in AI programming, I’ve found that the code from Pyro is very understandable. It’s educational, and there’s no need to reinvent the wheel…

Somebody’s been watching too much robot wars. :slight_smile:

Thanks for the links and information. The book looks like a valuable reference that I’ll need to obtain.

You’re welcome. Just note that while I do recommend the book, it focusses more on the hardware aspect (e.g., how to use wood/metal for the platform, some basic circuitry and sensors, etc.) than on software. Your mention of stepper motors reminded me of it, and I can say that it was very clear and informative, albeit likely at a fairly beginning level.

As I said, I’m an AI guy, mostly prefer staying away from hardware, and recognize that many robotics tinkerers will already have a grasp of its content. OTOH, I’ve found it worth the $20 or so as a reference.

Ive been thinking about buying an [Arduino](http://www.arduino.cc/) board to get started on microcontrollers thingies. Its praised everywhere as a very good and flexible platform.

I’m coming at things from the commercial, rather than academic, perspective. However, when we developed the software for a Japanese robot, they had a complete motherboard with processor from VIA at a very, very reasonable per unit cost. The CPU was Intel compatible, and the machine could run Linux or Windows XP quite easily. Our software is conventionally an AI-based client/server architecture, but we were able to adapt it to run within the resources of the on-board PC quite easily (you can see me demoing the robot in episode #393 of “Call for Help” on G4 Tech TV, probably available on the web).

It’s stereo vision in the literature FYI. Let me know if you need some advice, I did my honours thesis around stereo vision.

Yeah, I was thinking of just using an old motherboard that I had lieing around, but the disadvantage there is a) the size of the thing and b) the power needed to feed it. Whilst companies specialising in building robots have access to all sorts of weird power sources, I’m stuck with batteries or a plug.

Thanks.

This looks interesting, too. Thanks for the recommendation.

Not surprisingly, the robot that we worked on was also battery operated. VIA have a product line dedicated to “ultra-mobile” devices, which fits the bill that you’re describing.