Let's Make Robots!

How to turn my netbook into a robot "brain"

So I've had some experience with an Arduino and a BOEBot, and was thinking of taking another step forward.

Long story short, I want to build a robot that uses my netbook as a brain. I want to add a camera for motion tracking, which I know could be tricky using an arduino. So, I'd rather use a bigger computer to do the thinking. How would I go about doing this, basically how could I interface with my servos and other sensors? I'm almost hoping to find something that will let me plug in my computer and use the IO pins of a board (like using a netbook instead of an ATMega on the arduino). This way, I put my netbook on a base, add wheels and sensors, and let it go. 

In addition, what language or environment would people recommend I use? I love using the Arduino PDE, but I'm always interested in learning more. I'm studying mechanical engineering, and hoping to get a leg up in my robots. 

Many thanks, and I apologize for the rambling of this email, it's been a long day. 

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Processing and bluetooth is your answer.

Processing is a programming language that will allow you to code programs that can run on your desktop. There are libraries available for motion tracking, color tracking and much much more. This software can be your netbook brains with the Arduino as a "I/O board". Now, the great news is that if you speak Arduino, you already speak Processing --They are almost identical. I would highly recommend it.

Beyond that, it really is just a matter of getting your computer to talk to your robot brain. An Xbee or a Bluetooth module is the way to go. I personally use a BlueSmirf BT unit from SparkFun and it works great. It even uses the internal BT function of my lappy so I don't have to use an external board or dongle.

I would REALLY check out Processing, it is a fantastic language. 

im with CTC on this one

Another possibiliy is Roborealm.

To make the interface you can simply use an arduino. I've have been doing that for a while. Processing is a great language to do what you are asking, if you want some inspiration you can have a look at this robot and processing sketches I've done some time ago: http://letsmakerobots.com/node/22906

On my robots I usually like to program the arduino, but, if you prefer to do everything on the computer side, firmata may be a good option for you: http://www.arduino.cc/playground/interfacing/processing

If later you want to do some better image processing have a look at openframeworks: http://www.openframeworks.cc/. It is a bit more complicated than Processing, but OpenCV works very well there.

So, would I go about it this way?

Use the arduino to drive any motors and sensors, and then have the camera image be processed by the processor off the netbook? How would I tie the two of these together. Also, many thanks to all of you, i'm checking out all the links and learning a lot, it's much appreciated!

Well, you plug the arduino into the usb port of the netbook and they can talk over the (virtual) serial port.

You will need to program the arduino to accept commands for the motors and commands to report sensor readings. It's really simple. A lot of people around here have done just that.