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

Similar documents
Ridig Body Motion Homogeneous Transformations

Homogeneous Transformations

Position and orientation of rigid bodies

MEAM 520. Homogenous Transformations

Minimal representations of orientation

Rigid Geometric Transformations

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

we must pay attention to the role of the coordinate system w.r.t. which we perform a tform

Lecture Note 4: General Rigid Body Motion

MATH 221: SOLUTIONS TO SELECTED HOMEWORK PROBLEMS

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

Additional Problem (HW 10)

we must pay attention to the role of the coordinate system w.r.t. which we perform a tform

is Use at most six elementary row operations. (Partial

Differential Kinematics

MCE/EEC 647/747: Robot Dynamics and Control. Lecture 8: Basic Lyapunov Stability Theory

6. Linear Transformations.

:25 1. Rotations. A rotation is in general a transformation of the 3D space with the following properties:

Linear Algebra Review. Fei-Fei Li

22A-2 SUMMER 2014 LECTURE Agenda

The Jacobian. Jesse van den Kieboom

Intro Vectors 2D implicit curves 2D parametric curves. Graphics 2011/2012, 4th quarter. Lecture 2: vectors, curves, and surfaces

8 Velocity Kinematics

MCE/EEC 647/747: Robot Dynamics and Control. Lecture 12: Multivariable Control of Robotic Manipulators Part II

Notes on multivariable calculus

Exercise 1b: Differential Kinematics of the ABB IRB 120

Matrix-Vector Products and the Matrix Equation Ax = b

MEAM 520. More Velocity Kinematics

Lecture 10. Rigid Body Transformation & C-Space Obstacles. CS 460/560 Introduction to Computational Robotics Fall 2017, Rutgers University

ECE569 Exam 1 October 28, Name: Score: /100. Please leave fractions as fractions, but simplify them, etc.

Vectors and Matrices

Span and Linear Independence

Introduction to Matrix Algebra

Rigid Geometric Transformations

Lecture 7. Econ August 18

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

[ Here 21 is the dot product of (3, 1, 2, 5) with (2, 3, 1, 2), and 31 is the dot product of

Properties of Transformations

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

Vectors in Three Dimensions and Transformations

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

Intro Vectors 2D implicit curves 2D parametric curves. Graphics 2012/2013, 4th quarter. Lecture 2: vectors, curves, and surfaces

v = v 1 2 +v 2 2. Two successive applications of this idea give the length of the vector v R 3 :

Lecture Note 8: Inverse Kinematics

We could express the left side as a sum of vectors and obtain the Vector Form of a Linear System: a 12 a x n. a m2

NOTES ON LINEAR ALGEBRA CLASS HANDOUT

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

03 - Basic Linear Algebra and 2D Transformations

Chapter 1. Rigid Body Kinematics. 1.1 Introduction

Overview of vector calculus. Coordinate systems in space. Distance formula. (Sec. 12.1)

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

Vector Operations. Vector Operations. Graphical Operations. Component Operations. ( ) ˆk

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

Position and orientation of rigid bodies

Chapter 2 Coordinate Systems and Transformations

DYNAMICS OF PARALLEL MANIPULATOR

Vectors. In kinematics, the simplest concept is position, so let s begin with a position vector shown below:

1 Matrices and matrix algebra

Chapter 3: Theory Review: Solutions Math 308 F Spring 2015

Robotics, Geometry and Control - Rigid body motion and geometry

There are two things that are particularly nice about the first basis

Chapter 8. Rigid transformations

Section 10.7 The Cross Product

Math Bootcamp An p-dimensional vector is p numbers put together. Written as. x 1 x =. x p

LS.1 Review of Linear Algebra

Lecture Notes - Modeling of Mechanical Systems

Lecture 4: Affine Transformations. for Satan himself is transformed into an angel of light. 2 Corinthians 11:14

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

Physics 342 Lecture 2. Linear Algebra I. Lecture 2. Physics 342 Quantum Mechanics I

CS123 INTRODUCTION TO COMPUTER GRAPHICS. Linear Algebra /34

MTAEA Vectors in Euclidean Spaces

CSE 167: Introduction to Computer Graphics Lecture #2: Linear Algebra Primer

Lecture 13: Matrix Representations for Affine and Projective Transformations

Section 13.4 The Cross Product

F F. proj cos( ) v. v proj v

Definition 1. A set V is a vector space over the scalar field F {R, C} iff. there are two operations defined on V, called vector addition

GEOMETRY AND VECTORS

1 Last time: multiplying vectors matrices

Introduction and Vectors Lecture 1

Computer Graphics: 2D Transformations. Course Website:

Numerical Linear Algebra Homework Assignment - Week 2

Lecture 4: Affine Transformations. for Satan himself is transformed into an angel of light. 2 Corinthians 11:14

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

Math 3C Lecture 20. John Douglas Moore

Lecture 3: Linear Algebra Review, Part II

A VERY BRIEF LINEAR ALGEBRA REVIEW for MAP 5485 Introduction to Mathematical Biophysics Fall 2010

UAV Coordinate Frames and Rigid Body Dynamics

CSE 167: Introduction to Computer Graphics Lecture #2: Linear Algebra Primer

MATH 22A: LINEAR ALGEBRA Chapter 1

REVIEW - Vectors. Vectors. Vector Algebra. Multiplication by a scalar

Lecture 6 & 7. Shuanglin Shao. September 16th and 18th, 2013

Linear Algebra. Min Yan

Basic Linear Algebra. Florida State University. Acknowledgements: Daniele Panozzo. CAP Computer Graphics - Fall 18 Xifeng Gao

a 11 x 1 + a 12 x a 1n x n = b 1 a 21 x 1 + a 22 x a 2n x n = b 2.

1. TRUE or FALSE. 2. Find the complete solution set to the system:

Lecture Note 1: Background

1 Last time: inverses

MECH 576 Geometry in Mechanics November 30, 2009 Kinematics of Clavel s Delta Robot

MATH 2331 Linear Algebra. Section 1.1 Systems of Linear Equations. Finding the solution to a set of two equations in two variables: Example 1: Solve:

Basic Math Matrices & Transformations

Transcription:

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 and Frames Our goals in this chapter are: Frames: o 0 x 0 y 0, o 1 x 1 y 1 Coordinates of point p relative to frame 0: p 0 = [5 6] T Components of vector v 2 relative to frame 1: v 1 2 = [ 2.89 4.2] T 1. To convert the coordinates of a point from one frame to another (typically from the end effector frame to the base (world) frame. See Prob. 2-39. 2. To describe the position and orientation of a rigid object (typically attached to the end effector frame) in a compact matrix notation: the homogeneous transformation. 3. For this, we need to understand how a sequence of rotations can be understood in terms of matrix multiplications. MCE503 p.2/22

Linear Transformations and Matrices A linear transformation T is a mapping which takes a vector v and returns another vector Tv. T satisfies T(v 1 +v 2 ) = T(v 1 )+T(v 2 ) and T(αv) = αt(v), with α being a scalar. The vectors v belong to a vector space. In this course, we work only with R 2 and R 3 as vector spaces, with real scalars. Once a basis is chosen for the vector space (R 2 or R 3 ), the linear transformation is equivalent to multiplication of a matrix A by the vector v. A linear transformation is defined by what it does to a basis. For example, choose the standard basis for R 2 : e 1 = [1 0] T and e 2 = [0 1] T and consider the transformation T defined by T(e 1 ) = [1 1] T and T(e 2 ) = [1 3] T. MCE503 p.3/22 Linear Transformations and Matrices... The columns of A are the images of the basis vectors under T.. Find the matrix A of T w.r.t. the standard basis and then transform the vector v = [2 1] T. Now find the matrix B of T with respect to the basis u 1 = [ 1 1] T and u 2 = [2 2] T (express these as a combination of e 1 and e 2 and use linearity to find the images. Express these images in the new basis to find the columns of B). Express v in this basis and transform it under B. Use Matlab to interpret the results geometrically. MCE503 p.4/22

Rotation Matrices We saw that multiplication by the matrix of T had the effect of rotating v by 45 degrees clockwise and changing the length from 5 to (10). In general, given v, the effect of Av is a rotation and a change in length. In robotics we are interested in a special kind of matrix which only rotates, but does not change the length of v. These are called orthogonal matrices. The set of all n n orthogonal matrices is called SO(n), for Special Orthogonal Group of order n. Matrices in SO(n) have the following properties: R 1 = R T SO(n) Any two different columns and any two different rows are mutually orthogonal (r i.r j = 0 whenever i j). The length of each row and column is 1. detr = 1. Note: if detr = 1, R is still orthogonal, but not a member of SO(n). MCE503 p.5/22 2D Rotation Matrices by Angle of Rotation As we derive next, the coordinates of a point p 0 (in frame 0) can be obtained from the coordinates of the point in frame 1 (p 1 ) by multiplication: p 0 = R 0 1p 1 where the notation for R 0 1 is understood as the rotation matrix to go from 1 to 0. R1 0 has the form R1 0 cosθ sinθ = sinθ cosθ This way of specifying R is not convenient due to a jump from 2π to 0. Also, the method does not extend well to 3D. Show that R SO(2). MCE503 p.6/22

2D Rotation Matrices by Projection A far more convenient way to find a rotation matrix is to find the projections of the axes of frame 1 onto those of frame 0, specifically: R 0 1 = x 1.x 0 y 1.x 0 z 1.x 0 x 1.y 0 y 1.y 0 z 1.y 0 x 1.z 0 y 1.z 0 z 1.z 0 Recall that the projection of a unit vector onto another is given by the dot product. Examine Examples 2.1 and 2.2 at home. As a class example, we find the 3D rotation matrix corresponding to a -45 degree rotation about the x 0 -axis. Discuss the sign in relation to the right-hand rule. MCE503 p.7/22 3 Interpretations of the Rotation Matrix We just saw how R converts the coordinates of a point from frame to frame. R can be thought of the matrix of some linear transformation w.r.t. standard basis (the frame). Multiplication of a vector v by R yields a rotated vector (still unit length). Rv has coordinates in the same frame. By definition, R packs the orientation of frame 1 relative to frame 0 in a compact matrix notation. MCE503 p.8/22

Properties of Rotation Matrices All properties of SO(n) hold. If we wish to find R 1 0, we switch the indices 0 and 1 in the definition of R 0 1. Since the dot product commutes, we find R 1 0 = (R 0 1) T (see page 40). Also, if v 0 = R 0 1v 1 then, since R 0 1 is invertible (nonzero determinant), we must have v 1 = (R 0 1) 1 v 0. On the other hand, we can say v 1 = R 1 0v 0, therefore R 1 0 = (R 0 1) 1 = (R 0 1) T This confirms one of the orthogonality requirements. MCE503 p.9/22 Change of Basis: Similarity Transforms Suppose we have two frames related by a particular R 0 1. In addition, we have a rotation matrix A defined in frame 0 (interpret A as a vector rotator s.t. w 0 = Av 0 ). What is the matrix B realizing the same rotation in frame 1? -We derive Eq. 2.11 in SHV. We have v 1 = R 1 0v 0, therefore v 0 = (R 1 0) 1 v 1. Also, w 1 = R 1 0w 0, but w 0 = Av 0, so making substitutions: w 1 = R 1 0Av 0 = R 1 0A(R 1 0) 1 v 1. Therefore B = R 1 0A(R 1 0) 1 Complete the steps necessary to obtain Eq. 2.11 in SHV. We say that A and B are related by similarity transformation. These transformations will be used frequently. MCE503 p.10/22

Chained Rotations If we attach a coordinate frame to each link of a manipulator, we see that the end effector frame will be related to the base frame by a series of rotations (and offsets, which will be treated later). We need to obtain the overall rotation matrix corresponding to a sequence of rotations. Two cases arise: rotations relative to the current frame (recursively defined); or rotations relative to a fixed frame (usually the world frame). MCE503 p.11/22 Chained Rotations: Current Frame Suppose we have a series of rotations defined w.r.t. the last frame: R 0 1, R 1 2, R 2 3... etc. Then, if we start with a point p 0 we have Therefore, after k rotations we have p 0 = R 0 1p 1 = R 0 1R 1 2p 2 = R 0 1R 1 2R 2 3p 3... p 0 = R1R 0 2R 1 3...R 2 k 1 k p k = Rkp 0 k The composite rotation is simply the product (in the same order!) of all rotations. Remember that rotation does not commute (except in the infinitesimal case), nor does matrix multiplication. MCE503 p.12/22

Chained Rotations: Fixed Frame Suppose we have a series of rotations defined always w.r.t. the first frame: R 0 1, R 0 2, R 0 3... etc. Then, if we start with p 0 we have p 0 = R 0 1p 1 The next rotation is defined relative to frame 0. We can transform it to frame 1 according to the similarity transformation formula R 1 2 = (R 0 1) 1 R 0 2R 0 1. Then we have p 0 = R 0 1(R 0 1) 1 R 0 2R 0 1p 2 = R 0 2R 0 1p 2 As an exercise continue the process to show that the overall rotation is obtained by multiplying the individual ones in reverse. MCE503 p.13/22 Examples 2-14 2-8 MCE503 p.14/22

Parameterization of Rotations A 3-by-3 matrix has 9 entries. However, we know that any rotation can be described in terms of only 3 angles (one rotation about each coord. axis, for instance). This means that the 9 entries are related (not independent). We can actually write 6 equations expressing the conditions for the matrix to belong to SO(3). There are three useful parameterizations: Euler angles, Roll, Pitch and Yaw and Axis/Angle representation. We study only the first two. The Euler angles are three specific successive rotations about current frames. The Roll, Pitch and Yaw rotations are performed relative to a fixed frame. MCE503 p.15/22 Euler Angles 1. Rotate about z-axis by angle φ 2. Rotate about the current y-axis 3. Rotate about the current z-axis by ψ As an exercise, find each one of the rotation matrices and multiply to obtain Eq. 2.26 by θ R ZY Z = c φ c θ c ψ s φ s ψ c φ c θ s ψ s φ c ψ c φ s θ s φ c θ c φ +c φ s ψ s φ c θ s ψ +c φ c ψ s φ s θ s θ c ψ s θ s ψ c θ Note the shorthand notation for sine and cosine. To get an idea of the inverse kinematics problem, consider finding φ,θ and ψ given a numeric R ZY Z matrix. See some solutions in pages 55-56. MCE503 p.16/22

Roll, Pitch and Yaw Parameterization 1. Rotate about x 0 -axis by angle ψ (yaw) 2. Rotate about y 0 -axis by θ (pitch) 3. Rotate about z 0 -axis by φ (roll) As an exercise, find each one of the rotation matrices and multiply to obtain Eq. 2.38 R = c φ c θ s φ c ψ +c φ s θ s ψ s φ s ψ +c φ s θ c ψ s φ c θ c φ c θ +s φ s θ s ψ c φ s ψ +s φ s θ c ψ s θ c θ s ψ c θ c ψ Note that the same rotations in reverse order and w.r.t current frames would give the same matrix. Also, the solutions to the inverse kinematics problem can be otained using techniques similar to those used for the Euler parameterization. MCE503 p.17/22 Translation+Rotation: Homogeneous Transformations The objective is to account for a displacement of origin of the rotated frames. Suppose we have three frames: o 0 x 0 y 0 z 0,o 1 x 1 y 1 z 1 and o 2 x 2 y 2 z 2. The vector from frame 0 to frame 1 is d 1 and the vector from frame 1 to frame 2 is d 2 (so far, the d s are coordinate-free). Finally, suppose p 2 is a point expressed in the coordinates of frame 2. Then we have p 0 = R 0 1p 1 +d 0 1 p 1 = R 1 2p 2 +d 1 2 Substituting p 0 = (R 0 1R 1 2)p 2 +(R 0 1d 1 2 +d 0 1) MCE503 p.18/22

Homogeneous Transformations... It is not difficult to show that a single rotation accompanied by a translation can be captured by a matrix multiplication of the form: p0 1 = R0 1 d 0 1 0 1 p0 The matrix, notated H 0 1, is 4-by-4. The zero is actually a 1-by-3 array. The d 0 1 is a column-vector of 3 components. The set of all matrices of the above form is called SE(3), for Special Euclidean Group. 1 MCE503 p.19/22 Properties of SE(3) A series of rotations+displacements H 1,H 2..etc. is equivalent to a single rotation and displacement of the product of the individual H s. If the rotations contained in each H are w.r.t. to current frames, we use the same order for the multiplication: H 1 H 2... If the rotations contained in each H are w.r.t. to a fixed frame, we use the reverse order in the multiplication:...h 2 H 1. There is a formula for the inverse homogeneous transformation: See Eq.2.60. There is a set of 6 homogeneous primitives which may be combined to generate any arbitrary element of SE(3): three translations and three rotations (kind of expected). MCE503 p.20/22

Generators of SE(3) The six homogeneous primitives are Trans x,a = Trans y,b = Trans z,c = 1 0 0 a 0 1 0 0 0 0 1 0 1 0 0 0 0 1 0 b 0 0 1 0 1 0 0 0 0 1 0 0 0 0 1 c Rot x,α = Rot y,β = Rot z,γ = 1 0 0 0 0 c α s α 0 0 s α c α 0 c β 0 s β 0 0 1 0 0 s β 0 c β 0 c γ s γ 0 0 s γ c γ 0 0 0 0 1 0 MCE503 p.21/22 Examples Example 2-10 Exercise 2-37, Exercises 2-38,2-39 MCE503 p.22/22