5
An´ alisis De Posici´ on Y Velocidad Para La Plataforma Stewart Gough 6-6. Position and velocity analisis for 6-6 Stewart Gough Platform Mauro Baquero Su´ arez MsC Automatizaci´ on Industrial Universidad Nacional De Colombia Bogot´ a, Colombia Email: [email protected] Resumen—En este art´ ıculo se analiza la cinem´ atica de la plataforma espacial Stewart Gough “S-G” 6-6 para resolver el problema inverso de posici´ on y velocidad de este robot de configuraci´ on paralela. Inicialmente se desarrollan un conjunto de ecuaciones y algoritmos en MATLAB, para calcular las posi- ciones de cada articulaci´ on de los 6 miembros de la plataforma, tomando como referencia el centro de la plataforma fija. A partir de estas ecuaciones, se calculan las diferentes distancias de los miembros del robot que satisfacen cada posici´ on y direcci´ on deseada en el seguimiento de una trayectoria designada. Tambi´ en es calculada la matriz jacobiana por el m´ etodo de tornillo (Screw- Based Jacobian) para solucionar el problema inverso de velocidad de cada miembro. Aqu´ ı se muestran los resultados obtenidos en los c´ alculos de posici´ on y velocidad de cada miembro de la plataforma en el seguimiento de una trayectoria espec´ ıfica, utilizando MATLAB como herramienta principal. Index Terms—Cinem´ atica de Robots Paralelos, Plataformas Rob´ oticas, M´ etodo de tornillos sucesivos, Plataforma Stewart Gough. Abstract—In this paper we analyze the kinematics of spatial platform Stewart Gough S-G6-6 for resolve the inverse problem of position and velocity of this parallel robot. Initially is developed a set of equations and algorithms in MATLAB to calculate the positions of each joint of the 6 members of the platform, with respect at center of the fixed platform. From these equations, we calculate the different distances of the robot members to satisfy every desired position and direction in the designated path tracking. Also is calculated the Jacobian matrix by the method of screw (Screw-Based Jacobian) for solve the inverse problem of velocity of each member. at end are shown the obtained results in the calculus of positions and velocities of each Stewart Gough platform member in a specific path tracking, using MATLAB as the main tool. Keywords—Kinematics Of Parallel Robots, Robotic Plattforms, Screw-Based Method, Stewart Gough Plattform. I. I NTRODUCCI ´ ON Entre la gran diversidad de configuraciones de robots parale- los, la plataforma Stewart Gough es una de las m´ as conocidas y estudiadas. Esta plataforma t´ ıpicamente consta de dos placas o bases (Una fija y otra m´ ovil), unidas por 6 actuadores o mecanismos de movimiento lineal (articulaci´ on prism´ atica), y en cada extremo de estas, depositan all´ ı juntas de tipo esf´ ericas y/ ´ o universales, 6 DOF-UPS (6 grados de libertad con junta universal, prism´ atica y esf´ erica). El desarrollo de estas plataformas para aplicaciones industriales tiene varias ventajas y entre ellas est´ an, el soporte de cargas mayores a su propio peso, mayor precisi´ on en posicionamiento que robots seriales, velocidades de operaci´ on superiores y manejo con mayor facilidad y menos componentes de los 6 DOF. La desventaja fundamental de esta plataforma son las complicaciones que se presentan al calcular sus configuraciones singulares, espacio de trabajo y cinem´ atica directa, temas que son de estudio en esta fecha en diferentes universidades del mundo. Los resultados y algoritmos propuestos en este trabajo pretenden dar al lector una idea de la importancia de trabajar con estos robots y mostrar detalladamente la obtenci´ on de ciertos algoritmos que calculan la posici´ on y velocidad de los miembros prism´ aticos, para que sean tomados en cuenta como punto de partida en el an´ alisis de esta plataforma en cualquier aplicaci´ on de rob´ otica. II. CINEM ´ ATICA INVERSA DE LA PLATAFORMA STEWART 6-6 A. Longitudes de la plataforma Stewart 6-6. Para calcular la cinem´ atica inversa es necesario conocer las distancias desde el centro de cada plataforma (fija, O y movil, P ), hasta cada articulaci´ on establecida en 6 puntos conc´ entricos y equidistantes en cada plataforma a i y b i . En la cinem´ atica inversa de este robot se calculan las distancias de cada barra d i a partir de la distancia OP y la matriz de rotaci´ on A R B siendo estas las variables del sistema. La Fig.1 muestra el an´ alisis geom´ etrico de la plataforma Stewart. Figura 1. Geometr´ ıa de la plataforma Stewart Gough

Stewart Plattform Article

Embed Size (px)

DESCRIPTION

Cinemática de una plataforma Stewart

Citation preview

Page 1: Stewart Plattform Article

Analisis De Posicion Y Velocidad Para LaPlataforma Stewart Gough 6-6.Position and velocity analisis for 6-6 Stewart Gough Platform

Mauro Baquero SuarezMsC Automatizacion Industrial

Universidad Nacional De ColombiaBogota, Colombia

Email: [email protected]

Resumen—En este artıculo se analiza la cinematica de laplataforma espacial Stewart Gough “S-G” 6-6 para resolverel problema inverso de posicion y velocidad de este robot deconfiguracion paralela. Inicialmente se desarrollan un conjuntode ecuaciones y algoritmos en MATLAB, para calcular las posi-ciones de cada articulacion de los 6 miembros de la plataforma,tomando como referencia el centro de la plataforma fija. A partirde estas ecuaciones, se calculan las diferentes distancias de losmiembros del robot que satisfacen cada posicion y direcciondeseada en el seguimiento de una trayectoria designada. Tambienes calculada la matriz jacobiana por el metodo de tornillo (Screw-Based Jacobian) para solucionar el problema inverso de velocidadde cada miembro. Aquı se muestran los resultados obtenidosen los calculos de posicion y velocidad de cada miembro dela plataforma en el seguimiento de una trayectoria especıfica,utilizando MATLAB como herramienta principal.

Index Terms—Cinematica de Robots Paralelos, PlataformasRoboticas, Metodo de tornillos sucesivos, Plataforma StewartGough.

Abstract—In this paper we analyze the kinematics of spatialplatform Stewart Gough “S-G” 6-6 for resolve the inverseproblem of position and velocity of this parallel robot. Initiallyis developed a set of equations and algorithms in MATLAB tocalculate the positions of each joint of the 6 members of theplatform, with respect at center of the fixed platform. Fromthese equations, we calculate the different distances of the robotmembers to satisfy every desired position and direction in thedesignated path tracking. Also is calculated the Jacobian matrixby the method of screw (Screw-Based Jacobian) for solve theinverse problem of velocity of each member. at end are shownthe obtained results in the calculus of positions and velocities ofeach Stewart Gough platform member in a specific path tracking,using MATLAB as the main tool.

Keywords—Kinematics Of Parallel Robots, Robotic Plattforms,Screw-Based Method, Stewart Gough Plattform.

I. INTRODUCCION

Entre la gran diversidad de configuraciones de robots parale-los, la plataforma Stewart Gough es una de las mas conocidas yestudiadas. Esta plataforma tıpicamente consta de dos placaso bases (Una fija y otra movil), unidas por 6 actuadores omecanismos de movimiento lineal (articulacion prismatica),y en cada extremo de estas, depositan allı juntas de tipoesfericas y/o universales, 6 DOF-UPS (6 grados de libertad conjunta universal, prismatica y esferica). El desarrollo de estasplataformas para aplicaciones industriales tiene varias ventajas

y entre ellas estan, el soporte de cargas mayores a su propiopeso, mayor precision en posicionamiento que robots seriales,velocidades de operacion superiores y manejo con mayorfacilidad y menos componentes de los 6 DOF. La desventajafundamental de esta plataforma son las complicaciones que sepresentan al calcular sus configuraciones singulares, espacio detrabajo y cinematica directa, temas que son de estudio en estafecha en diferentes universidades del mundo. Los resultados yalgoritmos propuestos en este trabajo pretenden dar al lectoruna idea de la importancia de trabajar con estos robots ymostrar detalladamente la obtencion de ciertos algoritmos quecalculan la posicion y velocidad de los miembros prismaticos,para que sean tomados en cuenta como punto de partida en elanalisis de esta plataforma en cualquier aplicacion de robotica.

II. CINEMATICA INVERSA DE LA PLATAFORMA STEWART6-6

A. Longitudes de la plataforma Stewart 6-6.

Para calcular la cinematica inversa es necesario conocerlas distancias desde el centro de cada plataforma (fija, O ymovil, P ), hasta cada articulacion establecida en 6 puntosconcentricos y equidistantes en cada plataforma ai y bi. Enla cinematica inversa de este robot se calculan las distanciasde cada barra di a partir de la distancia OP y la matriz derotacion ARB siendo estas las variables del sistema. La Fig.1muestra el analisis geometrico de la plataforma Stewart.

Figura 1. Geometrıa de la plataforma Stewart Gough

Page 2: Stewart Plattform Article

Llamemos al radio de la plataforma fija R1 y al de laplataforma movil R2. Otra distancia a considerar serıa lacorrespondiente a la mas cercana entre las articulaciones de laplataforma fija, sobre el eje x, denominada Db. y otro valor deincremento sobre Db que define la distancia mas cercana entrelas articulaciones de la plataforma movil sobre x, llamemosa esta distancia Dc. Entonces para el calculo de ai y bi enla plataforma tenemos las siguientes expresiones, en dondeai y bi, Para i = 1, 2, . . . , 6, representan las posiciones en elsistema de referencia (x, y, z) y (u, v, w) de las articulacionesde las plataformas fija y movil, asumiendo que las 6 articula-ciones de cada plataforma estan situadas a la misma distanciasobre el eje z que sus centroides O y P .

a1 =[

0 R1 0]T,

a2 =[Db

√R2

1 −D2b 0

]T, (1)

a3 =[R1 sin(2π/3) R1 cos(2π/3) 0

]T,

a4 =[

−R1 sin(ψ − 2π/3) R1 cos(ψ − 2π/3) 0]T,

a5 =[R1 sin(4π/3) R1 cos(4π/3) 0

]T,

a6 =[

−R1 sin(ψ − 4π/3) R1 cos(ψ − 4π/3) 0]T.

R1 > R2; Db > Dc; ψ = tan−1(−Db√R2

1 −D2b

).

b1 =[

−Dc

√R2

2 −D2c 0

]T,

b2 =

[ −R2 sin(ψ) +Dc√R2

2 − (−R2 sin(ψ) +Dc)2

0

], (2)

b3 =[R2 sin(2π/3− φ/2) R2 cos(2π/3− φ/2) 0

]T,

b4 =[R2 sin(2π/3 + φ) R2 cos(2π/3 + φ) 0

]T,

b5 =[R2 sin(4π/3− φ/2) R2 cos(4π/3− φ/2) 0

]T,

b6 =[R2 sin(4π/3 + φ) R2 cos(4π/3 + φ) 0

]T.

φ = 2 tan−1(Dc√

R22 −D2

c

).

Para los valores R1 = 50cm, R1 = 20cm, Db = 10cm yDc = 4cm obtenemos las longitudes de ai y bi, o posicionesde las articulaciones de la plataforma Stewart.

ai =[a1 a2 a3 a4 a5 a6

](3)

=

0 50,0000 0

10,0000 48,9898 043,3013 −25,0000 037,4264 −33,1552 0

−43,3013 −25,0000 0−47,4264 −15,8346 0

T

.

bi =[b1 b2 b3 b4 b5 b6

](4)

=

−4,0000 19,5959 08,0000 18,3303 0

18,9706 −6,3339 012,0157 −15,9882 0

−14,9706 −13,2621 0−19,8541 −2,4118 0

T

.

El siguiente codigo en MATLAB, construye las posicionesde las plataformas fija y movil.

%1. Posicion de las articulaciones en la base:R1=50;Db=10;Ai(:,1)=[0 R1 0]’;Ai(:,2)=[-Db (sqrt((R1ˆ2)-(Dbˆ2))) 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((R2ˆ2)-(4ˆ2)) 0]’;Bi(:,2)=[-8 (sqrt((R2ˆ2)-(8ˆ2))) 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 figuras Fig.2 y Fig.3 muestran las posiciones de lasarticulaciones de la plataforma fija y movil en el plano (x, y).

Figura 2. Posiciones de las articulaciones en la plataforma fija

2

Page 3: Stewart Plattform Article

Figura 3. Posiciones de las articulaciones en la plataforma movil

B. Calculo de la cinematica inversa.

En el calculo de la cinematica inversa de la plataformaStewart 6-6, se calculan las distancias AiBi, como se muestraseguido.

AiBi = p + ARBBbi − ai. (5)

La longitud de las barras es obtenida a partir del productopunto del vector AiBi con el mismo.

d2i =[p + ARB

Bbi − ai]T [p + ARB

Bbi − ai],

= pT p +[Bbi

]T [Bbi

]+ aTi ai + 2pT

[ARB

Bbi

]−2pT ai − 2

[ARB

Bbi

]T ai. (6)

La siguiente funcion calcula las distancias para cada barrade la plataforma Stewart, dependiendo de la posicion y orien-tacion en que se encuentra el centroide de la plataforma fijacon 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.

Definamos una trayectoria para nuestro robot. Para suseguimiento, tomemos como variables de entrada la rotaciony traslacion en el espacio del centroide de la plataformamovil con respecto a la plataforma fija. Llamemos α, γ yβ los angulos de rotacion con respecto a los ejes x, y y zdel centroide de la plataforma movil. La distancia p serıa laotra 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 definidos comose muestra seguido.

α = −Ang sin(ωt),

γ = Ang sin(ωt),

β = Ang sin(ωt), (7)

p =

M sin(ωt)M sin(ωt+ π/2)

OP0 + (M/2) sin(ωt)

.En donde t = 100seg (tiempo), Ang = 0,5rad (Max angulo

de rotacion), ω = 0,2rad/seg (frecuencia), M = 18cm (Maxdistancia de desplazamiento) y OP0 = 30cm (Distancia de losdos centroides alineados).

La Fig.4 muestra la variacion de las distancias de cada barradi, para la trayectoria designada.

Figura 4. Variacion de distancias de las 6 barras de la plataforma.

III. CINEMATICA DIFERENCIAL, ANALISIS DEVELOCIDAD

A. Matriz Jacobiana.

Para el calculo de la matriz jacobiana de la plataformaStewart, primero hay que considerar que hay 6 articulaciones

3

Page 4: Stewart Plattform Article

de tornillo para cada miembro de la plataforma, estas articu-laciones de tornillo son expresadas como se muestra seguido.

$1,i =

[s1,i

(bi − di) × s1,i

],

$2,i =

[s2,i

(bi − di) × s2,i

],

$3,i =

[0s3,i

],

$4,i =

[s4,i

bi × s2,i

],

$5,i =

[s5,i

bi × s5,i

],

$6,i =

[s6,i

bi × s6,i

]. (8)

Donde bi = PBi, di = AiBi = dis3,i, y s3,i = s4,i.No es necesario hallar s1,i, s2,i, s5,i y s6,i, porque la matriz

jacobiana se simplifica como se muestra seguido.

Jxx = Jqq,

Jx =

(b1 × s3,1)

TsT3,1

(b2 × s3,2)T

sT3,2...

...(b6 × s3,6)

TsT3,6

,Jq = I (6 × 6 Matriz Identidad) ,

x = [ωx, ωy, ωz, vpx, vpy, vpz]T,

q =[d1, d2, d3, d4, d5, d6

]T. (9)

El siguiente codigo genera la matriz jacobiana para unaplataforma Stewart 6-6 que relaciona la velocidad en que semueven sus barras prismaticas 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)’];

endJq=eye(6);

B. Velocidades en la trayectoria designada

A partir de la trayectoria designada a la plataforma para elseguimiento, se calcularan las velocidades angulares y linealesdel centroide de la plataforma movil tomando como variablesde entrada los perfiles de velocidad de cada uno de los miem-bros de la plataforma Stewart. Los perfiles de velocidad para

cada miembro[d1, d2, d3, d4, d5, d6

]T, se obtienen calculando

la derivada de las diferentes distancias resultantes para cadapunto de los puntos en los cuales la plataforma movil cambiade posicion. Para determinar esta derivada discreta o razon decambio en las distancias de cada uno de los miembros de laplataforma, se utiliza el metodo sencillo de Euler.

di =di(K) − di(K − 1)

∆t. (10)

Los perfiles 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 perfiles develocidad para el desplazamiento lineal de cada uno de susmiembros y la velocidad angular y lineal del centroide de laplataforma movil.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,:)’)’;

endend

Los resultados de velocidad obtenidos para x =[ωx, ωy, ωz, vpx, vpy, vpz]

T , se muestran en la Fig.6.Si se desean calcular las expresiones de forma explıcita, ta-

les como la matriz jacobiana Jx, las distancias di y velocidadesx para luego trabajarlas con algun software de manipulacionsimbolica, la siguiente rutina realiza las operaciones indicadas.%% Cinematica Inversa y diferencial -- Simbolicasyms 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

Page 5: Stewart Plattform Article

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 analisis presentado en este artıculo debe hacerse decaracter necesario para proceder luego a calcular la dinamicade este robot paralelo. En el planteamiento de una estrategiade control, el analisis de torques en las barras es fundamentalpara que este mecanismo siga la trayectoria designada a lavelocidad requerida. Como se observa en los resultados, lasvelocidades no son constantes en ningun momento y por lotanto hay aceleraciones en el movimiento prismatico de cadamiembro, lo que resulta que hayan aceleraciones lineales yangulares en el cuerpo movil de la plataforma Stewart.

La herramienta MATLAB resulta ser adecuada para elanalisis de forma numerica de posicion y velocidad de estaplataforma y los algoritmos presentados son sencillos cuandose implementa el metodo Screw-Based para solucionar elproblema inverso de la cinematica diferencial hallando lamatriz jacobiana. Si se desean trabajar las expresiones deforma simbolica para tener a la mano las ecuaciones explıcitas,MATLAB no es adecuado. Para este analisis simbolico en

robots paralelos es aconsejable utilizar otra herramienta demanipulacion simbolica.

Academicamente el analisis cinematico directo en estos ro-bots manipuladores de configuracion paralela es un verdaderoreto. No es tan facil solucionar y desarrollar un algoritmo quecalcule la posicion y orientacion de la plataforma movil conrespecto al sistema de referencia base, teniendo como variablesconocidas la longitud de la barras de desplazamiento prismati-co. Para este analisis se requieren estrategias matematicas deun mayor nivel.

REFERENCIAS

[1] L.W. Tsai, Robot Analysis: The Mechanics Of Serial And ParallelManipulators, 1st ed. Jhon Wiley & Sons, 1999.

[2] M.W. Spong, S. Hutchinson, and M. Vidyasagar, Robot Modeling AndControl, 1st ed. Jhon Wiley & Sons, 2005.

[3] M. Goossens, F. Mittelbach, and A. Samarin, The LATEX Companion.Addison-Wesley, 1993.

[4] J.M. Selig, Introductory Robotics, 1st ed. Prentice Hall, 1991.[5] D.A. Ramirez, Diseno de una plataforma robotica paralela de 6 DOF

para asistente quirurgico en cirugıas de reconstruccion craneo facial,UNAL Tesis. 2010.

[6] X. Huang, Q. Liao, S. Wei, X. Qiang y S. Huang, Forward Kinematicsof the 6-6 Stewart Platform with Planar Base and Platform Using Alge-braic Elimination, International Conference on Automation and Logistics.Jinan, China, 2007.

5