← Back to Projects Controls • Aerospace

Quadrotor Hovering Stability and Control

Advanced Control Systems • Ryerson University • with Simon Lam

A comparative study of linear control techniques for quadrotor hovering — PID, LQR, feed-forward tracking, and robust servomechanism — simulated on both linearized and nonlinear dynamics in Matlab/Simulink.

Overview

Quadrotors are multi-rotor UAVs that use four propellers to control full pose (position and orientation). Their nonlinear dynamics make hovering stability a classic control challenge — and a strong platform for comparing controller designs.

In this Advanced Control Systems project at Ryerson University (co-authored with Simon Lam), we derived a full kinematic and dynamic model using Newton–Euler formulation, linearized the altitude and attitude dynamics, verified controllability and observability, then designed and compared four linear control approaches. Every controller was simulated against both the linearized plant and the full nonlinear model.

📄 Full Project Report (PDF)

Key Highlights

📐

Full Dynamics Model

Newton–Euler kinematics and dynamics with 12-state pose formulation, then linearized for hover

🎛️

PID Control

SISO-tuned and auto-tuned PID for altitude, pitch, roll, and yaw stabilization

📊

LQR Design

Optimal state-feedback via Algebraic Riccati solution for fast attitude recovery

🎯

Tracking Controllers

Feed-forward constant tracking and robust servomechanism for constant and sinusoid references

Modelling & Analysis

The quadrotor was modelled with body and inertial frames, opposite rotor spin pairs for yaw torque balance, and control inputs mapped from rotor speeds to thrust and moments. Assumptions included rigid body/propellers, symmetry, thrust/drag proportional to rotor speed, and neglected translational drag and ground effect.

The hover-relevant state vector covers altitude and attitude with their rates. Controllability and observability matrices were full rank (8), with no transmission zeros overlapping tracking poles — satisfying the conditions for the controllers below.

Controllers

PID: Classical PID designed with a SISO approach (altitude, pitch, roll, yaw channels) and compared against Matlab auto-tuning. Auto-tune recovered faster; SISO was slower with almost no undershoot.

LQR: Linear Quadratic Regulator minimizing a quadratic cost; gains from the Algebraic Riccati equation. Attitude stabilization was particularly fast on the linear plant.

Feed-forward tracking: Constant reference tracking with strong altitude (~3 s) and attitude (~1 s) responses on the linear model.

Robust servomechanism: Augmented-system design for constant and sinusoid tracking with disturbance rejection — including sine-wave altitude tracking with constant attitude setpoints.

Results

All four methods stabilized both the linearized and nonlinear plants, with nonlinearities clearly degrading response quality relative to the linear case. Controllers differed mainly in settling time, undershoot, and tracking bandwidth — confirming that linear designs remain effective for hover when validated against the full nonlinear model.

Technologies & Keywords

PID Linear Quadratic Regulator Feed-forward Tracking Robust Servomechanism Attitude Control Hover Stability Newton–Euler Model Linearization Controllability Observability Matlab Simulink UAV Quadrotor
← Tape Punch All Projects →