Documente Academic
Documente Profesional
Documente Cultură
c
|
(c
1
c
2
c
3
-c
1
s
2
s
3
)+c
(c
2
c
3
s
1
-s
1
s
2
s
3
)-s
(-c
2
s
3
-c
3
s
2
)
U
12
= (c
+s
)(c
2
c
3
s
1
-s
1
s
2
s
3
)+c
(-c
2
s
3
-c
3
s
2
)+
(c
1
c
2
c
3
-c
1
s
2
s
3
)(-c
+c
)
U
13
= (s
+c
)(c
1
c
2
c
3
-c
1
s
2
s
3
)+c
(-c
2
s
3
-c
3
s
2
)+
(c
2
c
3
s
1
-s
1
s
2
s
3
)(-c
+c
)
U
21
= c
1
c
- s
1
c
U
22
= c
1
(c
+s
)-s
1
(-c
+c
)
U
23
= -s
1
(s
+c
)+c
1
(-c
+c
)
U
31
= c
(c
1
c
2
s
3
+c
1
c
3
s
2
)+c
(c
2
s
1
s
3
+c
3
s
1
s
2
)-s
(c
2
c
3
-s
2
s
3
)
U
32
= (c
2
s
1
s
3
+c
3
s
1
s
2
)(c
+s
)+c
(c
2
c
3
-s
2
s
3
)+
(c
1
c
2
s
3
+c
1
c
3
s
2
)(-c
+c
)
U
33
= (c
1
c
2
s
3
+c
1
c
3
s
2
)(s
+c
)+c
(c
2
c
3
-s
2
s
3
)+
(c
2
s
1
s
3
+c
3
s
1
s
2
)(-c
+c
)
Ahora para calcular los ngulos u
4
, u
5
y u
6
se calculan los ngulos de Euler |, u y
a partir de la matriz U como se muestra a continuacin:
c
|
c
-s
|
c
+c
|
s
s
|
s
+c
|
s
s
|
c
c
|
c
+s
|
s
-c
|
s
+s
|
s
-s
c
|
s
U
11
U
12
U
13
U
21
U
22
U
23
U
31
U
32
U
33
R
3
6
=
T
( ) = = = U R R R
T
:
3
0
6
3
) , tan(
) , tan(
) 1 , tan(
32 31
23 13
2
33 33
u u A
u u A
u u A
=
=
=
|
u
Los ngulos de Euler corresponden a los ngulos u de las articulaciones de la
siguiente manera:
| = u
4
u = u
5
= u
6
Ahora para calcular la orientacin que logre que los tres ltimos DOF de libertad
sigan planos tangentes, los datos que se darn como entrada a la cinemtica
inversa sern la posicin por medio de xd, xy y xz de la misma forma que en el
caso anterior (corte de manzana) y los ngulos de Roll, Pitch, Yaw se calcularan de
manera tal que el vector a del efector final sea normal al plano tangente y el
vector n sea paralelo al mismo.
Dado que la trayectoria a seguir es la de corte de manzana, se tiene como
trayectoria un crculo de radio variable, por tanto los ngulos de Roll, Pitch, Yaw
para lograr la orientacin tangente deseada se calculan como sigue:
u
r
px
u
py
2
2
2
2
1 , tan(
1 , tan(
r
px
r
px
A
r
py
r
py
A
H =
=
u
Parmetros de entrada
xo=; Distancia del centro del circulo al origen en x
yo=; Distancia del centro del circulo al origen en y
zo=; Distancia del centro del circulo al origen en z
ro=; Radio mayor
Ciclo de clculo
i=1;
k=10; Numero de vueltas
for(x=0:1:k*360)
Ecuacin de crculo con radio variable
beta=x*pi/180; Angulo para calcular el circulo
R=ro*sin(beta/(2*k)); Radio variable de la espiral
px=xo+R*cos(beta); Posicin deseada en x
py=yo+R*sin(beta); Posicin deseada en y
fi=0; Calculo ngulos de Euler
teta=pi-atan2((px^2/R),sqrt(1-( px/R)^2)); Calculo ngulos de Euler
si= atan2((py^2/R),sqrt(1-( py/R)^2)); Calculo ngulos de Euler
pz=zo-2*sin(beta/(4*k)); Variacin de la altura
pxf=px-(d6*(sin(fi)*sin(si)+cos(fi)*cos(teta)*sin(si))
pyf=py-(d6*(-cos(fi)*sin(si)+sin(fi)* sin(teta)*sin(si))
pxf=pz-(d6*( cos(si)*cos(teta)
Calculo de los ngulos
D=(pxf^2+pyf^2+pzf^2-a2^2-a3^2)/(2*a2*a3);
q1=atan2(pyf,pxf);
q3=atan2(sqrt(1-D^2),D);
q2=atan2(pzf,sqrt(pxf^2+pyf^2))-atan2(a3*sin(q3),a2+a3*cos(q3));
u13=(sin(fi)*sin(si)+cos(fi)*cos(si)*sin(teta))*(cos(q1)*cos(q2)*cos(q3)-cos(q1)
*
sin(q2)
*sin(q3)+cos(teta)*cos(si))*(-cos(q2)*sin(q3)-cos(q3)*sin(q2)+(cos(q2)*cos(q3)*sin(q1)-
sin(q1)*sin(q2)*sin(q3))*(-cos(fi)*sin(fi)+cos(fi)*sin(teta)*sin(fi));
u23=(-sin(q1)*(sin(fi)*sin(si)+cos(fi)*cos(si)*sin(teta))+
cos(q1)*(-cos(fi)*sin(fi)+cos(fi)*sin(teta)*sin(fi));
u31= cos(teta)*cos(si) *( cos(q1)*cos(q2)*sin(q3))+ cos(q1)*cos(q3)*sin(q2))
+cos(teta)*cos(fi)*(cos(q2)*sin(q1)*sin(q3)+cos(q3)*sin(q1)*sin(q2)*
(-sin(teta))*(cos(q2)* cos(q3)- sin(q2)*sin(q3));
u32=(cos(q2)*sin(q1)*sin(q3)+ cos(q3)*sin(q1)*sin(q2))*(cos(fi)*cos(si)+
sin(teta)*sin(fi)*sin(si))+cos(fi)*sin(si)*(cos(q2)* cos(q3)-
sin(q2)*sin(q3))+( cos(q1)*cos(q2)*sin(q3))
+cos(q1)*cos(q3)*sin(q2))*(-cos(si)*sin(teta)+cos(fi)*sin(teta)*sin(si));
u33=((q1)*cos(q2)*sin(q3))+cos(q1)*cos(q3)*sin(q2))*(sin(fi)*sin(si)+
cos(fi)*cos(si)*sin(teta))+cos(teta)*cos(si)*(cos(q2)*cos(q3)- sin(q2)*sin(q3));
q4=atan2(u13,u23);
q5=atan2(u33,sqrt(1-(u33^2));
q6=atan2(-u31,u32);
Matriz de los vectores (q)
q(i,:)=[q1,q2,q3];
Matriz de los vectores (px, py, pz)
X(i,:)=[px];
Y(i,:)=[py];
Z(i,:)=[pz];
i=i+1;
end
Rutina para graficar
figure(1)
grid
plot3(X,Y,Z) Grafica de la trayectoria calculada
figure(2)
plot(ROBOTINA,q,'ROBOTINA','shadow','erase') Grafica del robot siguiendo la trayectoria
EJERCICIO 3
Encontrar la cinemtica inversa de orientacin de 3 DOF cuando en el ltimo eje
coordenado a
6
es distinto de cero.
Utilizando el mismo robot de tipo RRR de la tarea anterior, cuyos parmetros de
Denavit-Hartenberg se cambian solo en la columna de las a
i,
al agregar el valor de
a
6
como se observa a continuacin:
n a
i
d
i
o
i
i
1 0 d
1
-90 u
1
2 a
2
0 0 u
2
3 a
3
0 90 u
3
4 0 0 -90 u
4
5 0 0 -90 u
5
6 a
6
d
6
0 u
6
d
0
5
Y
1
Y
6
Y
2
Y
0
X
6
X
2
X
1
X
0
Z
0
Z
2
Z
1
Z
6
d
0
6
Z
4
Z
5
Z
3
a
2
a
3
d
6
d
0
6
a
6
Para calcular la cinemtica inversa se utilizo el mtodo de desacople cinemtico ya
que los tres ltimos ejes Z se interceptan en un punto.
Por tanto:
K
dR d d =
6
0
5
0
El vector
5
0
d indica la distancia del origen al centro de la mueca,
6
0
d es el vector
que indica la posicin deseada de la herramienta, el calculo de la posicin real se
realiza teniendo en cuenta que la herramienta esta desplazada del centro de la
mueca y en esta caso la distancia
6
d se trasforma en un vector cuyos
componentes son | |
T
d a
6 6
0 que premultiplica a la matriz de rotacin de Roll, Pitch,
Yaw,
K
R ).
De esta forma al desacoplar los tres primero ngulos de los tres ltimos, los tres
primeros ngulos se calculan de acuerdo a:
(
(
(
(
(
(
=
(
(
(
(
(
(
=
6
6
6
6
6
0
5
0
0
0
d
a
R
zd
yd
xd
pz
py
px
d
a
R d d
Donde la matriz R es matriz de rotacin de Roll, Pitch, Yaw:
Como datos de entrada se tiene: xd, posicin deseada en x
yd, posicin deseada en x
zd, posicin deseada en x
|, u, ngulos de rotacin deseados
A parte del cambio generado en el vector de distancia de la herramienta a la
mueca el proceso para calcular los dems ngulos es el mismo del ejercicio
anterior.
c
|
c
-s
|
c
+c
|
s
s
|
s
+c
|
s
s
|
c
c
|
c
+s
|
s
-c
|
s
+s
|
s
-s
c
|
s