matlab实现puma机器人工作空间

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

matlab实现PUMA机器人的工作空间

PUMA机器人的工作空间主要有前3个关节决定,后3个关节决定姿态。程序编写好了,请看运行结果!

步长为20度

步长为10度

步长为5度

步长为3度

步长为2度

步长为5度时的XY平面

步长为5度时的XZ,YZ平面

编写时的界面,为运行

源代码如下:

function varargout = 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', []);

if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1});

end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

gui_mainfcn(gui_State, varargin{:});

end

handles.output = hObject;

guidata(hObject, handles);

function varargout = mypuma_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output;

%步长为20度时的工作空间,2个for循环就搞定

function pushbutton1_Callback(hObject, eventdata, handles)

hold off;

for a=(-160:20:160)*pi/180

for b=(-225:20:45)*pi/180

x=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.');

hold on;

grid on;

end

end

title('PUMA560 20deg 08S008103 ');

%步长10度时的工作空间,2个for循环就搞定

function pushbutton2_Callback(hObject, eventdata, handles) hold off;

a2=431.8;

d2=149.09;

for a=(-160:10:160)*pi/180

for b=(-225:10:45)*pi/180

x=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.');

hold on;

grid on;

end

end

title('PUMA560 10deg 08S008103 ');

%步长为5度时的工作空间,2个for循环就搞定

function pushbutton3_Callback(hObject, eventdata, handles) hold off;

a2=431.8;

d2=149.09;

for a=(-160:5:160)*pi/180

for b=(-225:5:45)*pi/180

x=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.');

hold on;

grid on;

end

end

title('PUMA560 5deg 08S008103 ');

%步长为3度时的工作空间,2个for循环就搞定

function pushbutton7_Callback(hObject, eventdata, handles) hold off;

for a=(-160:3:160)*pi/180

for b=(-225:3:45)*pi/180

x=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.');

hold on;

grid on;

end

end

title('PUMA560 3deg 08S008103 ');

%步长为2度时的工作空间,2个for循环就搞定

function pushbutton8_Callback(hObject, eventdata, handles) hold off;

for a=(-160:2:160)*pi/180

for b=(-225:2:45)*pi/180

x=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.');

hold on;

grid on;

相关文档
最新文档