Tesis Doctoral Ingeniería de Telecomunicación Dep. Teoría de la Señal y Comunicaciones Escuela Técnica Superior de Ingeniería Universidad de Sevilla 2013 Control predictivo para un vehículo tipo Segway Trabajo Fin de Grado Grado en Ingeniería de Tecnologías Industriales Control predictivo para un vehículo tipo Segway Autor: Victor Manuel Villalar Lara Tutor: Daniel Limón Marruedo Dep. Ingeniería de Sistemas y Automática Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2017
97
Embed
Ingeniería de Telecomunicación Trabajo Fin de Gradobibing.us.es/proyectos/abreproy/91499/fichero/memoriafinaltfg.pdfTodo esto será a modo de simulación, para lo cual usaremos la
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Tesis Doctoral
Ingeniería de Telecomunicación
Dep. Teoría de la Señal y Comunicaciones
Escuela Técnica Superior de Ingeniería
Universidad de Sevilla
2013
Control predictivo para un vehículo tipo Segway Trabajo Fin de Grado
Grado en Ingeniería de Tecnologías Industriales
Control predictivo para un vehículo tipo Segway
Autor: Victor Manuel Villalar Lara
Tutor: Daniel Limón Marruedo
Dep. Ingeniería de Sistemas y Automática
Escuela Técnica Superior de Ingeniería
Universidad de Sevilla
Sevilla, 2017
iii
Trabajo Fin de Grado
Grado en Ingeniería de Tecnologías Industriales
Control predictivo para un vehículo tipo Segway
Autor:
Victor Manuel Villalar Lara
Tutor:
Daniel Limón Marruedo
Profesor titular
Dep. de Ingeniería de Sistemas y Automática
Escuela Técnica Superior de Ingeniería
Universidad de Sevilla
Sevilla, 2017
v
Trabajo Fin de Grado: Control predictivo para un vehículo tipo Segway
Autor: Victor Manuel Villalar Lara
Tutor: Daniel Limón Marruedo
El tribunal nombrado para juzgar el Proyecto arriba indicado, compuesto por los siguientes miembros:
Presidente:
Vocales:
Secretario:
Acuerdan otorgarle la calificación de:
Sevilla, 2017
El Secretario del Tribunal
vii
ix
Agradecimientos
Este espacio se lo quiero dedicar a todas aquellas personas que me han acompañado durante estos cuatro años
de carrera. En especial a mi familia, que me han soportado cuando he estado tanto de risas como de agobios, y
han sido los que me han dado esta oportunidad de futuro. También a mis compañeros que me han hecho las
clases mas amenas y han arrimado el hombro cuando lo he necesitado. Y por último y no por ello menos
importante, a mi novia Patri que ha estado a mi lado en todo momento durante la realización de este proyecto.
Además, agradezco a mi tutor, Dani, todo su esfuerzo y dedicación. Sin él este trabajo no hubiese sido ni de
lejos posible.
Mis más sinceros agradecimientos.
Victor Manuel Villalar Lara
Sevilla, 2017
xi
Resumen
El objetivo de este proyecto es el control de un vehículo tipo Segway, usando un control predictivo basado en
modelo (MPC). El cual se implementará y simulará usando la herramienta de cálculo MATLAB®.
Se describirá en profundidad el controlador y los diferentes elementos que se usarán. Entre ellos método
numérico conocido como Runge-Kutta, para el simulador no lineal del sistema, el algoritmo FISTA (Fast
Iterative Shrinkage-Thresholding Algorithm) para la resolución del problema de optimización, el filtro de
Kalman como observador de estados y el SSTO (Steady-State Target Optimization) para obtener los
correspondientes estados de equilibro de referencia en cada iteración.
Por últimos, una serie de simulaciones para validar el controlador y observar su respuesta en diferentes
situaciones.
xiii
Abstract
The objective of this thesis is to be able to manage a vehicle of the characteristics of a Segway. In order to
undertake this target we will be using a “model predictive control” (MPC). This controller will be done by using
the mathematical tool MATLAB.
In this essay, the controller will be effusively described as well as the diverse elements used in the controller.
One of the mathematical theories that my essay is going to research is the german method of Runge-Kutta for
the non-lineal system simulator. Also, the algorithm FISTA which stands for Fast iterative Shrinkage-
thresholding algorithm for finding out the optimization problem regarding the Kalman filter as states observer.
Finally, the last element named as SSTO (Steady Target Optimization) to acquire the corresponding points of
equilibrium in each iteration.
In conclusion, there will be a series of simulations to validate the controller and to observe different answers in
several situations.
Índice
Agradecimientos ix
Resumen xi
Abstract xiii
Índice xiv
Índice de Tablas xvi
Índice de Figuras xviii
Notación xx
1 Introducción 1
2. Descripción y Modelado del Segway 3 Descripción del Sistema: Segway 3
Descrpción física y modelo de primeros principios 4 Modelo lineal 6 Modelo lineal discretizado 7
Simulador no lineal 8 Perturbaciones 9 Límites fisicos del sistema 9
3. Control Lineal Cuadrático (LQR) 11 Introducción al control óptimo 11 Ley de control óptima 12 Control óptimo estocástico 12 LQR con efecto integral 13
4. Control Predictivo Basado en Modelo 17 Control Predictivo Basado en Modelo 17
Modelo Discreto 17 Restricciones 18
Regulador MPC 18 Cancelación de offset 19 Esquema del bucle 20 Componentes del Controlador 21
Observador de estados 21 SSTO 24 Filtro de referencias 25
5. Resolución del problema de control 26 Minimización de la función objetivo 26
Problema de optimización cuadrática 26 Algoritmo FISTA 29 Desarrollo del problema de optimización asociado al control predictivo 31
6. Diseño del MPC 35 Ajuste de parámetros 35
xv
Q y R 35 Horizonte de predicción: N 37 Ajuste del filtro de referencias: 𝝆 41 Diseño del observador de estados 42 Ceros de fase no minima 44
7. Aplicación sobre simulador no lineal 47 Validación del control LQR 47
Validación y ajuste del observador 47 Regulación 49 Seguimiento de referencia 51 Rechazo de perturbaciones. 52
Validación del control predictivo 53 Validación y ajuste del observador 53 Regulación en MPC 55 Seguimiento de referencias 56 Rechazo de perturbaciones en MPC 57
8. Conclusiones y Líneas futuras 59
9. índice de Códigos 61
10. Códigos MATLAB 63
11. Referencias 71
12. Índice de Conceptos 75
ÍNDICE DE TABLAS
Tabla 2–1. Parámetros físicos del robot 4
xvii
ÍNDICE DE FIGURAS
Figura 2-1. Segway para transporte humano 3
Figura 2-2. Segway autónomo 4
Figura 2-3. Esquema del sistema con las variables 5
Figura 3-1. LQR con offset 13
Figura 3-2. LQR con efecto integral sin offset 15
Figura 4-1. Esquema general del bucle de control 20
Figura 4-2. Esquema en profundidad del bucle de control 21
Figura 4-3. Rango de la matriz de observabilidad 23
Figura 4-4. Filtrado de escalón a exponencial 25
Figura 5-1. Parábola convexa 27
Figura 5-2. Solución del Ejemplo 5-1 28
Figura 6-1. Respuestas ante cambios en el parámetro 𝑅/𝑄 37
Figura 6-2. Respuestas ante cambios en el parámetro N 41
Figura 6-3. Respuestas ante cambios en el parámetro ρ 42
Figura 6-4. Estimación de estados para diferentes parámetros R0/ Q0 44
Figura 6-5. Amortuguación de ceros de fase no mínima 45
Figura 7-1. Ajuste del observador del LQR 49
Figura 7-2. Verificación del observador del LQR 49
Figura 7-3. Respuesta en regulación LQR 51
Figura 7-4. Actuación LQR en regulación 51
Figura 7-5. Seguimiento de referencia con LQR 52
Figura 7-6. Rechazo a perturbación en el centro de gravedad LQR 52
Figura 7-7. Rechazo perturbación fuerza externa LQR 53
Figura 7-8. Ajuste del observador del MPC 54
Figura 7-9. Verificación del observador MPC 54
Figura 7-10. Regulación en MPC 56
Figura 7-11. Seguimiento de referencia MPC 56
Figura 7-12. Rechazo a perturbación en el centro de gravedad MPC 57
Figura 7-13. rechazo a perturbación fuerza externa MPC 58
xix
Notación
∈ Conjugado
∀ Para todo
ℝ𝑛 Valor Real 𝑛-vector
ℝ𝑛×𝑚 Valor Real 𝑛 × 𝑚 matriz
��
𝑥𝑘
Derivada temporal de 𝑥
Valor de 𝑥 en el instante de tiempo 𝑘
𝑥+ Valor de 𝑥 en el siguiente instante de tiempo
s.a. Sujeto a
min Mínimo de
𝑧∗ Óptimo de 𝑧
𝜆 autovalor
�� Valor estimado de 𝑥
: Tal que
< Menor
> Mayor
≤ Menor o igual
≥
𝐶𝑇
ℤ≥0
Mayor o igual
Transpuesta de 𝐶
Conjunto de números enteros no negativos
xxi
1
1 INTRODUCCIÓN
l control predictivo basado en modelo (MPC) se desarrolló a finales de los años setenta, y se ha ido
desarrollando desde entonces. El control predictivo no es una estrategia de control específica, sino que se
trata más bien de un campo muy amplio de métodos de control desarrollados en torno a ciertas ideas
comunes. Estos métodos de diseño conducen a controladores lineales que poseen prácticamente la misma
estructura y presentan suficientes grados de libertad. Las ideas que aparecen en mayor o menor medida en toda
la familia de controladores predictivos son básicamente:
-Uso explícito de un modelo para predecir la salida del proceso en futuros instantes de tiempo (horizonte).
-Cálculo de las señales de control minimizando una cierta función objetivo.
-Estrategia deslizante, de forma que en cada instante el horizonte se va desplazando hacia el futuro, lo que
implica aplicar la primera señal de control en cada instante y desechar el resto, repitiendo el cálculo en cada
instante de muestreo.
-En el caso concreto del MPC, la consideración de restricciones en el diseño, evitando posibles situaciones
indeseadas y resultando un control más preciso en torno al punto de operación.
Esta estrategia de control se usará para el caso concreto del segway, basado en el extendido modelo de péndulo
invertido, característico por ser no lineal, multivariable y con un cero de fase no mínima.
El sistema de péndulo tiene dos puntos de equilibrio, uno estable y otro inestable. En este caso buscaremos el
equilibrio en torno al punto inestable, actuando sobre la aceleración de las ruedas del segway.
Una vez consiga equilibrarse, pondremos a prueba que sea capaz de seguir una referencia en velocidad y que
sea capaz mantener el equilibrio si hacemos una variación en el centro de gravedad del robot.
Todo esto será a modo de simulación, para lo cual usaremos la herramienta MATLAB®. Una potente
herramienta de cálculo útil en muchos aspectos del control automático, tanto en el diseño como en la simulación
de sistemas.
E
“Para el logro del triunfo siempre ha sido indispensable pasar
por la senda de los sacrificios”.
- Simón Bolivar -
3
2. DESCRIPCIÓN Y MODELADO DEL SEGWAY
Descripción del Sistema: Segway
Un segway es un vehículo de transporte ligero, que hace uso del giróscopo para mantenerse erguido, eléctrico
de dos ruedas. Fue inventado en 2001 por Dean Kamen, y fue el primer vehículo autoequilibrado. El controlador
y los motores de las ruedas mantienen el equilibrio del robot.
Figura 2-1. Segway para transporte humano
En el caso que aquí nos atañe, diseñaremos en base a un segway autónomo. Nos basaremos en el segway
diseñado en esta misma escuela, y que ha sido el centro de estudio de varios proyectos anteriores [1].
“Los ordenadores son inútiles. Sólo pueden darte respuestas”.
-Pablo Picasso-
4
Control predictivo para un vehículo tipo Segway
Figura 2-2. Segway autónomo
El sistema del segway, conocido como péndulo invertido, es un sistema de control que típico por ser muy
completo en el sentido de que es no lineal, multivariable, tiene un cero de fase no mínima y además en el caso
que aquí vamos a estudiar, una perturbación en la entrada, que como se mostrará posteriormente, será la variación
del centro de gravedad del robot. Tal y como se ha mencionado, el punto de equilibrio buscado es inestable y se
dará cuando el balance de momentos sobre el segway sea nulo.
Descripción física y modelo de primeros principios
Para obtener el modelo no lineal vamos a usar las ecuaciones de Lagrange. Tendremos las siguientes
consideraciones:
- No existe deslizamiento en las ruedas.
- Se desprecia los efectos de la fricción.
- Los diferentes elementos del robot se consideran masas puntuales.
Los parámetros físicos son:
mr, masa de las ruedas;
R, radio de las ruedas;
M, masa del robot sin ruedas;
L, distancia entre el cetro de la rueda y el centro de gravedad del robot;
g, aceleración de la gravedad.
𝜙0, ángulo entre el centro de gravedad y el centro geométrico. (desconocido)
Particularmente, los parámetros usados en este documento serán:
Parámetro Valor
𝑚𝑟 0.140 kg
𝑀 0.82 kg
R 0.05 m
Descripción y Modelado del Segway 5
L 0.098 m
g 9.81 m/𝑠2
Tabla 2–1. Parámetros físicos del robot
Figura 2-3. Esquema del sistema con las variables
Las variables generalizadas de las ecuaciones de Lagrange son 𝜃, ángulo entre el giro de la rueda y la vertical, y
𝜙, ángulo de inclinación del robot.
Ecuación de Lagrange:
𝐿 = 𝑇 − 𝑉 = 𝑇𝑡𝑟𝑎𝑛𝑠 + 𝑇𝑟𝑜𝑡 − 𝑉 (2.1)
Energía cinética de translación:
𝑇𝑡𝑟𝑎𝑛𝑠 =1
2𝑚𝑟(��𝑟
2 + ��𝑟2) · 2 +
1
2𝑀(��𝑚
2 + ��𝑚2 ) (2.2)
La velocidad lineal de la rueda y del centro de gravedad del robot son:
En consecuencia, el sistema descrito en espacio de estados será:
[
��
𝜙
��
] = [
0 1 0−𝑑
𝑓⁄ 0 0
0 0 0
] [
𝜙
𝜙
��
] + [
0−𝑒
𝑓⁄
1
] �� + [
0−𝑑
𝑓⁄
0
]𝜙0 (2.22)
Como aclaración, identificar las anteriores matrices:
�� = 𝐴𝑥 + 𝐵𝑢 + 𝐵𝑑𝑑 (2.23)
Identificamos 𝑥 ∈ ℝ𝑛 con n=3, 𝑢 ∈ ℝ𝑚 con m=1, 𝑑 ∈ ℝ𝑛𝑑 con 𝑛𝑑 = 1. Tomamos 𝜙0 como perturbación a
la entrada puesto a que genera un par en el segway al igual que ��.
La salida la dividiremos en dos, por un lado, la salida medible
𝑦𝑚 = 𝐶𝑥𝑘 (2.24)
Con C=I. Y por otro lado tendremos la salida controlable
𝑦𝑐 = 𝐻𝑥𝑘 (2.25)
Con 𝐻 = [0 0 1]. Es decir, como controlable solo tendremos la última componente. Si observamos las ecuaciones,
y pensamos en el sistema que tenemos delante, es la única componente libre, a la cual podemos pasar una
referencia, las demás quedan fijadas por el punto de equilibrio, �� = 0; . Observemos el sistema de ecuaciones
(2.34):
�� = 0
�� = 0 = −𝑑 𝑓⁄ ( 𝜙 + 𝜙0) −𝑒𝑓⁄ �� (2.26)
�� = 0
Por lo que observamos, en el punto de equilibrio todas las componentes del estado quedan determinadas, excepto
��. Tenemos, por tanto:
𝑥𝑜 = [
−𝜙𝑑0��𝑟
] ; 𝑢𝑜 = 0 ; 𝑑 = 𝜙𝑑 (2.27)
Siendo 𝑥𝑜 el estado en el punto de equilibrio, 𝑢𝑜 la entrada en el punto de equilibrio, 𝜙𝑑 será el ángulo del
segway en el punto de equilibrio, que debe ser igual y de signo contrario al ángulo del centro de gravedad, y ��𝑟 la velocidad de la rueda en el punto de equilibrio que queda libre, pudiendo tomar un valor indeterminado,
conocido como offset, que debemos evitar y llevar dicha componente a la referencia, ya veremos cómo.
Modelo lineal discretizado
El Sistema de control se va a implementar en un microcontrolador por lo que resulta necesario obtener un modelo
de control en tiempo discreto para poder diseñar un controlador adecuado.
El cambio consiste en pasar
��(𝑡) = 𝐴𝑥(𝑡) + 𝐵𝑢(𝑡) → 𝑥𝑘+1 = 𝐴𝑥𝑘 +𝐵𝑢𝑘+𝐵𝑑𝑑𝑘
Por lo que el tiempo quedará definido de esta manera
8
Control predictivo para un vehículo tipo Segway
𝑡 = 𝑘 ∗ 𝑇𝑚
Donde k ∈ ℤ≥0 el número muestra, y 𝑇𝑚 tiempo de muestreo.
Para este paso usaremos los siguientes comandos de MATLAB®:
sys=ss(A,B,C,D);
sysd=c2d(sys,Tm);
sys sería el sistema continuo y sysd el sistema discreto. La función que realiza el cambio es c2d(sistema continuo,
tiempo de muestreo). Usa el método Zero-order hold (por defecto), que supone que las entradas son constantes
durante el tiempo de muestreo Tm.
Ahora expondremos lo que obtendríamos en nuestro caso particular, con 𝑇𝑚 = 0.02 (20 ms):
Sistema continuo
{
𝐴 = (
0 1 039.9 0 00 0 0
)
𝐵 = (0
−0.361
)
𝐵𝑑 = (039.90)
⟶ Sistema discreto
{
𝐴 = (
1.008 0.0201 00.7997 1.008 00 0 1
)
𝐵 = (−7.2𝑒 − 05−0.00720.02
)
𝐵𝑑 = (0.0080.79970
)
El tiempo de muestreo ha sido seleccionado en base a un microcontrolador en el cual se ejecuta el bucle de
control de forma cíclica con un periodo de 50 Hz.
C y D no tienen ninguna variación.
Simulador no lineal
Para que el comportamiento simulado sea lo más fiel posible con el sistema real, debemos usar el modelo no
lineal.
Para este simulador hemos usado el método numérico conocido como Runge-Kutta clásico de orden 4. Un
procedimiento de integración numérica para resolver ecuaciones diferenciales a partir de un valor inicial dado,
y un [t0 ,tf]. El método parte de la igualdad
𝑦(𝑡𝑘+1) = 𝑦(𝑡𝑘) + ∫ 𝑦′(𝑡)𝑑𝑡𝑡𝑘+1𝑡𝑘
= 𝑦(𝑡𝑘) + ∫ 𝑓(𝑡, 𝑦(𝑡))𝑑𝑡𝑡𝑘+1𝑡𝑘
(2.28)
Aproximan la última integral por alguna fórmula de cuadratura, cambian adecuadamente los valores 𝑦(𝑡𝑘) por
los 𝑦k, finalmente, generan la correspondiente recurrencia numérica para determinar dichos valores 𝑦k.
Por ejemplo, el método de Euler es un método particular de los denominados métodos Runge-Kutta explícitos
que se obtiene al estimar la integral mediante la conocida regla del rectángulo, que aproxima el integrando por
su valor en el extremo inferior del intervalo de integración.
∫ 𝑓(𝑡, 𝑦(𝑡))𝑑𝑡𝑡𝑘+1𝑡𝑘
≈ ∫ 𝑓(𝑡𝑘 , 𝑦(𝑡𝑘))𝑑𝑡𝑡𝑘+1𝑡𝑘
= 𝑓(𝑡𝑘 , 𝑦(𝑡𝑘))(𝑡𝑘+1 − 𝑡𝑘) ≈ 𝑓(𝑡𝑘 , 𝑦𝑘)ℎ𝑘 (2.29)
Siendo ℎ𝑘 el paso de integración, si todos los ℎ𝑘 son iguales se dice que el mallado es de paso fijo, como lo será
en nuestro caso (𝑛 es el número de particiones del tiempo de muestreo):
ℎ =𝑡𝑓 − 𝑡0
𝑛 (2.30)
Por tanto, denotando 𝑓𝑘 = 𝑓(𝑡𝑘 , 𝑦𝑘), el método de Euler se define como
𝑦𝑘+1 = 𝑦𝑘 + ℎ𝑓𝑘, 𝑘 = 0,1…𝑛 − 1. (2.31)
Una vez textualizado el método, presentaremos el que usaremos que será de cuatro etapas:
Descripción y Modelado del Segway 9
{
𝑦𝑘+1 = 𝑦𝑘 + ℎ (
1
6𝑘1 +
2
6𝑘2 +
2
6𝑘3 +
1
6𝑘4)
𝑘1 = 𝑓𝑘 = 𝑓(𝑡𝑘 , 𝑦𝑘)
𝑘2 = 𝑓 (𝑡𝑘 +ℎ
2, 𝑦𝑘 +
ℎ
2𝑘1)
𝑘3 = 𝑓 (𝑡𝑘 +ℎ
2, 𝑦𝑘 +
ℎ
2𝑘2)
𝑘4 = 𝑓 (𝑡𝑘 +ℎ
2, 𝑦𝑘 +
ℎ
2𝑘3)
(2.32)
La diferencia entre el método de Euler y el Runge-Kutta de cuatro etapas está en el error de integración, que
tiene la siguiente forma:
E= 𝐶ℎ k (2.33)
Siendo 𝐶 una constante real positiva, k es lo que se conoce como grado del método y ℎ el paso de integración.
El método de Euler es de grado 0, por lo que el error es de la forma e≤ 𝐶ℎ. Por otro lado, el método que usaremos
es de grado 4, por lo que el error sería, e≤ 𝐶ℎ4. Y por poner un orden de magnitud, usaremos un paso de
integración ℎ = 0.005.
Perturbaciones
En el simulador no lineal vamos a incluir dos tipos de perturbaciones. En primer lugar, un tipo de perturbación
que vendría dada por un cambio en el centro de gravedad del robot, que podría venir dado por colocar algún
objeto sobre él, lo que provocaría un par constante. O también podría venir dado por una mala medida de los
parámetros físicos del robot.
Luego, existiría otro tipo de perturbación que sería equivalente a una fuerza externa aplicada sobre el péndulo,
lo que se traduciría como un par momentáneo.
Para modelar estos efectos debemos añadir algunos términos al simulador no lineal. Para el primer tipo lo
haremos de dos formas, una variando el ángulo del centro de gravedad que anteriormente hemos denotado como
𝜙0. Este tipo de perturbación, la tenemos que considerar una perturbación a la entrada, puesto a que provocaría
un par en el segway, es decir, una aceleración (como nuestra entrada del sistema). Este tipo de perturbación tiene
una forma particular de ser solventada, como ya veremos, ya que de no ser tomada de esta forma provocaría un
offset en la velocidad de las ruedas.
Para el caso de un mal modelado, añadiremos un cierto 휀 a alguno de los parámetros conocidos, por ejemplo, la
longitud del segway.
Para el segundo tipo de perturbación, el caso en el que algo o alguien aplique una fuerza sobre el segway. Esto
lo veremos como un término añadido en �� durante un instante de tiempo.
Si el controlador completo, incluyendo el observador, está bien diseñado compensará las perturbaciones y
además lo hará sin dejar ningún tipo de offset.
Límites fisicos del sistema
En este apartado describiremos cuales son los límites físicos y operativos del sistema, que posteriormente en el
MPC usaremos como restricciones.
En primer lugar, tenemos los límites del estado, que serán unos límites operativos más que físicos.
Tomaremos el límite de ángulo de inclinación en 30°, dado a que incluso en ese ángulo ya estamos muy lejos
del punto de linealización, y el modelo linealizado se va dispersando más del modelo real. Realmente el límite
físico sería el suelo, es decir, 90 °.
Para el máximo de variación de inclinación tomaremos 4 rad/s que es una variación que necesita ya bastante
esfuerzo del motor para ser compensada.
10
Control predictivo para un vehículo tipo Segway
Y por último va velocidad de giro máxima que podrán alcanzar las ruedas será 12 rad/s, puesto a que más toparía
con los límites del motor y con menos sería imposible de estabilizar el sistema en algunas ocasiones.
[−30 ·
𝜋
180𝑟𝑎𝑑
−4 𝑟𝑎𝑑/𝑠−12 𝑟𝑎𝑑/𝑠
] ≤ [
𝜙
𝜙
��
] ≤ [30 ·
𝜋
180𝑟𝑎𝑑
4 𝑟𝑎𝑑/𝑠12 𝑟𝑎𝑑/𝑠
]
En segundo lugar, tenemos el límite de par que puede dar el motor, que sí que sería un límite físico del sistema.
Para ello nos hemos fijado en el modelo usado en un proyecto con Segway de esta escuela (Figura 2-2), del
cual, hemos extraído un valor experimental de la aceleración máxima que es capaz de desarrollar los motores de
las ruedas de aproximadamente 150 𝑟𝑎𝑑/𝑠2. Por lo que ese será el valor que usemos para la restricción de
actuación.
−150 ≤ 𝑢 ≤ 150 𝑟𝑎𝑑/𝑠2
11
3. CONTROL LINEAL CUADRÁTICO (LQR)
n primera instancia vamos a controlar el sistema objetivo con un controlador óptimo, del cual
comentaremos sus principios teóricos en los que nos basaremos para su diseño. Y posteriormente lo
compararemos con nuestro controlador predictivo.
Introducción al control óptimo
El fin del control óptimo es el diseño de una ley de control que logre el mejor desempeño posible del sistema
𝑢(𝑘) = ℎ(𝑥(𝑘))
Una forma de medir la bondad de un controlador es definiendo una función de coste o índice de desempeño para
un ensayo determinado. Sea 𝑥(𝑘) la trayectoria del Sistema en bucle cerrado
𝑥(𝑘 + 1) = 𝐴𝑥(𝑘) + 𝐵𝑢(𝑘)
Partiendo de 𝑥(0) = 𝑥0 y con 𝑢(𝑘) = ℎ(𝑥(𝑘)).
A cada pareja (𝑥(𝑘), 𝑢(𝑘)) se le asocial una función de coste 𝐿(𝑥, 𝑢) > 0 que mide la distancia al punto de
equilibrio (0 ,0).
El índice de desempeño será el coste de la trayectoria, que mide la bondad de la trayectoria, a menor coste mejor.
𝐽(𝑥0) = ∑𝐿(𝑥(𝑘), 𝑢 (𝑘))
∞
𝑘=0
Este índice nos permite definir una ley de control óptima:
min 𝐽( 𝑥0, ℎ) = ∑𝐿 (𝑥(𝑘), ℎ(𝑥(𝑘)))
∞
𝑘=0
Basándonos en el principio de optimalidad de Bellman: la trayectoria óptima y el coste óptimo cumplen que:
𝐽∗(𝑥(𝑘)) = 𝐿(𝑥(𝑘), 𝑢 (𝑘)) + 𝐽∗(𝑥(𝑘 + 1))
La estabilidad del sistema se asegura si existe la ley óptima y 𝐽∗(𝑥0) < ∞, por lo que
lim𝑘→∞
𝐿(𝑥(𝑘), 𝑢 (𝑘)) = 0 ⇒ lim𝑘→∞
𝑥(𝑘) = 0
E
12
Control predictivo para un vehículo tipo Segway
Ley de control óptima
El control óptimo para un sistema lineal con índice de desempeño cuadrático
𝐿(𝑥, 𝑢) = 𝑥𝑇𝑄𝑥 + 𝑢𝑇𝑅𝑢
Siendo 𝑄 y 𝑅 matrices simétricas definidas positivas.
Se puede demostrar que la ley de control es lineal
𝑢 = 𝐾 · 𝑥
Y el coste óptimo es
𝐽∗(𝑥) = 𝑥𝑇𝑃𝑥
Haciendo uso del principio de optimalidad de Bellman antes descrito: