0% found this document useful (0 votes)
18 views37 pages

Robot Kinematics

The document discusses robot kinematics, focusing on direct and inverse kinematics, and the representation of position and orientation of rigid bodies in space using Cartesian frames. It covers concepts such as rotation matrices, Euler angles, axis-angle representation, and unit quaternions for describing orientation. Additionally, it includes practical examples from COMAU and ABB robots illustrating the application of these kinematic principles.

Uploaded by

hr.heidari60
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)
18 views37 pages

Robot Kinematics

The document discusses robot kinematics, focusing on direct and inverse kinematics, and the representation of position and orientation of rigid bodies in space using Cartesian frames. It covers concepts such as rotation matrices, Euler angles, axis-angle representation, and unit quaternions for describing orientation. Additionally, it includes practical examples from COMAU and ABB robots illustrating the application of these kinematic principles.

Uploaded by

hr.heidari60
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/ 37

Industrial automation and robotics

Robot kinematics

Prof. Paolo Rocco ([email protected])


Politecnico di Milano, Dipartimento di Elettronica, Informazione e Bioingegneria
Direct and inverse kinematics

Robot kinematics is the study of the motion of the robot.


We will address two problems:
Direct kinematics Inverse kinematics

 ? 
?
 ?
 ?
Industrial automation and robotics – Robot kinematics – Paolo Rocco
Position and orientation of a body in space

Let us first consider a rigid body in space:

How can we characterize the position and orientation of the body?

Industrial automation and robotics – Robot kinematics – Paolo Rocco


Position and orientation of a body in space

The study of kinematics of mechanical bodies is facilitated if Cartesian frames are


introduced.
Each point in space has 3 coordinates (x, y, z) in the Cartesian frame.

Industrial automation and robotics – Robot kinematics – Paolo Rocco


Position and orientation of a body in space

The best thing to do is to consider a reference frame and to attach a second frame
to the body.
z’ y’

z x’
y O’

O x

The problem is now how to characterize the position and orientation of a frame with
respect to another one.
Industrial automation and robotics – Robot kinematics – Paolo Rocco
Position and orientation of a body in space

The representation of the position is just made with the components of the origin of
the body-attached frame with respect to the reference frame:
z’ y’
The three components can be
z x’ conveniently gathered in a vector:
y O’
O’z 𝑜𝑜 ′ 𝑥𝑥
O’y 𝐎𝐎𝐎 = 𝑜𝑜 ′ 𝑦𝑦
O’x 𝑜𝑜 ′ 𝑧𝑧
O x

Industrial automation and robotics – Robot kinematics – Paolo Rocco


Position and orientation of a body in space

The representation of the orientation can be


made considering unit length vectors along the For example, for the unit vector x’:
axes of the rotated frame and evaluating their
components in the reference frame: z x’
y
z’ x’z
y’
x’y
x’x x
z x’ O’
y O’
We obtain three vectors:

𝑥𝑥 ′ 𝑥𝑥 𝑦𝑦 ′ 𝑥𝑥 𝑧𝑧 ′ 𝑥𝑥
O x ′
𝐱𝐱 ′ = 𝑥𝑥 ′ 𝑦𝑦 , 𝐲𝐲 ′ = 𝑦𝑦 𝑦𝑦 , 𝐳𝐳 ′ = 𝑧𝑧 ′ 𝑦𝑦
𝑥𝑥 ′ 𝑧𝑧 𝑦𝑦 ′ 𝑧𝑧 𝑧𝑧 ′ 𝑧𝑧

Industrial automation and robotics – Robot kinematics – Paolo Rocco


Rotation matrix

We can gather the elements of 𝐱𝐱 ′ , 𝐲𝐲 ′ , 𝐳𝐳 ′ in a matrix:

𝑥𝑥 ′ 𝑥𝑥 𝑦𝑦 ′ 𝑥𝑥 𝑧𝑧 ′ 𝑥𝑥 𝑇𝑇 𝑇𝑇
𝐱𝐱 ′ 𝐱𝐱 𝐲𝐲 ′ 𝐱𝐱 𝐳𝐳 ′ 𝐱𝐱
𝑇𝑇

𝐑𝐑 = 𝐱𝐱 ′ 𝐲𝐲 ′ 𝐳𝐳 ′ = 𝑥𝑥 𝑦𝑦 𝑦𝑦 ′ 𝑦𝑦 𝑧𝑧 ′ 𝑦𝑦 = 𝐱𝐱 ′ 𝑇𝑇 𝐲𝐲 𝐲𝐲 ′ 𝑇𝑇 𝐲𝐲 𝐳𝐳 ′ 𝑇𝑇 𝐲𝐲
𝑥𝑥 ′ 𝑧𝑧 𝑦𝑦 ′ 𝑧𝑧 𝑧𝑧 ′ 𝑧𝑧 𝑇𝑇 𝑇𝑇
𝐱𝐱 ′ 𝐳𝐳 𝐲𝐲 ′ 𝐳𝐳 𝐳𝐳 ′ 𝐳𝐳
𝑇𝑇

This matrix is called rotation matrix of the frame (𝐱𝐱 ′ , 𝐲𝐲 ′ , 𝐳𝐳 ′ ) with respect to the frame (𝐱𝐱, 𝐲𝐲, 𝐳𝐳) .

Industrial automation and robotics – Robot kinematics – Paolo Rocco


Elementary rotations

Let us consider a rotation by an angle α around z axis:

y
cos 𝛼𝛼 − sin 𝛼𝛼 0
y’ 𝐱𝐱 ′ = sin 𝛼𝛼 , 𝐲𝐲 ′ = cos 𝛼𝛼 , 𝐳𝐳 ′ = 0
α
0 0 1
x’
α x
O

The rotation matrix is thus:


cos 𝛼𝛼 − sin 𝛼𝛼 0 Similarly for the
𝐑𝐑 𝑧𝑧 𝛼𝛼 = sin 𝛼𝛼 cos 𝛼𝛼 0 rotations around the
0 0 1 other axes.

Industrial automation and robotics – Robot kinematics – Paolo Rocco


Representation of a vector

Consider now a point P whose coordinates are expressed in two reference frames:

The coordinates of the same point in the two frames are:

𝑝𝑝𝑥𝑥 𝑝𝑝′ 𝑥𝑥

𝐩𝐩 = 𝑝𝑝𝑦𝑦 , 𝐩𝐩′ = 𝑝𝑝 𝑦𝑦
𝑝𝑝𝑧𝑧 𝑝𝑝′ 𝑧𝑧
Therefore:
𝐩𝐩 = 𝑝𝑝′ 𝑥𝑥 𝐱𝐱 ′ + 𝑝𝑝′ 𝑦𝑦 𝐲𝐲 ′ + 𝑝𝑝′ 𝑧𝑧 𝐳𝐳 ′ = 𝐱𝐱 ′ 𝐲𝐲 ′ 𝐳𝐳 ′ 𝐩𝐩′ = 𝐑𝐑𝐩𝐩′

The rotation matrix thus encodes the transformation which maps


the coordinates expressed in the frame (𝐱𝐱 ′ , 𝐲𝐲 ′ , 𝐳𝐳 ′ ) into the
coordinates expressed in frame (𝐱𝐱, 𝐲𝐲, 𝐳𝐳).

Industrial automation and robotics – Robot kinematics – Paolo Rocco


Composition of rotation matrices

Let us consider three frames (denoted with 0, 1 and 2) with a common origin.
We denote with:
𝑗𝑗 the rotation matrix of frame i with respect to frame j
𝐑𝐑 𝑖𝑖

The coordinates of the same point in the three frames can be expressed in different ways:

𝐩𝐩1 = 𝐑𝐑12 𝐩𝐩2 𝐩𝐩0 = 𝐑𝐑01 𝐩𝐩1 𝐩𝐩0 = 𝐑𝐑02 𝐩𝐩2 𝐑𝐑02 = 𝐑𝐑01 𝐑𝐑12

Rotations can then be obtained by composing partial rotations.


Partial rotation matrices are multiplied from left to right.

Industrial automation and robotics – Robot kinematics – Paolo Rocco


Minimal representation of the orientation

A rotation matrix represents the orientation of a frame with respect to another one by means
of 9 parameters, among which 6 constraints exist.

In a minimal representation the orientation is described by means of 3 independent


parameters.

Possible representations are:

 Euler angles (3 parameters)


 roll-pitch-yaw angles (3 parameters)
 axis/angle (4 parameters)
 quaternions (4 parameters)

Industrial automation and robotics – Robot kinematics – Paolo Rocco


ZYZ Euler angles

With ZYZ Euler angles the sequence is composed as:

I) Rotation around Z
(angle ϕ)

II) Rotation around Y’


(angle ϑ)

III) Rotation around Z’’


(angle ψ)
𝑐𝑐𝜑𝜑 𝑐𝑐𝜗𝜗 𝑐𝑐𝜓𝜓 − 𝑠𝑠𝜑𝜑 𝑠𝑠𝜓𝜓 −𝑐𝑐𝜑𝜑 𝑐𝑐𝜗𝜗 𝑠𝑠𝜓𝜓 − 𝑠𝑠𝜑𝜑 𝑐𝑐𝜓𝜓 𝑐𝑐𝜑𝜑 𝑠𝑠𝜗𝜗 𝑐𝑐𝜗𝜗 = cos 𝜗𝜗
𝐑𝐑 = 𝐑𝐑 𝑧𝑧 𝜑𝜑 𝐑𝐑 𝑦𝑦′ 𝜗𝜗 𝐑𝐑 𝑧𝑧 ″ 𝜓𝜓 = 𝑠𝑠𝜑𝜑 𝑐𝑐𝜗𝜗 𝑐𝑐𝜓𝜓 + 𝑐𝑐𝜑𝜑 𝑠𝑠𝜓𝜓 −𝑠𝑠𝜑𝜑 𝑐𝑐𝜗𝜗 𝑠𝑠𝜓𝜓 + 𝑐𝑐𝜑𝜑 𝑐𝑐𝜓𝜓 𝑠𝑠𝜑𝜑 𝑠𝑠𝜗𝜗 𝑠𝑠𝜗𝜗 = sin 𝜗𝜗
−𝑠𝑠𝜗𝜗 𝑐𝑐𝜓𝜓 𝑠𝑠𝜗𝜗 𝑠𝑠𝜓𝜓 𝑐𝑐𝜗𝜗

Industrial automation and robotics – Robot kinematics – Paolo Rocco


From the COMAU manual: using Euler angles ZYZ

In COMAU robots, orientation is specified by Euler angles ZYZ.


Let's see some examples from a manual.

We want to align the z-axis of the flange with


the z-axis of the tool (denoted by u)

90° rotation around z 90° rotation around y 180° rotation around z

Angles: (90, 90, 180)

Industrial automation and robotics – Robot kinematics – Paolo Rocco


Axis-angle representation

Orientation can also be planned by resorting to the axis/angle representation: if we assign two
frames with the same origin but different orientation, it is always possible to determine a unit vector
𝐫𝐫 such that the second frame is obtained from the first one through a rotation of an angle 𝜗𝜗 around
the axis of such unit vector.
Formulas can be obtained to relate the
axis 𝐫𝐫 and the angle 𝜗𝜗 to the rotation
matrix 𝐑𝐑

Industrial automation and robotics – Robot kinematics – Paolo Rocco


Unit quaternions

Quaternions are widely used to express orientation of frames (for example in the
RAPID programming language of ABB). Given a rotation matrix
𝑟𝑟11 𝑟𝑟12 𝑟𝑟13
𝐑𝐑 = 𝑟𝑟21 𝑟𝑟22 𝑟𝑟23
𝑟𝑟31 𝑟𝑟32 𝑟𝑟33
the associated quaternion is expressed by the following four numbers:
1
𝑞𝑞0 = 𝑟𝑟11 + 𝑟𝑟22 + 𝑟𝑟33 + 1 Quaternions are related to the axis-angle
2 representation by the following formulas:
1
𝑞𝑞1 = sgn 𝑟𝑟32 − 𝑟𝑟23 𝑟𝑟11 − 𝑟𝑟22 − 𝑟𝑟33 + 1
2 𝜗𝜗 Notice that:
1 𝑞𝑞0 = cos
𝑞𝑞2 = sgn 𝑟𝑟13 − 𝑟𝑟31 𝑟𝑟22 − 𝑟𝑟33 − 𝑟𝑟11 + 1 2
2 𝑞𝑞1 𝑞𝑞02 + 𝑞𝑞12 + 𝑞𝑞22 + 𝑞𝑞32 = 1
𝜗𝜗
1 𝑞𝑞2 = sin 𝐫𝐫
𝑞𝑞3 = sgn 𝑟𝑟21 − 𝑟𝑟12 𝑟𝑟33 − 𝑟𝑟11 − 𝑟𝑟22 + 1 𝑞𝑞3 2
2

Industrial automation and robotics – Robot kinematics – Paolo Rocco


From the ABB Manual: using unit quaternions

In ABB robots, the orientation is specified by unit quaternions.


Let's see an example taken from a manual

X' is directed as Z and oriented in the opposite way


Y' is direct and oriented as Y
Z' is directed and oriented as X

0 0 1
𝐱𝐱 ′ = 0 , 𝐲𝐲 ′ = 1 , 𝐳𝐳 ′ = 0
Fonte: ABB −1 0 0

Industrial automation and robotics – Robot kinematics – Paolo Rocco


From the ABB Manual: using unit quaternions

0 0 1 0 0 1
𝐱𝐱 ′ = 0 , 𝐲𝐲 ′ = 1 , 𝐳𝐳 ′ = 0 𝐑𝐑 = 0 1 0
−1 0 0 −1 0 0

1 1 2
𝑞𝑞0 = 𝑟𝑟 + 𝑟𝑟22 + 𝑟𝑟33 + 1 = 0+1+0+1= = 0.707
2 11 2 2
1 1
𝑞𝑞1 = sgn 𝑟𝑟32 − 𝑟𝑟23 𝑟𝑟11 − 𝑟𝑟22 − 𝑟𝑟33 + 1 = sgn 0−0 0−1−0+1=0
2 2
1 1 2 Verification:
𝑞𝑞2 = sgn 𝑟𝑟13 − 𝑟𝑟31 𝑟𝑟22 − 𝑟𝑟33 − 𝑟𝑟11 + 1 = sgn 1+1 1−0−0+1= = 0.707
2 2 2
1 1 𝑞𝑞02 + 𝑞𝑞12 + 𝑞𝑞22 + 𝑞𝑞32 = 1
𝑞𝑞3 = sgn 𝑟𝑟21 − 𝑟𝑟12 𝑟𝑟33 − 𝑟𝑟11 − 𝑟𝑟22 + 1 = sgn 0−0 0−0−1+1=0
2 2

Industrial automation and robotics – Robot kinematics – Paolo Rocco


Homogeneous representation

How can we express coordinates of point P in


frame 0, based on its coordinates in frame 1?

𝐩𝐩0 = 𝐨𝐨10 + 𝐑𝐑01 𝐩𝐩1

Rotation matrix of frame 1 w.r.t. frame 0

In order to represent in a compact form these transformations,


it is advisable to introduce a 4-dim vector:
w is a scale factor which is always
𝑤𝑤𝑤𝑤
�=
𝐩𝐩 Homogeneous representation set to 1 in robotics (it is used in
𝑤𝑤
computer graphics)

Industrial automation and robotics – Robot kinematics – Paolo Rocco


Homogeneous transformations

𝐑𝐑01 𝐨𝐨10
Let us introduce the homogeneous transformation matrix (size 4×4): 𝐀𝐀01 = 𝑇𝑇
0 1
The relationship:
𝐩𝐩0 = 𝐨𝐨10 + 𝐑𝐑01 𝐩𝐩1
can be expressed, in terms of homogeneous coordinates, as :

�0 = 𝐀𝐀01 𝐩𝐩
𝐩𝐩 �1

𝐀𝐀01 relates the description (position/orientation) of a point on frame 1 with the


description in frame 0.

Composing several transformations: �0 = 𝐀𝐀01 𝐀𝐀12 … 𝐀𝐀𝑛𝑛−1


𝐩𝐩 𝑛𝑛 𝐩𝐩�𝑛𝑛

Industrial automation and robotics – Robot kinematics – Paolo Rocco


How does all this relate to the robot?

END EFFECTOR

JOINTS

BASE

Industrial automation and robotics – Robot kinematics – Paolo Rocco


The joints

Each joint allows for one (and only one) degree of freedom 𝑞𝑞1
between two links. We call joint variable the coordinate 𝐪𝐪 = ⋮
associated to such degree of freedom, and then we introduce 𝑞𝑞𝑛𝑛
the vector of joint variables:

Schematic draws of the joints:

ROTATIONAL JOINTS PRISMATIC JOINTS

Industrial automation and robotics – Robot kinematics – Paolo Rocco


Direct kinematics

 ?
The direct kinematics problem is to find position
and orientation of the tool frame w.r.t. the base
frame, as a function of the joint variables.


Industrial automation and robotics – Robot kinematics – Paolo Rocco


A simple case

Consider a two-link planar robot:


Y
P

a2y a2

ϑ2

a1
a1y
ϑ1
X
a1x a2x
Direct kinematics:

𝑝𝑝𝑥𝑥 = 𝑎𝑎1𝑥𝑥 + 𝑎𝑎2𝑥𝑥 = 𝑎𝑎1 cos 𝜗𝜗1 + 𝑎𝑎2 cos 𝜗𝜗1 + 𝜗𝜗2
𝑝𝑝𝑦𝑦 = 𝑎𝑎1𝑦𝑦 + 𝑎𝑎2𝑦𝑦 = 𝑎𝑎1 sin 𝜗𝜗1 + 𝑎𝑎2 sin 𝜗𝜗1 + 𝜗𝜗2

Industrial automation and robotics – Robot kinematics – Paolo Rocco


Direct kinematics

To proceed in a systematic way in the computation of the direct kinematics, a frame should be
attached to each link:
frame i-1 attached to the link i-1

frame i attached to the link i

𝐀𝐀𝑖𝑖−1
𝑖𝑖 𝑞𝑞𝑖𝑖
 It is the homogeneous
link 0 grounded transformation matrix of frame i
n is the last link
with respect to frame i−1
 It only depends on the joint
coordinate 𝑞𝑞𝑖𝑖
 The Denavit-Hartenberg
Proceeding iteratively: convention allows to place the
frames in a systematic way (we
𝐓𝐓𝑛𝑛0 𝐪𝐪 = 𝐀𝐀01 𝑞𝑞1 𝐀𝐀12 𝑞𝑞2 … 𝐀𝐀𝑛𝑛−1
𝑛𝑛 𝑞𝑞𝑛𝑛 will not cover it)

Industrial automation and robotics – Robot kinematics – Paolo Rocco


Inverse kinematics problem

 The inverse kinematics problem is to find joint


variables given position and orientation of the
? tool frame w.r.t. the base frame.

? ?

Industrial automation and robotics – Robot kinematics – Paolo Rocco


Inverse kinematics problem

Given position and orientation of the tool frame, find the corresponding joint variables.

 The problem may admit no solutions (if position and orientation do not belong to the
workspace of the manipulator)
 The analytical solution (in closed form) may not exist. In this case numerical techniques
are used
 Multiple or an infinite number of solutions might exist

In general the solution is found without a systematic procedure, rather relying on


intuition in manipulating the equations.

Industrial automation and robotics – Robot kinematics – Paolo Rocco


Two d.o.f. planar manipulator

Y
P 𝑝𝑝𝑥𝑥 = 𝑎𝑎1𝑥𝑥 + 𝑎𝑎2𝑥𝑥 = 𝑎𝑎1 cos 𝜗𝜗1 + 𝑎𝑎2 cos 𝜗𝜗1 + 𝜗𝜗2
𝑝𝑝𝑦𝑦 = 𝑎𝑎1𝑦𝑦 + 𝑎𝑎2𝑦𝑦 = 𝑎𝑎1 sin 𝜗𝜗1 + 𝑎𝑎2 sin 𝜗𝜗1 + 𝜗𝜗2
a2y a2
Even for this simple robot the
ϑ2
problem is:
a1
a1y
ϑ1
X
a1x a2x
COMPLICATED!

Two solutions exist

Industrial automation and robotics – Robot kinematics – Paolo Rocco


Different types of robot configurations

These two configurations correspond to the “elbow up” and “elbow down” situations:

Source: ABB

Industrial automation and robotics – Robot kinematics – Paolo Rocco


Different types of robot configurations

These two configurations can be obtained by rotating the arm backward and then
rotating axis 1 180 degrees:

The position and orientation of the end-effector


are exactly the same for the two configurations.

Source: ABB

Industrial automation and robotics – Robot kinematics – Paolo Rocco


Different types of robot configurations

These two configurations are obtained with different combinations of the wrist joint
variables:

Source: ABB

Industrial automation and robotics – Robot kinematics – Paolo Rocco


Differential kinematics: the Jacobian

Let’s introduce now the linear velocity and the angular velocity of the tool frame (attached to the tool):
𝐯𝐯 and ω.

The goal of differential kinematics is to express these velocities in terms of the joint velocities.

𝐯𝐯 = 𝐩𝐩̇ = 𝐉𝐉𝑃𝑃 𝐪𝐪 𝐪𝐪̇ ω


ω = 𝐉𝐉𝑂𝑂 𝐪𝐪 𝐪𝐪̇ v
𝐯𝐯 𝐩𝐩̇ P
In a compact form: = = 𝐉𝐉 𝐪𝐪 𝐪𝐪̇
𝛚𝛚 𝛚𝛚
𝐉𝐉𝑃𝑃 𝐪𝐪
The (6×n) matrix: 𝐉𝐉 𝐪𝐪 =
𝐉𝐉𝑂𝑂 𝐪𝐪

is called Jacobian of the manipulator.

Industrial automation and robotics – Robot kinematics – Paolo Rocco


Differential kinematics: the Jacobian

For the positional part, the Jacobian can be obtained differentiating the end-effector position with
respect to the joint variables:
Y
𝜕𝜕𝜕𝜕 𝐪𝐪 P
𝐉𝐉𝑃𝑃 𝐪𝐪 =
𝜕𝜕𝜕𝜕
a2y a2
For a two-link manipulator, the Jacobian is:
ϑ2

𝜕𝜕𝑝𝑝𝑥𝑥 𝜕𝜕𝑝𝑝𝑥𝑥 a1
a1y
𝜕𝜕𝑞𝑞1 𝜕𝜕𝑞𝑞2 ϑ1
𝐉𝐉 = X
𝜕𝜕𝑝𝑝𝑦𝑦 𝜕𝜕𝑝𝑝𝑦𝑦 a1x a2x
𝜕𝜕𝑞𝑞1 𝜕𝜕𝑞𝑞2
−𝑎𝑎1 sin 𝜗𝜗1 − 𝑎𝑎2 sin 𝜗𝜗1 + 𝜗𝜗2 −𝑎𝑎2 sin 𝜗𝜗1 + 𝜗𝜗2
=
𝑎𝑎1 cos 𝜗𝜗1 + 𝑎𝑎2 cos 𝜗𝜗1 + 𝜗𝜗2 𝑎𝑎2 cos 𝜗𝜗1 + 𝜗𝜗2
For the orientation part, things are more difficult.

Industrial automation and robotics – Robot kinematics – Paolo Rocco


Kinematic singularities

The values of 𝐪𝐪 for which matrix 𝐉𝐉 is rank-deficient are called kinematic singularities. At a
kinematic singularity we have:

At a kinematic singularity we have:

1. Loss of mobility (it is not possible to impose arbitrary motion laws)


2. Possibility of infinite solutions to the kinematic inversion problem
3. High velocities in joint space (around the singularity)

The singularities may happen:


1. At the borders of the manipulator work-space
2. Inside the manipulator work-space
The latter are more problematic, since they can be incurred with trajectories
planned in the operational space.

Industrial automation and robotics – Robot kinematics – Paolo Rocco


Kinematic singularities: example

For a two-link manipulator the Jacobian is:

−𝑎𝑎1 sin 𝜗𝜗1 − 𝑎𝑎2 sin 𝜗𝜗1 + 𝜗𝜗2 −𝑎𝑎2 sin 𝜗𝜗1 + 𝜗𝜗2
𝐉𝐉 =
𝑎𝑎1 cos 𝜗𝜗1 + 𝑎𝑎2 cos 𝜗𝜗1 + 𝜗𝜗2 𝑎𝑎2 cos 𝜗𝜗1 + 𝜗𝜗2
These are singularities at the borders of the workspace.
We can compute singularities:
0
det 𝐉𝐉 = 𝑎𝑎1 𝑎𝑎2 sin 𝜗𝜗2 = 0 ⇔ 𝜗𝜗2 = �
𝜋𝜋

Industrial automation and robotics – Robot kinematics – Paolo Rocco


Kinematic singularities of a complete manipulator

Arm singularity Elbow singularity

Wrist singularity
Source: ABB

Industrial automation and robotics – Robot kinematics – Paolo Rocco


Consequences in robot motion programming

 During joint interpolation, problems do not


occur when the robot passes singular points.
 When executing a linear or circular path close
to a singularity, the velocities in some joints
may be very high. In order not to exceed the
maximum joint velocities, the linear path
velocity has to be reduced.
 The robot configuration changes dramatically
when the robot passes close to a singularity
with linear or circular interpolation.

https://www.youtube.com/watch?v=zlGCurgsqg8

Industrial automation and robotics – Robot kinematics – Paolo Rocco

You might also like