I would like to know how does a optical flow/mouse sensor go about stabilizing or controlling the position of a quadrotor ? Any useful links on optical flow/mouse sensor are also welcome.
The mouse sensor is basically a very low-resolution camera (~16x16 pixels or so). It also implements the necessary logic to determine the direction of movement of the picture it sees and outputs its change in X/Y coordinates. There are many different sensors so the method of interfacing will of course differ; older chips would use an output similar to a quadrature encoder but most seem to be going SPI. There are a few libraries out there for the Arduino.
With respect to a quadrotor it should be pretty plain as to how it would be used to steady the copter. The trick, however, is that these sensors are designed to be focused on a surface ~3mm away so you would need to include optics to focus it at the ground based on the typical height you'd be flying the copter. Also, you still need the standard accelerometers/gyros to maintain the attitude of the copter and then somehow figure out how to add the mouse sensor's outputs to that.
If you search for "mouse" on diydrones.com you'll find a few implementations.
I am currently using the breakout ADNS2620 optical mouse sensor for my quad project. I tried using the library provided but it seems that I am not able to read the X and Y coordinates from the sensor. All I get was a hex value of FF. I am using Ardupilot As the microcontroller and I have also connected the sdio pin to A4 and scl pin to A5. Anyone manage to get the X and Y coordinates readings?