ROTATIONS & TRANSLATIONS

Slides:



Advertisements
Similar presentations
Kinematic Modelling in Robotics
Advertisements

Kinematics Pose (position and orientation) of a Rigid Body
ME Robotics Dynamics of Robot Manipulators Purpose: This chapter introduces the dynamics of mechanisms. A robot can be treated as a set of linked.
Ch. 7: Dynamics.
Ch. 2: Rigid Body Motions and Homogeneous Transforms
Ch. 4: Velocity Kinematics
Ch. 3: Forward and Inverse Kinematics
CPSC 452: Lecture 1 Introduction, Homogeneous transformations and Coordinate frames.
The linear algebra of Canadarm
An Introduction to Robot Kinematics
KINEMATICS ANALYSIS OF ROBOTS (Part 1) ENG4406 ROBOTICS AND MACHINE VISION PART 2 LECTURE 8.
Velocities and Static Force
ME/ECE Professor N. J. Ferrier Forward Kinematics Professor Nicola Ferrier ME Room 2246,
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.
Rotations and Translations
February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Computational Considerations.
Geometric Transformation. So far…. We have been discussing the basic elements of geometric programming. We have discussed points, vectors and their operations.
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
Elementary Linear Algebra Anton & Rorres, 9th Edition
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.
1 Fundamentals of Robotics Linking perception to action 2. Motion of Rigid Bodies 南台科技大學電機工程系謝銘原.
MOTION RELATIVE TO ROTATING AXES
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)
What is Kinematics. Kinematics studies the motion of bodies.
Kinematics. The function of a robot is to manipulate objects in its workspace. To manipulate objects means to cause them to move in a desired way (as.
CSCE 452 Intro to Robotics CSCE 452: Lecture 1 Introduction, Homogeneous Transformations, and Coordinate frames.
FROM PARTICLE TO RIGID BODY.
An Introduction to Robot Kinematics Renata Melamud.
Robotic Arms and Matrices By Chris Wong and Chris Marino.
Robotics Chapter 3 – Forward Kinematics
Velocity Propagation Between Robot Links 3/4 Instructor: Jacob Rosen Advanced Robotic - MAE 263D - Department of Mechanical & Aerospace Engineering - UCLA.
Kinematics 제어시스템 이론 및 실습 조현우
Spatcial Description & Transformation
Ch. 2: Rigid Body Motions and Homogeneous Transforms
Review: Transformations
RIGID BODY MOTION: TRANSLATION & ROTATION (Sections )
PROPERTIES OF THE JACOBIAN
Lecture Rigid Body Dynamics.
Review: Transformations
F o r w a r d K i n e m a t i c s.
Direct Manipulator Kinematics
CHAPTER 2 FORWARD KINEMATIC 1.
Introduction to manipulator kinematics
Direct Kinematic Model
Lecture 03: Linear Algebra
Mobile Robot Kinematics
CSE4421/5324: Introduction to Robotics
CHAPTER 3 ROBOT CLASSIFICATION
Introduction to Vectors and Frames
Making a Point: Elementary (around Z?) Rotations in 2D …
ECE 383/ME 442: Intro to Robotics and Automation
Making a Point: Elementary (around Z?) Rotations in 2D …
Homogeneous Transformation Matrices
CHAPTER 2 FORWARD KINEMATIC 1.
STATICS (ENGINEERING MECHANICS-I)
Vectors for Calculus-Based Physics
KINEMATIC CHAINS.
Forward Kinematics: Denavit-Hartenberg (DH) Notation
KINEMATIC CHAINS & ROBOTS (I)
A definition we will encounter: Groups
Quaternions are back!!! A global quaternion q is defined as q = q0 + q where q = q1I+ q2 J+ q3K . where q0 is a scalar and q is a vector. A quaternion.
CSCE441: Computer Graphics 2D/3D Transformations
Outline: 5.1 INTRODUCTION
Chapter 2 Mathematical Analysis for Kinematics
Robotics 1 Copyright Martin P. Aalund, Ph.D.
Chapter 1.
Presentation transcript:

ROTATIONS & TRANSLATIONS In robotics, the kinematic descriptions of ma­nipulators and their assigned tasks are utilized to set up the fundamental equations for dynamics and control.  Because the links and arms in a robotic system are modeled as rigid bodies, the properties of rigid body displacement takes a central place in robotics.  We define a rigid body as a collection of particles such that the distance between any two of them remains fixed, regardless of any motion of the body or forces exerted on the body.  Thus, if p and q are any two points on a rigid body then, as the body moves, or as time passes, p and q must satisfy ||p(t) – q(t)|| = ||p(0) – q(0)|| = constant, for all time t (where ||.|| means “norm” or euclidean distance between two points) That is, a rigid motion of an object is a continuous movement of all the particles of the object such that the distance between any two particles remains fixed at all times.  In general, a rigid displacement may consist of both rotation and translation. Vector and matrix algebra are utilized to develop a systematic and generalized approach to describe and represent the location of the arms of a robot with respect to a global fixed reference frame G.

KINEMATICS (FORWARD KINEMATICS) Since the arms of a robot may rotate or translate with respect to each other, body- attached coordinate frames A, B, C, … or B1, B2, B3, … will be established along with the joint axis for each link to find their relative configurations, and within the reference frame G.  The position of one link B relative to another link A is defined kinematically by a coordinate transformation Axb (ATb or ARb) between reference frames attached to the link.  The direct kinematics problem is reduced to finding a transformation matrix Gxb (GTb) that relates the body attached local coordinate frame B to the global reference coordinate frame G.  A 3 x 3 rotation matrix is uti­lized to describe the rotational operations of the local frame with respect to the global frame.  The homogeneous coordinates are then used to represent position vectors and directional vectors in a three-dimensional space.

Elementary Rotations in 2D … x1 = r cos a y1 = r sin a r is magnitude Rotation of coordinates Rotation of vector x2 = r cos (a - q) = x1 cos q + y1 sin q y2 = r sin (a - q) = - x1 sin q + y1 cos q x2 = r cos (a + q) = x1 cos q - y1 sin q y2 = r sin (a + q) = x1 sin q + y1 cos q Using matrix notation: Using matrix notation: x2 y2 x1 y1 cos q -sin q sin q = x2 y2 x1 y1 cos q sin q - sin q = Notice that the determinant of the “rotation” matrices is 1, they are called unimodular matrices.

Example of Elementary Rotations in 2D Rotation of coordinates Rotation of vector What are the new coordinates of point P(3,7) if the coordinate axes are rotated 23o CCW? What are the new coordinates of point P(3,7) if it is rotated 23o CCW while the frame is fixed? Firstly we find the rotation angle in radians: 23o = 3.141592654(23/180) = 0.401426 sin(0.401426) = 0.390731 cos(0.401426) = 0.920505 Therefore: Firstly we find the rotation angle in radians: 23o = 3.141592654(23/180) = 0.401426 sin(0.401426) = 0.390731 cos(0.401426) = 0.920505 Therefore: 3 7 x2 y2 x2 y2 0.920505 - 0.390731 0.390731 3 7 0.920505 0.390731 - 0.390731 = = 0.920505 0.920505 x2 y2 x2 y2 5.496632 5.271341 0.026397 7.615727 = = Therefore: P(5.496632, 5.271341) Therefore: P(0.026397, 7.615727) As a reference note that P in polar coordinates is P(3,7) = P(7.615773, 66.80141o) and 23o + 66.80141o = 89.80141o

Rotation a used in the textbook … Equations as used in the textbook x1 = r cos a y1 = r sin a r is magnitude t t x2 y2 cos q - sin q sin q x1 y1 = t t x1 y1 cos q - sin q sin q x2 y2 = cos q sin q - sin q x2 y2 Rotation of coordinates = x1 y1 x2 = r cos (a - q) = x1 cos q + y1 sin q y2 = r sin (a - q) = - x1 sin q + y1 cos q x2 y2 = x1 y1 Xxx (Textbook’s notation!) Using matrix notation: x2 = r cos (a - q) = x1 cos q + y1 sin q y2 = r sin (a - q) = - x1 sin q + y1 cos q x2 y2 x1 y1 cos q -sin q sin q = We get the same equations for x2 and y2!

Rotation in the opposite direction in 2D … X Y x y a q P y2 y1 x1 x2 r x1 = r cos a y1 = r sin a r is magnitude Rotation of coordinates Rotation of coordinates in the opposite direction x2 = r cos (a - q) = x1 cos q + y1 sin q y2 = r sin (a - q) = - x1 sin q + y1 cos q x2 = r cos (a + q) = x1 cos q - y1 sin q y2 = r sin (a + q) = x1 sin q + y1 cos q Using matrix notation: Using matrix notation: x2 y2 x1 y1 cos q -sin q sin q = x2 y2 x1 y1 cos q sin q - sin q = Rotating the coordinates in the opposite direction only causes to change q to -q in the matrix.

The Rotations vectors are SO(2)  R2x2… Let’s study some of the special properties of the rotation matrices given below: cos q -sin q sin q cos q sin q - sin q = A and = B First, let’s notice that det(A) = det(B) = (cos q)2 + (sin q)2 = 1, that is, the length of a vector is unchanged after applying these matrices to it as a rotation matrix. Next, for the 1st matrix call its 1st column vector v1 = (cos q)i – (sin q)j and its 2nd column vector v2 = (sin q)i + (cos q)j. We can verify that |v1| = 1 and |v2| =1, that is, they are unit vectors, both are equal to (cos q)2 + (sin q)2 = 1. Can verify the same for the 2nd matrix calling v3 = (cos q)i + (sin q)j and v2 = - (sin q)i + (cos q)j, both column vector are unit vectors since |v3| =1 and |v4| =1, same reason, both are equal to (cos q)2 + (sin q)2 = 1. Now, let’s calculate the dot product v1 . v2 = [(cos q)i – (sin q)j] . [(sin q)i + (cos q)j] = (cos q)(sin q) - (sin q)(cos q) = 0. That is, vectors v1 and v2 are orthogonal to each other. Similarly, v3 . v4 = [(cos q)i + (sin q)j] . [- (sin q)i + (cos q)j] = - (cos q)(sin q) + (sin q)(cos q) = 0. That is, vectors v3 and v4 are also orthogonal to each other. Moreover, notice that B = (A-transpose) = At and vice-versa A = Bt. Lastly, notice that A*B = I, the unit matrix! that is: A = B-1 and B = A-1, they are inverse of each other!

Elementary Sequence of Rotations in 2D … x1 y1 x y cos a -sin a sin a = = Ra X X1 = x2 y2 x1 y1 cos b -sin b sin b = = Rb X1 X2 = x2 y2 cos b -sin b sin b = = Rb Ra X X2 = x y cos a -sin a sin a cos(a + b) -sin(a + b) sin(a + b) cos(a +b)

Exercise on Sequence of Rotations in 2D … Evaluate the rotation matrix to perform the following set of consecutive rotations: a 22 degrees in CCW followed by a 49 degrees also in CCW and lastly an 8 degrees rotation in CW direction. Do it using a single rotation formula and compare that Result with the three consecutive rotations in sequence. cos(a + b + g) -sin(a + b + g) sin(a + b + g) R = Rg Rb Ra = Total rotation: 22+49–8 = 63 deg = 63*pi/180 = 1.09956 Rad R = [0.45399 0.89101 ; -0.89101 045399] cos(22) -sin(22) sin(22) cos(49) -sin(49) sin(49) cos(8) -sin(8) sin(8) Ra= Rb = Rg = 0.99027 -0.13963 0.13963 0.65606 -0.75471 0.75471 0.92718 -0.37461 0.37461 [0.45399 0.89101] [-0.89101 045399] R = =

Elementary Translations in 2D & 3D … x z y X Y y1 Z Y z1 y z2 P P y1 y2 l k x x2 y2 k h x1 X x2 x2 = x1 – h y2 = y1 – k h x1 x1 y1 1 1 0 -h 0 1 -k 0 0 1 = x2 y2 1 0 0 -h 0 1 0 -k 0 0 1 -l 0 0 0 1 = x2 y2 z2 1 x1 y1 z1 x2 = x1 – h y2 = y1 – k z2 = z1 – l

Rotations in 3D about the z-axis … an example … In 3D rotations about the axes are well defined. The 3x3 rotation matrix Ra through an angle a about the z-axis is: Y Z x P(x, y, z) X y z v v1 = = Ra X X1 = x1 y1 z1 cos a sin a - sin a 1 x y z Example: Assume the frame performs a positive, that is, a 450) CCW (counter-clockwise) rotation about the z-axis given that point P has coordinates P(1,1,1). The new P would be P(1.4142, 0, 1).,What about if P(3.5, 4, 1.5)? Then the new P would be P(5.30330, 0.35355, 1.5000). Use Octave/Matlab. (In this case: sin(450) = cos(450) = 1/  2). x1 y1 z1 1/ 2 1/2) 1 1 X1 =  2 = - 1/ 2 1/2 = 1

Rotations in 3D about the coordinate axes & the location of the “– sine” term The 3x3 positive rotation matrix Rz,a through an angle a about the z-axis takes the Y axis into negative X: Rz,a = cos a sin a - sin a 1 The 3x3 positive rotation matrix Rx,a through an angle a about the x-axis takes the Z axis into negative Y: Rx,a = cos a sin a - sin a 1 The 3x3 positive rotation matrix Ry,a through an angle a about the y-axis takes X axis into negative Z: Ry,a = cos a sin a - sin a 1

Several Rotations plus (see below) Sequence of Rotations are not commutative … a. original b. /2 about x-axis c.  about x-axis d. −/2 about x-axis e. /2 about y-axis f. /2 about z-axis Z X Y Series of rotations about different axes 1. original 2. /2 about x-axis 2’. /𝟐 about y-axis 3. /2 about y-axis 3’. /2 about x-axis Z X Y 1’. original The order in which the rotations are executed makes a difference: “rotations are not commutative”