KLCarithers Robotics

MiniRanger

Kyle L. Carithers

Machine Intelligence Lab

REU 2006

 

Vision

 

The CMU2+ vision system was used on MiniRanger.  The CMU2+ is Acroname’s version of the CMUcam2.  The CMUcam2 is the second generation of the CMUcam designed by Carnegie Mellon University.  These cameras are unique in that they combine a microprocessor with a capable camera for low cost vision processing without the need for a high speed processor.  The CMUcam2 and the CMU2+ are far more powerful than the original CMUcam.  The higher price for the second generation of the camera is worth paying.  The difference between the CMUcam2 and the CMU2+ is a matter of preference as they offer the same capabilities.  On the CMUcam2, the electronics are placed on one board and the camera is placed on another.  Acroname has combined these boards into a single board with a footprint only a quarter of an inch larger than the CMUcam2.  The CMU2+ does not feature a level shifter as it is designed primarily for interfacing directly to a microcontroller.  A level shifter or TTL level serial to USB converter is necessary to interface the camera with a computer.  Interfacing the camera with a computer must only be done once.  A program designed for the camera can be downloaded from the CMU website.  This program can be used to test the camera and focus the lens.  A piece of electric tape was placed around the lens to hold it at the desired position.   

 

Codevision’s terminal emulator was used to test the commands that would be used on the MiniRanger.  For the purposes of tracking and following a color, only the following commands are necessary: RS, CR, SM, and TC.  RS resets the camera to its default condition and moves servos to center position.  CR can be used to adjust the internal register values of the camera such as contrast, brightness, auto white balance, clock speed, and auto gain.  MiniRanger used the CR commands during camera initialization.  The following was the exact command sent to the camera, "CR 18 32 19 32\r".   The numbers are sent in pairs where the first number of the pair tells the camera which register that the next number will adjust.  For MiniRanger, 32 turns off the YCrCb auto white balance of register 18, the color mode.  The next 32 turns off the auto gain of the auto exposure register, register 18.  SM is the servo mask that controls which servos are automated while tracking.  The command "SM 15\r" was sent to the camera to enable both the pan and tilt. 

 

The command TC was used to track specific colors.  TC puts the camera in tracking mode where the red, green, and blue levels of each pixel are evaluated.  The camera tracks the largest objects whose values range between the specified minimum and maximum color values.  A series of numbers is sent after TC to set the minimum and maximum values for red, green, and blue.  The command "TC 175 255 0 30 0 30\r" was the actual command sent to the camera.  The number 175 and 255 represent the minimum and maximum allowable values for red.  The last two pairs represent the minimum and maximum values for green and blue.  While in tracking mode, the camera sends out a series of ASCII characters that specify tracking information.  If the servos are being automatically controlled by the camera, the servo positions are sent after the tracking information.  These servo values were stored while the other values sent during tracking mode were discarded.

 

Design

Construction

Electronics Overview

Sonar

Motor Controller

Vision

Power

Software

Parts List

 

KLCarithers Robotics