Documente Academic
Documente Profesional
Documente Cultură
T
,
a
2
=
_
D
b
_
R
2
1
D
2
b
0
T
, (1)
a
3
=
_
R
1
sin(2/3) R
1
cos(2/3) 0
T
,
a
4
=
_
R
1
sin( 2/3) R
1
cos( 2/3) 0
T
,
a
5
=
_
R
1
sin(4/3) R
1
cos(4/3) 0
T
,
a
6
=
_
R
1
sin( 4/3) R
1
cos( 4/3) 0
T
.
R
1
> R
2
; D
b
> D
c
; = tan
1
(
D
b
_
R
2
1
D
2
b
).
b
1
=
_
D
c
_
R
2
2
D
2
c
0
T
,
b
2
=
_
R
2
sin() +D
c
_
R
2
2
(R
2
sin() +D
c
)
2
0
_
, (2)
b
3
=
_
R
2
sin(2/3 /2) R
2
cos(2/3 /2) 0
T
,
b
4
=
_
R
2
sin(2/3 +) R
2
cos(2/3 +) 0
T
,
b
5
=
_
R
2
sin(4/3 /2) R
2
cos(4/3 /2) 0
T
,
b
6
=
_
R
2
sin(4/3 +) R
2
cos(4/3 +) 0
T
.
= 2 tan
1
(
D
c
_
R
2
2
D
2
c
).
Para los valores R
1
= 50cm, R
1
= 20cm, D
b
= 10cm y
D
c
= 4cm obtenemos las longitudes de a
i
y b
i
, o posiciones
de las articulaciones de la plataforma Stewart.
a
i
=
_
a
1
a
2
a
3
a
4
a
5
a
6
(3)
=
_
_
0 50,0000 0
10,0000 48,9898 0
43,3013 25,0000 0
37,4264 33,1552 0
43,3013 25,0000 0
47,4264 15,8346 0
_
_
T
.
b
i
=
_
b
1
b
2
b
3
b
4
b
5
b
6
(4)
=
_
_
4,0000 19,5959 0
8,0000 18,3303 0
18,9706 6,3339 0
12,0157 15,9882 0
14,9706 13,2621 0
19,8541 2,4118 0
_
_
T
.
El siguiente c odigo en MATLAB, construye las posiciones
de las plataformas ja y m ovil.
%1. Posicion de las articulaciones en la base:
R1=50;
Db=10;
Ai(:,1)=[0 R1 0];
Ai(:,2)=[-Db (sqrt((R12)-(Db2))) 0];
Psi=atan2(Ai(1,2),Ai(2,2));
Ai(:,3)=[-R1
*
sin(deg2rad(120));
R1
*
cos(deg2rad(120));
0];
Ai(:,4)=[R1
*
sin(Psi-deg2rad(120));
R1
*
cos(Psi-deg2rad(120));
0];
Ai(:,5)=[-R1
*
sin(deg2rad(240));
R1
*
cos(deg2rad(240));
0];
Ai(:,6)=[R1
*
sin(Psi-deg2rad(240));
R1
*
cos(Psi-deg2rad(240));
0];
Ai=[-1 0 0;0 1 0;0 0 1]
*
[Ai];
%2. Posicion de las articulaciones en la plataforma:
R2=20;
Dc=4;
Bi(:,1)=[4 sqrt((R22)-(42)) 0];
Bi(:,2)=[-8 (sqrt((R22)-(82))) 0];
Phi=2
*
atan2(Bi(1,1),Bi(2,1));
Bi(:,3)=[-R2
*
sin(deg2rad(120)-Phi/2);
R2
*
cos(deg2rad(120)-Phi/2);
0];
Bi(:,4)=[-R2
*
sin(deg2rad(120)+Phi);
R2
*
cos(deg2rad(120)+Phi);
0];
Bi(:,5)=[-R2
*
sin(deg2rad(240)-Phi/2);
R2
*
cos(deg2rad(240)-Phi/2);
0];
Bi(:,6)=[-R2
*
sin(deg2rad(240)+Phi);
R2
*
cos(deg2rad(240)+Phi);
0];
Bi=[-1 0 0;0 1 0;0 0 1]
*
[Bi];
Las guras Fig.2 y Fig.3 muestran las posiciones de las
articulaciones de la plataforma ja y m ovil en el plano (x, y).
Figura 2. Posiciones de las articulaciones en la plataforma ja
2
Figura 3. Posiciones de las articulaciones en la plataforma movil
B. C alculo de la cinem atica inversa.
En el c alculo de la cinem atica inversa de la plataforma
Stewart 6-6, se calculan las distancias A
i
B
i
, como se muestra
seguido.
A
i
B
i
= p +
A
R
B
B
b
i
a
i
. (5)
La longitud de las barras es obtenida a partir del producto
punto del vector A
i
B
i
con el mismo.
d
2
i
=
_
p +
A
R
B
B
b
i
a
i
T
_
p +
A
R
B
B
b
i
a
i
,
= p
T
p +
_
B
b
i
T
_
B
b
i
+ a
T
i
a
i
+ 2p
T
_
A
R
B
B
b
i
2p
T
a
i
2
_
A
R
B
B
b
i
T
a
i
. (6)
La siguiente funci on calcula las distancias para cada barra
de la plataforma Stewart, dependiendo de la posici on y orien-
taci on en que se encuentra el centroide de la plataforma ja
con respecto a la movil.
function [AiBi,PB,di]=PosStewartInv(P,Ai,Bi,RAB)
Pi=P
*
ones(1,6);
AiBi=Pi+(RAB
*
Bi)-Ai;
PB=Pi+(RAB
*
Bi);
di1=sqrt(AiBi(:,1)
*
AiBi(:,1));
di2=sqrt(AiBi(:,2)
*
AiBi(:,2));
di3=sqrt(AiBi(:,3)
*
AiBi(:,3));
di4=sqrt(AiBi(:,4)
*
AiBi(:,4));
di5=sqrt(AiBi(:,5)
*
AiBi(:,5));
di6=sqrt(AiBi(:,6)
*
AiBi(:,6));
di=[di1 di2 di3 di4 di5 di6];
end
C. Seguimiento de una trayectoria.
Denamos una trayectoria para nuestro robot. Para su
seguimiento, tomemos como variables de entrada la rotaci on
y traslaci on en el espacio del centroide de la plataforma
movil con respecto a la plataforma ja. Llamemos , y
los angulos de rotaci on con respecto a los ejes x, y y z
del centroide de la plataforma movil. La distancia p sera la
otra variable de entrada. Este vector es el desplazamiento del
centroide de la plataforma movil tomando el sistema (x, y, z)
como referencia. Las variables de entrada son denidos como
se muestra seguido.
= Ang sin(t),
= Ang sin(t),
= Ang sin(t), (7)
p =
_
_
M sin(t)
M sin(t + /2)
OP
0
+ (M/2) sin(t)
_
_
.
En donde t = 100seg (tiempo), Ang = 0,5rad (M ax angulo
de rotaci on), = 0,2rad/seg (frecuencia), M = 18cm (M ax
distancia de desplazamiento) y OP
0
= 30cm (Distancia de los
dos centroides alineados).
La Fig.4 muestra la variaci on de las distancias de cada barra
d
i
, para la trayectoria designada.
Figura 4. Variaci on de distancias de las 6 barras de la plataforma.
III. CINEM ATICA DIFERENCIAL, AN ALISIS DE
VELOCIDAD
A. Matriz Jacobiana.
Para el c alculo de la matriz jacobiana de la plataforma
Stewart, primero hay que considerar que hay 6 articulaciones
3
de tornillo para cada miembro de la plataforma, estas articu-
laciones de tornillo son expresadas como se muestra seguido.
$
1,i
=
_
s
1,i
(b
i
d
i
) s
1,i
_
,
$
2,i
=
_
s
2,i
(b
i
d
i
) s
2,i
_
,
$
3,i
=
_
0
s
3,i
_
,
$
4,i
=
_
s
4,i
b
i
s
2,i
_
,
$
5,i
=
_
s
5,i
b
i
s
5,i
_
,
$
6,i
=
_
s
6,i
b
i
s
6,i
_
. (8)
Donde b
i
= PB
i
, d
i
= A
i
B
i
= d
i
s
3,i
, y s
3,i
= s
4,i
.
No es necesario hallar s
1,i
, s
2,i
, s
5,i
y s
6,i
, porque la matriz
jacobiana se simplica como se muestra seguido.
J
x
x = J
q
q,
J
x
=
_
_
(b
1
s
3,1
)
T
s
T
3,1
(b
2
s
3,2
)
T
s
T
3,2
.
.
.
.
.
.
(b
6
s
3,6
)
T
s
T
3,6
_
_
,
J
q
= I (6 6 Matriz Identidad) ,
x = [
x
,
y
,
z
, v
px
, v
py
, v
pz
]
T
,
q =
_
d
1
,
d
2
,
d
3
,
d
4
,
d
5
,
d
6
_
T
. (9)
El siguiente c odigo genera la matriz jacobiana para una
plataforma Stewart 6-6 que relaciona la velocidad en que se
mueven sus barras prism aticas con su plataforma giratoria.
function [Jx,Jq]=StewartJac(AiBi,di,Bi)
for i=1:6
s3(:,i)=AiBi(:,i)
*
1/di(1,i);
Jx(i,:)=[(cross(Bi(:,i),s3(:,i))) s3(:,i)];
end
Jq=eye(6);
B. Velocidades en la trayectoria designada
A partir de la trayectoria designada a la plataforma para el
seguimiento, se calcular an las velocidades angulares y lineales
del centroide de la plataforma m ovil tomando como variables
de entrada los perles de velocidad de cada uno de los miem-
bros de la plataforma Stewart. Los perles de velocidad para
cada miembro
_
d
1
,
d
2
,
d
3
,
d
4
,
d
5
,
d
6
_
T
, se obtienen calculando
la derivada de las diferentes distancias resultantes para cada
punto de los puntos en los cuales la plataforma m ovil cambia
de posici on. Para determinar esta derivada discreta o raz on de
cambio en las distancias de cada uno de los miembros de la
plataforma, se utiliza el m etodo sencillo de Euler.
d
i
=
d
i
(K) d
i
(K 1)
t
. (10)
Los perles de velocidad resultantes se observan en la Fig.5.
Figura 5. Velocidad de las 6 barras de la plataforma
La siguiente rutina de comandos calcula los perles de
velocidad para el desplazamiento lineal de cada uno de sus
miembros y la velocidad angular y lineal del centroide de la
plataforma m ovil.
ddi(1,:)=[zeros(1,6)];
dx(1,:)=[zeros(1,6)];
for i=1:length(alpha)
RAB=rotx(alpha(i))
*
roty(gama(i))
*
rotz(beta(i));
[AiBi,PB,di(i,:)]=PosStewartInv(P(:,i),Ai,Bi,RAB);
if i > 1
dd1=diff([di((i-1),1) di(i,1)])/0.01;
dd2=diff([di((i-1),2) di(i,2)])/0.01;
dd3=diff([di((i-1),3) di(i,3)])/0.01;
dd4=diff([di((i-1),4) di(i,4)])/0.01;
dd5=diff([di((i-1),5) di(i,5)])/0.01;
dd6=diff([di((i-1),6) di(i,6)])/0.01;
ddi(i,:)=[dd1,dd2,dd3,dd4,dd5,dd6];
[Jx,Jq]=StewartJac(AiBi,di(i,:),Bi);
dx(i,:)=(inv(Jx)
*
ddi(i,:));
end
end
Los resultados de velocidad obtenidos para x =
[
x
,
y
,
z
, v
px
, v
py
, v
pz
]
T
, se muestran en la Fig.6.
Si se desean calcular las expresiones de forma explcita, ta-
les como la matriz jacobiana J
x
, las distancias d
i
y velocidades
x para luego trabajarlas con alg un software de manipulaci on
simb olica, la siguiente rutina realiza las operaciones indicadas.
%% Cinematica Inversa y diferencial -- Simbolica
syms A1x A1y A2x A2y A3x A3y A4x A4y A5x A5y ...
A6x A6y B1x B1y B2x B2y B3x B3y B4x B4y ...
B5x B5y B6x B6y Px Py Pz Alpha Beta Gamma real;
4
Ai=[[A1x;A1y;0] [A2x;A2y;0] [A3x;A3y;0] ...
[A4x;A4y;0] [A5x;A5y;0] [A6x;A6y;0]];
Bi=[[B1x;B1y;0] [B2x;B2y;0] [B3x;B3y;0] ...
[B4x;B4y;0] [B5x;B5y;0] [B6x;B6y;0]];
P=[Px;Py;Pz];
RAB=simple(rotx(Alpha)
*
roty(Gamma)
*
rotz(Beta));
[AiBi,PB,di]=PosStewartInv(P,Ai,Bi,RAB);
[Jx,Jq]=StewartJac(AiBi,di,Bi);
Figura 6. Velocidad del centroide de la plataforma movil.
IV. CONCLUSIONES
El an alisis presentado en este artculo debe hacerse de
caracter necesario para proceder luego a calcular la din amica
de este robot paralelo. En el planteamiento de una estrategia
de control, el an alisis de torques en las barras es fundamental
para que este mecanismo siga la trayectoria designada a la
velocidad requerida. Como se observa en los resultados, las
velocidades no son constantes en ning un momento y por lo
tanto hay aceleraciones en el movimiento prism atico de cada
miembro, lo que resulta que hayan aceleraciones lineales y
angulares en el cuerpo m ovil de la plataforma Stewart.
La herramienta MATLAB resulta ser adecuada para el
an alisis de forma num erica de posici on y velocidad de esta
plataforma y los algoritmos presentados son sencillos cuando
se implementa el m etodo Screw-Based para solucionar el
problema inverso de la cinem atica diferencial hallando la
matriz jacobiana. Si se desean trabajar las expresiones de
forma simb olica para tener a la mano las ecuaciones explcitas,
MATLAB no es adecuado. Para este an alisis simb olico en
robots paralelos es aconsejable utilizar otra herramienta de
manipulaci on simb olica.
Acad emicamente el an alisis cinem atico directo en estos ro-
bots manipuladores de conguraci on paralela es un verdadero
reto. No es tan facil solucionar y desarrollar un algoritmo que
calcule la posici on y orientaci on de la plataforma m ovil con
respecto al sistema de referencia base, teniendo como variables
conocidas la longitud de la barras de desplazamiento prism ati-
co. Para este an alisis se requieren estrategias matem aticas de
un mayor nivel.
REFERENCIAS
[1] L.W. Tsai, Robot Analysis: The Mechanics Of Serial And Parallel
Manipulators, 1st ed. Jhon Wiley & Sons, 1999.
[2] M.W. Spong, S. Hutchinson, and M. Vidyasagar, Robot Modeling And
Control, 1st ed. Jhon Wiley & Sons, 2005.
[3] M. Goossens, F. Mittelbach, and A. Samarin, The L
A
T
E
X Companion.
Addison-Wesley, 1993.
[4] J.M. Selig, Introductory Robotics, 1st ed. Prentice Hall, 1991.
[5] D.A. Ramirez, Dise no de una plataforma rob otica paralela de 6 DOF
para asistente quir urgico en cirugas de reconstrucci on cr aneo facial,
UNAL Tesis. 2010.
[6] X. Huang, Q. Liao, S. Wei, X. Qiang y S. Huang, Forward Kinematics
of the 6-6 Stewart Platform with Planar Base and Platform Using Alge-
braic Elimination, International Conference on Automation and Logistics.
Jinan, China, 2007.
5