robots

It's time to build a robot!

I plan to make a robot using a Beagleboard for high-level functions:

  • image processing
  • artificial intelligence
  • speech synthesis
  • voice recognition
  • internet connectivity

And an Arduino for low-level functions:

  • motor / servo control
  • sensor input & output
  • battery monitoring

Thanks to the folks at beagleboard.org, my shiny new Beagleboard has arrived! This is from the "Beagleboard Sponsored Projects Program" at http://beagleboard.org/contest. If you have an idea for a good project involving the Beagleboard, you can submit the details. Each week, two projects will be selected for a free board!

It's useful to have a physical way to control software running on the Bealgeboard, though without a normal keyboard this can be difficult.

After my initial experiments with the Ardumoto motor shield, I've decided to extend it to drive the pan / tilt servos on my robot.

I've started construction of the chassis to support all of the robot components:

More details coming soon...

A robot with a webcam needs to be able to look around to survey its surroundings, and this can be accomplished using a pan / tilt mechanism to move the camera. The first step in construction is to disassemble the Playstation Eye webcam to remove the heavy metal base and unnecessary extra bits of plastic.

I decided to try the PlayStation Eye (PS3 Eye) webcam on the Beagleboard after reading an article on Create Digital Motion explaining how useful it is for computer vision and augmented reality applications.

The PlayStation Eye webcam is designed to be connected to a Sony PlayStation 3 (PS3) to provide interactive games, however it has a number of features that make it ideal for hacking into computer vision applications:

After battling with cross-compiling C++ code for the Beagleboard using Eclipse on a Linux box, I've found a much easier way with the NetBeans IDE. You can edit and debug code on your computer of choice (I've tested with Mac and Windows) while the code compiles and runs on the Beagleboard itself:

To drive the main motors of the robot form the Arduino, I'm using the Ardumoto board from SparkFun.

The Ardumoto comes assembled (it uses surface mount components), making it very easy to use. All that's necessary to get it going is to solder on some appropriate connectors. I've used a separate 6v battery pack to power the motors connected to the Vin socket on the Ardumoto, while isolating the Vin pin from the Arduino by bending it outwards (as the Arduino is currently running from USB there is no power on the Vin pin):

Syndicate content

User login