Bienvenido a la página
de control predictivo
CONTROL PREDICTIVO APLICADO A UN MICROROBOT AUTÓNOMO En la década de los 90 se han desarrollado nuevos tipos de controladores avanzados que han demostrado en diversas aplicaciones unos buenos resultados, son los llamados controladores predictivos. Su principio básico consiste en, basándose en el modelo del proceso, calcular los valores de control necesarios para obtener una salida adecuada de acuerdo con unos valores de consigna conocidos a priori y unas restricciones y condiciones de operación. A pesar de este principio tan interesante, estos controladores y sobre todo para aplicaciones complejas, tienen limitaciones derivadas del número de cálculos a realizar y puede ser complicado obtener los valores óptimos. En este caso, el control predictivo se aplica a un microrobot que realizará un conjunto de trayectorias sobre un plano 2-D.
Contenidos · Fundamentos de control predictivo
Nuestro robot dispone de un controlador de velocidad interno que ejecuta las consignas de velocidad, tanto lineal como angular, que le llegan por radiofrecuencia. De esta manera podemos controlar de forma precisa la velocidad de los movimientos del robot. Las características de este controlador son:
Este controlador es el de más bajo nivel, ya que a un nivel superior tendremos el controlador predictivo que calcula como señales de control la velocidad lineal y la consigna de giro.
- Respuesta rápida
- Muy buena regulación desde velocidades muy bajas (1 cm/s) hasta la velocidad máxima (100 cm/s).
- Comportamiento simétrico en los giros.
- Influencia nula de una rueda sobre la otra.
- Marcha adelante y atrás.
Se pueden ver unos ejemplos de funcionamiento del controlador en este video.
Fundamentos de control predictivo.
El control predictivo basado en modelos se basa en las siguientes ideas:
En el siguiente dibujo se pueden interpretar estos principios para el instante t y t+1
- Se utiliza un modelo del proceso para predecir el comportamiento futuro, sobre un horizonte de predicción N2. Los valores predichos de las salidas
(t+k/t), para k=1,..,N2, dependen de los valores hasta el instante t (valores pasados de las entradas y las salidas) y de los valores futuros de las señales de control u(t+k/t).
- Se define una trayectoria de referencia futura w(t+j) que describe como queremos conducir el proceso desde el valor actual y(t) hasta la consigna futura deseada r(t+j).
- Se calculan los valores futuros de control {u(t), u(t+1),...,u(t+N2)} de manera que se minimice una cierta función de coste de los errores de predicción, w(t+j)-
(t+j). Normalmente se añade una estructuración en la ley de control, introduciendo un horizonte de control Nu.
- El primer elemento del vector de control óptimo u(t/t) se aplica a la planta. Los elementos restantes no se consideran y al siguiente instante de muestreo se repite todo el procedimiento. Esto nos da una nueva ley de control u(t+1/t+1) que es diferente de la señal de control calculada anteriormente u(t+1/t).
El programa de control ha sido desarrollado con Matlab 5.1, el diagrama de flujo para el controlador predictivo es el siguiente:
En general el control realiza:
- Inicio: Inicialización de parámetros, posición del robot, nodos trayectoria.
- Cálculo de trayectoria: calcula trayectoria con los nodos principales anteriores.
- Simulación modelo inverso: Obtención de la trayectoria de referencia para el controlador.
- Algoritmo CMPC: Algoritmo control predictivo de Matlab que da las señales de control.
- Transmisión de las señales de control.
- Si hay error se vuelve a repetir el proceso, en caso contrario se envían las señales de control del instante siguiente que están dentro del vector encontrado anteriormente con el algoritmo CMPC.
Resultados de los experimentos para diferentes trayectorias.
A continuación se muestran cuatro experimentos de control realizados donde podemos ver el comportamiento del robot. Para poder interpretar los resultados gráfics hay que tener en cuenta:
Trayectoria 1.
- Un cuadrado seguido de un triángulo azul marca la posición del robot y su orientación.
- Los siguientes cuadrados azules son los nodos que definen la trayectoria inicial.
- Los puntos azules marcan la trayectoria inicial.
- Los círculos rojos señalan la posición del robot que nos da el sistema de visión en cada instante de muestreo.
En esta trayectoria tenemos el robot en la derecha con una orientación de 180º y ha de ir hacia la izquierda dando una vuelta para situarse orientado hacia la derecha. Podría ser el caso de un robot atacante volviendo a recoger la pelota para volver a atacar.
Trayectoria 2.
En este caso tenemos el robot en el centro del campo con una orientación de unos 45º, completamente desorientado respecto la trayectoria a seguir. Pero se puede ver como el robot gira desde el primer momento y sigue una buena trayectoria. Podría ser un caso parecido al anterior donde un robot vuelve desde una posición adelantada para recoger la pelota por detrás.
Trayectoria 3. El caso siguiente es un caso extremo donde sigue una trayectoria bastante complicada y se ve como el robot reacciona corrigiendo el sentido.
Trayectoria 4.
El último caso es un movimento diagonal al campo donde pasa por unos puntos intermedios que definen una trayectoria curva en los dos sentidos.
Para este último caso también se presenta en el siguiente gráfico las señales de control obtenidas con el controlador predictivo.
También se puede ver este experimento junto a otro en video.
Proyecto en formato pdf.
comentarios y sugerencias:gamero AT eia DOT udg DOT es