7/27/2019 Introduction Robotics Lecture3
1/39
1/39
Introduction Robotics
Introduction Robotics, lecture 3 of 7
dr Dragan Kosti
WTB Dynamics and Control
September-October 2009
7/27/2019 Introduction Robotics Lecture3
2/39
2/39
Recapitulation
Forward kinematics
Outline
Introduction Robotics, lecture 3 of 7
Inverse kinematics problem
7/27/2019 Introduction Robotics Lecture3
3/39
3/39
Introduction Robotics, lecture 3 of 7
7/27/2019 Introduction Robotics Lecture3
4/39
4/39
Robot manipulators
Kinematic chain is series
of links and joints.SCARA
eometr
Introduction Robotics, lecture 3 of 7
Types of joints:
rotary (revolute, )
prismatic (translational, d).
schematic representations of robot joints
7/27/2019 Introduction Robotics Lecture3
5/39
5/39
Common geometries of robot manipulators
Introduction Robotics, lecture 3 of 7
7/27/2019 Introduction Robotics Lecture3
6/39
6/39
Forward kinematics problem
Determine position and orientation of the end-effector as
function of displacements in robot joints.
Introduction Robotics, lecture 3 of 7
7/27/2019 Introduction Robotics Lecture3
7/39
7/39
DH convention for homogenous transformations (1/2)
An arbitrary homogeneous transformation is based on 6
independent variables: 3 for rotation + 3 for translation.
DH convention reduces 6 to 4, by specific choice of
Introduction Robotics, lecture 3 of 7
.
In DH convention, each homogeneous transformation has the form:
7/27/2019 Introduction Robotics Lecture3
8/39
8/39
DH convention for homogenous transformations (2/2)
Position and orientation of coordinate frame i with respect to
frame i-1 is specified by homogenous transformation matrix:
q0
qi+1
xnz
0
zn
Introduction Robotics, lecture 3 of 7
ai
qi
x0
xi-1
xi
zi
zi-1
y0 yn
di
i0 n
where
7/27/2019 Introduction Robotics Lecture3
9/39
9/39
Physical meaning of DH parameters Link length ai is distance fromzi-1 to
zi measured alongxi.
Link twist i is angle betweenzi-1andzi measured in plane normal
qi
q0qi+1
zi
xn
y0
yn
z0
zn
i0 n
Introduction Robotics, lecture 3 of 7
i
- .
Link offset di is distance from origin
of frame i-1 to the intersectionxiwithz
i-1, measured alongz
i-1.
Joint angle i is angle fromxi-1 toximeasured in plane normal tozi-1
(right-hand rule).
qi
0
xi-1
xi
zi-1di
7/27/2019 Introduction Robotics Lecture3
10/39
10/39
DH convention to assign coordinate frames1. Assignzi to be the axis of actuation for joint i+1 (unless otherwise statedzn
coincides withzn-1).
2. Choosex0 andy0 so that the base frame is right-handed.3. Iterative procedure for choosing oixiyizi depending on oi-1xi-1yi-1zi-1 (i=1, 2, , n-1):
a)zi1 andzi are not coplanar; there is an unique shortest line segment fromzi1 to
Introduction Robotics, lecture 3 of 7
i, i
line intersectszi is the origin oi; chooseyi to form a right-handed frame,
b)zi1 is parallel tozi; there are infinitely many common normals; choosexi as
the normal passes through oi1; choose oi as the point at which this normal
intersectszi; chooseyi to form a right-handed frame,
c)zi1 intersectszi; axisxi is chosen normal to the plane formed byzi andzi1;
its positive direction is arbitrary; the most natural choice of oi is the
intersection ofzi andzi1, however, any point along thezi suffices;
chooseyi
to form a right-handed frame.
7/27/2019 Introduction Robotics Lecture3
11/39
11/39
Introduction Robotics, lecture 3 of 7
7/27/2019 Introduction Robotics Lecture3
12/39
12/39
Forward kinematics (1/2)
Homogenous transformation matrix relating the frame oixiyizi to
oi-1xi-1yi-1zi-1:
Introduction Robotics, lecture 3 of 7
Ai specifies position and orientation of oixiyizi w.r.t. oi-1xi-1yi-1zi-1.
Homogenous transformation matrix Tji expresses position and
orientation of ojxjyjzj with respect to oixiyizi:
jjiiij AAAAT 121 ++= K
7/27/2019 Introduction Robotics Lecture3
13/39
13/39
Forward kinematics of a serial manipulator with njoints can be
represented by homogenous transformation matrixHn0 which
defines position and orientation of the end-effectors (tip)
Forward kinematics (2/2)
Introduction Robotics, lecture 3 of 7
rame on nynzn re a ve o e ase coor na e rame o0x0y0z0:
=
==
1
)()()(
),()()()(
13
00
0
11
00
0
qqq
nn
n
nnnn
xRH
qAqATH K
[ ];00013 =0
[ ]Tnqq L1=q
7/27/2019 Introduction Robotics Lecture3
14/39
14/39
Case-study: RRR robot manipulator
-q3
x2x3
1
y2
y3
d2 a3
d3
z3
Introduction Robotics, lecture 3 of 7 x0
q1
q2x1
y0
z0
1
d1
a2
z1
waist
shoulder
e ow
1- twist angle
ai - link lenghts
di - link offsets
qi - displacements
7/27/2019 Introduction Robotics Lecture3
15/39
15/39
DH parameters of RRR robot manipulator
Introduction Robotics, lecture 3 of 7
7/27/2019 Introduction Robotics Lecture3
16/39
16/39
Forward kinematics of RRR robot manipulator (1/2)
Coordinate frame o3x3y3z3 is related with the base frame o0x0y0z0 viahomogenous transformation matrix:
== 32103 (q)(q)A(q)AA(q)T
Introduction Robotics, lecture 3 of 7
=
131
0303
0
(q)x(q)R
where
Tqqq ][ 321=q Tzyx ][)(03 =qx
]000[31 =0
7/27/2019 Introduction Robotics Lecture3
17/39
17/39
Forward kinematics of RRR robot manipulator (2/2)
,
Position of end-effector:[ ] 132223231 )sin(cos)cos(cos qddqaqqaqx ++++=
[ ] 132223231 )cos(cos)cos(sin qddqaqqaqy +++=
Introduction Robotics, lecture 3 of 7
, 122323 sin)sin( dqaqqaz +++=
Orientation of end-effector:
++
++
++
=
0)cos()sin(
cos)sin(sin)cos(sinsin)sin(cos)cos(cos
3232
1321321
132132103
qqqq
qqqqqqqqqqqqqq
R
7/27/2019 Introduction Robotics Lecture3
18/39
18/39
Introduction Robotics, lecture 3 of 7
Inverse Kinematics
7/27/2019 Introduction Robotics Lecture3
19/39
19/39
Inverse kinematics problem
Inverse kinematics (IK): determine displacements in robot joints that
correspond to given position and orientation of the end-effector.
Introduction Robotics, lecture 3 of 7
7/27/2019 Introduction Robotics Lecture3
20/39
20/39
Illustration: IK for planar RR manipulator (1/2)
Elbow down IK solution
Introduction Robotics, lecture 3 of 7
7/27/2019 Introduction Robotics Lecture3
21/39
21/39
Illustration: IK for planar RR manipulator (2/2)
Elbow up IK solution
Introduction Robotics, lecture 3 of 7
7/27/2019 Introduction Robotics Lecture3
22/39
22/39
The general IK problem (1/2) Given a homogenous transformation matrixHSE(3)
find multi le solution s ,, to e uation
Introduction Robotics, lecture 3 of 7
Here,Hrepresents the desired position and orientation of the tip
coordinate frame onxnynzn relative to coordinate frame o0x0y0z0of the base; T0n is product of homogenous transformation
matrices relating successive coordinate frames:
7/27/2019 Introduction Robotics Lecture3
23/39
23/39
The general IK problem (2/2)
Since the bottom rows of both T0n andHare equal to [0 0 0 1],
equation
Introduction Robotics, lecture 3 of 7
gives rise to 4 trivial equations and 12 equations in n unknownsq1,,qn:
Here, Tij andHij are nontrivial elements of T0
n andH.
7/27/2019 Introduction Robotics Lecture3
24/39
24/39
Illustration: Stanford manipulator
Introduction Robotics, lecture 3 of 7
7/27/2019 Introduction Robotics Lecture3
25/39
25/39
FK of Stanford manipulator
Introduction Robotics, lecture 3 of 7
7/27/2019 Introduction Robotics Lecture3
26/39
26/39
Example of IK solution for Stanford manipulator Rotational equations (correspond toR06):
Introduction Robotics, lecture 3 of 7
Positional equations (correspond to o06): One solution:
7/27/2019 Introduction Robotics Lecture3
27/39
27/39
Nature of IK solutions FK problem has always unique solution whereas IK problem may
or may not have a solution; if IK solution exists, it may or may not
be unique; solving IK equations, in general, is much too difficult.
It is preferable to find IK solutions in closed-form:
Introduction Robotics, lecture 3 of 7
faster computation (e.g. at sampling time of 1 [ms]),
if multiple IK solutions exist, then closed-form allows us to developrules for choosing a particular solution among several.
Existence of IK solutions depends on mathematical as well asengineering considerations.
We assume that the given position and orientation is such that atleast one IK solution exists.
7/27/2019 Introduction Robotics Lecture3
28/39
28/39
Kinematic decoupling (1/3)
General IK problem is difficult BUT for manipulators having 6 jointswith the last 3 joint axes intersecting at one point, it is possible to
decouple the general IK problem into two simpler problems:
Introduction Robotics, lecture 3 of 7
inverse position kinematics and inverse orientation kinematics. IK problem: for givenR and o solve 9 rotational and 3 positional
equations:
7/27/2019 Introduction Robotics Lecture3
29/39
29/39
Kinematic decoupling (2/3)
Spherical wrist as paradigm.
Introduction Robotics, lecture 3 of 7
Let oc
be the intersection of the last 3 joint axes; asz3,z4, andz5intersect at oc, the origins o4 and o5 will always be at oc;
the motion of joints 4, 5 and 6 will not change the position of oc;
only motions of joints 1, 2 and 3 can influence position of oc.
7/27/2019 Introduction Robotics Lecture3
30/39
30/39
Kinematic decoupling (3/3)
Introduction Robotics, lecture 3 of 7
q1, q2, q3
q4, q5, q6
7/27/2019 Introduction Robotics Lecture3
31/39
31/39
Articulated manipulator: inverse position problem
Introduction Robotics, lecture 3 of 7
Inverse tangent functionAtan2(xc,yc) is defined for all (xc,yc)(0,0)and equals the unique angle 1 such that:
,cos22
1
cc
c
yx
x
+
= .sin22
1
cc
c
yx
y
+
=
7/27/2019 Introduction Robotics Lecture3
32/39
32/39
Articulated manipulator: left arm configuration
r
Introduction Robotics, lecture 3 of 7
*
*
7/27/2019 Introduction Robotics Lecture3
33/39
33/39
Articulated manipulator: right arm configuration
Introduction Robotics, lecture 3 of 7 +
*
*
r
7/27/2019 Introduction Robotics Lecture3
34/39
34/39
*
r
Articulated manipulator: IK solution for 3
Introduction Robotics, lecture 3 of 7
Law of cosines:
+ elbow down; - elbow up
7/27/2019 Introduction Robotics Lecture3
35/39
35/39
Articulated manipulator: IK solution for 2
Introduction Robotics, lecture 3 of 7
1
2 2=1- 2
1=Atan2(r,s)
2=Atan2(a2+a3cos3,a3sin3)
7/27/2019 Introduction Robotics Lecture3
36/39
36/39
Four IK solutions 1-
3for articulated manipulator
PUMA robot asan example of
the articulated
Introduction Robotics, lecture 3 of 7
geometry.
7/27/2019 Introduction Robotics Lecture3
37/39
37/39
Articulated manipulator: inverse orientation problem
Introduction Robotics, lecture 3 of 7 Equation to solve:
7/27/2019 Introduction Robotics Lecture3
38/39
38/39
Articulated manipulator: IK solutions for 4
and 5
Equations given by the third column in :
Introduction Robotics, lecture 3 of 7
If not both right-hand sides of the first two equations are zero:
If positive square root is chosen in solution for 5:
7/27/2019 Introduction Robotics Lecture3
39/39
39/39
Articulated manipulator: IK solutions for 6
The first two equations given by the last row in :
-s5c6 = s1r11 - c1r21
s5s6 = s1r12 - c1r22
Introduction Robotics, lecture 3 of 7
Analogous approach if negative square root is chosen insolution for 5.
From these equations it follows: