Skip to content

LQR Hover

Problem Statement

LQR hover control optimizes stabilization around a hover equilibrium by balancing state error and control effort. It gives a principled gain matrix and clean performance trade-offs through weighting matrices.

Model and Formulation

Linearized dynamics around hover:

x˙=Ax+Bu

Objective:

J=0(xQx+uRu)dt

Optimal policy:

u=Kx,K=R1BP

where P solves the continuous-time algebraic Riccati equation.

Algorithm Procedure

  1. Linearize UAV dynamics around trim hover.
  2. Choose Q and R according to tracking vs effort priorities.
  3. Solve Riccati equation for P, then compute feedback gain K.
  4. Apply full-state feedback in the hover envelope.

Tuning Guidance

  • Increase position-state weights in Q for tighter hover.
  • Increase R to smooth actuation and reduce aggressive commands.
  • Re-linearize if operating point drifts far from hover assumptions.

Failure Modes and Diagnostics

  • Performance degrades in strongly nonlinear/aggressive regimes.
  • State-estimation latency can destabilize high-gain solutions.
  • Poorly scaled units in Q/R create unintuitive controller behavior.

Implementation and Execution

bash
python -m uav_sim.simulations.path_tracking.lqr_hover

Evidence

LQR Hover

References

Released under the MIT License.