Optical Flow Sensor for APM Series Flight Control Board
Features
- High resolution: 30 x 30 pixel frames meaning it can see features that lesser mice cannot
- High speed: 2000 to 6400 frames per second update rate which contributes to better low light performance than other mouse sensors
- SPI interface meaning it can be interfaced to many micro controllers and co-exist with other sensors
- Intended to interface with a 5v microcontroller
- 8mm lens with 11 deg FOV
- Standard M12x0.5 lens mount meaning you can replace the lense easily
How it works
The mouse sensor returns the average movement (in the x and y directions) of surface features that it sees. A single pixel move will not cause the sensor to return “1”. It will return a higher value around 5. This value is referred to as the scaler below. In the example below, the value returned would be about 1.6 ( (-5+5+5) / 3).
Sensor’s x and y values can be converted to real distances based on altitude
In order to convert values from the sensor to real distances moved, we need to take into account the altitude. This is necessary because as you can see from the two pictures below, if we have two quads moving the same distance, but one at a low altitude, the other at a higher altitude, the lower quad will see surface features appear to move further and this will result in a higher optical flow values.
We compensate for vehicle roll and pitch changes
Change in the vehicle’s roll and pitch will also cause changes in the x and y values returned by the sensor. Unlike the lateral movement calculations these are not dependent upon the distance of the visible objects. In the picture below you can see that as the quad has rolled 10 degrees but both flowers have moved from the center of the camera’s view in the 1st pic to the edge of the view in the 2nd pic.
The expected change in sensor values can be calculated directly from the change in roll and pitch given the formula below. We subtract these expected changes from the real values returned by the sensor.