Appearance
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:
$$ \dot{x} = Ax + Bu $$
Objective:
$$ J = \int_0^\infty \left(x^\top Qx + u^\top Ru\right)dt $$
Optimal policy:
$$ u = -Kx,\quad K = R^{-1}B^\top P $$
where P solves the continuous-time algebraic Riccati equation.
Algorithm Procedure
- Linearize UAV dynamics around trim hover.
- Choose
QandRaccording to tracking vs effort priorities. - Solve Riccati equation for
P, then compute feedback gainK. - Apply full-state feedback in the hover envelope.
Tuning Guidance
- Increase position-state weights in
Qfor tighter hover. - Increase
Rto 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/Rcreate unintuitive controller behavior.
Implementation and Execution
bash
python -m uav_sim.simulations.path_tracking.lqr_hoverEvidence
![]()
References
- Anderson and Moore, Optimal Control: Linear Quadratic Methods
- Bertsekas, Dynamic Programming and Optimal Control