Professional Documents
Culture Documents
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 n - 1
link 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
=degreesoffreedominspaceinwhich
mechanismfunctions
Itisalsotruethat
=ci+fi (3.2)
whichleadstoGrubler'sCiterion:
j
Figure32ABB6axisrobot
F=(nj1) f i (3.3)
i 1
Using(3.1)andreferencingFigure32:
F=6(71)6(5)=6"asexpected"
Note:thatthedegreesoffreedomoftherobotequalsthe
number of moving links, which equals the number of
joints. Tospecify aunique manipulator configuration,
eachjointmustbecontrolled.
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).
3.1.3 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: Figure34Multipleloops
L=jn+1 (3.5)
3.1.4 Parallelrobots
S
A parallel robot is a closed loop chain,
whereas a serial robot is an open loop
chain. A hybrid mechanism is one with
bothclosedandopenchains.
Figure35StewartGoughPlatform
ExampleFigure35showstheStewart (notethatdashedlinesrepresentsame
Goughplatform. Determine the degrees SPSjointcombinationasshown:
offreedom. Note that each SPS S=sphericaljoint;P=prismaticjoint)
combination generates a passive degree
offreedom.Thus,
33
=6;n=14;j1=6;j3=12;
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
34
a= minimum distance between line L (the z axis of next frame) and z axis
(mutuallyorthogonallinebetweenlineLandzaxis)
d= distancealongzaxisfromzorigintominimumdistanceintersectionpoint
anglebetweenxzplaneandplanecontainingzaxisandminimumdistance
line
anglebetweenzaxisandL
L
a
d
O
y
x
Figure310ConventionalDHparameters
AlternativelywecandefinealinebyanypointPonthelineanditsdirectionunitvector
n.Thisrequires5parameterssincen2 2 2
x +ny +nz =1.
35
z
P(x,y,z)
O
y
Figure311Pointvectorlinedescription
Jointi1 i
Linki
i
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.
Figure313Pumarobot
Joint ai di i i Range
1 0 0 90 90 150to150
2 432 149.5 0 0 225to45
3 0 0 90 90 45to225
4 0 432 0 90 110to170
5 0 0 0 90 100to100
6 0 55.5 0 0 265to265
Figure314PUMADHparameters
Using theD
H
representation,thefourparametersaredescribedas
37
i=jointangleofxiaxisrelativetoxi1axiswithdefinedaccordingtoRHruleabout
zi1axis.
di=distancefromtheoriginofthei1axestotheintersectionofthez i1axiswiththe
xiaxisandmeasuredalongthezi1axis.
ai=minimumdistancebetweenzi1andzi.
i=offsetangleofziaxisrelativetozi1axismeasuredaboutthexiaxisusingRH
rule.
z i1
i
Line=zaxis
i
ai
zi
i
di ydefinedbyRHcoordtriad
i
y i1
xi
i
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) (3.7)
where
38
1 0 0 0
0 c i - s i 0
H(,xi)=
0 s i c i 0
0 0 0 1
1 0 0 ai
0
H(a,xi)= 0 1 0
0 0 1 0
0 0 0 1
c i - s i 0 0
s c i 0 0
H(,zi1)= i
0 0 1 0
0 0 0 1
1 0 0 0
0 1 0 0
H(d,zi1)= 0
0 1 di
0 0 0 1
Applyingthematrixmultiplicationof(3.2),
c i - c i s i s i s i a i c i
s c i c i - s i c i a i c i
Ai= i (3.8)
0 s i c i di
0 0 0 1
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
di= distancefromminimumdistanceline(xi1 axis)tooriginofithjointframe
measuredalongziaxis.
i= anglebetweenziandzi1measuredaboutpreviousjointframexi1axis.
i= angleaboutzijointaxiswhichrotatesxi1toxiaxisinrighthandsense.
Thexiaxisistheminimumdistancelinedefinedfromz itozi+1;ziisdefinedasthejoint
rotationortranslationaxisaxisandyibytherighthandrule(zixxi).Theoriginofeach
jointframeisdefinedbytheminimumdistancelineintersectiononthejointaxis.
zi Jointi
zi+1
yi Jointi+1
xi
z i1
i
Jointi1
di Linki
ai
Figure316RevisedDHparameters
ThetransformationforthissetofDHparametersis
ci - si 0 ai
si c i ci c i - s i - s i d i
Ai= (3.9)
sis i cis i c i c i d i
0 0 0 1
Classproblem:derivethesetofDHparametersforthePumarobotbeingconsidered.
310
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
Ti=A1A2....Ai= A j (3.11)
j11
TheTmatrixlocatingthegripperframeis
n
Tn= A j (3.12)
j11
Thesubscriptnmaybedroppedforsimplicity.
z0
y0
x0
p sliding
6
y6
approach
z6
x6
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?
1
(jointvaluesunknown) A1A2A3...An=TG (rightsideknown) (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 z4
x0 y0 y4
d6 s
p
a
x4
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))
313
ny =S1 C23 C4 C5 C6 S4 S6 S23 S5 C6
+C1 S4 C5 C6 +C4 S6 (3.17b)
orbyapplying(3.8)
qx =C1 d2 S1
qy=S1+d2C1
Itcanbeshownthat= q 2x q 2y d 22 andthat
314
qy d2 qx
1 =tan1 (useatan2() (3.19)
qx +d2 qy
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 (3.20)
4d 24 a 22 q 2z q 2y q 2z - d 24 - a 22 - d 22 2
The+solnisfortheelbowabovehandwhereasthesolnisfortheelbowbelowhand.
2
qz a2 +d4 S3 d4 C3 q2 2
x +qy d2
2 =tan1
2
qzd4 C3 a2 +d4 S3 q2 2
x +qy d2 (3.21)
Thesolncorrespondstotheleftarmconfiguration,+solncorrespondstorightarm
configuration.
(z 3 xa)
z 4 = (z4axisdirectioncosines) (3.22)
||z 3 xa ||
z5=a(z5axisdirectioncosines) (3.23)
y6=s(y6axisdirectioncosines) (3.24)
Nowgiventheabovecriteria,wecansolvefor 4 from
C4 =y 3 z 4 (=y 3 Tz 4 )
S4 =x 3 z 4 (=x 3 Tz 4 )
315
Determinex 3 andy 3 from1stand2ndcolumnsof0T3toget(useatan2)
c1 ay s1 ax
4 =tan1 c c a +s
1 23 x 1 c23 ay s 23 az (3.25)
NowS5=x4aandC5=y4asothat(useatan2)
Nowif 5 0,adegeneratecaseresultsinwhicha5axisrobotwouldbesufficientsince
joint5isnotneeded.Tosolvefor6aligny6withssothatS6=y5nandC6=y5s
wherey5comesfromT50 andnandscomefromT.Weget(useatan2)
3.7 KinematicsSummaryforSerialRobots
Both forward and inverse kinematics are important to
robotics.Therobotteachpendantusesdirectjointcontrol
toplacetherobottoolatdesiredposesinspace.Itisa
formofforwardkinematicscontrol.
3.8 ForwardKinematicsforParallelRobots
Aparallelmechanismissymmetricalif:
number of limbs is equal to the number of degreesoffreedom of the moving
platform
316
jointtypeandjointsequence
ineachlimbisthesame
Wedefineseveralterms:
limb=aserialcombinationof
links and joints between
groundandthemovingrigid
platform
connectivityofalimb (Ck)=
degreesoffreedom
associatedwithalljointsina
limb
Figure320Marylandrobotschematic
Observation of symmetrical
mechanismswillestablishthat
m j
C k = f i (3.28)
k 1 i 1
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
b c 3i c yi (3.31)
a s b s s( )
1i 3i 1i 2i c zi
Figure321Marylandlimbschematic
318
c xi c i s i 0 p x h - r
ci= c yi - s i c i 0 p y 0 (3.32)
0 0 1 0
c zi p z
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.
Consideringthe3limbsPmustlieonthe P
h Ci
intersection of three such spheres. There
arefourpossibilities:
Bi'
Genericsolution spheresintersectat h
Bi
two points, giving two solutions (one b zi
sphere intersects circle of intersection a
oftwootherspheres) O
r
xi
Singular solution one sphere is Ai
tangenttocircleofintersectionoftwo
otherspheres
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 p x - a c1i h - r
b c 3i - s i c i 0 p y 0 (3.33)
b s s( ) 0 0 1 - a s1i
3i 1i 2i p z
andthensquarethethreecomponentstogettheequation:
319
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)
where
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)
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
2l0l5s1/l22al3s11/l2 Tp
and
T
l0=e32e43e33e42
l1=e13e32e12e33 O
l2=e22e33e23e32 Figure 323 Closing the
l3=e23e42e22e43 grippertoplatformloop
l4=e12e23e13e22
320
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.
From(3.31)wecandeterminetwosolutionsfor3ias
3i=cos1(cyi/b) (3.41)
321
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