Robotics and Control by Mittal
Robotics and Control by Mittal
of
Solution Let the known position and orientation of the endpoi arm be
by
given
T= (4.7)
0 00 1
where each, has a numeric value
To obtain the solutions for joint variables (6,. 6,. B,), In Eq. (4.7)Tis equ
to overall transformation matrix for the 3-DOF articulated arm "T, derived
equated
d in
Example 3.3, that is
GC-CS3 -S G^(L,C2» + L2C;)| 2 is a
S,C-S,Ss C S(L,C2 t L2C2)| 2122 23 24
C 0 LSy + LSS 12 i (4.8)
S3 C
0
Equation (4.8) gives 11 nontrivial equations for the three unknown ioint
variables, 6. 6, and 0 appearing on the left-hand side. The determination of
solution for these three joint variables for known rj is the inverse kinematie
problem and is worked out as follows.
Step 1 Applying guideline (a), an inspection of elements of the matrices on
both the sides of Eq. (4.8) gives that 6, can be obtained from element 3 of row 1.
The element (1,3) of left-hand side matrix has a term (-S,) in only one variable 0,
and a constant ri3 on right-hand side and, hence, it can give angle 6, from
-sin 6,=r3. However, according to guideline (c) this is not preferred as correct
quadrant of the angle can not be found. Alternatively, applying guideline (b), 6,
can be isolated by dividing element (2, ) by (1, 1) or (2, 2) by (1,2) or (l. 3) by
(2.3) or (2, 4) by (1, 4). Out of these, the last one is preferred as per guideline (d)
Thus, equating element (1,4) and (2, 4), on both sides of the matrix two equations
are obtained as
CLC23+ L,C2) = r14 (4.9)
S(L,C23+ L,C;) = r24 4.10)
T SC 0
00 0 (4.14)
0 0 0
The inverse of *7, is obtained using Eq. (2.53) as
C S 0 -L1
R*D,S, C, 0 (0
LO 0 0 (4.15)
(4.16)
Note that the left-hand side of Eq. (4.16) has
only of6, both sides
right-hand side has only 6, terms. A close examination 6, reveals that and terms and the
equations obtained from elements (1,4), (2,4). and (3, 4) are only function o 6,
and 6. Thus, with use of some algebra and
trigonometric identities, 6, can be
eliminated and solution for 6, is obtained. Equating the elements (1, 4),
(2, 4).
and (3, 4) of the two matrices, three equations obtained are
by element
by
(3,2) gives +0,).Dv
clement (3,) of Eq. (4.8)
S
C 142
8,+0 Atan2(.
424
Thus.
,
, =Atan2 ( ) - (4.25
and (4.25) givethe completesolution the 3-DM
for.
Equations (4.12).(4.22).
for thejoint displacements 6,. 0, and.
articulated arm as expressions Note that the ahoue lerm
and orientation.
arm end-point position
ofknown Alternate expressions for A n
one of the possible sets of expressions. the chosen elements of th ánd 4
obtained if instead of equating
would be
used, or instead of isolating 6,,
6, 1s isolated by prem matrices
other elements are
It is also possible to
find solution withot ing
se of the
both sides with T)
instead of using algebra and trigonqn
inverse matrix approach and ometry.
can be obtained from elements(a
instance. after solving for 8,. (¬, 6)
+
,l)and
(3. 2) and through trigonometric
manipulation, 6, and 6, are obtained
Inverse kinematics of
RPY wrist
Example 4.2
kinematic model was obtained in Examnle 2
For the 3-DOF RPY wrist
Eq. (3.27). as
CC 0
[-C5%C, +S,S, C,S,S, S,C
+
The eleents of the matrix on left hand side of matrix cquation arc known
(given). while. the clements of matrix on rigt-hand side have three unknown
ioint variables &,. 8, and 9. To get the solution for these joint variables, the more
consistent analytical approach (guidcline (e)) is used herc.
Guideline (e) suggests premultiplying thc matrix equation. Eq. (4.28) by
inverse of transtormation matrix "T, involving the unknown , and from the
clements of the resultant matrix equation determine the unknown. Recall that the
ight-hand side of Eq. (4.28) is the product of three transformation matrices "T
T. and T, cach involving one unknown . 9, and . respectively.
This process i8 continued successively. that is, moving one unknown (by its
inverse transform) from right-hand side of the matrix cquation to the lett-hand
side of the matrix equation and solving it, then moving the next unknown to the
lett-hand side, until all unknown are solved.
To solve for &,. both sides of Eq. (4.28) are premultiplied by "T". From
Eqs. (3.24) - (3.26)
S-C 0 0n 0 0 01 0o 00 1 0
0 0 0 10 o 0 0
0 0 0
00 1
Cn, +S Co, +S0, Ca, +Sha, 01 -S,C3 S,S C 01
n 0 C,CCs S 0
Sn,-Cn, So, -Go, Sha,-Ca, 0 S C3 0 0
0 0
(4.29)
The left-hand side of Eq. (4.29) has one unknown (6) and the right-hand side
has two unknown (6, and 9,). Scanning the elements of both the matrices in
Eq. (4.29), the equation in one unknown (G) is obtained by equating elements
(3, 3). That is,
Sa, -
Cja, = 0 (4.30)
ay
tan =
C
which gives
e, = Atan2(a,, a,) (4.31)
The process of further premultiplication is not necessary because the solutions
for the remaining two unknowns (0, and 6,) can be obtained from Eq. (4.29).
Equating (1, 3) and (2. 3) elements on both sides in Eq. i4.29) gives
C=Cja, +S,a,
S = a.
(4.32)
126 Robotics and Control
Szn +Cy0, =0
and. thus, the solution for 63 is (437
0=Atan2 (-o, n)
the elements (3,1) and (3, 3), 6, is obtained as
Similarly, from (4
0 = Atan2 (a,, Cn,- So,)
and from the elements (1, 2) and (2, 2), 6, is obtained as
(430
solution of Siml
gives
In this example, premulitplying
or postmultiplying
complexity but this may not be always the case. The decision to pre
ply
C4 S24
S24 C24 0
(4 40)
0 td-|
d u l4-L (441
Next. to solve for 6, elements (1, 4) and (2, 4) are compared. This gives
(4 42)
Squaring Eqs.
LS+LS=
(4.42) and (4.43). adding and simplityng using the
4 43)
G t-L- (445)
2141
Since S, =t1-c (446)
the solution for 8, is obtained from Eqs. (4.45) and (4.46) as
6 = Atan2S2. C;) (447)
Now that 6, being known, Eqs. (4.42) and (4.43) can be used to compute &
These equations are written as
(4.48)
LCC-S,S,)+ L41CG 4 =
or
(L +LC C -(L,S,)S, i4 =
(4.50)
(4.51)
(L +LC2 S +(L,5,CG =
and 0= Atan2
LS l4 t
L,C; | (4.54)
0.354 0.106
0.354 O866
0612 0.500 0612 0184 (4.62)
P
d3
L2
arm
Fig. 4.7 A 3-DOF spherical configuration
forward kinematie
forward kinematic model is obtained first. For the
The
carried out first. While
frame assignment for the home position is
model. the can be eliminated from
frames it is observed that the link dimension L,
assigning coincide w ith origin
the origin of frame {0} to
the kinematic model by choosing can be made
2 (see Example 3.3). The link dimension L
of frame {1} at joint as shown in Fig. 4.8
such that the axis of
zero by modifying
the design slightly
prismatic link passes through
the origin frame {1 }.
of frame {0}.
frane assignment with the origin of three frames,
The final
shown in Fig. 4.9. This minimizes
and frame {2) at the same point is
frame {1 } condition for
parameters as well as satisties the necessary
the number of non-zero
solutions.
existence of closed form
are labulated in Table 4.
Thejoint-link parameters
130 Robotics and Control
da
0.05
X3
d3
Same origin
Lo
Xo
Fig 4.9 Frame assignment for spherical arm with horizontal home position
L0 0 0
The Inverse Kinematics 131
Td) (4.65)
0 d
and. thus,
GC S, GS
S,C S,S d,S,,
7- °7, T, T, =| (4.6
S 0 C
and then
Fist. generalizcd solution is worked out, as in previous examples
a
Let the
he
the Nalues from Eq. (4.62) will be substituted to get specific solutions.
am point position and orientation be specified as in Eq. (4.7).
and
The kinematic model equations arethus, obtained by cquating Eq.(4.66)
Eq.(4.7)giving
GC-S -CS -d,CS1 2 3
S,C C -S,S -d,S,S|_| T24 467
S 0 C2 dC
0 0 0 00
displacements
are obtained i substituting the
by
erical values for joint Eq.
The and
oricntation matrix, (
4.62) in to
alues from given arm point position solutions are:
(4.74). The specilic
Eqs.(4.71). (4.73) and
106)
=
=Atan2 (0.184. 0.
(ty0.106)+-0.184),
0.212)=t 45 (4.75)
Atan2
=0.30
+ (-0.184) + (0.212)
8, = Atan2 (0.106)
tabulated in Table 4.2.
solutions are
The two pssible
tle specified arm point
Table 4.2 Tv possible solutions for
The joint range specified for joint 2 is: -30° <0,< 70°. The solution 1 es
range constraint and, hence, solution
angle 8, as 6,= 45°. This violates the joint
1 is not feasible.
of 5-DOF Manipulator
Example 4.5 Inverse Kinematics
For the 5-DOF industrial manipulator discussed in Example 3.7, obtain the
analytical solutions ofjoint variables.
Solution Let the end-effector tool point transformation matrix be given by
n, 0, ay d
TE n, o az d,|
(4.76)
0 00 1J
From the kinematic model obtained in Example 3.7, the overall transformation
matrix for the end-effector tool point is (Eq. (3.48))
0 0 0
(4.79)
or
0 0 0
-Sa, +C,a, = 0
(4.81)
-S,d, +Cd, = 0
is
Using the later, the solution for 6,
6, Atan2(d,. d,) (4.82)
is obtained as
From ratio of elements (3, 1) and (3, 2), solution for 6,
-S, =-S,n, + C1y (4.83)
-Cs -So, + C1o,
(4.84)
6, =
Atan2(-Sn, +
C,,-S10, +Co,)
is obtained by first
The solution for remaining three variables B, 6, and 6,
3) and (2, 3) gives
SOlVing for ,+ 0, + 04. Equating elements (1,
C214 =Ca, +S1a, (4.85)
S234-
134 Robotics and Control
which leads to
5,a,
+0, =Atan2(-a,. Ga,
+
,+0,
A
-Ss-C 0 (4.88)
0 0
From elements (1, 1) and (1, 2), two equations are obtained:
O
Stan6,(C", +Sn,)+Go, +So,)
n, tan 6, t 0
C2
or e, =Atan2an6,(Cn, +Sn,) + Co, +Syo,, n, tan 6, + o. (4.92
Similarly from elements (1, 4) and (2, 4) of Eq. (4.88), two equations are
obtained after rearrangements as
LC34 + LC, = CC,d, +S, C2d, - S,(d, - L,)- L
(4.93
LsS4 + L S, = - C,S,d, + S, Sd, -C, (d, + L)
Substituting for C34 and S4 from elements (1, 3) and (2, 3), respectuvelyTo
the left-hand matrix of Eq. (4.88) and
simplifying gives
L,C = CCd, +S,Cd, S, (d, - L,)-L - L,(C,Cya, +S,C%a, , 4 .
LyS-CS,d, -S,5,d, -C,(d. + L) + L,(C,S,4, + S,S,d, + C,a,
(4.94
The Inverse Kinematics 135
fom respect
to the
+CC +CC,C
S,CC.C% S,C,CS, S,CS -S,C%
C,SC +CS,S% +C,C +C,Cl+Cd
+S,S% +SS,o
i Roboties and Control
Observe that in Fq (4 98) neither single variableterms are present nor.
(4.105
Similarly, substituting Eq. (4.101) into Eq. (4.102) gives
Lga, +S1S,d, + CL2 = d,
S S , d +CL, = d, - Lga,
of (4.106
Squaring Eqs. (4.105) and (4.106), adding and simplifying gives
S d + L = ld, - L,a, +ld, - Lga,)¥
Cydy d -L (4.108
Cd =(d - L,a, (4.109
d,
=tyd, La, + ld, Lsd,) + ld -L,a¥- the
The displacement of prismatie joint d, is always positive: therelore.
negative solution is not valid. Thus
(4.110)
d, =yd, L,4,+ d, ,4,+ td, - La,- 4.
The Inverse Kinematics 137
hus, solution for the joint variable d, which gives the joint displacement for
the prismatic joint, is found. Next, solve for joint displacement 6. From
Eq.(4.107).
(4.111)
S,d=tyd, -I,a, (d, -L,d,) -
Dividing Eq. (4.111) by Eq. (4.108), solution of joint variable , is obtained
Next. to solve for G. Eqs. (4.105) and (4.106) can be used as they have only
, as unknown. First, let the constants K, and K, be defined as
K =
S»d3 and K,= L
Substituting these constants in Eqs. (4.105) and (4.106):
K,C - K2S, = d, - Lga (4.113)
K,S + K^G =d, - L,4, (4.114)
The equations of this form can be solved by making trigonometric substitutions
R = r sin o and K = r cos (4.115)
where
r=+K +K3
= Atan2 (4.116)
Substituting K, and K, from Eq. (4.115) in Eqs. (4.113) and (4.114)
sin(o -
0,) =
Ls, (4.117)
Lga,
cos( 0,) "* =
(4.118)
From Eqs. (4.117) and (4.118).
s ,64,)
-6, =Atan2 r
(4.119)
S,d L
6, Atan2
VSd+l Vsd +
d,-Ld, , - L , (4.120)
Thus, Eqs. (4.1 10), (4.1 12) and (4.120) give solutions for the lirst three joint
displacements 6. 6, and d, respectively.
138 Robotics and Control
To obtain the solutions for the remaining three joint displacements 9.n
.
to view the descrinti
and
oanother approach will
be used. It is possible of
too
arm endpoint fram
ame,
Trame, frame {6}. with respect to frame (3).
the
two along
different paths.
016
T (4.125)
|0 0 0
Since matrices in Eq (4.123) and (4.125) represent the same point, the arm
point.0. B. b, can be tound by equating the corresponding clements of matrices.
Eirst, for 0. the elements in row 3 are equated to give three equations as:
(4.126)
-
SS% '32=
(4.127)
C r33 (4.128)
Squaring Eqs. (4.126) and (4.127), adding and dividing the result by
Eg. (4.128) gives solution for 8, as
64 Atan 2 (4.132)
Ss
Note that since Sg is a variable and may have more than one value, it is going
to influence solution of , . Finally, to solve for 6, Eqs. (4.127) is divided by
Eq. (4.126) to give
6, =Atan2-2 (4.133)
Thus, expressions for all the six joint displacements of 6-DOF manipulator are
obtained as explicit functions of the desired position and orientation of end-
effector. The values of joint displacements can be determined from these functions
for the desired end-effector location data. Note that the inverse kinematics
solutions could have been obtained by following alternate approaches. The issues
of existence and multiplicity of solutions are discussed next.
Existence of Solutions
A close examination of the expressions of the joint variables reveals that the
oulions to the inverse kinematics problem of the given 6-DOF arm existonly if
the following conditions are satisfied:
() The term underthe square root in Eq. (4.110) is non-negative, thatis,
Td, La, ) + (d, - L,a,' + (d, - Lya,)- LJ2 0 (4.134)
140 Robotics and Control
(4.11), is non
(i) Similarly, the
term under the square
root in Eq.
nnegative
that is.
+ (d, nd, ) - L 1 2 0 (4.135
ld, - a, on the dimc
conditions are clearly geometric
constraints
nensions of
The above
the links of the manipulator. One. for given link dimensions ( .
look at thcse.
Thereare two ways to
the desired position (d,, d "
able to attainn
the end-cffector will not be satisticd, and scco
are not
the above conditions
o n e n t a t i o n (a,. a,, if
a,)
Ly and L, for the do
conditions can he used
to design link
dimensions
sired
workspace 18 automatically satic.
satisficd, condition (1) ied
Note that. if condition (i) is
of rotation for all revolute ijoints
that here it is assumed that full 360°
Aiso, note
are possible. But, due
and limitless translations of the prismatic joint to
motions are restricted only if
and solutions exist in
mechanical constraints. joint
conditions given above,
each of the joint variables take
addition to satistying the
a value that lies within the range of
motion allowed for thatjoint
Multiplicity of Solutions
Equation (4.112) gives two solutions of &, due to the presence ofthesquare root
Since 6, depends on 6, (Eq. (4.120)). there is one value of 6, for each value of4.
Similarly. from Eq. (4.129). there are two solutions for 6, and hence, it givesone
set of solutions for 9, and 6, for each value of 65.
Thus. the number of solutions to the inverse kinematics problem of the given
6-DOF-manipulator arm is four.
Example 4.7 Determination of joint variables for a 4-DOF RPPR
manipulator
For a 4-DOF. RPPR manipulator, the joint-link transformation matrices, with
joint variables 6,. d,. d and 6, are
C-S 0 0
S C 00
T (,)0 0 0
(4.136)
0 0 0 1
0 0 51
01 0 0
T,(d)=0 01 d (4.138)
0 00 I
The Inverse Kinematics 141
C S 0 01
- S C 0 o
T0)=| 0
(4.139)
It the tool contiguration matrix at a given instant is as given below, obtain the
magnitude of cach joint variable
-S4 0 07
C -S 0
0Ti 0 0 0 Ti 0 0 5TC
SS C0 0|0 0 1 0 0 00 Sa C4 I0 TE
00o0-10
LO
d|0
0 0 10 0 0 1 o
0
0 0
I
ds0
10
0
0 0 1J
(4.142)
or
6, -0.5
C = cos =
d, = 50 (that is : d, =
d) (4.146)
d = 100
(4.148)
The tourth joul
vViariable
6 IS C O m p u .
uted from
he negative.
Note thatd, can not
clements (3. ) and (3. 2) as
(4.149)
= oricntation. 7, Will be ed hu
achieved by settin .
and
cffector position
The given end
\anable vCctor to
the jont
S0 100 60"| (4.150
=0
EXERCISES
as long as the
limits are
the manipulator if the joint
range
0<0 <170°,
(4.151)
-90°<0 <110°.
4.9 For the two degree of freedom planar RP configuration arm discussed in
Example 3.1, how many solutions can be found for a given position and
orientation. What will be the number of solutions if following alterations
are made in the manipulator configuration?
(a) Add one revolute joint after the prismatic joint.
(b) Add one revolute joint before the prismatic joint.
(c) Add one degree of freedom (IR) wrist.
In each case, the manipulator remains planar.
4.10 For the 2-DOF manipulator shown in Fig. 3.11 determine the solution for
all joint displacements q for a given tool point position and orientation.
4.11 Obtain the inverse kinematics solution for the 3-DOF planar manipulator
shown in Fig. 4.5.
4.12 Workout Example 4.1 without using inverse transform approach.
4.13 Obtain the closed form solutions for the joint displacements of the
L2
L1
figure. -84
-0.866 0
0.5
0.866-0.5 0-48.5
T -1 105
(4.152)
20
60
40
500
Tool point
, , d,
T d
d 4.153)
90 d
0 0 ,
0
90° 0
90° d
0
d
426 Describe the workspace of a manipulator. Make a list of factors on which
the workspace. the dexterous and reachable
workspace, of a given
manipulator depends.
4.27 Solutions to inverse kinematics problem are generally difficult. Explain
why
4.28 Explain the factors on which the number of solutions to given inverse
kinematics model depend.
4,29 How are the feasible solutions determined? What parameters have control
on the number of feasible solutions to the given inverse kinematies
problem?
s)Is it always possible to find analytical solutions tothe inverse kinematies
problem? Give a situation when the analytical solution to inverse
nematics problem cannot be found.
What are closed form solutions to inverse kinematies problem' Explain
r methods for
obtaining closed form solutio
2Why closed form solutions are prefered over nunerical, iterative orother
Torms of solutions to the inverse kinenmatics problem
SELECTED BIBLIOGRAPHY
accclcrate. move at
inust
cycle a
manipulator
nd ofientation se
the work tinne varying
position
uring This
and decclerate. Time varying torques a r e
speed. behaviour.
manipulator
dvnamics. are a set
to input actuator
dynamic response of the manipulator
is useful for computation torque and of
model of a manipulator
The dynamic information
work cycle, which is vital
for execution of a typical
forces required
drives, and actuators.
The dynamic behaviour ofthe
for the design oflinks.joints,
actuator torques and motion of
manipulator provides relationship between joint
sumulation and design of
control algorithms. The manipulator control
for
links
obtain the desired
of the manipulator to
the dynamic response
maintains
dynamic model and
pertormance, which directly depends
on the accuracy of the
The control problem requires specitying the
efficiency of the control algorithms. Simulations
desired response and performance.
control strategies to achieve the and
moiuon permits tlesting of control strategies, planning.motion
of manipulator
pertormance studies without a physical prototype of the manipulator.
The serial link manipulator represents a complex dynamic system, when
be modeled by systematically using known physical laws of Lagrang
mechanics or Newtonian mechanics. Approaches such as Lagrange-tuler
which is "energy-based", and Newton-Ealer (NE)) based on "force-balae
Dynamic Modeling 191
can
he stematical ally
applicd to develop the
no backlash, no trin tion and manipulator EOM Assuming rigid
n
al cquations,
d i f l e r e n t t a l
.1 LAGRANGIAN MECHANICS
Aalar function called Lagrunge
function or
lagrangian LI defined the
as
difference between the total kinetic energy Kand the total potential
mechanical system.
energy
Pot a
L = K- P
torquorces due to kinetie and potential energy present in the sysiem. The nght-
hand side is t he joint torque for joint i that is provaded by the itttuatori. If r, =
t,
means that JOnti
jont does not move and it t # 0, the anpul.ator novement is
FREEDOM
TWO DEGREE OF
6.2 MANIPULATOR-DYNAMIC MODEL
oul to illustrate the
The dynamies of a simple manipulator is
worked
involved in the dynam
mic modeli
grang
clarify the problems
Euler formulation and
to
joints, as shown in Fiy
with both rotary
A planar. 2DOF manipulator obtaincd using
direct gcometric an.
dvnamic nmodel is
considered and its coordinatefr
formulation. Forthe manipulator,
before diseussing the general linklengths L,and L,, mass of links
and
e, and e.
0) and {1}.joint variablesshown in the figure. The
nmass
ofcach link is asSumed
are
m, and m. respectively. of mass of cach link and links are assumo
to be a point mass
located at the center
velocities are v, v,, 6, and
to be slender
members. The linear and angular
respectivecly.
Link 2 (L2) P
m2
*2 y2)
Link 1 (L1) (1) 2
m (X1. Y1)
Thus, the kinetic energy for the link I with the linear velocity v =, 4:
(6.4)
2 8 24 6
and its potential energy is
(6.5)
m,gl, sin ,
-aXIS
where g is the magnitude of acceleration due to gravity in the negative
direction.
Dynamic Modeling 193
ar
For the second link, link 2. the
Cartesian position coordinates (,. V2) ot the
of link are:
center of
mass
= L cos 0, +
L, cos (0, +0,)
(6.6)
= L sin 6, +L sin (0, +0,)
Ditferentiating Eq. (6.0) gives the components of velocity of link 2 as
i, =
L sin 6, 6, l
-
+
0,)
(6.7)
i, =
L cos &, 0, +L cos
(0, +0,)6, +0,
From these components, the square of the magnitude of velocity of the end of
link 2 is
=
List®} +s0, +0,) L,la5,50 +0,6,) +
Km,v +/0
2
differentiatcd
wrt 6, and 6, to give
in Eq. (6.1) is
The Lagrangian
m,gl,C12 (6.13)
m, tm, Je
0 ,+m,1216,+,
+
t
m:
and
O
(6..14
maL,LC, (26, +0)
time
Differentiating Eq. (6.14) wrt
m,14L,5,6 (6.15
m L , 4 L C :|0, -m,l,laS0,0, -
into Eq. (6.12), the torque at
Substituting the
results of Eqs. (6.13) and (6. 15)
joint I is obtained as
dL (6.18)
and m,t 6, +0,)+m,L lC,0,
and
Again
from Eq (6.12),
t-m l,,m,1.0
+m,Ll,S,0, m, gl,Ci (6.20)
Eyuations (6. 16) and (6.20) are the EOM (dynamic model) of the 2-1ink planar
manipulator Because both the joints are revolute, the generalized torques t and
T.represent the actual joint torques.
Torqueequation, Eqs. (6.16) and (6.20) can be written in the generalized form.
which will be deseribed in Section 6.4, as
T = M 6 t M0, + H +G
(6.21)
T M6, + Ma26, + H, + G,
where
M+ m,)+mt +m,b,lC|
M2 M m4+LL
Mapmt
H=maLL,S,0,0, - maLLS,03
H=mLlaS,®}
G + mJL4G,+m,LC
G m,L,G28
2
These coefficients are defined as
M effective inertia,
=
M=effectivecoupling inertia,
acceleration forces
H,=centrifugal and Coriolis cunbersome when a
This direct formulation approach becomes quite
In the following sections, the
anipulator with than 2-DOF is analyzed.
more
based on homogeneous cowrdinate
derivation of EOM for an-DOF manipulator,
ransformation matrices is presented.
.5 LAGRANGE-EULER FORMULATION
procedure for obtaining the
grange-Euler formulation is a systematic
The n-DOF open kinematie chain
a m i c model of an n-DOF manipulator.
Robotics and Control
196
or aisplacement variak
has n joint posilion
e s t a b l i s h e s the relation
hes,
serial
9=l41..
link manipulator
q,1'. The LE
formulation |Eq.
(6.2)|
and the generalized torques
between
torques ana
applied
accelerations,
nonconservative tor
velocities,
positions, are the
thejoint The generalized torques ques
to the manipulator. forces, and induced joint
torques?
friction The
contributed by joint actuators, joint the joints due to contact orintcract of
the torques at
induced joint torques are
' = (6.22)
The position of point P with respect to base coordinate is
= ( ° 7 T..)' (6.23)
Yi-1
Z-1
P
'r-1
Lo
(0) dm
Yo Z
o
Fig. 6.2 Velocity of a point on the link
Dynamic Mod ng 197
where
-IT. is given by Eq. (3.3) with q, 0, for
prisn
ioint. The velocity of point P with a
rotary joint or
q, =
d, for a
). is obtained from Eq. (5.46), as respecct to base coordinates, frame
EV
(6.24)
here the fact that 'r = 0 is used
Thetranstormation a i x T, involves
4ial derivative with complex trigonometric terms and its
artial
respect to
q. required in Eq. (6.24), involves
ation. The following steps complex
simplify the computation of
ofthe homogenec transformation matrix. partial derivative
Consider the transtormation matrix
that is.
"T, for link j
given by q. (3.4) for
rotary joint. a
Se
-Ce,Ca, CO,Sa, -4,Se,
Se,Ca, Se,Sa, a, Ce,
T (6.28)
Hence,
The result is same as Eq. (6.26).
T -'T, (6.29)
also applies for a prismatic joint
The partial derivative equation, Eq. (6.29)
with Q defined as
o 0 0 07
00 00
(for prismatic joint) 6.30)
,0 0 0 1
The reader may verify Eq. (6.29) with Q, in Eq. (6.30) for a prismatic joint.
Since T= "7 '7, T. its partial derivative "T, with respect to q,is
,2"T,0,74,'
j=
(6.33)
Dynamic Modeling 199
The Inertia Tensor
6.3.2
-t1yy +1) m, X
- +I) m,y
Iyt +1y -I m,z
m,X myi m; mS
(6.35)
i=1
(6.37)
=,v, =
"i. =Tr"; ")=Tr (,,) the
(6.37) and the result in Eq. (6.36),
Substituting v, from Eq. (6.33) Eq.
in
obtained as
AInetic energy of the differential mass is
d
k=l
=
Robotics and Control
(",0 '1)9
T 2 2°7.0 '7)dm,
(6 18
linki is then
The total kinctic energy of
(6 39
Eq (6.39)isthe
m n e n t of nertia tensor
The integral term| 'r r'dm, in
is
Thus. forn-DOF manipulator,. total kinetic energyof manipulator
2T , "7)U,("T"7)4,4
j = k=l
l
IE
ET|(°70,7),
=l k=l
(°7-0T) |G,4 (6.41)
(6.42)
= -m, g7)= -m,g °77
link i with respect to
where vectors 'rand represent the center of mass of
frame (0 and with respect to frame {i), respectively, and the acceleration due to
base
gravity &=*,*,K i s the 4 x I gravity vector with respect to
frame (0). The negative sign indicates that work is done on the system to raise
link i against gravity. The total potential energy ofthe manipulator is sum of the
(6.43)
i=1j=lk=1 i=
(6.44)
ACcording to the Lagrange-Euler dynamic formulation. the generalized
uce T, of the actuator at jointi, to drive link i of the manipulator, is given by
torqu
Fq. (6.2)
d ( 8L
38838
,d&q
By substitutingL and carrying out the differentiation, the generalized torque t,
anplied to link i of n-DOF manipulator is obtained. The detailed derivations are
aried out in Appendix D. The final EOM (dynamic model) is
where
hyj (6.47)
p=max(i.j,k) L
G, =2m, gdpi "p (6.48)
p=
d=-e,T forj Si
and
forj > i
(6.49)
effetive
acts
M
-
oupling inertia
betwecn joint i and jointj is the
It
the
is
reacttion
M - acceleration at joint:
torquc M, . al oint indced by i
Revere
M,4, as torque at joint
applies cqually with torque due to
acleration of oint
Since Tn4) TA ) it can he shown that M, -
M,.
induced reaction trar
Thc fhoient h, represents the velocidy
andK are relalcd to velocities of
ointi. the first indc The indices
and oint A. whose dvnamic interplay inducesa reaction torquc at iuns
particular. a term of the fomn h , Is thc centrilugal lorce actingat to
nt
duc to velocity at joint and a term of the form hy 4,4 1s known as th
Conolis force acting at jointi due to velocities at jointj and t 1
In
particular
o r n o l i s force coefficient generaled by the velocities ofiount .
and oint kand "felt" at joint i. Coriolis force acting at joint i due to
clocitics at joint j and joint k is a combination term of h, 4,4,
as changes.
In dynamic model
equations |Eq. (6.45)|, inertial and gravity ters are
significant in manipulator control as
they affect positioning accuracy and ser
Dynami Modeling 203
which in turn determine the
a
bility.
nd centritugal torces are repeatability of the
manipulator. The
C o r o l i s
. The model i8
computationally intensive and
control
is not amenable to online
T =
I1P-T forj =0, 1, 2,.n-2: k=j+2,.. 6.51)
p=j+
Step 3 Define 0, for each link using Eq. (6.27) or Eq. (6.30), depending on
whether the joint is revolute or prismatic.
Step 4 For each link i determine the inertia tensor 1; with respect to the frame {i}
(see Appendix C).
Step 5 Compute d, for i, j= 1, 2... n using Eq. (6.49).
Step 6 Compute the inertia coefficients M, for i,j = 1, 2, ... n using Eq. (6.46).
Step 7 Compute the velocity coupling coefficients hj for i, j, k 1,2,.., n using
=
oqual length (L, L, = L) and have equal uniform mass distribution, that is th
=
Link i Sa
Co
0 1 0
2 6,
[o
Dynamic Modeling 205
Ci2-S2 0 LCi2 + G)]
OT 2 C2 0 LS2 + S1)
0 0 (6.53)
0
. Ca = COS (G, +6,) and S12 = sin (9, + 0). Applying step 3.0, matrices for
where
joints I and 2, from Eq. (6.27), are
0 -1 0 07
: o 00 0 (6.54)
Next step (step 4) requires computation of inertia tensors. The inertia tensors
I,and for two slender links of length with mass m = m, = m at the centroid of
the link and Li =l2=L, with respect to frame {i), i= 1, 2, are computed using
Table C.I in Appendix Cas:
m 0 0 -mL
00 0 0
I=}=| 0 0 0
(6.55)
-mL 0 0 m
Step 5 of Algorithm 6.1 requires the computation of matrices di, which are
required to compute all other coefficients in Eqs (6.46) (6.48). According to
Eq. (6.49)
°T,-0,T forj Si
do forj>i
Fori,j= 1, 2, the fourd, matries are:d11, d12, dz1, and d2. These are computed
now. For i =j = 1, djj is computed as:
ro - 0 01CS 0 LC
0 o|S C 0
LS
d= T, °7 =2,°T 0100 0 o0 0 0
Lo 0 0
Note that T, is the
identity matrix.
[-S, -C, 0 -LS,]
or
d C0 0
S
0
0 LC
0
(6.56)
0 0 00
Similarly, d2 = 0 (because j > i) (6.57)
Control
206 Robotics and
S C
S2 0 C2 +C)|
C2
d - "1,"7;0
0
C2 0 -LS12
(6.5
Finally d 7 , . 7, =| 0
0
0
matrix MM
the elements of incrtia
to compute
Step 6 applied
is
M = T[4,4,4]]
P=max(i,)
Now.
-S -C 0 -LS, ml 0 0 -mL-S C
4,,,d7= S0 LC 0 0 0 0 -C-S 0 0
0 0 0 0 0 00 0 0 000
0 00 0-mL 0 0 m -LS LC 0 0
0 0
Thus,
Trd d=mt'(s+C})=m 3
(6.6
and
-S2 -C2 0 -LS2 + S)1[ 4m 0 0 4ml
Cy2 -S2 0
LUC2 +C)| 0 00 0
d d= 00 0
d
0 0 0
0
J-ml. 0 0
ml:S +S)0 0
-mL S +S,)
-mlC2 +C) 0 0
ml C +C)
00
0
00 0
Dynamic Modeling
-S2 C: 01
-Ci2 -S
0
-LS1: +
S,) LC +
C) 0
0
S: +S, +S - S:C12 +CS2
+5,C2 +SC)
E m SCi2 +fCs
+SC2 + SC) Ci +CC +Ci 0
0 (6.63)
0 0
0
hik pmax(,j,k)
adl1,
T L094
Tom Eqs. (6.50) and (6.55), the centrifugal acceleration coetficients are
h = 0
hau=Tr(7,o"T,0 °7,1,4)= mt s,
= 0
h222
208 Robotics and Control
coctticients are
acceleration
and the Coiolis
"7,0,'7,1,d)
S
h1h21=Tr 7, (6.7
"T,,"7,0,'7,1, d,
=0
Ir
hh are computcd using the serie-
cocfficient terims
The Coniolis and centnifugal
summation
+h0,0, h,:,0 +
For i= 1. H, =
22hè à, =hi8} th 0,0,
+ h8,0, +
h,,0;
=2h.8,0, h,8; thyt,0,
=
and for i
=2. H,
j=li=1
= m l S.8; (6.72
(6.73)
H8.8)H. mL s,0
gravity loading at the two joints.
8 is applied to compute the
Step
From Eqs. (6.48) and (6.56) - (6.59),
'==t 0 0 (6.75)
and the gravity is in the negative y-direction givingg = [0 8 0 01
Hence
[-S, -C 0 -LS,-
-S 0 LC,
mgd'= m[0 -g 0 0]
0 0 0 0
0 0
mgl
2
(6.76)
Dynamic Modeling
-S2-C 0 SS,
med T = m[0
C -S 01C +G,)
0 0 0 0 0
0 (
(6.77)
Finally
G mglC: mgl 6.78)
1m'G+C;) ml+{C)Të,1
+}C) m
[-mL's,0,0,--mL's,05Lmgt C2+imglC, (6.80)
ml S,0 JT mgL C2
The reader should verify that the dynamic model inEq. (6.21) is identical to
dynamic model in Eq. (6.80)for m =m^ =m and L, = L, =L. Equations (6.80)
arerather complex for a simple manipulator. Obviously, the dynamic equations
for a 6-DOF manipulator would be quite complex.
bin 3
bin 2 Manipulator
bin 1
Conveyor belt
Fig. 9.1 A robot performing a simple task of pick-n-place: picking parts from
a moving conveyor and placing them into bins 1, 2, or 3
Robotic Sensors and Vision 339
ove
to is
picked up. That is, it will execute
ill cle it is programmed to without any concen for 'correctness
t H o r kC V c l e
of the
arly. the nipulator will contimuc to move through the pecified path
Sin s o C obstacle comes in its path. It will collide with the obstacle rather
obstac
il
Cn elligently move around the obstacle and avoid it
han , for a robotiC anipulator to operate effectively and ntelligently
o WOrk in uiIstructircd
it tto
slhle it
c n a h l e
First.what does it mean to sense something? Can you name the five human
enses? What does each sense tell us about the surroundings? Senses often seem
tooverlap. In other words, two different senses can sometimes detect the same
things. For example, to find outif you are near a wall. you can open your eyes and
look. stick out your hand to feel, or even yell to hear whether your voice is
reilected. Human sensing is considered as the best sensing and man-made sensors
are still far inferior to human and other natural sensors in many respects.
phy sical sensors to solve these problems with sensor s ouput and Computer
very dittcult
hat secms ike a very sinmple sensing task becomes quilc complex who.
en
applied to the robot. For example, for most people. il 1S pretty casy to tell if there
I8 an apple on the table in front of them. You just open your eye and look
mmediatcly you know, "Yes, there it is". or "No, there arc no apples here." Yo
can also do it with your eyes elosed by just reaching out and lCeling or smellino
SENSORS IN ROBOTICS
Sefsors are used in robotic systems for a variety of functions. The task planning
and control algorithms, discussed in previous chapters, require, both on-line
measurements of the parameters characterizing the internal state otf the
manipulator as well as its work environment. The most common and minimal use
of sensors is to provide information about the status of links and joints of the
manipulator and about the working environment of the robot. In addition. sensors
may be deployed to provide data for inspection and quality control. safety
monitoring, and to detect and resolve interlocks in the workecell.
The major functions of sensors in robots can be grouped into five basic
categories.
Robotic Sensors and Vision 341
I. Status sensors,.
Environment sensor
Ouality control sensors
Safety sensors,and
Workcell control sensors
o! the sensors
MoIsUndet each of the
The olc
se
catcgories Is le se rihed
Stafus Sensors
2.1
Iseof sensors on a tobot is to sense pitton, velo ity. aceleration
7he p r m a r
o t
torquc/force at cach jont of the
manipulator for and metion
persitton
Thesc sensors forn an essential part of the haic or internal closed lonp
stems and are called internal sensort or state lor status) sensor
n t r
CTnal sensOTS gIve fecdback on the status of the nipulator itself The degree
racy
l ura that
c tha can be achicved by a man1pulator depends on the resolution and
ntermal sensors. Internalsensors must al uhe ont effective hecause
are
required for cach axis of the manipulator
the
.2 Environment Sensors
The scond major funetion for sensors is to extract features of the objects in the
arkiell or surrounding environment ofthe robot. This knowledge is utilzed by
the somputer controller to modify oradapt to a given situation For example. i
to process several
the robot has types ofdifferent
parts., each requinng d1fferent a
functions
detect presence of workpiece.
determination of position and/or orientation ofworkpiece andot objects to
be articulated, or other objects present in the workel
workpiece identification.
determination of workpiece properties such as size, shupe and so oa.
programmed work eycle. An important sensing method is the vision system that
might be employed to determine such characteristicsas part location and
OTentalion. siZe and shape, and many other properties. Robotic vision is diseussed
in detail in the later
part of thischapter.
9.2.3 Quality Control Sensors
of a connputer-r-based control
hilccture
Models Control
Internal (state) components
Intelligence sensors R
algorithm feedback Actuators
Tasks
(work cycle) Transmission
p
Motion
Mechanical system
algorithm (Links and Joints)
Control t
algorithm Sensors
External Interaction
Program sensors
feedback
force/motion)
Sensors
Programming Work
(Teaching) environment
Fusion of the available sensory data with task planning characterizes the robot
as an intelligent robot, which is capable of perception of action. The control
algorithms can guarantee the coordinated motion of the mechanical structure in
Corespondence to the task planning.
The signals from all the sensors on the manipulator and in the environment are
0 L the computer-controller, which analyses them as per system models, task
POgrams, control algorithms, motion algorithms, and intelligence algorithms and
to the àctuators to
SCCrales the control signals. These control signals are applied
mand and control the manipulator. The interaction of the manipulator with
the and again fed back and the eycle
T Cnvironment is sensed by the sensors
gOes on.
is discussed brietly in the next
.TOd classification of robotic sensors
Section.
344 Robotics and Comtrol
Robotic sensors
Environment sensors
Status sensors
(To detect sition, (To detect presence,
velocity, acceleration, motion, force, torque
torque, force, etc.) Touch/Tactile, etc.)
otentiometer,
tachometer, Contact sensors Noncontact sensors
optical encoder,
microswitch, etc.
Contact or touch sensors are one of the most common sensors in robotics.
These are generally used to detect a change in position, velocity, acceleration,
orce, or torque at the manipulator joints and/or the end-effector. There are two
main types, bumper and tactile. Bumper type detect whether they are touching
anything, the information is either "yes" or "no". They cannot give information
about how hard is the contact or what they are touching. Tactile sensors are more
complex and provide infomation on how hard the sensor is touched, or what is
the direction and rate of relative movement.
The technologies used for sensors in this group are electric, electromagnetie.
electronic, and optic. Some common robotic contact type sensors are
potentiometers, tachometers, optical encoders, accelerometers, linear variabie
differential transformers (LVDT), and force-torque sensors.
The second important group is of the noncontact sensors, which are used to
parametric information about the environment, task. objects in the workspace and
Robotic Sensors and
Vision 34
t e t
sence.
p r e s c n c e ,
distance, or
teatures of the
ity
include proximity sensors, range workpiece. The sensors in this
ems
on.
and so on. Various technologiessensors,
such astemperature sensISOrs, visIon
magneticane on are used for sensors optic, acoustic, intrared,
in this
ohotics
in robotics to dectect the presence
of group. Proximity sensors
object withina an
ind the accurate ate
object. These are useful in spccificd distance
distance of the
l s o n avondance.
object grasping or
is
The Visi SVStem probably the most powerful sensor
H
as it can
the workpiece such as size, detect various
a
tur's.
shape,
and other attributes of thegeometry, distance, colour, texture
nish,
iristics of the environment such as workpiece. It can also detect
position and orientation of parts and
raleri
preserve the
forces/torques that must be controlled to
integrity of task being performed. For measuring these interaction
forces, mounted between the wrist and the end-effector and are
sensors are
as Wrist Force known
Torque Sensors (WFTS).
A
strain-gauge based WFTS is shown in Fig. 9.4. The sensor has two annular
ings, outer ring and inner ring, which are connected to wrist end
and the end-
erlector end,
On
respectively. These rings are connected to each other by a cross and
the arms of this cross,
eight pairs of strain gauges are mounted as shown. By
ably selecting and connecting the gauges in the Wheatstone bridge the sensor
ctccts threce force components along the three principal axes and three moments
along the three axes.
348 Robotics and Control
Hub connect
to arm end)
4 Deflection bars
with 4 strain gauges
on each bar
Rim (connect
to wrist)
based wrist force-torque sensor
9.4 A six-comyponent strain-gauge
Fig.
available for WFTS based not only on strain
Many other alternate designs
are
It is important to note that WFTS
sonic and optic sensors.
gauges but also on
of the manipulator and, therefore, it
should notaffect the positioning accuracy
requirements of WFTS are: must besmall
it
must have high stiffness. Some other
sensitive, linear, and with low internal friction
light in weight. compact in design,
Motor
Photo-detector
LED To conditioning
electronics
istance) through which the shaft has moved. By sampling the counter at regular
dist
intervals by means of clock pulses, the speed of rotation of the shaft can be
obtained. The resolution of an incremental encoder is given by:
Basic resolution = (360hn) where m = No. of sectors on disc, each sector is
transparent and halt opaque. A typical incremental encoder having a disc
with 2500 sectors (or lines) gives a basic resolution of 0.144°. Using another disk
as a mask, using two or four optoelectronic channels or using multiplier circuits
increases the accuracy and resolution of the incremental optical encoder. For
example, if the pulses are increased by a factor of 4, by use of any of these
approaches, the above incremental encoder will give a resolution of 0.036
10 light sources
and detectors 000 111
10 bit
absolute
position
output 001 110
010 101
Encoder shaft
Disk
011 100
(a) Arrangement of light sources (b) A 3-bit 3 track absolute encoder disc
and detectors for 10-bit output
To decide what type of sensor or which sensor would be best for a particular
situation. following guidelines may be used.
.Carefully analyze the nature ofinformation needed.
Find what information will be provided by the sensor.
Determine how the sensor signals will be used.
For the variable to be sensed determine: its nominal value, range ofvalues.
accuracy required, required reliability and speed of measurement ete
Estimate the environmental variations under which the sensing is to be
done
Examinc the nature of task dependent on the sensed signals, for exanple.
criical tasks require reliable sensing.
Based on the above guidelines all possible sensors that can do tthe specilic
task are identilied taking into account such other tactors as sensitivity,
lineaity
in the desired range, inaintainability, life, power
consumption, ruggednc
availability and cost. Kemember that there is always nore tha one way to se
the desired quantity and more than one type of sensor can do the of
job, hence, ou
the several sensors avanlable to get he desired intormation, one that is 'optimunm
should be depioyed.
Robotic Sensors and Vision
351
9.4 BOTIC VISION
The inost
howerful
powerful sensor. which
cquip a robot with large varicty of sensory
can
an, iiss robotic viISion. Robotie, or synonymously.
formation, "computer or
1 : t hite"
systerms are anong the o s t conplex sensory
vision systems
n c VISIOn
nnay be defned as
systems in use.
vision the process of
acquiring and extracting
R o b o t i c
The manipulator can be guided to pick parts from a spccific location after its
presenee has been detected or from any imaged location in the workcell and place
it at the desired location. The gripper can be oriented according to the part's
orientation to hold the part properly. To picka part from a moving conveyor orto
put on it is inherently easier than to lift it from a storage bin or place it there.
This is a very powerful and potential application area for automated quality
control using robots, while they are performing other tasks. Visual inspection is
based on extracting specific quantitative measurements of desired parameters
from an image.
The robot involved in visual inspection can do sorting of 'good' and 'bad'
parts or control the manufacturing process based on measured values of
parameters.
Sensor
Lens
Object 5 0 17 90 Analog
to digital
205 10 17 8
82 97 111 8
29 23 301 16
Fig. 9.7 Capturing an image and its digitization for further computer
processing-a schematic
A
Computer is utilized to process the mage, usng the mage prucessing
S0Tw are for extraction of information about the scene,
interprelation ot the mage.
Tcognition ofthe objects and so on for the desired application.
SChematic diagram ofa typical robotic vision systemarchitecture is show
Fig. 9.8. On the basis of the processing output, the computer generates
a n d signals, which are sent to the manipulator through the robot controller,
fur u nanipulatoroperation control. Also video signas are sent to viulev display
for the operalor.
354 Robotics and Control
Camera 2
Camera 3
Camera 1
Worktable
Vision
interface
Image
Display preprocessor
Computer
Image processing
software
Fig. 9.8 A robotic vision system with multiple cameras for manipulator control
Light
Objects
Computer
Manipulator
Controller
Fig, 9.9 Vision system setup with single overhead stationary camera
98 IMAGE ACQUISITION
nrolled by a deflection coil mounted along the length of tube. The electron
Smade to scan the entire surface. typically. 30 times per second. line by
COnsisting of over 500 scan lines for the whole image, as shown in Fig. 9.10.
ch
complete scan is called aframe.
356 Robotics and Control
Photosensitive
Deflection and focusing coils
layer
Electron beam
Scene
Lens
Mesh Faceplate
Electron gun
Start
End
Fig. 9.11 Electron beam scanning pattern for one frame of image
Scanning at higher line rates per frame, scanning even and odd lines
simultaneously at 60 times per second (shown with dashed and continuous lines
in Fig. 9.11) are some of the techniques utilized to reduce flicker, etc.
SiO
Nitride ovide
(stubstrate)
p-islands
n tvpe silicon
DE
sCRIPTION OF OTHER COMPONENTS OF
VISION SYSTEM
sensing and procesSing the nmage (the scene) and utlizing the results
inctions ot sensi
btaned to.
.command the robot. A block diagram of the components of a vision
stem.
aTanged schematically, Is shown in Fig. 9.13 and their functions
arTange
are
cplained below.
Algorithmms Memory
Lighting
Frame Robot
Camera ADC grabber Computer /F
controller
Monitor
keyboard
9.9.1 Illumination
The image presented to the camera is light reflected from the environment. This
varies in wavelength and intensity throughout the image and is directly dependent
on the illumination of the scene or lighting, that is, type, luminous power and
placement of light sources. A poor lighting produces low-contrast images.
shadows, and noise in a 2-D vision system, the desired contrast can often be
accomplished by using a controlled lighting system. A 3-D vision system may
cquire more sophisticated lighting system. In a single camera sy stem.
dngulation is used to detect shape and depth. Some systems use two cameras to
-Dimages to achieve a stereoscopic view of the scene.