Sei sulla pagina 1di 20

Maestra en Ciencias de la Ingeniera Elctrica

Especialidad: Mecatrnica y Control Materia: Control Inteligente Catedrtico: Dr. Miguel ngel Llama Leal Tarea #3 Control Clsico y Difuso para el robot CICESE Alumno: Ing. Eduardo Cruz Quintero Nmero de control: M07130063

Torren, Coahuila a 5 de octubre de 2012.

NDICE
INTRODUCCIN ..................................................... Error! Marcador no definido. DESARROLLO ......................................................... Error! Marcador no definido. Control Clsico para robot CICESE ...................... Error! Marcador no definido. Control Difuso para Robot CICESE ...................... Error! Marcador no definido. CONCLUSIONES..................................................... Error! Marcador no definido. BIBLIOGRAFA ........................................................ Error! Marcador no definido.

NDICE
Figura 1.1.- Robot CICESE. ........................................................................................................... 4 Figura 1.2.- Seal de entrada. ..................................................................................................... 6 Figura 1.3.- Controlador clsico para el robot CICESE................................................................. 9 Figura 1.4.- Posiciones actuales y posiciones deseadas de las articulaciones. ......................... 10 Figura 1.5.- Pares de las articulaciones del robot CICESE. ........................................................ 11 Figura 1.6.- Errores de posicin del robot CICESE. .................................................................... 12 Figura 1.7.- Controlador difuso (Sugeno) para el eslabn 1. .................................................... 13 Figura 1.8.- Funcin de membresa para el error de posicin 1. .............................................. 13 Figura 1.9.-Funciones de salida para las ganancias y del eslabn 1. .............................. 14

Figura 1.10.- Controlador difuso (Sugeno) para eslabn 2. ...................................................... 14 Figura 1.11.- Funcin de membresa para el error de posicin 2. ............................................ 15 Figura1.12.-Funciones de salida para las ganancias y del eslabn 2. ............................. 15

Figura 1.13.- Cambio del control clsico al control difuso. ....................................................... 16 Figura 1.14.- Controlador difuso (Sugeno) para robot CICESE. ................................................. 17 Figura 1.15.- Posiciones actuales y posiciones deseadas de las articulaciones. ....................... 18 Figura 1.16.- Pares de las articulaciones del robot CICESE. ...................................................... 18 Figura 1.17.- Errores de posicin del robot CICESE. .................................................................. 19

INTRODUCCIN
Este trabajo tiene como objetivo realizar la simulacin del comportamiento que tiene el robot CICESE de dos grados de libertad, que se encuentra en el laboratorio de mecatrnica y control, para seguimiento de una trayectoria descrita por una funcin. Analizaremos las posiciones, pares y errores de cada eslabn respecto a la funcin de entrada, tanto para un control clsico como para un control difuso, esperando que lo obtenido sea similar. Una vez que tengamos los resultados, observaremos lo ms conveniente para nuestro control de seguimiento, evaluando ambos resultados (control PD clsico y control difuso) determinaremos qu comportamiento nos ayuda ms para nuestro sistema. Todos los anlisis y desarrollos son basados en el artculo "Stable Computed-torque Control of Robot Manipulators via Fuzzy Self-Tuning, Miguel A. Llama, Rafael Kelly, and Victor Santibaez, IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICSPART B: CYBERNETICS, VOL. 30, NO. 1, FEBRUARY 2000."

DESARROLLO
Control Clsico para robot CICESE
El robot CICESE tiene dos grados de libertad y una representacin grfica como se indica en la siguiente figura:

Figura 1.1.- Robot CICESE.

La siguiente ecuacin define el modelo dinmico de cualquier robot de dos grados de libertad en serie:

Ahora bien, pasando al espacio de estados tenemos las siguientes matrices:

En el primer trmino, tenemos la matriz de inercias que se encuentra multiplicada por las aceleraciones que tienen las articulaciones; en el segundo trmino, tenemos la matriz de Coriolis o de fuerzas centrfugas multiplicada por las velocidades de las dos articulaciones del robot CICESE; por ltimo, tenemos una

compensacin de gravedad que nos sirve para, valiendo la redundancia, compensar la gravedad aadida en el modelo matemtico de la planta. La planta de nuestro robot CICESE nos fue proporcionada por nuestro catedrtico, en la cual se maneja el modelo de friccin viscosa y la friccin de coulomb, por lo que nuestro modelo obtiene la siguiente forma:

donde

Los elementos de las matrices son calculados con las siguientes ecuaciones:

Ahora despejaremos la variable de mayor orden para poder representar al sistema en variables de estado:

La ecuacin anterior es la salida de nuestra planta, es decir, la aceleracin de las articulaciones del robot CICESE. Las aceleraciones, utilizando integradores, podemos transformarlas a velocidades y posiciones. La funcin de entrada se encuentra definido en el artculo en el cual hicimos referencia en la introduccin, y dicha funcin es la siguiente:

El seguimiento que se trata de hacer es el descrito en la siguiente figura, la cual muestra en el tiempo como se comporta la funcin:

Figura 1.2.- Seal de entrada.

El color amarillo hace referencia a la trayectoria que debe de seguir el eslabn uno, donde el color morado se refiere a la trayectoria para el eslabn 2. Para el control clsico, tenemos que el error de posicin es obtenido de la diferencia entre posicin real de los eslabones y la posicin deseada de las articulaciones. Este error, va a ser multiplicado por las ganancias proporcionales de cada eslabn, las cuales son y . Posteriormente, las dos

ganancias las agrupamos en un vector de dos elementos. Otro de los errores que tenemos son los de velocidad, los cuales de igual manera que los errores de posicin sern multiplicados por su ganancia respectiva.

Este error es obtenido de la diferencia entre la velocidad deseada y la velocidad deseada de las articulaciones, siendo definidas en el artculo como y

. Luego agrupamos estos dos elementos en un vector, siendo el primer elemento el del eslabn uno y el segundo elemento para el eslabn dos. Las velocidades y aceleraciones deseadas son obtenidas derivando nuestra entrada deseada, o posicin deseada. Una vez que tenemos los errores de posicin y velocidad multiplicados por sus ganancias, y el vector de aceleracin de los eslabones, ahora sumamos estos tres componentes, los cuales nos servirn para obtener la matriz de inercias. Despus, para determinar la matriz de coriolis o de fuerzas centrfugas, es necesario realimentar las posiciones y las velocidades actuales de las articulaciones. Ahora bien, estamos buscando obtener los pares que requiere cada eslabn para poder trabajar la planta del robot CICESE; para ello, es necesario tener la compensacin de gravedad y las compensaciones de friccin, las cuales sumaremos con la matriz de inercia, la matriz de coriolis y la compensacin de gravedad. La planta del robot CICESE es mostrada a continuacin:
function acc=CICESE(x)

%Programa para modelar un robot de 2 grados de libertad % ----ASIGNACIN DE VARIABLES---%x(2)=posicin angular de la articulacin 1, radianes. %x(1)=velocidad angular de la articulacin 1, radianes/segundo. %x(5)=posicion angular de la articulacin 2, radianes. %x(6)=velocidad angular de la articulacin 2, radianes/segundo. %x(3)=Par motor 1. %x(4)=Par motor 2. q=[x(2); x(5)]; qpto=[x(1); x(6)]; tao= [x(3); x(4)]; % qdpp=[x(7); x(9)]; % qdp=[x(8); x(10)]; % Valores de los parmetros del Robot: gr= 9.81; % Gravedad (m/seg2) %m1= 23.902; % masa eslabn 1 (Kg). %m2= 3.880; % masa eslabn 2 (Kg). %l1= 0.45; % longitud eslabn 1 (mts). %l2= 0.45; % longitud eslabn 1 (mts). %lc1=0.091; % Centro de masa eslabn 1(mts). %lc2=0.048; % Centro de masa eslabn 2(mts). %I1= 1.266; % Inercia eslabn 1 Kg-m2 %I2= 0.093; % Inercia eslabn 2 Kg-m2 b1= 2.288; % Coeficiente de friccin viscosa eslabn 1 (Nm-seg). b2= 0.175; % Coeficiente de friccin viscosa eslabn 2 (Nm-seg). %Calcular las Matrices y Vectores M, C, g y f. M=[2.351+0.168*cos(q(2)) 0.102+0.084*cos(q(2)); 0.102+0.084*cos(q(2)) 0.102]; C=[-0.168*sin(q(2))*qpto(2) -0.084*sin(q(2))*qpto(2); 0.084*sin(q(2))*qpto(1) 0]; g=[gr*(3.921*sin(q(1)) + 0.186*sin(q(1)+q(2))); 0.186*gr*sin(q(1)+q(2))]; %Coeficiente de friccin de Coulomb eslabn 1 (Nm). if qpto(1)<0.0 fc1= -8.049; else if qpto(1)>0.0 fc1=7.17; else fc1= 0.0; end end % Coeficiente de friccin de Coulomb eslabn 2(Nm). if qpto(2)<0.0 fc2= -1.734; % Coeficiente de friccin de Coulomb eslabn 2(Nm). else if qpto(2)>0.0 fc2=1.734; else fc2= 0.0; end end % Friccin de Coulomb fc=[fc1; fc2];

% Friccin Viscosa fv=[b1*qpto(1); b2*qpto(2)]; % CLCULO DE LAS DERIVADAS tcgf=tao-C*qpto-g-fv-fc; qpp=M\tcgf; % Salida acc=qpp;

El cdigo anterior, que es el que se encuentra en MATLAB, tiene los clculos de las funciones para la matriz de coriolis, la matriz de inercias, la compensacin de gravedad, la compensacin de friccin viscosa y la compensacin de friccin de coulomb.

Figura 1.3.- Controlador clsico para el robot CICESE.

En la figura 1.3, se puede apreciar el diagrama del control clsico PD con las derivaciones, integraciones, compensaciones y ganancias que se explicaron en prrafos anteriores. Los resultados obtenidos fueron los siguientes:

Figura 1.4.- Posiciones actuales y posiciones deseadas de las articulaciones.

En la figura anterior se puede apreciar que la posicin a seguir del eslabn 1 est definida por el color azul, mientras que la posicin actual est definida por el color amarillo. Con lo anterior, la posicin a seguir del eslabn 1 es alcanzada en 0.8 segundos. De la misma forma, la posicin del eslabn 2 a seguir esta en color rojo, mientras que la posicin actual del eslabn 2 est definida por el color rosa magenta, la cual es alcanzada en un segundo. En la siguiente figura, analizaremos los pares que se obtienen para alcanzar la posicin deseada, teniendo en cuenta el artculo antes mencionado donde los pares no deben de pasar de para el eslabn 1 y de .

Figura 1.5.- Pares de las articulaciones del robot CICESE.

En la figura anterior, el color amarillo corresponde al par aplicado en el eslabn 1, mientras que el color rosa magenta corresponde al par aplicado en el eslabn 2. En ambos pares se puede apreciar que no sobrepasan del valor mximo que se nos especifica en el artculo. En la siguiente figura (figura 1.5), se puede analizar el error de posicin que cada eslabn tiene mientras transcurre el tiempo. El color amarillo grafica el error de posicin que tiene el eslabn 1, el cual se hace cero en 1.3 segundos y se mantiene oscilando entre 0 y 1.5. El color rosa magenta muestra el error de posicin para el eslabn 2, el cual alcanza un cero en 1.4 segundos, oscilando entre 8 y -8. Esto hace que el error permanezca, pero en cuanto al seguimiento de la funcin el robot CICESE se comporta bien en trminos generales.

Figura 1.6.- Errores de posicin del robot CICESE.

Control Difuso para Robot CICESE


Para este control, utilizaremos la misma planta del robot, as como las mismas compensaciones de gravedad y compensaciones de friccin y las matrices de coriolis o fuerzas centrfugas y de inercias. Los pares siguen teniendo la misma restriccin, solo que ahora tendremos que crear las funciones de membresa para la entrada y salida de los controladores difusos. Para este controlador difuso, usaremos la lgica difusa para que nos arroje las ganancias de posicin y de velocidad y as poder hacer las sumatorias necesarias para generar el par. Prcticamente, es el mismo diagrama que se muestra en la figura 1.3, solo que haremos algunos cambios para eliminar el controlador clsico PD y colocar nuestro controlador difuso. Para ello, empezaremos por definir nuestras funciones de membresas y reglas para nuestro eslabn 1.

Segn el artculo proporcionado y utilizando MATLAB, tenemos lo siguiente para el eslabn 1:

Figura 1.7.- Controlador difuso (Sugeno) para el eslabn 1.

En la figura anterior, se puede apreciar que como entrada tenemos el error de posicin y como salidas las ganancias y a las salidas "Ganancia " y "Ganancia y . A la entrada la nombramos "epos" ", en ese orden respectivo.

Las funciones de membresa para el error de posicin 1 son las siguientes:

Figura 1.8.- Funcin de membresa para el error de posicin 1.

Segn el artculo, las funciones de membresa deberan de ser trapezoidales, pero dado que los resultados no se aproximaban a la respuesta que buscbamos, modificamos a funciones triangulares. Tambin se buscaba cambiar las funciones a gaussianas y obtener resultados diferentes, pero se obtuvieron los mejores resultados con las triangulares. Las salidas se definieron como constantes, por lo que para las salidas de tienen las siguientes constantes: y

Figura1.9.-Funciones de salida para las ganancias

del eslabn 1.

Ahora, definiremos las funciones de membresa para las entradas y salidas del eslabn 2. Para la entrada del error de posicin es la siguiente:

Figura 1.10.- Controlador difuso (Sugeno) para eslabn 2.

En la figura anterior, se puede apreciar que como entrada tenemos el error de posicin y como salidas las ganancias y a las salidas "Ganancia " y "Ganancia y . A la entrada la nombramos "epos" ", en ese orden respectivo.

Las funciones de membresa para el error de posicin 2 son las siguientes:

Figura 1.11.- Funcin de membresa para el error de posicin 2.

Las salidas se definieron como constantes, por lo que para las salidas de tienen las siguientes constantes:

Figura1.12.-Funciones de salida para las ganancias

del eslabn 2.

En la siguiente imagen, vamos a hacer un acercamiento a la figura 1.3, en la cual tenemos el controlador clsico. La parte seleccionada ser la que modificaremos para obtener el diagrama del controlador difuso sugeno.

Figura 1.13.- Cambio del control clsico al control difuso.

Los cambios que haremos son los siguientes; primero, tendremos dos bloques de control difuso a los cuales entrara el error de posicin de cada eslabn, pero como la lgica difusa maneja grados habr que transformar los errores de posicin que se tienen en radianes a grados. Como tambin el error puede ser negativo, habr que poner un bloque para que sea absoluto en cada error. A la salida de cada bloque de lgica difusa tendremos las ganancias y , de manera respectiva

para cada eslabn. Teniendo esas salidas, multiplicaremos las ganancias obtenidas y por el error de posicin y por el error de velocidad, ms ms la

respectivamente. Posteriormente, en un vector sumaremos

aceleracin deseada de cada eslabn, es decir, tendremos dos escalares como resultado de la suma de cada eslabn. Una vez obtenidos esos dos escalares, los acomodaremos en un vector, el cual entrar a la matriz de inercias, y as poder continuar con el diagrama para obtener los pares que cada eslabn o articulacin necesita. En la siguiente figura, se muestra el diagrama a bloques del control difuso del tipo sugeno con las modificaciones ya mencionadas en el prrafo anterior.

Figura 1.14.- Controlador difuso (Sugeno) para robot CICESE.

En la figura siguiente, podremos apreciar el tiempo en el que ambas posiciones son alcanzadas y, de la misma forma que el controlador clsico, tenemos que el eslabn 1 est definida por el color azul, mientras que la posicin actual est definida por el color amarillo. Con lo anterior, la posicin a seguir del eslabn 1 es alcanzada en 2.8 segundos, 2 segundos ms que el controlador clsico. Ahora la posicin del eslabn 2 a seguir esta en color rojo, mientras que la posicin actual del eslabn 2 est definida por el color rosa magenta, cuya posicin es alcanzada en 2 segundos.

Figura 1.15.- Posiciones actuales y posiciones deseadas de las articulaciones.

A continuacin, mostraremos los pares alcanzados por los eslabones teniendo en cuenta el artculo antes mencionado donde los pares no deben de pasar de para el eslabn 1 y de .

Figura 1.16.- Pares de las articulaciones del robot CICESE.

En la figura anterior, podemos observar que nunca se rebasan los pares en las articulaciones. El color amarillo es el par alcanzado por el eslabn 1 y el color rosa magenta es para el eslabn 2. No se sobrepasa en ninguno de los dos eslabones. La siguiente figura, es para mostrar los errores de posicin en grados de los dos eslabones.

Figura 1.17.- Errores de posicin del robot CICESE.

Se puede analizar el error de posicin que cada eslabn tiene mientras transcurre el tiempo. El color amarillo grafica el error de posicin que tiene el eslabn 1, el cual se hace cero en 2.9 segundos y se mantiene oscilando entre 1 y -1. El color rosa magenta muestra el error de posicin para el eslabn 2, el cual alcanza un cero en 2 segundos, sin oscilar despus de esos dos segundos. La grafica del comportamiento para el seguimiento por medio del control difuso se tarda ms en alcanzar a realizar el movimiento deseado, pero el error, a comparacin con el control clsico, disminuye casi a cero en los dos eslabones.

CONCLUSIONES
Con este trabajo pudimos comparar un nuevo sistema entre el control clsico y el control difuso, solo que esta vez fue para el robot CICESE de dos grados de libertad. Los resultados obtenidos fueron los esperados para el control clsico, no as para el control difuso debido a que no se logro que el seguimiento lo alcanzara en menos tiempo que el clsico o al menos en un tiempo similar. Se cambiaron las funciones de membresa y los valores de las ganancias para obtener un resultado mejor, pero no se logro. El mejor resultado obtenido fue el que se muestra en este documento. El control clsico sigue siendo uno de los controladores ms poderosos para obtener la respuesta del sistema. Esto no quiere decir que el control difuso no sea el mejor para este sistema u otros, simplemente no se obtuvieron mejores resultados que el clsico. Con ms tiempo, probablemente se hubiera logrado un mejor comportamiento con el control difuso.

BIBLIOGRAFA
Stable Computed-torque Control of Robot Manipulators via Fuzzy SelfTuning, Miguel A. Llama, Rafael Kelly, and Victor Santibaez, IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICSPART B: CYBERNETICS, VOL. 30, NO. 1, FEBRUARY 2000. Apuntes de la clase de "Control Inteligente" Libreras de MATLAB.

Potrebbero piacerti anche