📄 eqmotion.htm
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<link rel="stylesheet" type="text/css" href="fdchelp.css">
<title>
FDC help: Aircraft Equations of Motion (Beaver)
</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
</head>
<body bgcolor="#DDDDDD"><div>
<h2>
Subsystem <i>Aircraft Equations of Motion (Beaver)</i>
</h2>
<p>The dynamics of a rigid aircraft can be expressed by twelve Ordinary
Differential Equations (ODEs). The equations which determine the magnitude
of the time-derivatives of the twelve state variables as a function of the
external forces and moments, external disturbances, and the states
themselves, have been gathered in the subsystem <i>Aircraft Equations of
Motion (Beaver)</i> of the <i><a href="beaver.htm">Beaver</a></i> model.
This subsystem also contains the integrator which obtains the states from
their time-derivatives.</p>
<p>The twelve ODEs themselves are independent of the aircraft considered.
However, some of the aerodynamic forces or moments may depend upon the
time-derivatives of the state variables, which would make the differential
equations implicit. It depends upon the resulting implicit expressions
whether or not Simulink can cope with them. However, since it is usually not very difficult to
rewrite the implicit differential equation(s) in terms of a set generalized
explicit ODEs and a separate aircraft-dependent correction term, an aircraft-dependent block <i><a href="xdotcorr.htm">xdotcorr</a></i> was included in the subsystem <i>Aircraft Equations of Motion</i>, which explains
why the full subsystem name has become <i>Aircraft Equations of Motion (Beaver)</i>.</p>
<p><i>Aircraft Equations of Motion (Beaver)</i> contains the following
blocks: </p>
<ul>
<li>
<i><a href="xdotcorr.htm">xdotcorr (Beaver)</a></i> contains the aircraft-dependent corrections to the state equations which were needed to convert the original implicit differential equations into a set of explicit ODEs (obviously, this block is currently valid for the DHC-2 'Beaver' aircraft).
</li>
<li>
<i><a href="uvw.htm">uvw</a></i> contains the
transformation equations which yield the
components of the true airspeed along the body-axes of the aircraft,
given the true airspeed, angle of attack, and sideslip angle.
</li>
<li>
an <i>Integrator</i> block is used to obtain the time-trajectories of
the state variables themselves from their derivatives with respect to
time.
</li>
<li>
the <i>Gain</i> block <i><a href="xfix.htm">XFIX</a></i> makes it
possible to artificially fix states, by performing an
element-by-element multiplication of the vector <i>xdot</i> with the
vector <i>xfix</i>. All elements of <i>xfix</i> either equal one or
zero, meaning that the corresponding states are either free to vary or
artificially kept constant; <i>xfix</i> can be set manually
or defined by means of the utility <i><a href=
"fixstate.htm">FIXSTATE</a></i>.<br>
</li>
<li>
<i><a href="12odes.htm">12 ODEs</a></i> contains the
twelve ODEs themselves.
</li>
</ul>
<h3>
Computation order
</h3>
<p>First, the velocity components <i>u</i>, <i>v</i>, and <i>w</i> are
computed, using the current value of the state vector <i>x</i>, and the
outputvector <i>yhlp</i> from the masked subsystem <i><a href=
"hlpfcn.htm">Hlpfcn</a></i> (this vector contains frequently used sines and
cosines of angular state variables). The velocity components <i>u</i>,
<i>v</i>, and <i>w</i> are needed for solving the differential equations
concerning the aircraft-coordinates <i>x<sub>e</sub></i> and
<i>y<sub>e</sub></i>. In order to account for contributions of non-steady
atmosphere, the velocity components due to wind and/or atmospheric
turbulence, <i>u<sub>w</sub></i>, <i>v<sub>w</sub></i>, and
<i>w<sub>w</sub></i>, are extracted from the vector <i>uwind</i>, and added
to <i>u</i>, <i>v</i>, and <i>w</i>. Next, the time-derivatives of the
states are computed in the subsystem <i><a href="12odes.htm">12
ODEs</a></i>, which uses the current state vector <i>x</i>, the helpvector
<i>yhlp</i>, the vectors <i>Ftot</i> and <i>Mtot</i> (containing the total
forces and moments), and the vector [<i>u</i>+<i>u<sub>w</sub></i>,
<i>v</i>+<i>v<sub>w</sub></i>,
<i>w</i>+<i>w<sub>w</sub></i>]<sup><i>T</i></sup> as inputs.</p>
<p>The time-derivatives of the states are gathered in the vector <i>xdot</i>
= <i>dx/dt</i>. As said before, the vector <i>xdot</i> that leaves the
subsystem <i>12 ODEs</i> needs to be corrected for aircraft-dependent
terms. This is done in the subsystem <i><a href="xdotcorr.htm">xdotcorr
(Beaver)</a></i>, which needs the current state vector <i>x</i>, and, in
the case of the 'Beaver' aircraft, the outputvector from the masked
subsystem <i><a href="atmosph.htm">Atmosph</a></i> in the subsystem <i><a
href="adgrp.htm">Airdata Group</a></i> (to be more specific:
<i>xdotcorr</i> needs to know the air-density for the correction of the
beta-dot equation). The outputvector from <i>xdotcorr</i>, the corrected
version of <i>xdot</i>, is send to the gain <i><a href=
"xfix.htm">XFIX</a></i>, which is used to artificially fix states if
required by the user. Finally, the time-derivatives are sent to the
<i>Integrator</i> block, where they are integrated to obtain the updated
value of the state vector <i>x</i>. Note: the <i>Integrator</i> block uses
the vector <i>xinco</i> as initial condition (see below).</p>
<p>The state vector <i>x</i> is fed back to the other subsystems in <i><a
href="beaver.htm">Beaver</a></i>, and also internally in the subsystem
<i>Aircraft Equations of Motion</i>, because the time-derivatives of the
state variables depend upon the state variables themselves. The second
level of <i>Beaver</i> contains a masked subsystem block <i><a href=
"hlpfcn.htm">Hlpfcn</a></i>, which computes the sines and cosines of the
angles <i>alpha</i>, <i>beta</i>, <i>psi</i>, <i>theta</i>, and <i>phi</i>.
These 'helpvariables' are also fed back to other subsystems in
<i>Beaver</i>, including <i>Aircraft Equations of Motion</i>. The resulting
feedback loops can be distinguished from the other signals by their magenta
foreground color (see also the <a href="colors.htm">color definitions</a>).</p>
<h3>
Inputs to the subsystem <i>Aircraft Equations of Motion (Beaver)</i>
</h3>
<pre>
Ftot = [Fx Fy Fz]' (total forces along body-axes, from <a href=
"fmsort.htm">FMsort</a>)
Mtot = [L M N]' (total moments along body-axes, from <a href=
"fmsort.htm">FMsort</a>)
uwind = [uw vw ww uwdot vwdot wwdot]' (atmospheric disturbances)
yatm = [rho ps T mu g]' (atmosphere variables, computed
in the masked subsystem <a href=
"atmosph.htm">Atmosph</a>)
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, from <a
href="hlpfcn.htm">Hlpfcn</a>)
Fx, Fy, Fz: total external forces along body-axes [N]
L, M, N : total external moments along body-axes [Nm]
uw, vw, ww: body-axes components of velocity component due to
non-steady atmosphere (wind + turbulence) [m/s]
{uwdot : d(uw)/dt [m/s^2] }
{vwdot : d(vw)/dt [m/s^2] }
{wwdot : d(ww)/dt [m/s^2] }
rho : air density [kg/m^3]
{ps : static pressure [N/m^2] }
{T : air temperature [K] }
{mu : dynamic viscosity [kg/(m*s)] }
{g : acceleration of gravity [m/s^2] }
</pre>
<p>The variables which are not used by any of the (masked) subsystem blocks
from the subsystem <i>Aircraft Equations of Motion</i> have been put
between curly braces. In addition to these variables, all elements from
<i>yhlp</i> are used.</p>
<h3>
Outputs from the subsystem <i>Aircraft Equations of Motion (Beaver)</i>
</h3>
<pre>
x = [V alpha beta p q r psi theta phi xe ye H]' (states)
xdot = dx/dt (time-derivatives of states)
ybvel = [u v w]' (body-axes components of true airspeed)
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]
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]
</pre>
<h3>
Parameters to be defined in the Matlab workspace
</h3>
<ul>
<li>
<i>xinco</i>: Initial value of the state vector <i>x</i>. Usually, a
steady-state trimmed-flight condition is used as initial condition for
the aircraft ('condition' = combination of input variables and
state vector, so <i>xinco</i> does not specify a complete initial
flight condition by itself!). Trimmed-flight conditions can be computed
with the trim-routine <i><a href="actrim.htm">ACTRIM</a></i>. Initial
conditions can also be retrieved from file by means of the Matlab
utility <i><a href="triload.htm">TRILOAD</a></i>.<br><br>
</li>
<li>
The block <i>Integrator</i> specifies <i>xinco</i> as initial value of
the state vector.<br><br>
</li>
<li>
<i>xfix</i>: Vector with twelve elements (<i>length(xfix) =
length(x)</i>) which are all equal to either one or zero. If the
<i>n<sup>th</sup></i> element of <i>xfix</i> is equal to one, the
corresponding element of <i>x</i> (= the corresponding state variable)
may vary freely, but if the <i>n<sup>th</sup></i> element of xfix is equal
to zero, the corresponding state is <i>artificially</i> fixed to its
initial value, no matter what its actual value should be. This may be
useful for the analysis of some types of aircraft responses. The vector
<i>xfix</i> can be defined manually, or by running <i><a href=
"fixstate.htm">FIXSTATE</a></i> before starting a new simulation.
Usually, <i>xfix = ones(1,12)</i> will be used for
simulations. This default value will be set automatically when a new simulation is started while <i>xfix</i> has not yet been defined in the workspace.<br><br>
</li>
<li>
<i>GM1</i>: Matrix which contains some basic geometric properties of
the aircraft, and its mass. <i>GM1</i> is needed by the subsystem <i><a
href="12odes.htm">12 ODEs</a></i>.<br>
<br>
</li>
<li>
<i>GM2</i>: Matrix with inertia parameters of the aircraft. <i>GM2</i>
is needed by the subsystem <i><a href="12odes.htm">12 ODEs</a></i>.
</li>
</ul>
</div></body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -