Author Topic: Using a Beowulf Cluster  (Read 2724 times)

0 Members and 1 Guest are viewing this topic.

Offline cloud1771Topic starter

  • Beginner
  • *
  • Posts: 2
  • Helpful? 0
Using a Beowulf Cluster
« on: May 26, 2013, 04:36:44 AM »
Other than for learning, is there any advantage of using a Cluster of Raspberry Pi's or ODroids as the processing power of a robot?

My goal is to build a 1:1 R2-D2 that is autonomous, with facial recognition, accepts voice commands, navigate a crowd, etc.
I want to load it down with sensors, servos, motors, actuators. and when it does one thing I don't want it to stop to do another.

So simply put would making a 32 node Raspberry Pi Cluster be useful at all(probably overkill)? Maybe 16node ODroid.

I am asking because I am making a Beowulf Cluster for my senior project and once im out of college I want it to be useful...and if i know I am going to put it in r2 ill build the cluster accordingly.

Thanks
Matt

Offline waltr

  • Supreme Robot
  • *****
  • Posts: 1,944
  • Helpful? 99
Re: Using a Beowulf Cluster
« Reply #1 on: May 26, 2013, 09:40:33 AM »
For an advanced fully featured Bot I can see using multiple processors.
For example: vision and voice can be processor intensive so it makes sense to use separate processors for these. Same with advanced sensors.
The basic motor control and collision avoidance sensors could easily be on one processor.
Then maybe a processor as the 'central' brain that collect processed info for the other processors and issues commands for movement.

To properly do this requires a lot of thought into which functions are best grouped together and which need a separate processor.

Offline jwatte

  • Supreme Robot
  • *****
  • Posts: 1,345
  • Helpful? 82
Re: Using a Beowulf Cluster
« Reply #2 on: May 26, 2013, 11:19:58 AM »
From a cost perspective, no, lots of Raspberry Pis won't make it cheaper or easier or better.

From a robustness perspective, it might. Building separate components (wheel control, arm control, camera sensing, image recognition, sound synthesis, ...) and making each one work on its own makes for an easy-to-debug and robust system. Integrating the components is then a matter of all of them sharing the same bus of some sort (CAN bus, Ethernet, I2C, whatever.)


Offline obiwanjacobi

  • Full Member
  • ***
  • Posts: 57
  • Helpful? 0
  • You can PIC any micro controller - what AVR!
Re: Using a Beowulf Cluster
« Reply #3 on: May 26, 2013, 11:39:13 AM »
Start simple and small and expand when you run into boundaries (like processing power). Unless you already have the experience (but then you wouldn't have asked the question) this is the best way to gain it. Distributing processing brings complexities of its own (rule one of distribution: don't do it).

That being said, I have also been thinking along these lines - only with smaller MCU's per module. I have not decided on anything yet, other than just go ahead and start building the most fundamental robot first in order to gain experience. As expected - programming takes the most time to get right.

Good luck!
« Last Edit: May 26, 2013, 11:40:39 AM by obiwanjacobi »

Offline jwatte

  • Supreme Robot
  • *****
  • Posts: 1,345
  • Helpful? 82
Re: Using a Beowulf Cluster
« Reply #4 on: May 26, 2013, 09:51:30 PM »
Also: Beowulf is almost certainly the wrong way to go about building a distributed processing robot.
Beowulf is built for scientific computing where correctness is more important than real-time response.
For robots, you absolutely want to prioritize real-time; using UDP instead of TCP if you're using Ethernet; things like that.

Offline cloud1771Topic starter

  • Beginner
  • *
  • Posts: 2
  • Helpful? 0
Re: Using a Beowulf Cluster
« Reply #5 on: May 27, 2013, 03:55:42 AM »
Thanks for all the responses.

jwatte:
Yes robust was that I was thinking, not really worried about price, more price per part, example I can afford $40 a paycheck to get a board an sdcard. (already have scooter motors, motor controllers, and several other parts to make the build an RC R2)
Yes I agree udp would be they way to go, I just used beowulf cluster because its a cluster environment i know of, do you know of a setup that would work better?

obiwanjacobi:
This will technically be my 6th or 7th I have build. Just wanting to venture into new areas.
My first was in 4th Grade I gutted out a old RC car that stopped working and progammed it on an old 486 linux box in C. it was programed to look for dark areas and backup and turn if it bumpped into anything. we called it the roach. I recently rebuilt it with a Arduino.
Then in all 4 yrs of High School I was in the robotics club and we build a robot each year do so a certain task, It was Remote controlled.
I am looking for something advanced to keep me busy, I don't expect to have it build and programed over night. I love to learn about new things and I figured If i was making a so called "mini" Beowulf Cluster why not re-purpose it after i was done with it.

waltr:
ya I want the ability to add any feature to my Astromech I can think of.  But yes thats what I was thinking is off loading some of the difficult tasks to other nodes. But I also didnt want to over load one cpu with too many instructions that it would cause it to responded slower.
On my School project my "central brain" or master node is going to be one of the ARM based Chromebooks and have plans to make that the user interface to the robot, probably set it up so I can ssh into it(wirelessly or wired) to change anything.

Over all I want a challenge, I want it to be robust, but basically I want to be able to take it to a star wars convention and let it loose and not run people over. and someone to be able to say hey R2 and it turn the dome the general direction it came from and squak to them or whatever.

I expect it to always be a work in progress, because I always wake up and think "oh that would be cool!"
And unlike other R2 builds the detail on my unit will all be practical. IE fan vents will have fan vents, Data port will be ethernet. etc

Offline briselec

  • Jr. Member
  • **
  • Posts: 10
  • Helpful? 1
Re: Using a Beowulf Cluster
« Reply #6 on: June 10, 2013, 05:07:03 AM »
Cool project! I made a beowulf cluster years ago out of a bunch of old PCs. Interesting stuff. 
In assembly language no one can hear you scream

 


Get Your Ad Here

data_list