Spatial Descriptions and Transformations Introduction to Motion

Slides:



Advertisements
Similar presentations
Today Composing transformations 3D Transformations
Advertisements

Lecture 3: orientation Computer Animation.
Outline: Introduction Link Description Link-Connection Description
Denavit-Hartenberg Convention
Kinematic Modelling in Robotics
Kinematics Pose (position and orientation) of a Rigid Body
Chris Hall Aerospace and Ocean Engineering
3D Kinematics Eric Whitman 1/24/2010. Rigid Body State: 2D p.
The Concepts of Orientation/Rotation ‘Transformations’ ME Lecture Series 2 Fall 2011, Dr. R. Lindeke 1.
Motion Kinematics – Lecture Series 3 ME 4135 – Fall 2011 R. Lindeke.
2D Geometric Transformations
Chapter 4.1 Mathematical Concepts
Orientation & Quaternions
The City College of New York 1 Dr. Jizhong Xiao Department of Electrical Engineering City College of New York Kinematics of Robot Manipulator.
Chapter 4.1 Mathematical Concepts. 2 Applied Trigonometry Trigonometric functions Defined using right triangle  x y h.
Time to Derive Kinematics Model of the Robotic Arm
Ch. 2: Rigid Body Motions and Homogeneous Transforms
Ch. 4: Velocity Kinematics
3-D Geometry.
3D orientation.
Ch. 3: Forward and Inverse Kinematics
Quaternions CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2004.
Introduction to ROBOTICS
Robotics, Fall 2006 Lecture 3: Homogenous Transformations (Translation & Rotation) Copyright © 2005, 2006 Jennifer Kay.
Rotations and Translations. Representing a Point 3D A tri-dimensional point A is a reference coordinate system here.
Introduction to ROBOTICS
Screw Rotation and Other Rotational Forms
An Introduction to Robot Kinematics
More details and examples on robot arms and kinematics
ME/ECE Professor N. J. Ferrier Forward Kinematics Professor Nicola Ferrier ME Room 2246,
1 C01 – Advanced Robotics for Autonomous Manipulation Department of Mechanical EngineeringME 696 – Advanced Topics in Mechanical Engineering.
1 Kinematics ( 運動學 ) Primer Jyun-Ming Chen Fall 2009.
Rotations and Translations
February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Computational Considerations.
3D Kinematics Consists of two parts 3D rotation 3D translation  The same as 2D 3D rotation is more complicated than 2D rotation (restricted to z- axis)
Chapter 4.1 Mathematical Concepts
CS 450: COMPUTER GRAPHICS QUATERNIONS SPRING 2015 DR. MICHAEL J. REALE.
15/09/2015handout 31 Robot Kinematics Logics of presentation: Kinematics: what Coordinate system: way to describe motion Relation between two coordinate.
Kinematics of Robot Manipulator
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.
Sect 5.4: Eigenvalues of I & Principal Axis Transformation
Kinematics of Robot Manipulator
Spatial Descriptions and Transformations Sebastian van Delden USC Upstate
Advanced Computer Graphics Spring 2014
Basic Kinematics Spatial Descriptions and Transformations Introduction to Motion.
Chapter 2 Rigid Motions and Coordinate Transformations
Rotation and Orientation: Fundamentals Jehee Lee Seoul National University.
What is Kinematics. Kinematics studies the motion of bodies.
CSCE 452 Intro to Robotics CSCE 452: Lecture 1 Introduction, Homogeneous Transformations, and Coordinate frames.
Chapter 2: Description of position and orientation Faculty of Engineering - Mechanical Engineering Department ROBOTICS Outline: Introduction. Descriptions:
Comparing Two Motions Jehee Lee Seoul National University.
Fall 2004CS-321 Dr. Mark L. Hornick 1 2-D Transformations World Coordinates Local/Modelling Coordinates x y Object descriptions Often defined in model.
This Week WeekTopic Week 1 Coordinate Systems, Basic Functions Week 2 Trigonometry and Vectors (Part 1) Week 3 Vectors (Part 2) Week 4 Vectors (Part 3:
Euler Angles This means, that we can represent an orientation with 3 numbers Assuming we limit ourselves to 3 rotations without successive rotations about.
Week 5 - Monday.  What did we talk about last time?  Lines and planes  Trigonometry  Transforms  Affine transforms  Rotation  Scaling  Shearing.
Learning from the Past, Looking to the Future James R. (Jim) Beaty, PhD - NASA Langley Research Center Vehicle Analysis Branch, Systems Analysis & Concepts.
Manipulator Kinematics Treatment of motion without regard to the forces that cause it. Contents of lecture: vResume vDirect kinematics vDenavit-Hartenberg.
Sect. 4.5: Cayley-Klein Parameters 3 independent quantities are needed to specify a rigid body orientation. Most often, we choose them to be the Euler.
Robotics Chapter 3 – Forward Kinematics
Kinematics 제어시스템 이론 및 실습 조현우
Spatcial Description & Transformation
3D Kinematics Consists of two parts
Ch. 2: Rigid Body Motions and Homogeneous Transforms
Mobile Robot Kinematics
Chapter IV Spaces and Transforms
Rotational Kinematics
(c) University of Wisconsin, CS559
A definition we will encounter: Groups
Rotation and Orientation: Fundamentals
Presentation transcript:

Spatial Descriptions and Transformations Introduction to Motion Basic Kinematics Spatial Descriptions and Transformations Introduction to Motion

Objectives of the Lecture Learn to represent position and orientation Be able to transform between coordinate systems. Use frames and homogeneous coordinates Reference: Craig, “Introduction to Robotics,” Chapter 2. Handout: Chapter 1 Almost any introductory book to robotics

Introduction Robot manipulation implies movement in space Coordinate systems are required for describing position/movement Objective: describe rigid body motion Starting point: there is a universe/ inertial/ stationary coordinate system, to which any other coordinate system can be referred

The Descartes Connection Descartes invented what we now call Cartesian coordinates, or the system by which we can graph mathematical functions in two-or three-dimensional space. So, all of those problems you have been working in algebra are his fault. Descartes was lying on his bed watching a fly. Slowly, it came to him that he could describe the fly's position at any instant by just three numbers. Those three numbers were along the planes of the floor and two adjacent walls, what we now call the x,y,z coordinate system. So, all of those problems you have been working in algebra are really the fly’s fault (kill that fly)

Coordinate System in Robotics Descartes invented what we now call Cartesian coordinates, or the system by which we can graph mathematical functions in two-or three-dimensional space. So, all of those problems you have been working in algebra are his fault. Descartes was lying on his bed watching a fly. Slowly, it came to him that he could describe the fly's position at any instant by just three numbers. Those three numbers were along the planes of the floor and two adjacent walls, what we now call the x,y,z coordinate system. So, all of those problems you have been working in algebra are really the fly’s fault (kill that fly) Coordinate System in Robotics

Three Problems with CS Given 2 CS’s, how do we express one as a function of the other? Given a point in one CS, what are the point’s coordinates on a second CS? Apply an operation on a vector

Description of a Position a coordinate system point = position vector XA ZA {A} AP YA

Description of an Orientation Often a point is not enough: need orientation x0 x1 z0 y0 z1 y1  {A} {B} In the example, a description of {B} with respect to {A} suffices to give orientation Orientation = System of Coordinates Directions of {B}: XB, YB and ZB In {A} coord. system: AXB, AYB and AZB

From {A} to {B} {A} XB aX aY aZ We conclude:

Rotation Matrix Stack three unit vectors to form Rotation Matrix describes {B} with respect to {A} Each vector in can be written as dot product of pair of unit vectors: cosine matrix Rows of : unit vectors of {A} with respect to {B} What is ? What is det( )? Position + orientation = Frame

Description of a Frame Frame: set of four vectors giving position + orientation Description of a frame: position + rotation matrix Ex.: x0 x1 z0 y0 z1 y1  {A} {B} position: frame with identity as rotation orientation: frame with zero position

Mapping: from frame 2 frame ZB YB {B} XB Translated Frames AP BP XA ZA YA {A} APBORG If {A} has same orientation as {B}, then {B} differs from {A} in a translation: APBORG AP = BP + APBORG Mapping: change of description from one frame to another. The vector APBORG defines the mapping.

Rotated Frames Description of Rotation = Rotation Matrix YA XA ZA BP XB ZB YB Description of Rotation = Rotation Matrix

Rotated Frame (cont.) The previous expression can be written as The rotation mapping changes the description of a point from one coordinate system to another The point does not change! only its description

Example (2D rotation) XA YA YB XB x0 y0 x1 y1 

General Frame Mapping XA YA ZA AP XB YB ZB BP Replace by the more appealing equation: APBORG {A} A row added here A “1” added here

Homogeneous Coords Homogeneous coordinates: embed 3D vectors into 4D by adding a “1” More generally, the transformation matrix T has the form:

Operators: Translation, Rotation and General Transformation Translation Operator:

Translation Operator Translation Operator: Only one coordinate frame, point moves Equivalent to mapping point to a 2nd frame Point Forward = Frame Backwards How does TRANS look in homogeneous coordinates?

Operators (cont.) Rotational Operator Rotation around axis: AP1 AP2

Rotation Operator Rotational Operator The rotation matrix can be seen as rotational operator Takes AP1 and rotates it to AP2=R AP1 AP2=ROT(K, q)(AP2) Write ROT for a rotation around K

Operators (Cont.) Transformation Operators A transformation mapping can be viewed as a transformation operator: map a point to any other in the same frame Transform that rotates by R and translates by Q is the same a transforming the frame by R & Q

Compound Transformation If {C} is known relative to {B}, and {B} is known relative to {A}. We want to transform P from {C} to {A}: Write down the compound in homog. coords

Inverse Transform Write down the inverse transform in HC’s

More on Rotations We saw that a rotation can be represented by a rotation matrix Matrix has 9 variables and 6+ constraints (which?) Rotations are far from intuitive: they do not commute! Rotation matrix can be parameterized in different manners: Roll, pitch and yaw angles Euler Angles Others

Euler’s Theorem Euler’s Theorem: Any two independent orthonormal coordinate frames can be related by a sequence of rotations (not more than three) about coordinate axes, where no two successive rotations may be about the same axis. Not to be confused with Euler angles, Euler integration, Newton-Euler dynamics, inviscid Euler equations, Euler characteristic… Leonard Euler (1707-1783)

XYZ Fixed

Euler Angles This means that we can represent an orientation with 3 numbers A sequence of rotations around principle axes is called an Euler Angle Sequence Assuming we limit ourselves to 3 rotations without successive rotations about the same axis, we could use any of the following 12 sequences: XYZ XZY XYX XZX YXZ YZX YXY YZY ZXY ZYX ZXZ ZYZ

Euler Angles This gives us 12 redundant ways to store an orientation using Euler angles Different industries use different conventions for handling Euler angles (or no conventions)

ZYX Euler

Euler Angles to Matrix Conversion To build a matrix from a set of Euler angles, we just multiply a sequence of rotation matrices together:

Euler Angle Order As matrix multiplication is not commutative, the order of operations is important Rotations are assumed to be relative to fixed world axes, rather than local to the object One can think of them as being local to the object if the sequence order is reversed

Using Euler Angles To use Euler angles, one must choose which of the 12 representations they want There may be some practical differences between them and the best sequence may depend on what exactly you are trying to accomplish

Euler Angle I, Animated w'= z w'"= w" f v'" v "  v' y u'"  u' =u" x

Orientation Representation Euler Angle I

Euler Angle I Resultant eulerian rotation matrix:

Euler Angle II, Animated w'= z w"'= w"  v"'  v' =v"  y u"' u" Note the opposite (clockwise) sense of the third rotation, f. u' x

Orientation Representation Matrix with Euler Angle II Quiz: How to get this matrix ?

Orientation Representation Description of Roll Pitch Yaw Z Y X Quiz: How to get rotation matrix ?

Vehicle Orientation Generally, for vehicles, it is most convenient to rotate in roll (z), pitch (x), and then yaw (y) In situations where there is a definite ground plane, Euler angles can actually be an intuitive representation front of vehicle

Euler Angles - Summary Euler angles are used in a lot of applications, but they tend to require some rather arbitrary decisions They also do not interpolate in a consistent way (but this isn’t always bad) There is no simple way to concatenate rotations Conversion to/from a matrix requires several trigonometry operations They are compact (requiring only 3 numbers)

Quaternions

Quaternions Quaternions are an interesting mathematical concept with a deep relationship with the foundations of algebra and number theory Invented by W.R.Hamilton in 1843 In practice, they are most useful to us as a means of representing orientations A quaternion has 4 components

Quaternions (Imaginary Space) Quaternions are actually an extension to complex numbers Of the 4 components, one is a ‘real’ scalar number, and the other 3 form a vector in imaginary ijk space!

Quaternions (Scalar/Vector) Sometimes, they are written as the combination of a scalar value s and a vector value v where

Unit Quaternions For convenience, we will use only unit length quaternions, as they will be sufficient for our purposes and make things a little easier These correspond to the set of vectors that form the ‘surface’ of a 4D hypersphere of radius 1 The ‘surface’ is actually a 3D volume in 4D space, but it can sometimes be visualized as an extension to the concept of a 2D surface on a 3D sphere

Quaternions as Rotations A quaternion can represent a rotation by an angle θ around a unit axis a: If a is unit length, then q will be also

Quaternions as Rotations