Not sure why I get this error: Error using SerialLink/fkine (line 84) q must have 4 columns Error in fedr (line 36) T = robo.fkine(qn);
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
%%I should get a value of less than 2 when running the program
function err = dhobjective1 (para)
%initial error is zero
robo = [0 0 0 0]; %robot to pass new parameters
%disturbing the parameters
d1 = 0;
a1 = 7.5;
a2 = 3.0;
d2 = 10;
d4 = 0.7;
a4 = 1;
para = [d1 a1 d2 a2 d4 a4];
L(1) = Link([pi/2 para(2) para(1) 0]);
%L1.qlim = [0, pi];
L(2) = Link([pi/2 para(4) para(3) 0]);
%L2.qlim = [0, pi];
L(3) = Link([0 0 0 -pi/2]);
%L3.qlim = [0, pi];
%L(4) is the end effector where the pen attaches
L(4) = Link([10 para(5) para(1) 10]);
%L4.qlim = [0, pi];
robo = SerialLink(L, 'name', 'robo');
data = [0 180 8; 0 135 14.5; 45 135 14.5;...
45 180 8.5; 90 180 8.5];
% robo.base = [0 2 0 0];
%open file of precompute values
err = 0;
for i = 1:5
qn = data(i,1:2);
dist = data(i, 3);
T = robo.fkine(qn);
Ndist = sqrt((T.t(1).^2) + (T.t(2).^2) + (T.t(3).^2));
%compute error
Eerr = abs(dist - Ndist);
err = err + Eerr;
end
err = err/5;
end
1 Kommentar
Antworten (0)
Siehe auch
Kategorien
Mehr zu Robotics System Toolbox finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!