四旋翼飞行器动力学建模与PID控制方案
\begin{cases} \dot{X} = V_x \\ \dot{Y} = V_y \\ \dot{Z} = V_z \\ \dot{\phi} = p + q\sin\phi\tan\theta + r\cos\phi\tan\theta \\ \dot{\theta} = q\cos\phi - r\sin\phi \\ \dot{\psi} = \frac{q\sin\phi + r\cos\phi}{\cos\phi\cos\theta} \end{cases}
其中p,q,r 为机体坐标系下的角速度分量。
牛顿-欧拉方程推导:
\begin{cases} m\dot{V} = F_g + F_{thrust} + F_{drag} \\ J\dot{\omega} = \tau_{motor} + \tau_{ext} \end{cases}
在悬停点(θ=0, φ=0, ψ=0) 进行泰勒展开,得到线性化模型:
\begin{bmatrix} \ddot{X} \\ \ddot{Y} \\ \ddot{Z} \\ \ddot{\phi} \\ \ddot{\theta} \\ \ddot{\psi} \end{bmatrix} = A \begin{bmatrix} X \\ Y \\ Z \\ \phi \\ \theta \\ \psi \end{bmatrix} + B \begin{bmatrix} Ω_1 \\ Ω_2 \\ Ω_3 \\ Ω_4 \end{bmatrix}
其中状态矩阵A和控制矩阵B可通过符号计算工具箱推导。
串级PID结构:
双闭环PID实现:
方法
步骤
适用场景
经验法
逐步增大K_p至系统振荡,再增加K_d抑制振荡,最后补偿K_i消除稳态误差