simulink robot de 2 gradosde libertad, robot de 3 grados de libertad tipo scara

13
UPGto Campus Cortazar Departamento de Robótica Control cinemática de velocidad Robot de 2gdl y robot tipo scara de 3gdl D. Guadiana-Martínez Tópicos de robótica II | Departamento de Robótica | UPGto Campus Cortazar Resumen Este archivo contiene la simulación del robot de 2gdl y del robot tipo scara de 3gdl, las simulaciones fueron realizadas en simulink. Se muestra la cinemática directa y la cinemática inversa de cada uno de los robots y el diseño de los controladores para cada uno. 1. Introducción El conocer previamente el comportamiento de algún robot manipulador es un requisito en cualquier aplicación ya que de esta manera se pueden predecir fallas que causarían la mala operación de dichos robots. 2. Objetivos Realizar la simulación del comportamiento del robot de 2gdl y del robot manipulador tipo scara aplicando un controlador cinemática de velocidad. 3. Desarrollo y análisis de resultados Como primera parte se mostrara la simulación del robot de 2gdl (figura 1). Para poder hacer la simulación del comportamiento de dicho manipulador es necesario el conocimiento de su cinemática inversa, cinemática directa y cinemática diferencial directa. Prof. Esteban Chávez Conde | Tópicos de robótica II | Ingeniería Robótica 1/1

Upload: david-guadiana-martinez

Post on 02-Apr-2015

3.706 views

Category:

Documents


1 download

DESCRIPTION

Documento que muestra la forma de realizar la simulacion del comportamiento d eun robot de dos grados de libertad y de uno de 3 grados de libertad.

TRANSCRIPT

Page 1: Simulink Robot de 2 GradosDe Libertad, Robot De 3 Grados De Libertad Tipo Scara

UPGto Campus Cortazar Departamento de Robótica

Control cinemática de velocidad Robot de 2gdl y robot tipo scara de 3gdl

D. Guadiana-MartínezTópicos de robótica II | Departamento de Robótica | UPGto Campus Cortazar

Resumen

Este archivo contiene la simulación del robot de 2gdl y del robot tipo scara de 3gdl, las simulaciones fueron realizadas en simulink. Se muestra la cinemática directa y la cinemática inversa de cada uno de los robots y el diseño de los controladores para cada uno.

1. Introducción El conocer previamente el comportamiento de algún robot manipulador es un requisito en cualquier aplicación ya que de esta manera se pueden predecir fallas que causarían la mala operación de dichos robots.

2. ObjetivosRealizar la simulación del comportamiento del robot de 2gdl y del robot manipulador tipo scara aplicando un controlador cinemática de velocidad.

3. Desarrollo y análisis de resultados

Como primera parte se mostrara la simulación del robot de 2gdl (figura 1). Para poder hacer la simulación del comportamiento de dicho manipulador es necesario el conocimiento de su cinemática inversa, cinemática directa y cinemática diferencial directa.

Figura 1: robot de 2 GDL

Prof. Esteban Chávez Conde | Tópicos de robótica II | Ingeniería Robótica1/1

Page 2: Simulink Robot de 2 GradosDe Libertad, Robot De 3 Grados De Libertad Tipo Scara

UPGto Campus Cortazar Departamento de Robótica

La cinemática directa se obtiene a partir de la posición del efector final conociendo la posición angular de las articulaciones. Por consecuencia las ecuaciones quedan de la siguiente manera:

x=L1 cos (θ1 )+L2 cos (θ1+θ2)…………………………………………………………………………(1)y=L1 sin (θ1 )+L2 sin (θ1+θ2 )………………………………………………………………………….(2)

Donde L subíndice 1 y L subíndice 2 son las longitudes de los eslabones 1 y 2 respectivamente.

Teniendo ya la cinemática directa es un requisito conocer la cinemática inversa pues es necesaria para la simulación, la cinemática inversa refiere al valor de las posiciones articulares de los eslabones conociendo las posiciones en el plano del efector final.

Se obtienen las siguientes ecuaciones:

θ1=tan−1( yx )−tan−1( L2∗sin(θ2)

L1+L2∗cos(θ2))………………………………………………………………….(3)

θ2=tan−1(±√1−D2

D )……………………………………………………………………………………...(4)

D=x2+ y2−L1

2−L22

2∗L1∗L2

La cinemática diferencial directa es importante ya que de esta se obtiene el “jacobiano” matriz indispensable para el diseño y aplicación del controlador. La cinemática diferencial directa se obtiene a partir de derivar las ecuaciones 1 y 2:

x=−L1 θ1sin (θ1 )−L2(θ1+θ2)sin (θ1+θ2)…………………………………………………………(5)y=L1 θ1 cos (θ1 )+L2(θ1+θ2)cos (θ1+θ2)…………………………………………………………..(6)

Donde se puede expresar matricialmente:

X= j θ……………………………………………………………………………………………………(7)

Donde:

X=[ xy ]j=[−L1∗sen (θ1 )−L2∗sen (θ1+θ2) −L2∗sen(θ1+θ2)

L1∗cos (θ1 )+L2∗cos(θ1+θ2) L2∗cos(θ1+θ2) ]θ=[ θ1

θ2]

Prof. Esteban Chávez Conde | Tópicos de robótica II | Ingeniería Robótica2/1

Page 3: Simulink Robot de 2 GradosDe Libertad, Robot De 3 Grados De Libertad Tipo Scara

UPGto Campus Cortazar Departamento de Robótica

Conociendo lo anterior podemos proponer nuestro controlador que quedaría de la siguiente manera:

u= j−1 { Xd−K (X−X d)}……………………………………………………………………………….(8)

Donde:

X d: Vector de las trayectorias deseadasen su primeraderivada , K :Vector de ganancias , X :Vector dede posiciones x , y reales, Xd :Vector de posiciones x , y deseadas

θ=u………………………………………………………………………………………………………(9)

Para conocer el valor de las ganancias sustituimos 9 en 7 para obtener dinámica en lazo cerrado:

X=Xd−K (X−X d)X−Xd+K ( X−Xd )=0

Se procede a la obtención de la dinámica del error:

e+Ke=0s+K=0………………………………………………………………………………………………..(10)

En la ecuación 10 podemos ver claramente que para evitar la inestabilidad de nuestro sistema hay que proponer ganancias mayores a 0, dicho de otra manera el vector de ganancias K debe de ser mayor a 0.

Para la realización de la simulación del robot de 2 grados de libertad se tomaron en cuenta los siguientes parámetros:

L1=0.2 mL2=0.15 mδ x=δ y=0.2mR=0.04 mw=2xd=δ x+Rcos (wt )yd=δ y+Rsin(wt )

El diagrama de bloques para la simulación es presentado en la figura 2. La figura 3 muestra el comportamiento de X y Y respecto al tiempo.

La figura 4 muestra la comparación de la trayectoria real contra la trayectoria deseada.

Prof. Esteban Chávez Conde | Tópicos de robótica II | Ingeniería Robótica3/1

Page 4: Simulink Robot de 2 GradosDe Libertad, Robot De 3 Grados De Libertad Tipo Scara

UPGto Campus Cortazar Departamento de Robótica

Figura 2: Diagrama de bloques simulación de manipulador de 2 GDL.

Figura 3: Comportamiento de x y Y respecto al tiempo.

Prof. Esteban Chávez Conde | Tópicos de robótica II | Ingeniería Robótica4/1

Page 5: Simulink Robot de 2 GradosDe Libertad, Robot De 3 Grados De Libertad Tipo Scara

UPGto Campus Cortazar Departamento de Robótica

Figura 4: Comparación entre trayectoria real y trayectoria deseada.

Las funciones que se usaron en los bloques de matlab function son las siguientes:

Controlador.--------------------------------------------------------------------------------------------------------------------------------function con2gdl=c2gdl(w)L1=0.2;L2=0.15;K=[30 30];tet1=w(1);tet2=w(2);xd=w(3);yd=w(4);dxd=w(5);dyd=w(6);x=w(7);y=w(8);%JACOBIANO%-------------------------------------------------------------------------%-------------------------------------------------------------------------j=[-L1*sin(tet1)-L2*sin(tet1+tet2) -L2*sin(tet1+tet2);... L1*cos(tet1)+L2*cos(tet1+tet2) L2*cos(tet1+tet2)];%-------------------------------------------------------------------------%-------------------------------------------------------------------------xdp=[dxd;dyd];xdm=[xd;yd];xrm=[x;y];u=inv(j)*(xdp-K*(xrm-xdm));con2gdl=u;

--------------------------------------------------------------------------------------------------------------------------------

Prof. Esteban Chávez Conde | Tópicos de robótica II | Ingeniería Robótica5/1

Page 6: Simulink Robot de 2 GradosDe Libertad, Robot De 3 Grados De Libertad Tipo Scara

UPGto Campus Cortazar Departamento de Robótica

Cinemática diferencial directa.--------------------------------------------------------------------------------------------------------------------------------function cinedd=cidd2gdl(w)L1=0.2;L2=0.15;tet1=w(1);tet2=w(2);dtet1=w(3);dtet2=w(4);%JACOBIANO%-------------------------------------------------------------------------%-------------------------------------------------------------------------j=[-L1*sin(tet1)-L2*sin(tet1+tet2) -L2*sin(tet1+tet2);... L1*cos(tet1)+L2*cos(tet1+tet2) L2*cos(tet1+tet2)];%-------------------------------------------------------------------------%-------------------------------------------------------------------------X=j*[dtet1;dtet2];cinedd=X;

--------------------------------------------------------------------------------------------------------------------------------

Cinemática inversa.--------------------------------------------------------------------------------------------------------------------------------function sci=ci2gdl(w)L1=0.2;L2=0.15; xd=w(1);yd=w(2); D=(xd^2+yd^2-L1^2-L2^2)/(2*L1*L2);tet2=atan2(sqrt(1-(D^2)),D);tet1=atan2(yd,xd)-atan2(L2*sin(tet2),L1+L2*cos(tet2)); sci=[tet1;tet2];

--------------------------------------------------------------------------------------------------------------------------------

La siguiente simulación es para el robot scara de 3 GDL (figura 5). Para realizar esta simulación se sigue la misma metodología que el robot de 2 GDL.

Prof. Esteban Chávez Conde | Tópicos de robótica II | Ingeniería Robótica6/1

Page 7: Simulink Robot de 2 GradosDe Libertad, Robot De 3 Grados De Libertad Tipo Scara

UPGto Campus Cortazar Departamento de Robótica

Figura 5: Robot Tipo scara de 3 grados de libertad.

Cinemática directa:

x=L1 cos (θ1 )+L2 cos (θ1+θ2)………………………………………………………………………..(11)y=L1 sin (θ1 )+L2 sin (θ1+θ2 )………………………………………………………………………...(12)z=d3…………………………………………………………………………………………………….(13)

Cinemática inversa:

θ1=tan−1( yx )−tan−1( L2∗sin(θ2)

L1+L2∗cos(θ2))………………………………………………………………...(14)

θ2=tan−1(±√1−D2

D )…………………………………………………………………………………….(15)

D=x2+ y2−L1

2−L22

2∗L1∗L2

Cinemática diferencial directa:

x=−L1 θ1sin (θ1 )−L2(θ1+θ2)sin (θ1+θ2)……………………………………………………….(16)y=L1 θ1 cos (θ1 )+L2(θ1+θ2)cos (θ1+θ2)…………………………………………………………(17)z=d3……………………………………………………………………………………………………(18)

[ xyz ]=[−L1sin (θ1 )−L2sin (θ1+θ2) −L2 sin (θ1+θ2) 0

L1 cos (θ1)+L2cos (θ1+θ2) L2cos (θ1+θ2) 0

0 0 1][ θ1

θ2

d3]

Prof. Esteban Chávez Conde | Tópicos de robótica II | Ingeniería Robótica7/1

Page 8: Simulink Robot de 2 GradosDe Libertad, Robot De 3 Grados De Libertad Tipo Scara

UPGto Campus Cortazar Departamento de Robótica

El diseño del controlador es absolutamente el mismo que para el robot de 2GDL. Los parámetros utilizados para esta simulación fueron los siguientes:

L1=0.2 mL2=0.15 mδ x=δ y=0.2mδ z=−0.1mR=0.04 mw=2xd=δ x+Rcos (wt )yd=δ y+Rsin(wt )zd=δ z−w t

En la figura 6 vemos el diagrama de bloques usado para esta simulación, la figura 7 muestra el comportamiento de x,y y z respecto del tiempo y en la figura 8 comparamos la trayectoria real vs la trayectoria deseada.

Figura 6: Diagrama de bloques para la simulación del robot scara de 3 GDL.

Prof. Esteban Chávez Conde | Tópicos de robótica II | Ingeniería Robótica8/1

Page 9: Simulink Robot de 2 GradosDe Libertad, Robot De 3 Grados De Libertad Tipo Scara

UPGto Campus Cortazar Departamento de Robótica

Figura 7: Comportamiento de x,y,z respecto del tiempo.

Figura 8: Trayectoria real contra trayectoria deseada.

Prof. Esteban Chávez Conde | Tópicos de robótica II | Ingeniería Robótica9/1

Page 10: Simulink Robot de 2 GradosDe Libertad, Robot De 3 Grados De Libertad Tipo Scara

UPGto Campus Cortazar Departamento de Robótica

Las funciones que se usaron en los bloques de matlab function para esta simulación son los siguientes:

Controlador.--------------------------------------------------------------------------------------------------------------------------------function consca=cscara(w)L1=0.2;L2=0.15;K=[8 8 8];tet1=w(1);tet2=w(2);xd=w(3);yd=w(4);dxd=w(5);dyd=w(6);x=w(7);y=w(8);zd=w(9);dzd=w(10);z=w(11);%JACOBIANO%-------------------------------------------------------------------------%-------------------------------------------------------------------------j=[-L1*sin(tet1)-L2*sin(tet1+tet2) -L2*sin(tet1+tet2) 0;... L1*cos(tet1)+L2*cos(tet1+tet2) L2*cos(tet1+tet2) 0; 0 0 1];%-------------------------------------------------------------------------%-------------------------------------------------------------------------xdp=[dxd;dyd;dzd];xdm=[xd;yd;zd];xrm=[x;y;z];u=inv(j)*(xdp-K*(xrm-xdm));consca=u;

--------------------------------------------------------------------------------------------------------------------------------

Cinemática diferencial directa.--------------------------------------------------------------------------------------------------------------------------------function cineddscara=ciddscara(w)L1=0.2;L2=0.15;tet1=w(1);tet2=w(2);dtet1=w(3);dtet2=w(4);dd3=w(5);%JACOBIANO%-------------------------------------------------------------------------%-------------------------------------------------------------------------j=[-L1*sin(tet1)-L2*sin(tet1+tet2) -L2*sin(tet1+tet2) 0;... L1*cos(tet1)+L2*cos(tet1+tet2) L2*cos(tet1+tet2) 0; 0 0 1];%-------------------------------------------------------------------------%-------------------------------------------------------------------------X=j*[dtet1;dtet2;dd3];cineddscara=X;

--------------------------------------------------------------------------------------------------------------------------------

Prof. Esteban Chávez Conde | Tópicos de robótica II | Ingeniería Robótica10/1

Page 11: Simulink Robot de 2 GradosDe Libertad, Robot De 3 Grados De Libertad Tipo Scara

UPGto Campus Cortazar Departamento de Robótica

Cinemática inversa.--------------------------------------------------------------------------------------------------------------------------------function cisca=ciscara(w)L1=0.2;L2=0.15; xd=w(1);yd=w(2); D=(xd^2+yd^2-L1^2-L2^2)/(2*L1*L2);tet2=atan2(sqrt(1-(D^2)),D);tet1=atan2(yd,xd)-atan2(L2*sin(tet2),L1+L2*cos(tet2)); cisca=[tet1;tet2];

--------------------------------------------------------------------------------------------------------------------------------

5. Conclusiones generales

En conclusión podemos decir que el control cinemático de velocidad es una buena opción para controlar manipuladores aunque no la mejor ya que como se pudo ver tiene ciertas fallas por milímetros, pero en realidad no es algo muy significativo.

Prof. Esteban Chávez Conde | Tópicos de robótica II | Ingeniería Robótica11/1