Tarea No.

2: Controlador cinematico del robot manipulador planar de 2GDL y manipulador scara 3GDL
J. M. Ochoa Nuñez, D. Gonzalez Novoa, J.F. Salomon Rodriguez
Topicos de Robotica II j Departamento de Robótica Universidad Politécnica de Guanajuato

Resumen

El manipulador se puede controlar según nuestras necesidades se deben considerar la posición del manipulador así como la trayectoria deseada o la posición …nal según la información que podamos obtener de nuestro entorno de los elementos anteriores es como se diseña el controlador.

1.

Introducción

En esta práctica se desarrollan los sistemas que describen a un robot manipulador con dos grados de libertad sin efectos de gravedad el cual se simulo su respuesta considerando algunos factores que están en las ecuaciones características que lo representan de forma simple.

2.

Objetivo

Realizar una simulación numérica de un seguimiento de trayectoria con un tiempo de 2 segundos usando archivos m.…le y bloques de Simulink.

3.

Desarrollo y análisis de resultados

Instrucciones: Considere un modelo matemático simpli…cado dado por las ecs. (1), (2) y (3), de un robot manipulador del tipo escara de 3 GDL. Obtenga lo siguiente: (a) proponga controladores para seguimiento de trayectoria; (b) la dinámica en lazo cerrado y la dinámica del error de los controladores; (c) la ecuación característica de la dinámica del error; (d) una simulación numérica en Simulink R para analizar el desempeño del controlador, aplicado a las ecs. (1) y (2), con un tiempo de 3 s, utilizando el método numérico Runge-Kutta a un paso …jo de integración de 100ms. Considere una trayectoria con x=R*cos(wt), y=R*sin(wt) y z=w*t, con w = 5, R=15 y condiciones iniciales para teta de 200 [1].

dx = a1 cos( 1) + a2 cos( 1 + 2) dy = a1 sin( 1) + a2 sin( 1 + 2) dy = (d3) Modelo matemático de la velocidad

(1) (2) (3)

dx = J

d

donde dx representa al vector x en su primera derivada y dteta es la entrada de control. a) Controlador cinemático de la velocidad propuesto U = J^( 1) [dxd 1 k (x xd)]

donde k representa a los elementos (1,1), (2,2) y (3,3) de la matriz inverza de J. U1 U2 = J U3 b) Dinámica en lazo cerrado dx = J dx = J Dinámica del error dx = [dxd 0 = [(dx c) Ec. Característica de la dinámica del error. de + k e = 0 s+k =0 s = -k; con valores de k > 0 0 de1 + k11 e1 de2 + k22 e2 = 0 0 de3 + k33 e3 Donde el error e = x - xd. Representado en forma de vector al error en su primera derivada tenemos: k11 0 de1 k22 de2 + 0 0 0 de3 0 0 k33 0 e1 e2 = 0 0 e3 k (x xd)] xd)] dxd) + k (x J
1 1

dxd dyd dzd

k11(x k22(y k33(z d k (x

xd) yd) zd)

[dxd

xd)]

El programa se realizo por medio de bloques de simulink combinados con archivos m …le la estructura de las ecuaciones anteriores queda representada por los diferentes bloques que se observan en la Fig. [1]

2

Fig. [1] diagrama principal robot 3GDL

En el bloque que aparece de color azul en la Fig. [1] se genera la trayectoria deseada por medio de bloques Fig. [2]

Fig. [2] La representación de la trayectoria deseada En el bloque que aparece de color amarillo en la Fig. [1] es el controlador el cual hace referencia a un archivo m …le controladorfunction3 que contiene lo siguiente:

3

function salida = controladorfunction3(w) %constantes k=50; % ganacia del comtrolador %entradas al sistema a1=w(1); a2=w(2); xr=w(3); yr=w(4); zr=w(5); xd=w(6); yd=w(7); zd=w(8); dxd=w(9); dyd=w(10); dzd=w(11); teta1=w(12); teta2=w(13); d3=w(14); % elementos de la matriz Jacobiana b11=-(a1*sin(teta1)+a2*sin(teta1+teta2)); b12=-(a2*sin(teta1+teta2)); b13=0; b21=(a1*cos(teta1)+a2*cos(teta1+teta2)); b22=(a2*cos(teta1+teta2)); b23=0; b31=0; b32=0; b33=1; %matriz Jacobiana J=[b11 b12 b13; b21 b22 b23; b31 b32 b33]; %matriz de ganacias del controlador n=[(dxd-k*(xr-xd));(dyd-k*(yr-yd));(dzd-k*(zr-zd))]; %controlador dteta= Jnn; salida = dteta; En el bloque que aparece de color gris en la Fig. [1] es el controlador el cual hace referencia a un archivo m …le tr que contiene lo siguiente: function salida = tr (i) %entradas al sistema a1=i(1); a2=i(2); dteta1=i(3); dteta2=i(4); teta1=i(5); teta2=i(6); dd3=i(7); % elementos de la matriz Jacobiana b11=-(a1*sin(teta1)+a2*sin(teta1+teta2)); b12=-(a2*sin(teta1+teta2)); b13=0; b21= (a1*cos(teta1)+a2*cos(teta1+teta2)); b22= (a2*cos(teta1+teta2)); b23=0;

4

b31=0; b32=0; b33= 1; %matriz Jacobiana J=[ b11 b12 b13 ; b21 b22 b23 ; b31 b32 b33]; %dteta dteta=[dteta1;dteta2;dd3]; %cinematica directa x=J*dteta; salida = x; Con estos elementos se puede crear una trayectoria y el controlador la debe seguir en este caso es en 3d Fig. [3]

Fig. [3] trayectoria real vs trayectoria deseada.

El desplazamiento que tiene la Z real y la Z deseada así como el de Xd y la Xreal se puede observar en la Fig. [4], Fig. [5] y Fig. [6]

5

vs xd

4 :jpg

Fig. [4] Xreal vs Xdeseada.

6

vs zd

5 :jpg

Fig. [5] Zreal vs Zdeseada

7

vs Yd

6 :jpg

Fig.[6] Y real vs Y deseada

4.

Conclusiones generales

El robot manipulador sigue la trayectoria deseada la cual se podría aplicar como un roscado interno de una maquina de control numérico según las formas que se introduzca a la trayectoria deseada el controlador la seguirá iniciando desde su posición de home que es necesario incluir para simplicidad en la programación también habrá que considerar los factores externos que pueden alterar nuestro sistema los controladores se deben diseñar ‡ exibles para compensar perturbaciones. En el seguimiento de trayectoria, se observa que el comportamiento de la salida real inicialmente comienza a estabilizarse después de cierto tiempo, esto debido a las ganancias del controlador propuesto y el desempeño del mismo.

Referencias
[1] Notas de Tópicos II. Seguimiento de trayectorias Esteban Chávez Conde.

8

Sign up to vote on this title
UsefulNot useful