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?

Reply to
mlw
Loading thread data ...

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

Reply to
Don

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

Reply to
JGCASEY

...

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

Reply to
JGCASEY

Having something to shoot for and a fixed deadline have a wonderful way of making you focus.

Reply to
mlw

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

Reply to
John Nagle

This is what has stopped me from experimenting with vision processing on the PC.

Rich

Reply to
aiiadict

I think you misunderstood what I was saying.

-- JC

Reply to
JGCASEY

snipped-for-privacy@gmail.com wrote:

If you have VC++ you could experiment with vision using the QCSDK?

formatting link
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++.

formatting link

-- JC

Reply to
JGCASEY

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

Reply to
aiiadict

"JGCASEY"

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

Reply to
Padu

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.

Reply to
amhoov

contest deadline: september 1st, 2006

signup deadline: march1st, 2006

signup; email aiiadict @ gmaild DOT com

Reply to
aiiadict

huh ? why do you need vc++ ?

vc++ is one of a number of c++ compilers.

free borland c++ compiler multiple gcc ports: cygwin and mingw

It depends on what you are using for the brains and if you pick a pc base, why use windows ?

I suggest you have a look at DJ Newmans book Linux Robotics

Not true. Vision with a dsp dev board is a lot more simple than you make out. I'm no expert but if you have a dsp dev board with examples from analog or TI, it is not very complex at all to grab an image and process it.

Some security cameras use 200MHz xscale chips to run them and image capturing from cmos camera. Can't do much with them as not enough cpu power and no ability to load your own programs.

formatting link

Decent rate depends on what you are doing with it, size of the image etc.

They exist but aren't dirt cheap. See how fast the dsp dev boards capable of this get snatched up on ebay etc.

Wrong again. Need to use the correct chip for the job. Having a separate chip/ mini board adds cost but simplifies. A floating point chip also makes things easier but again more costly.

Processing using fixed point can be complex but would only need a few libraries to be written and shared.

Blackfin stamp would probably be the cheapest of the dsp dev boards at approx US$170. BF533@500 + 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

formatting link

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

formatting link

Alex

Reply to
Alex Gibson

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

Reply to
Alex Gibson

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

Reply to
John Nagle

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.

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

Reply to
JGCASEY

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

Reply to
JGCASEY

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.