POSITION_CONTROL - jofranco/multi-rotor-on-FPGA GitHub Wiki

Overview

This core receives raw nav data from the AXI_SPI_Driver core and converts it to useable data i.e. roll, pitch, and yaw to be used with the PID core. The core contains a Kalman Filter which is a predictive estimation filter to reduce noisey measurements which are inherently introduced with our sensor.

Interface

This core takes in an array of 16 bit signed data from the AXI_SPI_Driver and converts it to an array of ap_fixed<16,3> data as an input to the rate and position PID's.

Function

Raw accelerometer and gyroscope data is processed and converted to roll, pitch, and yaw. A Kalman Filter object is then created for each of the AV position angles to reduce gyro drift. See Additional References below for more information regarding data processing.

Additional Notes

Gathering valid position data is crucial for stable flight. Ensure proper sensor calibration and verify roll, pitch, and yaw are reasonable to describe AV position. Sensor is usually mounted on center gravity of mass, but an offset to sensor placement on the AV should be accounted for when processing Nav data.

Additional References

https://www.instructables.com/id/Accelerometer-Gyro-Tutorial/

⚠️ **GitHub.com Fallback** ⚠️