Rotations and Translations

Slides:



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

3.3. Introduction to Real-time Physics III
P. Axelrad, D. Lawrence ASEN3200 Spring 2006 ATTITUDE REPRESENTATION l Attitude cannot be represented by vector in 3-dimensional space, like position or.
Kinematics Pose (position and orientation) of a Rigid Body
3D Kinematics Eric Whitman 1/24/2010. Rigid Body State: 2D p.
Geometric Transformation & Projective Geometry
Ch. 2: Rigid Body Motions and Homogeneous Transforms
Spatial Descriptions and Transformations Introduction to Motion
3D Coordinate Systems and Transformations Revision 1
3-D Geometry.
3D orientation.
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.
Math for CSLecture 11 Mathematical Methods for Computer Science Lecture 1.
Rotations and Translations. Representing a Point 3D A tri-dimensional point A is a reference coordinate system here.
CS223b, Jana Kosecka Rigid Body Motion and Image Formation.
Rotation representation and Interpolation
Screw Rotation and Other Rotational Forms
Orientations Goal: –Convenient representation of orientation of objects & characters in a scene Applications to: – inverse kinematics –rigid body simulation.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Technical Background.
CS 450: COMPUTER GRAPHICS 3D TRANSFORMATIONS SPRING 2015 DR. MICHAEL J. REALE.
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
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.
Kinematics of Robot Manipulator
Chapter 2 Robot Kinematics: Position Analysis
Lecture Notes: Computer Graphics.
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.
K INEMATICS P OSE ( POSITION AND ORIENTATION ) OF A R IGID B ODY University of Bridgeport 1 Introduction to ROBOTICS.
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 南台科技大學電機工程系謝銘原.
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.
Rotation and Orientation: Fundamentals Jehee Lee Seoul National University.
Robot Kinematics: Position Analysis 2.1 INTRODUCTION  Forward Kinematics: to determine where the robot ’ s hand is? (If all joint variables are known)
The Spinning Top Chloe Elliott. Rigid Bodies Six degrees of freedom:  3 cartesian coordinates specifying position of centre of mass  3 angles specifying.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 17, 2015 TRANSFORMATIONS AFFINE TRANSFORMATIONS QUATERNIONS.
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.
Affine Geometry.
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.
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.
Pose2D [geometry_msgs/Pose2D]: float64 x float64 y float64 theta.
Computer Animation Algorithms and Techniques
CPSC 641: Computer Graphics Rotation Representation and Interpolation
Spatcial Description & Transformation
3D Kinematics Consists of two parts
Ch. 2: Rigid Body Motions and Homogeneous Transforms
COMPUTER GRAPHICS CHAPTERS CS 482 – Fall 2017 TRANSFORMATIONS
Mobile Robot Kinematics
CHAPTER 2 FORWARD KINEMATIC 1.
UMBC Graphics for Games
Rigid Body Transformations
A definition we will encounter: Groups
UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN
Rigid Body Transformations
Rotation and Orientation: Fundamentals
Screw Rotation and Other Rotational Forms
Presentation transcript:

Rotations and Translations Euler Theorem + Quaternions

Representing a Point 3D A three-dimensional point A is a reference coordinate system here

Rotation along the Z axis In general:

Using Rotation Matrices

Combining Rotation and Translation

Extension to 4x4 We can define a 4x4 matrix operator and use a 4x1 position vector

Formula

Notes Homogeneous transforms are useful in writing compact equations; a computer program would not use them because of the time wasted multiplying ones and zeros. This representation is mainly for our convenience. For the details turn to chapter 2.

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.

Euler Angles This means, that we can represent an orientation with 3 numbers Assuming we limit ourselves to 3 rotations without successive rotations about the same axis:

Example

Another Example Suppose we want to use ZXZ rotation, Rotation along Z axis, 𝛾 Rotation along X axis, 𝛽 Rotation along Z axis, 𝛼

Example - Cont Let’s see what happens if, 𝛽=0

Example – Cont 2 Changing 𝛼's and 𝛾's values in the above matrix has the same effects: the rotation's angle changes, but the rotation's axis remains in the 𝑍 direction

Gimbal Lock Gimbal Lock Animation

Euler Angle - Matlab If we want to rotate Roll,Pitch and Yaw Roll 0.1 degrees Pitch 0.2 degrees Yaw 0.3 degrees >> rotx(0.1)*roty(0.2)*rotz(0.3) ans = 0.9363 -0.2896 0.1987 0.3130 0.9447 -0.0978 -0.1593 0.1538 0.9752

Euler Angle – Matlab cont. >> rpy2r(0.1,0.2,0.3) ans = 0.9363 -0.2896 0.1987 0.3130 0.9447 -0.0978 -0.1593 0.1538 0.9752

Euler Theorem In three-dimensional space, any displacement of a rigid body such that a point on the rigid body remains fixed, is equivalent to a single rotation about some axis that runs through the fixed point.

Euler Theorem - Matlab R = 0.9363 -0.2896 0.1987 0.3130 0.9447 -0.0978 -0.1593 0.1538 0.9752 [theta, v] = tr2angvec(R) theta = 0.3816 v = 0.3379 0.4807 0.8092

Euler Theorem – Matlab cont. >> angvec2r(0.3816, [0.3379,0.4807,0.8092]) ans = 0.9363 -0.2897 0.1987 0.3130 0.9447 -0.0979 -0.1593 0.1538 0.9752

3D Rotations - Matlab R = rotx(pi/2); trplot(R) tranimate(R)

HW

Quaternions The quaternion group has 8 members: Their product is defined by the equation:

Example Calculate

Quaternions - Algebra Using the same methods, we can get to the following:

Quaternions Algebra We will call the following linear combination a quaternion. It can be written also as: All the combinations of Q where a,b,c,s are real numbers is called the quaternion algebra.

Quaternion Algebra By Euler’s theorem every rotation can be represented as a rotation around some axis with angle . In quaternion terms: Composition of rotations is equivalent to quaternion multiplication.

Example We want to represent a rotation around x-axis by 90 , and then around z-axis by 90 :

Rotating with quaternions We can describe a rotation of a given vector v around a unit vector u by angle : this action is called conjugation. * Pay attention to the inverse of q (like in complex numbers) !

Rotating with quaternions The rotation matrix corresponding to a rotation by the unit quaternion z = a + bi + cj + dk (with |z| = 1) is given by: Its also possible to calculate the quaternion from rotation matrix: Look at Craig (chapter 2 p.50 )