the crypt

A vision system is not a camera. It needs to do image recognition, or at least motion detection and simple blob counting or tracking. Examples of commercially available self-contained units (at a reasonable price) include the AVRCAM and the CMUcam.

For vision you can do a lot with fewer pixels. You don't need megapixel imagers, but color can be useful.

There is no reason why there can't be a complete camera/lens/image processing chipset for about $75. The CMUcam could be that price if they made hundreds of thousands more of them. So, it's a matter of quantity, and those quantities won't happen if the product is only for the amateur robotics market. Those Sharp IR sensors are only afforable because the "real" market is things like copiers and faucets in public bathrooms -- they sell hundreds of thousands of the sensors each year. They'd be $50-70 bucks if they were made in low quantities.

-- Gordon

Bob wrote:

Reply to
Gordon McComb
Loading thread data ...

Thus you use what is mass produced, a PC, which most people have. The cost then is in the radio interface. The adventure is developing the software. It may be beyond a hobbyist to develop new hardware but software development only requires a creative brain :)

There is the commercial inspiration, Evolution Robots, and back in 2001 LEGO Mindstorms Vision Command based on a Logitech camera and its SDK.

The problem is hobbyists may have minimal programming skills and PC products tend to be Microsoft orientated requiring the purchasing of VC++.

My poor robotic base sits in the corner of the room collecting dust waiting for me to develop a vision system sufficient for its needs.

The main piece of hardware missing for a practical robot is a sense of touch and sophisticated arms and hands to do things.

-- John

Reply to
JGCASEY

Produce a PC the size of a pack of cigarettes, and for under $100

*complete*, THEN you have a form factor and price more people will be interested in. The Mini_ITX is still too large. Bigger robots cost more to build. While I have four PCs in my home, each weigh in excess of 15 pounds and need to be plugged into a wall outlet. None can be used for robotics projects without gutting them. Certain people here would be upset if I gutted their PC for my robot project.

My laptop is portable but cost $1,700. I use it for some robotics things, but I'm not going to pay $1,700 for a dedicated robot controller. Even a cheap laptop is $600+.

If you're looking to save money, you might as well pay $300 for a self-contained vision system built on a small $100 robot. That's less than a bare-bones IXT-based robot, without any sensors. If money isn't an issue, then by all means the PC-based robot is a good direction. It is not the answer to everything, however.

Oh? There are freebie libraries that have been available for years for VB5 and VB6 for grabbing bitmap samples out of a Web cam. For .NET users there's a great Sourceforge library that wraps DirectShow functions, No C++ needed, ever. Microsoft still provides the .NET compiler for free, and the 2005 Express versions of C# and VB are still either free, or very cheap.

The Sourceforge project includes examples for grabbing bitmaps; from there you can do lots of image processing without needing anything but .NET. If you want to get fancy, there is sample FREE code on CodeProject and elsewhere on how to write simple filters for edge detection, pixillation, motion detection, and more. SERVO magazine recently ran a series of articles on vision; the woman who wrote the articles provides her code, compiled DLL and source, at no charge. You need only rudimentary programming skills to call a couple of DLLs in VB.

I don't do Linux so I don't know what's available for it. But there are PLENTY of accessible and FREE resources if you're developing for a Microsoft OS, and C++ is not required. Some approaches are harder to program than others, but wonderful things await those who make the effort to better their knowledge.

-- Gordon

Reply to
Gordon McComb

Something like this?

but maybe that doesn't satisfy the "complete" requirement?

regards, dpa

Reply to
dpa

They can't be enthusiasts than :) Most people will spend thousands of $ on a hobby that interests them.

All my robot bases have been big enough to carry a Mini_ITX board. One was built out of welded steel, solid wheels and uses 24 volt window wiper motors as at the time I was going to use my old PC (I update about every three years :-) ). The PC ran off a 12 volt battery + inverter.

If the robot is worth building, that is can do things worth while, I would spend $5,000! Some car hobbyists spend a lot more than that on their hobby.

However for a mass production robot I agree. That is why I see a radio link to a home computer as the most cost effective solution. There are wireless web cams available now that people can buy for security and child monitoring.

If you need the computing power it is the cheapest solution.

There are many simple control systems that don't need that much computing power but advanced vision and advanced robots will need it.

Yes I have used VB5 to grab images although it was a bit slow and not really ideal. At the moment I am using VC++ with some success. But to be honest the teach yourself VC++ in 21 days didn't really cut it and I have found it difficult to get help from experts. Yes I tried the VC++ newsgroups with nothing but cryptic replies that if I could understand them I wouldn't have asked the question. I used the DJGPP C++ for DOS to capture and process images from the old monochrome QuickCam for which you could get the interface specs.

May I point out I am *only* a hobbyist in electronics and programming with other things that take up my time.

I just googled the Sourceforge library. At this stage I don't see any tutorials on how to use it.

I do remember something about the .NET compiler for free. The books required to get up to speed cost more than the $70 visual system however, and will they be any better than the teach yourself VC++ books I have? I doubt it. I am a hobbyist programmer with limited spare time not a professional.

Well yes I have done all that kind of image processing :)

Ok will have to try and track down where I can get the articles. I live in Australia a long way from the major cities.

Another poster, mlw, can use Linux and says grabbing images is a piece of cake. Well I await a *complete* example program of how he will do it if he ever does. Vague explanations and snippets of code just don't cut it for anyone except a professional programmer.

Do you write from personal experience?

-- John

Reply to
JGCASEY

"mlw" wrote

Plain right. My first robot was (well, *is*, since I'm still working on it) based on webcams that were capable of providing 640x480 at a decent frame rate (I'm not sure, but I think it was 16fps) but we decided using 320x200. Even though, because we are using only one mini-itx for everything, we can only run very basic image processing algorithms (pre-processing, edge detection, some frequency analysis, etc). We found that what kills us is not the framerate nor the resolution of the image, but the quality of the image. Because of its cheap construction, webcams don't offer or don't have the capabilities to implement faster shutter speeds, therefore the images we capture are sometimes blurred due to natural robot movement (off road environment).

For the new robot (an ATV) we have a bigger budget, and we bought a pair of professional firewire CCD cameras, with real lenses and shutter speed up to

1/100,000 of a sec. If conditions are right no matter how fast we are, we always get a crispy image to work with. The fact that the lenses are capable of f-1.0 is also a plus.

So, just to complement where mlw was going to, resolution and fps are seldom the critical factors for computer vision.

Cheers

Padu

Reply to
Padu

"Gordon McComb" wrote

Now I know what that means. I'm still shopping for components in order to automate my ATV. Because it is funded by my school, it needs to be reproduceable (no ebay, surplus, etc), and it is indecently expensive to buy motors, encoders, gearheads, controllers for things that require a good amount of force to be pushed around.

Cheers

Padu

Reply to
Padu

Adults yes, and adults can and do spend lots of $$$ on their robots. Have you taken a look at DPA's robots? These aren't cheap. However, not everyone has this budget. I know I don't.

So what about this craft doesn't require an investment of some kind for learning?

BTW, the $75 vision doesn't exist! If it did, we wouldn't be having this discussion. It would just be a URL to where you could buy it. Since it doesn't, you either have to spend more for something like a CMUcam2 (not a bad product), or roll your own.

Dick Smith sells SERVO mag, but it is available by subscription to Australia. The vision articles might have been woth the subscription price alone. However if all you want is to play with the vision libraries ytou can download them from here:

formatting link
at Mavis.

Yes, but I'm just a beginner in this area. I've tinkered with extracting bitmaps and doing simple compares, trying a variety of freeware DirectShow filters that detect motion, and tried some demo versions of commercial image libraries (Montivision, LEAD, etc.). Lots of stuff to play with, and so far I haven't written a line of C++ code.

-- Gordon

Reply to
Gordon McComb

It doesn't have a USB port, which you need to use most cameras. A client USB port is available as an add-on card, but you need a host port, not client.

Much serious image processing involves floating point math, which the Gumstix doesn't do in HW.

Reply to
Bob

Truthfully Gumstix comes pretty close, at least on the size issue. Once you get all the expansion boards for Ethernet etc. it's up to the $200 or so level, but it's still pretty good.

Funnily enough, it won't be robotics that will push smaller/cheaper CPUs, but the growing trend to carputers. Right now it's a cottage industry, but it's growing fast. Geek My Ride is becoming a huge business. Rather than a market of tens of thousands (a *good* day for robotics), it's a market of millions, just for the US. If just 10% of the cars in California had a carputer, we're talking something like two and a half million units.

All running off 12 volt DC, and all in a form-factor of no more than a car radio.

-- Gordon

Reply to
Gordon McComb

There is plenty of vision software available for Linux. The Video4Linux API is built into the kernel. There are several Sourceforge projects, the best is Intel's Open Source Computer Vision Library:

formatting link
The biggest problem for Linux is that most camera manufacturers provide binary-only drivers for Windows, and won't release the specs so someone can write a Linux driver. This problem is getting worse, with some vendors (such as Logitech) that released specs on their early cameras, refusing to do so on their newer cameras. I guess they figure all the tech support inquiries from random Linux geeks who can't get their drivers to work, isn't worth the tiny increase in sales.

Reply to
Bob

Gordon the Linux world is eat up with free software for vision processing, including some developed by Intel and several major universities. As for C++, there are tons of win32 IDE's, compilers, libraries etc.. Google is the king as far as finding that stuff is concerned. I personally use DEV-C++ and MinGW for my Windows developing. It reminds me of the old Borland IDE and can be used with many more languages. If I remember correctly they also have a Linux version.

Elj> JGCASEY wrote:

Reply to
Eljin

Hi

Some of them are :>)

The LEGO robot and SR04 are both in the under $300 catagory. It's the time that costs the most.

The most expensive part of the robots I've built lately are the industrial grade IMUs on nBot ($800) and jBot ($1800). But I doubt I have more than $1200 in nBot total (not counting time!!!) and probably $3000 in jBot total.

That might be a lot for a hobby robot, but it's not realy a lot for a hobby. Consider all the ATVs out there (usually $5000 or higher) the sailboats, dirtbikes, etc. And most of these are bought by normal working-class folks like us.

As for the expensive sensors, these are the prices most likely to come down, especially as experimentalists like us find nifty uses for the technology. By the time full 6-axis IMUs are 50 bucks, we'll already know how to use them. Hopefully.

I think I tend to agree with Gordon's (?) earlier comment that price is not really the main deteminate. The thing in short supply is really not money, it's cool ideas.

So, here's how I got the IMU for jBot. My wife wanted some new furniture. So she got her couch and chairs. And I got an IMU.

Try it! It might work for you!

best, dpa

Reply to
dpa

Hi

Here's a simple/cheap video application using the video4linux drivers, a winTV card, and a cheap NTSC B&W video camera. Not a robotics application, but you have to start somewhere.

There is a camera mounted outside the door of my office. A frame is grabbed about 4 times per second and compared to a reference frame. If enough pixels differ by enough of a threshold, then the frame is timestamped, compressed, and saved.

If the number of pixels that have changed is large enough, it's probaby somebody standing outside the door, so it also puts an asterix at the start of the time stamp, and plays a little .wav file that goes "tock" to get my attention.

Here's a little movie of the typical activity outside my office, played backwards just for fun. That's me at the end, spinning down the hall and thumbing my nose at the camera. I just moved once for each time I heard the "tock" coming from inside the office, to make my own little animation.

There is another cheapy video4linux application running this evening (and every tuesday evening) from the DPRG RBNO, all with cheap hardware and free software:

best, dpa

Reply to
dpa

I guess I was spoiled by the easy to learn simplicity of DOS that I have found the bureaucratic monstrosity called Windows and its MFC a rather large and obscure tome to deal with. When I dreamt of the day computers would have sufficient speed and memory to do vision in real time it never occurred to me the time taken to learn to do something simple like display a bitmap stored in an array would become so complex.

That's progress I guess :-)

-- JC

Reply to
JGCASEY

I wouldn't mind learning the arcane series of incantations so much if I didn't have to learn new ones every time they change things.

The raw Win16/Win32 API is the most long lasting version for Windows.

Linux/UNIX is interesting as well.

Reply to
mlw

Boy, John, I'm glad you said that, because I think that is the very most main reason we build robots. Either we find the building and development entertaining, or we find watching the result entertaining. In the case of Mini Sumo, I find both extremely pleasurable.

Reply to
Randy M. Dumse

The following non-x86 boards are NOT recommendations because I've never used them, so you will need to do your own research to see if they are suitable, but they both appear to have USB host:

formatting link
ARM based, US$149 according to the website. Complete ARM range at
formatting link
.

formatting link
AXIS based, ImageCraft is listed as a US distributor, but I couldn't find it on the ImageCraft website. The UK distributor lists them at 89.95 UKP excluding VAT (105.69 including VAT).

Simon.

Reply to
Simon Clubley

Here's my current setup for vision on a PC.

- Use a webcam - Logitech 4000Pro's are a good model near the specified price point.

- Use the Intel's OpenCV to import the pictures on a PC.

formatting link

- Use CMVision to quickly find colored objects

formatting link

- Use Qt for a nice GUI interface.

formatting link

- Use MinGW for a MSWindows compiler

formatting link

For a robot, the steps are similar. We have some custom camera to DSP interface boards at my school. Reading in the images doesn't require any fancy library. I will probably port CMVision or something similar to C for the DSP this semester.

Later, Daniel

Reply to
D Herring

Daniel, Didn't want your post to go without a *thank you* for providing some really great links.

While on the subject, have you found the color correction in the Logitech's a problem if you do color blob analysis? Are you able to get into the raw format of the camera (like the program here does for still cameras:

formatting link
or do you just pick up the corrected image as sent to the PC through the driver?

-- Gordon

D Herr>

Reply to
Gordon McComb

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.