# Design of a Trajectory Tracking Controller for a Nanoquadcopter

arXiv: https://arxiv.org/abs/1608.05786 · HTML: https://mlsanity.com/paper/1608.05786/

## Key facts

- Cited by 5 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 20 Aug 2016.

## Built on by (most cited first, 5 of 5)

- [Learning to Fly -- a Gym Environment with PyBullet Physics for Reinforcement Learning of Multi-agent Quadcopter Control](https://mlsanity.com/paper/2103.02142/) (2021)
- [Safety Filtering While Training: Improving the Performance and Sample Efficiency of Reinforcement Learning Agents](https://mlsanity.com/paper/2410.11671/) (2024)
- [Reinforcement Learning with Formal Performance Metrics for Quadcopter Attitude Control under Non-nominal Contexts](https://mlsanity.com/paper/2107.12942/) (2021)
- [Curriculum-based Sample Efficient Reinforcement Learning for Robust Stabilization of a Quadrotor](https://mlsanity.com/paper/2501.18490/) (2025)
- [MuJoCo-Drones-Gym: A GPU-Accelerated Multi-Drone Simulator for Control and Reinforcement Learning](https://mlsanity.com/paper/2606.08039/) (2026)

## Abstract (arXiv)

The primary purpose of this study is to investigate the system modeling of a nanoquadcopter as well as designing position and trajectory control algorithms, with the ultimate goal of testing the system both in simulation and on a real platform. The open source nanoquadcopter platform named Crazyflie 2.0 was chosen for the project. The first phase consisted in the development of a mathematical model that describes the dynamics of the quadcopter. Secondly, a simulation environment was created to design two different control architectures: cascaded PID position tracker and LQT trajectory tracker. Finally, the implementation phase consisted in testing the controllers on the chosen platform and comparing their performance in trajectory tracking. Our simulations agreed with the experimental results, and further refinement of the model is proposed as future work through closed-loop model identification techniques. The results show that the LQT controller performed better at tracking trajectories, with RMS errors in position up to four times smaller than those obtained with the PID. LQT control effort was greater, but eliminated the high control peaks that induced motor saturation in the PID controller. The LQT controller was also tested using an ultra-wide band two-way ranging system, and comparisons with the more precise VICON system indicate that the controller could track a trajectory in both cases despise the difference in noise levels between the two systems.
