Chapter 1. Rigid Body Kinematics. 1.1 Introduction

Size: px
Start display at page:

Download "Chapter 1. Rigid Body Kinematics. 1.1 Introduction"

Transcription

1 Chapter 1 Rigid Body Kinematics 1.1 Introduction This chapter builds up the basic language and tools to describe the motion of a rigid body this is called rigid body kinematics. This material will be the foundation for describing general mechanisms consisting of interconnected rigid bodies in various topologies that are the focus of this book. Only the geometric property of the body and its evolution in time will be studied; the response of the body to externally applied forces is covered in Chapter?? under the topic of rigid body dynamics. Rigid body kinematics is not only useful in the analysis of robotic mechanisms, but also has many other applications, such as in the analysis of planetary motion, ground, air, and water vehicles, limbs and bodies of humans and animals, and computer graphics and virtual reality. Indeed, in 1765, motivated by the precession of the equinoxes, Leonhard Euler decomposed a rigid body motion to a translation and rotation, parameterized rotation by three principal-axis rotation (Euler angles), and proved the famous Euler s rotation theorem?. A body is rigid if the distance between any two points fixed with respect to the body remains constant. If the body is free to move and rotate in space, it has 6 degree-of-freedom (DOF), 3 translational and 3 rotational, if we consider both translation and rotation. If the body is constrained in a plane, then it is 3-DOF, 2 translational and 1 rotational. We will adopt a coordinate-free approach as in?,? and use geometric, rather than purely algebraic, arguments as much as possible. Coordinate representation is introduced to enable computational manipulation. We will first present some relevant mathematical background of rudimentary linear algebra, including vector space and linear transforms, in Section 1.2. The configuration of a rigid body may be characterized by the position and orientation of a frame attached to the body. Various parameterizations of orientation, the rotation, or SO(3), group, is discussed in Section 1.3. The evolution on SO(3) and the relationship to angular velocity is discussed in Section 1.4. The full consideration of both position and orientation, the Euclidean, or SE(3), group, and its evoluation in time is given in Section 1.5. In Section 1.6, various distance metrics on SO(3) and SE(3) are introduced. 1

2 1.2 Linear Algebra Linear Vector Space A linear vector space, V, is a set that is closed under vector addition, +, and scalar multiplication. Elements of the set are called vectors and are denoted by an overhead arrow, e.g., v. The scalar field may be either real or complex. We will mostly just consider the real field. Vectors in a vector space may be endowed with the concept of magnitude, or norm, denoted by v. Such a vector space is called a normed linear space. A unit vector is defined as a vector of unit magnitude, i.e., v = 1. A vector space may be further equipped with an inner product < v, w >, which leads to the concept of projection and orthogonality. Such a vector space is called an inner product space. Vectors v and w are orthogonal if < v, w >= 0. The projection of v onto a unit vector e is defined as < v, e > e. A basis of a linear vector space is a collection of vectors { v 1,..., v n } such that every vector V may be represented as a unique linear combination of these vectors. The number of basis vectors, n, is called the dimension of V. Figure 1.1: Vector addition, orthogonality, and projection Example: The linear vector space that will be considered most frequently in this book is the 3- dimensional Euclidean space, E 3, with inner product denoted by v w = v w cos θ, where θ is the angle between v and w and v is the Euclidean norm of v. For E 3, there is also an additional operation called the cross product, v w, which produces a vector orthogonal to both v and w according to the right-hand rule, (i.e., pointing the fingers, except the thumb, along v then curl the fingers toward w, then the thumb points in the direction of v w), with magnitude v w = v w sin θ, where θ is the angle between v and w Linear Transformation A linear transforms maps one vector space to another and satisfies the rule of superposition. Let L : V 1 V 2, then L is a linear transform if Examples: L(α 1 v 1 + α 2 v 2 ) = α 1 L( v 1 ) + α 2 L( v 2 ), for all α 1, α 2 R, v 1, v 2 V. Dot product: L : E 3 R defined by L v = w v, where w is a given vector in E 3. Cross product: L : E 3 E 3 defined as L v = w v, where w is a given vector in E 3. 2

3 If V 1 and V 2 are inner product spaces, we can define the adjoint of a linear transformation, which in the matrix case is just the transpose matrix. Given L : V 1 V 2, L V 2 V 1 is the adjoint of L if it satisfies for all v 1 V 1 and v 2 V 2. < v 2, L v 1 > V2 =< L v 2, v 1 > V Orthonormal Frame The orientation of a rigid body in E 3 is completely characterized by an orthonormal frame attached to the body. A right-handed orthonormal frame is define as follows: Definition 1 ( e 1, e 2, e 3 ) is an orthonormal frame if 1. e i = 1, i = 1, 2, 3 (normality) 2. e i e j = 0 if i j, i, j = 1, 2, 3 (orthogonality) 3. e 1 e 2 = e 3 (right-hand rule). Figure 1.2: An orthonormal frame By writing E = e 1 e 2 e 3 we can regard E : R 3 E 3 as a linear transformation. The adjoint of E, E : E 3 R 3, may be readily computed: e 1 E = e 2. e 3 Note that E E = I 3, the 3 3 identity matrix. Similarly EE = I, the identity operator between E 3. The orthonormal vectors ( e 1, e 2, e 3 ) is also called an orthonormal basis of E 3 since every vector in E 3 may be represented as a unique linear combination of ( e 1, e 2, e 3 ). 3

4 1.2.4 Coordinate Representation of Vectors and Linear Transforms Since E provides an orthonormal basis for E 3, every v E 3 may be uniquely represented by a vector in R 3 : v = Ev E, (1.1) where the vector v E R 3 is called the representation of v in E. The frame E is now considered as a coordinate frame (with coordinate axes given by ( e 1, e 2, e 3 )). The elements of v E, the ordered set (v 1, v 2, v 3 ), is the coordinate of v in the coordinate frame E. To obtain the coordinate of v, we can simply project v onto the coordinate axes: v E = E v. (1.2) This follows directly from the orthonormality of E. Consider a linear transform L : V 1 V 2 where V 1 and V 2 are inner product spaces. Given orthonormal frames E 1 and E 2 for V 1 and V 2 respectively, the coordinate representation of L v is E 2 L v = E 2 LE 1 v 1. It is natural to define the coordinate representation of L by L = E 2 LE 1. (1.3) Because of the orthonormality of E 1 and E 2, we have the reverse identity Example: L = E 2 LE 1. (1.4) Let e i be the ith basis vector in the orthonormal frame E, then ( e i ) E is the ith unit vector in R 3. Consider an orthonormal frame E : R 3 E 3 as a linear transform, then E E = I 3. Consider the dot product as a linear transformation, L : E 3 R, L v = w v. Let E be an orthonormal frame for E 3. Then w v = w Ev = w e 1 w e 2 w e 3 v = w T v where w is the representation of w in E. Therefore, the coordinate representation of L is w T. Consider the cross product as a linear transformation, L : E 3 E 3, L v = w v. Let E be an orthonormal frame for E 3. Then w v = w Ev = w e 1 w e 2 w e 3 v. The coordinate representation of the cross product, denoted by ŵ, is therefore the 3 3 skew symmetric matrix below: ŵ = E 0 w 3 w 2 w e 1 w e 2 w e 3 = w 3 0 w 1. (1.5) w 2 w 1 0 4

5 All 3 3 matrices of the form above form a group called so(3). We denote the inverse operation of cross product as : so(3) R 3, i.e., given A so(3), A = 0 a 3 a 2 a 3 0 a 1 a 2 a 1 0 A is defined as A = a 1 a 2 a 3. Clearly, for any w R 3, (ŵ) = w. A list of useful identities involving the cross product are given below: v v = 0, ˆvv = 0 (1.6a) ˆv = ˆv T ( v is skew-symmetric) (1.6b) v w = w v, ˆvw = ŵv (1.6c) v ( w ) = w v ( v w)i, ˆvŵ = wv T (v T w)i 3 (1.6d) ( v w) = w v v w, ˆvw = wv T vw T (1.6e) v ( v ( v )) = v 2 v, v 3 = v v v = v 2 v (1.6f) If v = 1, ( v ) 4k = ( v ) 2 = v ( v ), ( v ) 4k 1 = ( v ), ( v ) 4k 2 = ( v ) 2, ( v ) 4k 3 = ( v ), v 4k = v 2, v 4k 1 = v, v 4k 2 = v 2, v 4k 3 = v, k = 1, 2,.... (1.6g) Coordinate Transformation Given a vector v V. Let E a and E b be two orthonormal frames of V. Then v may be represented in either coordinate: v = E a v a = E b v b. (1.7) The two representations v a and v b are related by The linear transformation v a = E ae b v b. (1.8) R ab := E ae b (1.9) is a 3 3 matrix that converts the representation in E b to E a. It is easy to verify that R ab is orthogonal, i.e., Rab 1 = RT ab, and Rab 1 = R ba. Given a linear transform L : V V, it can be similarly represented in either E a or E b : L = E a L a E a = E b L b E b. 5

6 The relationship between L a and L b is then where we have use the identity R 1 ab = RT ab = R ba. Example: L a = R ab L b R ba, (1.10) Dot product: The dot product is invariant under coordinate transformation: w v = w T a v a = w T b v b. Cross product: The tranformation of the cross product is given by (1.10): v a = 1.3 Rotation Group SO(3) R ab v b = R ab v b R ba Interpretation of Coordinate Transformation between Orthonormal Frames The coordinate transformation matrix R ab SO(3) has various interpretations: R ab changes the representation of a vector from E b to E a : v a = R ab v b. R ab changes the representation of a linear transform from E b to E a : L a = R ab L b R ba. R ab consists of the cosines of angles between axes in E a and E b (it is therefore also called the direction cosine matrix): e a1 e b1 e a1 e b2 e a1 e b3 R ab = EaE b = e a2 e b1 e a2 e b2 e a2 e b3. e a3 e b1 e a3 e b2 e a3 e b3 The (i, j)th entry of R ab is cos θ ij where θ ij is the angle between e ai and e bj. R ab is the representation of E b in E a, i.e., R ab = (E b ) a. R ab rotates E a to E b, represented in either E a or E b. To be specific, let R be the rotation operator transforming E a to E b, i.e., E b = RE a. (1.11) Then the representation of R in E a is and the representation of R in E b is (R) a = E a(e b E a)e a = R ab. (R) b = E b (E b E a)e b = R ab. 6

7 In the last interpretation of R ab, as a rotation of frames, we introduce the concept of a rotation operator. To be precise, an operator R : E 3 E 3 is a rotation if for any orthonormal frame E, RE is also an orthonormal frame. An immediate consequence of the definition is that R is orthogonal, i.e., RR = R R = I. The coordinate transformation matrix R ab is orthogonal (i.e., R T abr ab = I) and detr ab = 1 (due to the right-handed coordinate system). Furthermore, products of such matrices retain the same properties. These matrices form a group called the special orthogonal group with the group action given by the matrix multiplication. Since we are dealing with the Euclidean space, the dimension is three. This group is therefore denoted by SO(3). Due to the rotation interpretation, SO(3) is also called the rotation group. In the robotic literature, e.g.,?,?,?, the perspective is inertial-centric, i.e., all coordinate frames eventually refer to the inertial frame. Therefore, orientation of a rigid body is usually denoted by R ob, the representation of the body frame in the inertial frame. For example, a common representation of the end effector tool frame is n, o, a (normal-open-approach, see Fig. 1.3). However, for the spacecraft dynamics literature, e.g.,?,?, the perspective is typically body-centric. In that case, the orientation, also called the attitude, of the spacecraft is usually denoted by R bo, the representation of the inertial frame in the body frame. This results in slightly different forms of the kinematic equations, as we shall see later. Figure 1.3: Orthonormal frame based on the normal-open-approach (noa) convention for paralleljaw gripper Example: Let E b be E a rotated about e a3 over an angle θ (see Fig. 1.4). Then Since R ab = (E b ) a, we have Similarly, for rotation about e a1, e b1 = cos θ e a1 + sin θ e a2, e b2 = sin θ e a1 + cos θ e a2. R ab = R ab = cos θ sin θ 0 sin θ cos θ c s 0 s c. where c denotes cos θ and s denotes sin θ. For rotation about e a2, R ab = c 0 s s 0 c. 7

8 1.3.2 Representation of Rotation Operator: Euler-Rodrigues Formula We now consider a special type of operator, one that rotates a frame about a given unit vector k over an angle θ. By construction, such an operator is clearly a rotation since the operator applied to any orthonormal frame would also result in an orthonormal frame. We first find an algebraic representation of this operator. Let R be a rotation about a unit vector k over an angle θ. Consider an arbitrary vector v in E 3. As shown in Fig. 1.5(a), R v may be decomposed as the sum of the projection of v on k and an orthogonal component, (R v) : R v = ( k v) k + (R v). (1.12) The top view of the cone in Fig. 1.5(a) is a circle formed by the tip of v rotating about k, as in Fig. 1.5(b). Then (R v) may be decomposed as Substituting back into (1.12), we get (R v) = sin θ k v cos θ k ( k v). (1.13) R v = ( k k + sin θ k cos θ k ( k )) v. Since v is arbitrary, we obtain the Euler-Rodrigues Formula in the operator form: R = ( k k + sin θ k cos θ k ( k )) = I + sin θ k +(1 cos θ) k ( k ) (1.14) where the last equality follows from (1.6d). This equation may also be represented in an orthonormal frame as: R = I + sin θˆk + (1 cos θ)ˆk 2, (1.15) where k is the coordinate representation of k. Due to the body-centric perspective mentioned earlier, in the spacecraft literature, this expression is more commonly written as R T = I sin θˆk + (1 cos θ)ˆk 2, where R T is considered to be the spacecraft attitude Euler s Rotation Theorem It is easy to verify that R given by the Euler-Rodrigues formula (1.15) indeed belongs to SO(3). We now consider the converse: given R SO(3), does there exist a corresponding k and θ? If so, Figure 1.4: R ab as (E b ) a in rotation about e 3. 8

9 are they unique? In other words, is (1.15) a complete parameterization of SO(3)? To answer these questions, we will show that k and θ may be solved directly from (1.15) for any R SO(3). From (1.15), it is straightforward to show that cos θ = 1 (trr 1). (1.16) 2 By manipulating the (i, i)th element of R, we can find an expression for the ith element of k: k i = ±( 2R i,i trr + 1 ) 1 2. (1.17) 3 trr Note that there are two possible solutions of the axis of rotation, corresponding to the two possible directions of rotation to achieve the same end result. The above approach breaks down only when trr = 3, i.e., R = I. In this case, k is an arbitrary unit vector and θ = 0. Once k is found, we can find sin θ from the difference between R and R T : The rotational angle may then be found from sin θ = 1 2 kt (R R T ). (1.18) θ = atan2( 1 2 kt (R R T ), 1 (trr 1)). (1.19) 2 There are two solutions, corresponding to the two solutions of k. Note that to determine the quadrant of θ, the atan2 function is used (requiring both sine and cosine). Since every R SO(3) can be represented by (k, θ) (and ( k, θ)), and every (k, θ) generates a rotation matrix through the Euler-Rodrigues formula (1.15), (k, θ) completely parameterizes SO(3). This is commonly referred to as the equivalent-axis/angle representation of the rotation group. This representation has also been called the Euler s Theorem on Rotation which states that every rigid body rotation can be represented as a single rotation about an equivalent axis. Note that k is also the eigenvector of R corresponding to the eigenvalue 1. This makes intuitive sense since rotation of k about itself is just k. As we shall see in the next section, the non-zero eigenvalues of R are of the form e ±jθ. This provides an alternate, but more computationally expensive, method of computing (k, θ) from R. In the case that R = I, all three eigenvalues are 1. Therefore, k is arbitrary and θ = 0. (a) Rotation of v about k over angle θ (b) Top view Figure 1.5: Derivation of Euler-Rodrigues formula in representing a rotation operator R 9

10 1.3.4 Matrix Exponential Formula In this section, we show that rotation about a unit vector can also be represented as an exponential operator by using the Cayley-Hamilton Theorem?,?. This is a convenient parameterization that we will use throughout the book. Consider the 3 3 matrix given by the matrix exponential exp(ˆkθ). From the Cayley-Hamilton Theorem (a square matrix satisfies its own characteristic equation) and the infinite series expansion of the exponential function, we have the following matrix polynomial expression for exp(ˆkθ): exp(ˆkθ) = a 0 I 3 + a 1ˆk + a2ˆk2. (1.20) The eigenvalues of ˆk are {0, ±j}. Evaluating (1.20) along the eigenvectors, we have 1 = a 0 e jθ = a 0 + a 1 j a 2 (1.21) e jθ = a 0 a 1 j a 2. These equations can be used to solve for (a 0, a 1, a 2 ): a 0 = 1, a 1 = sin θ, a 2 = (1 cos θ). (1.22) Substituting back to (1.20), we have exactly the Euler-Rodrigues Formula (1.15). This means that every R SO(3) may be written as a matrix exponential exp(ˆkθ) where k and θ are solved from (1.17) and (1.19). The rotation operator, R, may also be represented as a coordinate-free exponential operator R = exp(θ k ), (1.23) where the exponential operator is interpreted in the infinite series sense and is equivalent to (1.14). Of course, when R is represented in a coordinate frame, we recover the matrix exponential: where k is k represented in E. E RE = exp( kθ) (1.24) Representations of rotation group Rotation group consists of 3 3 matrix subject to 6 orthonormality constraints. From Euler s Theorem, we can also represent it in terms (k, θ) (subject to the directions of the rotation axis and rotation), which contains 4 parameters and 1 constraint (k is a unit vector). This is sometimes called the equivalent-axis/angle representation. It is natural to ask if there are other possible representations SO(3). In this section, we will examine several common representations, including Euler parameters (also known as quaternion, consisting of sine and cosine of the half angle), Euler- Rodrigues parameters (also known as Gibb s vector, consisting of the tangent of the half angle), and all possible types of Euler angles (consisting of angles of three principal-axis rotations). 10

11 Euler parameters (Quaternions) Euler parameters consist of a scalar part, q 0, and a vector part q v R 3. They may be defined through equivalent axis and angle: q 0 = cos ( ) ( ) θ θ, q v = sin k. (1.25) 2 2 From this definition, it follows that q q v 2 = 1. (1.26) Therefore, (q 0, q v ) is a four-parameter representation of SO(3) with one constraint. The Euler parameters represented as a 4 1 vector, q = q0 q v, is also called unit quaternion. The constraint then becomes the unit norm constraint: q = 1. Given (q 0, q v ), the corresponding rotation matrix R can be found from the Euler-Rodrigues Formula: Conversely, given R SO(3), we can find q 0 R(q) = I 3 + 2q 0ˆq v + 2ˆq 2 v. (1.27) If q 0 0, then q v may be found similar to equivalent axis: If q 0 = 0, then q 0 = ± 1 2 trr + 1. (1.28) q v = ( ) R R T. (1.29) R + I 2 4q 0 = q v q T v, (1.30) which can be used to find q v (e.g., by factorizing (R + I)/2 or finding the eigenvector of (R + I)/2 that corresponds to the eigenvalue 1). Vector quaternion q v itself may be used to represent SO(3). This is a three-parameter representation with no constraint. In this case, R, for a given q v R 3, is given by (1.27) with q 0 replaced by (1 q v 2 ) 1 2 : Given R SO(3), q v may be found as R(q v ) = I 3 + 2(1 q v 2 ) 1 2 ˆqv + 2ˆq 2 v. (1.31) q v = ( R R T 2 trr + 1 If trr = 1, then the alternative formula (1.30) should be used. 11 ). (1.32)

12 Euler-Rodrigues Parameters (Gibb s Vector) Another three-parameter representation is the Euler-Rodrigues parameters which may be defined using equivalent axis and angle or unit quaternion: g = tan The origin of Euler-Rodrigues parameters is from the identity ( ) θ k = q v. (1.33) 2 q 0 (exp(ˆkθ) I) = ĝ(exp(ˆkθ) + I). (1.34) It is a straightforward exercise to show that R is related to g by and g may be obtained from R using Note that when trr 1, g. ĝ R = I g ĝĝ 1 + g 2, (1.35) g = ± (R RT ) trr + 1. (1.36) Euler Angles By far the most common three parameter representation is Euler angles. An arbitrary rotation may be decomposed as the concatenation of three principal axis (coordinate axis) rotations. The three rotation angles, called (classic) Euler angles, together with the specified axes, then completely parameterize any rotation matrix. As an example, take the common yaw-pitch-roll (also called 321 or zyx) Euler Angles representation of a frame E 3 represented in the refererence frame E 0. The frame E 3 may be obtained from E 0 through three principal-axis rotations. First generate E 1 by rotating E 0 about its z-axis over the roll angle, φ. The corresponding orientation matrix is R 01 = E 0 E 1 = exp(ẑφ), z = 0, 0, 1 T. Then generate E 2 by rotating E 1 about its y-axis over the pitch angle, θ. The corresponding rotation matrix is R 12 = E 1 E 2 = exp(ŷθ), y = 0, 1, 0 T. Finally, obtain E 3 by rotating E 2 about its x-axis over the yaw angle, ψ. The corresponding rotation matrix is R 23 = E 2 E 3 = exp( xψ), x = 1, 0, 0. The overall rotation is then In the coordinate-free form, we have R 03 = R 01 R 12 R 23 = exp(ẑφ)exp(ŷθ)exp( xψ). (1.37) R 03 = E 3 E 0 = E 3 E 2 E 2 E 1 E 1 E 0 = exp(ψ x )exp(θ y )exp(ψ z ). (1.38) which transforms E 0 to E 3. In general, for any R SO(3) and three unit vectors in R 3, (a 1, a 2, a 3 ), a 2 not collinear with either a 1 or a 3, R may be written as R = R 01 R 12 R 13 (1.39) 12

13 where R i 1,i = exp(â i β i ) (1.40) corresponds to the rotation of E i 1 about a i over an angle β i. The triplet (β 1, β 2, β 3 ) is called the Euler-Angle representation of R with the corresponding rotation axes (a 1, a 2, a 3 ). If a i is a coordinate axis, i.e., x, y, or z, then (β 1, β 2, β 3 ) are called the classic Euler angles. There are 12 possible classic Euler angles, (x, y, x), (x, y, z), (x, z, x), (x, z, y), (y, x, y), (y, x, z), (y, z, x), (y, z, y), (z, x, y), (z, x, z), (z, y, x), (z, y, z), where (z, y, x) is the yaw-pitch-roll representation, and (z, x, z) is a natural representation for a gyroscope. A variation of classic Euler angles may have a i pointing in the negative direction of a coordinate axis, and the coordinate axes may be redefined (e.g., x becomes y, etc.), for example, the tool frame representation of the original Unimate controller (for PUMA robots) is a variant of the 313 Euler angles: R 03 = exp(ẑβ 1 ) exp(ŷβ 2 )exp(ẑβ 3 ), which means that (x, y, z) axes in E 1 becomes (y, z, x) before the next rotation (about the x axis, or z axis of E 1 ). Euler angles for a given R SO(3) may be found by simple algebra. For example, the rollpitch-yaw Euler angles are related to the orientation by multiplying the three rotation matrices in (1.37): R = exp(ẑφ)exp(ŷθ)exp( xψ). = c 1 c 2 s 1 c 3 + c 1 s 2 s 3 s 1 s 3 + c 1 s 2 c 3 s 1 c 2 c 1 c 3 + s 1 s 2 s 3 c 1 s 3 + s 1 s 2 c 3 s 2 c 2 s 3 c 2 c 3 where the short hand notation c i denotes cos β i and s i denotes sin β i, i = 1, 2, 3. Given R, the Euler angles may be readily computed: β 2 = sin 1 R (3,1) or sin 1 R (3,1) + π β 1 = tan 1 (R (1,2), R (1,1) ) or tan 1 (R (1,2), R (1,1) ) + π β 3 = tan 1 (R (3,2), R (3,3) ) or tan 1 (R (3,2), R (3,3) ) + π where R (i,j) denotes the (i, j)th element of R and sin 1 R (3,1) is restricted to π/2, π/2. Note that in general there are two solutions for each R, except for β 2 = ± π where the two solutions 2 merge. We shall see that this corresponds to the singularity of the representation (see Section 1.4 below). 1.4 Differential Kinematics on SO(3) We have so far described a rigid body fixed in space; now let us consider the motion of this rigid body. First consider the rotation of a vector v about a unit vector k over a small angle θ: exp(θ k ) v = (I + sin θ k +(1 cos θ) k ( k )) v v + θ k v. (1.41) The difference between the rotated v and v is therefore orthogonal to v. 13

14 Now consider E = e 1 e 2 e 3 to be an orthonormal frame attached to a rigid body. Suppose that over a time interval δt, E rotates to E = e 1 e 2 e 3. If δt is small, the angle of rotation would also be small. Then, as argued above, e i e i would be approximately orthogonal to e i. Therefore, E is approximately given by e 1 = e 1 + δt(a 12 e 2 + a 13 e 3 ) e 2 = e 2 + δt(a 21 e 1 + a 23 e 3 ) (1.42) e 3 = e 3 + δt(a 31 e 1 + a 32 e 2 ) for some constants a ij. To ensure E SO(3), up to order δt, we need to have Define We can then write (1.43) as a 21 = a 12, a 32 = a 23, a 13 = a 31. E E = δte ω = a 23 a 31 a ω 3 ω 2 ω 3 0 ω 1 ω 2 ω 1 0 = δte ω. (1.43) As δt 0, (E E)/δt becomes de, and we obtain the differential kinematics equation for a rigid body as de = E ω = ω E, (1.44) where ω is the angular velocity vector that characterizes the instantaneous evolution of E, and ω is the representation of ω in E. The collection of all 3 3 matrices of the form ω is called so(3), which may be considered as the tangent of SO(3). Using (1.44), we now derive the evolution of the rotation matrix R ab = E a E b. Denote by ω i the angular velocity of E i, i = a, b. We then have dr ab = ( ω a E a ) E b + E a( ω b E b ) = ( ω a ) a R ab + ( ω b ) a R ab = ( ω b ω a ) a R ab. Define the relative angular velocity between E a and E b by ω b/a := ω b ω a. (1.45) Denoting ( ω b/a ) a by (ω b/a ) a, the differential kinematics equation for the rotation matrix can be written as: dr ab = (ω b/a ) a R ab, (1.46) 14

15 which may be also written in an equivalent form as dr ab = R ab (ω b/a ) b. Given R SO(3), we may write its derivative as Ṙ = ˆωR. (1.47) In this case, R may be considered as the orientation of a rigid body with respect to the inertial frame and ω is the angular velocity of the body with respect to the inertial frame, respresented in the inertial frame. As mentioned earlier, the spacecraft literature is body-centric and usually uses R ba for orientation. In that case, the differential kinematics is usually written as dr ba = (ω b/a ) b R ba = R ba (ω b/a ) a, where we have used the fact that ω b/a = ω a/b. Consider the exponential representation of R ab = exp(ˆkθ). Suppose k is fixed and only θ varies with time, then dr ab can be computed directly from the Euler-Rodrigues formula: dr ab = ˆk θr ab. (1.48) In this case, the angular velocity (ω b/a ) a = k θ. We next consider the differentiation of a vector. Let v be a vector with representations v a and v b in E a and E b, respectively. By direct differentiation of (1.8), we have dv a = d(r abv b ) = Ṙabv b + R ab v b = (ω b/a ) a v a + R ab v b. (1.49) If v is a fixed vector in E b, then v b = 0 and v a = (ω b/a ) a v a. Now consider the differentiation of a linear transform. Let L : SO(3) SO(3) be a linear transform with representations L a and L b in E a and E b, respectively. Differentiate (1.10), we obtain dl a = d(r abl b R ba ) = (ω b/a ) a R ab L b R ba R ab L b R ba (ω b/a ) a + R ab Lb R ba = (ω b/a ) a L a L a (ω b/a ) a + R ab Lb R ba. (1.50) We shall introduce the inertia of a rigid body, J, as a linear transform in Section??. Let E b be a fixed orthonormal frame attached to the body. Assuming the mass property remains constant, then J b = 0, and J a = (ω b/a ) a J a J a (ω b/a ) a. 15

16 1.4.1 Differential Kinematics for Different Representations of SO(3) Let p be a R l representation of R SO(3). The time derivative of p is of the following general form: dp = J p(p)ω, (1.51) where J p R l 3 is called the representation Jacobian. If J p (p) loses rank, p cannot be solved instantaneously. This is called a singularity of the representation. Such singularities are mathematical in nature as a deficiency in the local representation of SO(3) with p. It is not a physical singularity in the sense that the rigid body cannot move in certain direction. To calculate the Jacobian, we can just differentiate the kinematics equations in Section and use (1.47): ω = (R T Ṙ). (1.52) For equivalent axis and angle representation, the differential kinematics is given by (you are asked to verified this as a homework): θ k = k T 1 2 ( k + cot θ 2 k 2 ) The Jacobian is full rank except at θ = 0 when it becomes unbounded. For the unit quaternion, the differential kinematics is q0 q v = 1 2 q T v q 0 I ˆq v ω. (1.53) ω. (1.54) Note that J T J = 1 4 (1 + q2 0)I in this case, which means that it is never singular! For this reason, unit quaternion is a popular representation. For the vector quaternion, the differential kinematics is q v = 1 2 The Jacobian is singular if and only if q v = 1. For Gibb s vector, we have ( 1 q v 2 q v ) ω. (1.55) β = 1 2 (I β + ββ T )ω. (1.56) The Jacobian is full rank except when β = (which is equivalent to q v = 1). For the yaw-pitch-roll (321) Euler Angle, we can apply (1.52) to obtain ω = s 1 θ2 + c 1 c 2 θ3 c 1 θ2 + s 1 c 2 θ3 θ 1 s 2 θ3 = which has singularities at cos β 2 = 0, as indicated before s 1 c 1 c 2 0 c 1 s 1 c s 2 θ. (1.57)

17 1.5 Euclidean Group SE(3) The rigid body orientation is represented by an orthonormal frame, E, attached to the body. For the position of the body, we need to additionally designate the origin of the frame, O. Together (O, E) represent the position and orientation of the body, and we call it an Euclidean frame. Mathematically, O is a point and may be considered as a vector from some reference point. As such, if O a and O b are two points, then p ab = O b O a is defined as vector from O b to O a. Given two rigid bodies with corresponding Euclidean frames (O a, E a ) and (O b, E b ). The relative position and orientation is p ab and E b Ea, which may be represented in E a as (p ab, R ab ) where p ab = ( p ab ) a and R ab = EaE b. A common representation of (p, R), p R 3, R SO(3), is a 4 4 homogeneous transformation R p H =. (1.58) 0 1 Such matrices form a non-commutative group called the special Euclidean group of order 3, SE(3), with the group operation given by the matrix multiplication. The inverse of H is given by R H 1 T p =. 0 1 Consider a vector r b attached to O b. Seen from O a, the vector becomes Representing in E a we have This may be written as where r a = r b + p ab. r a = R ab r b + p ab. ra 1 H ab := = H ab rb 1 Rab p ab 0 1, (1.59). (1.60) Therefore H ab SE(3) plays a similar role as R ab in SO(3): transforming a vector in body b and represented in E b to a vector in body a and represented in E a. The following property of H ab is straightforward to verify: H ab H bc = H ac, H 1 ab = H ba, H aa = I Matrix Exponetial Formula For R SO(3), we can represent it as a matrix exponential R = exp( kθ) where k is the equivalent axis and θ the equivalent angle. Does H SE(3) have a similar matrix exponential representation and interpretation? Let k ξ =, k R 3, k = 1, v R 3. v 17

18 Define ξ = k v 0 0. (1.61) All 4 4 matrices of the form above form a group, called se(3), which as we shall see later may be considered as the tangent of SE(3). As in the SO(3) case, we can apply the Cayley-Hamilton Theorem to evaluate exp( ξθ): exp( ξθ) exp( kθ) (I exp( kθ)) kv + θkk = T v. (1.62) 0 1 Equating this expression with (1.58), we see that (k, θ) are just the equivalent axis and angle of R, i.e., R = exp( kθ) and the vector v is related to p through ((I R) k + θkk T )v = p. (1.63) It can be shown that the matrix ((I R) k + θkk T ) is invertible if and only if θ = 0. Therefore, if θ 0, v is determined uniquely from p. When θ = 0, R = I and k is arbitrary. We choose k = p p and v to be collinear with k. Then as θ 0, ((I R) k + θkk T )v θv = p. The matrix exponential formula for rotation (1.24) may be interpreted as a rotation about a unit axis k over an angle θ. The matrix exponential expression for Euclidean motion (1.62) also has a intuitive geometric interpretation. Consider the interpretation of (p, R) SE(3) as a transformation of a vector r b to r a as in (1.59). Apply (1.63), then r a = R ab r b + p ab = R ab r b + ((I R ab ) k + θkk T )v = ˆv + R ab (r b kv) + (k T v)θk. This may be visualized as a screw motion of the vector r b kv rotating and translating about k as shown in Figure xxx. The unit vector k is the screw axis, θ is the screw magnitude, and k T vθ is the pitch Differential Kinematics on SE(3) Similar to the differential kinematics on SO(3), (1.46), we can propagate in SE(3) by differentiating H ab in (1.60): Ṙab ṗ Ḣ ab = ab 0 0 ( (ω = a/b ) )a R ab ṗ ab 0 0 ( (ω = a/b ) )a ṗ ab ((ω a/b ) )a p ab Rab p ab. (1.64) Define ṗab ((ω (V a/b ) a = a/b ) )a p ab ((ω a/b ) )a 18. (1.65)

19 We then have the generalization of (1.46) to SE(3): Ḣ ab = (V a/b ) a H ab. (1.66) Note that the linear velocity portion (V a/b ) a is R ab d (R bap ab ), or the derivative of p ab in the B frame represented in the A frame. We can also write Ḣ ab = H ab (V a/b ) b (1.67) with (V a/b ) b = Rba ṗ ab (ω a/b ) b. (1.68) The linear velocity portion (V a/b ) b is now the derivative of p ab in the A frame represented in the B frame. The 6 1 vectors (V a/b ) a and (V a/b ) b are called spatial velocities (in A and B frames, respectively), which are transformed according to: Rab ˆp (V a/b ) a = ab R ab (V 0 R a/b ) b. (1.69) ab The transformation matrix above is called the adjoint transformation and denoted by Ad Hab. Note that Ad 1 H ab = Ad H 1 = Ad Hba. ab In summary, H ab trasnforms rigid body configuration from frame A to frame B while Ad Hab transforms the spatial velocity from frame A to frame B. As another perspective, let A and B be two Euclidean frames attached to the same rigid body. From (1.49), ω b = ω a, v b = ω a p ab + v a. (1.70) Representing ( ω b, v b ) in E b and ( ω a, v a ) in E a, we have ωb v b = R ba 0 R baˆp ab R ba ωa v a. (1.71) We denote the transformation matrix by Φ ba which is the same as Ad T H ab. We can differentiate (1.71) once more to obtain the acceleration propagation: ωb R = ba 0 ωa 0 + v b R baˆp ab R ba v a R. (1.72) ba ˆω a p ab ω a In the absence of externally applied force and torque, the power is conserved within the rigid body; therefore, T T ωa τa ωb τb =. (1.73) Using (1.71), we obtain the dual relationship: v a τa f a f a = Φ T ba v b τb f b f b. (1.74) 19

20 1.6 Distance Metrics on SO(3) and SE(3) For planning and control, it is important to choose a distance metric on SO(3) and SE(3). First consider SO(3). Let R 1 and R 2 be two SO(3) matrices. We may consider R 1 R 2 as the orientation error, but R 1 R 2 is no longer in SO(3). We can choose ρ(r 1, R 2 ) = β(r 1 ) β(r 2 ) (1.75) where β is any representation of SO(3). Another possibility is to form the relative orientation R T 1 R 2 and use the metric ρ(r 1, R 2 ) = β(i) β(r1 T R 2 ). (1.76) Note that if β is a 3-parameter representation, β(i) = 0. common metrics on SO(3): The metric for the distance portion of SE(3) may be any norm on R 3 : Derivatives of metrics Kinematic control Some possibilities: Some norm on R R d or R T R d I. ρ p (p 1, p 2 ) = p 1 p 2. Some norm on p(r) p(r d ) or p(r T R d ) p(i), where p is any vector representation of SO(3). Let E = R T R d. 1. e R = 1 2 tr((e I)T (E I)) = 1 2 E I F (Frobenus norm) =... = 4 q v(e) 2. ė R = 2 sin φ φ = 2 sin φk T ω = q T v q 0 ω e R = 1 2 tr((e 1 2 I) T (E 1 2 I)) = 4(1 q0 (E)), ė R = 2 sin φ 2 kt ω = 2q T v ω. e R = 1 2 p(e) 2 p(e) is any 3-parameter representation of E. ė R = p(e) T J p ω, J p = representation Jacobian. 20

Position and orientation of rigid bodies

Position and orientation of rigid bodies Robotics 1 Position and orientation of rigid bodies Prof. Alessandro De Luca Robotics 1 1 Position and orientation right-handed orthogonal Reference Frames RF A A p AB B RF B rigid body position: A p AB

More information

Robotics & Automation. Lecture 03. Representation of SO(3) John T. Wen. September 3, 2008

Robotics & Automation. Lecture 03. Representation of SO(3) John T. Wen. September 3, 2008 Robotics & Automation Lecture 03 Representation of SO(3) John T. Wen September 3, 2008 Last Time Transformation of vectors: v a = R ab v b Transformation of linear transforms: L a = R ab L b R ba R SO(3)

More information

Ridig Body Motion Homogeneous Transformations

Ridig Body Motion Homogeneous Transformations Ridig Body Motion Homogeneous Transformations Claudio Melchiorri Dipartimento di Elettronica, Informatica e Sistemistica (DEIS) Università di Bologna email: claudio.melchiorri@unibo.it C. Melchiorri (DEIS)

More information

MCE/EEC 647/747: Robot Dynamics and Control. Lecture 2: Rigid Motions and Homogeneous Transformations

MCE/EEC 647/747: Robot Dynamics and Control. Lecture 2: Rigid Motions and Homogeneous Transformations MCE/EEC 647/747: Robot Dynamics and Control Lecture 2: Rigid Motions and Homogeneous Transformations Reading: SHV Chapter 2 Mechanical Engineering Hanz Richter, PhD MCE503 p.1/22 Representing Points, Vectors

More information

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

Rotational Kinematics. Description of attitude kinematics using reference frames, rotation matrices, Euler parameters, Euler angles, and quaternions Rotational Kinematics Description of attitude kinematics using reference frames, rotation matrices, Euler parameters, Euler angles, and quaternions Recall the fundamental dynamics equations ~ f = d dt

More information

Robotics, Geometry and Control - Rigid body motion and geometry

Robotics, Geometry and Control - Rigid body motion and geometry Robotics, Geometry and Control - Rigid body motion and geometry Ravi Banavar 1 1 Systems and Control Engineering IIT Bombay HYCON-EECI Graduate School - Spring 2008 The material for these slides is largely

More information

Position and orientation of rigid bodies

Position and orientation of rigid bodies Robotics 1 Position and orientation of rigid bodies Prof. Alessandro De Luca Robotics 1 1 Position and orientation right-handed orthogonal Reference Frames RF A A z A p AB B RF B z B x B y A rigid body

More information

Differential Kinematics

Differential Kinematics Differential Kinematics Relations between motion (velocity) in joint space and motion (linear/angular velocity) in task space (e.g., Cartesian space) Instantaneous velocity mappings can be obtained through

More information

Lecture Note 4: General Rigid Body Motion

Lecture Note 4: General Rigid Body Motion ECE5463: Introduction to Robotics Lecture Note 4: General Rigid Body Motion Prof. Wei Zhang Department of Electrical and Computer Engineering Ohio State University Columbus, Ohio, USA Spring 2018 Lecture

More information

Choice of Riemannian Metrics for Rigid Body Kinematics

Choice of Riemannian Metrics for Rigid Body Kinematics Choice of Riemannian Metrics for Rigid Body Kinematics Miloš Žefran1, Vijay Kumar 1 and Christopher Croke 2 1 General Robotics and Active Sensory Perception (GRASP) Laboratory 2 Department of Mathematics

More information

Robotics & Automation. Lecture 06. Serial Kinematic Chain, Forward Kinematics. John T. Wen. September 11, 2008

Robotics & Automation. Lecture 06. Serial Kinematic Chain, Forward Kinematics. John T. Wen. September 11, 2008 Robotics & Automation Lecture 06 Serial Kinematic Chain, Forward Kinematics John T. Wen September 11, 2008 So Far... We have covered rigid body rotational kinematics: representations of SO(3), change of

More information

Linear Algebra & Geometry why is linear algebra useful in computer vision?

Linear Algebra & Geometry why is linear algebra useful in computer vision? Linear Algebra & Geometry why is linear algebra useful in computer vision? References: -Any book on linear algebra! -[HZ] chapters 2, 4 Some of the slides in this lecture are courtesy to Prof. Octavia

More information

Lecture Notes - Modeling of Mechanical Systems

Lecture Notes - Modeling of Mechanical Systems Thomas Bak Lecture Notes - Modeling of Mechanical Systems February 19, 2002 Aalborg University Department of Control Engineering Fredrik Bajers Vej 7C DK-9220 Aalborg Denmark 2 Table of Contents Table

More information

Mobile Robotics 1. A Compact Course on Linear Algebra. Giorgio Grisetti

Mobile Robotics 1. A Compact Course on Linear Algebra. Giorgio Grisetti Mobile Robotics 1 A Compact Course on Linear Algebra Giorgio Grisetti SA-1 Vectors Arrays of numbers They represent a point in a n dimensional space 2 Vectors: Scalar Product Scalar-Vector Product Changes

More information

Kinematics. Chapter Multi-Body Systems

Kinematics. Chapter Multi-Body Systems Chapter 2 Kinematics This chapter first introduces multi-body systems in conceptual terms. It then describes the concept of a Euclidean frame in the material world, following the concept of a Euclidean

More information

Rigid Geometric Transformations

Rigid Geometric Transformations Rigid Geometric Transformations Carlo Tomasi This note is a quick refresher of the geometry of rigid transformations in three-dimensional space, expressed in Cartesian coordinates. 1 Cartesian Coordinates

More information

Linear Algebra & Geometry why is linear algebra useful in computer vision?

Linear Algebra & Geometry why is linear algebra useful in computer vision? Linear Algebra & Geometry why is linear algebra useful in computer vision? References: -Any book on linear algebra! -[HZ] chapters 2, 4 Some of the slides in this lecture are courtesy to Prof. Octavia

More information

Vectors in Three Dimensions and Transformations

Vectors in Three Dimensions and Transformations Vectors in Three Dimensions and Transformations University of Pennsylvania 1 Scalar and Vector Functions φ(q 1, q 2,...,q n ) is a scalar function of n variables φ(q 1, q 2,...,q n ) is independent of

More information

Appendix Composite Point Rotation Sequences

Appendix Composite Point Rotation Sequences Appendix Composite Point Rotation Sequences A. Euler Rotations In Chap. 6 we considered composite Euler rotations comprising individual rotations about the x, y and z axes such as R γ,x R β,y R α,z and

More information

(3.1) a 2nd-order vector differential equation, as the two 1st-order vector differential equations (3.3)

(3.1) a 2nd-order vector differential equation, as the two 1st-order vector differential equations (3.3) Chapter 3 Kinematics As noted in the Introduction, the study of dynamics can be decomposed into the study of kinematics and kinetics. For the translational motion of a particle of mass m, this decomposition

More information

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

Rotational motion of a rigid body spinning around a rotational axis ˆn; Physics 106a, Caltech 15 November, 2018 Lecture 14: Rotations The motion of solid bodies So far, we have been studying the motion of point particles, which are essentially just translational. Bodies with

More information

Rigid Geometric Transformations

Rigid Geometric Transformations Rigid Geometric Transformations Carlo Tomasi This note is a quick refresher of the geometry of rigid transformations in three-dimensional space, expressed in Cartesian coordinates. 1 Cartesian Coordinates

More information

EE731 Lecture Notes: Matrix Computations for Signal Processing

EE731 Lecture Notes: Matrix Computations for Signal Processing EE731 Lecture Notes: Matrix Computations for Signal Processing James P. Reilly c Department of Electrical and Computer Engineering McMaster University September 22, 2005 0 Preface This collection of ten

More information

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

In this section of notes, we look at the calculation of forces and torques for a manipulator in two settings: Introduction Up to this point we have considered only the kinematics of a manipulator. That is, only the specification of motion without regard to the forces and torques required to cause motion In this

More information

Inverse differential kinematics Statics and force transformations

Inverse differential kinematics Statics and force transformations Robotics 1 Inverse differential kinematics Statics and force transformations Prof Alessandro De Luca Robotics 1 1 Inversion of differential kinematics! find the joint velocity vector that realizes a desired

More information

. D CR Nomenclature D 1

. D CR Nomenclature D 1 . D CR Nomenclature D 1 Appendix D: CR NOMENCLATURE D 2 The notation used by different investigators working in CR formulations has not coalesced, since the topic is in flux. This Appendix identifies the

More information

Classical Mechanics III (8.09) Fall 2014 Assignment 3

Classical Mechanics III (8.09) Fall 2014 Assignment 3 Classical Mechanics III (8.09) Fall 2014 Assignment 3 Massachusetts Institute of Technology Physics Department Due September 29, 2014 September 22, 2014 6:00pm Announcements This week we continue our discussion

More information

DYNAMICS OF PARALLEL MANIPULATOR

DYNAMICS OF PARALLEL MANIPULATOR DYNAMICS OF PARALLEL MANIPULATOR PARALLEL MANIPULATORS 6-degree of Freedom Flight Simulator BACKGROUND Platform-type parallel mechanisms 6-DOF MANIPULATORS INTRODUCTION Under alternative robotic mechanical

More information

DS-GA 1002 Lecture notes 0 Fall Linear Algebra. These notes provide a review of basic concepts in linear algebra.

DS-GA 1002 Lecture notes 0 Fall Linear Algebra. These notes provide a review of basic concepts in linear algebra. DS-GA 1002 Lecture notes 0 Fall 2016 Linear Algebra These notes provide a review of basic concepts in linear algebra. 1 Vector spaces You are no doubt familiar with vectors in R 2 or R 3, i.e. [ ] 1.1

More information

Vectors Coordinate frames 2D implicit curves 2D parametric curves. Graphics 2008/2009, period 1. Lecture 2: vectors, curves, and surfaces

Vectors Coordinate frames 2D implicit curves 2D parametric curves. Graphics 2008/2009, period 1. Lecture 2: vectors, curves, and surfaces Graphics 2008/2009, period 1 Lecture 2 Vectors, curves, and surfaces Computer graphics example: Pixar (source: http://www.pixar.com) Computer graphics example: Pixar (source: http://www.pixar.com) Computer

More information

Minimal representations of orientation

Minimal representations of orientation Robotics 1 Minimal representations of orientation (Euler and roll-pitch-yaw angles) Homogeneous transformations Prof. lessandro De Luca Robotics 1 1 Minimal representations rotation matrices: 9 elements

More information

12. Rigid Body Dynamics I

12. Rigid Body Dynamics I University of Rhode Island DigitalCommons@URI Classical Dynamics Physics Course Materials 015 1. Rigid Body Dynamics I Gerhard Müller University of Rhode Island, gmuller@uri.edu Creative Commons License

More information

, respectively to the inverse and the inverse differential problem. Check the correctness of the obtained results. Exercise 2 y P 2 P 1.

, respectively to the inverse and the inverse differential problem. Check the correctness of the obtained results. Exercise 2 y P 2 P 1. Robotics I July 8 Exercise Define the orientation of a rigid body in the 3D space through three rotations by the angles α β and γ around three fixed axes in the sequence Y X and Z and determine the associated

More information

Review of Linear Algebra

Review of Linear Algebra Review of Linear Algebra Definitions An m n (read "m by n") matrix, is a rectangular array of entries, where m is the number of rows and n the number of columns. 2 Definitions (Con t) A is square if m=

More information

8 Velocity Kinematics

8 Velocity Kinematics 8 Velocity Kinematics Velocity analysis of a robot is divided into forward and inverse velocity kinematics. Having the time rate of joint variables and determination of the Cartesian velocity of end-effector

More information

Rigid-Body Attitude Control USING ROTATION MATRICES FOR CONTINUOUS, SINGULARITY-FREE CONTROL LAWS

Rigid-Body Attitude Control USING ROTATION MATRICES FOR CONTINUOUS, SINGULARITY-FREE CONTROL LAWS Rigid-Body Attitude Control USING ROTATION MATRICES FOR CONTINUOUS, SINGULARITY-FREE CONTROL LAWS 3 IEEE CONTROL SYSTEMS MAGAZINE» JUNE -33X//$. IEEE SHANNON MASH Rigid-body attitude control is motivated

More information

STEP Support Programme. STEP 2 Matrices Topic Notes

STEP Support Programme. STEP 2 Matrices Topic Notes STEP Support Programme STEP 2 Matrices Topic Notes Definitions............................................. 2 Manipulating Matrices...................................... 3 Transformations.........................................

More information

Math 350 Fall 2011 Notes about inner product spaces. In this notes we state and prove some important properties of inner product spaces.

Math 350 Fall 2011 Notes about inner product spaces. In this notes we state and prove some important properties of inner product spaces. Math 350 Fall 2011 Notes about inner product spaces In this notes we state and prove some important properties of inner product spaces. First, recall the dot product on R n : if x, y R n, say x = (x 1,...,

More information

On the Observability and Self-Calibration of Visual-Inertial Navigation Systems

On the Observability and Self-Calibration of Visual-Inertial Navigation Systems Center for Robotics and Embedded Systems University of Southern California Technical Report CRES-08-005 R B TIC EMBEDDED SYSTEMS LABORATORY On the Observability and Self-Calibration of Visual-Inertial

More information

Department of Physics, Korea University

Department of Physics, Korea University Name: Department: Notice +2 ( 1) points per correct (incorrect) answer. No penalty for an unanswered question. Fill the blank ( ) with (8) if the statement is correct (incorrect).!!!: corrections to an

More information

Chapter 2 Math Fundamentals

Chapter 2 Math Fundamentals Chapter 2 Math Fundamentals Part 5 2.8 Quaternions 1 Outline 2.8.1 Representations and Notation 2.7.2 Quaternion Multiplication 2.7.3 Other Quaternion Operations 2.7.4 Representing 3D Rotations 2.7.5 Attitude

More information

Introduction to Matrix Algebra

Introduction to Matrix Algebra Introduction to Matrix Algebra August 18, 2010 1 Vectors 1.1 Notations A p-dimensional vector is p numbers put together. Written as x 1 x =. x p. When p = 1, this represents a point in the line. When p

More information

PHYS 705: Classical Mechanics. Euler s Equations

PHYS 705: Classical Mechanics. Euler s Equations 1 PHYS 705: Classical Mechanics Euler s Equations 2 Euler s Equations (set up) We have seen how to describe the kinematic properties of a rigid body. Now, we would like to get equations of motion for it.

More information

Projective Bivector Parametrization of Isometries Part I: Rodrigues' Vector

Projective Bivector Parametrization of Isometries Part I: Rodrigues' Vector Part I: Rodrigues' Vector Department of Mathematics, UACEG International Summer School on Hyprcomplex Numbers, Lie Algebras and Their Applications, Varna, June 09-12, 2017 Eulerian Approach The Decomposition

More information

Institute of Geometry, Graz, University of Technology Mobile Robots. Lecture notes of the kinematic part of the lecture

Institute of Geometry, Graz, University of Technology   Mobile Robots. Lecture notes of the kinematic part of the lecture Institute of Geometry, Graz, University of Technology www.geometrie.tugraz.at Institute of Geometry Mobile Robots Lecture notes of the kinematic part of the lecture Anton Gfrerrer nd Edition 4 . Contents

More information

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

Quaternions. R. J. Renka 11/09/2015. Department of Computer Science & Engineering University of North Texas. R. J. Quaternions R. J. Renka Department of Computer Science & Engineering University of North Texas 11/09/2015 Definition A quaternion is an element of R 4 with three operations: addition, scalar multiplication,

More information

Math 302 Outcome Statements Winter 2013

Math 302 Outcome Statements Winter 2013 Math 302 Outcome Statements Winter 2013 1 Rectangular Space Coordinates; Vectors in the Three-Dimensional Space (a) Cartesian coordinates of a point (b) sphere (c) symmetry about a point, a line, and a

More information

Linear Algebra: Matrix Eigenvalue Problems

Linear Algebra: Matrix Eigenvalue Problems CHAPTER8 Linear Algebra: Matrix Eigenvalue Problems Chapter 8 p1 A matrix eigenvalue problem considers the vector equation (1) Ax = λx. 8.0 Linear Algebra: Matrix Eigenvalue Problems Here A is a given

More information

Introduction to Mobile Robotics Compact Course on Linear Algebra. Wolfram Burgard, Cyrill Stachniss, Kai Arras, Maren Bennewitz

Introduction to Mobile Robotics Compact Course on Linear Algebra. Wolfram Burgard, Cyrill Stachniss, Kai Arras, Maren Bennewitz Introduction to Mobile Robotics Compact Course on Linear Algebra Wolfram Burgard, Cyrill Stachniss, Kai Arras, Maren Bennewitz Vectors Arrays of numbers Vectors represent a point in a n dimensional space

More information

Lecture Note 1: Background

Lecture Note 1: Background ECE5463: Introduction to Robotics Lecture Note 1: Background Prof. Wei Zhang Department of Electrical and Computer Engineering Ohio State University Columbus, Ohio, USA Spring 2018 Lecture 1 (ECE5463 Sp18)

More information

Math (P)Review Part I:

Math (P)Review Part I: Lecture 1: Math (P)Review Part I: Linear Algebra Computer Graphics CMU 15-462/15-662, Fall 2017 Homework 0.0 (Due Monday!) Exercises will be a bit harder / more rigorous than what you will do for the rest

More information

Minimum-Parameter Representations of N-Dimensional Principal Rotations

Minimum-Parameter Representations of N-Dimensional Principal Rotations Minimum-Parameter Representations of N-Dimensional Principal Rotations Andrew J. Sinclair and John E. Hurtado Department of Aerospace Engineering, Texas A&M University, College Station, Texas, USA Abstract

More information

Introduction to Mobile Robotics Compact Course on Linear Algebra. Wolfram Burgard, Bastian Steder

Introduction to Mobile Robotics Compact Course on Linear Algebra. Wolfram Burgard, Bastian Steder Introduction to Mobile Robotics Compact Course on Linear Algebra Wolfram Burgard, Bastian Steder Reference Book Thrun, Burgard, and Fox: Probabilistic Robotics Vectors Arrays of numbers Vectors represent

More information

Physical Dynamics (PHY-304)

Physical Dynamics (PHY-304) Physical Dynamics (PHY-304) Gabriele Travaglini March 31, 2012 1 Review of Newtonian Mechanics 1.1 One particle Lectures 1-2. Frame, velocity, acceleration, number of degrees of freedom, generalised coordinates.

More information

Vectors a vector is a quantity that has both a magnitude (size) and a direction

Vectors a vector is a quantity that has both a magnitude (size) and a direction Vectors In physics, a vector is a quantity that has both a magnitude (size) and a direction. Familiar examples of vectors include velocity, force, and electric field. For any applications beyond one dimension,

More information

Classical Mechanics. Luis Anchordoqui

Classical Mechanics. Luis Anchordoqui 1 Rigid Body Motion Inertia Tensor Rotational Kinetic Energy Principal Axes of Rotation Steiner s Theorem Euler s Equations for a Rigid Body Eulerian Angles Review of Fundamental Equations 2 Rigid body

More information

Linear Algebra Homework and Study Guide

Linear Algebra Homework and Study Guide Linear Algebra Homework and Study Guide Phil R. Smith, Ph.D. February 28, 20 Homework Problem Sets Organized by Learning Outcomes Test I: Systems of Linear Equations; Matrices Lesson. Give examples of

More information

Linear Algebra. Min Yan

Linear Algebra. Min Yan Linear Algebra Min Yan January 2, 2018 2 Contents 1 Vector Space 7 1.1 Definition................................. 7 1.1.1 Axioms of Vector Space..................... 7 1.1.2 Consequence of Axiom......................

More information

CS 246 Review of Linear Algebra 01/17/19

CS 246 Review of Linear Algebra 01/17/19 1 Linear algebra In this section we will discuss vectors and matrices. We denote the (i, j)th entry of a matrix A as A ij, and the ith entry of a vector as v i. 1.1 Vectors and vector operations A vector

More information

KINEMATIC EQUATIONS OF NONNOMINAL EULER AXIS/ANGLE ROTATION

KINEMATIC EQUATIONS OF NONNOMINAL EULER AXIS/ANGLE ROTATION IAA-AAS-DyCoSS -14-10-01 KINEMATIC EQUATIONS OF NONNOMINAL EULER AXIS/ANGLE ROTATION Emanuele L. de Angelis and Fabrizio Giulietti INTRODUCTION Euler axis/angle is a useful representation in many attitude

More information

Elements of linear algebra

Elements of linear algebra Elements of linear algebra Elements of linear algebra A vector space S is a set (numbers, vectors, functions) which has addition and scalar multiplication defined, so that the linear combination c 1 v

More information

Robotics I. February 6, 2014

Robotics I. February 6, 2014 Robotics I February 6, 214 Exercise 1 A pan-tilt 1 camera sensor, such as the commercial webcams in Fig. 1, is mounted on the fixed base of a robot manipulator and is used for pointing at a (point-wise)

More information

Representation of a three dimensional moving scene

Representation of a three dimensional moving scene Chapter 2 Representation of a three dimensional moving scene The study of the geometric relationship between a three-dimensional scene and its images taken from a moving camera boils down to the interplay

More information

Solutions for Fundamentals of Continuum Mechanics. John W. Rudnicki

Solutions for Fundamentals of Continuum Mechanics. John W. Rudnicki Solutions for Fundamentals of Continuum Mechanics John W. Rudnicki December, 015 ii Contents I Mathematical Preliminaries 1 1 Vectors 3 Tensors 7 3 Cartesian Coordinates 9 4 Vector (Cross) Product 13 5

More information

Robot Control Basics CS 685

Robot Control Basics CS 685 Robot Control Basics CS 685 Control basics Use some concepts from control theory to understand and learn how to control robots Control Theory general field studies control and understanding of behavior

More information

Matrix operations Linear Algebra with Computer Science Application

Matrix operations Linear Algebra with Computer Science Application Linear Algebra with Computer Science Application February 14, 2018 1 Matrix operations 11 Matrix operations If A is an m n matrix that is, a matrix with m rows and n columns then the scalar entry in the

More information

Engineering Mechanics Prof. U. S. Dixit Department of Mechanical Engineering Indian Institute of Technology, Guwahati

Engineering Mechanics Prof. U. S. Dixit Department of Mechanical Engineering Indian Institute of Technology, Guwahati Engineering Mechanics Prof. U. S. Dixit Department of Mechanical Engineering Indian Institute of Technology, Guwahati Module No. - 01 Basics of Statics Lecture No. - 01 Fundamental of Engineering Mechanics

More information

Cayley-Hamilton Theorem

Cayley-Hamilton Theorem Cayley-Hamilton Theorem Massoud Malek In all that follows, the n n identity matrix is denoted by I n, the n n zero matrix by Z n, and the zero vector by θ n Let A be an n n matrix Although det (λ I n A

More information

General Theoretical Concepts Related to Multibody Dynamics

General Theoretical Concepts Related to Multibody Dynamics General Theoretical Concepts Related to Multibody Dynamics Before Getting Started Material draws on two main sources Ed Haug s book, available online: http://sbel.wisc.edu/courses/me751/2010/bookhaugpointers.htm

More information

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

PHYS 705: Classical Mechanics. Rigid Body Motion Introduction + Math Review 1 PHYS 705: Classical Mechanics Rigid Body Motion Introduction + Math Review 2 How to describe a rigid body? Rigid Body - a system of point particles fixed in space i r ij j subject to a holonomic constraint:

More information

Knowledge Discovery and Data Mining 1 (VO) ( )

Knowledge Discovery and Data Mining 1 (VO) ( ) Knowledge Discovery and Data Mining 1 (VO) (707.003) Review of Linear Algebra Denis Helic KTI, TU Graz Oct 9, 2014 Denis Helic (KTI, TU Graz) KDDM1 Oct 9, 2014 1 / 74 Big picture: KDDM Probability Theory

More information

Representation of a Three-Dimensional Moving Scene

Representation of a Three-Dimensional Moving Scene This is page 15 Printer: Opaque this Chapter 2 Representation of a Three-Dimensional Moving Scene I will not define time, space, place and motion, as being well known to all. Isaac Newton, Principia Mathematica,

More information

Linear Algebra Review

Linear Algebra Review Chapter 1 Linear Algebra Review It is assumed that you have had a course in linear algebra, and are familiar with matrix multiplication, eigenvectors, etc. I will review some of these terms here, but quite

More information

Dot Products. K. Behrend. April 3, Abstract A short review of some basic facts on the dot product. Projections. The spectral theorem.

Dot Products. K. Behrend. April 3, Abstract A short review of some basic facts on the dot product. Projections. The spectral theorem. Dot Products K. Behrend April 3, 008 Abstract A short review of some basic facts on the dot product. Projections. The spectral theorem. Contents The dot product 3. Length of a vector........................

More information

Extra Problems for Math 2050 Linear Algebra I

Extra Problems for Math 2050 Linear Algebra I Extra Problems for Math 5 Linear Algebra I Find the vector AB and illustrate with a picture if A = (,) and B = (,4) Find B, given A = (,4) and [ AB = A = (,4) and [ AB = 8 If possible, express x = 7 as

More information

Basic Concepts in Linear Algebra

Basic Concepts in Linear Algebra Basic Concepts in Linear Algebra Grady B Wright Department of Mathematics Boise State University February 2, 2015 Grady B Wright Linear Algebra Basics February 2, 2015 1 / 39 Numerical Linear Algebra Linear

More information

MAT 2037 LINEAR ALGEBRA I web:

MAT 2037 LINEAR ALGEBRA I web: MAT 237 LINEAR ALGEBRA I 2625 Dokuz Eylül University, Faculty of Science, Department of Mathematics web: Instructor: Engin Mermut http://kisideuedutr/enginmermut/ HOMEWORK 2 MATRIX ALGEBRA Textbook: Linear

More information

Homework 2. Solutions T =

Homework 2. Solutions T = Homework. s Let {e x, e y, e z } be an orthonormal basis in E. Consider the following ordered triples: a) {e x, e x + e y, 5e z }, b) {e y, e x, 5e z }, c) {e y, e x, e z }, d) {e y, e x, 5e z }, e) {

More information

Rigid bodies - general theory

Rigid bodies - general theory Rigid bodies - general theory Kinetic Energy: based on FW-26 Consider a system on N particles with all their relative separations fixed: it has 3 translational and 3 rotational degrees of freedom. Motion

More information

ME751 Advanced Computational Multibody Dynamics. September 14, 2016

ME751 Advanced Computational Multibody Dynamics. September 14, 2016 ME751 Advanced Computational Multibody Dynamics September 14, 2016 Quote of the Day My own business always bores me to death; I prefer other people's. -- Oscar Wilde 2 Looking Ahead, Friday Need to wrap

More information

14 Singular Value Decomposition

14 Singular Value Decomposition 14 Singular Value Decomposition For any high-dimensional data analysis, one s first thought should often be: can I use an SVD? The singular value decomposition is an invaluable analysis tool for dealing

More information

16.333: Lecture #3. Frame Rotations. Euler Angles. Quaternions

16.333: Lecture #3. Frame Rotations. Euler Angles. Quaternions 16.333: Lecture #3 Frame Rotations Euler Angles Quaternions Fall 2004 16.333 3 1 Euler Angles For general applications in 3D, often need to perform 3 separate rotations to relate our inertial frame to

More information

Math Linear Algebra Final Exam Review Sheet

Math Linear Algebra Final Exam Review Sheet Math 15-1 Linear Algebra Final Exam Review Sheet Vector Operations Vector addition is a component-wise operation. Two vectors v and w may be added together as long as they contain the same number n of

More information

Lie Groups for 2D and 3D Transformations

Lie Groups for 2D and 3D Transformations Lie Groups for 2D and 3D Transformations Ethan Eade Updated May 20, 2017 * 1 Introduction This document derives useful formulae for working with the Lie groups that represent transformations in 2D and

More information

Review of Basic Concepts in Linear Algebra

Review of Basic Concepts in Linear Algebra Review of Basic Concepts in Linear Algebra Grady B Wright Department of Mathematics Boise State University September 7, 2017 Math 565 Linear Algebra Review September 7, 2017 1 / 40 Numerical Linear Algebra

More information

Lecture 4: Exponentials & Twists

Lecture 4: Exponentials & Twists ME 50.646 Introduction Lecture 4: Exponentials & Twists Noah J. Cowan Fall 017 1 Skew symmetric matrices Let so(n) :={S R n n : S = S T } denote the skew symmetric matrices. Note that given any matrix,

More information

Robot Dynamics Lecture Notes. Robotic Systems Lab, ETH Zurich

Robot Dynamics Lecture Notes. Robotic Systems Lab, ETH Zurich Robot Dynamics Lecture Notes Robotic Systems Lab, ETH Zurich HS 217 Contents 1 Introduction 1 1.1 Nomenclature.............................. 2 1.2 Operators................................ 3 2 Kinematics

More information

APPENDIX A. Background Mathematics. A.1 Linear Algebra. Vector algebra. Let x denote the n-dimensional column vector with components x 1 x 2.

APPENDIX A. Background Mathematics. A.1 Linear Algebra. Vector algebra. Let x denote the n-dimensional column vector with components x 1 x 2. APPENDIX A Background Mathematics A. Linear Algebra A.. Vector algebra Let x denote the n-dimensional column vector with components 0 x x 2 B C @. A x n Definition 6 (scalar product). The scalar product

More information

Introduction to Mobile Robotics Compact Course on Linear Algebra. Wolfram Burgard, Cyrill Stachniss, Maren Bennewitz, Diego Tipaldi, Luciano Spinello

Introduction to Mobile Robotics Compact Course on Linear Algebra. Wolfram Burgard, Cyrill Stachniss, Maren Bennewitz, Diego Tipaldi, Luciano Spinello Introduction to Mobile Robotics Compact Course on Linear Algebra Wolfram Burgard, Cyrill Stachniss, Maren Bennewitz, Diego Tipaldi, Luciano Spinello Vectors Arrays of numbers Vectors represent a point

More information

Lesson Rigid Body Dynamics

Lesson Rigid Body Dynamics Lesson 8 Rigid Body Dynamics Lesson 8 Outline Problem definition and motivations Dynamics of rigid bodies The equation of unconstrained motion (ODE) User and time control Demos / tools / libs Rigid Body

More information

PART ONE DYNAMICS OF A SINGLE PARTICLE

PART ONE DYNAMICS OF A SINGLE PARTICLE PART ONE DYNAMICS OF A SINGLE PARTICLE 1 Kinematics of a Particle 1.1 Introduction One of the main goals of this book is to enable the reader to take a physical system, model it by using particles or rigid

More information

Rotational Motion. Chapter 4. P. J. Grandinetti. Sep. 1, Chem P. J. Grandinetti (Chem. 4300) Rotational Motion Sep.

Rotational Motion. Chapter 4. P. J. Grandinetti. Sep. 1, Chem P. J. Grandinetti (Chem. 4300) Rotational Motion Sep. Rotational Motion Chapter 4 P. J. Grandinetti Chem. 4300 Sep. 1, 2017 P. J. Grandinetti (Chem. 4300) Rotational Motion Sep. 1, 2017 1 / 76 Angular Momentum The angular momentum of a particle with respect

More information

Course Notes Math 275 Boise State University. Shari Ultman

Course Notes Math 275 Boise State University. Shari Ultman Course Notes Math 275 Boise State University Shari Ultman Fall 2017 Contents 1 Vectors 1 1.1 Introduction to 3-Space & Vectors.............. 3 1.2 Working With Vectors.................... 7 1.3 Introduction

More information

1. General Vector Spaces

1. General Vector Spaces 1.1. Vector space axioms. 1. General Vector Spaces Definition 1.1. Let V be a nonempty set of objects on which the operations of addition and scalar multiplication are defined. By addition we mean a rule

More information

Spring, 2012 CIS 515. Fundamentals of Linear Algebra and Optimization Jean Gallier

Spring, 2012 CIS 515. Fundamentals of Linear Algebra and Optimization Jean Gallier Spring 0 CIS 55 Fundamentals of Linear Algebra and Optimization Jean Gallier Homework 5 & 6 + Project 3 & 4 Note: Problems B and B6 are for extra credit April 7 0; Due May 7 0 Problem B (0 pts) Let A be

More information

Linear Algebra. Session 12

Linear Algebra. Session 12 Linear Algebra. Session 12 Dr. Marco A Roque Sol 08/01/2017 Example 12.1 Find the constant function that is the least squares fit to the following data x 0 1 2 3 f(x) 1 0 1 2 Solution c = 1 c = 0 f (x)

More information

Fall, 2003 CIS 610. Advanced geometric methods. Homework 3. November 11, 2003; Due November 25, beginning of class

Fall, 2003 CIS 610. Advanced geometric methods. Homework 3. November 11, 2003; Due November 25, beginning of class Fall, 2003 CIS 610 Advanced geometric methods Homework 3 November 11, 2003; Due November 25, beginning of class You may work in groups of 2 or 3 Please, write up your solutions as clearly and concisely

More information

Conceptual Questions for Review

Conceptual Questions for Review Conceptual Questions for Review Chapter 1 1.1 Which vectors are linear combinations of v = (3, 1) and w = (4, 3)? 1.2 Compare the dot product of v = (3, 1) and w = (4, 3) to the product of their lengths.

More information

Rigid-Body Motions. Chapter 4

Rigid-Body Motions. Chapter 4 Chapter 4 Rigid-Body Motions In the previous chapter, we saw that a minimum of six numbers are needed to specify the position and orientation of a rigid body in three-dimensional physical space. We established

More information

Matrices and Vectors. Definition of Matrix. An MxN matrix A is a two-dimensional array of numbers A =

Matrices and Vectors. Definition of Matrix. An MxN matrix A is a two-dimensional array of numbers A = 30 MATHEMATICS REVIEW G A.1.1 Matrices and Vectors Definition of Matrix. An MxN matrix A is a two-dimensional array of numbers A = a 11 a 12... a 1N a 21 a 22... a 2N...... a M1 a M2... a MN A matrix can

More information