Frequently Asked Questions
General Questions / Technical Questions
Traditionally fast computers are needed to capture and process camera images. It is also necessary to write the software to perform this processing. Because of this it is difficult to use vision as a sensor in simple systems.
The CMUcam vision system uses a fast low cost microcontroller to handle all of the high speed processing of the camera data and contains software to perform simple vision tasks. Because the user can choose to output only low bandwidth high level information from the vision system, like the red object is at position X-Y, it is possible for a simple processor like a PIC microcontroller to read this data and direct a small robot in tasks like chasing a colored ball. The CMUcam vision system makes it possible to ignore the complexity of camera interfacing and use vision just like any other sensor (i.e. sonar) often used in robotic systems.
How much would it cost to build a complete CMUcam?
The CMOS camera board costs $60. The CMUcam PCB board costs about $10. The cost of the components to stuff the board at unit cost is about $30. The total cost of a single vision system is about $100.
What is CMUcam's frame rate?
The fastest frame rate is 16.7 frames per second. This means CMUcam can tell you the position of an object about 17 times per second. Using the serial software protocol you can slow this down if desired.
What baud rates does the CMUcam support?
As of the latest version of the firmware (v1.12) the CMUcam can communicate at baud rates of 9600, 19200, 38400 or 115200. The baud rate is selected via jumper settings on the board.
How do I upgrade my CMUcam firmware?
If you are currently using firmware v1.11 there is no reason to upgrade unless you need support for the lower baud rates. Version 1.11 supports 38400 and 115200 baud. Version 1.12 supports those baud rates and adds support for 9600 and 19200 baud. To upgrade your firmware you will need to reprogram the flash memory in your processor chip. The easiest way to upgrade is to purchase a new processor with the new code flashed into it. To do this contact the company you purchased your CMUcam from. If you have a programmer (which are expensive) you can download the current version from our Downloads page and re-flash the processor yourself.
Does CMUcam work outside?
CMUcam works outside but not in direct sunshine. The CMOS camera we are using does not have a high-quality IR filter, and so sunlight saturates the red pixels and the image becomes, essentially, monochrome in direct sunlight. (It is possible to add an external filter to improve outdoor operation.) We have a short write up in Publications that shows you how illumination conditions affect CMUcam.
Can I write custom code for CMUcam?
Certainly. To do this, ask us for the firmware source code, order yourself a C programming environment for the Ubicom (Scenix) chip and go for it. When we send you the firmware source code we will also send you a summary of how the code is structured and information about the programming environment we use.
How much power does CMUcam consume?
The complete system consumes about 200 milliamperes.
What is the camera's field of view?
This depends on the lens that you fit to the CMOS camera. If you order the CMOS camera as it is sold standard, you will end up with about a 25 degree field of view, which is relatively narrow. You can custom-order wider angle lenses when you order your CMOS camera, however.
What processor does CMUcam use?
Our image processing code resides on a microcontroller chip from Ubicom running at 75 MHz, the SX28AC. (Note that the company that manufactures this chip recently changed their name from Scenix to Ubicom.) This chip reads all the pixels from the CMOS camera via a parallel interface and does all the processing in real time. It then communicates the results to your microcontroller or computer via a serial port interface.
What CMOS camera does CMUcam use?
We use a CMOS camera which utilizes the Omnivision OV6620 CMOS camera on a chip. We use a model number C3088 CMOS camera board which is available from Amazon Electronics on which is mounted the sensor, a connector and a lens.
Does CMUcam work with other CMOS cameras?
No. Currently the hardware and software system have been designed to work specifically with the Omnivision OV6620 CMOS camera. The system would need to be completely redesigned to work with another camera.
Are you developing more powerful versions of this vision sensor?
Yes. We are currently working on a system which uses the Ubicom SX52 processor. This processor runs 33% faster than the processor we are currently using and has almost twice as much RAM and twice as much flash program ROM. With this processor we should be able to achieve a higher frame rate and include more functionality in the system. We chose not to use this processor in the initial system because it is only available in a harder to work with surface mount package.
Is there some place I can find answers to additional questions I have?
Where can I find out more about computer vision in general?
CMUcam performs the simple computer vision task it was designed to perform in a small, inexpensive package. However, the general computer vision problem of trying to recognize arbitrary objects under arbitrary conditions is still a very active research topic and very far from being anywhere near a solved problem.
If you want to learn more about computer vision, you might want to try these links: