robótica inteligente

Click here to load reader

Download Robótica Inteligente

Post on 03-Jan-2016

74 views

Category:

Documents

0 download

Embed Size (px)

DESCRIPTION

Robótica Inteligente. Tema 7: Control L. Enrique Sucar Alberto Reyes Marco López ITESM Cuernavaca. Control. Introducción Control clásico Lazo abierto – lazo cerrado Control ON-OFF Control proporcional Control proporcional-derivativo Control proporcional-integral. Introducción. - PowerPoint PPT Presentation

TRANSCRIPT

  • Robtica InteligenteTema 7:Control

    L. Enrique SucarAlberto ReyesMarco LpezITESM Cuernavaca

  • ControlIntroduccinControl clsicoLazo abierto lazo cerradoControl ON-OFFControl proporcionalControl proporcional-derivativoControl proporcional-integral

  • IntroduccinTarea bsica de un controlador ajustar el estado de un proceso (variable de proceso - VA) a un valor deseado (valor de referencia - VR)La diferencia entre ambos valores es el error:E = VR - VAEntonces el objetivo del controlador es reducir el error a cero (o al mnimo)

  • Sistema de ControlControladorProcesoSensorVAVRE+-

  • Ejemplo 1 mantener al robot a una distancia (DR) de la pared(seguimiento de pared)

  • Ejemplo 2 mantener al robot sobre la lnea (seguimiento de lnea)

  • Ejemplo mantener al robot a una distancia (DR) de la pared(seguimiento de pared)ControldireccinRobotSensor dedistanciaDADRE

  • Lazo abierto vs. lazo cerradoLazo abierto se ajusta el valor del controlador de acuerdo al valor deseado pero no hay medicin del valor actual (retroalimentacin)Lazo cerrado se mide la salida del proceso de forma que se compare con el valor deseado y se pueda automticamente reducir el error

  • Lazo abiertoControldireccinRobotSensor dedistanciaDADRLazo cerradoControldireccinRobotDADR

  • Algoritmo de ControlLa forma de ajustar el proceso en funcin del error se le denomina el algoritmo de controlAlgunos de los algoritmos bsicos en control clsico son:Control ON OFFControl proporcionalControl proporcional derivativo (PD)Control proporcional integral (PI)Control proporcional integral-derivativo (PID)

  • Control ON - OFFSe basa en que el controlador tiene slo dos estados (ON/OFF, abieto/cerrado, izq./der.)Si comparamos el VA con el VR, se toma una de las dos posibles acciones dependiendo del signo del errorPor ejemplo, en un control de temperatura de un refrigerador:Si Temp > T-ref. encender compresorSi Temp < T-ref. apagar compresor

  • Control ON - OFFOFFONRef.T

  • Control ON - OFFNormalmente se tiene una zona de tolerancia (GAP o histresis) en la que se mantiene el estado anteriorAlgoritmo de control:E = VR VAC = signo ESi |E| - GAP < 0 OFFSi |E| + GAP > 0 ON

  • Control ON OFF, con GAPOFFONRef.TGap

  • Control On-OffEsquema de control on-offvoid main(){ while(1) { int error = goal sensor_lecture; int power = 100;

    if(error < (goal - gap))/*to far from line*/ left(power); else right(power); /* turn toward the line */ msleep(100L); /* 10 iterations per second */ }}

  • Control ON OFF RespuestaTemp.Ref.TiempoControlONOFF

  • Control On-OffControl On-OffResultados experimentales para seguimiento de linea recta, con diferentes valores de (setpoint).

  • Control On-Off

  • Control On-Off

  • Control On-OffCuando la direccin del robot sobrepasa el limite inferior de la banda, entonces el volante se gira completamente a la izquierda, pero debido a la inercia del sistema pasa algun tiempo para que la direccin del vehiculo cambie.En la siguiente ocacin que la direccin del robot sobrepasa el limite superior de la banda, entonces el volante se gira completamente a la derecha, sobrepasandose a la direccin deseada.

  • Control On-OffEs fcil notar que el robot oscila al rededor del valor de referencia del algoritmo y por lo tanto nunca viajar en linea recta

  • Control Proporcional (P)En lugar de tener una accin constante que slo depende del signo del error, podemos hacer que la magnitud del control dependa del tamao del errorEn otras palabras la ley de control debe ser de la siguiente forma:V = KE + ME = PV SP (error)K es una constante de proporcionalidadM es una posicin donde E = 0

  • Control proporcionalLa ecuacin anterior define una linea recta

  • Control proporcionalLa pendiente de la lnea, determina el cambio en el giro del volante, que corresponde al valor del error.

  • Control proporcionalEl porcentaje de cambio del error, necesario para mover el volante a escala completa, se conoce como banda proporcional (PB).Por lo tanto, en la figura anterior se nota que se requiere de un valor grande de error para girar el volante completamente en cualquier direccin.En la figura siguiente se requiere de un error pequeo para girar el volante completamente en cualquier direccin.

  • Control proporcional

  • Control proporcionalLa relacin entre la ganancia proporcional y la banda proporcional es:K = 100/PBdonde PB esta en porcentajeEl termino de estado estable M se conoce como restablecimiento manual (manual reset)

  • Control proporcionalLa accin de control con respecto al tiempo de este esquema se muestra en la siguiente figura:

  • Control proporcionalControl proporcionalvoid main(){ while(1) { int error = reference sensor_lecture; int power = 100error + M;

    if(error < goal)/*to far from line */ left(power); else right(power); /* turn toward the line */ msleep(100L); /* 10 iterations per second */ }}

  • Control proporcional

  • Control proporcional

  • Control proporcional

  • Control proporcional

  • Control Proporcional - Derivativo (PD)De las graficas anteriores se puede ver que al incrementar la ganancia proporcional, no mejora el comportamiento del sistema. Para ganancias grandes, se lleva al sistema rpidamente al valor de referencia, pero an se tienen sobretiros y oscilaciones.La solucin es agregar al algoritmo de control un trmino que permita corregir el efecto del momento del sistema, cuando se esta moviendo hacia el valor de referencia

  • Control Proporcional DerivativoDonde:E = Valor de referencia - lectura del sensor, es el errorKp es la constante del trmino proporcionalKd es la constante del trmino derivativodE/dt es la derivada del error

  • Control Proporcional Derivativovoid main(){ while(1) { int sensor_lecture = analog(CENTRAL_SENSOR); int error = reference - sensor_lecture int power = kp*error - kd(erro - last_error);

    if(sensor_lecture < goal) /* to far from line /* left(power); else right(power); /* turn toward the line */ msleep(100L); /* 10 iterations per second */

    int last_error = error; }}

  • Control Proporcional DerivativoLa potencia ahora es una funcin del error proporcional (kp*error) y la derivada del error (kd*(error - last_error)) o velocidad del error

  • Control Proporcional Derivativo

  • Control Proporcional DerivativoLos resultados muestran una reduccin en el sobretiro y una minimizacin en el comportamiento oscilatorio del sistema.Debe observarse la naturaleza discreta de la grafica de velocidad, debida principalmente al error de muestreo discreto.Este error es a consecuencia del intervalo que existe entre la lectura del error en un instante dado y el valor del error un instante anterior.

  • Control Proporcional Derivativo

  • Control Proporcional DerivativoPara ganancias derivativas grandes un sistema podria presentar inestabilidades de tal forma que el sistema se puede frenar y detenerse an sin alcanzar el valor de referencia.Cuando la velocidad pasa por el valor cero, entonces la ganancia obliga al sistema a moverse de nuevo y el control empieza a corregir otra vez. Lo que da como resultado un comportamiento poco elegante.

  • Control IntegralEl control proporcional genera un error residual, cada vez que se recarga el sistema y por lo tanto ese error debe reinicializarse manualmente, si se desea tener un error cero.Una forma de reinicializar el controlador de manera autmatica, es indicandole al controlador que mueva el volante en la direccin donde se reduce el error hasta que no se tenga mas error.

  • Control IntegralPor ejemplo se podra hacer que el volante gire a velocidad constante, a este tipo de reset se le conoce como control flotante de velocidad nica, donde flotante se refiere a la dependencia de la razn de cambio en el controlador sobre el error.

  • Control IntegralUn modo comn de reset es el control de velocidad proporcional flotante, en el que la razn del movimiento del volante es proporcional a la derivada del error:Integrando la ultima ecuacin se obtiene:

  • Control Proporcional Integral (PI)Si se combinan el control proporcional con el control integral se obtiene:

  • Control Proporcional Integral

  • Control Proporcional IntegralLa salida del controlador (posicin del volante) crece casi instantaneamente por una cantidad KE como resultado de la parte proporcionalPero debido a que el error persiste, el termino integral continua moviendo el volante a velocidad constante, donde la pendiente se obtiene de la ganancia de reset KI

  • Control Proporcional IntegralDespues de transcurrido el tiempo TI, conocido como tiempo de reset, el movimiento del volante debido a la pendiente del temino integral, se iguala al termino proporcionalPor lo tanto el ajuste del reset se puede expresar en terminos del TI o de su reciproco

  • Control proporcional integral derivativo (PID)Se pueden combinar los trminos derivativos e integrales y as obtenemos un control proporcional-integral-derivativoEste tipo de controladores PID son muy comunmente utilizados en muchas aplicaciones, combinando las ventajas del PD y PI

  • Cmo medir el error?Si el sensor nos da una lectura continua (por ejemplo de distancia), entonces podemos usar dicha medida como el error, respecto a la referencia (distancia deseada)Si tenemos sensores binarios (como detectores de lnea), podemos combinar varios sensores y de esta form