机器人工作空间求解编程matlab

2022-08-11 19:27:25   文档大全网     [ 字体: ] [ 阅读: ]

#文档大全网# 导语】以下是®文档大全网的小编为您整理的《机器人工作空间求解编程matlab》,欢迎阅读!
求解,机器人,编程,matlab,工作

%四轴机械工作空间计算

clc;

clear all;

format short;%保留精度

%角度转换

du=pi/180; %度

radian=180/pi; %弧度

%% 求取工作空间

%关节角限位

q1_s=-180*du; q1_end=180*du;

d2_s=0; d2_end=60;

q3_s=-270*du; q3_end=-90*du;

q4_s=-180*du; q4_end=180*du;

%设置step

%step越大,点越稀疏,运行时间越快

step=20;%计算步距

step1= (q1_end -q1_s) / step;

step2= (d2_end -d2_s) / step;

step3= (q3_end -q3_s) / step;

step4= (q4_end -q4_s) / step;

%计算工作空间

tic;%tic1

i=1;

% T = zeros(3,1);

% T_x = zeros(1,step1*step2*step3*step4*step5);

% T_y = zeros(1,step1*step2*step3*step4*step5);

% T_z = zeros(1,step1*step2*step3*step4*step5);

for q1=q1_s:step1:q1_end

for d2=d2_s:step2:d2_end

for q3=q3_s:step3:q3_end

for q4=q4_s:step4:q4_end

% T=p560.fkine([q1*du d2 q3*du q4*du ]);%正向运动学仿真函数

T10=[cos(q1) -sin(q1) 0 0; sin(q1) cos(q1) 0 0; 0 0 1 0;0 0 0 1];

T21=[1 0 0 0; 0 0 1 d2; 0 -1 0 0; 0 0 0 1];

T32=[cos(q3) -sin(q3) 0 0; 0 0 -1 0; sin(q3) cos(q3) 0 0;0 0 0 1];

T43=[cos(q4) -sin(q4) 0 0; 0 0 -1 -60; sin(q4) cos(q4) 0 0; 0 0 0 1];

T=T10*T21*T32*T43

T_x(1,i) = T(1,4);

T_y(1,i) = T(2,4);

T_z(1,i) = T(3,4);

i=i+1;

end

end

end

end

disp(['循环运行时间:',num2str(toc)]);

t1=clock;

%% 绘制工作空间

% figure('name','四轴机械工作空间')

% hold on

% plotopt = {'noraise', 'nowrist', 'nojaxes', 'delay',0};

% p560.plot([0 20*du 0 0 0 0], plotopt{:});

plot3(T_x,T_y,T_z,'r.','MarkerSize',3);

disp(['绘制工作空间运行时间:',num2str(etime(clock,t1))]);

%获取X,Y,Z空间坐标范围

Point_range=[min(T_x) max(T_x) min(T_y) max(T_y) min(T_z) max(T_z)]

hold off

本文来源:https://www.wddqxz.cn/9a49b1b90b75f46527d3240c844769eae109a363.html

相关推荐