# 3D geometry basics (for robotics) lecture notes

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 lecture notes Marc Toussaint Machine Learning & Robotics lab, FU Berlin Arnimallee 7, 495 Berlin, Germany October 30, 20 This document introduces to some basic geometry, focussing on 3D transformations, and introduces proper conventions for notation There eist one-to-one implementations of the concepts and equations in libors Rotations There are many ways to represent rotations in SO(3) We restrict ourselves to three basic ones: rotation matri, rotation vector, and quaternion The rotation vector is also the most natural representation for a rotation velocity (angular velocities) Euler angles or raw-pitch-roll are an alternative, but they have singularities and I don t recommend using them in practice A rotation matri is a matri R R 3 3 which is orthonormal (columns and rows are orthogonal unit vectors, implying determinant ) While a 3 3 matri has 9 degrees of freedom (DoFs), the constraint of orthogonality and determinant constraints this: The set of rotation matrices has only 3 DoFs ( the local Lie algebra is 3-dim) The application of R on a vector is simply the matri-vector product R Concatenation of two rotations R and R 2 is the normal matri-matri product R R 2 Inversion is the transpose, R - R A rotation vector is an unconstraint vector w R 3 The vector s direction w w w determines the rotation ais, the vector s length w θ determins the rotation angle (in radians, using the right thumb convention) The application of a rotation described by w R 3 on a vector R 3 is given as (Rodrigues formula) w cos θ + sin θ (w ) + ( cos θ) w(w ) () where θ w is the rotation angle and w w/θ the unit length rotation ais The inverse rotation is described by the negative of the rotation vector Concatenation is non-trivial in this representation and we don t discuss it here In practice, a rotation vector is first converted to a rotation matri or quaternion Convertion to a matri: For every vector w R 3 we define its skew symmetric matri as ŵ 0 w 3 w 2 w 3 0 w w 2 w 0 (2) Note that such skew-symmetric matrices are related to the cross product: w v ŵ v, where the cross product is rewritten as a matri product The rotation matri R(w) that corresponds to a given rotation vector w is: R(w) ep(ŵ) (3) cos θ I + sin θ ŵ/θ + ( cos θ) ww /θ 2 The ep function is called eponential map (generating a group element (rotation matri) via an element of the Lie algebra (skew matri)) The other formular is called Rodrigues formular: the first term is a diagonal matri (I is the 3D identity matri), the second terms the skew symmetric part, the last term the symmetric part (ww is also called outper product) Angular velocity & derivative of a rotation matri: We represent angular velocities by a vector w R 3, the direction w determines the rotation ais, the length w is the rotation velocity (in radians per second) When a body s orientation at time t is described by a rotation matri R(t) and the body s angular velocity is w, then (4) Ṙ(t) ŵ R(t) (5) (That s intuitive to see for a rotation about the -ais with velocity ) Some insights from this relation: Since R(t) must always be a rotation matri (fulfill orthogonality and determinant ), its derivative Ṙ(t) must also fulfill certain constraints; in particular it

2 lecture notes, Marc Toussaint October 30, 20 2 can only live in a 3-dimensional sub-space It turns out that the derivative Ṙ of a rotation matri R must always be a skew symmetric matri ŵ times R anything else would be inconsistent with the contraints of orthogonality and determinant Note also that, assuming R(0) I, the solution to the differential equation Ṙ(t) ŵ R(t) can be written as R(t) ep(tŵ), where here the eponential function notation is used to denote a more general so-called eponential map, as used in the contet of Lie groups It also follows that R(w) from (3) is the rotation matri you get when you rotate for second with angular velocity described by w a small time interval δ, w generates a rotation vector δw, which converts to a quaterion r (cos(δ/2), sin(δ/2)w) (3) That rotation is concatenated LHS to the original quaternion, r(t + δ) r r(t) (4) Now, if we take the derivative wrt δ and evaluate it at δ 0, all the cos(δ/2) terms become sin(δ/2) and evaluate to zero, all the sin(δ/2) terms become cos(δ/2) and evaluate to one, and we have Quaternion (I m not describing the general definition, only the quaternion to represent rotation definition) A quaternion is a unit length 4D vector r R 4 ; the first entry r 0 is related to the rotation angle θ via r 0 cos(θ/2), the last three entries r r :3 are related to the unit length rotation ais w via r sin(θ/2) w The inverse of a quaternion is given by negating r, r - (r 0, r) (or, alternatively, negating r 0 ) The concatenation of two rotations r, r is given as the quaternion product r r (r 0 r 0 r r, r 0 r + r 0 r + r r) (6) The application of a rotation quaternion r on a vector can be epressed by converting the vector first to the quaternion (0, ), then computing r (r (0, ) r - ) :3, (7) I think a bit more efficient is to first convert the rotation quaternion r to the equivalent rotation matri R, as given by R r 22 r 33 r 2 r 03 r 3 + r 02 r 2 + r 03 r r 33 r 23 r 0 r 3 r 02 r 23 + r 0 r r 22 r ij : 2r i r j (8) (Note: In comparison to (3) this does not require to compute a sin or cos) Inversely, the quaterion r for a given matri R is r trr (9) r 3 (R 2 R 2 )/(4r 0 ) (0) r 2 (R 3 R 3 )/(4r 0 ) () r (R 32 R 23 )/(4r 0 ) (2) Angular velocity quaternion velocity Given an angular velocity w R 3 and a current quaterion r(t) R, what is the time derivative ṙ(t) (in analogy to Eq (5))? For simplicity, let s first assume w For ṙ(t) 2 ( w r, r 0 w + r w) 2 (0, w) r(t) (5) Here (0, w) R 4 is a four-vector; for w it is a normalized quaternion However, due to the linearity the equation holds for any w Quaternion velocity angular velocity The following is relevant when taking the derivative wrt the parameters of a quaternion, eg, for a ball joint represented as quaternion Given ṙ, we have ṙ r - 2 (0, w) r r- (0, w) (6) 2 which allows us to read off the angular velocity induced by a change of quaternion However, the RHS zero will hold true only iff ṙ is orthogonal to r (where ṙ r ṙ 0 r 0 + r r 0, see (6)) In case ṙ r 0, the change in length of the quaterion does not represent any angular velocity; in typical kinematics engines a non-unit length is ignored Therefore one first orthogonalizes ṙ ṙ r(ṙ r) As a special case of application, consider computing the partial derivative wrt quaternion coordinates, where ṙ is the unit vectors e 0,, e 3 In this case, the orthogonalization becomes simply e i e i rr i and (e i r i r) r - e i r - r i (, 0, 0, 0) (7) w i 2[e i r - ] :3, (8) where w i is the rotation vector implied by ṙ e i In case the original quaternion r wasn t normalized (which could be, if a standard optimization algorithm searches in the quaternion configuration space), then r actually represents the normalized quaternion r r r, and (due to linearity of the 2 above), the rotation vector implied by ṙ e i is w i 2 r 2 [e i r - ] :3 (9) 2 Transformations We consider two types of transformations here: either static (translation+rotation), or dynamic (translation+velocity+rotation+angular velocity) The first maps

3 lecture notes, Marc Toussaint October 30, 20 3 between two static reference frames, the latter between moving reference frames, eg between reference frames attached to moving rigid bodies 2 Static transformations Concerning the static transformations, again there are different representations: A homogeneous matri is a 4 4-matri of the form T (20) 0 where R is a 3 3-matri (rotation in our case) and t a 3-vector (translation) In homogeneous coordinates, vectors R 3 are epanded to 4D vectors R 4 by appending a Application of a transform T on a vector R 3 is then given as the normal matri-vector product T T 0 R + t (2) Concatenation is given by the ordinary 4-dim matri-matri product The inverse transform is T R - R - t (22) 0 Translation and quaternion: A transformation can efficiently be stored as a pair (t, r) of a translation vector t and a rotation quaternion r Analogous to the above, the application of (t, r) on a vector is t + r ; the inverse is (t, r) - ( r - t, r - ); the concatenation is (t, r ) (t 2, r 2 ) (t +r t 2, r r 2 ) 22 Dynamic transformations Just as static transformations map between (static) coordinate frames, dynamic transformations map between moving (inertial) frames which are, eg, attached to moving bodies A dynamic transformation is described by a tuple (t, r, v, w) with translation t, rotation r, velocity v and angular velocity w Under a dynamic transform (t, r, v, w) a position and velocity (, ẋ) maps to a new position and velocity (, ẋ ) given as t + r (23) ẋ v + w (r ) + r ẋ (24) (the second term is the additional linear velocity of ẋ arising from the angular velocity w of the dynamic transform) The concatenation (t, r, v, w) (t, r, v, w ) (t 2, r 2, v 2, w 2 ) of two dynamic transforms is given as t t + r t 2 (25) v v + w (r t 2 ) + r v 2 (26) r r r 2 (27) w w + r w 2 (28) For completeness, the footnote also describes how accelerations transform, including the case when the transform itself is accelerating The inverse (t, r, v, w ) (t, r, v, w) - of a dynamic transform is given as t r - t (35) r r - (36) v r - (w t v) (37) w r - w (38) Sequences of transformations by T A B we denote the transformation from frame A to frame B The frames A and B can be thought of coordinate frames (tuples of an offset (in an affine space) and three local orthonormal basis vectors) attached to two bodies A and B It holds T A C T A B T B C (39) where is the concatenation described above Let p be a point (rigorously, in the affine space) We write p A for the coordinate vector of point p relative to frame A; and p B for the coordinate vector of point p relative to frame B It holds p A T A B p B (40) 23 A note on affine coordinate frames Instead of the notation T A B, other tet books often use notations such as T AB or TB A A common question regarding notation T A B is the following: The notation T A B is confusing, since it transforms coordinates from frame B to frame A Why not the other way around? I think the notation T A B is intuitive for the following reasons The core is to understand that a transformation can be thought of in two ways: as a transformation of the coordinate frame itself, and as transformation of the coordinates relative to a coodrinate frame I ll first give a nonformal eplanation and later more formal definitions of affine frames and their transformation Transformation of accelerations: v v + ẇ (r t 2 ) + w (w (r t 2 )) + 2 w (r v 2 ) + r v 2 (29) ẇ ẇ + w (r w 2 ) + r ẇ 2 (30) Used identities: for any vectors a, b, c and rotation r: r (a b) (r a) (r b) (3) a (b c) b(ac) c(ab) (32) t(r a) w (r a) + r ȧ (33) t(w a) ẇ t + w ȧ (34)

4 lecture notes, Marc Toussaint October 30, 20 4 Think of T W B as translating and rotating a real rigid body: First, the body is located at the world origin; then the body is moved by a translation t; then the body is rotated (around its own center) as described by R In that sense, T W B describes the forward transformation of the body Consider that a coordinate frame B 0 is attached to the rigid body and a frame W to the world origin Given a point p in the world, we can epress its coordinates relative to the world, p W, or relative to the body p B You can convince yourself with simple eamples that p W T W B p B, that is, T W B also describes the backward transformation of body-relative-coordinates to world-relative-coordinates Formally: Let (A, V ) be an affine space A coordinate frame is a tuple (o, e,, e n ) of an origin o A and basis vectors e i V Given a point p A, its coordinates p :n wrt a coordinate frame (o, e,, e n ) are given implicitly via p o + i p ie i (4) A transformation T W B is a ( forward ) transformation of the coordinate frame itself: (o B, e B,, e B n ) (o W + t, Re W,, Re W n ) (42) where t V is the affine translation in A and he rotation in V Note that the coordinates (e B i )W :n of a basis vector e B i relative to frame W are the columns of R: e B i j (e B i ) W j e W j j R ji e W j (43) 3 Kinematic chains In this section we only consider static transformations compost of translation and rotation But given the general concatenation rules above, everything said here generealizes directly to the dynamic case 3 Rigid and actuated transforms A actuated kinematic chain with n joints is a series of transformations of the form T W Q T 2 Q 2 T 2 3 Q 3 (5) Each T i- i describes so-called links (or bones) of the kinematic chain: the rigid (non-actuated) transformation from the i-th joint to the ith joint The first T W is the transformation from world coordinates to the first joint Each Q i is the actuated transformation of the joint usually simply a rotation around the joint s -ais with a specific angle, the so-called joint angle These joint angles (and therefore each Q i ) are actuated and may change over time When we control the robot we essentially tell it to actuate its joint so as to change the joint angles There are two fundamental computations necessary for control: For a given n-dimensional vector q R n of joint angles, compute the absolute frames T W i (world to link transformation) of each link i 2 For a given n-dimensional vector q R n of joint angle velocities, compute absolute (world-relative) velocity and angular velocity of the ith link Given this transformation of the coordinate frame itself, the coordinates transform as follows: p o W + i p o B + i o W + t + i o W + i o W + i o W + i p W i t W i + j p W i e W i (44) p B i e B i (45) p B i (Re W i ) (46) t W i e W i + j p B j (Re W j ) (47) t W i e W i + p B j ( R ij e W i ) (48) j i [ t W i + ] R ij p B j e W i (49) j R ij p B j (50) Another way to epress this formally: T W B maps covariant vectors (including basis vectors ) forward, but contra-variant vectors (including coordinate vectors ) backward; see Wikipedia Covariance and contravariance of vectors The first problem is solved by forward chaining the transformations: we can compute the absolute transforms T W i (ie, the transformation from world to the ith link) for each link, namely: T W i T W i- Q i T i- i (52) Iterating this for i 2,, n we get positions and orientations T W i of all links in world coordinates The second problem is addressed in the net section 32 Jacobian & Hessian Assume we have computed the absolute position and orientation of each link in an actuated kinematic chain Then we want to know how a point p W i attached to the ith frame (and coordinates epressed wrt the world frame W ) changes when rotating the jth joint Equally we want to know how some arbitrary vector a W i attached to the ith frame (coordinates relative to the world frame W ) rotates when rotating the jth joint Let a W j be the unit length rotation ais of the jth joint (which, by convention, is r W j (, 0, 0) if r W j is the rotation in T W j ) In the following we drop the superscript W because all coordinates are epressed in the world frame Let q j be the

5 lecture notes, Marc Toussaint October 30, 20 5 a j p j a i p i Figure : Illustration for the Jacobian and Hessian joint angle of the jth joint For the purpose of computing a partial deriviative of something attached to link i wrt the actuation at joint j we can think of everything inbetween as rigid Hence, the point and vector Jacobian and Hessian are simply: d ij : p i p j p i a j d ij q j (53) a i α j a i q j (54) a k p k 2 p i q j q k a j q k d ij + a j d ij q k (a k a j ) d ij + a j [a k (p i p k ) a k (p j p k )] (a k a j ) d ij + a j (a k d ij ) [ ] using a (b c) + b (c a) + c (a b) 0 a k (a j d ij ) (55) Why did we write this as a transposed vector? By definition, a derivative is something that, when you multiply it with an infinitesimal displacement δ R n, it returns the infinitesimal change δf() R: δf() δ (58) Since in our case δ R n is a vector, for this equation to make sense, must be a transposed vector: δf() i δ δ 2 δ n (59) i (60) Epressed more formally: The partial derivative corresponds to a -form (also called dual vector) The parameters of a -form actually form a co-variant vector, not a contra-variant vector; which in normal notation corresponds to a transposed vector, not a normal vector See Wikipedia Covariance and contravariance of vectors Consider a vector-valued mapping φ() R d What eactly is the partial derivative φ()? We can write it as follows: φ() φ () φ () φ () (6) d n (62) 2 a i q j q k (a k α j ) a i + α j (a k a i ) a k (α j a i ) (56) Efficient computation: Assume we have an articulated kinematic tree of links and joints We write j < i if joint j is inward from link (or joint) i Then, for each body i consider all inward edges j < i and further inward edges k j and compute H ijk θj θk p i Note that H ijk is symmetric in j and k so computing for k j and copying the rest is sufficient 4 A note on partial derivatives wrt a vector Let R n Consider a scalar function f() R What eactly is the partial derivative f()? We can write it as follows: f() (57) Why is this a d n matri and not the transposed n d matri? Let s check the infinitesimal variations again: We have δ R n and want δφ R d : δφ() φ() δ (63) φ () φ () φ () φ 2() δ δ 2 δ n (64) d n n (65) φ () i i i i (66) i i Loosly speaking: taking a partial derivative always appends a (co-variant) inde to a tensor The reason is that the resulting tensor needs to multiply to a (contra-variant infinitesimal variation) vector from the right

### MCE/EEC 647/747: Robot Dynamics and Control

MCE/EEC 647/747: Robot Dynamics and Control Lecture 4: Velocity Kinematics Jacobian and Singularities Torque/Force Relationship Inverse Velocity Problem Reading: SHV Chapter 4 Mechanical Engineering Hanz

### MATH 304 Linear Algebra Lecture 8: Inverse matrix (continued). Elementary matrices. Transpose of a matrix.

MATH 304 Linear Algebra Lecture 8: Inverse matrix (continued). Elementary matrices. Transpose of a matrix. Inverse matrix Definition. Let A be an n n matrix. The inverse of A is an n n matrix, denoted

### 1 Introduction. 2 The G 4 Algebra. 2.1 Definition of G 4 Algebra

1 Introduction Traditionally translations and rotations have been analysed/computed with either matrices, quaternions, bi-quaternions, dual quaternions or double quaternions depending of ones preference

### Quaternion Math. Application Note. Abstract

Quaternion Math Application Note Abstract This application note provides an overview of the quaternion attitude representation used by VectorNav products and how to convert it into other common attitude

### Rotation matrix. Fixed angle and Euler angle. Axis angle. Quaternion. Exponential map

3D orientation Rotation matrix Fixed angle and Euler angle Axis angle Quaternion Exponential map Joints and rotations Rotational DOFs are widely used in character animation 3 translational DOFs 48 rotational

### A matrix over a field F is a rectangular array of elements from F. The symbol

Chapter MATRICES Matrix arithmetic A matrix over a field F is a rectangular array of elements from F The symbol M m n (F) denotes the collection of all m n matrices over F Matrices will usually be denoted

### Lecture 6: Kinematics: Velocity Kinematics - the Jacobian

Lecture 6: Kinematics: Velocity Kinematics - the Jacobian Skew Symmetric Matrices c Anton Shiriaev. 5EL158: Lecture 6 p. 1/12 Lecture 6: Kinematics: Velocity Kinematics - the Jacobian Skew Symmetric Matrices

### geometric transforms

geometric transforms 1 linear algebra review 2 matrices matrix and vector notation use column for vectors m 11 =[ ] M = [ m ij ] m 21 m 12 m 22 =[ ] v v 1 v = [ ] T v 1 v 2 2 3 matrix operations addition

### Section 1.1. Introduction to R n

The Calculus of Functions of Several Variables Section. Introduction to R n Calculus is the study of functional relationships and how related quantities change with each other. In your first exposure to

### 1 Spherical Kinematics

ME 115(a): Notes on Rotations 1 Spherical Kinematics Motions of a 3-dimensional rigid body where one point of the body remains fixed are termed spherical motions. A spherical displacement is a rigid body

### 3D Tranformations. CS 4620 Lecture 6. Cornell CS4620 Fall 2013 Lecture 6. 2013 Steve Marschner (with previous instructors James/Bala)

3D Tranformations CS 4620 Lecture 6 1 Translation 2 Translation 2 Translation 2 Translation 2 Scaling 3 Scaling 3 Scaling 3 Scaling 3 Rotation about z axis 4 Rotation about z axis 4 Rotation about x axis

### Algebra and Linear Algebra

Vectors Coordinate frames 2D implicit curves 2D parametric curves 3D surfaces Algebra and Linear Algebra Algebra: numbers and operations on numbers 2 + 3 = 5 3 7 = 21 Linear algebra: tuples, triples,...

### Metrics on SO(3) and Inverse Kinematics

Mathematical Foundations of Computer Graphics and Vision Metrics on SO(3) and Inverse Kinematics Luca Ballan Institute of Visual Computing Optimization on Manifolds Descent approach d is a ascent direction

### Linear Algebra Concepts

University of Central Florida School of Electrical Engineering Computer Science EGN-3420 - Engineering Analysis. Fall 2009 - dcm Linear Algebra Concepts Vector Spaces To define the concept of a vector

### We have just introduced a first kind of specifying change of orientation. Let s call it Axis-Angle.

2.1.5 Rotations in 3-D around the origin; Axis of rotation In three-dimensional space, it will not be sufficient just to indicate a center of rotation, as we did for plane kinematics. Any change of orientation

### Advanced Techniques for Mobile Robotics Compact Course on Linear Algebra. Wolfram Burgard, Cyrill Stachniss, Kai Arras, Maren Bennewitz

Advanced Techniques for 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

### Intersection of Objects with Linear and Angular Velocities using Oriented Bounding Boxes

Intersection of Objects with Linear and Angular Velocities using Oriented Bounding Boxes David Eberly Geometric Tools, LLC http://www.geometrictools.com/ Copyright c 1998-2016. All Rights Reserved. Created:

### Human Motion Analysis Lecture 2: Human Body Representations

Human Motion Analysis Lecture 2: Human Body Representations Raquel Urtasun TTI Chicago March 1, 2010 Raquel Urtasun (TTI-C) Human Body Representations March 1, 2010 1 / 65 Contents of today s lecture Useful

### Matrix Algebra LECTURE 1. Simultaneous Equations Consider a system of m linear equations in n unknowns: y 1 = a 11 x 1 + a 12 x 2 + +a 1n x n,

LECTURE 1 Matrix Algebra Simultaneous Equations Consider a system of m linear equations in n unknowns: y 1 a 11 x 1 + a 12 x 2 + +a 1n x n, (1) y 2 a 21 x 1 + a 22 x 2 + +a 2n x n, y m a m1 x 1 +a m2 x

### How is a vector rotated?

How is a vector rotated? V. Balakrishnan Department of Physics, Indian Institute of Technology, Madras 600 036 Appeared in Resonance, Vol. 4, No. 10, pp. 61-68 (1999) Introduction In an earlier series

### 1 Scalars, Vectors and Tensors

DEPARTMENT OF PHYSICS INDIAN INSTITUTE OF TECHNOLOGY, MADRAS PH350 Classical Physics Handout 1 8.8.2009 1 Scalars, Vectors and Tensors In physics, we are interested in obtaining laws (in the form of mathematical

### Rotation Matrices and Homogeneous Transformations

Rotation Matrices and Homogeneous Transformations A coordinate frame in an n-dimensional space is defined by n mutually orthogonal unit vectors. In particular, for a two-dimensional (2D) space, i.e., n

### Primer on Index Notation

Massachusetts Institute of Technology Department of Physics Physics 8.07 Fall 2004 Primer on Index Notation c 2003-2004 Edmund Bertschinger. All rights reserved. 1 Introduction Equations involving vector

### UNIT 2 MATRICES - I 2.0 INTRODUCTION. Structure

UNIT 2 MATRICES - I Matrices - I Structure 2.0 Introduction 2.1 Objectives 2.2 Matrices 2.3 Operation on Matrices 2.4 Invertible Matrices 2.5 Systems of Linear Equations 2.6 Answers to Check Your Progress

### MATH 2030: MATRICES. Av = 3

MATH 030: MATRICES Introduction to Linear Transformations We have seen that we ma describe matrices as smbol with simple algebraic properties like matri multiplication, addition and scalar addition In

### Similarity and Diagonalization. Similar Matrices

MATH022 Linear Algebra Brief lecture notes 48 Similarity and Diagonalization Similar Matrices Let A and B be n n matrices. We say that A is similar to B if there is an invertible n n matrix P such that

### 1 Introduction to Matrices

1 Introduction to Matrices In this section, important definitions and results from matrix algebra that are useful in regression analysis are introduced. While all statements below regarding the columns

### ME 115(b): Solution to Homework #1

ME 115(b): Solution to Homework #1 Solution to Problem #1: To construct the hybrid Jacobian for a manipulator, you could either construct the body Jacobian, JST b, and then use the body-to-hybrid velocity

### 4. MATRICES Matrices

4. MATRICES 170 4. Matrices 4.1. Definitions. Definition 4.1.1. A matrix is a rectangular array of numbers. A matrix with m rows and n columns is said to have dimension m n and may be represented as follows:

### Quaternions and Rotations

CSCI 520 Computer Animation and Simulation Quaternions and Rotations Jernej Barbic University of Southern California 1 Rotations Very important in computer animation and robotics Joint angles, rigid body

### DATA ANALYSIS II. Matrix Algorithms

DATA ANALYSIS II Matrix Algorithms Similarity Matrix Given a dataset D = {x i }, i=1,..,n consisting of n points in R d, let A denote the n n symmetric similarity matrix between the points, given as where

### B4 Computational Geometry

3CG 2006 / B4 Computational Geometry David Murray david.murray@eng.o.ac.uk www.robots.o.ac.uk/ dwm/courses/3cg Michaelmas 2006 3CG 2006 2 / Overview Computational geometry is concerned with the derivation

### 5.3 ORTHOGONAL TRANSFORMATIONS AND ORTHOGONAL MATRICES

5.3 ORTHOGONAL TRANSFORMATIONS AND ORTHOGONAL MATRICES Definition 5.3. Orthogonal transformations and orthogonal matrices A linear transformation T from R n to R n is called orthogonal if it preserves

### 2D Geometric Transformations. COMP 770 Fall 2011

2D Geometric Transformations COMP 770 Fall 2011 1 A little quick math background Notation for sets, functions, mappings Linear transformations Matrices Matrix-vector multiplication Matrix-matrix multiplication

### (x) = lim. x 0 x. (2.1)

Differentiation. Derivative of function Let us fi an arbitrarily chosen point in the domain of the function y = f(). Increasing this fied value by we obtain the value of independent variable +. The value

### Lecture 7. Matthew T. Mason. Mechanics of Manipulation. Lecture 7. Representing Rotation. Kinematic representation: goals, overview

Matthew T. Mason Mechanics of Manipulation Today s outline Readings, etc. We are starting chapter 3 of the text Lots of stuff online on representing rotations Murray, Li, and Sastry for matrix exponential

### MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS. + + x 2. x n. a 11 a 12 a 1n b 1 a 21 a 22 a 2n b 2 a 31 a 32 a 3n b 3. a m1 a m2 a mn b m

MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS 1. SYSTEMS OF EQUATIONS AND MATRICES 1.1. Representation of a linear system. The general system of m equations in n unknowns can be written a 11 x 1 + a 12 x 2 +

### ROBOTICS: ADVANCED CONCEPTS & ANALYSIS

ROBOTICS: ADVANCED CONCEPTS & ANALYSIS MODULE 5 - VELOCITY AND STATIC ANALYSIS OF MANIPULATORS Ashitava Ghosal 1 1 Department of Mechanical Engineering & Centre for Product Design and Manufacture Indian

### Vector algebra Christian Miller CS Fall 2011

Vector algebra Christian Miller CS 354 - Fall 2011 Vector algebra A system commonly used to describe space Vectors, linear operators, tensors, etc. Used to build classical physics and the vast majority

### MATH 240 Fall, Chapter 1: Linear Equations and Matrices

MATH 240 Fall, 2007 Chapter Summaries for Kolman / Hill, Elementary Linear Algebra, 9th Ed. written by Prof. J. Beachy Sections 1.1 1.5, 2.1 2.3, 4.2 4.9, 3.1 3.5, 5.3 5.5, 6.1 6.3, 6.5, 7.1 7.3 DEFINITIONS

### Chapter 4: Binary Operations and Relations

c Dr Oksana Shatalov, Fall 2014 1 Chapter 4: Binary Operations and Relations 4.1: Binary Operations DEFINITION 1. A binary operation on a nonempty set A is a function from A A to A. Addition, subtraction,

### Points, Vectors, Geometry, Algebra

Points, Vectors, Geometr, Algebra a A b v B Points and vectors in geometr and algebra The notion point in geometr is considered here as well known and as its definition is not mathematicall simple, I will

### The calibration problem was discussed in details during lecture 3.

1 2 The calibration problem was discussed in details during lecture 3. 3 Once the camera is calibrated (intrinsics are known) and the transformation from the world reference system to the camera reference

### Recall the basic property of the transpose (for any A): v A t Aw = v w, v, w R n.

ORTHOGONAL MATRICES Informally, an orthogonal n n matrix is the n-dimensional analogue of the rotation matrices R θ in R 2. When does a linear transformation of R 3 (or R n ) deserve to be called a rotation?

### Manipulator Kinematics. Prof. Matthew Spenko MMAE 540: Introduction to Robotics Illinois Institute of Technology

Manipulator Kinematics Prof. Matthew Spenko MMAE 540: Introduction to Robotics Illinois Institute of Technology Manipulator Kinematics Forward and Inverse Kinematics 2D Manipulator Forward Kinematics Forward

### Lecture L3 - Vectors, Matrices and Coordinate Transformations

S. Widnall 16.07 Dynamics Fall 2009 Lecture notes based on J. Peraire Version 2.0 Lecture L3 - Vectors, Matrices and Coordinate Transformations By using vectors and defining appropriate operations between

### Rotation in the Space

Rotation in the Space (Com S 477/577 Notes) Yan-Bin Jia Sep 6, 2016 The position of a point after some rotation about the origin can simply be obtained by multiplying its coordinates with a matrix One

### MATH 304 Linear Algebra Lecture 4: Matrix multiplication. Diagonal matrices. Inverse matrix.

MATH 304 Linear Algebra Lecture 4: Matrix multiplication. Diagonal matrices. Inverse matrix. Matrices Definition. An m-by-n matrix is a rectangular array of numbers that has m rows and n columns: a 11

### x1 x 2 x 3 y 1 y 2 y 3 x 1 y 2 x 2 y 1 0.

Cross product 1 Chapter 7 Cross product We are getting ready to study integration in several variables. Until now we have been doing only differential calculus. One outcome of this study will be our ability

### 6. Representing Rotation

6. Representing Rotation Mechanics of Manipulation Matt Mason matt.mason@cs.cmu.edu http://www.cs.cmu.edu/~mason Carnegie Mellon Lecture 6. Mechanics of Manipulation p.1 Lecture 6. Representing Rotation.

### Basics Inversion and related concepts Random vectors Matrix calculus. Matrix algebra. Patrick Breheny. January 20

Matrix algebra January 20 Introduction Basics The mathematics of multiple regression revolves around ordering and keeping track of large arrays of numbers and solving systems of equations The mathematical

### Robot Manipulators. Position, Orientation and Coordinate Transformations. Fig. 1: Programmable Universal Manipulator Arm (PUMA)

Robot Manipulators Position, Orientation and Coordinate Transformations Fig. 1: Programmable Universal Manipulator Arm (PUMA) A robot manipulator is an electronically controlled mechanism, consisting of

### Mathematics Notes for Class 12 chapter 3. Matrices

1 P a g e Mathematics Notes for Class 12 chapter 3. Matrices A matrix is a rectangular arrangement of numbers (real or complex) which may be represented as matrix is enclosed by [ ] or ( ) or Compact form

### Lecture 2 Matrix Operations

Lecture 2 Matrix Operations transpose, sum & difference, scalar multiplication matrix multiplication, matrix-vector product matrix inverse 2 1 Matrix transpose transpose of m n matrix A, denoted A T or

### Summary of week 8 (Lectures 22, 23 and 24)

WEEK 8 Summary of week 8 (Lectures 22, 23 and 24) This week we completed our discussion of Chapter 5 of [VST] Recall that if V and W are inner product spaces then a linear map T : V W is called an isometry

### LECTURE 1 I. Inverse matrices We return now to the problem of solving linear equations. Recall that we are trying to find x such that IA = A

LECTURE I. Inverse matrices We return now to the problem of solving linear equations. Recall that we are trying to find such that A = y. Recall: there is a matri I such that for all R n. It follows that

### For the case of an N-dimensional spinor the vector α is associated to the onedimensional . N

1 CHAPTER 1 Review of basic Quantum Mechanics concepts Introduction. Hermitian operators. Physical meaning of the eigenvectors and eigenvalues of Hermitian operators. Representations and their use. on-hermitian

### Modern Geometry Homework.

Modern Geometry Homework. 1. Rigid motions of the line. Let R be the real numbers. We define the distance between x, y R by where is the usual absolute value. distance between x and y = x y z = { z, z

### Coordinates and Transformations

Coordinates and Transformations MIT ECCS 6.837 Wojciech Matusik many slides follow Steven Gortler s book 1 Hierarchical modeling Many coordinate systems: Camera Static scene car driver arm hand... Image

### = [a ij ] 2 3. Square matrix A square matrix is one that has equal number of rows and columns, that is n = m. Some examples of square matrices are

This document deals with the fundamentals of matrix algebra and is adapted from B.C. Kuo, Linear Networks and Systems, McGraw Hill, 1967. It is presented here for educational purposes. 1 Introduction In

### 1 VECTOR SPACES AND SUBSPACES

1 VECTOR SPACES AND SUBSPACES What is a vector? Many are familiar with the concept of a vector as: Something which has magnitude and direction. an ordered pair or triple. a description for quantities such

### MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS

MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS Systems of Equations and Matrices Representation of a linear system The general system of m equations in n unknowns can be written a x + a 2 x 2 + + a n x n b a

### MATH10212 Linear Algebra. Systems of Linear Equations. Definition. An n-dimensional vector is a row or a column of n numbers (or letters): a 1.

MATH10212 Linear Algebra Textbook: D. Poole, Linear Algebra: A Modern Introduction. Thompson, 2006. ISBN 0-534-40596-7. Systems of Linear Equations Definition. An n-dimensional vector is a row or a column

### ASEN 3112 - Structures. MDOF Dynamic Systems. ASEN 3112 Lecture 1 Slide 1

19 MDOF Dynamic Systems ASEN 3112 Lecture 1 Slide 1 A Two-DOF Mass-Spring-Dashpot Dynamic System Consider the lumped-parameter, mass-spring-dashpot dynamic system shown in the Figure. It has two point

### Average Angular Velocity

Average Angular Velocity Hanno Essén Department of Mechanics Royal Institute of Technology S-100 44 Stockholm, Sweden 199, December Abstract This paper addresses the problem of the separation of rotational

### Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture 7 Transformations in 2-D

Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture 7 Transformations in 2-D Welcome everybody. We continue the discussion on 2D

### Lecture Notes 2: Matrices as Systems of Linear Equations

2: Matrices as Systems of Linear Equations 33A Linear Algebra, Puck Rombach Last updated: April 13, 2016 Systems of Linear Equations Systems of linear equations can represent many things You have probably

### w = COI EYE view direction vector u = w ( 010,, ) cross product with y-axis v = w u up vector

. w COI EYE view direction vector u w ( 00,, ) cross product with -ais v w u up vector (EQ ) Computer Animation: Algorithms and Techniques 29 up vector view vector observer center of interest 30 Computer

### Grassmann Algebra in Game Development. Eric Lengyel, PhD Terathon Software

Grassmann Algebra in Game Development Eric Lengyel, PhD Terathon Software Math used in 3D programming Dot / cross products, scalar triple product Planes as 4D vectors Homogeneous coordinates Plücker coordinates

### Direct Methods for Solving Linear Systems. Linear Systems of Equations

Direct Methods for Solving Linear Systems Linear Systems of Equations Numerical Analysis (9th Edition) R L Burden & J D Faires Beamer Presentation Slides prepared by John Carroll Dublin City University

### 6. ISOMETRIES isometry central isometry translation Theorem 1: Proof:

6. ISOMETRIES 6.1. Isometries Fundamental to the theory of symmetry are the concepts of distance and angle. So we work within R n, considered as an inner-product space. This is the usual n- dimensional

### State of Stress at Point

State of Stress at Point Einstein Notation The basic idea of Einstein notation is that a covector and a vector can form a scalar: This is typically written as an explicit sum: According to this convention,

### Determinants LECTURE Calculating the Area of a Parallelogram. Definition Let A be a 2 2 matrix. A = The determinant of A is the number

LECTURE 13 Determinants 1. Calculating the Area of a Parallelogram Definition 13.1. Let A be a matrix. [ a c b d ] The determinant of A is the number det A) = ad bc Now consider the parallelogram formed

### Introduction to Matrix Algebra

Psychology 7291: Multivariate Statistics (Carey) 8/27/98 Matrix Algebra - 1 Introduction to Matrix Algebra Definitions: A matrix is a collection of numbers ordered by rows and columns. It is customary

### Mathematics Course 111: Algebra I Part IV: Vector Spaces

Mathematics Course 111: Algebra I Part IV: Vector Spaces D. R. Wilkins Academic Year 1996-7 9 Vector Spaces A vector space over some field K is an algebraic structure consisting of a set V on which are

### Elements of Linear Algebra: Q&A

Elements of Linear Algebra: Q&A A matrix is a rectangular array of objects (elements that are numbers, functions, etc.) with its size indicated by the number of rows and columns, i.e., an m n matrix A

### The basic unit in matrix algebra is a matrix, generally expressed as: a 11 a 12. a 13 A = a 21 a 22 a 23

(copyright by Scott M Lynch, February 2003) Brief Matrix Algebra Review (Soc 504) Matrix algebra is a form of mathematics that allows compact notation for, and mathematical manipulation of, high-dimensional

### 1111: Linear Algebra I

1111: Linear Algebra I Dr. Vladimir Dotsenko (Vlad) Lecture 3 Dr. Vladimir Dotsenko (Vlad) 1111: Linear Algebra I Lecture 3 1 / 12 Vector product and volumes Theorem. For three 3D vectors u, v, and w,

### Geometric Objects and Transformations

Geometric Objects and ransformations How to represent basic geometric types, such as points and vectors? How to convert between various represenations? (through a linear transformation!) How to establish

### Dynamics. Basilio Bona. DAUIN-Politecnico di Torino. Basilio Bona (DAUIN-Politecnico di Torino) Dynamics 2009 1 / 30

Dynamics Basilio Bona DAUIN-Politecnico di Torino 2009 Basilio Bona (DAUIN-Politecnico di Torino) Dynamics 2009 1 / 30 Dynamics - Introduction In order to determine the dynamics of a manipulator, it is

### The Matrix Elements of a 3 3 Orthogonal Matrix Revisited

Physics 116A Winter 2011 The Matrix Elements of a 3 3 Orthogonal Matrix Revisited 1. Introduction In a class handout entitled, Three-Dimensional Proper and Improper Rotation Matrices, I provided a derivation

### Linear transformations Affine transformations Transformations in 3D. Graphics 2011/2012, 4th quarter. Lecture 5: linear and affine transformations

Lecture 5 Linear and affine transformations Vector transformation: basic idea Definition Examples Finding matrices Compositions of transformations Transposing normal vectors Multiplication of an n n matrix

### Linear Algebra Review. Vectors

Linear Algebra Review By Tim K. Marks UCSD Borrows heavily from: Jana Kosecka kosecka@cs.gmu.edu http://cs.gmu.edu/~kosecka/cs682.html Virginia de Sa Cogsci 8F Linear Algebra review UCSD Vectors The length

### 1.5 SOLUTION SETS OF LINEAR SYSTEMS

1-2 CHAPTER 1 Linear Equations in Linear Algebra 1.5 SOLUTION SETS OF LINEAR SYSTEMS Many of the concepts and computations in linear algebra involve sets of vectors which are visualized geometrically as

### Vectors Math 122 Calculus III D Joyce, Fall 2012

Vectors Math 122 Calculus III D Joyce, Fall 2012 Vectors in the plane R 2. A vector v can be interpreted as an arro in the plane R 2 ith a certain length and a certain direction. The same vector can be

### Kinematics of Robots. Alba Perez Gracia

Kinematics of Robots Alba Perez Gracia c Draft date August 31, 2007 Contents Contents i 1 Motion: An Introduction 3 1.1 Overview.......................................... 3 1.2 Introduction.........................................

### This week. CENG 732 Computer Animation. The Display Pipeline. Ray Casting Display Pipeline. Animation. Applying Transformations to Points

This week CENG 732 Computer Animation Spring 2006-2007 Week 2 Technical Preliminaries and Introduction to Keframing Recap from CEng 477 The Displa Pipeline Basic Transformations / Composite Transformations

### Part 21. Isometries. Overview. Contents. 1 Isometry. Printed version of the lecture Differential Geometry on 20. November 2009

Part 21 Isometries Printed version of the lecture Differential Geometry on 20. November 2009 Tommy R. Jensen, Department of Mathematics, KNU 21.1 Overview Contents 1 Isometry 1 2 Orthogonal Transformations

### Inner Product Spaces and Orthogonality

Inner Product Spaces and Orthogonality week 3-4 Fall 2006 Dot product of R n The inner product or dot product of R n is a function, defined by u, v a b + a 2 b 2 + + a n b n for u a, a 2,, a n T, v b,

### DETERMINANTS. b 2. x 2

DETERMINANTS 1 Systems of two equations in two unknowns A system of two equations in two unknowns has the form a 11 x 1 + a 12 x 2 = b 1 a 21 x 1 + a 22 x 2 = b 2 This can be written more concisely in

### Lecture 14. More on rotation. Rotational Kinematics. Rolling Motion. Torque. Cutnell+Johnson: , 9.1. More on rotation

Lecture 14 More on rotation Rotational Kinematics Rolling Motion Torque Cutnell+Johnson: 8.1-8.6, 9.1 More on rotation We ve done a little on rotation, discussing objects moving in a circle at constant

### Singularity Analysis of a Parallel Manipulator with Cylindrical Joints

roceedings of the World Congress on Engineering 212 Vol III WCE 212, July 4-6, 212, London, U.K. Singularity Analysis of a arallel Manipulator with Cylindrical Joints Zhumadil Zh. Baigunchekov, and Myrzabay

### Notes on Determinant

ENGG2012B Advanced Engineering Mathematics Notes on Determinant Lecturer: Kenneth Shum Lecture 9-18/02/2013 The determinant of a system of linear equations determines whether the solution is unique, without

### Lecture Notes 1: Matrix Algebra Part B: Determinants and Inverses

University of Warwick, EC9A0 Maths for Economists Peter J. Hammond 1 of 57 Lecture Notes 1: Matrix Algebra Part B: Determinants and Inverses Peter J. Hammond email: p.j.hammond@warwick.ac.uk Autumn 2012,

### Markov Chains, part I

Markov Chains, part I December 8, 2010 1 Introduction A Markov Chain is a sequence of random variables X 0, X 1,, where each X i S, such that P(X i+1 = s i+1 X i = s i, X i 1 = s i 1,, X 0 = s 0 ) = P(X

### MATH36001 Background Material 2015

MATH3600 Background Material 205 Matrix Algebra Matrices and Vectors An ordered array of mn elements a ij (i =,, m; j =,, n) written in the form a a 2 a n A = a 2 a 22 a 2n a m a m2 a mn is said to be

### Quaternions & IMU Sensor Fusion with Complementary Filtering!

!! Quaternions & IMU Sensor Fusion with Complementary Filtering! Gordon Wetzstein! Stanford University! EE 267 Virtual Reality! Lecture 10! stanford.edu/class/ee267/! April 27, 2016! Updates! project proposals

### Mechanics lecture 7 Moment of a force, torque, equilibrium of a body

G.1 EE1.el3 (EEE1023): Electronics III Mechanics lecture 7 Moment of a force, torque, equilibrium of a body Dr Philip Jackson http://www.ee.surrey.ac.uk/teaching/courses/ee1.el3/ G.2 Moments, torque and

### Kinematical Animation. lionel.reveret@inria.fr 2013-14

Kinematical Animation 2013-14 3D animation in CG Goal : capture visual attention Motion of characters Believable Expressive Realism? Controllability Limits of purely physical simulation : - little interactivity