Purpose:
Thepurposeofthischapteristointroduceyoutorobotkinematics,andtheconcepts
related to both open and closed kinematics chains. Forward kinematics is
distinguishedfrominversekinematics.
3.1 KinematicsChains
Mechanisms can be configured as kinematics chains. The chain is closed when the
groundlinkbeginsandendsthechain;otherwise,itisopen.
3.1.1
Serialrobots
Themanipulatorofaserialrobotis,ingeneral,anopenkinematicschain. Thejoints
mustbecontrolledindividually.
joint 2
joint 1
link 2
joint n - 1
link i
link n
joint i
Fixed link 1
Figure31Setofseriallinksconnectedbyjoints
Assumingbinarypairjoints(jointssupporting2links),thedegreesoffreedom(F)ofa
mechanismisgovernedbytheequation
j
F=(n1) c i
(3.1)
i 1
where
F=mechanismdegreesoffreedom
n=numberofmechanismlinks
31
j=numberofmechanismjoints
ci=numberofconstraintsimposedbyjointi
fi=degreesoffreedompermittedbyjointi
ji = number of joints with i degreesof
freedom
=degreesoffreedom inspace inwhich
mechanismfunctions
Itisalsotruethat
=ci+fi
(3.2)
whichleadstoGrubler'sCiterion:
j
F=(nj1) f i
i 1
(3.3)
Figure32ABB6axisrobot
Example3axisrevoluteplanarrobot:
Figure33Planarrobot
Using(3.1)andreferencingFigure33:
F=3(31)2(2)=2
Whyisn'ttheanswer3?
3.1.2
Redundantdegreesoffreedom
32
Grubler'sCriterionisvalidaslongastherearenoredundantjoints.Aredundantjointis
one that is unnecessary because other joints can provide the needed position and/or
orientation(seelast3jointsonIRB4400).
Redundant joints can generate passive degreesoffreedom, which must be subtracted
fromGrubler'sequationtoget
j
F=(nj1) f i fp
j=8;n=7(3.4)
L=87+1=2
i 1
LoopMobilityCriterion
ConsiderFigure34.Someofthelinks
have more than two joints, leading to
multiple loops. The number of
independentloopsisthetotalnumberof
loops excluding the external loop. For
multipleloopchainsitistruethatj=n+
L1whichgivesEuler'sequation:
L=jn+1
Figure34Multipleloops
(3.5)
Combining(3.5)withGrubler'sCriterion,
wegettheLoopMobilityCriterion:
fi=F+L
3.1.4
(3.6)
Parallelrobots
S
Figure35StewartGoughPlatform
(notethatdashedlinesrepresentsame
SPSjointcombinationasshown:
S=sphericaljoint;P=prismaticjoint)
ExampleFigure35showstheStewart
Goughplatform. Determine the degrees
offreedom. Note that each SPS
combination generates a passive degree
offreedom.Thus,
33
=6;n=14;j1=6;j3=12;
Figure37Spherical
Figure 36 Revolute
Figure 33
Spherical
Figure38Cylindrical
Figure39Rectangular
fp=6
Then,
F=6(14181)+(12x3+6)6=6!Asexpected!
3.2 SerialRobotTypes
Serial robots can be classified as revolute, spherical, cylindrical, or rectangular
(translational,prismatic,orCartesian).TheseclassificationsdescribetheprimaryDOF
(degreesoffreedom)whichaccomplishtheglobalmotionasopposedtothedistal(final)
jointsthataccomplishthelocal,primarilyorientation,motion.
3.3 SerialRobotTypes
Therearenumerousparallelrobottypes.Someofthesewillbeexaminedlater.
3.4 OpenChainLinkCoordinates
According to the conventional DenavitHartenberg (DH) notation (Denavit, J. and
Hartenberg,"AKinematicNotationforLowerPairMechanismsBasedonMatrices,"J.
ofAppliedMechanics,June,1955,pp.215221.),onlyfourparameters(a,d, )are
necessarytodefineaframeinspace(orjointaxis)relativetoareferenceframe:
34
a=
minimum distance between line L (the z axis of next frame) and z axis
(mutuallyorthogonallinebetweenlineLandzaxis)
d=
distancealongzaxisfromzorigintominimumdistanceintersectionpoint
anglebetweenxzplaneandplanecontainingzaxisandminimumdistance
line
anglebetweenzaxisandL
z
O
d
y
x
Figure310ConventionalDHparameters
AlternativelywecandefinealinebyanypointPonthelineanditsdirectionunitvector
2
2
n.Thisrequires5parameterssincen2
x +ny +nz =1.
35
z
L
n
P(x,y,z)
x
Figure311Pointvectorlinedescription
The DenavitHartenberg parametric description of lines can be extended to represent
framecoordinatesforakinematicchainofrevoluteandtranslationaljointsconsiderthe
figurebelow.Notethatthereareseveralformsoftheseparametersbeingappliedtothe
forwardandinversekinematicsofserialmechanisms.
zi
zi+1
Jointi+1
xi+1
z i1
Jointi1
Jointi
xi1
i
i
Linki
Linki+1
di
xi
ai
Figure312ConventionalDHnotationforseriallinks/joints
Eachlinkihasaninwardjointiandanoutwardjointi+1. Thecoordinatesystemis
establishedbeginningatjoint1,theinputjoint,andnumberingoutward.Forarevolute
robotthecoordinatezaxisforeachlinkliescolinearwiththeaxisofrotation.Thexaxis
isestablishedbythemiminumdistancelinebetweenthecurrentzaxisandthezaxisof
theinnerjoint.aistheminimumdistancebetweenthetwoconsecutivezaxes.Theaxes
arenumberedsuchthatthei1axesareassociatedwiththeith jointoftheith link(and
36
thusdescribesthedisplacementofthepreviouslink).Thesetofaxesestablishedfora
PUMArobotisshownasfollows.
Joint
1
2
3
4
5
6
ai
0
432
0
0
0
0
Figure313Pumarobot
di
i
0
149.5
0
432
0
55.5
90
0
90
0
0
0
i
90
0
90
90
90
0
Range
150to150
225to45
45to225
110to170
100to100
265to265
Figure314PUMADHparameters
Using
H
theD
representation,thefourparametersaredescribedas
37
i=jointangleofxiaxisrelativetoxi1axiswithdefinedaccordingtoRHruleabout
zi1axis.
di=distancefromtheoriginofthei1axestotheintersectionofthez i1axiswiththe
xiaxisandmeasuredalongthezi1axis.
ai=minimumdistancebetweenzi1andzi.
i=offsetangleofziaxisrelativetozi1axismeasuredaboutthexiaxisusingRH
rule.
z i1
i
ai
di
Line=zaxis
i
zi
ydefinedbyRHcoordtriad
i
y i1
i
xi
xi1
Figure315DHframenotation
Forrevolutejointsiisthejointvariablewithd i,ai,andiconstant.Forprismaticjoints
thejointvariableisdiwithi,ai,andiconstant(ai istypicallyzero)
Givenarevolutejointapointx i locatedontheithlinkcanbelocatedini1axesbythe
following transformation set which consist of four homogeneous transformations (2
rotationsand2translations).Thesetthatwillaccomplishthisis
Ai=H(d,zi1)H(,zi1)H(a,xi)H(,xi)(i=1,...n)
where
38
(3.7)
1
0
H(,xi)=
0
0
0
0
c i - s i
s i c i
0
0
H(a,xi)= 0
0
0
0
1
0
0
0
0
1
0
ai
0
0
1
c i - s i
s i c i
H(,zi1)=
0
0
0
0
1
0
H(d,zi1)= 0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
di
1
Applyingthematrixmultiplicationof(3.2),
c i - c i s i s i s i a i c i
s i c i c i - s i c i a i c i
Ai=
0
s i
c i
di
0
0
1
0
(3.8)
Class problem: What is the correct order in multiplying the four H transformation
matricestoget(3.8)?
Ai=??
3.4.1
OtherDHNotation
TheCODEsystemusesasetofDHparametersthatdifferfromtheconventionalset.
ThesearesimilartoCraigsDHconvention.
ReferringtoFigure3.16,wenotethatfourparametersmustbespecified:
ai=
minimumdistancebetweenjointiaxis(zi)andjointi1axis(zi1)
39
Jointi
zi+1
yi
xi
z i1
i
Jointi1
di
Linki
ai
i
Figure316RevisedDHparameters
ThetransformationforthissetofDHparametersis
ci
- s i
0
ai
si c i ci c i - s i - s i d i
Ai=
s s cis i c i c i d i
i i
0
0
1
0
(3.9)
Classproblem:derivethesetofDHparametersforthePumarobotbeingconsidered.
310
Jointi+1
3.5 ForwardKinematicsforSerialRobots
GiventheAtransformationmatricesofonejointaxesrelativetotheprecedingaxes,one
can relate any point in the ith link to the global reference frame by the following
transformationset.Let vi beapointfixedtotheith link.Itscoordinates uiinglobal
axesare(n=#DOF)
ui=A1A2....Aivi(i=1,2,...n)
(3.10)
TypicallywerepresentthesetoftransformationsabovebyasinglematrixcalledtheT
matrix
i
Ti=A1A2....Ai= A j
(3.11)
j11
TheTmatrixlocatingthegripperframeis
n
Tn= A j
(3.12)
j11
Thesubscriptnmaybedroppedforsimplicity.
z0
y0
x0
sliding
y6
x6
z6
approach
Gripper
Figure317Thegripperframe
ExaminingthegrippercoordinatesinthePUMAfigureshownpreviously(x 6,y6,z6),the
z6axis willtypicallydenotethegripperapproachdirectionwhilethey6axisdenotesthe
slidingdirection.ExaminingT,thefirst3columnsdescribetheframedirectioncosines
311
ofx6,y6,z6 relativetoglobal(orbase)framewhereasthe4thcolumnlocatesthex6,y6,
z6originrelativetoglobalframe.
3.5.1
ForwardkinematicsusingalternativeDHnotation
Usinghomogeneoustransformationsbetweentheseriallinksofarobottheposeofatool
frameattheendoftherobotcanbedeterminedbytheequation
T=A1A2A3...AnG
(3.13)
whereTlocatesthetoolrelativetotherobotbaseframeandGlocatesthetoolrelativeto
thelastjoint/linkframe. Notethatthejointframesareusuallyorientedsuchthatthe
rotationortranslationtakesplaceaboutthejointzaxis.
Question:Whyis G requiredinthealternativenotation,butnotintheoriginalDH
notation?
Inforwardkinematicsthejointtranslationorrotationisspecifieddirectlyandthetoolis
commandedtotheposedescribedmathematicallybyTsinceeachAiisknown.Forward
kinematicsisusedinteachpendantprogramming.
3.6 InverseKinematicsforSerialRobots
Inversekinematicsraisestheoppositequestion:GiventhatIknowthedesiredposeofthe
tool,whatarethejointvaluesrequiredtomovethetooltothepose?
Mathematically, we rearrange equation (3.13) so that we isolate the homogeneous
transformationsthatareafunctionoftheunknownjointvaluesandsomehowsolvefor
thejointvaluesbyapplyingthefollowingequation:
1
(3.14)
Inversekinematicsisusedforcontrollingpathfollowingorinsensordirectedmotion
whereatargetcanbedetermined.
3.6.1
InverseKinematicsAnExample
Sinceafunctionoftherobotistoplaceobjectsinpositionsandorientationsdescribedin
globalspace,itisdesiredtodeterminethejointvariablestoaccomplishthis. Thisis
knownastheinversekinematics(invkin)problem.Thissectionconsiderstheinverse
kinematicssolutionforthePUMAmanipulator.
312
TheopenloopequationforasixaxisrobotlikethePumaisT=A1A2....A6.wherethe
targetposeTisknownandthejointvariables(iinthiscase)whichmakeupAimatrices
areunknown(andtobefound).
Thesolution,calculatedintwostages,firstusesapositionvectorfromthewaisttothe
wrist.ThisvectorallowsforthesolutionofthefirstthreeprimaryDOFthataccomplish
theglobalmotion. Thelast3DOF(secondaryDOF)arefoundusingthecalculated
valuesofthefirst3DOFandtheorientationmatricesT4,T5,andT6.
z0
q
y0
x0
z4
y4
d6
x4
a
n
Figure318Waisttowristsolution
Letthegripperframebedefinedbytheunitvectortriadn,a,ands(solutionprocedurein
Paul'stextbookRobotManipulators)
q=pd6a
(3.15)
Itisassumedthatpknownandaknown,sinceforaPUMAmanipulator,T(thedesired
globalframeofthegripper)isoftheform:
T = nsap
0001
(3.16)
where(e.g.,C23=cos(2+3))
nx =C1 C23 C4 C5 C6 S4 S6 S23 S5 C6
S1 S4 C5 C6 +C4 S6
313
(3.17a)
(3.17b)
nz=S23 C4 C5 C6 S4 S6 C23 S5 C6
(3.17c)
(3.17d)
(3.17f)
(3.17g)
(3.17h)
az=S23 C4 S5 +C23 C5
(3.17i)
(3.17j)
(3.17e)
(3.17l)
(3.18a)
(3.18b)
(3.18c)
q 2x q 2y d 22
andthat
314
qy d2 qx
1 =tan1
qx +d2 qy
(useatan2()
(3.19)
where(3.19)iscalculatedusingthefourquadrantatan2function.Onenotesfrom(3.19)
that 2 solutions exist: + for left shoulder PUMA; for right shoulder PUMA. The
solutionfor3canbefoundbysquaringthe(3.18)componentsandaddingtofindsin 3 ,
thenfinding
cos3=sqrt[1sin23]
q 2x q 2y q 2z - d 24 - a 22 - d 22
3=tan1
4d 24 a 22 q 2z q 2y q 2z - d 24 - a 22 - d 22 2
(3.20)
The+solnisfortheelbowabovehandwhereasthesolnisfortheelbowbelowhand.
Now,given 3 (andS3 andC3 ),wecanexpand C23 andS23 andfinallyarriveat(use
atan2)
2 =tan1
2
2
qz a2 +d4 S3 d4 C3 q2
x +qy d2
2
2
qzd4 C3 a2 +d4 S3 q2
x +qy d2
(3.21)
Thesolncorrespondstotheleftarmconfiguration,+solncorrespondstorightarm
configuration.
Obviously knowing 1 , 2 ,and 3 permits definition of 0T3.. To determine
4 , 5 ,and 6 weassumethatanapproachdirectionisknown(aknown)andthathand
orientationisspecified(n,s).ForthePUMArobotwecanarrangethejointaxessuch
that
(z 3 xa)
(z4axisdirectioncosines)
||z 3 xa ||
(3.22)
z5=a(z5axisdirectioncosines)
(3.23)
y6=s(y6axisdirectioncosines)
(3.24)
z 4 =
Nowgiventheabovecriteria,wecansolvefor 4 from
C4 =y 3 z 4 (=y 3 Tz 4 )
S4 =x 3 z 4 (=x 3 Tz 4 )
315
(3.25)
(3.26)
Nowif 5 0,adegeneratecaseresultsinwhicha5axisrobotwouldbesufficientsince
joint5isnotneeded.Tosolvefor6aligny6withssothatS6=y5nandC6=y5s
wherey5comesfromT50 andnandscomefromT.Weget(useatan2)
6 =tan1
(3.27)
3.7 KinematicsSummaryforSerialRobots
Both forward and inverse kinematics are important to
robotics.Therobotteachpendantusesdirectjointcontrol
toplacetherobottoolatdesiredposesinspace.Itisa
formofforwardkinematicscontrol.
When the target for an endeffector tool is specified
directly, either by a sensor or as the robot interpolates
moves along specified curvilinear paths in space, it
requiresinvkinsolutionstogeneratethenecessaryjoint
values.
DHparameters provideasimplewayofrelatingjointframes relative toeachother,
although more than one DH form proliferate the application methods. The invkin
solutionscanbecomplexdependingontherobotstructure.
3.8 ForwardKinematicsforParallelRobots
Aparallelmechanismissymmetricalif:
number of limbs is equal to the number of degreesoffreedom of the moving
platform
316
jointtypeandjointsequence
ineachlimbisthesame
Figure320Marylandrobotschematic
Observation of symmetrical
mechanismswillestablishthat
m
k 1
i 1
C k = f i (3.28)
wherejisthenumberofjointsintheparallelmechanismandmisthenumberoflimbs.It
is also observed that the connectivity of each limb should not exceed the motion
parameter()andnotbelessthanthedegreesoffreedomofthemovingplatform(F),
leadingto
CkF
(3.29)
ExampleUniversityofMarylandMechanism(orABBPickerrobot)
317
Thegeneraldegreesoffreedomequation(3.3)doesnotapplytothisrobotbecauseofthe
symmetryofthedesignandotherconstraints.Thisrobothas3translationaldegreesof
freedom,witharotationalorientationjointaddedtothecenterofthemovingplatformin
thecommercialversion.
Figures320and321depictthenotationforanalysisoftherobotkinematics.Wedefine
alimbcoordinatesystemasxi,yi,zi,orientingthelimbbasepointA irelativetothefixed
robotbaseframex,y,zbytheorientationanglei.Thelimb'srevolutejointsarelabeledas
1i,2i,etc..whereidefinesthelimbnumber.
ExaminingFigures320and321,wecanwritealoopclosureequation:
ABi+BCi=OP+PCiOAi(3.30)
Expressing(3.30)inthelimbicoordinateframe,weget
a c1i b s 3i c(1i 2i ) c xi
c yi
b c 3i
a s b s s( )
1i
3i
1i
2i
c zi
(3.31)
Figure321Marylandlimbschematic
318
c xi c i s i 0 p x h - r
ci= c yi - s i c i 0 p y 0
0 0 1 0
pz
c zi
(3.32)
wherecilocatesCirelativetolimbcoordinateframeandplocatesPrelativetothex,y,z
baseframe.Notethat3irepresentstheoutofplanemotionofpointCi.
The forward kinematics (or direct kinematics as referred to in Tsai's book) can be
determinedbyspecifyingtheangles 11, 12,and 13.Theproblemistodeterminethe
positionx,y,zofpointP.
Firstnotethatforagivenangle1ithatpointPwilllieonaspherecenteredatB i',which
isoffsetinthehorizontaldirectionfromCi
toPbyadistanceh,Figure322.
P
Consideringthe3limbsPmustlieonthe
intersection of three such spheres. There
arefourpossibilities:
Genericsolution spheresintersectat
two points, giving two solutions (one
sphere intersects circle of intersection
oftwootherspheres)
Singular solution one sphere is
tangenttocircleofintersectionoftwo
otherspheres
Ci
Bi'
b
O
zi
r
Ai
Bi
a
xi
Figure322Forwardsolution
Singularsolutioncenterofanytwoof
thethreespherescoincide,resultingin
aninfinitenumberofsolutions.Thestructuraldesignwillprecludethishappening.
Anexampleofsuchaproblemiswhentheindependentjointsareall/2andr=h.
Nosolutionthreespheresdonotintersect
Wecanrearrange(3.31)and(3.32)toobtain
b s 3i c(1i 2i ) c i s i 0
- s i c i 0
b c 3i
b s s( ) 0 0 1
3i
1i
2i
p x - a c1i h - r
p
0
y
- a s1i
pz
andthensquarethethreecomponentstogettheequation:
319
(3.33)
b2=px2+py2+pz22(pxci+pysi)(ac1i+rh)
2pzas1i+(ac1i+rh)2+a2s21i
(3.34)
Thisequationrepresentsthesphereforlinki.Wenowapply(3.34)forlinks1andj(2or
3)andthensolvethemsimultaneouslytoget2equations(j=2andj=3):
e1jpx+e2j+py+e3jpz+e4j=0(j=2,3)
(3.35)
e1j=2cj(ac1j+rh)2c1(ac11+rh)
(3.36)
e2j=2sj(ac1j+rh)2s1(ac11+rh)
(3.37)
e3j=2as1j2as11
(3.38)
e4j=(ac11+rh)2+a2s211(ac1j+rh)2a2s21j
(3.39)
where
Notethattheformin(3.36)istheequationofaplanesince11,12,and13areknown.If
wegenerate(3.35)forbothj=2andj=3,thensolvefortheintersectionoftwoplanes,
wegettheequationofaline.Wethenintersectthis linewithoneofthespheresto
generatetwosolutions.Equivalently,thequadraticequationforthesetwosolutionscan
befoundbysolvingthetwoequationsrepresentedby(3.35)forp yandpzintermsofpz
andthensubstitutinginto(3.34)toget
k0px2+k1px+k2=0
(3.40)
wherethequadraticcoefficientsare
ko=1+l12/ l22+l42/ l22
k1 =2 l0l1/l22 + 2 l3l4/l22 2l5 c12
l5l1s1/l22al4s11/l2
k2=l52b2+l02/ l22+l32/ l22+ a2s211
2l0l5s1/l22al3s11/l2
Tp
and
T
l0=e32e43e33e42
O
Figure 323 Closing the
grippertoplatformloop
l1=e13e32e12e33
320
l2=e22e33e23e32
l3=e23e42e22e43
l4=e12e23e13e22
l5=ac11+rh
Thesolutioncasesare
k124k0 k2>0,twosolutions
k124k0 k2=0,onesolution
k124k0 k2<0,nosolution
Oncepxisfoundin(3.40),thenyoudeterminepyandpzbybacksubstitutioninto(3.35).
3.8.1
ForwardKinematicsImplementation
Howwouldyouuseateachpendanttodrivethisrobot?Inrealityyouwouldprobably
notcommandthejointsdirectly,butmostlikelycommandtranslationsintheu,v,andw
directions.Thus,youwouldnotlikelydrivethisrobotusingforwardkinematicsbut
onlyapplyinversekinematics.
3.9 InverseKinematicsfortheMaryland/PickerParallelRobot
Weassumethatthepositionvectorpisgiven.Theproblemistofindthejointanglesto
placepointPatp.Inreality,thegripperwouldnotbelocatedatP,butbeattachedtothe
moving platform. This is determined by gripper frame G relative to the platform
coordinateaxes.
AtargetframeisspecifiedasT.Wedeterminethetargetfortheplatformcoordinateaxes
asshowninFigure323.TheframeforpointPisdeterminedfromthefourthcolumnof
Tp=TG1.Wedesignatethisvectorasp.
Given p we determine the location of point Ci. This is simple because the moving
platformcannotrotateandthusthelinebetweenPandC itranslatesonly.Thus,givenP
(asdeterminedbyp)andthedistanceh,wecandetermineCiasdisplacedfromPbya
vectoroflengthhthatisparalleltoxi.
ThelocusofmotionoflinkBiCi isaspherewithcenteratC i andradiusb.Thefigure
showninthetextasFigure3.12isdeceivingbecauseitispresentedtwodimensionally.It
canonlybeinterpretedin3D.
321
From(3.31)wecandeterminetwosolutionsfor3ias
3i=cos1(cyi/b)
(3.41)
Tsaiconfusestheinversekinematicssolution,sinceyoushouldonlychooseapositive
solutionfor3i.
Why?
Given3iwecandetermineanequationfor2ibysummingthesquaresof(3.31)toget
2abs3ic2i+a2+b2=cxi2+cyi2+czi2
(3.42)
whichleadstoasolutionfor2ias
2i=cos1()
(3.43)
where=(cxi2+cyi2+czi2a2b2)/(2abs3i).Physically,wecandeterminetwosolutions
for2i("+"angleand""anglesimilartoelbowup/downcase).
Thetwosolutionsfor1icanbedeterminedfrom(3.31)byexpandingthedoubleangle
formulas,solvingforthesineandcosineof1iandthenusingtheatan2functiontoget
1i.
Itis possible that thetarget framemay fall outside therobot's reach; thus,wemust
examinethespecialcases:
Genericsolution circleoflinkABintersectsthesphereattwopoints,givingtwo
solutions.
Singularsolutioncircletangenttosphereresultinginonesolution.
Singularsolutioncircleliesonspherephysicallyunrealisticcase!
Nosolutioncircleandspheredonotintersect
3.10 KinematicsSummaryforParallelRobots
Boththeforwardandinversekinematics canposedifficult solutions.Itis helpfulto
understandthegeometryofmotion,becausethisprovidesinsightsintothekinematics
solutions.Grubler'sCriteriondoesnotreadilyapplytothisclassofcomplexmechanisms.
322