Society of Robots - Robot Forum

General Misc => Misc => Topic started by: mechfly on October 17, 2013, 12:53:16 PM

Title: Hello, I would like to say hello to the community
Post by: mechfly on October 17, 2013, 12:53:16 PM
Hello fellow robot builders,

I would like to say that this is an excellent source, both the site and forums, and has cleared many questions of mine recently, just in the reading. I am a programmer by nature but have embarked on a wickedly cool mad science experiment - designing and building an industrial robot. Mostly I am the research and software guy. Though the details are pretty secret (CA), I am happy to share my experiences in general, as I hope to find help here from the astute makers that reside in this fine community.

Now on to questions in the proper threads, thanks folks!!
Title: Re: Hello, I would like to say hello to the community
Post by: rainbow fox on October 18, 2013, 02:48:20 AM
Hi, I too am new, and very glad to meet you.  :)
Title: Re: Hello, I would like to say hello to the community
Post by: EBENEZR on October 19, 2013, 06:00:25 AM
Hey, new here too, what sort of industry are you building for? Like, automobile assembly or something?
Title: Re: Hello, I would like to say hello to the community
Post by: mechfly on October 25, 2013, 09:22:02 PM
Our plan is a big one, we are designing a industrial robot. It will include targeting and acquisition, lots of arms and we will be using (well, prototyping I guess) parallla boards with the 16 core expansion CPUs (lots of visual data processing, akin to face detection of sorts). Presently, I am pondering a software framework to house all the aspects of machine control, and not finding anything complete (code libraries etc) looks like i get to build from the ground up. :P All well, I love doing new stuff, lol

How about you guys ? What adventure brings you here ?

Title: Re: Hello, I would like to say hello to the community
Post by: jwatte on October 26, 2013, 03:03:51 PM
For image analysis, I'd look into mobile SoCs that have GPUs, rather than the Parallella board. GPUs are even more massively parallel :-)
And for high-end stuff, you really want high-end GPUs (such as used by gaming and scientific computing.)

Regarding libraries to deal with machine control, and libraries to deal with vision, there are several of these. The first place you want to look is probably the ROS code base. No need building from scratch!
Title: Re: Hello, I would like to say hello to the community
Post by: mechfly on October 30, 2013, 03:15:09 PM
Excellent information, jwatte, thank you kindly. So far I am feeling pretty good with opencv for visual processing, and there are lots of languages that have bindings. I came across ROS, but I couldn't tell if it was just a hobby language. I will look at in more in depth now for sure. My original idea was to use python as basically glue code, as its easy to build framework structures and is modular in nature. Python handles opencv real well also...

I will look into mobile SoCs (new to me), especially if they are a better bet than the parallela ;)

Thanks a great deal for the info, its appreciated!!
Title: Re: Hello, I would like to say hello to the community
Post by: jwatte on October 31, 2013, 10:41:05 AM
Quote
I came across ROS, but I couldn't tell if it was just a hobby language.

Willow Garage (R.I.P.) developed it and used it for the PR2 research humanoid -- a $200,000 platform.
Title: Re: Hello, I would like to say hello to the community
Post by: mechfly on October 31, 2013, 12:56:23 PM
I have ROS in mid-build as we speak. Thanks again, this really changes the game. Also, the SoC is really mind-blowing, I feel like I stepped in to SCI-FI all of a sudden (yay!!)
Title: Re: Hello, I would like to say hello to the community
Post by: jwatte on October 31, 2013, 08:09:32 PM
I feel like I stepped in to SCI-FI all of a sudden (yay!!)

Mobile tech is really eating the world. It's scary!

For anyone wanting to get into embedded GPU performance, there are a few options.

Easiest way to get into this area, with decent GPU drivers, but not highest performance:
Raspberry Pi: $35 board only; $62 with power supply and pre-loaded Linux card: http://www.amazon.com/gp/product/B00DG9D6IK/ref=as_li_ss_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=B00DG9D6IK&linkCode=as2&tag=enchage-20 (http://www.amazon.com/gp/product/B00DG9D6IK/ref=as_li_ss_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=B00DG9D6IK&linkCode=as2&tag=enchage-20)

Higher performance, but somewhat fiddlier, and perhaps not as good GPU drivers (haven't tried it at all): Odroid X4 (and newer.) Would provide a link, but it appears their web server is having trouble.

Also, if you need automotive qualified or similar, look at the TI OMAP chips. They are similar mobile phone chips, with some lag time compared to the latest smartphones because of the qualification, but still nice performance (dual-core, > 1 GHz, etc) and GPU capable.
There's a whole industry around trying to build industry-ready solutions on top of these chips. Try for example: http://www.phytec.com/products/system-on-modules/phycore/omap4460/ (http://www.phytec.com/products/system-on-modules/phycore/omap4460/)

Note that, in the end, these kinds of algorithms will be driven by the available DRAM bandwidth, and putting your parallel algorithm on the GPU is going to make the best use of that.