Wiki

Version 18 (Kwabena Agyeman, 03/13/2012 04:38 pm)

1 6 Kwabena Agyeman
h1. Wiki
2 1 Redmine Admin
3 7 Kwabena Agyeman
!http://cmucam.org/attachments/355/cmucam_with_servos.jpg!
4 1 Redmine Admin
5 14 Kwabena Agyeman
h3. *Quick Links*
6 14 Kwabena Agyeman
7 14 Kwabena Agyeman
* [[FAQ]]
8 14 Kwabena Agyeman
* [[Downloads]]
9 14 Kwabena Agyeman
* [[People]] 
10 14 Kwabena Agyeman
* [[CMUcam1:]]
11 14 Kwabena Agyeman
* "Toy Robots Initiative":http://www.cs.cmu.edu/~illah/EDUTOY/
12 14 Kwabena Agyeman
13 15 Kwabena Agyeman
* [[Legal Information]]
14 15 Kwabena Agyeman
15 17 Kwabena Agyeman
h3. *Typical Uses*
16 1 Redmine Admin
17 18 Kwabena Agyeman
One of the primary uses of the CMUcam2 is to track or monitor colors. The best performance can be achieved when there are highly contrasting and intense colors. For instance, it can easily track a red ball on a white background, but it would be hard to differentiate between different shades of brown in changing light. Tracking colorful objects can be used to localize landmarks, follow lines, or chase a moving beacon. Using color statistics, it is possible to monitor a scene, detect a specific color or do primitive motion detection. If the camera detects a drastic color change, then chances are something in the scene changed. Using “line mode,” the CMUcam2 can act as an easy way to get low resolution binary images of colorful objects. This can be used to do more sophisticated line following that includes branch detection, or even simple shape recognition. These more advanced operations would require custom algorithms that would post process the binary images sent from the CMUcam2.
18 1 Redmine Admin
19 17 Kwabena Agyeman
h3. *Typical Configuration*
20 1 Redmine Admin
21 17 Kwabena Agyeman
The most common configuration for the CMUcam2 is to have it communicate
22 17 Kwabena Agyeman
to a master processor via a standard RS232 serial port. This “master processor”
23 17 Kwabena Agyeman
could be a computer, PIC, Basic Stamp, Handy Board, Brainstem or
24 17 Kwabena Agyeman
similar microcontroller setup. The CMUcam2 is small enough to add simple
25 17 Kwabena Agyeman
vision to embedded systems that cannot afford the size or power of a standard
26 17 Kwabena Agyeman
computer based vision system. Its communication protocol is designed to
27 17 Kwabena Agyeman
accommodate even the slowest of processors. If your device does not have
28 17 Kwabena Agyeman
a fully level shifted serial port, you can also communicate to the CMUcam2
29 17 Kwabena Agyeman
over the TTL serial port. This is the same as a normal serial port except that
30 17 Kwabena Agyeman
the data is transmitted using non-inverted 0 to 5 volt logic. The CMUcam2
31 17 Kwabena Agyeman
supports various baud rates to accommodate slower processors. For even
32 17 Kwabena Agyeman
slower processors, the camera can operate in “poll mode”. In this mode, the
33 17 Kwabena Agyeman
host processor can ask the CMUcam2 for just a single packet of data. This
34 17 Kwabena Agyeman
gives slower processors the ability to more easily stay synchronized with the
35 17 Kwabena Agyeman
data. It is also possible to add a delay between individual serial data characters
36 17 Kwabena Agyeman
using the “delay mode” command. Due to the communication delays,
37 17 Kwabena Agyeman
both poll mode and delay mode will lower the total frame rate that can be
38 17 Kwabena Agyeman
processed. Frame resolutions are not affected by delay mode or baud rate as
39 17 Kwabena Agyeman
they were in the original CMUcam.