Dynamic-Calibration/fk_ur10.m

54 lines
1.9 KiB
Matlab
Executable File

close all
marker_area = 75;
R01 = RPY(str2num(ur10.robot.joint{1}.origin.Attributes.rpy));
p01 = str2num(ur10.robot.joint{1}.origin.Attributes.xyz)';
T01 = [R01, p01; zeros(1,3),1];
R12 = RPY(str2num(ur10.robot.joint{2}.origin.Attributes.rpy));
p12 = str2num(ur10.robot.joint{2}.origin.Attributes.xyz)';
T12 = [R12, p12; zeros(1,3),1];
T02 = T01*T12;
R23 = RPY(str2num(ur10.robot.joint{3}.origin.Attributes.rpy));
p23 = str2num(ur10.robot.joint{3}.origin.Attributes.xyz)';
T23 = [R23, p23; zeros(1,3),1];
T03 = T02*T23;
R34 = RPY(str2num(ur10.robot.joint{4}.origin.Attributes.rpy));
p34 = str2num(ur10.robot.joint{4}.origin.Attributes.xyz)';
T34 = [R34, p34; zeros(1,3),1];
T04 = T03*T34;
R45 = RPY(str2num(ur10.robot.joint{5}.origin.Attributes.rpy));
p45 = str2num(ur10.robot.joint{5}.origin.Attributes.xyz)';
T45 = [R45, p45; zeros(1,3),1];
T05 = T04*T45;
R56 = RPY(str2num(ur10.robot.joint{6}.origin.Attributes.rpy));
p56 = str2num(ur10.robot.joint{6}.origin.Attributes.xyz)';
T56 = [R56, p56; zeros(1,3),1];
T06 = T05*T56;
figure
hold on
scatter3(T01(1,4),T01(2,4),T01(3,4),marker_area,'filled')
scatter3(T02(1,4),T02(2,4),T02(3,4),marker_area,'filled')
scatter3(T03(1,4),T03(2,4),T03(3,4),marker_area,'filled')
scatter3(T04(1,4),T04(2,4),T04(3,4),marker_area,'filled')
scatter3(T05(1,4),T05(2,4),T05(3,4),marker_area,'filled')
scatter3(T06(1,4),T06(2,4),T06(3,4),marker_area,'filled')
line([0,T01(1,4)],[0,T01(2,4)],[0,T01(3,4)],'LineWidth',2)
line([T01(1,4),T02(1,4)],[T01(2,4),T02(2,4)],[T01(3,4),T02(3,4)],'LineWidth',2)
line([T02(1,4),T03(1,4)],[T02(2,4),T03(2,4)],[T02(3,4),T03(3,4)],'LineWidth',2)
line([T03(1,4),T04(1,4)],[T03(2,4),T04(2,4)],[T03(3,4),T04(3,4)],'LineWidth',2)
line([T04(1,4),T05(1,4)],[T04(2,4),T05(2,4)],[T04(3,4),T05(3,4)],'LineWidth',2)
line([T05(1,4),T06(1,4)],[T05(2,4),T06(2,4)],[T05(3,4),T06(3,4)],'LineWidth',2)
xlabel('X, m','interpreter','latex')
ylabel('Y, m','interpreter','latex')
zlabel('Z, m','interpreter','latex')
axis equal