I've been working on a DIY project which involves creating a drone from scratch. My aim is simple yet challenging; I want the drone to ascend to a specified altitude, hover for a few minutes, then descend, all autonomously without any external controller.
Here are the components I'm using:
Arduino Uno as the primary microcontroller. Adafruit BNO055 Absolute Orientation Sensor for orientation tracking. Brushless motors for the propellers. My approach thus far has been centered around PID (Proportional Integral Derivative) and LQR (Linear Quadratic Regulator) control methods for the stabilization and altitude control. However, despite my best efforts and countless hours poured into this project, I've been unable to achieve a successful, stable flight.
The main issue I'm experiencing is with achieving and maintaining the set altitude. The drone either overshoots the desired height or doesn't lift off properly. I'm sure it's a problem related to tuning the control systems but despite tweaking the PID and LQR parameters, I can't get it right.