Thursday, June 29, 2006

Optical Tracking Idea Update

Well, it's been a while. I was thinking again today about the optical tracking and how to reduce the need for speed. What did I come up with?

Take a CPLD and feed an IR filtered Kodak 580fps B&W camera into it. Use a microcontroller to clock the whole operation (I still think a dsPIC30/33 is a good choice). Within the CPLD, do a comparison on each IR pixel byte to a programed byte threshold fed in from the PIC. If matched or exceeded (whatever is easier), output to a latching port that feeds the dsPIC and trip an interrupt line. By feeding through the line and frame syncs, too, you can setup a signal delay match to the data line. Now, the big idea here is that the PIC keeps count on what pixel should be output (use a Timer module?) and records this and the value whenever the threshold is exceeded.

While a simpler system based around just passing a go/no go signal would work, I'd like to have the imaging data, too. This would allow some filters to be built that adjust the sensor threshold depending on brightness. Another technique could be used to determine if the data recieved is a false response due to reflection, etc. If you're using the ultimate output to just track a beacon like I'd do, you could use moving target filters to keep the area watched small.

The big advantage of this setup over a direct link is that you can significantly reduce the image processing requirements. Another one is that it's still fully possible to do full frame captures without any additional overhead or need to "switch off" a software comparison module.

A disadvantage of this method is that it tosses yet another IC onto a video board I am hoping to keep small.

No comments: