CMUcam2 Emulation#
The CMUcam2 has the following capabilities:
Track user defined color blobs at up to 50 frames per second (frame rate depends on resolution and window size settings)
Track motion using frame differencing at 26 frames per second
Find the centroid of any tracking data
Gather mean color and variance data
Gather a 28 bin histogram of each color channel
Process horizontally edge filtered images (not supported)
Transfer a real-time binary bitmap of the tracked pixels in an image
Arbitrary image windowing
Image down sampling
Adjust the camera’s image properties
Dump a raw image (single or multiple channels)
Up to 176 x 255 resolution
Supports baud rates of: 115,200 57,600 38,400 19,200 9,600 4,800 2,400 1,200 BPS
Control 5 servo outputs
Slave parallel image processing mode off of a single camera bus (not supported)
Automatically use servos to do two axis color tracking
B/W analog video output (PAL or NTSC, depending on camera module used)
Flexible output packet customization
Power down mode
Multiple pass image processing on a buffered image
Pre-compiled CMUcam2 Emulation Images#
There are several differences between the CMUcam2 emulation and the actual CMUcam2. Below is a list of all CMUcam2 functionality with non-supported features crossed off. Many crossed off features will be supported in the near future.
The following commands will not be supported in the near future:
CMUcam2 Emulation Differences#
Servo Input Range
Servos are now 0-255 8-bit values
Jumpers
Due to the lack of jumpers on the CMUcam3, baud rate and servo direction changes need to be done at compile time - these are controlled by #defines at the top of the cmucam.c source code
Set Input (SI pin ) Command
Sets the pin to be an input
Software Color Space (CS value ) Command
CS 0 sets the color space to the hardware default (RGB or YCrCb)
CS 1 does a software conversion to the HSV color space
Conversion assumes hardware is set to RGB for correct results
HSV space is an integer space where all values are scaled between 16 and 240
Note: This is only available in r504 and higher
Set Output can control the Blue and Orange LEDs
Servos 2 and 3 will stop working
SO 2 1 -> Blue on
SO 2 0 -> Blue off
SO 3 1 -> Orange on
SO 3 0 -> Orange off
No Slave Mode
It is possible, but we currently don’t support it
Output Mask (OM)
Only supports T and S packets (type 0 and 1)
Line Mode (LM)
Only supports track color mode (LM 0 1)
Track color statistics added in r523 (LM 0 2)
Send JPEG (SJ)
Sends a jpeg compressed frame, header and all
Demo Mode
Since holding down the programming button puts the CMUcam3 into programming mode, you need to press the button half a second after startup to enter demo mode
Hi-Res Frame Difference
This now works the same as low-res frame differencing, just at a higher resolution