As an exercise in size reduction, we have prototyped a complete optical flow sensor in a 125 milligram and 7mm x 7mm package. This mass includes optics, image sensing, and all processing. Below is a video and two close-up photographs. In the video, note the green vector indicating measured optical flow as a result of image motion.
Image sensor: Centeye Tamalpais 16x16 pixel image sensor (only an 8x8 block is being used), 1.3mm x 4.1mm, focal plane about 0.3mm x 0.3mm.
Optics: Proprietary printed pinhole, about 25 microns wide
Processor: Atmel ATtiny84
Optical flow algorithm: Modified "Image Interplation" algorithm, originally developed by Prof. Mandyam Srinivasan (well known for his research on honey bee vision and navigation).
Frame rate: About 20Hz.
This work is being performed as part of Centeye's participation in the Harvard University Robobees project, an NSF-funded project to build a robotic bee. The final target mass for the complete vision system (including processing) will be on the order of between 10mg to 25mg, and will include omnidirectional sensing as well as algorithms to detect flowers. Obviously we still have some more work to do!
We documented the construction of this sensor, with lots of photographs, in case anyone is interested.
Comments
And I mean that in the best way.
@Joe- Agreed. 20Hz is a bit slow, but 1200Hz is actually overkill for most MAV-based stuff. For this particular prototype we wrote the program in C and didn't put much effort into optimizing it, so there's definitely room for improvement.
I see the printed pinhole is working well!
How is flower detection going to work with that? Or do you plan on a larger sensor.