lab1

13
LAURA VIVIANA GOMEZ MONROY – 45101010 JENIFER VANESSA GONZALEZ DIAZ - 45101017 OBJETIVO Identificar, analizar y controlar la función de transferencia de u MindStorms a partir del comportamiento a 2 determinadas potencias utilizando los toolbox de Matlab. realizar el control !ue mante una referencia establecida. " Identificar y reconocer las #erramientas con !ue cuent permite controlar los dispositi%os. " & partir del toolbox I'(NT de matlab poder selecciona apropiado para caracterizar el motor de lego. 'ependiendo del estimación. " *bser%ar el comportamiento del motor antes y despu+s de la im control de potencia. INTRODUCCIÓN & partir de los modelos geom+tricos, cinem ticos y din micos es po sistema robótico y establecer el dise-o de controladores p modelos se basan en la aplicación de ciertas leyes de la f sica co caracter sticas geom+tricas o par metros del robot, para el plante !ue describen las %ariables asociadas a su comportamiento. (xisten m+todos principales para obtener el modelo de un sistema uno identificación del sistema !ue se trata de un m+todo experimental modelo de un sistema a partir de datos reales recogidos de la plan (n t+rminos generales, el proceso de identificación comprende la o entrada/salida0 el tratamiento pre%io de los datos registrados0 la del modelo0 la obtención de los par metros del modelo0 y finalment modelo. (sto se logra a)ustando par metros de un modelo dado #asta !ue su m s posible con la salida medida. & tra%+s de esta pr ctica de laboratorio se tendr una traba)ando con un ser%omotor lego lo cual es una #erramienta espe dise-o, construcción programación y modelado de di%ersos prototipos robóticos mó%iles y articulados. &dem s de ellos son #erramientas !ue est n constituidas por un dispositi%o programable, un con)unto de sensores entradas3 compatibles, !ue permiten armar estructuras robóticas, tomar procesar datos y e)ecutar ciertas tareas. IN4*5M( 65&$TI$& $*NT5*7 'I8IT&7 I'(NTI4I$&$I9N '( SIST(M&S

Upload: edward-garzon

Post on 07-Oct-2015

214 views

Category:

Documents


0 download

DESCRIPTION

Laboratorio de control

TRANSCRIPT

LAURA VIVIANA GOMEZ MONROY 45101010JENIFER VANESSA GONZALEZ DIAZ - 45101017 INFORME PRACTICA CONTROL DIGITALIDENTIFICACIN DE SISTEMASOBJETIVOIdentificar, analizar y controlar la funcin de transferencia de un motor del lego NXT MindStorms a partir del comportamiento a 2 determinadas potencias de funcionamiento, utilizando los toolbox de Matlab. Y realizar el control que mantenga estable el motor en una referencia establecida. Identificar y reconocer las herramientas con que cuenta el robot C y como permite controlar los dispositivos. A partir del toolbox IDENT de matlab poder seleccionar el modelo mas apropiado para caracterizar el motor de lego. Dependiendo del porcentaje de estimacin. Observar el comportamiento del motor antes y despus de la implementacin del control de potencia. INTRODUCCIN A partir de los modelos geomtricos, cinemticos y dinmicos es posible simular un sistema robtico y establecer el diseo de controladores para los mismos. Estos modelos se basan en la aplicacin de ciertas leyes de la fsica con la intervencin de las caractersticas geomtricas o parmetros del robot, para el planteamiento de ecuaciones que describen las variables asociadas a su comportamiento.Existen mtodos principales para obtener el modelo de un sistema uno de ellos es la identificacin del sistema que se trata de un mtodo experimental que permite obtener el modelo de un sistema a partir de datos reales recogidos de la planta bajo estudio.En trminos generales, el proceso de identificacin comprende la obtencin de datos de entrada/salida; el tratamiento previo de los datos registrados; la eleccin de la estructura del modelo; la obtencin de los parmetros del modelo; y finalmente la validacin del modelo.Esto se logra ajustando parmetros de un modelo dado hasta que su salida coincida lo ms posible con la salida medida. A travs de esta prctica de laboratorio se tendr una inmersin en la temtica, trabajando con un servomotor lego lo cual es una herramienta especialmente til para el diseo, construccin programacin y modelado de diversos prototipos robticos mviles y articulados. Adems de ellos son herramientas que estn constituidas por un dispositivo programable, un conjunto de sensores (entradas) y actuadores (salidas) compatibles, que permiten armar estructuras robticas, tomar seales de ambiente, procesar datos y ejecutar ciertas tareas.

MARCO TEORICO Ident: Sistema de Identificacin de Toolbox de MATLAB ofrece funciones, una aplicacin para la construccin de modelos matemticos de sistemas dinmicos a partir de datos de entrada-salida medidos. Te permite crear y utilizar modelos de sistemas dinmicos no fcilmente modelados a partir de primeros principios o especificaciones. Puede utilizar los datos de dominio de tiempo y dominio de la frecuencia de entrada-salida para identificar funciones de transferencia en tiempo discreto y en tiempo continuo, modelos de procesos y modelos de espacio de estado. La caja de herramientas tambin proporciona algoritmos para la estimacin de parmetros en lnea incorporado.[1]Para este laboratorio es importante reconocer que un modelo es la forma de representar el conocimiento de un sistema. Los modelos son representaciones simplificadas, son estimaciones que se acercan a la realidad mediante trminos aleatorios y se determinan como modelos de procesos estocsticos. [3]El mtodo de identificacin a gran escala cumple con una serie de pasos del proceso: Planificacin de experimentos, Realizacin de los experimentos y registro de datos, Seleccin del tipo de modelos, Eleccin de un criterio de estimacin del modelo, Estimacin de los parmetros del modelo y por ltimo la validacin del modelo. En contexto en la ingeniera y el control, el campo de identificacin de sistemas usa mtodos estadsticos para crear modelos matemticos de sistemas dinmicos a partir de valores medidos. La identificacin de sistemas abarca el diseo ptimo de los experimentos para generar eficientemente informacin til para aproximar dichos modelos.DESARROLLO Y ANLISIS DE RESULTADOSIDENTIFICACION DE SISTEMAS Para la identificacin de sistemas a partir del comportamiento de los elementos lo primero que se debe realizar la abstraccin de los datos. Para nuestro caso contamos con un motor lego con su correspondiente encoder y ladrillo de manipulacin. Se realiza un cdigo en el cual lo primero es la identificacin del actuador: que es un motor, se encuentra en la salida determinada A, con nombre A y cuenta con un encoder. Seguido a esto se realiza la inicializacin de variables y determinacin de funciones a emplear, a continuacin realizamos las tareas que son como sub-procesos que se utilizaran en el programa principal.

1. CODIGO EN ROBOT C (toma de datos del motor)

2. LECTURA EN MATLAB (archivo .txt) Y APLICACIN DE FILTROS clc clear allclose allload motor.txt;n= 2;a= motor(1:n:1300);b= motor(2:n:1300);a=a(200:300);b=b(200:300)plot(a);hold on;plot(b,'G'); %filtro pasabajos[B,A]=butter(1,0.3,'low');%filtramos seal de salidaH2=filter(B,A,b);hold on;plot(H2,'R');grid

Respuesta de todos los datos a intervalos de 25 segundos a potencia 80 y 25.

Nos interesa nicamente la variacin que se encuentra entre los intervalos de 200-300. Y por el rizado de la seal se coloca un filtro a la seal de salida que es la velocidad (b, seal verde), la entrada es la potencia del motor (a, seal azul). Intervalo de 200-300

Aplicacin del filtro para la seal de salida, la nueva seal de salida es H2.

3. IDENTIFICACION DEL MODELO DEL SISTEMA (funcin de transferencia del motor, a partir del Toolbox de matlab = IDENT) Importamos los datos del archivo modificado a=input, H2=output, estimacin del modelo del proceso, seleccionamos dos polos sin retardo.

La estimacion es de las mas adecuadas porque tiene un nivel del 92,39%.

La estimacion da como resultado: 4. VISUALIZACION DE LA FUNCION DE TRANSFERENCIA CORRESPONDIENTE AL SISTEMA = MOTOR. clear allclose allclc Kp = 1.426; Tp1 = 0.013171; Tp2 = 0.012851; s= tf('s'); N = Kp D=(1+Tp1*s)*(1+Tp2*s) gs=N/Dstep(gs)hold onGs = N/Dstep(Gs,'r')

5. DISEO DEL CONTROLADOR - el sistema con el controlador:

clear allclose allclc Kp = 1.4524 Tp1 = 7.8407 Td = 4.2368 Tz = -0.21811 s= tf('s') N = Kp *(1+Tz*s )D=(1+Tp1*s) delay = exp(-Td*s) gs=delay*N/D [NN,DD]= pade(Td,1)retardo = tf(NN,DD)step(gs)hold onGs = retardo*N/Dstep(Gs,'r')

- para determinar los comportamientos del sistema con control y sin control se realiza la visualizacin a travs de simulink.

La segunda grafica determina el error observado y despus de 2 segundos puede observarse como el error tiende a ser 0, adems de ello en la grafica de comportamiento del motor sin control se observa como tiende a esta por encima de la seal de referencia mientras que la grafica con control que es observada de color amarillo en la grafica superior el error se corrige y el sistema llega despus de un tiempo de asentamiento a ser la seal de referencia en este caso 1, al estar excitado por un step.

- Ahora se realiza el diseo del controlador por otro mtodo a travs del cual contamos con la planta y se realiza el diseo determinando que las constantes del control PI son kp=0.66095; ki=0.081956, se considero que era un sistema con 2 polos, y por ende su polinomio caracterstico era de segundo orden, por ello fue necesario realizar la sintonizacin a partir de los valores crticos. Y se desarrolla el cdigo por Robot C para realizar el control de la velocidad del motor.

#pragma config(Motor, motorA, MotorLego, tmotorNXT, openLoop, reversed, encoder)

task main(){float enco=0;float encoante=0;float deltaenco=0;float tiempo=0;float tiempoant=0;float periodo=0;long rpm=0;long cpid=0;float referencia=0;long error=0;float kp=0;float ki=0;long inteante=0;long suminte=0;long area=0;nMotorEncoder[motorA]=0;ClearTimer(T1);referencia=150;//velocidad esperada

kp=0.66095;ki=0.081956;

while(true){motor[motorA]=cpid; tiempo=time1[T1]/1000.0;//pasamos el tiempo de milisegundos a segundosenco=nMotorEncoder[motorA]/360.0;//pasamos de grados a giros del motorperiodo=tiempo-tiempoant;deltaenco=enco-encoante;rpm = (deltaenco/periodo)*60;error=referencia-rpm;area=(periodo*error);suminte=area+inteante;cpid=(error*kp)+(suminte*ki);tiempoant=tiempo;encoante=enco; inteante=suminte;nxtDisplayString(1,"pid : %f",cpid);nxtDisplayString(2,"error : %f",error);nxtDisplayString(3,"RPM : %f",rpm);wait1Msec(150);}}- comparacin con los datos proporcionados por el fabricante:los intervalos de tiempo para la toma de datos fueron 25 segundos a 80% y 25 segundos de nuestro motor tenia un comportamiento en velocidad de 113-115 RPM aproximadamente al 80%, y al 25% de potencia entre 32-35 RPM aproximadamente, son valores determinados en el momento de estabilidad del sistema. En cuanto a los datos determinados por el fabricante: [2]La lnea azul oscura determina el motor sin carga, de corriente de 9V NXT. Lo ms notable aqu es la relacin lineal entre el nivel de potencia y velocidad del motor el control de energa no tendra ningn efecto aqu. Se observa como los valores reales cuentan con un error permitido no mayor al 15% en cuanto a la grafica de comportamiento y esto puede ser dado por la alta manipulacin y por desgate de los mismos elementos de trabajo. CONCLUSIONES Una de las principales ventajas que se puedo observar es el tipo de programacin que se aplica en el Robot C, es una programacin por hilos lo que nos permite desarrollar varias tareas paralelamente, en este laboratorio fue lo que nos permiti realizar la puesta en marcha del motor a 2 potencias y al mismo tiempo realizar la toma de datos que describen en un intervalo de tiempo su reaccin. Para la identificacin del sistema se tiene una entrada que es la potencia determinada y una salida que es la velocidad del motor, es por ello que el modelo del proceso fue determinado como una funcin de transferencia y se observo como el porcentaje de estimacin puede variar dependiendo de la seleccin de parmetros que se establezcan ya sea que el sistema cuente con determinado numero de polos o ceros, y en funcin a dicho valor de estimacin se realiza la seleccin del modelo mas apropiado para la identificacin. Se escoge como solucin el diseo de un control PI ya que al ser el motor un sistema tipo 0 es el mas apropiado, lo que requerimos es el factor integrador para reducir por completo el error y el P para el tiempo de asentamiento. Para el diseo del controlador los parmetros a considerar fueron que era un sistema con 2 polos y ningn cero, as que debi realizarse a travs de parmetros crticos, y con las tablas de sintonizacin de controladores. Cuando se realiza la comparacin de sistemas a partir del sistema sin control y con control por simulink se observa la gran diferencia de comportamiento Con el controlador implementado se pudo observar como el motor por mas carga muscular que se le coloque el motor puede que se detenga pero con tiempo de respuesta corto retoma al valor de potencia establecido como referencia, es por ello que se puede determinar que la identificacin y el diseo del controlador estn acordes con la planta real. El proceso de identificacin requiere que los datos utilizados, contengan informacin significativa sobre el sistema, lo cual implica un cuidadoso diseo del experimento para la adquisicin de datos y la toma de una serie de decisiones respecto a las seales que deben ser medidas, el periodo de muestreo a utilizar, el tipo de entrada serie de decisiones respecto a las seales que deben ser medidas, el periodo de muestreo a utilizar Los sistemas Lego, adems de ofrecer aproximaciones reales en el diseo,; tambin colaboran en el estudio, modelamiento, planteamiento y aplicacin de esquemas de control, si se utilizan con programas de adquisicin de datos y simulacin de sistemas dinmicos.BIBLIOGRAFIA [1] http://www.mathworks.com/products/sysid/[2] http://www.philohome.com/nxtmotor/nxtmotor.htm[3] http://www.control-class.com/Tema_1/Slides/Tema_1_IntroduccionIdentificacion.pdf