Robotics, Fall 2006 Lecture 3: Homogenous Transformations (Translation & Rotation) Copyright © 2005, 2006 Jennifer Kay.

Slides:



Advertisements
Similar presentations
Denavit-Hartenberg Convention
Advertisements

Kinematics Pose (position and orientation) of a Rigid Body
The Concepts of Orientation/Rotation ‘Transformations’ ME Lecture Series 2 Fall 2011, Dr. R. Lindeke 1.
2D Geometric Transformations
Ch. 2: Rigid Body Motions and Homogeneous Transforms
Spatial Descriptions and Transformations Introduction to Motion
Outline for Today More math… Finish linear algebra: Matrix composition
Robotics, Fall 2006 Dr. Jennifer Kay Lecture 1: Coordinate Frames
Introduction to Robotics Lecture II Alfred Bruckstein Yaniv Altshuler.
Computer Graphics (Fall 2008) COMS 4160, Lecture 3: Transformations 1
Math for CSLecture 11 Mathematical Methods for Computer Science Lecture 1.
Robotics, Fall 2006 Lecture 4: Forward Kinematics and Some Mathematica Copyright © 2005, 2006 Jennifer Kay.
Rotations and Translations. Representing a Point 3D A tri-dimensional point A is a reference coordinate system here.
Computer Graphics (Fall 2004) COMS 4160, Lecture 3: Transformations 1
Screw Rotation and Other Rotational Forms
2D Transformations. World Coordinates Translate Rotate Scale Viewport Transforms Hierarchical Model Transforms Putting it all together.
An Introduction to Robot Kinematics
KINEMATICS ANALYSIS OF ROBOTS (Part 1) ENG4406 ROBOTICS AND MACHINE VISION PART 2 LECTURE 8.
More details and examples on robot arms and kinematics
INTRODUCTION TO DYNAMICS ANALYSIS OF ROBOTS (Part 5)
1 Matrix Math ©Anthony Steed Overview n To revise Vectors Matrices n New stuff Homogenous co-ordinates 3D transformations as matrices.
KINEMATIC CHAINS AND ROBOTS (III). Many robots can be viewed as an open kinematic chains. This lecture continues the discussion on the analysis of kinematic.
Foundations of Computer Graphics (Fall 2012) CS 184, Lecture 3: Transformations 1
1 Kinematics ( 運動學 ) Primer Jyun-Ming Chen Fall 2009.
COS 397 Computer Graphics Svetla Boytcheva AUBG, Spring 2013.
Transformations Aaron Bloomfield CS 445: Introduction to Graphics
Kinematics of Robot Manipulator
Lecture Notes: Computer Graphics.
Rotations and Translations
Rotations and Translations 1. Mathematical terms The inner product of 2 vectors a,b is defined as: The cross product of 2 vectors is defined as: A unit.
Transformations Jehee Lee Seoul National University.
KINEMATICS ANALYSIS OF ROBOTS (Part 2)
CS 376 Introduction to Computer Graphics 02 / 16 / 2007 Instructor: Michael Eckmann.
INTRODUCTION TO DYNAMICS ANALYSIS OF ROBOTS (Part 3)
Computer Graphics, KKU. Lecture 51 Transformations Given two frames in an affine space of dimension n, we can find a ( n+1 ) x ( n +1) matrix that.
Jinxiang Chai Composite Transformations and Forward Kinematics 0.
3D transformations Dr Nicolas Holzschuch University of Cape Town Modified by Longin Jan Latecki
Spatial Modeling – some fundamentals for Robot Kinematics ME 3230.
EEE. Dept of HONG KONG University of Science and Technology Introduction to Robotics Page 1 Lecture 2. Rigid Body Motion Main Concepts: Configuration Space.
KINEMATIC CHAINS AND ROBOTS (II). Many machines can be viewed as an assemblage of rigid bodies called kinematic chains. This lecture continues the discussion.
Robot Kinematics: Position Analysis 2.1 INTRODUCTION  Forward Kinematics: to determine where the robot ’ s hand is? (If all joint variables are known)
Geometrical Transformations 2 Adapted from Fundamentals of Interactive Computer Graphics, Foley and van Dam, pp , by Geb Thomas.
What is Kinematics. Kinematics studies the motion of bodies.
Geometric Transformations
ECE 450 Introduction to Robotics Section: Instructor: Linda A. Gee 10/07/99 Lecture 11.
3D Transformation A 3D point (x,y,z) – x,y, and z coordinates
INTRODUCTION TO DYNAMICS ANALYSIS OF ROBOTS (Part 4)
CS552: Computer Graphics Lecture 4: 2D Graphics. Recap 2D Graphics Coordinate systems 2D Transformations o Translation o Scaling o Rotation Combining.
Foundations of Computer Graphics (Spring 2012) CS 184, Lecture 3: Transformations 1
Digital Image Processing Additional Material : Imaging Geometry 11 September 2006 Digital Image Processing Additional Material : Imaging Geometry 11 September.
Honors Geometry.  We learned how to set up a polygon / vertex matrix  We learned how to add matrices  We learned how to multiply matrices.
KINEMATICS ANALYSIS OF ROBOTS (Part 5). This lecture continues the discussion on the analysis of the forward and inverse kinematics of robots. After this.
Euler Angles This means, that we can represent an orientation with 3 numbers Assuming we limit ourselves to 3 rotations without successive rotations about.
Forward Kinematics Where is my hand ?. Examples Denavit-Hartenberg Specialized description of articulated figures (joints) Each joint has only one degree.
CS 325 Introduction to Computer Graphics 02 / 19 / 2010 Instructor: Michael Eckmann.
Copyright  1999 by James H. Money. All rights reserved. Except as permitted under United States Copyright Act of 1976, no part of this publication may.
INTRODUCTION TO DYNAMICS ANALYSIS OF ROBOTS (Part 2)
Digital Image Processing CCS331 Camera Model and Imaging Geometry 1.
Robotic Arms and Matrices By Chris Wong and Chris Marino.
Velocity Propagation Between Robot Links 3/4 Instructor: Jacob Rosen Advanced Robotic - MAE 263D - Department of Mechanical & Aerospace Engineering - UCLA.
Lecture 10 Geometric Transformations In 3D(Three- Dimensional)
HOMOGENEOUS REPRESENTATION
Review: Transformations
With an immediate use for it
4-4 Geometric Transformations with Matrices
Rigid Body Transformations
Splash Screen.
3D transformations Dr Nicolas Holzschuch University of Cape Town
Rigid Body Transformations
Presentation transcript:

Robotics, Fall 2006 Lecture 3: Homogenous Transformations (Translation & Rotation) Copyright © 2005, 2006 Jennifer Kay

Review: Transforming Points Between Coordinate Frames Simple start: translation along one axis

Review We have talked about two concepts. It is extremely important that you do not confuse the two 1. How do we take a point that is in frame j coordinates and convert it to be in frame k coordinates? 2. How do we compute the transformation between frame j and frame k (i.e. how would we move frame j to line it up with frame k)?

Review: General Matrix for Arbitrary Translation Along the X,Y,Z axes Suppose that to get from frame p to frame q: – Move a units along p’s x axis – Move b units along p’s y axis – Move c units along p’s z axis To take a point from q coordinates to p coordinates, premultiply by:

Review The transformation that takes a point in j coordinates and computes its location in k coordinates. Easiest way to come up with the matrix: first figure out how to move frame k to frame j.

What about Rotation? How do we transform the k coordinate frame into the j coordinate frame? (i.e., what is )

First: Visually compute the following Consider the origin of the j axis, (in j coordinates). What is its location in k coordinates? Consider the point (in j coordinates). What is its location in k coordinates? x j y j z j z k x k y k

Transformation Matrices for Rotations about the Z axis = Rot z(-90) Rot z(θ) = =? x j y j z j z k x k y k

Sanity check: Let’s test our matrix on the examples we did by hand (1) We said that x j y j z j z k x k y k = = j k= ?

Sanity check: Let’s test our matrix on the examples we did by hand (2) j = = ? We said that k x j y j z j z k x k y k =

So Where Are We? Now: We can compute the F (and T) matrices when: – The two frames only differ by translation along some combination of translations along the x, y, and z axes. – The two frames only differ by a rotation about one of the z axes. NEXT – The general case: any combination of rotations and translations.

Two ways to compute the relationship between two frames “Moving Axes” Approach “Fixed Axes” Approach Both approaches give the same result You should learn to do both, because some problems are easier to solve with moving axes, and others are easier with fixed axes.

Introduction to Solving the General Problem What sequence of moves do you need to make to compute ? Try it with frame models!

: Moving Axes (Many ways to do it) One approach: Start in world coordinates xwxw ywyw zwzw FwFw g

One approach: xwxw ywyw zwzw 1. Rotate about x w by –90 degrees. Call the resulting frame Frame 1, and its axes x1, y1, z1 x1x1 z1z1 y1y1 : Moving Axes FwFw g

2. Rotate about z1 by –90, call the resulting frame Frame 2, with axes x2, y2, z2 One approach: x1x1 z1z1 y1y1 1. Rotate about x w by –90 degrees. Call the resulting frame Frame 1, and its axes x1, y1, z1 x2x2 y2y2 z2z2 : Moving Axes FwFw g

2. Rotate about z1 by –90, call the resulting frame Frame 2, with axes x2, y2, z2 One approach: 3. Translate by (0,0,5) relative to coord frame 2 x2x2 y2y2 z2z2 1. Rotate about x w by –90 degrees. Call the resulting frame Frame 1, and its axes x1, y1, z1 xgxg ygyg zgzg : Moving Axes FwFw g

Moving Axes Notes Every step along the way is based on the resulting frame from the previous step. – E.g. Rotation 2 is based on frame1’s axes, NOT based on the world axes. Summary of our moves: 1. Rot x (-90) 2. Rot z (-90) 3. Trans (0,0,5)

Every move will be relative to the world coordinate frame’s axes. : Using Fixed Axes FwFw g

One approach: xwxw ywyw zwzw 1. Rotate about x w by –90 degrees (now we’re yellow). : Fixed Axes FwFw g

xwxw ywyw zwzw 2. Rotate about y w by –90 degrees (now we’re blue). One approach: 1. Rotate about x w by –90 degrees (now we’re yellow). : Fixed Axes FwFw g

One approach: zwzw xwxw ywyw xgxg ygyg zgzg 2. Rotate about y w by –90 degrees (now we’re blue). 1. Rotate about x w by –90 degrees (now we’re yellow). 3. Translate by (0,5,0) relative to world coords (now we’re green) : Fixed Axes FwFw g

Fixed Axes Notes Every move is relative to your initial frame Summary of our moves: 1. Rot x (-90) 2. Rot y (-90) 3. Trans (0,5,0)

Moving vs. Fixed Moving – Each move is relative to the frame resulting from the previous one – Summary of our moves: 1. Rot x (-90) 2. Rot z (-90) 3. Trans (0,0,5) Fixed – Each move is done relative to the original frame – Summary of our moves: 1. Rot x (-90) 2. Rot y (-90) 3. Trans (0,5,0)

So How Do We Get to the Matrix? A whole pile of equations You do not need to memorize these – in a test situation, I will give you a copy You can find them on page 16 of your reading You should become comfortable using them

Step 1: The Transformation Equations Trans (a,b,c) = Rot x (θ) = Rot y (θ) = Rot z (θ) =

Using Moving Axes Rot x (-90) Rot z (-90) Trans (0,0,5) – Summary of our moves (moving axes): 1. Rot x (-90) 2. Rot z (-90) 3. Trans (0,0,5) 1. List the moves from left to right 2. Replace each move with the appropriate matrix 3. Multiply the matrices together

Using Fixed Axes Trans (0,5,0) Rot y (-90) Rot x (-90) – Summary of our moves (fixed axes): 1. Rot x (-90) 2. Rot y (-90) 3. Trans (0,5,0) 1. List the moves from right to left 2. Replace each move with the appropriate matrix 3. Multiply the matrices together

Fixed Axes: Rotation Warning! E.g.: Rotate w axis –90 o about y g Think about rigidly locking the frames together as you rotate!

Remember! Moving Axes – List the equations from left to right Fixed Axes – List the equations from right to left

Let’s do some examples …… Trans (a,b,c) = Rot x (θ) = Rot y (θ) = Rot z (θ) =