实用标准文案文档matlab实现PUMA机器人的工作空间PUMA机器人的工作空间主要有前3个关节决定,后3个关节决定姿态。程序编写好了,请看运行结果!步长为20度步长为10度实用标准文案文档步长为5度步长为3度步长为2度实用标准文案文档步长为5度时的XY平面步长为5度时的XZ,YZ平面实用标准文案文档编写时的界面,为运行源代码如下:functionvarargout=mypuma(varargin)gui_Singleton=1;gui_State=struct('gui_Name',mfilename,...'gui_Singleton',gui_Singleton,...实用标准文案文档'gui_OpeningFcn',@mypuma_OpeningFcn,...'gui_OutputFcn',@mypuma_OutputFcn,...'gui_LayoutFcn',[],...'gui_Callback',[]);ifnargin&&ischar(varargin{1})gui_State.gui_Callback=str2func(varargin{1});endifnargout[varargout{1:nargout}]=gui_mainfcn(gui_State,varargin{:});elsegui_mainfcn(gui_State,varargin{:});endhandles.output=hObject;guidata(hObject,handles);functionvarargout=mypuma_OutputFcn(hObject,eventdata,handles)varargout{1}=handles.output;%步长为20度时的工作空间,2个for循环就搞定functionpushbutton1_Callback(hObject,eventdata,handles)holdoff;fora=(-160:20:160)*pi/180实用标准文案文档forb=(-225:20:45)*pi/180x=431.8*cos(b)*cos(a)-149.09*sin(a);y=431.8*cos(b)*sin(a)+cos(a)*149.09;z=-431.8*sin(b);plot3(x,y,z,'b.');holdon;gridon;endendtitle('PUMA56020deg08S008103');%步长10度时的工作空间,2个for循环就搞定functionpushbutton2_Callback(hObject,eventdata,handles)holdoff;a2=431.8;d2=149.09;fora=(-160:10:160)*pi/180forb=(-225:10:45)*pi/180x=431.8*cos(b)*cos(a)-149.09*sin(a);y=431.8*cos(b)*sin(a)+cos(a)*149.09;z=-431.8*sin(b);plot3(x,y,z,'r.');holdon;gridon;实用标准文案文档endendtitle('PUMA56010deg08S008103');%步长为5度时的工作空间,2个for循环就搞定functionpushbutton3_Callback(hObject,eventdata,handles)holdoff;a2=431.8;d2=149.09;fora=(-160:5:160)*pi/180forb=(-225:5:45)*pi/180x=431.8*cos(b)*cos(a)-149.09*sin(a);y=431.8*cos(b)*sin(a)+cos(a)*149.09;z=-431.8*sin(b);plot3(x,y,z,'g.');holdon;gridon;endendtitle('PUMA5605deg08S008103');%步长为3度时的工作空间,2个for循环就搞定functionpushbutton7_Callback(hObject,eventdata,handles)holdoff;实用标准文案文档fora=(-160:3:160)*pi/180forb=(-225:3:45)*pi/180x=431.8*cos(b)*cos(a)-149.09*sin(a);y=431.8*cos(b)*sin(a)+cos(a)*149.09;z=-431.8*sin(b);plot3(x,y,z,'b.');holdon;gridon;endendtitle('PUMA5603deg08S008103');%步长为2度时的工作空间,2个for循环就搞定functionpushbutton8_Callback(hObject,eventdata,handles)holdoff;fora=(-160:2:160)*pi/180forb=(-225:2:45)*pi/180x=431.8*cos(b)*cos(a)-149.09*sin(a);y=431.8*cos(b)*sin(a)+cos(a)*149.09;z=-431.8*sin(b);plot3(x,y,z,'b.');holdon;gridon;实用标准文案文档endendtitle('PUMA5602deg08S008103');%步长为5度时的xy平面functionpushbutton4_Callback(hObject,eventdata,handles)holdoff;a2=431.8;d2=149.09;fora=(-160:5:160)*pi/180forb=(-225:5:45)*pi/180x=431.8*cos(b)*cos(a)-149.09*sin(a);y=431.8*cos(b)*sin(a)+cos(a)*149.09;z=-431.8*sin(b);plot(x,y,'g.');holdon;gridon;endendtitle('PUMA5605degXY08S008103');%步长为5度时的xz平面functionpushbutton5_Callback(hObject,eventdata,handles)holdoff;实用标准文案文档a2=431.8;d2=149.09;fora=(-160:5:160)*pi/180forb=(-225:5:45)*pi/180x=431.8*cos(b)*cos(a)-149.09*sin(a);y=431.8*cos(b)*sin(a)+cos(a)*149.09;z=-431.8*sin(b);plot(x,z,'g.');holdon;gridon;endendtitle('PUMA5605degXZ08S008103');%步长为5度时的yz平面functionpushbutton6_Callback(hObject,eventdata,handles)holdoff;a2=431.8;d2=149.09;fora=(-160:5:160)*pi/180forb=(-225:5:45)*pi/180x=431.8*cos(b)*cos(a)-149.09*sin(a);y=431.8*cos(b)*sin(a)+cos(a)*149.09;z=-431.8*sin(b);实用标准文案文档plot(y,z,'g.');holdon;gridon;endendtitle('PUMA5605degY-Z08S008103');