mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-03-24 10:34:00 +08:00
docs(fw_att_control): update docs
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 110 KiB |
@@ -162,6 +162,40 @@ Elevator control on the other hand is energy conservative, and is thus used for
|
||||
$$\dot{B} = \gamma - \frac{\dot{V_T}}{g}$$
|
||||
|
||||
## Fixed-Wing Attitude Controller
|
||||
### Setpoint modificaiton
|
||||
Most fixed-wing aircraft cannot generate a sustained yaw rate using the rudder alone. As a result, the yaw component of the quaternion attitude error should be removed before computing the control action.
|
||||
|
||||
This is achieved by premultiplying the setpoint quaternion with a rotation about the global down axis. The additional rotation cancels the yaw component of the attitude error while preserving the roll and pitch components.
|
||||
|
||||
The yaw offset is
|
||||
|
||||
$$
|
||||
\psi =-2\frac{\hat{q}_0 q_3 - \hat{q}_1 q_2 + \hat{q}_2 q_1 -\hat{q}_3 q_0}
|
||||
{\hat{q}_0 q_0 - \hat{q}_1 q_1 - \hat{q}_2 q_2 + \hat{q}_3 q_3}
|
||||
$$
|
||||
|
||||
The quaternion representing the yaw offset is
|
||||
|
||||
$$
|
||||
ℚ_{\text{yaw}} =
|
||||
\operatorname{normalize}
|
||||
\left(
|
||||
\begin{bmatrix}
|
||||
1 \
|
||||
0 \
|
||||
0 \
|
||||
\frac{\psi}{2}
|
||||
\end{bmatrix}
|
||||
\right)
|
||||
$$
|
||||
|
||||
The corrected setpoint quaternion is then obtained by applying the rotation
|
||||
|
||||
$$
|
||||
ℚ_{\text{sp, corrected}} = ℚ_{\text{yaw}} \otimes ℚ_{sp}
|
||||
$$
|
||||
|
||||
### Quaternion based attitude controller
|
||||
|
||||

|
||||
|
||||
@@ -185,12 +219,16 @@ In order to keep a constant rate, this damping can be compensated using feedforw
|
||||
|
||||
### Turn coordination
|
||||
|
||||
The yaw controller generates its yaw rate setpoint using the coordinated turn constraint in order to minimize lateral acceleration caused by sideslip. Instead of relying on Euler angles, the bank angle is computed geometrically from the body 𝑍.
|
||||
Z-axis relative to a heading-aligned horizontal frame. This makes the turn coordination computation independent of absolute yaw and robust to large attitudes.
|
||||
The yaw rate setpoint is generated using the turn coordination constraint in order to minimize lateral acceleration, generated when the aircraft is slipping.
|
||||
|
||||
$$\dot{\Psi}_{sp} = \frac{g}{V_T} \tan{\phi_{sp}} \cdot 0.6$$
|
||||
|
||||
The yaw rate controller also helps to counteract [adverse yaw effects](https://youtu.be/sNV_SDDxuWk) and to damp the [Dutch roll mode](https://en.wikipedia.org/wiki/Dutch_roll) by providing extra directional damping.
|
||||
This also helps to counteract [adverse yaw effects](https://youtu.be/sNV_SDDxuWk) and to damp the [Dutch roll mode](https://en.wikipedia.org/wiki/Dutch_roll) by providing extra directional damping.
|
||||
|
||||
To compensate for the non-zero pitch rate that naturally occurs during coordinated turns, a geometry-based feedforward term is added to the pitch-rate command.
|
||||
This feedforward term accounts for the aircraft's current attitude and airspeed so that the controller does not need to generate this motion purely through feedback.
|
||||
|
||||
$$\dot{\theta}_{sp}^{ff} = \frac{2g(q_0 q_1 + q_2 q_3)^2}{V(1 - 2q_1^2 - 2q_2^2)}$$
|
||||
|
||||
## VTOL Flight Controller
|
||||
|
||||
|
||||
Reference in New Issue
Block a user