Rotation and Orientation: Fundamentals Jehee Lee Seoul National University.

Slides:



Advertisements
Similar presentations
John C. Hart CS 318 Interactive Computer Graphics
Advertisements

CS B659: Principles of Intelligent Robot Motion Rigid Transformations.
Chris Hall Aerospace and Ocean Engineering
3D Kinematics Eric Whitman 1/24/2010. Rigid Body State: 2D p.
CMPE 466 COMPUTER GRAPHICS
Ch. 2: Rigid Body Motions and Homogeneous Transforms
3D Coordinate Systems and Transformations Revision 1
Uncalibrated Geometry & Stratification Sastry and Yang
Outline for Today More math… Finish linear algebra: Matrix composition
3-D Geometry.
3D orientation.
Ch. 3: Forward and Inverse Kinematics
CSCE 689: Computer Animation Rotation Representation and Interpolation
CSCE 441: Computer Graphics Rotation Representation and Interpolation
CSCE 641: Computer Graphics Rotation Representation and Interpolation Jinxiang Chai.
Transformations CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.
Rotation representation and Interpolation
Orientations Goal: –Convenient representation of orientation of objects & characters in a scene Applications to: – inverse kinematics –rigid body simulation.
Euler Angles. Three Angles  A rotation matrix can be described with three free parameters. Select three separate rotations about body axesSelect three.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Technical Background.
CS I400/B659: Intelligent Robotics Rigid Transformations.
CS 450: COMPUTER GRAPHICS 3D TRANSFORMATIONS SPRING 2015 DR. MICHAEL J. REALE.
Computer Vision Group Prof. Daniel Cremers Autonomous Navigation for Flying Robots Lecture 3.1: 3D Geometry Jürgen Sturm Technische Universität München.
ME/ECE Professor N. J. Ferrier Forward Kinematics Professor Nicola Ferrier ME Room 2246,
Visualizing Orientation using Quaternions Gideon Ariel; Rudolf Buijs; Ann Penny; Sun Chung.
Rotations and Translations
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)
Geometric Transformation. So far…. We have been discussing the basic elements of geometric programming. We have discussed points, vectors and their operations.
CS 450: COMPUTER GRAPHICS QUATERNIONS SPRING 2015 DR. MICHAEL J. REALE.
Kinematics of Robot Manipulator
Mathematical Foundations Sections A-1 to A-5 Some of the material in these slides may have been adapted from university of Virginia, MIT and Åbo Akademi.
Chapter 10 Rotation of a Rigid Object about a Fixed Axis.
Geometric Transformations Jehee Lee Seoul National University.
Rotations and Translations
CSE 681 Review: Transformations. CSE 681 Transformations Modeling transformations build complex models by positioning (transforming) simple components.
Transformations Jehee Lee Seoul National University.
Week 5 - Wednesday.  What did we talk about last time?  Project 2  Normal transforms  Euler angles  Quaternions.
Rick Parent - CIS681 ORIENTATION Use Quaternions Interpolating rotations is difficult.
Advanced Computer Graphics Spring 2014
1 Fundamentals of Robotics Linking perception to action 2. Motion of Rigid Bodies 南台科技大學電機工程系謝銘原.
Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.
Jinxiang Chai Composite Transformations and Forward Kinematics 0.
Chapter 2 Rigid Motions and Coordinate Transformations
EEE. Dept of HONG KONG University of Science and Technology Introduction to Robotics Page 1 Lecture 2. Rigid Body Motion Main Concepts: Configuration Space.
CS 551/645 Fall 2000 Parameterized Rotations, Curves, and Surfaces.
Comparing Two Motions Jehee Lee Seoul National University.
Geometric Transformations Sang Il Park Sejong University Many slides come from Jehee Lee’s.
3D Transformation A 3D point (x,y,z) – x,y, and z coordinates
FROM PARTICLE TO RIGID BODY.
Affine Geometry.
Euler Angles This means, that we can represent an orientation with 3 numbers Assuming we limit ourselves to 3 rotations without successive rotations about.
Geometric Transformations. Transformations Linear transformations Rigid transformations Affine transformations Projective transformations T Global reference.
Computer Graphics I, Fall 2010 Transformations.
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.
Fundamentals of Computer Animation Orientation and Rotation.
MASKS © 2004 Invitation to 3D vision Lecture 6 Introduction to Algebra & Rigid-Body Motion Allen Y. Yang September 18 th, 2006.
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.
Computer Animation Algorithms and Techniques
CPSC 641: Computer Graphics Rotation Representation and Interpolation
CS 445 / 645 Introduction to Computer Graphics
Spatcial Description & Transformation
3D Kinematics Consists of two parts
Ch. 2: Rigid Body Motions and Homogeneous Transforms
Lecture 3 Jitendra Malik
UMBC Graphics for Games
CS-378: Game Technology Lecture #2: Transformations Prof. Okan Arikan
Geometric Objects and Transformations (II)
UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN
Rotation and Orientation: Fundamentals
Presentation transcript:

Rotation and Orientation: Fundamentals Jehee Lee Seoul National University

What is Rotation ? Not intuitive –Formal definitions are also confusing Many different ways to describe –Rotation (direction cosine) matrix –Euler angles –Axis-angle –Rotation vector –Helical angles –Unit quaternions

Orientation vs. Rotation Rotation –Circular movement Orientation –The state of being oriented –Given a coordinate system, the orientation of an object can be represented as a rotation from a reference pose

Analogy (point : vector) is similar to (orientation : rotation) Both represent a sort of (state : movement) Reference coordinate system

Analogy (point : vector) is similar to (orientation : rotation) Both represent a sort of (state : movement) Reference coordinate system point : the 3d location of the bunny vector : translational movement

Analogy (point : vector) is similar to (orientation : rotation) Both represent a sort of (state : movement) Reference coordinate system point : the 3d location of the bunny vector : translational movement orientation : the 3d orientation of the bunny rotation : circular movement

2D Orientation Polar Coordinates

2D Orientation Although the motion is continuous, its representation could be discontinuous

2D Orientation Many-to-one correspondences between 2D orientations and their representations

Extra Parameter

2x2 Rotation matrix is yet another method of using extra parameters

Complex Number Real Imaginary

Complex Exponentiation Real Imaginary

2D Rotation Complex numbers are good for representing 2D orientations, but inadequate for 2D rotations A complex number cannot distinguish different rotational movements that result in the same final orientation –Turn 120 degree counter-clockwise –Turn -240 degree clockwise –Turn 480 degree counter-clockwise Real Imaginary

2D Rotation and Orientation 2D Rotation –The consequence of any 2D rotational movement can be uniquely represented by a turning angle 2D Orientation –The non-singular parameterization of 2D orientations requires extra parameters Eg) Complex numbers, 2x2 rotation matrices

Operations in 2D (orientation) : complex number (rotation) : scalar value exp(rotation) : complex number

2D Rotation and Displacement Real Imaginary

2D Rotation and Displacement Real Imaginary

2D Orientation Composition Real Imaginary

2D Rotation Composition Real Imaginary

Analogy

3D Rotation Given two arbitrary orientations of a rigid object,

3D Rotation We can always find a fixed axis of rotation and an angle about the axis

Euler’s Rotation Theorem In other words, Arbitrary 3D rotation equals to one rotation around an axis Any 3D rotation leaves one vector unchanged The general displacement of a rigid body with one point fixed is a rotation about some axis Leonhard Euler ( )

Euler angles Gimble –Hardware implementation of Euler angles –Aircraft, Camera

Euler Angles Rotation about three orthogonal axes –12 combinations XYZ, XYX, XZY, XZX YZX, YZY, YXZ, YXY ZXY, ZXZ, ZYX, ZYZ Gimble lock –Coincidence of inner most and outmost gimbles’ rotation axes –Loss of degree of freedom

Euler Angles Euler angles are ambiguous –Two different Euler angles can represent the same orientation –This ambiguity brings unexpected results of animation where frames are generated by interpolation.

Ranges Euler angles in ZXZ –Z-axis by  –X’-axis by  –Z’’-axis by 

Dependence Compare –Rotation about z-axis by 180 degree –Rotation about y-axis by 180 degree, followed by another rotation about x-axis by 180 degree Rotations about x-, y-, and z-axes are dependent

Rotation Vector Rotation vector (3 parameters) Axis-Angle (2+1 parameters)

3D Orientation Unhappy with three parameters –Euler angles Discontinuity (or many-to-one correspondences) Gimble lock –Rotation vector (a.k.a Axis/Angle) Discontinuity (or many-to-one correspondences)

Using an Extra Parameter Euler parameters

Quaternions William Rowan Hamilton ( ) –Algebraic couples (complex number) 1833 where

Quaternions William Rowan Hamilton ( ) –Algebraic couples (complex number) 1833 –Quaternions 1843 where

Quaternions William Thomson “… though beautifully ingenious, have been an unmixed evil to those who have touched them in any way.” Arthur Cayley “… which contained everything but had to be unfolded into another form before it could be understood.”

Unit Quaternions Unit quaternions represent 3D rotations

Rotation about an Arbitrary Axis Rotation about axis by angle where Purely Imaginary Quaternion

Unit Quaternion Algebra Identity Multiplication Inverse –Opposite axis or negative angle Unit quaternion space is –closed under multiplication and inverse, –but not closed under addition and subtraction

Unit Quaternion Algebra Antipodal equivalence –q and –q represent the same rotation –ex) rotation by  about opposite direction –2-to-1 mapping between S and SO(3) –Twice as fast as in SO(3) 3

3D Orientations and Rotations Orientations and rotations are different in coordinate-invariant geometric programming Use unit quaternions for orientation representation –3x3 orthogonal matrix is theoretically identical Use 3-vectors for rotation representation

Tangent Vector (Infinitesimal Rotation)

Angular Velocity

Exp and Log logexp

Exp and Log logexp Euler parameters

Rotation Vector

Finite rotation –Eg) Angular displacement –Be careful when you add two rotation vectors Infinitesimal rotation –Eg) Instantaneous angular velocity –Addition of angular velocity vectors are meaningful

Spherical Linear Interpolation SLERP [Shoemake 1985] –Linear interpolation of two orientations

Spherical Linear Interpolation

Coordinate-Invariant Operations

Adding Rotation Vectors

Affine Combination of Orientations

Analogy (point : vector) is similar to (orientation : rotation)

Rotation Matrix vs. Unit Quaternion Equivalent in many aspects –Redundant, No singularity –Exp & Log, Special tangent space Why quaternions ? –Fewer parameters, Simpler algebra –Easy to fix numerical error Cf) matrix orthogonalization (Gram-shmidt process, QR, SVD decomposition) Why rotation matrices ? –One-to-one correspondence –Handle rotation and translation in a uniform way Eg) 4x4 homogeneous matrices

Rotation Conversions In theory, conversion between any representations is always possible In practice, conversion is not straightward because of difference in convention Quaternion to Matrix