Learning-based quadrotor tracking control using Recursive Gaussian Processes
This paper presents an onboard learning-based quadrotor tracking controller that integrates a computationally efficient Recursive Gaussian Process with a Feedback Linearization controller and a novel Kalman-filter-based tuning algorithm to compensate for unmodeled dynamics, achieving significant tracking error reductions (38% to 75%) in real-world experimental validation.
Original paper licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer
Flying a drone is a delicate balancing act, a constant negotiation between the laws of physics and the software trying to command them. For a quadrotor, a small aircraft with four spinning rotors, staying on a precise path is difficult because the air around it is never perfectly still. Wind gusts, the complex swirl of air created by the rotors themselves, and tiny imperfections in the machine's construction all conspire to push it off course. Traditional flight controllers rely on mathematical models to predict how the drone should move, but these models are never perfect. When the real world deviates from the math, the drone stumbles, its tracking becoming sluggish or shaky. For years, engineers have tried to fix this by teaching computers to learn from their mistakes, using machine learning to fill the gaps in the model. However, these smart systems have historically been too heavy for the drone's own computer to run while flying, forcing researchers to test them only in simulations or on the ground.
A team of researchers at Politecnico di Milano has now bridged that gap, creating a system that allows a real drone to learn and correct its own flight path while it is in the air. They developed a method that combines a standard flight controller with a learning algorithm called a Recursive Gaussian Process. Think of this learning algorithm as a highly efficient memory system that doesn't just store every single piece of data it encounters, which would quickly overwhelm a small computer, but instead keeps a curated, compact summary of the most important information. This allows the drone to update its understanding of the wind and its own quirks in real time, without needing to stop and process a massive database. The researchers tested this system on a real quadrotor named the ANT-X Lab drone, flying it through a series of complex, wavy paths in an indoor arena. The results were clear: by letting the drone learn its own errors on the fly, the system reduced tracking errors by between 38% and 75% compared to the same drone flying without this learning capability.
The core challenge the researchers tackled was the computational cost of learning. Standard machine learning models that use Gaussian processes are incredibly powerful at predicting unknown behaviors, but they usually require a computer to re-calculate everything from scratch every time a new piece of data arrives. For a drone flying at high speed, this is too slow. The researchers solved this by using a "recursive" approach. Instead of treating every new observation as a fresh start, the system updates its internal model incrementally, much like a person refining a mental map as they walk through a new city, rather than redrawing the entire map with every step. To make this even faster, they pre-selected a fixed set of reference points, or "basis vectors," that cover the likely range of the drone's movements. The learning algorithm then only adjusts the values associated with these fixed points, rather than trying to remember every single moment of the flight. This trick reduced the computational load enough to run the entire system directly on the drone's onboard computer, a significant leap from previous attempts that required a separate, powerful ground station to do the thinking.
To ensure the drone could learn safely and effectively, the team designed a specific workflow. Before the learning kicks in, the drone hovers and stabilizes. Then, a "warm-up" period of four seconds allows the system to gather initial data and tune its internal settings without immediately trying to correct the flight path. This prevents the drone from overreacting to noise or sudden, uncharacteristic movements. Once the system is ready, it begins to listen to the difference between where the drone was told to go and where it actually went. This difference, caused by wind or aerodynamic drag, is what the learning algorithm tries to predict and cancel out. The researchers used a special filtering technique to smooth out the raw sensor data, ensuring the drone wasn't learning from random sensor glitches but from genuine patterns in the air. This careful preparation allowed the learning system to focus on the true physics of the flight, rather than the noise of the sensors.
The experiments involved flying the drone along various sinusoidal, or wave-like, paths. Some paths repeated the same pattern over and over, while others changed their shape or speed continuously, testing whether the system could adapt to new situations it had never seen before. In the tests, the drone was asked to follow paths with different speeds and amplitudes, moving back and forth in a straight line. The results showed that the learning-based controller significantly outperformed the standard controller. When flying a steady, repeating wave pattern at a moderate speed, the learning system reduced the average error to just 4.5 centimeters, a dramatic improvement over the 17.3 centimeters error seen with the standard controller. Even when the flight path changed constantly, such as in a sweeping motion where the speed and direction varied, the learning system still managed to cut the error by nearly 40%. The improvement was most pronounced when the drone was flying within the range of conditions it had seen during its learning phase, but it still provided substantial benefits in new, varying conditions.
One of the most important aspects of this work is that it proves learning-based control can be done safely and effectively on real hardware, not just in computer simulations. The researchers demonstrated that the system could handle the complexities of a real-world environment, including the subtle aerodynamic effects that are hard to model mathematically. By successfully running the algorithm onboard, they showed that the computational limitations of small drones are no longer a hard barrier to using advanced learning techniques. The study also highlighted the importance of how the learning system is tuned. The researchers developed a new method for adjusting the system's internal parameters, using a technique inspired by how Kalman filters work, which allowed the system to find the best settings for learning much more effectively than previous methods. This tuning was crucial for ensuring the drone didn't become too sensitive or unstable as it learned.
The success of this project suggests a future where drones can be more autonomous and capable of handling complex tasks in unpredictable environments. If a delivery drone can learn to compensate for a sudden gust of wind or a change in air density without human intervention, it becomes a much more reliable tool. The researchers' work provides a concrete path forward, showing that by combining classical control theory with modern, efficient learning algorithms, it is possible to create flight systems that are both smart and robust. The key was not just in the learning itself, but in the engineering that made that learning fast enough to happen in real time. By keeping the computational demands low and the learning process focused, the team turned a theoretical concept into a practical reality, demonstrating that a small drone can indeed learn to fly better as it flies.
Drowning in papers in your field?
Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.