arxiv: v1 [math.ds] 18 Nov 2008

Similar documents
Lecture 38: Equations of Rigid-Body Motion

Lecture 38: Equations of Rigid-Body Motion

Lecture 37: Principal Axes, Translations, and Eulerian Angles

arxiv: v1 [cs.sy] 29 Aug 2017

Lecture 10 Reprise and generalized forces

M2A2 Problem Sheet 3 - Hamiltonian Mechanics

Classical Mechanics. Luis Anchordoqui

Gravitational radiation

Physics 106a, Caltech 4 December, Lecture 18: Examples on Rigid Body Dynamics. Rotating rectangle. Heavy symmetric top

MATHEMATICAL PHYSICS

Hamiltonian. March 30, 2013

Tensor Analysis in Euclidean Space

SOLUTIONS, PROBLEM SET 11

Complex Numbers and Quaternions for Calc III

Why Transforms? Want to animate objects and camera Translations Rotations Shears And more.. Want to be able to use projection transforms

Physics 5153 Classical Mechanics. Canonical Transformations-1

On complexified quantum mechanics and space-time

September 21, :43pm Holm Vol 2 WSPC/Book Trim Size for 9in by 6in

12. Rigid Body Dynamics I

Classical Mechanics in Hamiltonian Form

Chapter 2 Math Fundamentals

Generalized Coordinates, Lagrangians

Lecture 4. Alexey Boyarsky. October 6, 2015

Physical Dynamics (SPA5304) Lecture Plan 2018

Quaternions. Basilio Bona. Semester 1, DAUIN Politecnico di Torino. B. Bona (DAUIN) Quaternions Semester 1, / 40

Free rotation of a rigid body 1 D. E. Soper 2 University of Oregon Physics 611, Theoretical Mechanics 5 November 2012

The Jacobian. Jesse van den Kieboom

Phys 7221 Homework # 8

Differential Kinematics

From quantum to classical statistical mechanics. Polyatomic ideal gas.

Physics 339 Euler Angles & Free Precession November 2017 Hamilton s Revenge

Rotational motion of a rigid body spinning around a rotational axis ˆn;

DIFFERENTIAL KINEMATICS. Geometric Jacobian. Analytical Jacobian. Kinematic singularities. Kinematic redundancy. Inverse differential kinematics

PSE Game Physics. Session (6) Angular momentum, microcollisions, damping. Oliver Meister, Roland Wittmann

CE 530 Molecular Simulation

UAV Coordinate Frames and Rigid Body Dynamics

ECS 178 Course Notes QUATERNIONS

A Primer on Three Vectors

Handout 10. Applications to Solids

Kinematics. Basilio Bona. Semester 1, DAUIN Politecnico di Torino. B. Bona (DAUIN) Kinematics Semester 1, / 15

Lecture 9 Hamilton s Equa4ons

7 To solve numerically the equation of motion, we use the velocity Verlet or leap frog algorithm. _ V i n = F i n m i (F.5) For time step, we approxim

Lecture 9: Space-Vector Models

Second quantization: where quantization and particles come from?

Mechanics Physics 151

The Principle of Least Action

Review of the Dillingham, Falzarano & Pantazopoulos rotating three-dimensional shallow-water equations

Canonical transformations (Lecture 4)

Rigid Body Rotation. Speaker: Xiaolei Chen Advisor: Prof. Xiaolin Li. Department of Applied Mathematics and Statistics Stony Brook University (SUNY)

Physics 110. Electricity and Magnetism. Professor Dine. Spring, Handout: Vectors and Tensors: Everything You Need to Know

Analytical Dynamics: Lagrange s Equation and its Application A Brief Introduction

Physical Dynamics (PHY-304)

QUATERNIONS AND ROTATIONS

Introduction to quaternions

ENGIN 211, Engineering Math. Complex Numbers

In this section of notes, we look at the calculation of forces and torques for a manipulator in two settings:

Relativistic Dynamics

Physics 312, Winter 2007, Practice Final

Physics 235 Chapter 7. Chapter 7 Hamilton's Principle - Lagrangian and Hamiltonian Dynamics

Generators for Continuous Coordinate Transformations

Kinematics. Basilio Bona. Semester 1, DAUIN Politecnico di Torino. B. Bona (DAUIN) Kinematics Semester 1, / 15

Quaternions. R. J. Renka 11/09/2015. Department of Computer Science & Engineering University of North Texas. R. J.

Noether s Theorem. 4.1 Ignorable Coordinates

Kinematics. Basilio Bona. October DAUIN - Politecnico di Torino. Basilio Bona (DAUIN - Politecnico di Torino) Kinematics October / 15

AB-267 DYNAMICS & CONTROL OF FLEXIBLE AIRCRAFT

SYMMETRIES OF ROCKET DYNAMICS. Part 1. Executive Summary 1 1. Equations of Motion 1 2. The Problem to Solve 2. Part 2. Introduction 2 3.

Formalism of the Tersoff potential

Advanced Robotic Manipulation

Lecture 35: The Inertia Tensor

1 Hamiltonian formalism

Variation Principle in Mechanics

4.7 The Levi-Civita connection and parallel transport

PHYS 705: Classical Mechanics. Rigid Body Motion Introduction + Math Review

Rotational Kinematics. Description of attitude kinematics using reference frames, rotation matrices, Euler parameters, Euler angles, and quaternions

Yuri Fedorov Multidimensional Integrable Generalizations of the nonholonomic Chaplygin sphere problem. November 29, 2006

06. Lagrangian Mechanics II

CS-184: Computer Graphics

Biquaternion formulation of relativistic tensor dynamics

Lecture 41: Highlights

Chapter 3 Numerical Methods

Chapter 4 The Equations of Motion

Dynamics. Basilio Bona. Semester 1, DAUIN Politecnico di Torino. B. Bona (DAUIN) Dynamics Semester 1, / 18

In the presence of viscous damping, a more generalized form of the Lagrange s equation of motion can be written as

Appendix to Lecture 2

MSMS Basilio Bona DAUIN PoliTo

PHYS 705: Classical Mechanics. Euler s Equations

Constraints. Noninertial coordinate systems

Winter 2017 Ma 1b Analytical Problem Set 2 Solutions

PART ONE DYNAMICS OF A SINGLE PARTICLE

Lecture 5. Alexey Boyarsky. October 21, Legendre transformation and the Hamilton equations of motion

DYNAMICS OF SERIAL ROBOTIC MANIPULATORS

Torque and Rotation Lecture 7

Transverse Linearization for Controlled Mechanical Systems with Several Passive Degrees of Freedom (Application to Orbital Stabilization)

Rigid bodies - general theory

Course 2BA1: Hilary Term 2007 Section 8: Quaternions and Rotations

In most robotic applications the goal is to find a multi-body dynamics description formulated

Physics 106a, Caltech 13 November, Lecture 13: Action, Hamilton-Jacobi Theory. Action-Angle Variables

Quantum Field Theory Notes. Ryan D. Reece

Lagrange s Equations of Motion and the Generalized Inertia

Massachusetts Institute of Technology Department of Physics. Final Examination December 17, 2004

Transcription:

arxiv:0811.2889v1 [math.ds] 18 Nov 2008 Abstract Quaternions And Dynamics Basile Graf basile.graf@epfl.ch February, 2007 We give a simple and self contained introduction to quaternions and their practical usage in dynamics. The rigid body dynamics are presented in full details. In the appendix, some more exotic relations are given that allow to write more complex models, for instance, the one of a satellite with inertial wheels and expressed in a non-inertial reference frame. As it is well known, one nice advantage of quaternions over Euler angles, beside the usual arguments, is that it allows to write down quite complex dynamics completely by hand.

Contents 1 Quaternions 3 1.1 Fundamentals............................. 3 1.2 Notations and Definitions...................... 3 1.3 Quaternion Product......................... 4 1.4 Quaternions and Spatial Rotations................. 4 1.5 Quaternions and Rotation Velocity................. 6 1.5.1 Rotation Velocity in Fixed Reference Frame ω...... 7 1.5.2 Rotation Velocity in Body Reference Frame ω...... 7 1.5.3 Matrix-Product Notation for ω............... 8 1.5.4 Matrix-Product Notation for ω............... 8 1.5.5 Rotation Matrix R...................... 9 1.5.6 Ep and Gp.......................... 10 1.5.7 One Last Relation...................... 10 1.5.8 Relations Summary..................... 11 1.6 Rigid Body Rotational Dynamics.................. 11 1.6.1 Derivatives of L....................... 12 1.6.2 Generalized Forces...................... 13 1.6.3 Dynamics........................... 14 A Derivatives and Quaternions 15 A.1 Quadratic Form Derivative by a Quaternion............ 15 A.1.1 Single R Quadratic Form................. 15 A.1.2 Double R Quadratic Form................. 16 A.1.3 Properties........................... 16 A.2 Time Derivative of R......................... 17 B Speed Composition 18 C Euler Angles to Quaternions 20 2

1 Quaternions 1.1 Fundamentals Relation (1), together with associativity and distributivity is all what we will use to derive the basic practical applications for quaternions. i 2 = j 2 = k 2 = ijk = 1 (1) By left- and right-multiplication in the above equation, we can write i ijk = jk = i ijk k = ij = k j jk = k = ji ij j = i = kj i ij = j = ik ji i = j = ki This shows the product is non commutative and gives the basic multiplication rules: ij = k jk = i ki = j ji = k kj = i ik = j (2) 1.2 Notations and Definitions A quaternion q is a set of four parameters, a real value q 0 and three imaginary values q 1 i, q 2 j, q 3 k with q 1, q 2, q 3 R; it may be written q = q 0 + q 1 i + q 2 j + q 3 k. However, this notation proves itself to be very unpractical. We will therefore use two different notations: The quaternion q as a pair of real value and vectorial imaginary value q = (q 0, q) Re { q } = q 0 Im { q } = q = (q 1 q 2 q 3 ) T A column vector of four parameters q = (q 0 q 1 q 2 q 3 ) T The conjugate q of q is defined as q = (q 0, q) and it s norm (a nonnegative real value) as q = q = q0 2 + q2 1 + q2 2 + q2 3. The product of two quaternions written as pairs, as described in the next section will be noted with. 3

1.3 Quaternion Product From the rules given in (2), we may write the product of q with p. (q 0 + q 1 i + q 2 j + q 3 k)(p 0 + p 1 i + p 2 j + p 3 k) = p 0 q 0 + q 0 p 1 i + q 0 p 2 j + q 0 p 3 k + q 1 p 0 i + q 1 p 1 ii + q 1 p 2 ij + q 1 p 3 ik + q 2 p 0 j + q 2 p 1 ji + q 2 p 2 jj + q 2 p 3 jk + q 3 p 0 k + q 3 p 1 ki + q 3 p 2 kj + q 3 p 3 kk = p 0 q 0 q 1 p 1 q 2 p 2 q 3 p 3 + (q 1 p 0 + q 0 p 1 + q 2 p 3 q 3 p 2 ) i + (q 2 p 0 + q 0 p 2 + q 3 p 1 q 1 p 3 ) j + (q 3 p 0 + q 0 p 3 + q 1 p 2 q 2 p 1 ) k q p = (p 0 q 0 p q, q 0 p + p 0 q + q p). (3) From (3) it turns out that q q = q q = ( q 2, 0) = q 2 (4) and if q is normed ( q = 1) q q = q q = (1, 0) = Id. (5) In (3) we also see that that is q p = p q (6) q p 2 = (q p) (q p) = q p p q = p 2 (q q) = q 2 p 2 p 2 1.4 Quaternions and Spatial Rotations First, note the following relations q p = q p. (7) ( u v) w = ( u w) v ( v w) u sin 2 ϕ 2 = 1 cosϕ 2 cos 2 ϕ 2 = 1 + cosϕ. 2 From now on, q will generally represent a normed quaternion ( q = 1) involved in a rotation. Let s now place a vector x R 3 in the imaginary part of a quaternion x and see what happens with it in the following relation 4

Using (3) x = q x q x = (0, x) q = (q 0, q). x = ( q x, q 0 x q x) q = (( q x)q 0 (q 0 x q x) q, ( q x) q + q 0 (q 0 x q x) + (q 0 x q x) q ) Re{x } Im{x } Re { x } = ( q x)q 0 q 0 ( x q) ( q x) q = 0 Im { x } = x x = (0, x ), = ( q x) q + q 2 0 x q 0( q x) + q 0 ( x q) ( q x) q = ( q x) q + q 2 0 x + 2q 0 ( x q) ( q x) q = ( q x) q + q 2 0 x + 2q 0 ( x q) ( q q) x + ( x q) q = 2( q x) q + q 2 0 x + 2q 0 ( x q) ( q q) x. A valid normed quaternion ( q = (q0 2 + q2 1 + q2 2 + q2 3 ) = 1) would be In this case, x becomes q = (q 0, q) = (cos ϕ 2, sin ϕ n) n = 1. 2 x = 2 sin 2 ϕ 2 ( n x) n + cos2 ϕ 2 x + 2 cos ϕ 2 sin ϕ 2 ( x n) sin2 ϕ 2 x = (1 cosϕ)( n x) n + cosϕ x + sin ϕ ( x n). This last relation is the formula for a rotation by an angle ϕ around a normed axis vector n, as can be shown with the following figure as follows: v 3 ( x n) n v 2 ϕ 0 n x x v 1 5

v 2 = cosϕ v 1 + sin ϕ v 3 v 1 = x ( x n) n v 3 = v 1 n = ( x ( x n) n) n = ( x n) ( x n) n n 0 v 2 = cosϕ ( x ( x n) n) + sinϕ ( x n) Moreover x = ( x n) n + v 2 = ( x n) n + cosϕ ( x ( x n) n) + sinϕ ( x n) = (1 cosϕ)( n x) n + cosϕ x + sin ϕ ( x n). x = q x q q x q = q q x q q. (1, 0) (1, 0) Thus we have the relations for the rotation and its inverse x = q x q x = q x q. (8) 1.5 Quaternions and Rotation Velocity We will now derive the relation between the rotational velocity vector and the quaternion time derivative. x is any constant vector within the body (rotating) reference frame and x is the same vector in the fixed reference frame. As seen before, both vectors can be put in relation with x = q x q x = q x q. Applying the time derivative to x = (0, x), with x = (0, x ) and x = 0, we get ẋ = q x q + q x q ẋ = q q x q q + q q x q q Id Id and from (3) ẋ = q q x + x q q (9) 6

because q = 1. That is q q = ( q 0 q 0 + q q, q 0 q + q 0 q q q) = q 0 q 0 + q 1 q 1 + q 2 q 2 + q 3 q 3 = q q = 0 q q = (0, ν) and similarly q q = (0, ν). (10) 1.5.1 Rotation Velocity in Fixed Reference Frame ω From (9) and (10) and using (3) we have and from (7) ẋ = (0, ν) x x (0, ν) x = ν x x ν = 2 ν x x = 2 ν x ν x If x undergoes a pure rotation, we know that thus x = ω x and ω x And right-multiplication by q ω = (0, ω) = 2(0, ν) = 2 q q. (11) ω q = 2 q q q Id ω q = 2 q q = 1 2 ω q. (12) 1.5.2 Rotation Velocity in Body Reference Frame ω ω = q ω q with ω = 2 q q ω = 2 q q q q Id And left-multiplication by q ω = 2 q q. (13) q ω = 2 q q q = 2 q Id q = 1 2 q ω. (14) 7

1.5.3 Matrix-Product Notation for ω From and using (3) ω = 2 q q ω = Im { 2 q q } = 2( q 0 q+q 0 q q q) = 2 q 1 q 0 q 3 q 2 q 2 q 3 q 0 q 1 q 3 q 2 q 1 q 0 E ω = 2E q. Changing the sign and inverting the cross product allows to make an other identification ω = 2( q 0 q + q0 q q q) q q 0 q 1 q 2 3 ω = 2Ėq. So the rotation velocity vector in the fixed reference frame can be written as And from ω = 2E q = 2Ėq. (15) one can similarly find q = 1 2 ω q ω = (0, ω) ω 0 = 0 q = 1 2 ( ( ω q) (q 0 ω + ω q) ) = 1 2 ET ω q = 1 2 ET ω. (16) 1.5.4 Matrix-Product Notation for ω From and using (3) ω = 2 q q 8

ω = Im { 2 q q } = 2(q 0 q q0 q q q) = 2 q 1 q 0 q 3 q 2 q 2 q 3 q 0 q 1 q 3 q 2 q 1 q 0 G ω = 2G q. Changing the sign and inverting the cross product allows to make an other identification ω = 2( q 0 q q 0 q q q) q q 0 q 1 q 2 3 ω = 2Ġq. So the rotation velocity vector in the body reference frame can be written as And from ω = 2G q = 2Ġq. (17) one can similarly find q = 1 2 q ω ω = (0, ω ) ω 0 = 0 q = 1 2 ( ( q ω ) (q 0 ω + q ω ) ) = 1 2 GT ω q = 1 2 GT ω. (18) 1.5.5 Rotation Matrix R We already have ω = 2E q = 2Ėq q = 1 2 ET ω So we can write ω = 2E q = 2E( 1 2 ET ω) = EE T ω EE T = Id. ω = 2G q = 2Ġq q = 1 2 GT ω ω = 2G q = 2G( 1 2 GT ω ) = GG T ω GG T = Id. 9

And by mixing both sides ω = 2G q = 2G( 1 2 ET ω) = GE T ω ω = 2E q = 2E( 1 2 GT ω ) = EG T ω. We shall now remember that ω is a vector in the fixed reference frame and that ω is the same vector in the body reference frame, that is ω = R ω. By comparing with the previous two results, we find 1.5.6 Ep and Gp R = EG T and R 1 = R T = GE T. (19) From the identifications made in sections 1.5.3 and 1.5.4, we can see that the general meaning the product of E and G with any quaternion p is And from Ep = Im { p q } Gp = Im { q p }. (20) it follows q q = q q = ( q, 0) = (1, 0) 1.5.7 One Last Relation For any v and due to associativity Eq = 0 Gq = 0. (0, ω ) (0, v) = ( ω v, ω v) 2 q q = 2 q q v = 2(q 0 q 0 + q q, q 0 q q0 q q q) v = 2 q ( q 0 v 0 q v, q 0 v+v 0 q+ q v) q 0 q 1 q 2 q 3 q 0 q 1 q 2 q 3 0 2 q 1 q 0 q 3 q 2 q 1 q 0 q 3 q 2 v 1 q 2 q 3 q 0 q 1 q 2 q 3 q 0 q 1 v 2 q 3 q 2 q 1 q 0 q 3 q 2 q 1 q 0 v 3 ( ) ( )( ) ( ) q T 0 ω = 2 q Ġ G T = v v ω v 2GĠT v = Ω v = ω v. 10

Comparing with (17), we conclude that Ω = 2GĠT = 2ĠGT and Ω v = ω v. (21) 1.5.8 Relations Summary The following table summaries the developed relations. q is always a normed quaternion, that is q 2 0 + q2 1 + q2 2 + q2 3 = 1. Quaternion notation Matrix notation Fixed ref Body ref Fixed ref Body ref x = q x q x = q x q x = R x R = EG T x = R T x R T = R 1 = GE T ω = (0, ω) = 2 q q ω = (0, ω ) = 2 q q ω = 2E q = 2Ėq ω = 2G q = 2Ġq q = 1 2 ω q q = 1 2 q ω q = 1 2 ET ω q = 1 2 GT ω EE T = Id GG T = Id q q = q q = ( q, 0) Eq = 0 Gq = 0 (0, ω) (0, v) = ( ω v, ω v) Ω = 2GĠT = 2ĠGT Ω v = ω v E = q 1 q 0 q 3 q 2 q 2 q 3 q 0 q 1 q 3 q 2 q 1 q 0 G = q 1 q 0 q 3 q 2 q 2 q 3 q 0 q 1 q 3 q 2 q 1 q 0 1.6 Rigid Body Rotational Dynamics We now will have a look at the dynamics of a freely rotating rigid body to which a momentum T is applied. Translation of the body will not be discussed (it can be decoupled from the dynamics of rotation and is fairly easy). We will also consider a potential free system, so that the Lagrangian resumes to the rotational kinetic energy only L = E rot = 1 2 ω T J ω. (22) Using the quaternion q as coordinates and with the constraint C = q T q = 1, Lagrangian dynamics gives 11

d L dt q L q = F q + λ C q. (23) F q is the 4-vector of generalized forces which will be expressed in term of applied torque later. λ is the Lagrangian multiplier used to satisfy the constraint C. 1.6.1 Derivatives of L Note the following reminder Ax x = A a T x x = xt a x = a x T Ax = (A x T if A=AT + A)x = 2Ax (written as column vectors) (AB) T = B T A T. We will now derive each term of the left side of (23). First, let us rewrite L in two different ways and grouping around J L = 1 2 ω T J ω = 2(G q) T J(G q) = 2(Ġq)T J(Ġq) L = 1 2 ω T J ω = 2 q T (G T T JG) q = 2q (ĠTJĠ)q. Because J is symmetric, (G T JG) and (ĠT JĠ) are also symmetric. So we have and L q = 4ĠTJĠq = 2ĠT J } (2Ġq) = 2Ġ T J ω, (24) {{} ω L q = 4GT JG q = 2G T J (2G q) = 2G T J ω ω d L dt q = d dt (2GT J ω ) = 2ĠT J ω + 2G T J ω. (25) 12

1.6.2 Generalized Forces A way to find the generalized force F c relative to the coordinates c is to identify it in δw = F c δc. (A simple example is the case of a pure translation δ x of a particle, on which a force F is applied. The work is then δw = F x δ x = F δ x. So the generalized force F x is simply F in this case.) For a rotation of a rigid body by an angle δϕ around an axis n with an applied torque T, the work can be written as δw = ( n T )δϕ n = 1. (26) This small attitude change can be represented on one side as a small variation δq of the coordinate quaternion q and, on the other side, as a rotation quaternion q δ operating from the current attitude represented by q (i.e. a composition). That is q + δq = q q δ q = 1 q δ = 1 δq 1. We do not need to consider the fact that the variation δq has to preserve the norm of q, because it will automatically be satisfied by introducing a constraint in the Lagrange formulation. On one side we can write q + δq = q q δ q q + q δq = q q q δ (1, 0) (1, 0) q δ On the other side q δ = (1, 0) + q δq. (27) Looking at the imaginary part q δ = (cos δϕ 2, sin δϕ 2 n). Im { } q δ = Im { q δq } = sin δϕ 2 n δϕ 2 n 13

comparing with (26) and from (20) δw = 2 Im { q δq } T Im { q δq } = Gδq δw = 2(Gδq) T = 2T T (Gδq) = 2(G T T ) T δq = 2(G T T ) δq F q F q = 2G T T. (28) 1.6.3 Dynamics We have now everything to write the dynamics d L dt q L q = F q + λ C q 4ĠT J ω + 2G T J ω = 2G T T + λq. Left-multiplying by G 4GĠT J ω + 2 } GG {{ T } J ω = 2 } GG {{ T } T + λ Gq 2Ω Id Id 0 Ω J ω + J ω = T ω J ω + J ω = T J ω = T ω J ω. This last relation is nothing else than the Euler equation of motion for rotating body. Together with (18) we obtain the complete dynamics ω = J 1 T J 1 ( ω J ω ) q = 1 2 GT ω. (29) 14

A Derivatives and Quaternions A.1 Quadratic Form Derivative by a Quaternion In order to be able to derive the Lagrangian by the components of q for a non-inertial quaternion model, one needs to perform things like and also ( v T R w) q, ( v T R T w) q But because R = EG T and ( u T RJR T u). q E = q 1 q 0 q 3 q 2 q 2 q 3 q 0 q 1 q 3 q 2 q 1 q 0 G = q 1 q 0 q 3 q 2 q 2 q 3 q 0 q 1 q 3 q 2 q 1 q 0 the matrix of the quadratic form to be derived is not constant in q. This implies that these operations are no more trivial. However, thanks to the particular form of the dependance of R in the components of q, higher order tensors can be avoided, as shown in the following. A.1.1 Single R Quadratic Form By computing the quadratic form and taking the partial derivatives we get (placing them in a column vector) ( v T ( R w) ( v T ) R w) = = q q i i 0 w 1 v 1 q 0 + w 1 v 2 q 3 w 1 v 3 q 2 w 2 v 1 q 3 + w 2 v 2 q 0 + w 2 v 3 q 1 + w 3 v 1 q 2 w 3 v 2 q 1 + w 3 v 3 q 0 w 1 v 1 q 1 + w 1 v 2 q 2 + w 1 v 3 q 3 + w 2 v 1 q 2 w 2 v 2 q 1 + w 2 v 3 q 0 + w 3 v 1 q 3 w 3 v 2 q 0 w 3 v 3 q 1 2 B @ w 1 v 1 q 2 + w 1 v 2 q 1 w 1 v 3 q 0 + w 2 v 1 q 1 + w 2 v 2 q 2 + w 2 v 3 q 3 + w 3 v 1 q 0 + w 3 v 2 q 3 w 3 v 3 q 2 1. C A w 1 v 1 q 3 + w 1 v 2 q 0 + w 1 v 3 q 1 w 2 v 1 q 0 w 2 v 2 q 3 + w 2 v 3 q 2 + w 3 v 1 q 1 + w 3 v 2 q 2 + w 3 v 3 q 3 The vector obtained is quite ugly but one can see that it is linear in q, it can thus be rewritten in a matrix-vector product: 0 2 B @ v 1 w 1 + v 2 w 2 + v 3 w 3 v 3 w 2 v 2 w 3 v 3 w 1 + v 1 w 3 v 2 w 1 v 1 w 2 v 3 w 2 v 2 w 3 v 1 w 1 v 2 w 2 v 3 w 3 v 1 w 2 + v 2 w 1 v 1 w 3 + v 3 w 1 v 3 w 1 + v 1 w 3 v 1 w 2 + v 2 w 1 v 2 w 2 v 1 w 1 v 3 w 3 v 2 w 3 + v 3 w 2 1 0 C B A @ q 0 q 1 q 2 1 C A v 2 w 1 v 1 w 2 v 1 w 3 + v 3 w 1 {z v 2 w 3 + v 3 w 2 v 3 w 3 v 1 w 1 v 2 w 2 } [ v, w] q 3 15

By careful inspection of [ v, w], we can identify a structure in the matrix that allows a compact notation ( ) w v ( w v) T [ v, w] = w v w v T + v w T. (30) w v I 3 That is ( v T R w) q And because v T R T w = w T R v we also have ( v T R T w) q A.1.2 Double R Quadratic Form = 2 [ v, w]q (31) = 2 [ w, v]q (32) We are now interested in the derivative of a quadratic form involving RJR T, that is, with the q dependent matrix R appearing twice. J is an inertia matrix, therefore, J = J T. This time, the vectors on the left ant on the right are the same, lets say u. Hence 1 ( u T RJR T u ) = 1 2 q 2 A.1.3 Properties = ( u T R ) JR T u q i ) ( u T R q i JR T u. i i + 1 2 ) ( u T RJ RT u q i i 1 ( u T RJR T u ) = 2 [ u, JR T u]q (33) 2 q By looking at (30), one may note the following relations [ v 1 + v 2, w] = [ v 1, w] + [ v 2, w] (34) [ v, w 1 + w 2 ] = [ v, w 1 ] + [ v, w 2 ] (35) n m n m v i, w j = [ v i, w j ] (36) i=1 j=1 i=1 j=1 [α v, β w] = αβ [ v, w] (37) 16

A.2 Time Derivative of R First note that by identification, one can verify that G T G = E T E = I 4 qq T (38) with I 4 the identity matrix in R 4. Remember also Ω = 2GĠT = 2ĠGT with Ω v = ω v and ω = 2G q = 2Ġq. Now observe Ω R T = 2GĠT GE T = 2ĠGT GE T = 2Ġ(I 4 qq T )E T = 2ĠET 2Ġq qt E T = 2ĠET = ṘT. (Eq) T = 0 We can finally write Ṙ T = Ω R T (39) Ṙ = RΩ T = RΩ. (40) 17

B Speed Composition Let be three referentials each designed by 0, 1 and 2. Referential 0 is inertial, referential 1 is a rotating one and 2 is a body fixed referential. The same vector x can be expressed in any of these referentials; when expressed in 0, we will notate it as x 0, when expressed in 1 it will be noted x 1 and x 2 in referential 2. We will also write x i the quaternion (0, x i ). Moreover, three quaternions are defined: q 01 describes relative attitude of referential 1 with respect to referential 0, q 12 describes relative attitude of referential 2 with respect to referential 1 and q 02 describes relative attitude of referential 2 with respect to referential 0. q 12 q 01 2 1 0 q 02 So we may write x 0 = q 01 x 1 q 01 x 1 = q 12 x 2 q 12 x 0 = q 02 x 2 q 02 and by substitution x 0 = q 01 x 1 q 01 = q 01 q 12 x 2 q 12 q 01 = (q 01 q 12 ) x 2 (q 01 q 12 ) we can identify q 02 q 02 = q 01 q 12. (41) Noting ω j ij = (0, ωj ij ) the rotation velocity of the reference frame j relative to frame i expressed in the frame j and remembering that ω j ij = 2 q ij q ij, we may write 18

ω 2 02 = 2 q 02 q 02 = 2( q 12 q 01 ) ( q 01 q 12 + q 01 q 12 ) = 2 q 12 q 01 q 01 q 12 + 2 q 12 q 01 q }{{ 01 q } 12 Id = q 12 (2 q 01 q 01 ) q 12 + 2 q 12 q }{{ 12 } ω01 1 ω12 2 = q 12 ω 1 01 q 12 + ω 2 12 = ω 2 01 + ω2 12. That is, we can add consecutive rotation speeds if they are expressed in the same referential. In the case of the Cubsat, ω 2 02 is the satellite s rotation velocity ω expressed in body coordinates in the inertial referential model; we will note it ω Inertial here. On the other hand, ω 2 12 is the satellite s rotation velocity ω expressed in body coordinates in the non-inertial referential model (i.e. in orbital reference frame, ORF); we will note it ω NonInertial. ω 1 01 is the ORF rotation velocity expressed in the ORF, that is ω o, while ω 2 01 is the same vector, transformed in the body referential. This transformation is performed by R T from the non-inertial model ( q 12 in the above developement). In other words, we can link the ω vector from both inertial and non-inertial formulations (models) with ω Inertial = RT NonInertial ω o + ω NonInertial. (42) This is the speed to be used in computing the kinetic energy for the noninertial model. 19

C Euler Angles to Quaternions Three rotations by the Euler angles around each axis can be written as R ψ = cos(ψ) sin (ψ) 0 sin (ψ) cos(ψ) 0 0 0 1 R θ = cos(θ) 0 sin (θ) 0 1 0 sin(θ) 0 cos(θ) R φ = 1 0 0 0 cos(φ) sin(φ) 0 sin(φ) cos(φ) Combined together, they define the rotation matrix R = R φ R θ R ψ. Those three rotations can also be expressed as quaternion rotations q φ = cos ( 1 2 φ) sin ( 1 2 φ) 0 0 q θ = cos ( 1 2 θ) 0 sin ( 1 2 θ) 0 q ψ = cos ( 1 2 ψ) 0 0 sin ( 1 2 ψ). The resulting quaternion can then be obtained by multiplying those three together 20

q = q φ q θ q ψ = cos ( 1 2 φ) cos ( 1 2 θ) cos ( 1 2 ψ) sin ( 1 2 φ) sin ( 1 2 θ) sin ( 1 2 ψ) cos ( 1 2 ψ) cos ( 1 2 θ) sin ( 1 2 φ) + cos ( 1 2 φ) sin ( 1 2 θ) sin ( 1 2 ψ) cos ( 1 2 ψ) cos ( 1 2 φ) sin ( 1 2 θ) cos ( 1 2 θ) sin ( 1 2 φ) sin ( 1 2 ψ) cos ( 1 2 φ) cos ( 1 2 θ) sin ( 1 2 ψ) + cos ( 1 2 ψ) sin ( 1 2 φ) sin ( 1 2 θ). Note: that this result depends on the convention used in the order and choice of the Euler angles and rotation axes! [5] 21

References [1] Quaternion, Finite Rotation and Euler Parameters Arend L. Schwab http://tam.cornell.edu/ als93/quaternion.pdf [2] Quaternion based dynamics - Single Turbine Aircraft - Lagrange and Hamiltonian approaches S. Gros LA, EPFL. [3] Classical Mechanics Herbert Goldstein. [4] Lagrangian Dynamics Dare A. Wells Schaum s Outline Series. [5] http://www.mathworks.com/access/helpdesk/help/toolbox/aeroblks/index.html? /access/helpdesk/help/toolbox/aeroblks/euleranglestoquaternions.html 22