matlab机器人工具箱matlabroboticstoolboxdemo.docx

上传人:b****6 文档编号:5730936 上传时间:2022-12-31 格式:DOCX 页数:32 大小:406.54KB
下载 相关 举报
matlab机器人工具箱matlabroboticstoolboxdemo.docx_第1页
第1页 / 共32页
matlab机器人工具箱matlabroboticstoolboxdemo.docx_第2页
第2页 / 共32页
matlab机器人工具箱matlabroboticstoolboxdemo.docx_第3页
第3页 / 共32页
matlab机器人工具箱matlabroboticstoolboxdemo.docx_第4页
第4页 / 共32页
matlab机器人工具箱matlabroboticstoolboxdemo.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

matlab机器人工具箱matlabroboticstoolboxdemo.docx

《matlab机器人工具箱matlabroboticstoolboxdemo.docx》由会员分享,可在线阅读,更多相关《matlab机器人工具箱matlabroboticstoolboxdemo.docx(32页珍藏版)》请在冰豆网上搜索。

matlab机器人工具箱matlabroboticstoolboxdemo.docx

matlab机器人工具箱matlabroboticstoolboxdemo

MATLABROBOTTOOL

rtdemo演示

 

一、rtdemo机器人工具箱演示

>>rtdemo

%

二、transfermations坐标转换

%Inthefieldofroboticstherearemanypossiblewaysofrepresenting

%positionsandorientations,butthehomogeneoustransformationiswell

%matchedtoMATLABspowerfultoolsformatrixmanipulation.

%

%HomogeneoustransformationsdescribetherelationshipsbetweenCartesian

%coordinateframesintermsoftranslationandorientation.

%Apuretranslationof0.5mintheXdirectionisrepresentedby

transl(0.5,0.0,0.0)

ans=

1.0000000.5000

01.000000

001.00000

0001.0000

%

%arotationof90degreesabouttheYaxisby

roty(pi/2)

ans=

0.000001.00000

01.000000

-1.000000.00000

0001.0000

%

%andarotationof-90degreesabouttheZaxisby

rotz(-pi/2)

ans=

0.00001.000000

-1.00000.000000

001.00000

0001.0000

%

%thesemaybeconcatenatedbymultiplication

t=transl(0.5,0.0,0.0)*roty(pi/2)*rotz(-pi/2)

t=

0.00000.00001.00000.5000

-1.00000.000000

-0.0000-1.00000.00000

0001.0000

 

%

%Ifthistransformationrepresentedtheoriginofanewcoordinateframewithrespect

%totheworldframeorigin(0,0,0),thatneworiginwouldbegivenby

t*[0001]'

ans=

0.5000

0

0

1.0000

pause%anykeytocontinue

%

%theorientationofthenewcoordinateframemaybeexpressedintermsof

%Eulerangles

tr2eul(t)

ans=

01.5708-1.5708

%

%orroll/pitch/yawangles

tr2rpy(t)

ans=

-1.57080.0000-1.5708

pause%anykeytocontinue

%

%Itisimportanttonotethattranformmultiplicationisingeneralnot

%commutativeasshownbythefollowingexample

rotx(pi/2)*rotz(-pi/8)

ans=

0.92390.382700

-0.00000.0000-1.00000

-0.38270.92390.00000

0001.0000

rotz(-pi/8)*rotx(pi/2)

ans=

0.92390.0000-0.38270

-0.38270.0000-0.92390

01.00000.00000

0001.0000

%

%

pause%anykeytocontinue

echooff

三、Trajectory齐次方程

%Thepathwillmovetherobotfromitszeroangleposetotheupright(or

%READY)pose.

%

%Firstcreateatimevector,completingthemotionin2secondswitha

%sampleintervalof56ms.

t=[0:

.056:

2];

pause%hitanykeytocontinue

%

%Apolynomialtrajectorybetweenthe2posesiscomputedusingjtraj()

%

q=jtraj(qz,qr,t);

pause%hitanykeytocontinue

%

%Forthisparticulartrajectorymostofthemotionisdonebyjoints2and3,

%andthiscanbeconvenientlyplottedusingstandardMATLABoperations

subplot(2,1,1)

plot(t,q(:

2))

title('Theta')

xlabel('Time(s)');

ylabel('Joint2(rad)')

subplot(2,1,2)

plot(t,q(:

3))

xlabel('Time(s)');

ylabel('Joint3(rad)')

pause%hitanykeytocontinue

%

%Wecanalsolookatthevelocityandaccelerationprofiles.Wecould

%differentiatetheangletrajectoryusingdiff(),butmoreaccurateresults

%canbeobtainedbyrequestingthatjtraj()returnangularvelocityand

%accelerationasfollows

[q,qd,qdd]=jtraj(qz,qr,t);

%

%whichcanthenbeplottedasbefore

subplot(2,1,1)

plot(t,qd(:

2))

title('Velocity')

xlabel('Time(s)');

ylabel('Joint2vel(rad/s)')

subplot(2,1,2)

plot(t,qd(:

3))

xlabel('Time(s)');

ylabel('Joint3vel(rad/s)')

pause

(2)

%andthejointaccelerationprofiles

subplot(2,1,1)

plot(t,qdd(:

2))

title('Acceleration')

xlabel('Time(s)');

ylabel('Joint2accel(rad/s2)')

subplot(2,1,2)

plot(t,qdd(:

3))

xlabel('Time(s)');

ylabel('Joint3accel(rad/s2)')

pause%anykeytocontinue

echooff

四、forwardkinematics运动学正解

%ForwardkinematicsistheproblemofsolvingtheCartesianpositionand

%orientationofamechanismgivenknowledgeofthekinematicstructureand

%thejointcoordinates.

%

%ConsiderthePuma560exampleagain,andthejointcoordinatesofzero,

%whicharedefinedbyqz

qz

qz=

000000

%

%Theforwardkinematicsmaybecomputedusingfkine()withanappropropriate

%kinematicdescription,inthiscase,thematrixp560whichdefines

%kinematicsforthe6-axisPuma560.

fkine(p560,qz)

ans=

1.0000000.4521

01.00000-0.1500

001.00000.4318

0001.0000

%

%returnsthehomogeneoustransformcorrespondingtothelastlinkofthe

%manipulator

pause%anykeytocontinue

%

%fkine()canalsobeusedwithatimesequenceofjointcoordinates,or

%trajectory,whichisgeneratedbyjtraj()

%

t=[0:

.056:

2];%generateatimevector

q=jtraj(qz,qr,t);%computethejointcoordinatetrajectory

%

%thenthehomogeneoustransformforeachsetofjointcoordinatesisgivenby

T=fkine(p560,q);

%

%whereTisa3-dimensionalmatrix,thefirsttwodimensionsarea4x4

%homogeneoustransformationandthethirddimensionistime.

%

%Forexample,thefirstpointis

T(:

:

1)

ans=

1.0000000.4521

01.00000-0.1500

001.00000.4318

0001.0000

%

%andthetenthpointis

T(:

:

10)

ans=

1.0000-0.000000.4455

-0.00001.00000-0.1500

001.00000.5068

0001.0000

pause%anykeytocontinue

%

%Elements(1:

3,4)correspondtotheX,YandZcoordinatesrespectively,and

%maybeplottedagainsttime

subplot(3,1,1)

plot(t,squeeze(T(1,4,:

)))

xlabel('Time(s)');

ylabel('X(m)')

subplot(3,1,2)

plot(t,squeeze(T(2,4,:

)))

xlabel('Time(s)');

ylabel('Y(m)')

subplot(3,1,3)

plot(t,squeeze(T(3,4,:

)))

xlabel('Time(s)');

ylabel('Z(m)')

pause%anykeytocontinue

%

%orwecouldplotXagainstZtogetsomeideaoftheCartesianpathfollowed

%bythemanipulator.

%

subplot(1,1,1)

plot(squeeze(T(1,4,:

)),squeeze(T(3,4,:

)));

xlabel('X(m)')

ylabel('Z(m)')

grid

pause%anykeytocontinue

echooff

四、Animation动画

clf

%

%Thetrajectorydemonstrationhasshownhowajointcoordinatetrajectory

%maybegenerated

t=[0:

.056:

2]';%generateatimevector

q=jtraj(qz,qr,t);%generatejointcoordinatetrajectory

%

%theoverloadedfunctionplot()animatesastickfigurerobotmoving

%alongatrajectory.

plot(p560,q);

%Thedrawnlinesegmentsdonotnecessarilycorrespondtorobotlinks,but

%jointheoriginsofsequentiallinkcoordinateframes.

%

%Asmallright-anglecoordinateframeisdrawnontheendoftherobottoshow

%thewristorientation.

%

%Ashadowappearsonthegroundwhichhelpstogivesomebetterideaofthe

%3Dobject.

pause%anykeytocontinue

%

%Wecanalsoplaceadditionalrobotsintoafigure.

%

%Let'smakeacloneofthePumarobot,butchangeitsnameandbaselocation

p560_2=p560;

p560_2.name='anotherPuma';

p560_2.base=transl(-0.5,0.5,0);

holdon

plot(p560_2,q);

pause%anykeytocontinue

%Wecanalsohavemultipleviewsofthesamerobot

clf

plot(p560,qr);

figure

plot(p560,qr);

view(40,50)

plot(p560,q)

pause%anykeytocontinue

%

%Sometimesit'susefultobeabletomanuallydrivetherobotaroundto

%getanunderstandingofhowitworks.

drivebot(p560)

%

%usethesliderstocontroltherobot(infactbothviews).Hittheredquit

%buttonwhenyouaredone.

echooff

五、InverseKinematics运动学逆解

%

%Inversekinematicsistheproblemoffindingtherobotjointcoordinates,

%givenahomogeneoustransformrepresentingthelastlinkofthemanipulator.

%ItisveryusefulwhenthepathisplannedinCartesianspace,forinstance

%astraightlinepathasshowninthetrajectorydemonstration.

%

%Firstgeneratethetransformcorrespondingtoaparticularjointcoordinate,

q=[0-pi/4-pi/40pi/80]

q=

0-0.7854-0.785400.39270

T=fkine(p560,q);

%

%Nowtheinversekinematicprocedureforanyspecificrobotcanbederived

%symbolicallyandingeneralanefficientclosed-formsolutioncanbe

%obtained.Howeverwearegivenonlyageneralizeddescriptionofthe

%manipulatorintermsofkinematicparameterssoaniterativesolutionwill

%beused.Theprocedureisslow,andthechoiceofstartingvalueaffects

%searchtimeandthesolutionfound,sinceingeneralamanipulatormay

%haveseveralposeswhichresultinthesametransformforthelast

%link.Thestartingpointforthefirstpointmaybespecified,orelseit

%defaultstozero(whichisnotaparticularlygoodchoiceinthiscase)

qi=ikine(p560,T);

qi'

ans=

-0.0000

-0.7854

-0.7854

-0.0000

0.3927

0.0000

%

%Comparedwiththeoriginalvalue

q

q=

0-0.7854-0.785400.39270

%

%Asolutionisnotalwayspossible,forinstanceifthespecifiedtransform

%describesapointoutofreachofthemanipulator.Asmentionedabove

%thesolutionsarenotnecessarilyunique,andtherearesingularities

%atwhichthemanipulatorlosesdegreesoffreedomandjointcoordinates

%becomelinearlydependent.

pause%anykeytocontinue

%

%Toexaminetheeffectatasingularityletsrepeatthelastexamplebutfora

%differentpose.Atthe`ready'positiontwoofthePuma'swristaxesare

%alignedresultinginthelossofonedegreeoffreedom.

T=fkine(p560,qr);

qi=ikine(p560,T);

qi'

ans=

-0.0000

1.5238

-1.4768

-0.0000

-0.0470

0.0000

%

%whichisnotthesameastheoriginaljointangle

qr

qr=

01.5708-1.5708000

pause%anykeytocontinue

%

%Howeverbothresultinthesameend-effectorposition

fkine(p560,qi)-fkine(p560,qr)

ans=

1.0e-015*

0-0.0000-0.0902-0.0694

0.00000-0.00000

0.09020.000000.1110

0000

pause%anykeytocontinue

%Inversekinematicsmayalsobecomputedforatrajectory.

%IfwetakeaCartesianstraightlinepath

t=[0:

.056:

2];%createatimevector

T1=transl(0.6,-0.5,0.0)%definethestartpoint

T1=

1.0000000.6000

01.00000-0.5000

001.00000

0001.0000

T2=transl(0.4,0.5,0.2)%anddestination

T

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1