Attitude Kinematics Chris Hall Aerospace and Ocean Engineering cdhall@vt.edu Dynamics = Kinematics + Kinetics • Translational dynamics (Newton’s 2nd Law) – 2nd order includes kinematics and kinetics – 1st order separates the two kinematics kinetics Dynamics = Kinematics + Kinetics • Rotational dynamics (Euler’s Law) – Implies both kinematics and kinetics – h is the angular momentum, g is the torque – 1st order separates the two kinematics ? kinetics Translational vs Rotational • Linear momentum = mass velocity • Angular momentum = inertia angular velocity • d/dt (linear momentum) = applied forces • d/dt (angular momentum) = applied torques • d/dt (position) = linear momentum/mass • d/dt (attitude) = “angular momentum/inertia” Back to Reference Frames • Denote reference frames as triads of mutually orthogonal unit vectors Right-Handedness Vectors • A vector is an abstract mathematical object with two properties: length or magnitude, and direction Vector Notation Summary • • • is a vector, is its magnitude is the “1” component is a 31 matrix of components in an unspecified reference frame • is a 31 matrix of components in • The vector is an abstract mathematical object with direction and magnitude; its matrix representation is a 31 matrix of scalars Rotations • Suppose we know components in body frame • And we want to know components in inertial frame • Frames are related by a 33 Rotation Matrix • So Rotations Continued • The equation is a linear system of the form A x = b • Thus, to determine the components in the inertial frame, we need to determine R and solve the linear system • Can write components of R as • Thus (direction cosines) • Rotation matrix aka Direction Cosine Matrix Rotations Continued • Can also write the rotation matrix as the dot product of two “vectrices”: • Can show that the inverse of a rotation matrix is simply its transpose • Thus a rotation matrix is an “orthonormal” matrix: its rows and columns are components of mutually orthogonal unit vectors Rotation Notation • As dot product of “vectrices”: • As matrix transforming vectors from one frame to another • As matrix with rows and columns being unit vectors of one frame expressed in the other • The matrix is the rotation from to Attitude Kinematics Representations • The rotation matrix represents the attitude • A rotation matrix has 9 numbers, but they are not independent • There are 6 constraints on the 9 elements of a rotation matrix (what are they?) • Thus rotation has 3 degrees of freedom • There are many different sets of parameters that can be used to represent or parameterize rotations • Euler angles, Euler parameters (aka quaternions), Rodrigues parameters (aka Gibbs vectors), Modified Rodrigues parameters, … Euler Angles Leonhard Euler (1707-1783) reasoned that the rotation from one frame to another can be visualized as a sequence of three simple rotations about base vectors Each rotation is through an angle (Euler angle) about a specified axis Let’s consider the rotation from to using three Euler angles The first rotation is about the axis, through angle The resulting frame is denoted or Euler Angles (second rotation) The second rotation is about the axis, through angle The resulting frame is denoted or The rotation matrix notation for the “simple”rotations is Ri(j) denotes a rotation about the I axis. The subscript on R defines which simple rotation axis is used, and the subscript on defines which of the three angles in the Euler sequence it is Euler Angles (third rotation) The third rotation is a “1” rotation, through angle The resulting frame is the desired body frame, denoted or An Illustrative Example Illustrative Example (continued) Illustrative Example (concluded) Rotation Matrix Euler Angles • Knowing the 9 numbers in the rotation matrix, we can compute the 3 Euler angles • Quadrant checks are imperative. • Use atan2(y,x) What you need to know about Euler Angles • Given a sequence, say “3-1-2” for example, derive the Euler angle representation of R – Be sure to get the order correct • Given a sequence and some values for the angles, compute the numerical values of R – Be sure to know the difference between degrees and radians • Given the numerical values of R, extract numerical values of the Euler angles associated with a specified sequence – Be sure to make appropriate quadrant checks, and to check your answer Euler’s Theorem • The most general motion of a rigid body with a fixed point is a rotation about a fixed axis. • The axis, denoted a, is called the eigenaxis or Euler axis • The angle of rotation, is called the Euler angle or the principal Euler angle Observations Regarding and • Since the Euler axis is the eigenvector of R associated with the eigenvalue 1 • Thus every rotation matrix has an eigenvalue that is equal to +1 • This fact justifies the term eigenaxis for the Euler axis • This parameterization requires four parameters Extracting and from R • Just as we need to be able to compute Euler angles from a given rotation matrix, we need to be able to compute the Euler axis and Euler angle: • What do you do about the = 0 case? Another Four-Parameter Set • The Euler parameter set, also known as a quaternion, is a four-parameter set with some advantages over the Euler axis/angle set: • The vector component, q, is a 3 1, whereas the scalar component, q4, is, well, a scalar • The quaternion is denoted by , a 4 1 matrix and • To compute the rotation matrix using the quaternion: • To compute the quaternion using the rotation matrix: Summary of Kinematics Notation • Several equivalent methods of describing attitude or orientation: – Rotation matrix = DCM = vectors of one frame expressed in the other = dot products of vectors of one frame with those of the other – Euler angles: 3 2 2 = 12 different sets – Euler axis/angle: unit vector and angle – Euler parameters = quaternions: unit 4 1 • You must be able to compute one from the other for any given representation • Next: How does attitude vary with time? Differential Equations of Kinematics • Given the velocity of a point and initial conditions for its position, we can compute its position as a function of time by integrating the differential equation • We now need to develop the equivalent differential equations for the attitude when the angular velocity is known Euler Angles and Angular Velocity • One frame at a time, just like we developed rotation matrices in terms of Euler angles Adding the Angular Velocities • The three angular velocities are expressed in different frames. To add them,we need to rotate them all into the same frame. Typically, we use the body frame, but this is not always the case. • We already have in body frame. Complete the Operation Carry out the matrix multiplications and add the three results: Or Or Kinematic Singularity in the Differential Equation for Euler Angles • Note that for this Euler angle set, the Euler rates go to infinity when cos 2 0 • The reason is that near 2 = p/2 the first and second rotations are indistinguishable • For the “symmetric” Euler angle sequences (3-1-3, 2-12, 1-3-1, etc) the singularity occurs when 2 = 0 or p • For the “asymmetric” Euler angle sequences (3-2-1, 23-1, 1-3-2, etc) the singularity occurs when 2 = p/2or 3p/2 • This kinematic singularity is a major disadvantage of using Euler angles for large-angle motion Euler Axis/Angle and Euler Parameters • Euler axis and angle differential equations • Singularity when 0 or 2p • Euler parameter differential equations • No singularity! Typical Problem Involving Angular Velocity and Attitude • Given initial conditions for the attitude (in any form), and a time history of angular velocity, compute R or any other attitude representation as a function of time – Requires integration of one of the sets of differential equations involving angular velocity