As part of Centeye’s participation in the NSF-funded Harvard University Robobee project, we are trying to see just how small we can make a vision system that can control a small flying vehicle. For the Robobee project our weight budget will be on the order of 25 milligrams. The vision system for our previous helicopter hovering system weighed about 3 to 5 grams (two orders of magnitude more!) so we have a ways to go!

We recently showed that we can control the yaw and height (heave) of a helicopter using just a single sensor. This is an improvement over the eight-sensor version used previously. The above video gives an overview of the helicopter (a hacked eFlite Blade mCX2) and the vision system, along with two sample flights in my living room. Basically a human pilot (Travis Young in this video) is able to fly the helicopter around with standard control sticks (left stick = yaw and heave, right stick = swash plate servos) and, upon letting go of the sticks, the helicopter with the vision system holds yaw and heave. Note that there was no sensing in this helicopter other than vision- there was no IMU or gyro, and all sensing/image processing was performed on board the helicopter. (The laptop is for setup and diagnostics only.)

The picture below shows the vision sensor itself- the image sensor and the optics weigh about 0.2g total. Image processing was performed on another board with an Atmel AVR32 processor- that was overkill and an 8-bit device could have been used.

A bit more about optics: In 2009 we developed a technique for “printing” optics on a thin plastic sheet, using the same photoplot process used to make masks for, say, making printed circuit boards. We can print up thousands of optics on a standard letter size sheet of plastic for about $50. The simplest version is a simple pinhole, which can be cut out of the plastic and glued directly onto an image sensor chip- pretty much any clear adhesive should work.The picture below shows a close-up of a piece of printed optics next to an image sensor (the one below is a different sensor, the 125 milligram TinyTam we demonstrated last year).

The principle of the optics is quite understandable- a cross section is below. The plastic sheet has a higher index of refraction than air, thus a near hemisphere field of view of light may be focused onto a confined region of the image sensor chip. You won’t grab megapixel images in this manner, but it works well for the hundreds of pixels needed for hovering systems like this.

We are actually working on a new ArduEye system, using our newer Stonyman vision chips, to allow others to hack together sensors using this type of optics. A number of variations are possible, including using slits to sense 1D motion or pinhole arrays to make a compound eye sensor. If you want more details on this optics technique, you can visit this post, or you can pull up US patent application 12/710,073 on Google Patents. (Note: We are planning to give a blanket license of the patent for use in open hardware systems.)

(Sponsor Credit: “This work was partially supported by the National Science Foundation (award # CCF-0926148). Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.”)

{ 5 comments }

CYE32 Features Video

by youngt on October 4, 2011

In an earlier post, I shared plans for a CYE32 vision sensor based around the AT32UC3B1256 microcontroller.  After working with this vision sensor for a couple months, it has become a useful platform for trying out new vision chips and new image processing algorithms.

 

I put together a short video that shows off some of the features of the CYE32, including variable downsampling and various optical flow algorithms.  The vision chip used in the video is the Faraya 64 (with 64×64 pixel array), but the CYE32 supports the Firefly and the new Stonyman class chips as well.

 

The CYE32 outputs bytes via I2C.  These bytes are relayed by a custom I2C-to-USB board to the computer.  Commands can be sent to the sensor to change image parameters in real-time, and various datasets can be read from the sensor and displayed in the output window.

 

I’d be interested to know whether there is a market for a standalone open-source sensor such as this.  With the addition of a JTAG programmer, a user would be able to select any part (or parts) of an image, process that image within the limits of the microcontroller, and then produce an I2C output.

 

Take a look at the video and leave your feedback below.

CYE32 features video

 

{ 0 comments }

New Image Sensor Chips for Robotics and Embedded Vision

August 9, 2011

I just got back some new silicon! These are the latest image sensor chips I designed specifically for robotics and embedded vision applications. The pictures above show a full wafer followed by a close-up of the wafer from an angle. There are four chips in each reticle- if you look closely you can see them [...]

Read the full article →