基于 MATLAB 的 PUMA560 机器人运动仿真与轨迹规划 5.docx
《基于 MATLAB 的 PUMA560 机器人运动仿真与轨迹规划 5.docx》由会员分享,可在线阅读,更多相关《基于 MATLAB 的 PUMA560 机器人运动仿真与轨迹规划 5.docx(14页珍藏版)》请在冰豆网上搜索。
基于MATLAB的PUMA560机器人运动仿真与轨迹规划5
Themovementsimulationandtrajectoryplanningof
PUMA560robot
Shibozhao
Abstract:
Inthisessay,weadoptmodelingmethodtostudyPUMA560robotintheuseofRoboticsToolboxbasedonMATLAB.Wemainlyfocusonthreeproblemsinclude:
theforwardkinematics,inversekinematicsandtrajectoryplanning.Atthesametime,wesimulateeachproblemabove,observethemovementofeachjointandexplainthereasonfortheselectionofsomeparameters.Finally,weverifythefeasibilityofthemodelingmethod.
Keywords:
PUMA560robot;kinematics;RoboticsToolbox;Thesimulation;
.Introduction
Asautomationbecomesmoreprevalentinpeople’slife,robotbeginsmorefurthertochangepeople’sworld.Therefore,weareobligedtostudythemechanismofrobot.Howtomove,howtodeterminethepositionoftargetandtherobotitself,andhowtodeterminetheanglesofeachpointneededtoobtaintheposition.Inordertostudyrobotmorevalidly,weadoptrobotsimulationandobject-orientedmethodtosimulatetherobotkinematiccharacteristics.Wehelpresearchersunderstandtheconfigurationandlimitoftherobot’sworkingspaceandrevealthemechanismofreasonablemovementandcontrolalgorithm.Wecanlettheusertoseetheeffectofthedesign,andtimelyfindouttheshortcomingsandtheinsufficiency,whichhelpusavoidtheaccidentandunnecessarylossesonoperatingentity.ThispaperestablishesamodelforRobotPUMA560byusingRoboticsToolbox,andstudytheforwardkinematicsandinversekinematicsoftherobotandtrajectoryplanningproblem.
.TheintroductionoftheparametersforthePUMA560robot
PUMA560robotisproducedbyUnimationCompanyandisdefinedas6degreesoffreedomrobot.Itconsists6degreesoffreedomrotaryjoints(Thestructurediagramisshowninfigure1).Referringtothehumanbodystructure,thefirstjoint(J1)calledwaistjoints.Thesecondjoint(J2)calledshoulderjoint.Thethirdjoint(J3)calledelbowjoints.ThejointsJ4J5,J6,arecalledwristjoints.Where,thefirstthreejointsdeterminethepositionofwristreferencepoint.Thelatterthreejointsdeterminetheorientationofthewrist.TheaxisofthejointJ1locatedverticaldirection.TheaxisdirectionofjointJ2,J3ishorizontalandparallel,a3metersapart.JointJ1,J2axisareverticalintersectionandjointJ3,J4axisareverticalcrisscross,distanceofa4.Thelatterthreejoints’axeshaveanintersectionpointwhichisalsooriginpointfor{4},{5},{6}coordinate.(Eachlinkcoordinatesystemisshowninfigure2)
Fig1
thestructureofpuma560
Fig2
thelinkscoordinateofpuma560
WhenPUMA560Robotisintheinitialstate,thecorrespondinglinkparametersareshowedintable1.
Theexpressionofparameters:
Letlengthofthebar
representthedistancebetween
and
along
.
Torsionangle
denotetheanglerevolving
from
to
.
Themeasuringdistancebetween
and
along
is
.
Jointangle
istheanglerevolvingfrom
to
along
.
Table1
theparametersofpuma560
link
Range
1
0
0
90
0
-160~160
2
-90
0
0
0.1491
-225~45
3
0
0.4318
-90
0
-45~225
4
-90
-0.0213
0
0.4331
-110~170
5
90
0
0
0
-100~100
6
-90
0
0
0
-266~266
.ThemovementanalysisofPuma560robot
3.1Forwardkinematic
Definition:
Forwardkinematicsproblemistosolvetheposeofend-effectercoordinaterelativetothebasecoordinatewhengiventhegeometricparametersoflinkandthetranslationofjoint.Letmakethingsclearly:
Whatyouaregiven:
thelengthofeachlinkandtheangleofeachjoint
Whatyoucanfind:
thepositionofanypoint(i.e.it’s
coordinate)
3.2Thesolutionofforwardkinematics
Method:
Algebraicsolution
Principal:
Thekinematicmodelofarobotcanbewrittenlikethis,where
denotesthevectorofjointvariable,
denotesthevectoroftaskvariable,
isthedirectkinematicfunctionthatcanbederivedforanyrobotstructure.
Theoriginof
Eachjointisassignedacoordinateframe.UsingtheDenavit-Hartenbergnotation,youneed4parameters(
)todescribehowaframe(
)relatestoapreviousframe(
)
.Fortwoframespositionedinspace,thefirstcanbemovedintocoincidencewiththesecondbyasequenceof4operations:
1.Rotatearoundthe
axisbyanangle
.
2.Translatealongthe
axisbyadistance
.
3.Rotatearoundthenewzaxisbyanangle
.
4.Translatealongthenewzaxisbyadistance
.
(1.1)
(1.2)
Therefore,accordingtothetheoryabovethefinalhomogeneoustransformcorrespondingtothelastlinkofthemanipulator:
(1.3)
3.3Inversekinematic
Definition:
Robotinversekinematicsproblemisthatresolveeachjointvariablesoftherobotbasedongiventhepositionanddirectionoftheend-effecterorofthelink(ItcanshowaspositionmatrixT).AsforPUMA560Robot,variable
needtoberesolved.
Letmakethingsclearly:
Whatyouaregiven:
Thelengthofeachlinkandthepositionofsomepointontherobot.
Whatyoucanfind:
Theanglesofeachjointneededtoobtainthatposition.
3.4Thesolutionofinversekinematics
Method:
Algebraicsolution
Principal:
Where
istherobotJacobian.JacobiancanbeseenasamappingfromJointvelocityspacetoOperationalvelocityspace.
3.5Thetrajectoryplanningofrobotkinematics
Thetrajectoryplanningofrobotkinematicsmainlystudiesthemovementofrobot.Ourgoalistoletrobotmovesalonggivenpath.Wecandividethetrajectoryofrobotsintotwokinds.Oneispointtopointwhiletheotheristrajectorytracking.Theformerisonlyfocusonspecificlocationpoint.Thelattercaresthewholepath.
Trajectorytrackingisbasedonpointtopoint,buttherouteisnotdetermined.So,trajectorytrackingonlycanensuretherobotsarrivesthedesiredposeintheendposition,butcannotensureinthewholetrajectory.Inordertolettheend-effecterarrivingdesiredpath,wetrytoletthedistancebetweentwopathsassmallaspossiblewhenweplanCartesianspacepath.Inaddition,inordertoeliminateposeandposition’suncertaintybetweentwopathpoints,weusuallydomotivationplanamongeveryjointsundergangcontrol.Inaword,leteachjointhassamerundurationwhenwedotrajectoryplanninginjointspace.
Atsametime,inordertomakethetrajectoryplanningmoresmoothly,weneedtoapplytheinterpolatingmethod.
Method:
polynomialinterpolating[1]
Given:
boundarycondition
(1.3)
(1.4)
Output:
jointspacetrajectory
betweentwopoints
=
(1.5)
Polynomialcoefficientcanbecomputedasfollows:
(1.6)
.KinematicsimulationbasedonMATLAB
Howtouselink
InRoboticsToolbox,function’link’isusedtocreateabar.Therearetwomethods.OneistoadoptstandardD-HparametersandtheotheristoadoptmodifiedD-Hparameters,whichcorrespondtotwocoordinatesystems.WeadoptmodifiedD-Hparametersinourpaper.Thefirst4elementsinFunction‘link’areα,a,θ,d.Thelastelementis0(representRotationaljoint)or1(representtranslationjoint).Thefinalparameteroflinkis’mod’,whichmeansstandardormodified.Thedefaultisstandard.
Therefore,ifyouwanttobuildyourownrobot,youmayusefunction‘link’.Youcancallitlikethis:
’L1=link([00pi00],'modified');
Thestepofsimulationis:
Step1:
Firstofall,accordingtothedatafromTable1,webuildsimulationprogramoftherobot(showninAppendixrob1.m).
Step2:
Present3Dfigureoftherobot(showninFig4).Thisisathree-dimensionalfigurewhentherobotlocatedtheinitialposition(
).Wecanadjustthepositionofthesliderincontrolpaneltomakethejointrotation(inFig5),justlikecontrollingrealrobot.
Step3:
PointAlocatedatinitialposition.Itcandedescribedas
.ThetargetpointisPointB.Thejointrotationanglecanbeexpressedas
.Wecanachievethesolutionofforwardkinematicsandobtaintheend-effecterposerelativetothebasecoordinatesystemis(0.737,0.149,0.326),relativetothethreeaxesofrotationangleisthe(0,0,-1).Therobot’sthree-dimensionalposein
isshowninFig6.
Step4:
Accordingtothehomogeneoustransformationmatrix,wecanobtaineachjointvariablefromtheinitialpositiontothespecifiedlocation
Step5:
SimulatetrajectoryfrompointAtopointB.Thesimulationtimeis10s.Timeintervalis0.1s.Then,wecanpicturelocationimage,theangularvelocityandangularaccelerationimage(shownasFig8)whichdescribeeachjointtransformsovertimefromPointAtoPointB.Inthispaper,weonlypresentthepictureofjoint3.Byusingthefunction‘T=fkine(r,q)’,weobtain‘T’athree-dimensionalmatrix.Thefirsttwodimensionalmatrixrepresentthecoordinatechangewhilethelastdimensionistime‘t’.
Fig4
Fig5
Fig6
Fig7
Fig8
Theproblemduringthesimulation
Thereasonforselectionofsomeparameter
Theparameteroflink:
Fromkinematicsimulationandprogram,youcanseethatIsetcertainvaluenotarbitrarywhenIcall‘link’.ThatisbecauseIwantthesimulationcanbemoreclosetotherealsituation.So;Iadopttheparameterofpuma560(youcanseeitfromtheprogram)andthereisnodifferencebetweenmyrobotandpuma560radically.
Theparameterof
:
WhenIchoosetheparameterof
Ijustwanttotestsomething.
Forexample,whenyoudenotetheparameterof‘
’likethis‘
’,youwanttousethefunction‘fkine(p560,
)’toobtainthehomogenousfunction‘T’,then,youwanttouse‘ikine(p560,T)’totestwhetherthe‘
’iswhatyouhavesettledbefore.
Theresultisasfollows:
=[0-pi/4-pi/40pi/80];
T=f