Hobby vs University vs Corporate Robotics

I was thinking, that there are now, really, three divisions of robotics:
The corporate robotics are meant to be products and perform some useful
function which can be sold. Funding is based on prospective return on the sale of the product.
The university robotics are meant to experiment on theoretical concepts and provide proof of concepts, and who's concepts may eventually become part of some corporate robot system. Funding comes from grants and endowments.
The hobbyist robotics are different, there may not be an advanced concept being tested -- but there may be, there may not be a commercial product plan -- again, there may be. Funding comes from our personal wallet.
We hobbyists have a tough road, we don't have the resources. We can't casually create our dreams as, I don't know about you, our robotics budget competes with clothing, schools supplies, mortgage/rent, cars, spouses, and so on.
I look at some of the robotics contests, and think, "I wish I could spend my time and money on that, I know I could probably win."
Are there any contests that are sufficiently challenging aimed at only the hobbyist? If not, should there be?
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Of course it depends what you mean by "sufficiently challenging". If you look at the performance of the robots at the japanese sumo competitions, it's pretty clear that even this very simple-seeming competition has a very high ceiling in terms of top performance. Do you consider sumo sufficiently challenging? How about fire fighting?
Personally I'm excited for what I see as the inevitable transition towards hobbyist robots with vision - even in the simpler competitions like sumo and firefighting. The tech is still a little costly, though I expect it to approach affordable very quickly. I've heard lots of folks saying the $75 vision system is the holy grail - I can see that happening before long. It'll also present a couple disadvantages at first, while the bugs are ironed out, so "vision-only" leagues will have to be formed, I think, to help the tech evolve.
I see the change to sighted robots as a good answer to the question of sufficiently challenging contests - once a cam's on there, the sky's the limit as to how complex your strategy can be, even for a simple sumo. It really opens up the depth of the simple competitions, while keeping it possible for beginners to get their feet wet quickly.
My 2c, Don
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Don wrote:

...
In a contact sport like sumo I think vision has a limited application except maybe to locate your opponent.
I have been interested in vision at the hobbyist level for some time and the problem is not cost of the webcam but rather the cost of the VC++ compiler and the need to be an expert in VC++ programming which gets messier with more to learn or relearn every year. Although there is a myriad of fragmented sources of information on image acquisition it takes an expert to untangle it all to do something as simple as grab an image and have access to its pixel data and display it at a decent rate.
Essentially there is no simple basic vision platform for a hobbyist to use to play with vision because I guess it would have a very limited audience.
I think there is a threshold of performance that a vision system would require to say navigate a robot and that will require the computing power of a modern PC.
-- JC
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
JGCASEY wrote:

Well, you could use Linux and GCC.
If you think the cost of the compiler is the major problem in vision processing, you have no clue how hard the problem is.
There's been some real progress recently, though. Take a look at how the vision system for Stanford's DARPA Grand Challenge vehicle works. I'm very impressed with that. Finally, decent texture matching on real-world images.
                John Nagle
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
John Nagle wrote:

I think you misunderstood what I was saying.
-- JC
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

This is what has stopped me from experimenting with vision processing on the PC.
Rich
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
JC wrote:

snipped-for-privacy@gmail.com wrote:

If you have VC++ you could experiment with vision using the QCSDK?
http://www.generation5.org/articles.asp?Action=List&Topic=Machine+Vision
I have been giving it a second go to see if I can get something up and running.
And I have thought of learning to program in JAVA as it has web cam support. I am not sure how fast it would be compared with VC++.
http://www.generation5.org/jdk /
-- JC
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
"JGCASEY" <snip>

About 3 years ago, I took a computer vision class for my master degree program. I was shocked when the professor told that assignments would be performed in java. I had never thought java could be used for such things, but after finishing that class and getting a closer look at java 2D classes, I changed my mind. It offers plenty of resources to do image processing. There is always the issue of performance/real time computation though.
I'm not a java fan though.
Padu
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Have you checked out OpenCV from Intel? I was able to install and configure the library on Linux with Python wrappers that allow access to all the high performance vision functions through the very nice and relatively intuitive interface of Python. Though I'm a second year graduate student, I've never taken a formal computer vision course, and my BS is in mechanical engineering. I do have several years of experience programming in Java, but I can't say that that did much of anything for me.
However, I'm trying to use 2D vision for feedback in automated assembly of sub-centimeter robots. If you're interested in mobile, autonomous robots the overhead and speed of a Python installation might not be the best choice for you, but from a testing and debugging standpoint, may still be useful. BTW, Stanford's Grand Challenge vehicle, Stanley, made extensive use of the OpenCV library (though I imagine they used the C++ library directly instead of through some wrappers). From my experience installing, configuring, and using it, I'd say it's not "plug 'n' play," but it's also not so hard that you'll give up before making any progress.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
snipped-for-privacy@gmail.com wrote:

I've used it. If you're into vision processing, build it and run the demos.
The algorithms are of varying quality. The LK feature tracker is quite good. The stereo algorithms are mediocre. The checkerboard camera calibrator will, about 20% of the time, produce totally bogus results.
            John Nagle
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

John Nagle wrote:

So if they are of varying quality why would you bother? The whole idea is to understand how these algorithms work and how to improve or replace them yourself assuming they are of any relevance to the robotic vision problem.
It is one thing to have the Sobel line method but then what?? I use methods that give the data that is relevant to the actual problem I am trying to solve. I don't need a library of fancy stuff I will never use.
In a previous post in the thread you wrote:

Well I have a very good clue. I am not talking human vision. I am talking about doing what I have *already done* in DOS using the first Quickcam but with a fast cpu with plenty of memory and the option of color. I am talking simple robotic vision for which I do have a clue.
Taking off two years to become a accredited M$ Windoze programmer isn't something I want to do just so I can grab an image, access the pixel data, and display results during development and have a programming language that has the speed of assembler or C in DOS without all the bullshit which a hobbyist can do without.
I did consider Power Basic, it even has inline assembler, but they would not guarantee the availability of a means to access a web cam. I would still have to learn all that is required for DirectX etc and write my own DLL to work with Power Basic.
I almost bought a book a couple of years ago where a programmer provided a shell to give novice game programmers the tools to do graphics at a decent speed and now I regret not doing so.
The only shell I have is TRIPOD using the QCSDK. It is ok for testing some things (about 3 frames per second max).
-- JC
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
+ 128MB ram or the BF537 Have choice of analog devices compiler or gcc.
Vision systems is also done in fpgas but requires knowledge of vhdl or verilog.
I'm luckly enough to have the luxory of playing with TI EVM DM642, TI dsk6713 and cradle blue gill and RDS3600 boards www.cradle.com
May be worth having a read of Embedded Image Processing on the TMS320C6000T DSP: Examples in Code Composer StudioT and MATLAB by Shehrzad Qureshi Won't tell you how to do image processing for robotics but is a good start for working with video on TI's C6400 chips http://www.squreshi.com /
Alex
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
wrote:

Forgot to say you can get free(unsupported ) versions of Intels c++ and fortran compilers along with maths library , ipp etc for linux.
When you have ipp installed , opencv uses it to speed up some functions.
If have have never used linux before and don't know where to start get a copy of knoppix , which is a live cd, that is linux runs from the cd. Easy way to give it a try with out having to install anything.
Should have gcc with c and c++ support in it.
Using gcc at the commandline / console is pretty easy on any platform. Knoppix is a version of the debian linux distribution.
Alex
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Alex Gibson wrote:

Knoppix played havoc with my WindowXP system and I had to fix up the Bios so I gave it a miss. When I update my computer I will put Linux on this one to play with. However Linux is yet more to learn and after a while you get sick of having to learn the latest to do what you could already do on the older system, but not as fast or with as much memory or with the latest hardware.
John
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
mlw wrote: ...

Why not just create your own challenge and work on that? Do you need the competition and the accolades of winning to motivate yourself?
-- JC
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
JGCASEY wrote:

Having something to shoot for and a fixed deadline have a wonderful way of making you focus.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
ok
contest:
6 month deadline
goal: make virtual robot navigate maze using only vision sensors while shooting bad guys
software: windows, doom (language/compiler of your choice) hardware: PC, vision sensors
create a computer program that will play the game "doom", using visual sensors only.
computer#1 >vision >#2 computer running vision w/ game >sensors----------->s/w
computer #2 will be connected to computer #1 in the following way: computer #2 gets vision input, detects edges, enemies, decides what action should be taken in the game. It sends a keyboard command to doom, running on computer#1, IE move fd/bk/lt/rt, shoot, etc
restrictions: cannot use the MAP feature of doom. you must create your own map.
prize: self gratification, accomplishing a goal, one step closer to having that vision software for your robot completed.
Rich
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
contest deadline: september 1st, 2006
signup deadline: march1st, 2006
signup; email aiiadict @ gmaild DOT com
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here. All logos and trade names are the property of their respective owners.