|
1 | | -''' |
2 | | -
|
3 | | -Background Material [MI]_ |
4 | | -------------------------- |
5 | | -
|
6 | | -Introduction |
7 | | -^^^^^^^^^^^^ |
8 | | -
|
9 | | -Motion models for points (particles) and rigid bodies in space and time are based on mathematical |
10 | | -equations. |
11 | | -
|
12 | | -Three degrees of freedom models employ translational |
13 | | -equations of motion. |
14 | | -Six degrees of freedom models |
15 | | -incorporate both translational |
16 | | -and rotational equations of motion. |
17 | | -
|
18 | | -The inputs to the equations of motion are the |
19 | | -forces and moments acting on the body; |
20 | | -yielding body accelerations as outputs. |
21 | | -
|
22 | | -
|
23 | | -Nomenclature and Convention |
24 | | -^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
25 | | -
|
26 | | -Typically, the forces and moments on a body are |
27 | | -resolved into components in the body coordinate system. |
28 | | -Fig-1 shows the components of |
29 | | -force, moment velocity, and angular rate of a body |
30 | | -resolved in the body coordinate system. |
31 | | -The six projections |
32 | | -of the linear and angular velocity vectors on the moving |
33 | | -body frame axes are the six degrees of freedom. |
34 | | -The nomenclature and conventions for positive directions |
35 | | -are as shown in Fig-1 and in the following Table: |
36 | | -
|
37 | | -
|
38 | | -.. figure:: /_architecture/rigidbody.svg |
39 | | - |
40 | | - Fig-1: Forces, velocities, moments, and angular rates in body reference frame |
41 | | -
|
42 | | -
|
43 | | -
|
44 | | -.. list-table:: |
45 | | - :widths: 10 20 20 20 20 20 20 |
46 | | - :header-rows: 1 |
47 | | -
|
48 | | - * - Axis |
49 | | - - Force along axis |
50 | | - - Moment about axis |
51 | | - - Linear velocity |
52 | | - - Angular displacement |
53 | | - - Angular velocity |
54 | | - - Moment of Inertia |
55 | | - * - :math:`x_b` |
56 | | - - :math:`{F_x}_b` |
57 | | - - :math:`L` |
58 | | - - :math:`u` |
59 | | - - :math:`\\varphi` |
60 | | - - :math:`p` |
61 | | - - :math:`I_{xx}` |
62 | | - * - :math:`y_b` |
63 | | - - :math:`{F_y}_b` |
64 | | - - :math:`M` |
65 | | - - :math:`v` |
66 | | - - :math:`\\theta` |
67 | | - - :math:`q` |
68 | | - - :math:`I_{yy}` |
69 | | - * - :math:`z_b` |
70 | | - - :math:`{F_z}_b` |
71 | | - - :math:`N` |
72 | | - - :math:`w` |
73 | | - - :math:`\\psi` |
74 | | - - :math:`r` |
75 | | - - :math:`I_{zz}` |
76 | | -
|
77 | | -
|
78 | | -The position of the mass center of the body is given by |
79 | | -its Cartesian coordinates expressed in an inertial frame of |
80 | | -reference, such as the fixed-earth frame :math:`(x, y, z)`. |
81 | | -
|
82 | | -The body's angular orientation is defined by three rotations :math:`(\\psi, \\theta, \\varphi)` |
83 | | -relative to the inertial frame of reference. |
84 | | -These are |
85 | | -called Euler rotations, and the order of the successive rotations |
86 | | -is important. |
87 | | -Starting with the body coordinate frame |
88 | | -aligned with the earth coordinate frame, the adopted order here is 3-2-1, i.e.: |
89 | | -
|
90 | | -(1) Rotate the body frame about the :math:`z_b` axis through the heading angle :math:`\\psi`, |
91 | | -(2) Rotate about the :math:`y_b` axis through the pitch angle :math:`\\theta`, and |
92 | | -(3) Rotate about the :math:`x_b` axis through the roll angle :math:`\\varphi` |
93 | | -
|
94 | | -The total inertial velocity :math:`V` has components :math:`u, v`, and :math:`w` on the body frame axes, |
95 | | -and :math:`(v_x, v_y, v_z)` on the earth-frame axes. |
96 | | -
|
97 | | -
|
98 | | -Newton's Second Law |
99 | | -^^^^^^^^^^^^^^^^^^^ |
100 | | -
|
101 | | -Newton's second law of motion establishes the foundational |
102 | | -equation governing the relationship among |
103 | | -force, mass, and acceleration. |
104 | | - |
105 | | -
|
106 | | -in the context of Newton's second law, the force :math:`(F)` |
107 | | -acting on an object is the derivative of its momentum :math:`(m \\cdot v)` |
108 | | -with respect to time :math:`(t)`: |
109 | | -
|
110 | | -.. math:: |
111 | | - F = {d(m \\cdot v) \\over dt} |
112 | | -
|
113 | | -Where: |
114 | | -
|
115 | | -- :math:`F` is the total force acting on the object |
116 | | -- :math:`m` is the mass of the object |
117 | | -- :math:`v` is the velocity |
118 | | -- :math:`t` is time |
119 | | -
|
120 | | -This equation yields the final form of the equations of linear motion. |
121 | | -In the final form, acceleration is represented by the rate of change of the velocity: |
122 | | -
|
123 | | -.. math:: |
124 | | - F = m \\cdot \\dot{v} |
125 | | -
|
126 | | -Where: |
127 | | -
|
128 | | -- :math:`F` is the total force acting on the object |
129 | | -- :math:`m` is the mass of the object |
130 | | -- :math:`\\dot{v}` is the acceleration of the object |
131 | | -
|
132 | | -
|
133 | | -A direct extension of Newton's second law to rotational motion |
134 | | -reveals that the moment of force (torque) on a body |
135 | | -about a given axis equals the time rate of change of the |
136 | | -angular momentum of the paricle about that axis. |
137 | | -
|
138 | | -
|
139 | | -.. math:: |
140 | | - M = {dh \\over dt} |
141 | | -
|
142 | | -Where: |
143 | | -
|
144 | | -- :math:`M` is the total moment (torque) acting on the object |
145 | | -- :math:`h` is the angular momentum vector of the object |
146 | | -
|
147 | | -
|
148 | | -
|
149 | | -Hence, the final form of the equations of angular motion is given by: |
150 | | -
|
151 | | -.. math:: |
152 | | - M = [I] \\cdot \\dot{\\omega} |
153 | | -
|
154 | | -Where: |
155 | | -
|
156 | | -- :math:`M` is the total moment (torque) acting on the object |
157 | | -
|
158 | | -- :math:`[I]` is the inertia matrix of the body relative to the axis of rotation |
159 | | -
|
160 | | -- :math:`\\dot{\\omega}` is the absolute angular acceleration vector of the body |
161 | | -
|
162 | | -
|
163 | | -
|
164 | | - |
165 | | -Translational Equations of Motion |
166 | | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
167 | | -
|
168 | | -The basis of the translational equation of motion was introduced |
169 | | -above. |
170 | | -The usual procedure used to solve this |
171 | | -equation is to sum the external forces |
172 | | -:math:`F` acting on the body, express them in an |
173 | | -inertial frame, and substitute :math:`F` into |
174 | | -the equation. |
175 | | -Once the acceleration, namely the forces |
176 | | -divided by the mass, is expressed in inertial coordinates, |
177 | | -it is integrated twice to yield the |
178 | | -translational displacement. |
179 | | -
|
180 | | -
|
181 | | -.. math:: |
182 | | - dx = v_x |
183 | | -
|
184 | | - dy = v_y |
185 | | -
|
186 | | - dz = v_z |
187 | | -
|
188 | | - dv_x = {F[0] \\over m} |
189 | | -
|
190 | | - dv_y = {F[1] \\over m} |
191 | | -
|
192 | | - dv_z = {F[2] \\over m} |
193 | | -
|
194 | | -Where: |
195 | | -
|
196 | | -- :math:`dx, dy, dz` are the changes in position in the :math:`x, y, z` inertial directions, respectively |
197 | | -- :math:`dv_x, dv_y, dv_z` are the changes in velocity in the :math:`x, y, z` inertial directions, respectively |
198 | | -- :math:`v_x, v_y, v_z` are the velocities in the :math:`x, y, z` inertial directions, respectively |
199 | | -- :math:`f[0], f[1], f[2]` are the input force components in the :math:`x, y, z` inertial directions, respectively |
200 | | -- :math:`m` is the mass of the body. |
201 | | -
|
202 | | -
|
203 | | -These equations describe the dynamics of a datapoint in three-dimensional space (**3DOF**). |
204 | | -Which is |
205 | | -the rate of change of position |
206 | | -:math:`(x, y, z)` with respect to time equals to the velocity, |
207 | | -and the rate of change of velocity |
208 | | -:math:`(v_x, v_y, v_z)` with respect to time |
209 | | -equals to the force divided by the mass :math:`(m)`. |
210 | | -
|
211 | | -
|
212 | | -
|
213 | | -
|
214 | | -Rotational Equations of Motion |
215 | | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
216 | | -
|
217 | | -As mentioned earlier, the rotational analog |
218 | | -of Newton's law describes the relationship between torque, |
219 | | -moment of inertia, and angular acceleration. |
220 | | -We also saw that a double integration on the translational |
221 | | -acceleration produces the change of the body in position. |
222 | | -
|
223 | | -However, the angular accelerations |
224 | | -are typically expressed with respect to a body frame and |
225 | | -must be adjusted in order to produce the attitude of the |
226 | | -body. |
227 | | -For that purpose we introduced the euler angles (see Nomenclature and Conventions) |
228 | | -which describe the |
229 | | -body attitude with respect to an inertial frame of reference. |
230 | | -
|
231 | | -The orientation of the body reference frame is specified by the three |
232 | | -Euler angles, :math:`\\psi, \\theta, \\varphi`. |
233 | | -
|
234 | | -As a rigid body changes its orientation |
235 | | -in space, the Euler angles change. |
236 | | -The rates of change |
237 | | -of the Euler angles are related to the angular rates :math:`(p, q, r)` of the |
238 | | -body frame. |
239 | | -
|
240 | | -The rate of change of the Euler angles together with the rotational analog |
241 | | -of Newton's law provide the set of differential equations |
242 | | -that |
243 | | -describe the equations governing the motion of a rigid body: |
244 | | -
|
245 | | -
|
246 | | -.. math:: |
247 | | -
|
248 | | - d\\varphi = p + (q \\cdot sin(\\varphi) + r \\cdot cos(\\varphi)) \\cdot tan(\\theta) |
249 | | -
|
250 | | - d\\theta = q \\cdot cos(\\varphi) - r \\cdot sin(\\varphi) |
251 | | - |
252 | | - d\\psi = {q \\cdot sin(\\varphi) + r \\cdot cos(\\phi) \\over cos(\\theta)} |
253 | | -
|
254 | | - dp = {M[0] - q \\cdot r \\cdot (I_{zz} - I_{yy}) \\over I_{xx}} |
255 | | -
|
256 | | - dq = {M[1] - p \\cdot r \\cdot (I_{xx} - I_{zz}) \\over I_{yy}} |
257 | | -
|
258 | | - dr = {M[2] - p \\cdot q \\cdot (I_{yy} - I_{xx}) \\over I_{zz}} |
259 | | -
|
260 | | -Where: |
261 | | -
|
262 | | -- :math:`d\\varphi, d\\theta, d\\psi` are the changes in Euler roll, Euler pitch, and Euler yaw angles, respectively |
263 | | -- :math:`dp, dq, dr` are the changes in body roll rate, pitch rate, and yaw rate, respectively |
264 | | -- :math:`\\varphi, \\theta, \\psi` are the Euler roll, Euler pitch, and uler yaw angles, respectively |
265 | | -- :math:`p, q, r` are the body roll rate, pitch rate, and yaw rate, respcetively |
266 | | -- :math:`M[0], M[1], M[2]` are the input moment of force components about the :math:`x, y, z` in the body direction, respectively |
267 | | -- :math:`I_{xx}, I_{yy}, I_{zz}` are the moments of inertia about the :math:`x, y,` and :math:`z` in body direction, respectively |
268 | | -
|
269 | | -
|
270 | | -These equations describe the angular dynamics of a rigid body. |
271 | | -Together with the equations that describe the translational |
272 | | -motion of the body they form the six-dimensional motion in space (**6DOF**). |
273 | | -
|
274 | | -
|
275 | | -References |
276 | | ----------- |
277 | | -
|
278 | | -.. [MI] 17 July 1995, "Missile Flight Simulation, Part One, Surface-to-Air Missiles", |
279 | | - Ch 4 In: Military Handbook. 1995, MIL-HDBK-1211(MI) |
280 | | -
|
281 | | -
|
282 | | - |
283 | | -Examples |
284 | | --------- |
285 | | -
|
286 | | -For examples, see the various functions. |
287 | | -
|
288 | | -''' |
289 | 1 | import sys, os |
290 | 2 | sys.path.append('.') |
291 | 3 |
|
|
0 commit comments