
Duda Función
Publicado por Fernando (1 intervención) el 26/04/2018 14:35:13
Buenas, estoy intentando hacer una función que me calcule la cinemática directa de un robot, creo que la he hecho correctamente, pero cuando la llamo me dice "UNdefined function or variable 'directa'". La funcion anterior de denavit no me da problemas, la que me da es directa(q).
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
function dh=denavit(teta,d,a,alfa)
dh=[cos(teta) -cos(alfa)*sin(teta) sin(alfa)*sin(teta) a*cos(teta);
sin(teta) cos(alfa)*cos(teta) -sin(alfa)*cos(teta) a*sin(teta);
0 sin(alfa) cos(alfa) d;
0 0 0 1];
end
function CadenaDirecta=directa(q)
% Parámetros geométricos brazo(m):
L1_b = 1.0;
L2_b = 0.3;
L3_b = 0.3;
L4_b = 0.5;
L5_b = 0.5;
% Parámetros geométricos muñeca(m):
L1_m = 0;
L2_m = 0.25;
L3_m = 0.1;
L4_m = 0.2;
teta=[q(1) 0 0 0 q(4) q(5) q(6)];
d =[L1_b L2_b+q(2) L4_b L5_b+q(3) L2_m L3_m L2_m];
a =[0 L3_b 0 0 0 0 L4_m];
alfa=[0 pi/2 0 pi/2 -pi/2 -pi/2 pi/2];
%Matrices de transformación entre sistemas consecutivos
A00 = [0 0 1 0;0 -1 0 0;1 0 0 0;0 0 0 1];
A01 = denavit(teta(1), d(1), a(1), alfa(1));
A12 = denavit(teta(2), d(2), a(2), alfa(2));
A23 = denavit(teta(3), d(3), a(3), alfa(3));
A34 = denavit(teta(4), d(4), a(4), alfa(4));
A45 = denavit(teta(5), d(5), a(5), alfa(5));
A56 = denavit(teta(6), d(6), a(6), alfa(6));
A67 = denavit(teta(7), d(7), a(7), alfa(7));
%Matriz de trasnformación asociado al último sistema de coordednadas
A08=A00*A01*A12*A23*A34*A45*A56*A67*A00;
end
Valora esta pregunta


0