Wiki

Version 33 (Kwabena Agyeman, 03/13/2012 04:24 pm)

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