Beagleboard - Arduino hybrid robot

Internet connectivity
Does the mobile robot really need the internet connectivity?

While a connection to the

While a connection to the internet isn’t strictly necessary, a wireless network connection is very useful. It allows:

  • remote uploading and debugging of software
  • manual override (remote control)
  • image capture or video streaming from the webcam for surveillance
  • offloading computationally demanding tasks like speech recognition to a more powerful computer

Pan - tilt camera mount

I’ve now made a pan-tilt mount for the webcam. Basically it’s the guts of a Playstation Eye webcam mounted to two home made aluminium brackets, driven by a mini and micro servo. Details of the construction are at http://mechomaniac.com/node/57

|x

 

 

 

 

Nice work on the home made
Nice work on the home made servo brackets.

Nifty

I saw some OpenCV pictures of code on your site. I love opencv - will you be sending the pictures to a computer? I don’t know many micro-controllers that can preform “much” meaningful processing on a image stream.

Great work.

Keep it up !

Thanks! They’re not
Thanks! They’re not pretty, but seem to be functional at least. I considered getting some Lynxmotion brackets, but the cost and time to get them to Austraia wasn’t worth it for now.

I’m actually running OpenCV
I’m actually running OpenCV on the Beagleboard itself. With 256Mb RAM and a 600MHz CPU it should be able to handle the image processing on-board, though I don’t think that OpenCV has been very well optimized for the ARM architecture. The Beagleboard also has a DSP core and some people are working on using that for accerlerating image processing tasks, so there’s a lot of potential.

Mini Micro Pico ATX

Interesting - what benefits would using a beagleboard vs a mini/micro/pico/ atx ? I am not really familiar with ARM architecture, although I remember seeing it as one of the possible kernel builds when I recompile my kernel.

Initially I see $145 for the beagleboard vs $66 for a mini atx - Is the beagleboard mor catered to digitial & analog io? DSP Core? Digitial Signal Processing?

I found a link once where a group has optimized OpenCV to run 10 X faster on a playstation since it has hardware catered to graphics processing (Awesome!)

Very interested in seeing your progress.

I have been working on a java robot framework - with a JNA implementation (some very smart guy (Samuel Audet) wrote) to opencv. I found this just recently. Previously I was using JNI which has been a pain in the rear.

Anyhoo,

keep up the good work !

GroG

Good to see another LMRite

Good to see another LMRite from down under ^^b

Also cool robot! Was there a specific reason you chose the playstation cam over others, or was it just on hand?

There are a lot of good

Thanks :slight_smile: I wish Robot parts were easier and cheaper to get here in Australia though…

There are a lot of good aspects to the Playstation Eye, my artcile here describes them: http://mechomaniac.com/node/32

They include:

  • low cost (US$40)
  • high-framerate uncompressed video
  • good low-light performance (it’s designed for observing people in front of a tv)
  • built-in array microphone
  • cross-platform driver support

This camera is now fairly popular for hacking, with people using it for augmented reality and multitouch projects: http://createdigitalmotion.com/2009/08/06/trick-out-your-ps3-eye-webcam-best-cam-for-vision-augmented-reality/

 

The Beagleboard has a number

The Beagleboard has a number of advantages over a PC-based system:

  • much lower power (about 3W for the entire system)
  • Small size (and if the Beagleboard is too big, the same hardware is availible in a tiny package at http://gumstix.com/)
  • Direct access to IO ports (I2C, SPI, serial, GPIO etc)

The TI OMAP chip on the Beagleboard includes the ARM Cortex A8 core (also used in the latest mobile phones like the iPhone 3GS and Palm Pre), a graphics chip and the digital signal processor core.

Of course there are also a few issues:

  • cost (though compared to many ARM development board this is very cheap)
  • Linux support is somewhat bleeding-edge

Microphone array

It all looks very interesting. Have you hacked into the array microphone? Does the driver have some API which allows localization of incoming sound signals? Is it just on two or four channels and you do a little disparity calculation/triangulation?

Here’s that link I was talking about… kindof clever I thought

OpenCV on the Playstation

 

Thanks for the OpenCV link -

Thanks for the OpenCV link - the performance gains are impressive. While the ARM core on the Beagle can’t approach the power of the Cell chip in the Playstation, it does have a vector floating point unit and I’m hoping that someone will come up with some optimizations to OpenCV to take full advantage.

I haven’t tested the array microphone yet. All the processing has to be done in software, I beleive that it’s just 4 channels of audio.

Nice! I guess this is the
Nice! I guess this is the first robot I see using a Beagleboard!! It looks very promising!
Keep it going, because I will look forward to see more progress!! :wink:

What power source?

What power source does it use?

I’m still working on the
I’m still working on the power source… For now, I’m using a 6V (4 * AA batteries) pack to drive the motors and servos, and a 12V 2AH NiMh pack for everything else. The NiMh pack is old though and seems to have lost too much capacity, so I may move to a 7.2V pack for everything. The electronics are run from a 5V switchmode DC to DC converter.

Beagle/Arduino
I’ll have a Rev C3 BeagleBoard this week! I’m planning to use two Arduino type boards for some motor control and sensor processing, and the Beagle will be the master controller.

I just got my Rev C3

I just got my Rev C3 BeagleBoard from Sparkfun. :slight_smile: I will also be using it as a master controller on a robot, either ASTRID or WALTER 2.0, along with at least two Arduino compatible boards connected via USB. I still have to get an SDHC compatible card reader/writer and a serial cable adapter for my BeageBoard. I already have a WiFi dongle I have used with a Samsung based ARM9 board, so it should work with the BeagleBoard also.

I’ll be following your development closely and perhaps we can share some code at some point. :slight_smile: I still have a long way to go and a lot to learn about the BeagleBoard though.

Don’t forget to add your
Don’t forget to add your updates in the project area. Also, did you mount the motherboard yet, as in is it still “floating” on the wood?

Thanks, I’ve moved my update
Thanks, I’ve moved my update into the main text. I have to keep taking the Beagleboard off to use for another project, so it’s still just floating, though seems to stay in place fairly well. The USB hub is attached to the side with double sided tape.