Wiki

Version 17 (Kwabena Agyeman, 03/13/2012 04:26 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 17 Kwabena Agyeman
One of the primary uses of the CMUcam2 is to track or monitor color. The
18 17 Kwabena Agyeman
best performance can be achieved when there are highly contrasting and intense
19 17 Kwabena Agyeman
colors. For instance, it can easily track a red ball on a white background,
20 17 Kwabena Agyeman
but it would be hard to differentiate between different shades of brown in
21 17 Kwabena Agyeman
changing light. Tracking colorful objects can be used to localize landmarks,
22 17 Kwabena Agyeman
follow lines, or chase a moving beacon. Using color statistics, it is possible
23 17 Kwabena Agyeman
to monitor a scene, detect a specific color or do primitive motion detection. If
24 17 Kwabena Agyeman
the camera detects a drastic color change, then chances are something in the
25 17 Kwabena Agyeman
scene changed. Using “line mode,” the CMUcam2 can act as an easy way
26 17 Kwabena Agyeman
to get low resolution binary images of colorful objects. This can be used to
27 17 Kwabena Agyeman
do more sophisticated line following that includes branch detection, or even
28 17 Kwabena Agyeman
simple shape recognition. These more advanced operations would require
29 17 Kwabena Agyeman
custom algorithms that would post process the binary images sent from the
30 17 Kwabena Agyeman
CMUcam2.
31 1 Redmine Admin
32 17 Kwabena Agyeman
h3. *Typical Configuration*
33 1 Redmine Admin
34 17 Kwabena Agyeman
The most common configuration for the CMUcam2 is to have it communicate
35 17 Kwabena Agyeman
to a master processor via a standard RS232 serial port. This “master processor”
36 17 Kwabena Agyeman
could be a computer, PIC, Basic Stamp, Handy Board, Brainstem or
37 17 Kwabena Agyeman
similar microcontroller setup. The CMUcam2 is small enough to add simple
38 17 Kwabena Agyeman
vision to embedded systems that cannot afford the size or power of a standard
39 17 Kwabena Agyeman
computer based vision system. Its communication protocol is designed to
40 17 Kwabena Agyeman
accommodate even the slowest of processors. If your device does not have
41 17 Kwabena Agyeman
a fully level shifted serial port, you can also communicate to the CMUcam2
42 17 Kwabena Agyeman
over the TTL serial port. This is the same as a normal serial port except that
43 17 Kwabena Agyeman
the data is transmitted using non-inverted 0 to 5 volt logic. The CMUcam2
44 17 Kwabena Agyeman
supports various baud rates to accommodate slower processors. For even
45 17 Kwabena Agyeman
slower processors, the camera can operate in “poll mode”. In this mode, the
46 17 Kwabena Agyeman
host processor can ask the CMUcam2 for just a single packet of data. This
47 17 Kwabena Agyeman
gives slower processors the ability to more easily stay synchronized with the
48 17 Kwabena Agyeman
data. It is also possible to add a delay between individual serial data characters
49 17 Kwabena Agyeman
using the “delay mode” command. Due to the communication delays,
50 17 Kwabena Agyeman
both poll mode and delay mode will lower the total frame rate that can be
51 17 Kwabena Agyeman
processed. Frame resolutions are not affected by delay mode or baud rate as
52 17 Kwabena Agyeman
they were in the original CMUcam.