Aviumtechnologies Blog
  • Introduction
  • Topics
    • Initial sizing
    • Definition of axes and angles
    • Stability
      • Obtaining stability derivatives from forced oscillations
    • Equations of motion
    • PX4 Autopilot
      • Building and running PX4 Autopilot on BeagleBone® Blue
      • PX4 BeagleBone® Blue-based quadcopter
Powered by GitBook
On this page
  • Creating a forced oscillation motion file
  • Obtaining the stability derivatives from the simulation results
  • Verifying the obtained stability derivatives

Was this helpful?

  1. Topics
  2. Stability

Obtaining stability derivatives from forced oscillations

This article explains how to obtain the stability derivatives of a design from forced oscillations

PreviousStabilityNextEquations of motion

Last updated 3 years ago

Was this helpful?

Consider a simple wing-tail design. The design has a wing span bref=1.7321 mb_{ref}=1.7321\text{ }mbref​=1.7321 m, wing area Sref=0.3 m2S_{ref}=0.3\text{ }m^2Sref​=0.3 m2, and wing chord of cref=0.1732 mc_{ref}=0.1732\text{ }mcref​=0.1732 m. The image below shows the mesh of the design.

A body-fixed coordinate system is placed at the leading edge of the wing. The reference speed is ∣Vref∣=25 m/s|V_{ref} |=25\text{ }m/s∣Vref​∣=25 m/s and the reference density, pressure and viscosity are evaluated at an altitude of h=0 mh=0\text{ }mh=0 m(ISA).

Before performing forced oscillation simulations the location of the neutral point of the wing-tail configuration must be determined. Two simulations at different angles of attack are required to determine the neutral point location. Please refer to the for more information on how to determine the neutral point.

The table below shows the CZC_{Z}CZ​and CmC_{m}Cm​values used for determining the location of the neutral point, xnpx_{np}xnp​.

Simulation type

Fixed-wake

0

−0.3215

-0.0223

Fixed-wake

5

-0.7913

-0.1973

The location of the neutral point, xnpx_{np}xnp​, can be obtained from the following equation:

xnp=−cref∂Cm∂α∂CZ∂α≈ΔCmΔCZ≈Cm∣α=5−Cm∣α=0CZ∣α=5−CZ∣α=0.x_{np}=-c_{ref}\frac{\frac{\partial C_{m}}{\partial \alpha}}{\frac{\partial C_{Z}}{\partial \alpha}}\approx\frac{\Delta C_{m}}{\Delta C_{Z}}\approx\frac{C_{m}\rvert_{\alpha=5}-C_{m}\rvert_{\alpha=0}}{C_{Z}\rvert_{\alpha=5}-C_{Z}\rvert_{\alpha=0}}\text{.}xnp​=−cref​∂α∂CZ​​∂α∂Cm​​​≈ΔCZ​ΔCm​​≈CZ​∣α=5​−CZ​∣α=0​Cm​∣α=5​−Cm​∣α=0​​.

After substituting the CZC_{Z}CZ​and CmC_{m}Cm​ values from the table into the above equation, xnpx_{np}xnp​ evaluates to −0.0645 m-0.0645\text{ }m−0.0645 m. The minus sign indicates that the neutral point is aft of the origin of the body-fixed coordinate system. The following equation can be used to determine the centre of gravity for a specific static margin, SMSMSM:

SM=xcg−xnpcrefSM=\frac{x_{cg}-x_{np}}{c_{ref}}SM=cref​xcg​−xnp​​

For SM=0.1 (10%)SM=0.1\text{ }(10\%)SM=0.1 (10%), xcg=−0.0385 mx_{cg}=-0.0385\text{ }mxcg​=−0.0385 m.

For a statically stable design the centre of gravity is ahead of the neutral point.

Creating a forced oscillation motion file

θ=Asin(ωt),\theta=Asin(\omega t),θ=Asin(ωt),

where θ\thetaθ is the pitch angle, AAAis the amplitude of the pitch oscillation, ω\omegaωis the angular frequency of the oscillation (ω=2πf\omega=2\pi fω=2πf), and tttis the time. In this example A=5 degA=5\text{ }degA=5 degand f=5Hzf=5 Hzf=5Hz. The pitch rate qqqcan be obtained by differentiating the θ\thetaθequation with respect to time:

q=θ˙=ωAcos(ωt).q=\dot{\theta}=\omega A cos(\omega t).q=θ˙=ωAcos(ωt).

Appropriate time step size and number of time steps must be selected to complete at least 2 cycles. In this example dt=4×10−3dt=4\times10^{-3}dt=4×10−3 and Ntimesteps=100N_{timesteps}=100Ntimesteps​=100. The image below shows θ\thetaθand qqq. Note that qqqis divided by 100 so the difference between θ\thetaθ and qqqis easy to see. In the actual motion file qqqis not divided by 100.

Obtaining the stability derivatives from the simulation results

The video below shows the development of the wing-tail configuration wake during the forced oscillation simulation.

After running the simulation the aerodynamic coefficients can be plotted against the angle of attack α\alphaα. The image below shows the CXC_{X}CX​,CZC_{Z}CZ​, and CmC_{m}Cm​aerodynamic coefficients.

The locations of the minimum and maximum α\alphaα and qqqare shown in the images. The CXC_{X}CX​coefficient exhibits a quadratic behavior, which is expected.

TheCX0C_{X0}CX0​, CX,αC_{X,\alpha}CX,α​, CX,qˉC_{X,\bar{q}}CX,qˉ​​, CZ0C_{Z0}CZ0​, CZ,αC_{Z,\alpha}CZ,α​, CZ,qˉC_{Z,\bar{q}}CZ,qˉ​​,Cm0C_{m0}Cm0​, Cm,αC_{m,\alpha}Cm,α​, and Cm,qˉC_{m,\bar{q}}Cm,qˉ​​stability derivatives can be obtained in multiple ways. Here the CZC_{Z}CZ​and CmC_{m}Cm​stability derivatives are obtained with the least squares method. To obtain theCmC_{m}Cm​stability derivatives the following system of equations is defined:

[1θ(t)q(t)cref2∣Vref∣]{Cm0Cm,αCm,qˉ}=Cm(t). \begin{bmatrix} \mathbf{1} & \theta(t) & q(t)\frac{c_{ref}}{2|V_{ref}|} \end{bmatrix}\begin{Bmatrix}C_{m0}\\C_{m,\alpha}\\C_{m,\bar{q}}\end{Bmatrix}=C_{m}(t).[1​θ(t)​q(t)2∣Vref​∣cref​​​]⎩⎨⎧​Cm0​Cm,α​Cm,qˉ​​​⎭⎬⎫​=Cm​(t).

Note that in the above system of equations1\mathbf{1}1is a vector of ones which length is equal to the length of the θ\thetaθand the qqqvectors. The system is overdetermined - it has more equations than unknowns. However the least squares method can be used to solve the overdetermined system. Solving the system gives the values for Cm0C_{m0}Cm0​, Cm,αC_{m,\alpha}Cm,α​, and Cm,qˉC_{m,\bar{q}}Cm,qˉ​​. The same process is repeated for the CZC_{Z}CZ​aerodynamic coefficient.

A polynomial fitting method is used for CXC_{X}CX​in order to capture its quadratic behavior. A third order polynomial in α\alphaαis selected. The polynomial is given by the following equation:

CX(α)=CX0+CX,αα+CX,α2α2.C_{X}(\alpha)=C_{X0}+C_{X,\alpha}\alpha+C_{X,\alpha^2}\alpha^2.CX​(α)=CX0​+CX,α​α+CX,α2​α2.

Unlike the least squares method the polynomial fitting method cannot be used to determine CX,qˉC_{X,\bar{q}}CX,qˉ​​. The CX,qˉC_{X,\bar{q}}CX,qˉ​​can be determined from the following equation:

CX,qˉ=CX∣qmax−CX∣qmin2kA,C_{X,\bar{q}}=\frac{C_{X}\rvert_{q_{max}}-C_{X}\rvert_{q_{min}}}{2kA},CX,qˉ​​=2kACX​∣qmax​​−CX​∣qmin​​​,

where kkkis the reduced frequency, given by ωcref2∣Vref∣\omega\frac{c{ref}}{2|V_{ref}|}ω2∣Vref​∣cref​. The table below shows the obtained stability derivatives:

-0.0219

0.2595

3.1367

-0.2831

-0.3149

-4.9830

5.9714

0.0458

-1.3909

-19.2330

The wing-tail design is both statically and dynamical stable asCm,αC_{m,\alpha}Cm,α​and Cm,qˉC_{m,\bar{q}}Cm,qˉ​​are negative.

Verifying the obtained stability derivatives

The time history of the aerodynamic coefficients can be used to verify the obtained stability derivatives. The stability derivatives are used to describe the time history of CXC_{X}CX​, CZC_{Z}CZ​, and CmC_{m}Cm​:

CX(t)=CX0+CX,αα(t)+CX,α2α(t)2+CX,qˉq(t)cref2∣Vref∣,CZ(t)=CZ0+CZ,αα(t)+CZ,qˉq(t)cref2∣Vref∣,Cm(t)=Cm0+Cm,αα(t)+Cm,qˉq(t)cref2∣Vref∣.C_{X}(t)=C_{X0}+C_{X,\alpha}\alpha(t)+C_{X,\alpha^2}\alpha(t)^2+C_{X,\bar{q}}q(t)\frac{c_{ref}}{2|V_{ref}|},\\ C_{Z}(t)=C_{Z0}+C_{Z,\alpha}\alpha(t)+C_{Z,\bar{q}}q(t)\frac{c_{ref}}{2|V_{ref}|},\\ C_{m}(t)=C_{m0}+C_{m,\alpha}\alpha(t)+C_{m,\bar{q}}q(t)\frac{c_{ref}}{2|V_{ref}|}.CX​(t)=CX0​+CX,α​α(t)+CX,α2​α(t)2+CX,qˉ​​q(t)2∣Vref​∣cref​​,CZ​(t)=CZ0​+CZ,α​α(t)+CZ,qˉ​​q(t)2∣Vref​∣cref​​,Cm​(t)=Cm0​+Cm,α​α(t)+Cm,qˉ​​q(t)2∣Vref​∣cref​​.

The above equations can be compared against CX(t)C_{X}(t)CX​(t), CZ(t)C_{Z}(t)CZ​(t), and Cm(t)C_{m}(t)Cm​(t)obtained from the simulation. The variation of angle of attach α\alphaαand the pitch rate qqqwith respect to time is known and is given by:

θ=α=Asin(ωt),q=θ˙=ωAcos(ωt).\theta=\alpha=Asin(\omega t),\\ q=\dot{\theta}=\omega A cos(\omega t).θ=α=Asin(ωt),q=θ˙=ωAcos(ωt).

The image below shows the comparison of CXC_{X}CX​, CZC_{Z}CZ​, and CmC_{m}Cm​:

As seen from the image the aerodynamic coefficients agree well. The minor differences from t=0 st=0\text{ }st=0 sto t=0.03 st=0.03\text{ }st=0.03 sare due to the simulation transients (the time it takes for the flow to develop).

Once the centre of gravity location is obtained, forced oscillation simulations can be performed. Remember to change the x_cg value in the .conf file and to re-run the preprocessor before proceeding. The preprocessor will move the origin of the body-fixed coordinate system to the new location specified by x_cg, y_cg, and z_cg. Please refer to the of the documentation for more information.

A motion file describing the translation and rotation of the body-fixed coordinate system is required to perform a forced oscillation simulation. Please refer to the of the documentation for additional information. To obtain the longitudinal stability derivatives of the design, a forced pitch oscillation motion is required. The pitch angle during the oscillation is defined by the following equation:

α∘\alpha^\circα∘
CZC_{Z}CZ​
CmC_{m}Cm​
0_{0}0​
∂∂α\frac{\partial}{\partial\alpha}∂α∂​
∂∂α\frac{\partial}{\partial\alpha}∂α∂​
∂∂qˉ\frac{\partial}{\partial\bar{q}}∂qˉ​∂​
CXC_{X}CX​
CZC_{Z}CZ​
CmC_{m}Cm​
Configuration file section
Custom motion section
Stability article
Wing-tail design forced pitch oscillation
Mesh of a wing-tail design
Generated pitch angle and pitch rate
Aerodynamic coefficients versus angle of attack
Comparison of the aerodynamic coefficients from the simulation and from the obtained aerodynamic derivatives