The dynamics of a rigid aircraft have been written in terms of 12 Ordinary Differential Equations (ODEs). The subsystem 12 ODEs, which is contained in the 3rd level subsystem Aircraft Equations of Motion (Beaver) of the Beaver model, contains the generic state equations for rigid aircraft, which are fully independent of the aircraft under consideration. The twelve state equations are valid only when four restrictive assumptions are made:
In the subsystem 12 ODEs, these twelve state equations have been separated in four masked subsystem blocks:
These four masked subsystems all use the inputvector [xT FtotT MtotT yhlpT]T. In 12 ODEs, the different subvectors are first 'Muxed' together into a single large inputvector for Vabdot, pqrdot, Eulerdot, and xyHdot. The position of the aircraft relative to the Earth depends upon the velocity components along the aircraft's body-axes, taking into account both the velocity of the aircraft with respect to the surrounding air, and the contributions due to atmospheric disturbances (wind and turbulence). This explains why xyHdot has an additional input line.
The outputs from Vabdot, pqrdot, Eulerdot, and xyHdot are 'Muxed' together, to build one large vector xdot (time-derivative of the state vector). Note: the equations in the subsystem 12 ODEs are fully independent of the aircraft under consideration. In practice, the equations of motion may become implicit, for instance if alpha-dot or beta-dot terms enter the force-equations of the aerodynamic model. If these equations are written out as explicit equations (in practice, this will often be possible), the twelve ODEs will contain aircraft-dependent terms. In the Beaver model, this problem has been solved by neglecting these terms in the subsystem 12 ODEs, and making corrections to the vector xdot afterwards in the masked subsystem xdotcorr.
x = [V alpha beta p q r psi theta phi xe ye H]' (states) Ftot = [Fx Fy Fz]' (total external forces along body-axes, computed in the block FMsort) Mtot = [L M N]' (total external moments along body-axes, computed in the block FMsort) yhlp = [cos(alpha) sin(alpha) cos(beta) sin(beta) tan(beta) ... ... sin(psi) cos(psi) sin(theta) cos(theta) ... ... sin(phi) cos(phi) ]' (sines & cosines, computed in the block Hlpfcn) [u+uw v+vw w+ww]' (body-axes velocity components, including contributions due to non-steady atmosphere) V : true airspeed [m/s] {alpha: angle of attack [rad] } {beta : sideslip angle [rad] } p : roll-rate [rad/s] q : pitch-rate [rad/s] r : yaw-rate [rad/s] {psi : yaw-angle [rad] } {theta: pitch-angle [rad] } {phi : roll-angle [rad] } {xe : X-coordinate, relative to Earth-axes [m] } {ye : Y-coordinate, relative to Earth-axes [m] } {H : altitude above sea level [m] } Fx, Fy, Fz: total external forces along body-axes [N] L, M, N : total external moments along body-axes [Nm] u : component of V along XB-axis [m/s] v : component of V along YB-axis [m/s] w : component of V along ZB-axis [m/s] uw : wind+turbulence velocity component along XB-axis [m/s] vw : wind+turbulence velocity component along YB-axis [m/s] ww : wind+turbulence velocity component along ZB-axis [m/s]
The inputvariables which are not used by any of the blocks Vabdot, pqrdot, Eulerdot, or xyHdot, are displayed between curly braces. The angles alpha, beta, psi, theta, and phi do play an important role in the ODEs, but for reasons of efficiency, they have been extracted from the helpvector yhlp, which contains the sines and cosines of these angles. The subsystem Hlpfcn in the 2nd level of Beaver is used to create this helpvector. All elements from the vector yhlp are used by the blocks from 12 ODEs.
xdot = dx/dt
Note: the vector xdot which leaves the subsystem 12 ODEs does not yet take into account the aircraft-dependent influences which are induced when writing out the implicit differential equations as a set of explicit ODEs. For the 'Beaver', this means that the influence of the beta-dot term in the aerodynamic sideforce is neglected up to the subsystem 12 ODEs. In the subsystem Aircraft Equations of Motion (Beaver), the masked subsystem xdotcorr (Beaver) takes care of the appropriate corrections to xdot. This subsystem also contains a gain block XFIX, which makes it possible to fix some of the states artificially to their initial values.
The subsystem 12 ODEs needs the following parameters to be defined in the Matlab workspace:
You may use the load routine DATLOAD to load these parameters from file. Use MODBUILD to create such datafiles.