Robótica Inteligente

53
Robótica Inteligente Tema 7: Control L. Enrique Sucar Alberto Reyes Marco López ITESM Cuernavaca

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 of Robótica Inteligente

Page 1: Robótica Inteligente

Robótica Inteligente

Tema 7:

Control

L. Enrique Sucar

Alberto Reyes

Marco López

ITESM Cuernavaca

Page 2: Robótica Inteligente

Control

• Introducción

• Control clásico– Lazo abierto – lazo cerrado– Control ON-OFF– Control proporcional– Control proporcional-derivativo– Control proporcional-integral

Page 3: Robótica Inteligente

Introducción

• Tarea básica 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 - VA• Entonces el objetivo del controlador es

reducir el error a cero (o al mínimo)

Page 4: Robótica Inteligente

Sistema de Control

Controlador Proceso

Sensor

VAVRE

+

-

Page 5: Robótica Inteligente

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

(seguimiento de pared)

Page 6: Robótica Inteligente

Ejemplo 2 – mantener al robot sobre la línea (seguimiento de línea)

Page 7: Robótica Inteligente

Ejemplo – mantener al robot a una distancia (DR) de la pared

(seguimiento de pared)

Controldirección

Robot

Sensor dedistancia

DADRE

Page 8: Robótica Inteligente

Lazo abierto vs. lazo cerrado

• Lazo abierto – se ajusta el valor del controlador de acuerdo al valor deseado pero no hay medición del valor actual (retroalimentación)

• Lazo cerrado – se mide la salida del proceso de forma que se compare con el valor deseado y se pueda automáticamente reducir el error

Page 9: Robótica Inteligente

Lazo abierto

Controldirección

Robot

Sensor dedistancia

DADR

Lazo cerrado

Controldirección

Robot DADR

Page 10: Robótica Inteligente

Algoritmo de Control

• La forma de ajustar el proceso en función del error se le denomina el algoritmo de control

• Algunos de los algoritmos básicos en control clásico son:– Control ON –OFF– Control proporcional– Control proporcional derivativo (PD)– Control proporcional integral (PI)– Control proporcional integral-derivativo (PID)

Page 11: Robótica Inteligente

Control ON - OFF

• Se basa en que el controlador tiene sólo 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 error

• Por ejemplo, en un control de temperatura de un refrigerador:– Si Temp > T-ref. encender compresor– Si Temp < T-ref. apagar compresor

Page 12: Robótica Inteligente

Control ON - OFF

OFF

ON

Ref.

T

Page 13: Robótica Inteligente

Control ON - OFF

• Normalmente se tiene una zona de tolerancia (GAP o histéresis) en la que se mantiene el estado anterior

• Algoritmo de control:

E = VR – VA

C = signo E

Si |E| - ½ GAP < 0 OFF

Si |E| + ½ GAP > 0 ON

Page 14: Robótica Inteligente

Control ON – OFF, con GAP

OFF

ON

Ref.

T

Gap

Page 15: Robótica Inteligente

Control On-Off

● Esquema 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 */ }}

Page 16: Robótica Inteligente

Control ON – OFF Respuesta

Temp.

Ref.

Tiempo

Control

ON

OFF

Page 17: Robótica Inteligente

Control On-Off

● Control On-Off– Resultados experimentales para seguimiento

de linea recta, con diferentes valores de (setpoint).

Page 18: Robótica Inteligente

Control On-Off

Page 19: Robótica Inteligente

Control On-Off

Page 20: Robótica Inteligente

Control On-Off

– Cuando la dirección 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 dirección del vehiculo cambie.

– En la siguiente ocación que la dirección del robot sobrepasa el limite superior de la banda, entonces el volante se gira completamente a la derecha, sobrepasandose a la dirección deseada.

Page 21: Robótica Inteligente

Control On-Off

● Es fácil notar que el robot oscila al rededor del valor de referencia del algoritmo y por lo tanto nunca viajará en linea recta

Page 22: Robótica Inteligente

Control Proporcional (P)

• En lugar de tener una acción constante que sólo depende del signo del error, podemos hacer que la magnitud del control dependa del tamaño del error

• En otras palabras la ley de control debe ser de la siguiente forma:

V = KE + M– E = PV – SP (error)– K es una constante de proporcionalidad– M es una posición donde E = 0

Page 23: Robótica Inteligente

Control proporcional

● La ecuación anterior define una linea recta

Error

VMValor de

la posición

Totalmentea la derecha

Totalmentea la izquierda

0% 100%Rango de la variable de proceso

Set point

Page 24: Robótica Inteligente

Control proporcional● La pendiente de la línea, determina el

cambio en el giro del volante, que corresponde al valor del error.

MValor dela posición

Totalmentea la derecha

Totalmentea la izquierda

0% 100%PV

SP

Page 25: Robótica Inteligente

Control proporcional

● El 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 dirección.

– En la figura siguiente se requiere de un error pequeño para girar el volante completamente en cualquier dirección.

Page 26: Robótica Inteligente

Control proporcional

MValor dela posición

Totalmentea la derecha

Totalmentea la izquierda

0% 100%PV

SP

Page 27: Robótica Inteligente

Control proporcional

● La relación entre la ganancia proporcional y la banda proporcional es:

K = 100/PB

donde PB esta en porcentaje

El termino de estado estable M se conoce como restablecimiento manual (manual reset)

Page 28: Robótica Inteligente

Control proporcional

● La acción de control con respecto al tiempo de este esquema se muestra en la siguiente figura:

Derecha

Izquierda

Volante

PV SPE

Page 29: Robótica Inteligente

Control proporcional

● Control 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 */ }}

Page 30: Robótica Inteligente

Control proporcional

Page 31: Robótica Inteligente

Control proporcional

Page 32: Robótica Inteligente

Control proporcional

Page 33: Robótica Inteligente

Control proporcional

Page 34: Robótica Inteligente

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 rápidamente al valor de referencia, pero aún se tienen sobretiros y oscilaciones.

● La solución es agregar al algoritmo de control un término que permita corregir el efecto del momento del sistema, cuando se esta moviendo hacia el valor de referencia

V Kp E KddEdt

Page 35: Robótica Inteligente

Control Proporcional Derivativo

● Donde:

E = Valor de referencia - lectura del sensor, es el error

Kp es la constante del término proporcional

Kd es la constante del término derivativo

dE/dt es la derivada del error

Page 36: Robótica Inteligente

Control Proporcional Derivativo

void 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; }}

Page 37: Robótica Inteligente

Control Proporcional Derivativo

● La potencia ahora es una función del error proporcional (kp*error) y la derivada del error (kd*(error - last_error)) o velocidad del error

Page 38: Robótica Inteligente

Control Proporcional Derivativo

Page 39: Robótica Inteligente

Control Proporcional Derivativo

● Los resultados muestran una reducción en el sobretiro y una minimización 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.

Page 40: Robótica Inteligente

Control Proporcional Derivativo

Page 41: Robótica Inteligente

Control Proporcional Derivativo

● Para ganancias derivativas grandes un sistema podria presentar inestabilidades de tal forma que el sistema se puede frenar y detenerse aún 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.

Page 42: Robótica Inteligente

Control Integral

● El 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 autómatica, es indicandole al controlador que mueva el volante en la dirección donde se reduce el error hasta que no se tenga mas error.

Page 43: Robótica Inteligente

Control Integral

● Por ejemplo se podría 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 razón de cambio en el controlador sobre el error.

Page 44: Robótica Inteligente

Control Integral

● Un modo común de reset es el control de velocidad proporcional flotante, en el que la razón del movimiento del volante es proporcional a la derivada del error:

dVdt

K1 E

● Integrando la ultima ecuación se obtiene:

V K1 Edt

Page 45: Robótica Inteligente

Control Proporcional Integral (PI)

● Si se combinan el control proporcional con el control integral se obtiene:

V KE KI Edt M

Page 46: Robótica Inteligente

Control Proporcional Integral

Page 47: Robótica Inteligente

Control Proporcional Integral

● La salida del controlador (posición del volante) crece casi instantaneamente por una cantidad KE como resultado de la parte proporcional

● Pero 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

Page 48: Robótica Inteligente

Control Proporcional Integral

● Despues 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 proporcional

● Por lo tanto el ajuste del reset se puede expresar en terminos del TI o de su reciproco

Page 49: Robótica Inteligente

Control proporcional integral derivativo (PID)

• Se pueden combinar los términos derivativos e integrales y así obtenemos un control proporcional-integral-derivativo

• Este tipo de controladores –PID son muy comunmente utilizados en muchas aplicaciones, combinando las ventajas del PD y PI

Page 50: Robótica Inteligente

¿Cómo 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 línea), podemos combinar varios sensores y de esta forma tener una estimación (discreta) del error

Page 51: Robótica Inteligente

Error Error:

-2

-1

0

1

2

Page 52: Robótica Inteligente

Referencias• Martin, Robotic Explorations, Cap. 5• Bibbero, Microprocessors in Instruments and Control, Cap. 2• [Dodek y Jenkin] – Cap. 7• Libros de Control, por ejemplo:

– Analysis and Syntesis of Linear Control Systems. Chi-Tsong-Chen. Holt Rinehart Winston.

– Digital Control of Dynamic Systems. Gene F. Franklin, J. David Powel and Michael Workman. Addison-Wesley.

– Modern Control Engineering. Kasuhiko Ogata. Prentice-Hall.

– Modern Control Systems. Richard C. Dorf and Robert Bishop. Addison Wesley.

Page 53: Robótica Inteligente

Actividades

• Especificación y programación del control básico de su robot para realizar su tarea:– Seguimiento de línea (laberinto)– Ir a la meta (lego)

• Practicar con diferentes algoritmos de control en el laboratorio virtual