⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 eqmotion.htm

📁 matlab的FDC工具箱
💻 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 &#39;Beaver&#39; 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 &#39;Beaver&#39; 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 &#39;helpvariables&#39; 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]&#39;   (total forces along body-axes, from <a href=
"fmsort.htm">FMsort</a>)
  Mtot  = [L M N]&#39;     (total moments along body-axes, from <a href=
"fmsort.htm">FMsort</a>)
  uwind = [uw vw ww uwdot vwdot wwdot]&#39;  (atmospheric disturbances)
  yatm  = [rho ps T mu g]&#39;        (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) ]&#39;           (sines &amp; 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]&#39;    (states)
  xdot  = dx/dt                      (time-derivatives of states)
  ybvel = [u v w]&#39;        (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 (&#39;condition&#39; = 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 + -