0% found this document useful (0 votes)
47 views55 pages

C1 - Coordinate Transformations

The document covers the fundamentals of robotics, focusing on coordinate transformations, forward and inverse kinematics, and the various frames used in robotic systems. It explains the concepts of position and orientation in 3D space, detailing methods for describing these attributes and the transformations required to change frames. Additionally, it provides insights into homogeneous transformations that combine position and orientation changes into a single operation.

Uploaded by

Sakshi Singh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
47 views55 pages

C1 - Coordinate Transformations

The document covers the fundamentals of robotics, focusing on coordinate transformations, forward and inverse kinematics, and the various frames used in robotic systems. It explains the concepts of position and orientation in 3D space, detailing methods for describing these attributes and the transformations required to change frames. Additionally, it provides insights into homogeneous transformations that combine position and orientation changes into a single operation.

Uploaded by

Sakshi Singh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 55

Lecture

Fundamentals of Robotics
(Automatisierungs- und Robotertechnik I)

C: Coordinate Transformations

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 1


Forward and Inverse Kinematics

Introduction

Kinematic Forward Kinematics: Position and orientation of the tool frame


Robot Types
are computed from the known robot joint variables.
Coordinate
Transformations

Motion Control
& Path Planning

forward
Handling Systems

Robot Programming

Safety

inverse
Sensors

Robot Hardware

Performance and
Accuracy
Inverse Kinematics: Joint variables are determined from
position and orientation of the tool frame.

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 2


Right handed cartesian coordinate system – Right Hand Rules

+y
Introduction


Kinematic
Robot Types

Coordinate
Transformations +ϕ +x +X, +Y, +Z

Motion Control
& Path Planning +z

Handling Systems

Robot Programming

Safety
+ϕ, +θ, +ψ
Sensors

Robot Hardware

Performance and
Accuracy

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 4


Standard Frames in Robotics

Introduction

Kinematic
Robot Types

Coordinate
Transformations

Motion Control
& Path Planning
O
Handling Systems

Robot Programming

Safety

Sensors
The base frame, {B}
Robot Hardware
The tool frame, {T}
Performance and
Accuracy The station frame, {S}
The object frame, {O}
The wrist frame, {W}

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 5


Frames usually used in robotics

Introduction
 world frame is the base for all other coordinate systems
Kinematic and is fixed to the environment
Robot Types

Coordinate  base frame fixed on the socket of the robot, defined


Transformations
relatively to the world frame, often identical
Motion Control
& Path Planning
 tool frame is moved with the robot effector and decribes
Handling Systems the location, where the tool affects the
Robot Programming
workpiece (TCP = Tool Center Point)
Safety
 station frame connected to the holding fixture for workpieces
Sensors

Robot Hardware
 object frame connected to the workpiece
Performance and
Accuracy

 joint frame / describes the position and orientation of the


link frame associated link

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 6


TCP – Tool Center Point / Tool Frame

Introduction

Kinematic
Robot Types

Coordinate
Transformations

Motion Control
& Path Planning

Handling Systems
xTCP
yTCP
Robot Programming

Safety
zTCP
Sensors pTCP z
Robot Hardware
x
Performance and
Accuracy

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 7


Frames usually used in robotics - Example: Grinding robot

Introduction

Kinematic
Robot Types

Coordinate
Transformations
C
Motion Control
& Path Planning
C
Handling Systems

C E
Robot Programming

Safety
D
Sensors

Robot Hardware

Performance and C
Accuracy
B A

A world frame (example, can also be the same as B)


B base frame
C station frames
D object frames (one for each water tap)
E tool frame
PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 8
More Frame Examples

Introduction

Kinematic
Robot Types

Coordinate
Transformations

Motion Control
& Path Planning

Tool frame
Handling Systems

Robot Programming

Safety

Sensors base frame


Robot Hardware

Performance and
Accuracy
weld seam frame /
object frame
source: Hesse

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 9


Properties of Frames

Introduction

Kinematic
Robot Types

Coordinate  The world frame does not have a reference frame


Transformations

Motion Control
& Path Planning  Every other frame has a reference frame
Handling Systems

Robot Programming
 Every frame can be a reference frame
Safety
for any other frame except for the world frame.
Sensors

Robot Hardware

Performance and
Accuracy

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 10


Methods for Describing Position and Orientation

Introduction

Kinematic
Robot Types

Coordinate
Transformations
Describing Position and Orientation of Objects
Motion Control
& Path Planning in 3D-Space
Handling Systems

Robot Programming

Safety

Sensors

Robot Hardware

Performance and
Accuracy

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 11


Description of a Position

Introduction

Kinematic
Robot Types

Coordinate
Transformations  px 
A  
Motion Control
P =  py 
& Path Planning
p 
 z
Handling Systems

Robot Programming

Safety

Sensors

Robot Hardware
A vector is used to define the point P relative to the
Performance and coordinate system {A} („P in A“)
Accuracy

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 12


Description of an Orientation

A  A

R = XB YB Z
A
 A
B
Introduction B
 
Kinematic
Robot Types  A X Bx AYBx A Z Bx 
 
Coordinate =  A X By AYBy A Z By 
Transformations
 A X Bz AYBz A Z Bz 
Motion Control
 
XB⋅ X A Y B ⋅  B ⋅ 
& Path Planning
XA Z X A
Handling Systems  
=     
 X B ⋅Y A Y B ⋅Y A Z B ⋅Y A  
Robot Programming
      
Safety  X B ⋅ Z A Y B ⋅ Z A Z B ⋅ Z A 
Sensors

A A A
Robot Hardware 
X B Y B ZB are axis unit vectors of the coordinate system {B}
Performance and expressed in the coordinate system {A}.
Accuracy They are orthonormal to each other.

Three vectors can define the orientation of the


coordinate system {B} relative to the coordinate system {A}

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 13


Description of a Frame

Introduction

Kinematic
Robot Types

Coordinate
Transformations

Motion Control
& Path Planning
A Frame {B} is a coordinate system that defines
Handling Systems both position and orientation information relative
Robot Programming
to another Frame (or coordinate system) {A}.

Safety

Sensors
{B} = { BA R, A PBORG }
Robot Hardware

Performance and
Accuracy In industrial robotics a frame is attached e.g. to the end-effector of the
robot. This frame describes the spatial position and orientation of the
end-effector (relative to a reference frame).

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 14


Transformation: Translation

Changing descriptions from frame to frame


Introduction

Kinematic
Robot Types

Coordinate
Transformations

A
Motion Control P B
P
& Path Planning

Handling Systems A
PBORG
Robot Programming

Safety

Sensors

Robot Hardware

Performance and
A B
Accuracy
P
= P + A PBORG

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 15


Transformation: Rotation

Introduction

Kinematic
Robot Types
B
Coordinate P = known
Transformations
A
Motion Control
P = unknown
& Path Planning

Xˆ A ⋅ B P
Handling Systems
A B
px
=
Robot Programming

Safety
A
p y BYˆA ⋅ B P
=
Sensors
A
pz
= B
Zˆ A ⋅ B P
Robot Hardware

Performance and
Accuracy

A
Matrix Notation: P = BA R B P

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 16


Transformation: Inverse Rotation

Introduction
vice versa:
Kinematic
Robot Types
A
Coordinate
P = BA R B P
Transformations

Motion Control
B
P = AB R A P
& Path Planning
definition

Handling Systems

Robot Programming
= BA R −1 A P conversion of line 1 (inverse)

Safety = BA RT A P rule for orthogonal


unit vevtors (transposed)

Sensors

Robot Hardware

Performance and
Accuracy

A
BR
= B
AR −1
= B
A RT

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 17


Homogeneous Transformation: Change Position + Orientation in one Step

{B‘} {B}
Introduction

Kinematic
Robot Types

Coordinate
Transformations

Motion Control
& Path Planning

Handling Systems

Robot Programming

Safety

The transformation can first be done in two steps. We can imagine an


Sensors
intermediate frame {B‘}, whose origin is coincident to the frame {B}
Robot Hardware and whose orientation is coincident to the frame {A}. The coordinates
can first be transformed from {B} to {B‘} and then from {B‘} to {A}
Performance and
Accuracy

A A
= P B R B P + A PBORG

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 18


Homogeneous Transformation: Change Position + Orientation in one Step

Introduction {B}

Kinematic
Robot Types

Coordinate
Transformations

Motion Control
& Path Planning

Handling Systems

Robot Programming

Safety

Sensors
Expressed in one Matrix:_____
Robot Hardware

Performance and
Accuracy

A
P = ABT B P

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 19


Homogeneous Transformation: Change Position + Orientation in one Step

Introduction 3x1 Displacement Vector


Kinematic  px 
Robot Types  
P =  py 
Coordinate
Transformations
p 
 z
Motion Control
& Path Planning
3x3 Rotation Matrix
Handling Systems
cosθ − sin θ 0
Robot Programming R =  sin θ cosθ 0
 
Safety
 0 0 1 
Sensors
4x4 Homogeneous Matrix
cosθ − sin θ 0 px 
Robot Hardware

Performance and  sin θ cosθ 0 p 


Accuracy
 y  R P
= T = 
 0 0 1 pz  0 0 0 1 
 
 0 0 0 1 

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 20


Homogeneous Transformation: Change Position + Orientation in one Step

Introduction

Kinematic
Robot Types

Coordinate
Transformations

Motion Control
& Path Planning

Handling Systems

Robot Programming

Safety A three-element-vector is attached by a „1“ in the end to be a


Sensors
homogeneous coordinate.

Robot Hardware

Performance and
Accuracy  A P   BA R A
PBORG   B P 
 =  
 1  0 0 0 1  1 

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 21


Homogeneous Transformation: Change Position + Orientation in one Step

Introduction

Kinematic
Robot Types

Coordinate
Transformations

Motion Control
& Path Planning

Handling Systems

Robot Programming

A A
R B P + A PBORG
Safety
= P B
Sensors

Robot Hardware = ABT B P


Performance and
Accuracy
A  A
BR
A
PBORG 
BT =  
0 0 0 1 

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 22


Homogeneous Transformation: Change Position + Orientation in one Step

Introduction

Kinematic
Robot Types

Coordinate
Transformations translation vector
Motion Control
& Path Planning
rotation matrix
 x'  Rxx Rxy Rxz tx   x
     
 y' =  Ryx Ryy Ryz t y   y
Handling Systems

Robot Programming •
Safety
 z '   Rzx Rzy Rzz tz   z 
     
1  0 0 0 1  1 
Sensors

Robot Hardware
perspective
transformations scaling factor
Performance and
Accuracy
in computer graphics

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 23


Compound Transformations

Frame {C} is known relative to {B}, and frame {B} is known relative to frame {A}
Unknown: Frame {C} relative to {A},

B
P = CBT C P   A P = ABT CBT C P as
A
P = CAT C P}
A B 
⇒ A
A
P = BT P   CT = ABT CBT
replace

The overall transformation is determined as the product of the single transformations

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 24


Inverting a Homogeneous Transformation

A
T
=
known: B
A
B R + A PBORG B
AR
= R −1
A
=
B
A
B RT
B
T
=
needed: A
B
A R + B PAORG B
AT
= T −1 ≠ ABT T
A
B

B B
= P A R A P + B PAORG (1)

change the description of A PBORG into {B}: By applying (1)


B A B
=( PBORG ) A RR A PBORG + B PAORG
⇒ B PAORG =
− AB RR A PBORG
⇒ B PAORG =
− BA RT A PBORG

B A  BA RT
−1 − BA RT A PBORG 
T
=A BT
=  
 0 0 0 1 

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 31


Rotation Matrices

ZB ZA
Introduction
cos θ
Kinematic
Robot Types
YB
Coordinate sin θ
Transformations  XB⋅ X A Y B ⋅ XA B ⋅ 
Z X A
 
Motion Control
& Path Planning
A

BR = X B ⋅ Y A Y B ⋅ Y A  
Z B ⋅Y A  θ
    B ⋅ZA  -sin θ θ cos θ
 X B ⋅ Z A Y B ⋅ Z A Z 
Handling Systems XB XA
YA
Robot Programming

Safety
1 0 0   cosθ 0 sin θ 
RX (θ ) 0 cosθ
= − sin θ  RY (θ ) =  0 1 0 
Sensors    
0 sin θ cosθ   − sin θ 0 cosθ 
Robot Hardware

Performance and
Accuracy cosθ − sin θ 0
RZ (θ ) =  sin θ cosθ 0
 
 0 0 1 

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 37


Rotation Matrices

XB XA
Introduction
cos θ
Kinematic
Robot Types
ZB
Coordinate sin θ
Transformations  XB⋅ X A Y B ⋅ XA B ⋅ 
Z X A
 
Motion Control
& Path Planning
A

BR = X B ⋅ Y A Y B ⋅ Y A  
Z B ⋅Y A  θ
    B ⋅ZA  -sin θ θ cos θ
 X B ⋅ Z A Y B ⋅ Z A Z 
Handling Systems YB YA
ZA
Robot Programming

Safety
1 0 0   cosθ 0 sin θ 
RX (θ ) 0 cosθ
= − sin θ  RY (θ ) =  0 1 0 
Sensors    
0 sin θ cosθ   − sin θ 0 cosθ 
Robot Hardware

Performance and
Accuracy cosθ − sin θ 0
RZ (θ ) =  sin θ cosθ 0
 
 0 0 1 

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 41


Rotation Matrices

YB YA
Introduction
cos θ
Kinematic
Robot Types
XB
Coordinate sin θ
Transformations  XB⋅ X A Y B ⋅ XA B ⋅ 
Z X A
 
Motion Control
& Path Planning
A

BR = X B ⋅ Y A Y B ⋅ Y A  
Z B ⋅Y A  θ
    B ⋅ZA  -sin θ θ cos θ
 X B ⋅ Z A Y B ⋅ Z A Z 
Handling Systems ZB ZA
XA
Robot Programming

Safety
1 0 0   cosθ 0 sin θ 
RX (θ ) 0 cosθ
= − sin θ  RY (θ ) =  0 1 0 
Sensors    
0 sin θ cosθ   − sin θ 0 cosθ 
Robot Hardware

Performance and
Accuracy cosθ − sin θ 0
RZ (θ ) =  sin θ cosθ 0
 
 0 0 1 

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 45


Rotation Matrices

Introduction
1 0 0 
Kinematic RX (θ ) 0 cosθ
Rotation about the x-axis: = − sin θ 
Robot Types  
0 sin θ cosθ 
Coordinate
Transformations

Motion Control
& Path Planning
 cosθ 0 sin θ 
RY (θ ) =  0 0 
Handling Systems
Rotation about the y-axis: 1
Robot Programming  
 − sin θ 0 cosθ 
Safety

Sensors

Robot Hardware
cosθ − sin θ 0
Performance and Rotation about the z-axis: RZ (θ ) =  sin θ cosθ 0
Accuracy  
 0 0 1 

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 46


Learning Objectives – Rotations and Homogenous Transformations

 Describe both right hand rules refering to right handed cartesian coordinate
systems.

 Name and describe the most common frames usually used in robotics.

 What is a TCP coordinate system?

 How can you create the inverse of a rotation matrix?

 What is a homogeneous transformation matrix?

 Describe the components of a homogeneous transformation matrix.

 How can you invert a homogeneous transformation matrix?

 Please deduce the three basic rotation matrices Rx, Ry and Rz by sketching the
rotated unit vectors of the moving frame axes and the fixed axes of the initial
frame in one plane and by describing the projections of the rotated unit vectors
onto the fixed reference axes by trigonometric functions.

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 47


Rotation matrices are not commutative!

Rotations are generally not commutative.


Introduction
Multiplication of matrices, that we use to represent rotations,
Kinematic
is neither commutative in general.
Robot Types For example, consider two rotations, one about z by 30 degrees and one about x by 30 degrees:

Coordinate
Transformations 0.866 −0.500 0.000
Rz (30) = 0.500 0.866 0.000
Motion Control
& Path Planning 0.000 0.000 1.000
Handling Systems
1.000 0.000 0.000
Robot Programming
Rx (30) = 0.000 0.866 −0.500
Safety 0.000 0.500 0.866
Sensors
0.87 −0.43 0.25
Robot Hardware
Rz (30) Rx (30) = 0.50 0.75 −0.43
Performance and 0.00 0.50 0.87
Accuracy

0.87 −0.50 0.00


≠ Rx (30) Rz (30) = 0.43 0.75 −0.50
0.25 0.43 0.87

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 48


Roll-Pitch-Yaw Angles in Aviation (and in Nautics)

Introduction

Kinematic
Robot Types

Coordinate
Transformations

Motion Control
& Path Planning

Handling Systems

Robot Programming

Safety

Sensors

Robot Hardware wings nose


up / down up / down
Performance and
Accuracy

nose
left / right

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 49


Roll-Pitch-Yaw Angles / X-Y-Z Fixed Angles

Introduction

Kinematic Start with a frame {B} that is congruent to a reference frame {A}.
γ,
Robot Types
1. Rotate {B} first about XA axis of {A} by an angle
β,
Coordinate
Transformations 2. Then about the fixed YA axis by an angle
Motion Control
& Path Planning
3. Finally about the fixed ZA by an angle α.
Handling Systems
2. 1.
Robot Programming

=Fnew Safety
A
BRXYZ (γ , β ,α ) Fold RZ (α ) RY ( β ) RX (γ ) Fold
=
Sensors

Robot Hardware
Rotation around the axes of the fixed (nonmoving) frame
Performance and
Accuracy  Multiplication of each partial rotation from the left side
of the preceding partial rotation

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 51


Roll-Pitch-Yaw Angles / X-Y-Z Fixed Angles

Introduction

Kinematic
Robot Types A
B RXYZ (γ , β ,α ) = RZ (α ) RY ( β ) RX (γ )
Coordinate 1.
Transformations
cα − sα 0   cβ 0 s β  1 0 0 
Motion Control
& Path Planning
 sα cα 0  0 1 0  0 cγ − sγ 
   
Handling Systems  0 0 1   − sβ 0 cβ  0 sγ cγ 

Robot Programming

 cα − sα 0   cβ sβ sγ sβ cγ 
Safety
=  sα cα 0  0 cγ sγ 
Sensors
  
 0 0 1   − sβ cβ sγ cβ cγ 
Robot Hardware

Performance and
Accuracy
wher
= e c cos,
= s sin

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 52


Roll-Pitch-Yaw Angles / X-Y-Z Fixed Angles

Introduction

Kinematic
Robot Types A
B RXYZ (γ , β ,α ) = RZ (α ) RY ( β ) RX (γ )
Coordinate 1.
Transformations
cα − sα 0   cβ 0 s β  1 0 0 
Motion Control
& Path Planning
 sα cα 0  0 1 0  0 cγ − sγ 
   
Handling Systems  0 0 1   − sβ 0 cβ  0 sγ cγ 
2.
Robot Programming

cα − sα 0   cβ sβ sγ sβ cγ 
Safety
=  sα cα 0  0 cγ − sγ 
Sensors
  
 0 0 1   − sβ cβ sγ cβ cγ 
Robot Hardware

Performance and
Accuracy
wher
= e c cos
= , s sin

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 53


Roll-Pitch-Yaw Angles / X-Y-Z Fixed Angles

Introduction

Kinematic
Robot Types A
B RXYZ (γ , β ,α ) = RZ (α ) RY ( β ) RX (γ )
Coordinate
Transformations
cα − sα 0   cβ 0 s β  1 0 0 
Motion Control
& Path Planning
 sα cα 0  0 1 0  0 cγ − sγ 
   
Handling Systems  0 0 1   − sβ 0 cβ  0 sγ cγ 

Robot Programming

 cα cβ cα sβ sγ − sα cγ cα sβ cγ + sα sγ 
Safety
=  sα cβ sα sβ sγ + cα cγ sα sβ cγ − cα sγ 
Sensors
 
 − sβ cβ sγ cβ cγ 
Robot Hardware

Performance and
Accuracy
where c = cos, s = sin

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 54


Computation of Roll-Pitch-Yaw Angles from the Rotation Matrix

Introduction A
B RXYZ (γ , β ,α ) = RZ (α ) RY ( β ) RX (γ )
Kinematic
Robot Types

Coordinate cα cβ cα sβ sγ − sα cγ cα sβ cγ + sα sγ  𝑟𝑟11 𝑟𝑟12 𝑟𝑟13


Transformations
=  sα cβ sα sβ sγ + cα cγ sα sβ cγ − cα sγ  = 𝑟𝑟21 𝑟𝑟22 𝑟𝑟23
 
𝑟𝑟31 𝑟𝑟32 𝑟𝑟33
 − sβ cβ sγ cβ cγ 
Motion Control
& Path Planning

Handling Systems

Robot Programming
If cos𝛽𝛽 ≠ 0, 𝑡𝑡𝑡𝑡𝑡𝑡𝑡 we can use the following equations:
Safety

2 2
Sensors 𝛽𝛽 = 𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴 −𝑟𝑟31 , 𝑟𝑟11 + 𝑟𝑟21 ,
Robot Hardware

Performance and 𝛼𝛼 = 𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴 𝑟𝑟21 ⁄𝑐𝑐𝑐𝑐 , 𝑟𝑟11⁄𝑐𝑐𝑐𝑐 ,


Accuracy

𝛾𝛾 = 𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴(𝑟𝑟32 ⁄𝑐𝑐𝑐𝑐 , 𝑟𝑟33 ⁄𝑐𝑐𝑐𝑐)

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 55


Rotation about local (new) coordinate axes

Introduction

Kinematic
Robot Types

Coordinate
Transformations

Motion Control
& Path Planning

Handling Systems

Robot Programming

Safety

Sensors

Robot Hardware

Performance and
Accuracy

Aerotrim, Source: linz.at

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 56


Z-Y-Z Euler angles

Introduction Start with the frame {B} coincident with a known frame {A}
Kinematic
Robot Types
1. Rotate {B} first about local ZB by an angle α,
Coordinate 2. then about new YB by an angle β,
finally about new ZB by an angle γ.
Transformations
3.
Motion Control
& Path Planning 1. 2.

Handling Systems

Robot Programming
Fnew = Fold RZYZ(α, β, γ) = Fold RZ(α) RY(β) RZ(γ)
Safety

Sensors

Robot Hardware
Rotation around the axes of the new (rotated) frame

Performance and
 Multiplication of each partial rotation from the right side
Accuracy of the preceding partial rotation

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 57


Z-Y-Z Euler angles

Introduction RZYZ(α, β, γ) = RZ(α) RY(β) RZ(γ)


Kinematic
Robot Types

Coordinate
Transformations 𝑐𝑐𝛼𝛼 −𝑠𝑠𝛼𝛼 0 𝑐𝑐𝛽𝛽 0 𝑠𝑠𝛽𝛽 𝑐𝑐𝛼𝛼 −𝑠𝑠𝛼𝛼 0
= 𝑠𝑠𝛼𝛼 𝑐𝑐𝛼𝛼 0 0 1 0 𝑠𝑠𝛼𝛼 𝑐𝑐𝛼𝛼 0
Motion Control
& Path Planning 0 0 1 −𝑠𝑠𝛽𝛽 0 𝑐𝑐𝛽𝛽 0 0 1
Handling Systems

Robot Programming
𝑐𝑐𝛼𝛼𝛼𝛼𝛼𝛼𝛼𝛼𝛼𝛼 − 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 −𝑐𝑐𝛼𝛼𝛼𝛼𝛼𝛼𝛼𝛼𝛼𝛼 − 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 𝑐𝑐𝛼𝛼𝛼𝛼𝛼𝛼
Safety
= 𝑠𝑠𝛼𝛼𝛼𝛼𝛼𝛼𝛼𝛼𝛼𝛼 + 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐 −𝑠𝑠𝛼𝛼𝛼𝛼𝛼𝛼𝛼𝛼𝛼𝛼 + 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐 𝑠𝑠𝛼𝛼𝛼𝛼𝛼𝛼
Sensors −𝑠𝑠𝛽𝛽𝛽𝛽𝛽𝛽 𝑠𝑠𝛽𝛽𝛽𝛽𝛽𝛽 𝑐𝑐𝛽𝛽
Robot Hardware

Performance and
Accuracy

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 58


Z-Y-Z Euler angles

𝑟𝑟11 𝑟𝑟12 𝑟𝑟13


Introduction
RZYZ 𝛼𝛼, 𝛽𝛽, 𝛾𝛾 = 𝑟𝑟21 𝑟𝑟22 𝑟𝑟23
Kinematic 𝑟𝑟31 𝑟𝑟32 𝑟𝑟33
Robot Types

Coordinate 𝑐𝑐𝛼𝛼𝛼𝛼𝛼𝛼𝛼𝛼𝛼𝛼 − 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 −𝑐𝑐𝛼𝛼𝛼𝛼𝛼𝛼𝛼𝛼𝛼𝛼 − 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 𝑐𝑐𝛼𝛼𝛼𝛼𝛼𝛼


Transformations
= 𝑠𝑠𝛼𝛼𝛼𝛼𝛼𝛼𝛼𝛼𝛼𝛼 + 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐 −𝑠𝑠𝛼𝛼𝛼𝛼𝛼𝛼𝛼𝛼𝛼𝛼 + 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐 𝑠𝑠𝛼𝛼𝛼𝛼𝛼𝛼
Motion Control
& Path Planning
−𝑠𝑠𝛽𝛽𝛽𝛽𝛽𝛽 𝑠𝑠𝛽𝛽𝛽𝛽𝛽𝛽 𝑐𝑐𝛽𝛽

Handling Systems

Robot Programming
If sinβ ≠ 0, then we can use the following equations:
Safety

Sensors 2 2
𝛽𝛽 = 𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴( 𝑟𝑟31 + 𝑟𝑟32 , 𝑟𝑟33 )
Robot Hardware

Performance and 𝛼𝛼 = 𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴 𝑟𝑟23 ⁄𝑠𝑠𝛽𝛽 , 𝑟𝑟13⁄𝑠𝑠𝛽𝛽


Accuracy

𝛾𝛾 = 𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴(𝑟𝑟32 ⁄𝑠𝑠𝛽𝛽 , −𝑟𝑟31 ⁄𝑠𝑠𝛽𝛽)

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 59


Multiplication sequences / Ambiguities

Introduction
Multiplication from the left means a rotation around the fixed
axes of the initial (or the “old”) coordinate system
Kinematic
Robot Types
Multiplication from the right is the mathematical description of
Coordinate
Transformations a rotation around the axes of the new coordinate system
Motion Control
& Path Planning 2. 1.

Handling Systems
Fnew A
BRXYZ (γ , β ,α ) Fold - RZ (α ) RY ( β ) RX (γ ) Fold
=
Robot Programming
1. 2.
Safety

old B RZ ′Y ′X ′ (γ , β , α ) Fold RZ (α ) RY ( β ) RX (γ )
A
Sensors
Fnew F=
Robot Hardware

Performance and
Accuracy

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 60


Example for Ambiguities of Rotation Angles

Example for Ambiguities of Rotation Angles

(90,90,-90) (0,90,0)
Both sets of angles describe orientations
with respect to a moving object coordinate system

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 61


Multiplication sequences / Ambiguities

Introduction
Multiplication from the left means a rotation around the fixed
axes of the initial (or the “old”) coordinate system
Kinematic
Robot Types
Multiplication from the right is the mathematical description of
Coordinate
Transformations a rotation around the axes of the new coordinate system
Motion Control
& Path Planning 2. 1.

Handling Systems
Fnew A
BRXYZ (γ , β ,α ) Fold - RZ (α ) RY ( β ) RX (γ ) Fold
=
Robot Programming
1. 2.
Safety

old B RZ ′Y ′X ′ (γ , β , α ) Fold RZ (α ) RY ( β ) RX (γ )
A
Sensors
Fnew F=
Robot Hardware

Performance and It always exist several different sets of angles


Accuracy
to describe the same orientation.

This is true even for angle sets


related to the same angle definition.

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 62


Rotation with Euler Angles

Introduction
Advantages:
Kinematic
Intuitive, vivid
Robot Types

Coordinate
Transformations Disadvantages:
Motion Control Sequence of rotations is not arbitrary
& Path Planning
Computation of angles is not unambiguous
Handling Systems
 orientations can be described by various sets
Robot Programming
of Euler angles
Safety

Sensors Workaround: Use rotation matrices or quaternions.


Robot Hardware

Performance and
Accuracy

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 63


Denavit-Hartenberg Conventions for Industrial Robots

Introduction

Kinematic
Robot Types

Coordinate
Transformations Denavit-Hartenberg Conventions
Motion Control
& Path Planning Part 1.1:
Handling Systems

Robot Programming
Placing coordinate systems
Safety on arm elements
Sensors

Robot Hardware

Performance and
Accuracy

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 68


Denavit-Hartenberg Parameters

Introduction  Every arm element i (i=0, 1… n) of a robot with n joints


Kinematic has a fixed coordinate system Fi .
Robot Types
 Fi is always connected to arm element i.
Coordinate
Transformations  Fi does not change or move relatively to arm element i.
Motion Control  The origin of Fi is located on axis i+1!
& Path Planning

Handling Systems

Robot Programming

Safety

Sensors

Robot Hardware

Performance and
Accuracy

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 69


Denavit-Hartenberg Conventions: Placing Link Coordinate Systems

Introduction

Kinematic
Robot Types

Coordinate Ji
Transformations

Motion Control
& Path Planning

Ji+1
Handling Systems

Robot Programming
i-th link body
Safety

Sensors

Robot Hardware

Performance and
Accuracy
Origin of Fi

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 70


Denavit-Hartenberg Conventions: Placing Link Coordinate Systems

Introduction

Kinematic
Robot Types

Coordinate Ji
Transformations

Motion Control
& Path Planning

Ji+1
Handling Systems

Robot Programming
i-th link body
Safety

Sensors

Robot Hardware

Performance and
Accuracy
Origin of Fi

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 71


Placing Link Coordinate Systems: Position of the origin

Introduction

Kinematic
Robot Types

Coordinate
Transformations

Motion Control
& Path Planning

Handling Systems
Common normal
Robot Programming
Intersection point
Safety

Sensors
Position of the origin Fi
Robot Hardware
 If axes i and i+1 intersect, the intersection point is chosen as the
Performance and
Accuracy
origin for coordinate system i.
 If the axes are not intersecting,
the origin of coordinate system i is located in the intersection of
axis i+1 and the common normal to the axes i and i+1.

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 72


Placing Link Coordinate Systems: Orientation of z-axis

Introduction

Kinematic
Robot Types

Coordinate
Transformations

Motion Control
& Path Planning

Handling Systems

Robot Programming

Safety

Sensors

Robot Hardware

Performance and
Orientation of z-axis
Accuracy
 The axis zi is placed on joint axis i+1.
The direction can be user defined and represents the positive
direction of movement (positive sense of rotation: right hand rule).

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 73


Placing Link Coordinate Systems: Orientation of x-axis

Introduction

Kinematic
Robot Types

Coordinate
Transformations

Motion Control
& Path Planning

Handling Systems

Robot Programming Common normal


Safety

Sensors

Robot Hardware
Orientation of x-axis
Performance and
Accuracy  If the axes zi-1 and zi intersect, axis xi runs parallel to the
direction of the cross product of zi-1 x zi (choose the sign).
 If not intersecting, axis xi runs from joint axis i to i+1 along
the common normal.

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 74


Placing Link Coordinate Systems: Orientation of y-axis

Introduction

Kinematic
Robot Types

Coordinate
Transformations

Motion Control
& Path Planning

Handling Systems

Robot Programming

Safety

Sensors

Robot Hardware

Performance and
Accuracy Orientation of y-axis
 The axis yi completes a right hand coordinate system with xi and zi.
(cross product of zi and xi)

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 75


Placing Link Coordinate Systems: Location of first frame (base frame)

Introduction

Kinematic
Robot Types

Coordinate
Transformations

Motion Control
& Path Planning

Handling Systems
wrist point P2
Robot Programming

Safety

effector
Sensors

Robot Hardware
base frame tool frame
Performance and
Accuracy
Location of first frame
 The origin of the base frame F0 is placed anywhere on the first
joint axis, usually near (or in) joint 1
 z0 axis is directed along the first joint axis, x0 is arbitrary.

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 76


Placing Link Coordinate Systems: Location of last frame (tool frame)

Introduction

Kinematic
Robot Types

Coordinate
Transformations

Motion Control
& Path Planning

Handling Systems
wrist point P2
Robot Programming

Safety

effector
Sensors

Robot Hardware
Location of last Frame
tool frame
Performance and
Accuracy
 The origin of frame n is often placed in the TCP
and the zn axis runs in the same direction as zn-1
 xn is directed from zn-1 to zn
 If zn-1 and zn are collinear, xn is chosen like xn-1

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 77


Learning Objectives: Denavit-Hartenberg-Conventions

 Where does the origin of arm element frame Fi have to be located


according to the Denavit-Hartenberg conventions?

 How does it’s z-axis have to be oriented?

 How does it’s x-axis have to be oriented?

 How does it’s y-axis have to be oriented?

 How does the base frame have to be placed?

 How does the tool frame have to be placed?

PD Dr.-Ing Jobst Bickendorf Control and cyberphysical systems (RCS) FoR 78

You might also like