Documentation |
Implement quaternion representation of six-degrees-of-freedom equations of motion in Earth-centered Earth-fixed (ECEF) coordinates
The 6DOF ECEF (Quaternion) block considers the rotation of a Earth-centered Earth-fixed (ECEF) coordinate frame (X_{ECEF} , Y_{ECEF} , Z_{ECEF} ) about an Earth-centered inertial (ECI) reference frame (X_{ECI} , Y_{ECI} , Z_{ECI} ). The origin of the ECEF coordinate frame is the center of the Earth, additionally the body of interest is assumed to be rigid, an assumption that eliminates the need to consider the forces acting between individual elements of mass. The representation of the rotation of ECEF frame from ECI frame is simplified to consider only the constant rotation of the ellipsoid Earth (ω_{e} ) including an initial celestial longitude (L_{G}(0)). This excellent approximation allows the forces due to the Earth's complex motion relative to the "fixed stars" to be neglected.
The translational motion of the ECEF coordinate frame is given below, where the applied forces [F_{x} F_{y} F_{z}]^{T} are in the body frame, and the mass of the body m is assumed constant.
$${\overline{F}}_{b}=\left[\begin{array}{c}{F}_{x}\\ {F}_{y}\\ {F}_{z}\end{array}\right]=m\left({\dot{\overline{V}}}_{b}+{\overline{\omega}}_{b}\times {\overline{V}}_{b}+DC{M}_{bf}{\overline{\omega}}_{e}\times {\overline{V}}_{b}+DC{M}_{bf}\left({\overline{\omega}}_{e}\times \left({\overline{\omega}}_{e}\times {\overline{X}}_{f}\right)\right)\right)$$
where the change of position in ECEF $${\dot{\overline{x}}}_{f}$$ is calculated by
$${\dot{\overline{x}}}_{f}=DC{M}_{fb}{\overline{V}}_{b}$$
and the velocity of the body with respect to ECEF frame, expressed in body frame $$({\overline{V}}_{b})$$, angular rates of the body with respect to ECI frame, expressed in body frame $$({\overline{\omega}}_{b})$$. Earth rotation rate $$({\overline{\omega}}_{e})$$, and relative angular rates of the body with respect to north-east-down (NED) frame, expressed in body frame $$({\overline{\omega}}_{rel})$$ are defined as
$$\begin{array}{l}{\overline{V}}_{b}=\left[\begin{array}{c}u\\ v\\ w\end{array}\right],{\overline{\omega}}_{rel}=\left[\begin{array}{c}p\\ q\\ r\end{array}\right],{\overline{\omega}}_{e}=\left[\begin{array}{c}0\\ 0\\ {\omega}_{e}\end{array}\right],{\overline{\omega}}_{b}={\overline{\omega}}_{rel}+DC{M}_{bf}{\overline{\omega}}_{e}+DC{M}_{be}{\overline{\omega}}_{ned}\\ {\overline{\omega}}_{ned}=\left[\begin{array}{c}\dot{l}\mathrm{cos}\mu \\ -\dot{\mu}\\ -\dot{l}\mathrm{sin}\mu \end{array}\right]=\left[\begin{array}{c}{V}_{E}/\left(N+h\right)\\ -{V}_{N}/\left(M+h\right)\\ {V}_{E}\u2022\mathrm{tan}\mu /\left(N+h\right)\end{array}\right]\end{array}$$
The rotational dynamics of the body defined in body-fixed frame are given below, where the applied moments are [L M N]^{T}, and the inertia tensor I is with respect to the origin O.
$$\begin{array}{l}{\overline{M}}_{b}=\left[\begin{array}{c}L\\ M\\ N\end{array}\right]=I{\dot{\overline{\omega}}}_{b}+{\overline{\omega}}_{b}\times (I{\overline{\omega}}_{b})\\ \\ I=\left[\begin{array}{ccc}{I}_{xx}& -{I}_{xy}& -{I}_{xz}\\ -{I}_{yx}& {I}_{yy}& -{I}_{yz}\\ -{I}_{zx}& -{I}_{zy}& {I}_{zz}\end{array}\right]\end{array}$$
The integration of the rate of change of the quaternion vector is given below.
$$\left[\begin{array}{c}{\dot{q}}_{0}\\ {\dot{q}}_{1}\\ {\dot{q}}_{2}\\ {\dot{q}}_{3}\end{array}\right]=-\raisebox{1ex}{$1$}\!\left/ \!\raisebox{-1ex}{$2$}\right.\left[\begin{array}{cccc}0& {\omega}_{b}\left(1\right)& {\omega}_{b}\left(2\right)& {\omega}_{b}\left(3\right)\\ -{\omega}_{b}\left(1\right)& 0& -{\omega}_{b}\left(3\right)& {\omega}_{b}\left(2\right)\\ -{\omega}_{b}\left(2\right)& {\omega}_{b}\left(3\right)& 0& -{\omega}_{b}\left(1\right)\\ -{\omega}_{b}\left(3\right)& -{\omega}_{b}\left(2\right)& {\omega}_{b}\left(1\right)& 0\end{array}\right]\left[\begin{array}{c}{q}_{0}\\ {q}_{1}\\ {q}_{2}\\ {q}_{3}\end{array}\right]$$
Specifies the input and output units:
Units | Forces | Moment | Acceleration | Velocity | Position | Mass | Inertia |
---|---|---|---|---|---|---|---|
Metric (MKS) | Newton | Newton meter | Meters per second squared | Meters per second | Meters | Kilogram | Kilogram meter squared |
English (Velocity in ft/s) | Pound | Foot pound | Feet per second squared | Feet per second | Feet | Slug | Slug foot squared |
English (Velocity in kts) | Pound | Foot pound | Feet per second squared | Knots | Feet | Slug | Slug foot squared |
Select the type of mass to use:
Fixed | Mass is constant throughout the simulation. |
Simple Variable | Mass and inertia vary linearly as a function of mass rate (see Simple Variable Mass 6DOF ECEF (Quaternion)). |
Custom Variable | Mass and inertia variations are customizable (see Simple Variable Mass 6DOF (Quaternion)). |
The Fixed selection conforms to the previously described equations of motion.
The three-element vector for the initial location of the body in the geodetic reference frame, in degrees. Latitude and longitude values can be any value. However, latitude values of +90 and -90 may return unexpected values because of singularity at the poles.
The three-element vector containing the initial velocity of the body with respect to ECEF frame, expressed in body frame..
The three-element vector containing the initial Euler rotation angles [roll, pitch, yaw], in radians. Euler rotation angles are those between the body and north-east-down (NED) coordinate systems.
The three-element vector for the initial angular rates of the body with respect to NED frame, expressed in body frame, in radians per second.
The mass of the rigid body.
The 3-by-3 inertia tensor matrix I, in body-fixed axes.
Specifies the planet model to use: Custom or Earth (WGS84).
Specifies the flattening of the planet. This option is only available when Planet model is set to Custom.
Specifies the radius of the planet at its equator. The units of the equatorial radius parameter should be the same as the units for ECEF position. This option is only available when Planet model is set to Custom.
Specifies the scalar rotational rate of the planet in rad/s. This option is only available when Planet model is set to Custom.
Specifies the source of Greenwich meridian's initial celestial longitude:
Internal | Use celestial longitude value from mask dialog. |
External | Use external input for celestial longitude value. |
The initial angle between Greenwich meridian and the x-axis of the ECI frame.
Input | Dimension Type | Description |
---|---|---|
First | Vector | Contains the three applied forces in body-fixed axes. |
Second | Vector | Contains the three applied moments in body-fixed axes. |
Output | Dimension Type | Description |
---|---|---|
First | Vector | Contains the velocity of the body with respect to ECEF frame, expressed in ECEF frame. |
Second | Three-element vector | Contains the position in ECEF reference frame. |
Third | Three-element vector | Contains the position in geodetic latitude, longitude and altitude, in degrees, degrees and selected units of length respectively. |
Fourth | Three-element vector | Contains the body rotation angles [roll, pitch, yaw], in radians. Euler rotation angles are those between the body and north-east-down (NED) coordinate systems. |
Fifth | 3-by-3 matrix | Applies to the coordinate transformation from ECI axes to body-fixed axes |
Sixth | 3-by-3 matrix | Applies to the coordinate transformation from NED axes to body-fixed axes. |
Seventh | 3-by-3 matrix | Applies to the coordinate transformation from ECEF axes to NED axes. |
Eighth | Three-element vector | Contains the velocity of the body with respect to ECEF frame, expressed in the body frame. |
Ninth | Three-element vector | Contains the relative angular rates of the body with respect to NED frame, expressed in the body frame, in radians per second. |
Tenth | Three-element vector | Contains the angular rates of the body with respect to the ECI frame, expressed in body frame, in radians per second. |
Eleventh | Three-element vector | Contains the angular accelerations of the body with respect to ECI frame, expressed in the body frame, in radians per second squared. |
Twelfth | Three-element vector | Contains the accelerations in body-fixed axes. |
This implementation assumes that the applied forces are acting at the center of gravity of the body, and that the mass and inertia are constant.
This implementation generates a geodetic latitude that lies between ±90 degrees, and longitude that lies between ±180 degrees. Additionally, the MSL altitude is approximate.
The Earth is assumed to be ellipsoidal. By setting flattening to 0.0, a spherical planet can be achieved. The Earth's precession, nutation, and polar motion are neglected. The celestial longitude of Greenwich is Greenwich Mean Sidereal Time (GMST) and provides a rough approximation to the sidereal time.
The implementation of the ECEF coordinate system assumes that the origin is at the center of the planet, the x-axis intersects the Greenwich meridian and the equator, the z-axis is the mean spin axis of the planet, positive to the north, and the y-axis completes the right-handed system.
The implementation of the ECI coordinate system assumes that the origin is at the center of the planet, the x-axis is the continuation of the line from the center of the Earth through the center of the Sun toward the vernal equinox, the z-axis points in the direction of the mean equatorial plane's north pole, positive to the north, and the y-axis completes the right-handed system.
Stevens, B. L., and F. L. Lewis, Aircraft Control and Simulation, Second Edition, John Wiley & Sons, New York, 2003.
McFarland, Richard E., A Standard Kinematic Model for Flight simulation at NASA-Ames, NASA CR-2497.
"Supplement to Department of Defense World Geodetic System 1984 Technical Report: Part I - Methods, Techniques and Data Used in WGS84 Development," DMA TR8350.2-A.
6th Order Point Mass (Coordinated Flight)
Custom Variable Mass 6DOF (Euler Angles)
Custom Variable Mass 6DOF (Quaternion)
Custom Variable Mass 6DOF ECEF (Quaternion)
Custom Variable Mass 6DOF Wind (Quaternion)
Custom Variable Mass 6DOF Wind (Wind Angles)
Simple Variable Mass 6DOF (Euler Angles)
Simple Variable Mass 6DOF (Quaternion)
Simple Variable Mass 6DOF ECEF (Quaternion)