DPRG List  


Subject: [DPRG] CMUcam
From: Randy M. Dumse rmd at newmicros.com
Date: Mon Feb 7 14:02:37 CST 2005

> I forget the name for this algorithm, but I learned
> about it recently
> and was suprised it's not implemented on the CMUCam.
> You divide the image into four quadrants and report
> the number of
> pixels in the target color range in each quadrant.
> This allows you to
> do line following by trying to move such that the
> sums of the target
> pixels in each side of the image are almost equal.
> Out of curiosity, are you doing this in forth or in
> C?  Also, how do
> you interface to those camera modules?

Thanks for the reply. Hope you  don't mind if I put my response
back up on the DPRG list. I'm hoping to hear some more
discussion on this subject.

My current thinking on doing line tracking sounds similar to
what you suggest. I plan to use two windows, top and bottom. Use
the SW (Set Window) to get just the bottom few scan lines. Then
TC (Track Color) for the white line. This will give me an MM
(Middle Mass) response, and I will use whether it is left or
right of center to know if the bot is on top of the line.

Then I thought to use the SW (Set Window) to get just the top
few scan lines. Then again TC (Track Color). This will give me
an MM (Middle Mass) response to figure whether the line ahead is
left or right of bottom position, to know if the bot needs to
anticipate turning to follow the line.

Given a third point, I figure I could use geometry to compute
the curvature of the line, and maybe profile a turn to match
what it sees coming.

The CMUcam hooks to the second serial port of the 'Pod (either
IsoPod(TM) or ServoPod(TM)) at 115,200 and RS232 levels. The
interface is programmed in Forth/IsoMax(TM). Forth for the
procedural parts, and IsoMax(TM) running in the background
sorting out the responses of the camera automatically. And I
added selectable echo modes so you could watch the responses on
the main serial port if desired.


More information about the DPRG mailing list