Documentos de Académico
Documentos de Profesional
Documentos de Cultura
S Garrido PHD
S Garrido PHD
Autor:
Santiago Garrido
Directores:
Dr. Luis Moreno
Dr. Carlos Balaguer
Legans, 1999
Publication Data:
Santiago Garrido
Identificacin, Estimacin y Control de Sistemas
No-lineales mediante RGO
Universidad Carlos III
ISBN 0-4850
A mi familia
AGRADECIMIENTOS
Quiero dar las gracias en primer lugar a mis directores de tesis, D. Luis Moreno y D. Carlos Balaguer, por su inapreciable ayuda y buenos consejos, no slo
con el tema de la tesis, y que ahora culminan con la presentacin de este trabajo.
A todos mis compaeros en el Departamento, por su desinteresada ayuda en
todos los problemas que han ido surgiendo a lo largo de estos aos, y por los
buenos ratos que hemos pasado entre tanto.
En un aspecto ms personal, debo dar las gracias a mi familia por aguantar y
animar durante tanto tiempo a alguien que hace cosas tan raras como sta.
VI
RESUMEN
La identificacin de sistemas trata de la estimacin de modelos de sistemas
dinmicos a partir de los datos observados. La estimacin trata de evaluar y disear los estimadores de estado. Ambos se suponen que operan en un entorno
estocstico.
Esta tesis dirige su esfuerzo investigador principalmente hacia la mejora de la
resolucin de los problemas de identificacin y estimacin de estados de sistemas
dinmicos no-lineales y el control adaptativo de los mismos.
Se presenta un nuevo mtodo hbrido para la optimizacin de funciones no lineales y no diferenciables que varan con el tiempo sin la utilizacin de derivadas
numricas. Esto es especialmente importante por la presencia de ruido. Este mtodo est basado en los algoritmos genticos con una nueva tcnica de bsqueda que
hemos denominado Optimizacin Gentica Restringida (RGO). Este mtodo est
especialmente indicado para su uso en la identificacin para el control de sistemas
dinmicos.
Este mtodo de optimizacin es el marco unificador de la tesis y al ser un
mtodo bsico permite su aplicacin a multitud de problemas relacionados con
la Teora de Sistemas, que precisan de una optimizacin en lnea, puesto que las
funciones varan con el tiempo y sin el uso de derivadas numricas ya que estos
sistemas estn expuestos a ruidos.
A partir de ste algoritmo, se presenta un mtodo de altas prestaciones para la
identificacin de sistemas no lineales variables con el tiempo con modelos lineales
y no lineales. Este mtodo puede ser usado en lnea y en bucle cerrado, por lo que
se puede utilizar en control. Este mtodo utiliza un algoritmo de identificacin en
lnea que empieza calculando qu ARX se adapta mejor al sistema, lo que nos da
los rdenes y el retardo del modelo. A continuacin calcula un modelo ARMAX
que sirve como semilla para inicializar el RGO y crear un modelo NARMAX.
El algoritmo RGO permite describir un nuevo estimador no lineal para el filtrado de sistemas con procesos y modelos de observacin no lineales, basados en
la optimizacin con RGO. Los resultados de simulacin se usan para comparar
el rendimiento de este mtodo con EKF (Extended Kalman Filter), IEKF (Iterated Extended Kalman Filter), SNF (Second-order Non-linear Filter), SIF (Single-
stage Iterated Filter) y MSF (Montecarlo Simulation Filter) en presencia de diferentes niveles de ruido. Asimismo se compara con las Redes Neuronales de tipo
Backpropagation.
Cuando se aplica a la identificacin en el espacio de estados se obtiene un nuevo mtodo de identificacin que comienza calculando un ARX y posteriormente
utiliza RGO para mejorar la identificacin previa. Este mtodo est basado en el
modelo de parametrizacin completa y las realizaciones equilibradas. De esta manera se consiguen realizaciones de baja sensibilidad y que evitan los problemas de
estructura de las realizaciones cannicas.
Se presentan dos aplicaciones de estos mtodos. La primera es el control predictivo con RGO del Sistema MIMO de Rotores Gemelos (Twin Rotor MIMO
System - TRMS), que es un laboratorio diseado expresamente para realizar experimentos de control. En ciertos aspectos su comportamiento recuerda al de un
helicptero. Desde el punto de vista de control ejemplifica un sistema de orden
alto con acoplamientos cruzados muy significativos.
La segunda aplicacin es la localizacin de robots mediante la informacin de
los distintos sensores. Para fusionar toda esta informacin y as poder corregir la
posicin y orientacin del vehculo es necesario un algoritmo que en este caso es
una extension del filtro de Kalman usando RGO.
VIII
ABSTRACT
The system identification deals with the problem of estimating models of dynamical systems from observed data. The estimation tries to evaluate and to design
state estimators. The two of them are supposed to operate in a stochastic environment.
In this thesis, It has been tried to improve the methods of identification and
state estimation of non-linear dynamical systems and their adaptive control.
A new optimization hybrid method of non-linear and non-differentiable, timevarying functions without using numerical derivatives is presented. This is important because of noise. This method based on Genetic Algorithms introduces a new
technique called Restricted Genetic Optimization (RGO).
This optimization method unifies the thesis and due to the fact that it is a basic
method, it can be applied to a lot of problems related with non-differentiable and
time-varying functions.
Based on this algorithm, a high performance method for the identification of
non-linear, time-varying systems with linear and non-linear models, is presented.
This method can be used on-line and in a closed loop. For this reason, it is well
adapted to control. This method uses an on line identification algorithm that begins
by calculating what ARX is the best adapted to the system. This way the order and
the delay of the system are known. Then, an ARMAX that is used as a seed to start
the RGO and to create a NARMAX model, is calculated.
The RGO algorithm can describe a new non-linear estimator for filtering of
systems with non-linear processes and observation models based on the RGO optimization. The simulation results are used to compare the performance of this
method with EKF (Extended Kalman Filter), IEKF (Iterated Extended Kalman
Filter), SNF (Second-order Non-linear Filter), SIF (Single-stage Iterated Filter) y
MSF (Montecarlo Simulation Filter) with different levels of noise.
When this method is applied to the state space identification a new method
is obtained. This method begins by calculating an ARX and then uses RGO in
order to improve the previous identification. This method is based on the full parametrization and balanced realizations. This way low sensitivity realizations are
obtained and the structural issues of multivariable canonical parametrizations are
circumvented.
Two applications of this method are considered. The first application is the
predictive control with RGO of the Twin Rotor MIMO System (TRMS), that is
a laboratory set-up designed for control experiments. In certain aspects, its behaviour resembles that of a helicopter. From the control point of view, it exemplifies
a high order non-linear system with significant cross-couplings.
The second one is the robot localization based on different kind of sensor
information. To fuse all the different information, an algorithm is necessary. In
this case, it has been used an extension of the Kalman algorithm with RGO.
NDICE GENERAL
Agradecimientos . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
VII
Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IX
Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
XXI
1
1
2
3
4
4
8
15
16
18
18
19
20
21
22
23
24
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. .
43
. . . 43
. . . 45
. . . 46
. . . 49
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. .
53
. . . 53
. . . 54
. . . 54
. . . 55
. . . 57
. . . 59
61
61
62
63
63
64
67
67
68
69
70
75
79
87
. 88
. 89
. 90
. 92
. 94
97
97
98
99
100
101
103
104
105
107
107
108
109
110
110
111
112
114
116
116
117
119
120
121
123
123
125
127
128
XIII
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. .
. . .
. . .
. . .
. . .
.
.
.
.
.
.
.
.
128
129
130
131
132
135
139
140
143
143
143
145
146
146
148
151
151
151
151
152
9.5.
9.6.
9.7.
9.8.
XIV
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. .
. .
. .
. .
NDICE DE CUADROS
2.1.
2.2.
2.3.
2.4.
2.5.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
31
32
33
34
38
. . . .
. . . .
. . . .
. . .
. . . .
. . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
94
94
94
95
95
95
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
148
149
149
149
XVI
NDICE DE FIGURAS
1.1. Red Feedforward con una capa oculta y una salida. . . . . .
1.2. Red Feedforward con dos capas ocultas. . . . . . . . . . . .
1.3. Red Recurrente. q 1 retarda la seal un tiempo de muestreo.
1.4. Identificacin Serie-Paralelo . . . . . . . . . . . . . . . . .
1.5. Identificacin Paralela . . . . . . . . . . . . . . . . . . . .
1.6. Red con realimentacin de la Capa Oculta. . . . . . . . . . .
1.7. Red con realimentacin de la Capa de Salida. . . . . . . . .
1.8. Sistema en bucle cerrado. . . . . . . . . . . . . . . . . . . .
1.9. Diagrama de flujo del filtro de Kalman. . . . . . . . . . . .
1.10. Sistema adaptativo con identificacin de modelo (MIAS) . .
1.11. Sistema adaptativo con modelo de referencia (MRAS) . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2.1.
2.2.
2.3.
2.4.
2.5.
2.6.
2.7.
2.8.
2.9.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 27
. 28
. 29
. 30
. 30
. 31
. 32
. 33
. 34
Algoritmos Genticos. . . . . . . . . . . . .
Bsqueda Gentica. . . . . . . . . . . . . . .
Terminologa de los Algoritmos Genticos. .
Ciclo de los Algoritmos Genticos. . . . . . .
Cmo funcionan los Algoritmos Genticos?
Mtodos de seleccin. . . . . . . . . . . . . .
Funcin de salud. . . . . . . . . . . . . . . .
Cruce. . . . . . . . . . . . . . . . . . . . . .
Mutacin. . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
9
10
10
11
12
13
14
17
21
25
25
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
66
68
68
71
5.5. Fenmeno de blow-up al intentar identificar la planta 1 con el bloque ARMAX de Simulink. Este efecto se debe a que se correlan
los errores (t) y (t) con la entrada y hace imposible la identificacin de este sistema mediante este mtodo. . . . . . . . . . . .
5.6. Resultados de la identificacin de la planta 1 con el mtodo RGO.
Arriba: salida del modelo vs. salida real. Abajo: error cometido. .
5.7. Resultados de la identificacin de la planta 2 con el mtodo RGO.
Arriba: salida del modelo vs. salida real. Abajo: error cometido. .
5.8. Resultados de la identificacin de la planta 3 con el mtodo RGO.
Arriba: salida del modelo vs. salida real. Abajo: error cometido. .
5.9. Resultados de la identificacin de la planta 4 con el mtodo RGO.
Arriba: salida del modelo vs. salida real. Abajo: error cometido. .
5.10. Estructura de la Red Multicapa utilizada en la comparacin. . . .
5.11. Resultados de la identificacin de la planta 1. Subfigura 1: salida
del modelo vs. salida real para RGO. Subfigura 2: error cometido.
Subfigura 3: salida del modelo vs. salida real para la Red Neuronal. Subfigura 4: error cometido. . . . . . . . . . . . . . . . . . .
5.12. Resultados de la identificacin de la planta 2. Subfigura 1: salida
del modelo vs. salida real para RGO. Subfigura 2: error cometido.
Subfigura 3: salida del modelo vs. salida real para la Red Neuronal. Subfigura 4: error cometido. . . . . . . . . . . . . . . . . . .
5.13. Resultados de la identificacin de la planta 3. Subfigura 1: salida
del modelo vs. salida real para RGO. Subfigura 2: error cometido.
Subfigura 3: salida del modelo vs. salida real para la Red Neuronal. Subfigura 4: error cometido. . . . . . . . . . . . . . . . . . .
5.14. Resultados de la identificacin de la planta 4. Subfigura 1: salida
del modelo vs. salida real para RGO. Subfigura 2: error cometido.
Subfigura 3: salida del modelo vs. salida real para la Red Neuronal. Subfigura 4: error cometido. . . . . . . . . . . . . . . . . . .
72
72
73
73
74
75
77
78
78
79
7.3. Resultados de identificacin de la Planta con el mtodo GaussNewton.Arriba: Salida del Modelo vs. Salida del Sistema. Abajo:
Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
7.4. Resultados de identificacin de la Planta con el mtodo RGO.
Arriba: Salida del Modelo vs. Salida del Sistema. Abajo: Error . . 104
8.1.
8.2.
8.3.
8.4.
108
109
110
9.1.
9.2.
9.3.
9.4.
9.5.
123
124
125
128
9.6.
9.7.
9.8.
9.9.
9.10.
9.11.
115
115
116
116
117
117
120
121
121
122
128
129
129
130
130
131
131
132
132
133
133
134
135
136
136
137
137
138
138
139
140
141
INTRODUCCIN
Ha habido un gran inters por parte de la comunidad de control en aplicar los
algoritmos genticos a problemas de Ingeniera de Control de Sistemas. Basados
en modelos computacionales de la evolucin biolgica natural, los Algoritmos Genticos pertenecen a la clase de los algoritmos evolutivos, que tambin incluyen
la programacin evolutiva, la evolucin de estrategias y la programacin gentica. Comparado con los mtodos tradicionales de bsqueda y optimizacin, tales
como los basados en el clculo o los basados en tcnicas enumerativas, los algoritmos genticos son una tcnica robusta, que puede ser utilizada de forma global
o semi-local y que se puede aplicar generalmente de forma ms directa a situaciones que tienen poco o ningn conocimiento acerca del proceso a ser controlado.
Para el ingeniero de control los algoritmos genticos y la programacin evolutiva, en general, presentan oportunidades de plantearse problemas que no permiten
una solucin eficiente a travs de la aplicacin de tcnicas convencionales. En los
ltimos aos, los algoritmos genticos han sido aplicados a muchos temas relacionados con la Ingeniera de Control, incluyendo la optimizacin paramtrica y
combinatoria y el control adaptativo.
El diseo de controladores no-lineales es un problema muy importante en Ingeniera de Control, aunque difcil. Hoy en da, la mayora de los controladores
industriales son lineales puros debido a las dificultades encontradas en el problema de diseo de controladores no lineales. Para construir un controlador no-lineal
hemos de hacer suposiciones vlidas acerca de la estructura del controlador y del
sistema a controlar. Estas suposiciones nos llevan frecuentemente al desarrollo de
controladores no suficientemente robustos puesto que los efectos de la incertidumbre no han sido tenidos en cuenta a la hora de disear el controlador.
La identificacin de sistemas de dinmica desconocida ha producido un campo
de investigacin llamado identificacin de sistemas. En identificacin de sistemas definimos o describimos una estructura modelo que tiene un comportamiento
similar al del sistema desconocido.
Objetivos de la tesis
El principal objetivo de la tesis es el desarrollo de nuevos mtodos hbridos
de identificacin y de estimacin de estados, on line de sistemas dinmicos nolineales, basados en algoritmos genticos. Asimismo, se han estudiado sus aplicaciones al control adaptativo de dichos sistemas.
En la literatura, el uso de los algoritmos genticos como mtodo de optimizacin se hace off-line y el tiempo utilizado es bastante grande, ya que usualmente
los algoritmos genticos se usan como un mtodo de bsqueda global y en paralelo.
Hemos utilizado nuevos mecanismos para usarlos como lo hace la Naturaleza:
On-line y de una manera local o semi-local.
Hemos demostrado que los algoritmos genticos se pueden usar como un mtodo rpido de optimizacin de funciones que varen con el tiempo.
A ste nuevo mtodo que hemos desarrollado lo hemos denominado Restricted Genetic Optimization (RGO) y simula el mtodo del gradiente sin utilizar
derivadas y puede ser utilizado cuando las seales tienen mucho ruido.
El mtodo de bsqueda restringida consiste en hacer la bsqueda en un entorno
del punto correspondiente al ltimo modelo identificado y tomar el punto mejor
adaptado como centro del entorno de bsqueda de la nueva generacin.
Los individuos de cada generacin representan los vectores de diferencia respecto al mejor punto de la generacin anterior. El radio se toma proporcional a la
incertidumbre.
Estructura de la Tesis
El contenido de la tesis se encuentra distribuido en diez captulos. Inicialmente
se presenta un captulo dedicado a las distintas metodologas relacionadas con el
contenido de la tesis.
El desarrollo de un nuevo mtodo de optimizacin RGO (Restricted Genetic
Optimization) para funciones que varen con el tiempo. Este mtodo ha probado ser muy til para minimizar o maximizar funciones posiblemente no-lineales
y no-diferenciables. Este mtodo est especialmente indicado para su uso en la
identificacin para el control de sistemas dinmicos.
En el captulo 6 se presenta un mtodo de altas prestaciones para la identificacin de sistemas no lineales variables con el tiempo con modelos lineales y no
lineales mediante RGO.
El captulo 7 trata de nuevo estimador no lineal para la estimacin de los estados en sistemas con procesos y modelos de observacin no lineales, basados
en la optimizacin con RGO (Restricted Genetic Optimization). Los resultados de
simulacin se usan para comparar el rendimiento de este mtodo con EKF (Extended Kalman Filter), IEKF (Iterated Extended Kalman Filter), SNF (Second-order
Nonlinear Filter), SIF (Single-stage Iterated Filter) y MSF (Montecarlo SimulaXXII
XXIV
Las aplicaciones a los Robots Mviles fueron desarrolladas junto con otros
autores en:
Armingol, J.M., Moreno, L.E., Garrido, S., de la Escalera, A., Salichs, M.A.: Mobile Robot Localization Using a Non-Linear Evolutionary Filter. 3rd IFAC Symp. on Intelligent Autonomous Vehicles
(IAV98).
Identificacin
La identificacin de sistemas es la teora y el arte de construir modelos matemticos de sistemas dinmicos basndonos en las entradas y salidas observadas.
Como disciplina cientfica data de los primeros intentos de modelar series de tiempo usando tcnicas AR. Aunque una parte sustancial del desarrollo de las tcnicas
est ligado a la Comunidad de Control, est bsicamente construida a partir de
tcnicas estadsticas, en particular en los mtodos de regresin lineal y no-lineal.
Construir modelos para sistemas desconocidos es un objetivo importante de
la Ingeniera de control. Estos modelos necesitan simular el comportamiento real
en los casos en que existe un conocimiento previo limitado de la estructura del
sistema.
Consideremos el motor de un coche por ejemplo. Es importante simular el
comportamiento de un motor para la deteccin de fallos y para propsitos de diagnosis. Algunos factores importantes que afectan este proceso son las dificultades
asociadas con el desarrollo de un modelo aceptable con un orden de complejidad
mnimo y con un nmero de medidas mnimo. Estos factores hacen que el proceso
de modelado de un motor de coche bastante difcil. Esto puede ser generalizado a
una amplia clase de sistemas en la industria.
La identificacin de sistemas no lineales se considera un problema difcil. La
razn es que identificar un sistema no-lineal conlleva dos grandes etapas: la seleccin de la estructura del modelo con un cierto nmero de parmetros y la seleccin
de un algoritmo que estime dichos parmetros.
En la literatura han sido propuestos numerosos modelos lineales como solucin al proceso de identificacin. Estos modelos son simples, como OE y ARX
por ejemplo. En este caso podemos elegir un algoritmo sencillo para estimar los
parmetros del modelo.
Aunque muchos sistemas no-lineales pueden ser linealizados representndolos por medio de una ecuacin diferencial o en diferencias, modelar sistemas no-
1.1.1.
1.1. IDENTIFICACIN
Un problema tpico Observamos las entradas u(t) y las salidas y(t) de un sistema, con t = 1, . . . , N . Deseamos construir el modelo de un sistema, y podemos
buscar un modelo sencillo de la forma
y(t) + a1 y(t 1) = b1 u(t 1) + b2 u(t 2)
(1.1)
(1.2)
t=1
Los valores a 1N , b1N , y b2N pueden ser calculados fcilmente en este caso puesto
1.2 es una funcin cuadrtica. As obtenemos el modelo del sistema:
y(t) + a 1N y(t 1) = b1N u(t 1) + b2N u(t 2)
(1.3)
1.1.2.
Modelos de Entrada-Salida
1.1.3.
(1.6)
, que puede ser visto como una manera de determinar el siguiente valor de
la salida dadas las observaciones anteriores y las entradas. Aqu A(q 1 )
y B(q 1 ) son polinomios en el operador desplazamiento hacia atrs q 1
e y(t), u(t), y e(t) son las salidas, entradas y ruido, respectivamente. El
ruido e(t) es una sucesin aleatoria normalmente distribuida de media cero
y varianza 2 .
OE (Output Error) cuya expresin es
y(t) =
B(q 1 )
u(t nk) + e(t)
F(q 1 )
(1.7)
con la fuente de error e(t) que es la diferencia (error) entre la salida real y
la salida libre de ruido (terica).
ARMAX (Auto-Regressive Moving Average with eXogenous inputs), cuya
expresin es
A(q 1 )y(t) = B(q 1 )u(t nk) + C(q 1 )e(t)
(1.8)
1.1.4.
1.1. IDENTIFICACIN
n
(k)gk ((t))
(1.9)
k=1
donde (t) est formado por las entradas u(k) y salidas y(k) pasadas:
(t) = [y(t 1), . . . , y(t n a ), u(t 1), . . . , u(y n b )]T
(1.10)
(1.11)
y ser:
N = argmin
N
|y(t) y (t|)|2
(1.12)
k=s
(1.14)
(1.15)
(1.16)
y
a T = (a0 , . . . , a N 1 , b00 , . . . , b N 1,N 1 ,
a1T
b2T
c , . . . , c N 1,N 1,N 1
000
(1.17)
c3T
y=
y(k)
y(k 1)
..
.
y(k N )
(1.18)
1.1. IDENTIFICACIN
X =
x1T (k)
x1T (k 1)
..
.
x2T (k)
x2T (k 1)
..
.
x3T (k)
x3T (k 1)
..
.
a1
a = b2
c3
La solucin por mnimos cuadrados viene dada por la ecuacin normal X T Xa =
X T y que tiene como solucin:
a = (X T X )1 X T y
(1.19)
nu
y
y
u
ai y(k i) + i=1
bi u(k i) + i=1
nj=1
ci j y(k i)u(k j)
y(k) = a0 + i=1
nu 2
n
y
+ i=1
ai y 2 (k i) + i=1
bi u (k i) + i=1
ai (k i) (1.21)
n
nos permite una descripcin buena y sencilla de una amplia clase de sistemas
no lineales.
Por ejemplo, si el modelo exacto NARMAX es
y(k) = y(k 1)eu(k1)
(1.22)
i
(x)
i=0
i!
(1.23)
1.1.5.
Los modelos de Redes Neuronales artificiales han sido estudiados durante muchos aos con el nimo de conseguir prestaciones parecidas a las humanas en campos como el reconocimiento del habla o de imagen. Estos modelos estn compuestos por muchos elementos computacionales trabajando en paralelo y organizados
en patrones que recuerdan a las redes neuronales biolgicas.
Los elementos computacionales o nodos estn conectados mediante pesos que
son adaptados a lo largo del proceso para mejorar sus prestaciones. Es imposible
cubrir todos los tipos de redes neuronales y solamente vamos a considerar las
llamadas Feedforward y Recurrentes, que son las ms utilizadas en identificacin
de sistemas.
Redes Feedforward
El paso desde el desarrollo general 1.9 de una funcin en la base {gk } a lo que
es una red neuronal no es grande. Basta escoger gk () = k (k + k ) donde
k es un vector de parmetros y k y k son parmetros escalares para obtener
g() =
n
k (k + k ) + 0
(1.25)
k=1
1.1. IDENTIFICACIN
1
S -> s
g^
....
....
....
S -> s
S -> s
Fig. 1.1: Red Feedforward con una capa oculta y una salida.
las sumas con peso en la entrada de cada unidad, despus estas sumas son pasadas
por la funcin de activacin y forman las salidas de las capas ocultas. Para calcular
g se forma una suma con pesos de las salidas de los nodos de la capa oculta. Si g
es una funcin vectorial, hay varios nodos de salida formando la capa de salida.
La entrada se denomina, a veces, capa de entrada. Los pesos de las diferentes
sumas son los parmetros de la red.
La funcin (x) se toma de tipo sigmoide, es decir es una funcin continua
que verifica lim x (x) = a y lim x (x) = b con a, b R y b < a.
La red neuronal de una capa oculta 1.25 se puede generalizar a varias capas
ocultas. La salida de la primera capa oculta alimenta la segunda capa y as sucesivamente, y la ltima capa oculta alimenta a la capa de salida, como se puede ver
en la figura. La frmula para dos capas ocultas ser
g() =
i
3
1
1,i
(
i,2 j (
r,m
m ))
j
(1.26)
Redes Recurrentes
Si alguna de las entradas de la red f eed f or war d consiste en salidas retardadas de la red, o bien en algn estado interno retardado, la red recibe el nombre
de red recurrente o red dinmica. ste tipo de redes es especialmente interesante
para identificacin.
10
>
>
>
>
....
....
....
....
Capa de salida
Capas ocultas
Capa de entrada
>
>
g^
S -> s
S -> s
-1
-1
Aspectos Algortmicos
Los pesos de la red deben ser escogidos de forma que la salida se ajuste lo
mejor posible a los datos observados, para ello hay que minimizar el funcional:
N
1
VN () =
|y(t) g((t), )|2
2N
(1.27)
t=1
1.1. IDENTIFICACIN
11
(1.28)
SISTEMA
u(k)
ys (k+1)
e(k)
Red
Neuronal
yn(k+1)
12
SISTEMA
u(k)
ys (k+1)
e(k)
Red
Neuronal
yn(k+1)
1.1. IDENTIFICACIN
13
Capa de
entrada
Capa
Oculta
Capa de
salida
y1
Neuronas
auxiliares
y2
La red es de propagacin hacia adelante y al ajustar los pesos hay que tener
en cuenta los pesos que van desde las entradas auxiliares a la capa oculta. Este
tipo de red puede reconocer o reproducir secuencias de periodos cortos de tiempo.
Este tipo de red se utiliz para el reconocimiento de palabras generadas por una
gramtica formal.
Jordan propuso una arquitectura 1.7 donde la capa de entrada est dividida en
dos partes: el conjunto de entradas externas y la realimentacin de la activacin
de la capa de salida a travs de conexiones de valor fijo.
14
Capa de
entrada
Capa
Oculta
Capa de
salida
y1
Neuronas
auxiliares
y2
Este tipo de red es utilizada para el reconocimiento y clasificacin de secuencias. Fue sugerida por Jordan para su empleo en la generacin de trayectorias de
robots.
Ejemplos de otras arquitecturas dentro de ste grupo son:
Backpropagation in Dynamic Systems (BPD):
[Narendra [89] (1991)]:Identificacin y Control, Control por Modelo de Referencia.
Propone la construccin de una segunda red llamada sensitivity model
para el clculo en lnea de las derivadas de las salidas con respecto a los
parmetros (matriz Jacobiana) y de las derivadas con respecto a las entradas.
En el artculo, por lo dems explica con detalle el esquema propuesto para
generar el gradiente.
Backpropagation through time (BTT):
[Werbos [111] (1990)]: Identificacin, Camin remolque.
1.1. IDENTIFICACIN
15
1.1.6.
La mayora de los mtodos usuales en la identificacin de sistemas estn basados en mnimos cuadrados o en el mtodo de mxima verosimilitud que son mtodos locales guiados por el gradiente y necesitan una funcin de prdidas (loss
function) diferenciable y un espacio de bsqueda suave.
Esto tiene el inconveniente de que si las seales tienen ruido coloreado, como
suele ser habitual en la prctica, los mtodos basados en mnimos cuadrados tienen
el fracaso asegurado.
Si adems estamos implementado el mtodo en lnea el ruido estar correlacionado con los regresores y el mtodo explotar, fenmeno conocido como
blow-up.
Para evitar esto en algunos casos sencillos, se puede usar un factor de olvido
muy prximo a la unidad, pero en la mayora de los casos de sistemas no lineales
variantes en el tiempo esta tcnica falla.
A menudo fallan en la bsqueda de ptimos globales cuando ste espacio de
bsqueda es no diferenciable, o no lineal en sus parmetros. Los mtodos de optimizacin basados en algoritmos genticos pueden mejorar los resultados porque
no utilizan las propiedades de diferenciabilidad o de ser lineal en los parmetros.
En 1992, Kristinsson y Dumont [69] hicieron un primer estudio de la identificacin de sistemas y del control off-line con algoritmos genticos de sistemas
dinmicos continuos y discretos. Comprobaron que los algoritmos genticos son
efectivos en ambos dominios y que es posible identificar directamente parmetros
fsicos, o bien, polos y ceros. Hicieron simulaciones con sistemas de fase mnima
y no mnima y de un sistema con dinmica no modelada.
En 1993, Flockton y White [27] utilizan los algoritmos genticos para hacer
otra identificacin off-line de polos y ceros con algunas pequeas mejoras.
Posteriormente, en 1995, Tan, Li y Murray-Smith [104] usan los algoritmos
genticos con "simulated anneling"para hacer una identificacin off-line y la linealizacin de sistemas no lineales, invariantes del tiempo con un modelo ARMAX. Utiliza esta tcnica de bsqueda para identificar los parmetros de un sistema descrito por un modelo ARMAX en variables de estado, en presencia de ruido
blanco y para aproximar un sistema no lineal multivariable por un modelo en el
16
1.1.7.
(1.29)
(1.30)
(1.31)
1.1. IDENTIFICACIN
17
v
r
Go
Fy
1
1 + Fy (q)G o (q)
(1.32)
(1.33)
18
1.2.
Estimacin de Estados
1.2.1.
19
(1.35)
1.2.2.
(1.37)
(1.38)
La ecuacin de medida es
z(k) = H (k)x(k) + w(k),
k = 1, 2, . . .
(1.39)
con w(k) secuencia de ruido de medida blanco Gaussiano de media cero con covarianza
E[w(k)w(k) ] = R(k)
(1.40)
20
= E[x(k)|Z k ]
que es la media condicional del estado en el tiempo k. dadas las observaciones
hasta el tiempo k inclusive , y de la matriz de covarianza asociada
k
|Z ]
P(k|k) = E[[x(k) x(k|k)][x(k)
(k|k)]
(1.42)
1.2.3.
(1.43)
(1.44)
donde (k) y (k) son los ruidos, que se suponen vectores aleatorios, independientemente distribuidos:
(k)
0
Q(k)
0
,
.
(1.45)
(k)
0
0
R(k)
La estimacin ptima implica la descripcin de la densidad de probabilidad
condicional
M MSE
k
x
(k|k) = E(x(k)|Z ) = x(k) p(x(k)|Z k )d x .
(1.46)
Estado Real
Entrada conocida
Estado en t k
x(k)
Control en t k
u(k)
Transicin a t k+1
x(k+1)=
F(k)x(k)
+G(k)u(k)
Medida en t k+1
z(k+1)=
H(k+1)x(k+1)
+w(k+1)
21
Clculo de la covarianza
Covarianza del estado en tk
P(k|k)
Covarianza de la
prediccin del
estado
P(k+1|k)=
F(k)P(k|k)F'(k)+Q(k)
Prediccin de la
medida
^
z(k+1|k)=
H(k+1)x(k+1|k)
Innovacin de la
covarianza
S(k+1)=
H(k+1)P(k+1)H'(k+1)
+R(k+1)
Innovacin
n(k+1)=
z(k+1)-z(k+1|k)
Actualizacin de la
estimacin del estado
^
x(k+1|k+1)=
x(k+1|k)+W(k+1)n(k+1)
Actualizacin de la
covarianza del estado
P(k+1|k+1)=
P(k+1|k)
-W(k+1)S(k+1)W'(k+1)
1.2.4.
22
vez de hacerlo en una trayectoria nominal previamente calculada. Por esta razn,
las funciones g(k, x(k 1), (k)) y h(k, x(k), (k)) son desarrolladas en serie
de Taylor alrededor de x(k|k)
1), 0)
1|k 1)) + g (k, x(k 1), (k))(k)
+gx (k, x(k 1), (k))(x(k 1) x(k
n
e j (x(k 1) x(k
1|k 1)) gxj x (k, x(k 1), (k))(x(k 1) x(k
1|k 1))
+ 12
j=1
+ 12
n
j
e j (k)g
(k, x(k 1), (k))(k)
j=1
n
j
1|k 1)) gx
(k, x(k 1), (k))(k) .
+ e j (x(k 1) x(k
j=1
(1.47)
y el desarrollo con trminos hasta segundo orden de la ecuacin de medida es:
z(k) = h(k, x(k), (k) h(k, x(k|k
1), 0)
+h x (k, x(k 1), (k))(x(k 1) x(k
1|k 1)) + h (k, x(k 1), (k))(k)
n
+ 12
e j (x(k 1) x(k
1|k 1)) h xj x (k, x(k 1), (k))(x(k 1) x(k
1|k 1))
j=1
+ 12
n
j
e j (k)h
(k, x(k 1), (k))(k)
j=1
n
j
1|k 1)) h x
(k, x(k 1), (k))(k) .
+ e j (x(k 1) x(k
j=1
(1.48)
donde e j es el
1.2.5.
j th
1) para x(k). Otros errores adicionales son debidos a la no linealidad en la medida. Es posible disminuir estos errores
si el estado actualizado no es calculado como una aproximacin a la esperanza
condicional sino como un estimador del tipo maximum a posteriori.
23
1)) .
(1.50)
El Filtro de Kalman Extendido Iterado (IEKF) usa un algoritmo NewtonRaphson para estimar x(k|k).
(1.51)
(1.52)
1)),
P i1 (k|k)P(k|k 1)1 (x i (k|k) x(k|k
(1.53)
with H i1 (k) = h x (k, x i (k|k)) .
1.3.
Validacin de Modelos
24
La primera forma concebible es el uso del sentido comn. Si, por ejemplo, un
parmetro estimado representa la longitud de un eje, sta debe ser positiva. Otro
ejemplo puede ser el nivel de un depsito. Los tests de ste tipo pertenecen a la
categora del conocimiento previo y son especialmente importantes cuando los
parmetros tienen algn significado fsico.
La gran mayora de los mtodos estn basados en datos experimentales. Un
test bsico consiste en calcular la varianza de los parmetros estimados. Una varianza grande comparada con el valor del parmetro indica que algo est mal. Otra
posibilidad es estimar varios modelos en paralelo. La respuesta en frecuencia del
modelo paramtrico puede ser comparada con la respuesta espectral, por ejemplo.
La herramienta de validacin ms verstil, en todas las categoras, es la simulacin. El sistema verdadero y el sistema derivado se alimentan con la misma
seal de entrada y se comparan las salidas. Para una buena comparacin es deseable que el experimento se base en datos nuevos, es decir que no se hayan utilizado
para la estimacin. Esto recibe el nombre de validacin cruzada.
Tambin suele ser valioso investigar la secuencia de residuos {(
N )}, especialmente con datos nuevos. Una manera muy sencilla es representar grficamente
estos residuos y comprobar si la secuencia resultante muestra el patrn de ruidos
esperado. Conjuntamente con esto, para saber si los residuos son ms o menos
blancos, puede ser estudiada su covarianza muestral
R N ( ) =
N
1
(t, N )(t + N ),
N
t=1
que para > 0 debe ser pequeo, al menos si N es grande. Adems la independencia entre la entrada y la salida puede ser comprobada representando
R ,u
N ( )
1
=
N
min(N
,N )
(t, N )u(t + ),
t=max(1,1 )
para varios retardos . stos deben ser tambin pequeos, puesto que de lo
contrario, hay ms informacin en la salida del sistema real, originada por la entrada. Lo que significa que todava existen dinmicas no modeladas.
1.4.
Control Adaptativo
25
la conducta de los sistemas no-lineales en cuanto a la modelizacin e identificacin de la estructura y de los parmetros de tales sistemas cuando se disea un
controlador adaptativo.
Parmetros del proceso
Clculo de los
parmetros
del Controlador
Estimacin de los
parmetros del
sistema
Parm.
Contr.
r
Controlador
y
Proceso
ym
ym
Clculo de los
parmetros
del Controlador
Parm.
Contr.
r
Controlador
-
u
Proceso
26
Algoritmos Genticos
Introduccin
Los algoritmos genticos son mecanismos de bsqueda basados en las leyes de
la seleccin natural y de la gentica. Combinan la supervivencia de los individuos
mejor adaptados junto con un intercambio aleatorio de informacin, lo que le da
al algoritmo un aire de bsqueda biolgica.
Los algoritmos genticos han sido desarrollados por John Holland y su equipo
de estudiantes de la Universidad de Michigan. Las metas que se proponan eran:
explicar rigurosamente los procesos adaptativos y disear nuevos sistemas artificiales que sigan manteniendo los mecanismos de los sistemas naturales. Para ms
detalles se pueden consultar [Goldberg 91] y [Davis 89].
Se parte, inicialmente, de un conjunto de individuos, la poblacin, y de una
funcin que evala su eficacia para el problema concreto y que es la funcin que
se desea optimizar. Al valor que se asigna a cada individuo a partir de esta funcin
se le denomina salud.
28
29
No hace uso de ningn gradiente, ni conceptos similares. Por lo que se puede usar con seales con mucho ruido, en las que no tiene sentido las ideas
asociadas a la derivada. No obstante, si las funciones son derivables, los algoritmos genticos se pueden usar en la primera fase de minimizacin, para
encontrar las cuencas de atraccin, y a continuacin utilizar, por ejemplo,
un mtodo basado en el gradiente.
Se pueden utilizar en lnea.
Los principales inconvenientes son:
El nmero de operaciones y por tanto el coste computacional puede ser muy
alto si no se toman precauciones.
No hay ninguna teora matemtica hasta el momento, que nos asegure la
convergencia.
Se puede emplear fcilmente computacin en paralelo.
30
Como es lgico, este tipo de mtodos son apropiados cuando trabajamos con
funciones que no son suaves y no son convexas y que no se deben aplicar a casos
sencillos en que son ms rpidos y precisos otros mtodos, como los basados en
el gradiente.
2.1.1.
En un algoritmo gentico la informacin ha de codificarse para poder trabajar adecuadamente con ella. Existen numerosos sistemas de codificacin, aunque
nosotros utilizaremos uno de los ms sencillos: el cdigo binario natural. Este cdigo a pesar de su simplicidad cumple la teora de los esquemas de Holland en
cuanto a tener el menor nmero posible de caracteres (o alelos): nicamente dos.
Una vez definido el sistema de codificacin a emplear vamos a ver como actan
los operadores bsicos de seleccin, cruce y mutacin sobre este cdigo.
31
Seleccin: Supongamos una poblacin de puntos codificados en cadenas binarias (limitamos el tamao de la poblacin a cuatro muestras):
Salud asociada
169
400
16
49
32
,QG
,QG
,QG
,QG
33
PADRE 1
PADRE 2
Los hijos resultarn de una combinacin de estas cuatro subcadenas: el primer hijo contendr los tres primeros bits del Padre 1 y los dos ltimos del
Padre 2, mientras el segundo hijo llevar la informacin relativa a los tres
primeros bits del Padre 2 y los dos ltimos del Padre 1.
Hay que notar que en este mecanismo no se consideran como posibles puntos de cruce el bit 0 y el bit 5 (extremos de las cadenas), ya que tendramos
34
PADRE1 PADRE 2
Hijo 1 .. | 100
+ 00 | ... 00100
Hijo 2
10 | ...
+ .. | 111 10111
2.1.2.
35
Mecanismos Avanzados
Reescalado: Un problema frecuente en los algoritmos genticos es el de la convergencia prematura, donde se tiende a alcanzar un valor muy cercano al
ptimo buscado en las primeras generaciones, para mantener despus este
valor a lo largo de la simulacin sin llegar al mejor resultado posible. Este fenmeno es debido a una alta competitividad inicial entre individuos,
permitiendo a aquellos con una salud excepcional dominar sobre el resto,
y a un decremento de sta en generaciones posteriores, al irse hacinando la
poblacin en intervalos cada vez ms reducidos.
Contra esta convergencia prematura existen mecanismos de reescalado consistentes en modificar la salud de los individuos para optimizar en cada momento su competitividad, a fin de lograr una solucin de equilibrio entre
competitividad y eficiencia.
Reescalado lineal: es el ms utilizado y simple. La salud escalada viene definida por:
(2.1)
f = af + b
con f la antigua funcin de salud. Siendo Cmult el nmero esperado de
copias del mejor individuo de cada poblacin, las constantes a y b se
eligen segn:
= Cmult f media
f max
(2.2)
f media
= f media
(2.3)
(2.4)
36
Muestreo estocstico sin reemplazo: es el mtodo de seleccin experimentado por De Jong en su algoritmo de prueba R3, basado en valores esperados
de seleccin.
Muestreo determinstico: cada individuo es seleccionado un nmero de veces
igual a la parte entera de su valor de copias esperado ( pseleccion n), completando la poblacin con aquellos individuos cuya parte fraccionaria de este
valor sea mayor.
Muestreo estocstico permanente con/sin reemplazo: tienen gran parecido
al mtodo anterior (determinstico) aunque difieren en el modo de completar
la poblacin de seleccin. En el muestreo estocstico permanente con reemplazo la parte fraccionaria del valor esperado de copias sirve para calcular
el peso que cada individuo tendr en una seleccin bsica por ruleta. Por
otra parte, en el muestreo estocstico permanente sin reemplazo, estas partes fraccionarias se utilizan directamente como probabilidades de seleccin
a la hora de completar la poblacin.
Muestreo estocstico por competicin: sugerido a Brindle por Wetzel en 1983.
Inicialmente se realiza una seleccin de pares de individuos por el mecanismo bsico, calculando las probabilidades de seleccin de la manera habitual, para despus introducir en la nueva poblacin el individuo con mayor
salud de cada pareja, desechando el otro.
Aunque Brindle en sus estudios no pudo concluir cul de los anteriores era
37
Individuo
dominacin
{G4 G3 G2 g1 }
(Crom. expresado)
38
(1971) desarroll un sistema de dominacin triallico para cdigos binarios introduciendo tres alelos, el 1, equivalente a un 1 dominante, el -1, equivalente a un 1
recesivo y el 0 que tambin es recesivo. El mapa de dominacin es el siguiente:
0
0 0
-1 0
1 1
-1
0
1
1
1
1
1
1
39
Inversin: El operador de inversin acta permutando las posiciones de los genes dentro de las cadenas codificadas de informacin que representan a los
individuos. Se trata de un mecanismo de reordenacin que intenta encontrar
las mejores combinaciones posicionales de alelos, evitando la prdida de
informacin.
Su implementacin en los algoritmos genticos consiste en invertir la posicin de un par de alelos seleccionados a partir de puntos de cruce. As,
elegimos al azar dos puntos de inversin de la cadena binaria, que queda
dividida en tres subcadenas, permutando las posiciones del primer y ltimo
alelo de la cadena central.
Cromosoma:
puntos de cruce
{ . . . g6 | g5 g4 g3 | g2 g1 }
{...1|011|10}
inversin
{ ... g6 | g3 g4 g5 | g2 g1 }
{ ... 1 | 1 1 0 | 1 0 }
{. . . g6 g3 g3 g4 g2 g1 }
{. . . g6 g5 g4 g5 g2 g1 }
Cruce
Cromosoma 2 (invertido): { ... g6 g5 | g3 g4 g2 g1 }
40
2.2.
Esta tcnica ha tenido en los ltimos aos una gran difusin y resuelve el
problema de la cuantizacin que se daba en los algoritmos tradicionales.
Con la codificacin binaria en los algoritmos genticos es que normalmente
no se aprovecha toda la precisin del ordenador. Cada parmetro necesita muchos
bits para representarlo completamente. Que se puede hacer si se quiere usar toda la precisin posible? Una posible respuesta es representar los parmetros en
coma flotante. Cuando la variable es continua, sta es la manera ms natural de
representar los nmeros. Adems se tiene la ventaja de que se requiere un menor
tamao de memoria que para el almacenamiento en binario.
41
Uno puede, en principio, utilizar cualquier representacin concebible para representar los parmetros. Cuando los parmetros estn naturalmente cuantizados,
los algoritmos genticos binarios se ajustan bien al problema. Sin embargo, cuando los parmetros son continuos es mas lgico representarlos por nmeros en
coma flotante.
Adems, como los algoritmos genticos binarios tienen su representacin limitada a la representacin binaria de los parmetros, utilizando nmeros reales se
consigue la precisin de la mquina de manera sencilla.
Otra de las principales ventajas de los algoritmos genticos con parmetros
continuos es la rapidez, ya que los operadores no suelen trabajar a nivel de bit
como en el caso binario, sino que se trabaja a nivel de todo el nmero en coma
flotante:
Seleccin Se ordenan los cromosomas con arreglo a su salud y nos quedamos con los
mejores miembros de la poblacin.
Cruce En los mtodos ms simples se escogen uno o ms puntos en el cromosoma
para marcar los puntos de cruce. Entonces los parmetros entre estos puntos
simplemente se intercambian entre los dos padres.
Mutacin Con una cierta probabilidad, que suele estar comprendida entre un 1 % y un
20 % se seleccionan los cromosomas que van a ser mutados. A continuacin
se seleccionan aleatoriamente los parmetros del cromosoma que van a ser
mutados. Finalmente cada parmetro a mutar es reemplazado por otro nuevo
parmetro aleatorio o bien se le suma otro nuevo parmetro aleatorio.
42
3.1.
Consideremos un proceso que puede ser descrito en cada paso por uno de
los N estados distintos i 1 , i 2 , . . . , i N . En cada paso el sistema puede cambiar de
estado (o permanecer en el mismo) de acuerdo con un conjunto de probabilidades
de transicin. Cuando estas probabilidades slo dependen del estado de partida y
de llegada y no de los estados anteriores, se dice que el proceso es de Markov.
Definicin 3.1.1: Un proceso estocstico {X k }, k=1,2,... con un espacio de estados S = {i 1 , i 2 , i 3 , . . . i N } es un proceso (cadena) de Markov si para cada n y
todos los estados i 1 , i 2 , . . . , i N es cierto que
p(X n = i n |X n1 = i n1 , ..., X 1 = i 1 ) = p(X n = i n |X n1 = i n1 )
(3.1)
(3.3)
44
(3.4)
Se verifica la ecuacin
pi,(n+m)
=
j
(n) (m)
pi,k
pk j , n 0, m 0
(3.5)
(3.6)
que es llamada ecuacin de Markov. Tambin puede ser escrita en forma matricial
como
(3.7)
P (m+n) = P (m) P (n)
Es tambin posible calcular las probabilidades condicionales sobre un conjunto de estados J :
(n)
(n)
pi,J
= p(X t J |X tn = i) =
pi, j
(3.8)
jJ
3.2.
45
Clasificacin de estados
46
f ii(n)
(3.9)
n=1
n f ii(n)
(3.10)
n=1
3.3.
Los algoritmos genticos ms sencillos y extendidos consisten en una poblacin de n cadenas de bits de longitud l, a la que aplicamos los operadores de
seleccin, mutacin y cruce.
Sea N el nmero de posibles poblaciones. El nmero de posibles cadenas es
r = 2l .
Vamos a considerar el algoritmo gentico como cadena de Markov, para lo
cual cada estado va a estar formado por (x1 , x2 , ..., xr ), siendo xi el nmero de
47
N +r 1
, siendo
Proposicin 3.3.1: El cardinal de S[l] es (S[l]) =
r 1
l
r =2.
16
32
10
36
136
528
20
120
816
5984
35
330
3876
52360
56
792
15504
376992
84
1716
54264
2324784
120
3432
170544
12620256
165
6435
490314
61523748
9 10
220
11440
1307504
273438880
286
19448
3268760
1121099408
10
11
48
00 01
10
11
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
Esto es, dados F y M, pi j especifica qu tan probable es que un Algoritmo Gentico en estado i pase a estado j en la siguiente generacin. Se puede ver en esta
49
3.4.
(3.13)
50
(3.14)
(3.15)
51
52
4. MTODO DE OPTIMIZACIN
GENTICA RESTRINGIDA (RGO)
4.1.
Introduccin
Los algoritmos para la optimizacin de funciones estn limitados generalmente a funciones regulares y unimodales. Sin embargo, muchas funciones son multimodales, discontinuas y no diferenciables. Para optimizar este tipo de funciones
se han empleado mtodos de muestreo estocstico. Mientras que las tcnicas tradicionales de bsqueda utilizan caractersticas del problema para determinar el
siguiente punto muestral (por ejemplo, gradientes, Hessianos, linealidad, y continuidad), las tcnicas de bsqueda estocstica no hacen tales suposiciones. En
cambio el siguiente punto (o puntos) se determina basndose en reglas de muestreo y decisin estocsticas, en vez de reglas de decisin determinsticas.
Los algoritmos genticos han sido usados para resolver problemas difciles
con funciones objetivo que no poseen buenas propiedades, tales como continuidad, diferenciabilidad, condicin de Lipschitz, etc) [Davis [23], Goldberg [37],
Holland [47], Michalewicz[86]]. Estos algoritmos mantienen y manipulan una familia, o poblacin, de soluciones e implementan una supervivencia de los mejor
adaptados como estrategia de bsqueda de mejores soluciones. Esto provee un
paralelismo implcito y explcito que permite la explotacin de varias regiones
prometedoras al mismo tiempo. El paralelismo implcito es debido a la teora de
esquemas desarrollada por Holland, mientras que el paralelismo explcito es debido a la manipulacin de una poblacin de puntos (la evaluacin de la salud de
estos puntos es fcil de realizar en paralelo).
Un problema que ha sido poco estudiado en la literatura de optimizacin es
el de la optimizacin dinmica, es decir de funciones que varen con el tiempo.
Este es un problema especialmente interesante para la Teora de Control, puesto
que, en mayor o menor medida, los sistemas con los que trabajamos varan con el
tiempo, adems de presentar los problemas anteriores.
54
4.2.
4.3.
En la literatura, el uso de los algoritmos genticos como mtodo de optimizacin se hace off-line y el tiempo utilizado es bastante grande.
Hemos utilizado nuevos mecanismos para usarlos como lo hace la Naturaleza: on-line y de una manera local o semi-local. Hemos demostrado que los
algoritmos genticos se pueden usar como un mtodo aceptablemente rpido de
optimizacin de funciones que varen con el tiempo.
Usualmente los algoritmos genticos se usan como un mtodo de bsqueda
global y en paralelo. Se evalan simultneamente muchos puntos, aumentando la
probabilidad de encontrar el ptimo global.
55
4.3.1.
RGO
56
I 1
C
I2
I
Trayectoria
de los parametros
1) x(k
1|k 1))
d = (x(k|k
1) x(k
1|k 1)) P 1 (k|k)(x(k|k
(4.1)
En el caso de la identificacin de
sistemas el radio se ha tomado proporcional al criterio MDL (Minimum Description Length) con extremos superior e inferior. Tambin se pueden utilizar otros
criterios como el AIC (Akaikes Information theoretic Criterion) o el FPE (Final
Prediction-Error criterion)(ver Ljung[74]).
En nuestro algoritmo hemos implementado los siguientes operadores: reproduccin, cruce, mutacin, elitismo, inmigracin, ranking y bsqueda restringida.
Hemos utilizado el mecanismo de ranking para regular el nmero de descendientes que un individuo puede tener, porque si un individuo es muy bueno, puede
tener demasiados descendientes y hacer que la diversidad gentica descienda mucho.
4.4. ALGORITMO
57
4.4.
Algoritmo
58
Las bolas
representan las
regiones de
bsqueda de las
distintas iteraciones
Los distintos
puntos representan
los posibles
cambios respecto
del estimador, que
es el centro de la
bola.
Regin de
bsqueda con radio
proporcional a la
incertidumbre
Evolucin del
Sistema
(4.2)
4.5.
59
Caractersticas de la RGO
Se pueden utilizar como mtodo de optimizacin en una bola de radio que
vaya variando segn la incertidumbre de las estimaciones, con lo que evitamos buscar en una regin excesivamente amplia como hacen los mtodos
de bsqueda global y evitamos la posibilidad de caer en un ptimo local
como hacen los mtodos de optimizacin local.
ste mtodo est especialmente pensado para utilizarlo en la optimizacin
de funciones variantes en el tiempo. Lo que permite usarlo en la identificacin de sistemas, ya sea en la forma de la funcin de transferencia o en
variables de estado y para la estimacin de estados por medio de un filtro de
Kalman Generalizado.
60
Encontrar las
caractersticas
del sistema:
orden, retardo, etc.
Recoger datos:u(k),y(k)
Calcular un primer modelo utilizando un mtodo previo: por
ejemplo, mnimos cuadrados extendidos
Encontrar un
primer modelo
de partida
Recoger datos:u(k),y(k)
Crear la poblacin inicial, tomando como individuos la diferencia al modelo previo
Evaluar la salud inicial de los cromosomas
Mejorar el
modelo y hacer
seguimiento
del sistema
5. IDENTIFICACIN DE SISTEMAS NO
LINEALES
5.1.
Introduccin
La identificacin de sistemas no lineales mediante modelos lineales o no lineales es un trabajo difcil y complicado. La mayora de las veces debemos partir
de los conocimientos humanos sobre la dinmica del sistema. La identificacin
posterior de los parmetros la realizamos a mano, utilizando las propiedades heursticas de cada familia de modelos.
Los mtodos ms usuales en la identificacin de sistemas estn basados en
mnimos cuadrados o en el mtodo de mxima verosimilitud que son mtodos locales guiados por el gradiente y necesitan una funcin de prdidas (loss function)
diferenciable y un espacio de bsqueda suave. A menudo fallan en la bsqueda
de un ptimo global cuando el funcional no es diferenciable o es no lineal en sus
parmetros.
Esto tiene el inconveniente de que si las seales tienen ruido coloreado, como
suele ser habitual en la prctica, los mtodos basados en mnimos cuadrados tienen
el fracaso asegurado.
Si adems estamos implementado el mtodo en lnea el ruido estar correlacionado con los regresores y el mtodo explotar, fenmeno conocido como blow-up.
Para evitar esto en algunos casos sencillos, se puede usar un factor de olvido
muy prximo a la unidad, pero en la mayora de los casos de sistemas no lineales
variantes en el tiempo esta tcnica falla.
A menudo fallan en la bsqueda de ptimos globales cuando ste espacio de
bsqueda es no diferenciable, o no lineal en sus parmetros. Los mtodos de optimizacin basados en algoritmos genticos pueden mejorar los resultados porque
no utilizan las propiedades de diferenciabilidad o de ser lineal en los parmetros.
En 1992, Kristinsson y Dumont [69] hicieron un primer estudio de la identificacin de sistemas y del control off-line con algoritmos genticos de sistemas
dinmicos continuos y discretos. Comprobaron que los algoritmos genticos son
efectivos en ambos dominios y que es posible identificar directamente parmetros
62
fsicos, o bien, polos y ceros. Hicieron simulaciones con sistemas de fase mnima
y no mnima y de un sistema con dinmica no modelada.
En 1993, Flockton y White [27] utilizan los algoritmos genticos para hacer
otra identificacin off-line de polos y ceros con algunas pequeas mejoras.
Posteriormente, en 1995, Tan, Li y Murray-Smith [104] usan los algoritmos
genticos con "simulated anneling"para hacer una identificacin off-line y la linealizacin de sistemas no lineales, invariantes del tiempo con un modelo ARMAX. Utiliza esta tcnica de bsqueda para identificar los parmetros de un sistema descrito por un modelo ARMAX en variables de estado, en presencia de ruido
blanco y para aproximar un sistema no lineal multivariable por un modelo en el
espacio de estados, lineal e invariante en el tiempo.
En este mismo ao, Iba, deGaris y Sato [53] usan una tcnica numrica offline, que integra una bsqueda adaptativa de una estructura de rbol basada en
programacin gentica y un mecanismo de ajuste local de parmetros empleando bsqueda estadstica. En la programacin gentica tradicional, la recombinacin causa frecuentes rupturas de los bloques de construccin y la mutacin puede causar abruptos cambios en la semntica. Para superar estas dificultades ellos
implementan la programacin gentica tradicional con una bsqueda local "hillclimbing", usando un procedimiento de ajuste de parmetros.
Todos estos mtodos trabajan off-line y precisan que el sistema sea invariante
del tiempo. El ltimo adems utiliza un mtodo no paramtrico.
Este captulo describe un mtodo de identificacin on-line de sistemas no lineales, variantes en el tiempo que tiene altas prestaciones. Hemos utilizado modelos OE, ARMAX y NARMAX como semillas para el mtodo RGO y se puede
extender a otros modelos similares, como Box-Jenkins, el Lineal General, Modelos de Polos y Ceros o la descripcin en el Espacio de Estados, utilizando para
ello optimizacin gentica restringida.
Las principales diferencias del RGO con los anteriores mtodos es que ste
trabaja en lnea, identifica modelos lineales y no lineales, variantes en el tiempo y
usa modelos paramtricos convencionales.
5.2.
El mtodo realiza la bsqueda en un entorno del punto correspondiente al ltimo modelo identificado y toma el punto mejor adaptado como centro del entorno
de bsqueda de la nueva generacin. Este ltimo punto se guarda aparte de la
generacin. La codificacin de cada cromosoma corresponde al incremento con
respecto al centro del entorno.
5.3.
5.3.1.
(5.1)
, que puede ser visto como una manera de determinar el siguiente valor de la
salida dadas las observaciones anteriores y las entradas. Aqu A(q 1 ) y B(q 1 )
64
B(q 1 )
u(t nk) + e(t)
F(q 1 )
(5.2)
con la fuente de error e(t) que es la diferencia (error) entre la salida real y la salida
libre de ruido (terica).
ARMAX (Auto-Regressive Moving Average with eXogenous inputs), cuya
expresin es
A(q 1 )y(t) = B(q 1 )u(t nk) + C(q 1 )e(t)
(5.3)
5.3.2.
La entrada excitadora u(t) se ha escogido como una secuencia binaria pseudoaleatoria (PRBNS), con ruido coloreado.
Como primer paso, para hacer esta identificacin paramtrica, realizamos una
primera identificacin de mltiples modelos de tipo ARX, A(q 1 )yk = z d B(q 1 )u k +
e(t), mediante el mtodo de mnimos cuadrados y por medio de los algoritmos genticos decidimos qu grados de los polinomios numerador y denominador y qu
retardo son ms convenientes para nuestros propsitos.
Es decir, queremos un modelo que se ajuste lo ms posible al sistema, pero
que no tenga unos grados innecesariamente grandes, para ello se pueden utilizar
los criterios MDL, AIC o FPE. En particular nosotros hemos utilizado el criterio
MDL.
B(q 1 )
En un segundo paso, calculamos un modelo, OE y(t) = F(q
1 ) u(t nk)+e(t)
F(t)/ F.
En cada generacin, sustituimos el modelo anterior por el mejor de la nueva
generacin como centro del entorno donde se realiza la bsqueda, de esta manera
,en caso de un sistema LTI, el mejor modelo debe ir tendiendo al valor que minimiza el funcional y la poblacin ira tendiendo a cero. A continuacin realizamos
una nueva lectura de la entrada y la salida del sistema.
De esta manera conseguimos un conjunto de aproximaciones sucesivas a mejores modelos en caso de el sistema sea invariante en el tiempo y si el sistema
es variable, pero de variacin lo suficientemente lenta, entonces el modelo va siguiendo al sistema en sus variaciones.
Podemos adems aprovechar las caractersticas convenientes de la convergencia global si al principio tomamos una bola lo suficientemente grande, de manera
que reduzcamos la probabilidad de quedarnos en un mnimo local. Una vez que
sepamos que seguimos al mnimo adecuado, podemos reducir el tamao de la bola y al mismo tiempo de la poblacin, para conseguir una mayor velocidad de
ejecucin del algoritmo.
Para que el algoritmo no tenga una convergencia prematura y se homogeneice demasiado la poblacin, podemos aumentar el parmetro de probabilidad de
mutacin.
Aunque este algoritmo es costoso en cuanto a operaciones, es lo suficientemente rpido como para ser empleado en lnea, ya que el clculo de un modelo
con 35 coeficientes tarda una dcima de segundo en un PC (120 MHz). A esto hay
que aadir que las aplicaciones a que tpicamente se desea aplicar este identificador, es decir a los sistemas de control adaptativo, poseen dos bucles, uno rpido,
que es el de control, y otro lento que es el identificador. Por tanto se puede aplicar
a sistemas con una constante de tiempo de orden de las centsimas de segundo.
Debemos darnos cuenta de que los algoritmos genticos hacen una bsqueda
preferentemente en una direccin, la de mximo decrecimiento, mientras que el
mtodo Montecarlo la hace con igual densidad en todas las direcciones, con lo que
si estamos buscando en un espacio de 50 a 100 dimensiones, es evidentemente
superior.
66
Encontrar las
caractersticas del sistema:
rdenes, retardo, etc.
Encontrar un primer
modelo de partida
Mejorar el modelo y
hacer el seguimiento del
sistema
67
5.4.1.
Modelos NARMAX
Entre los modelos no lineales, uno de los mas interesantes, es el modelo NARMAX (Non-linear Auto-Regressive Moving Average with eXogenous inputs), que
puede ser descrito como
y(t) = F[y(t1), . . . , y(tn y ), u(td), . . . , u(tdn u +1), (t1), . . . , (tn )]+(t)
(5.4)
donde t representa el tiempo discreto, y(t), u(t) y (t) son la salida, la entrada, y el
error de prediccin, respectivamente, n y , n u y n son los rdenes correspondientes,
F[.]es una funcin no lineal y dd es el mnimo retardo de la entrada [Leontaritis
85]. El modelo polinomial NARMAX tiene como expresin
n
nu
y
y
u
ai y(k i) + i=1
bi u(k i) + i=1
nj=1
ci j y(k i)u(k j)
y(k) = a0 + i=1
nu 2
n
y
ai y 2 (k i) + i=1
bi u (k i) + i=1
ai (k i) (5.5)
+ i=1
n
nos permite una descripcin buena y sencilla de una amplia clase de sistemas
no lineales.
Por ejemplo, si el modelo exacto NARMAX es
y(k) = y(k 1)eu(k1)
(5.6)
ex p(x) = i=0
(5.7)
1
1
y(k) = y(k1)y(k1)u(k1)+ y(k1)u 2 (k1) y(k1)u 3 (k1) (5.8)
2
6
Podemos comprobar que ste modelo tiene obvias ventajas sobre las series funcionales tales como las series de Volterra.
68
Cruce:
Padre 1
0 0
Punto de
Cruce
0 0
Hijo 1
Padre2
Hijo2
Antes de la mutacin
Despus de la mutacin
5.4.2.
La entrada excitadora u(t) se ha escogido como una secuencia binaria pseudoaleatoria (PRBNS), con ruido coloreado.
Como primer paso, para hacer esta identificacin paramtrica, realizamos una
primera identificacin de mltiples modelos de tipo ARX, A(q 1 )yk = z d B(q 1 )u k +
e(t), mediante el mtodo de mnimos cuadrados y por medio de los algoritmos genticos decidimos qu grados de los polinomios numerador y denominador y qu
retardo son ms convenientes para nuestros propsitos.
Es decir, queremos un modelo que se ajuste lo mas posible al sistema, pero
que no tenga unos grados innecesariamente grandes, para ello se pueden utilizar
los criterios MDL, AIC o FPE. En particular nosotros hemos utilizado el criterio
MDL (Minimum Description Length)(ver Ljung[74] para ms detalles).
En un segundo paso, calculamos un modelo ARMAX, A(q 1 )yk = q d B(q 1 )u k +
C(q 1 )e(t)k , por medio de regresin seudo-lineal. Este modelo todava no se
ajusta lo suficiente porque el sistema es no lineal y adems la seal de salida contiene ruido coloreado y estos mtodos solamente son buenos con sistemas lineales
con ruido blanco.
5.5. RESTRICCIONES
69
nu
y
y
u
y(k) = a0 + i=1
ai y(k i) + i=1
bi u(k i) + i=1
nj=1
ci j y(k i)u(k j)
nu 2
n
y
ai y 2 (k i) + i=1
bi u (k i) + i=1
ai (k i) (5.9)
+ i=1
n
F(t)/ F.
El nmero de coeficientes del modelo NARMAX
n
nu
y
y
u
y(k) = a0 + i=1
ai y(k i) + i=1
bi u(k i) + i=1
nj=1
ci j y(k i)u(k j)
nu 2
n
y
ai y 2 (k i) + i=1
bi u (k i) + i=1
ai (k i) (5.10)
+ i=1
n
crece exponencialmente con el orden de desarrollo. Por este motivo, se ha utilizado una expansin de orden dos, con sistemas de orden menor que ocho y con
cinco coeficientes para modelar el ruido.
5.5.
Restricciones
(5.11)
70
5.6.
Resultados
Para poder contrastar los resultados con otros mtodos, vamos a utilizar como
ndices de funcionamiento los siguientes: Error RMS:
1 N
R M S err or =
(5.12)
(yi yi )2
N i=1
Error relativo RMS:
n (y y )2
i=1
i
i
N
Relative R M S err or =
n (y )2
i=1
i
N
100 %
(5.13)
1 0,3q 1 + 0,05q 2
u(k) + e(k)
1 0,6q 1 + 0,4q 2
(5.15)
5.6. RESULTADOS
71
[T,U]
From
Workspace
+
+
Sum
Signal Gen.1
Signal Gen.
z2.3z+.5
z2.6z+.4
Dead Zone
Dis. Transfer Fcn
+
z2.7z+.2
+
z2.6z+.4
Sum1
Dis. Transfer Fcn1
Scope2
Mux
Mux
sgamex5
Sfunction1Scope1
puesto en serie con una zona muerta de 0.1, con condiciones iniciales nulas.
Planta 3:
y(k) = A1 + 0,02 sin(0,1k)y(k 1) + A2 y(k 2) + A3 y(k 3)
+B1 u(k 1) + B2 u(k 2) + B3 u(k 3)
(5.17)
2 (k1)
)y(k 2)
(5.18)
(5.19)
La entrada prbns al sistema principal y la salida del sistema total las llevamos
al bloque de identificacin, que nos va dando los coeficientes del sistema para
los modelos OE, ARMAX y NARMAX, as como los errores RMS (absoluto y
relativo) y los ndices AIC, FPE y MDL.
Los resultados obtenidos se pueden resumir en la siguiente tabla:
72
Fig. 5.6: Resultados de la identificacin de la planta 1 con el mtodo RGO. Arriba: salida del modelo vs. salida real. Abajo: error cometido.
5.6. RESULTADOS
73
Fig. 5.7: Resultados de la identificacin de la planta 2 con el mtodo RGO. Arriba: salida del modelo vs. salida real. Abajo: error cometido.
Fig. 5.8: Resultados de la identificacin de la planta 3 con el mtodo RGO. Arriba: salida del modelo vs. salida real. Abajo: error cometido.
74
Fig. 5.9: Resultados de la identificacin de la planta 4 con el mtodo RGO. Arriba: salida del modelo vs. salida real. Abajo: error cometido.
5.7.
75
76
(5.22)
(5.23)
(5.24)
.
Los principales problemas observados en las redes son: la fuerte dependencia
de las seales utilizadas para el entrenamiento y que los sistemas deben ser invariantes en el tiempo o, a lo sumo, con variaciones pequeas. Para poder utilizarlas
en control adaptativo es necesario que la red sea capaz de aprender rpidamente
en lnea.
Otro problema de las Redes Neuronales es que no dan un modelo explcito del
sistema.
Los resultados obtenidos se pueden resumir en la siguiente tabla:
77
0.3
0.2
0.1
0
0.1
0.2
0
50
100
150
200
250
RMS error=0.0293
0.2
0.1
0
0.1
0.2
0
50
100
150
200
250
50
100
150
200
250
200
250
0.2
0.1
0
0.1
0.2
0
RMS error=0.0335
0.1
0.1
0.2
0
50
100
150
78
0.1
0
0.1
0.2
0.3
0
50
100
150
200
250
RMS error=0.02284
0.2
0.1
0
0.1
0.2
0
50
100
150
200
250
50
100
150
200
250
200
250
0.2
0.1
0
0.1
0.2
0.3
0
RMS error=0.04419
0.1
0.1
0.2
0
50
100
150
50
100
150
200
250
RMS error=0.02201
0.2
0.4
50
100
150
200
250
50
100
150
200
250
200
250
0.2
0.1
0
0.1
0.2
RMS error=0.07069
0.2
0.1
0
0.1
0.2
0.3
0
50
100
150
5.8. CONCLUSIONES
79
1
0.5
0
0.5
1
1.5
0
50
100
150
200
250
RMS error=0.1678
1
0.5
0.5
0
50
100
150
200
250
50
100
150
200
250
200
250
1
0.5
0
0.5
1
1.5
0
RMS error=0.407
0
0.2
0.4
0.6
0.8
0
50
100
150
5.8.
Conclusiones
80
6. ESTIMACIN DE ESTADOS
6.1.
Introduccin
El filtro de Kalman da una solucin efectiva al problema de filtrado linealGaussiano. Sin embargo, cuando hay no linealidades, tanto sea en la especificacin del modelo como en el proceso de observacin, se requieren otros mtodos.
Cuando el estado de un sistema tiene que ser estimado a partir de informacin
sensorial con ruido, se necesita emplear algn tipo de estimador de estados para
fusionar los datos de los diferentes sensores para producir una estimacin precisa
del verdadero estado del sistema.
El mtodo mas frecuentemente utilizado para la fusin de la informacin dada
por los sensores en aplicaciones de robtica mvil es el Filtro de Kalman [66] y
sus diferentes variaciones. Este filtro se utiliza para combinar todos los datos de
medidas (por ejemplo, para fundir los diferentes datos de los distintos tipos de
sensores) para obtener una estimacin ptima en sentido estadstico.
Si la dinmica del sistema y el modelo de observacin son lineales y tanto
el error del sistema como el error de medida (de los sensores) son Gaussianos,
entonces el estimador de mnimos cuadrados puede ser calculado usando el filtro
de Kalman. Es decir el Filtro de Kalman da una estimacin ptima desde el punto
de vista estadstico.
El clculo del Filtro de Kalman se hace recursivamente, es decir, en cada iteracin, slo la nueva medida y la ltima estimacin son usadas en el clculo actual,
por tanto no hay necesidad de guardar las estimaciones y medidas previas. Esta caracterstica hace que no necesite ni una gran potencia de clculo ni un gran
almacenamiento.
Las medidas de un grupo de sensores pueden ser fundidas utilizando el filtro
de Kalman para estimar el estado actual y para hacer una prediccin del estado
futuro del sistema.
En el caso no lineal el problema de filtrado en el espacio de estados viene dado
por
x(k) = g(k, x(k 1), (k))
(6.1)
82
6. ESTIMACIN DE ESTADOS
(6.2)
donde (k) y (k) son los ruidos, que se suponen vectores aleatorios, independientemente distribuidos:
(k)
0
Q(k)
0
,
.
(6.3)
(k)
0
0
R(k)
La estimacin ptima implica la descripcin de la densidad de probabilidad
condicional
M MSE
k
(k|k) = E(x(k)|Z ) = x(k) p(x(k)|Z k )d x .
(6.4)
x
Desafortunadamente, esta descripcin necesita un nmero infinito de parmetros.
Por esta razn, un nmero de aproximaciones subptimas han sido propuestas.
Estos mtodos utilizan aproximaciones analticas de las distribuciones de probabilidad, la ecuacin de transicin de estados o la ecuacin de medida. Existen otros
mtodos, tales como el mtodo de Montecarlo, que necesitan miles de puntos para
aproximar la densidad de probabilidad condicional. En aplicaciones con muchas
dimensiones, stos ltimos mtodos no son prcticos. Por esta razn son necesarios mtodos con un nmero razonable de operaciones, tales como los estudiados
en este trabajo.
Para el problema de filtrado no-lineal, la aproximacin ms sencilla e intuitiva
es utilizar el desarrollo en serie de Taylor y utilizar las funciones de medida y de
transicin no-lineales en el algoritmo del filtro lineal recursivo de Kalman. Los
filtros no-lineales tradicionales incluyen el Filtro Extendido de Kalman (EKF), el
Filtro No-lineal de Segundo orden (SNF) y el Filtro Iterado de una etapa (Singlestage Iteration Filter (SIF)), que estn descritos en Wishner, Tabaczynski y Athans
[113].
Para reducir el sesgo de las estimaciones del filtro y obtener el valor esperado
de las distribuciones de probabilidad ms correctamente, fue desarrollado el Filtro
de Simulacin Montecarlo por Tanizaki y Mariano [105, 106]
6.2.
El Problema de Filtrado.
El problema consiste en hallar una estimacin del estado x(k) del sistema de
inters, con una dinmica discreta no lineal dada por
x(k) = g(k, x(k 1), (k)) .
(6.5)
donde g la funcin de estado del modelo, x(k) es el estado del sistema en el tiempo
k y (k) es el ruido del proceso.
83
(6.6)
donde z(k) es el vector de observacin, h es el modelo de observacin que transforma el espacio de estados en el espacio de observacin y (k) es el ruido de
medida. El estimador MMSE coincide con la media condicional. Sea x(i|
j) =
j
j
T
E[x(i)|Z ] con Z = {z(1), z(2), ..., z( j)} . La covarianza estimada es Px x (i| j) =
E[{x(i) x(i|
j)}{x(i) x(i|
j)}T |Z j ] . Estas ecuaciones son difciles de evaluar
en la prctica. Por esta razn se emplean estimadores recursivos. En el caso lineal con ruido aditivo gaussiano el MMSE es el filtro de Kalman. Las ecuaciones
lineales son , en este caso:
x(k|k)
= x(k|k
1) + W (k)(k),
(6.7)
(6.8)
(6.10)
6.2.1.
(6.11)
(6.12)
84
6. ESTIMACIN DE ESTADOS
(6.13)
La ecuacin de medida es
z(k) = H (k)x(k) + w(k)
k = 1, 2, . . .
(6.14)
con w(k) secuencia de ruido de medida blanco Gaussiano de media cero con covarianza
(6.15)
E[w(k)w(k) ] = R(k)
Las matrices F, G, H, Q, y R se suponen conocidas y que pueden cambiar con
el tiempo. En otras palabras, el sistema puede cambiar con el tiempo y los ruidos
son no estacionarios.
El estado inicial x(0) es en general desconocido y se modela como una variable
aleatoria Gaussiana con media y covarianza conocidas. Las dos secuencias de
ruido y el estado inicial se suponen mutuamente independientes y adems los
ruidos son independientes.
Las anteriores condiciones se llaman lineales-Gaussianas.
El algoritmo de estimacin El algoritmo de estimacin comienza con una
estimacin inicial
x (0|0) de x(0) y la covarianza inicial asociada P(0|0) , que se
supone disponible.
Un ciclo del algoritmo de estimacin dinmica (filtro de Kalman) consiste en
estimar a partir
(6.16)
x(k|k)
= E[x(k)|Z k ]
que es la media condicional del estado en el tiempo k, dadas las observaciones
hasta el tiempo k inclusive , y de la matriz de covarianza asociada
k
|Z ]
P(k|k) = E[[x(k) x(k|k)][x(k)
x(k|k)]
(6.17)
Estado Real
Entrada conocida
Estado en t k
x(k)
Control en t k
u(k)
Transicin a t k+1
x(k+1)=
F(k)x(k)
+G(k)u(k)
Medida en t k+1
z(k+1)=
H(k+1)x(k+1)
+w(k+1)
85
Clculo de la covarianza
Covarianza de la
prediccin del
estado
P(k+1|k)=
F(k)P(k|k)F'(k)+Q(k)
Prediccin de la
medida
^
z(k+1|k)=
H(k+1)x(k+1|k)
Innovacin de la
covarianza
S(k+1)=
H(k+1)P(k+1)H'(k+1)
+R(k+1)
Innovacin
n(k+1)=
z(k+1)-z(k+1|k)
Actualizacin de la
estimacin del estado
^
x(k+1|k+1)=
x(k+1|k)+W(k+1)n(k+1)
Actualizacin de la
covarianza del estado
P(k+1|k+1)=
P(k+1|k)
-W(k+1)S(k+1)W'(k+1)
(6.18)
+ G(k)u(k)
(6.19)
+ v(k)
(6.20)
86
6. ESTIMACIN DE ESTADOS
(6.21)
se obtiene de 6.20 ,
S(k + 1) = H (k + 1)P(k + 1|k)H (k + 1) + R(k + 1)
(6.22)
(6.25)
(6.26)
donde
es la innovacin. Finalmente, la covarianza actualizada es
P(k + 1|k + 1) = P(k + 1|k) P(k + 1|k)H (k + 1) S(k + 1)1 H (k + 1)P(k + 1|k)
= [I W (k + 1)H (k + 1)]P(k + 1|k)
(6.27)
o, en forma simtrica
P(k + 1|k + 1) = P(k + 1|k) W (k + 1)S(k + 1)W (k + 1)
6.3.
6.3.1.
(6.28)
87
1), 0)
1|k 1)) + g (k, x(k 1), (k))(k)
+gx (k, x(k 1), (k))(x(k 1) x(k
n
e j (x(k 1) x(k
1|k 1)) gxj x (k, x(k 1), (k))(x(k 1) x(k
1|k 1))
+ 12
j=1
+ 12
n
j
e j (k)g
(k, x(k 1), (k))(k)
j=1
n
j
1|k 1)) gx
(k, x(k 1), (k))(k) .
+ e j (x(k 1) x(k
j=1
(6.29)
y el desarrollo con trminos hasta segundo orden de la ecuacin de medida es:
z(k) = h(k, x(k), (k) h(k, x(k|k
1), 0)
1|k 1)) + h (k, x(k 1), (k))(k)
+h x (k, x(k 1), (k))(x(k 1) x(k
n
+ 12
e j (x(k 1) x(k
1|k 1)) h xj x (k, x(k 1), (k))(x(k 1) x(k
1|k 1))
j=1
+ 12
n
j
e j (k)h
(k, x(k 1), (k))(k)
j=1
n
j
+ e j (x(k 1) x(k
1|k 1)) h x
(k, x(k 1), (k))(k) .
j=1
(6.30)
donde e j es el j th vector de la base Cartesiana.
Las tcnicas basadas en el Filtro de Kalman Extendido han demostrado ser
robustas y mantener el seguimiento de la posicin robot de forma precisa. Sin embargo el Filtro de Kalman Extendido no puede representar ambigedades (como
las simetras) y no es capaz de relocalizar al robot en caso de fallo en la localizacin. Muchas de estas dificultades estriban en asumir la restriccin Gaussiana del
Filtro de Kalman.
6.3.2.
88
6. ESTIMACIN DE ESTADOS
1)) .
+ 12 (x(k) x(k|k
(6.32)
El Filtro de Kalman Extendido Iterado (IEKF) usa un algoritmo NewtonRaphson para estimar x(k|k).
(6.33)
(6.34)
1)),
(6.35)
i1
i
with H (k) = h x (k, x (k|k)) .
6.3.3.
1). Si la
89
1) = x(k) donde
(k)
0
R(k) 0
,
=
,
(k)
0
0
Px z (k|k 1)
es posible minimizar la siguiente suma de cuadrados de los residuos con pesos:
q(k, z(k), x(k)) R 1 (k)q(k, z(k), x(k))
1) x(k))
+(x(k|k
1),
x i (k|k 1) = g i (x(k|k)
Pxi x (k|k 1) = gxi (k, x(k|k), (k))Pxi x (k|k 1)gxi (k, x(k|k 1), (k)) + Q(k),
z i (k|k 1) = h i (k, x(k|k 1), (k)),
i
i
Pzz (k) = H u (k, x(k|k),
x) Pzz
i
i
i
i
Px x (k, k) = Px x (k, k 1) W (k)Pzz (k)W i (k) ,
x i (k|k) = x i (k, k 1) + W i (k)z (k) .
6.3.4.
Tanizaki y Mariano [106] propusieron un algoritmo en simulaciones estocsticas Montecarlo, donde las variables aleatorias normales estn generadas por los
trminos de error (k) y (k) y las variables de estado x(k) y x(k 1) para evaluar
los valores esperados mas exactamente.
Esta aproximacin est basada en las ecuaciones:
1), 0)
1|k 1)),
+gx (k, x(k 1), (k))(x(k 1) x(k
(6.36)
1), 0)
1|k 1)) .
+h x (k, x(k 1), (k))(x(k 1) x(k
(6.37)
que son lineales en las variables de estado x(k) y x(k-1) . Por tanto, este algoritmo
es una combinacin del Filtro Extendido de Kalman y la simulacin estocstica
90
6. ESTIMACIN DE ESTADOS
1) = n1 i=1
1 n
Px x (k|k 1) = n i=1 (xi (k|k 1) x(k|k
1)) ,
n
z i (k|k 1),
z (k|k 1) = n1 i=1
n
1
Pzz (k|k 1) = n i=1 (z i (k|k 1) z (k|k 1))(z i (k|k 1) z (k|k 1)) ,
n
(z i (k|k 1) z (k|k 1))(xi (k|k 1) x(k|k
1)) ,
Px z (k|k 1) = n1 i=1
W (k) = Px z (k|k 1) Pzz (k|k 1),
Px x (k|k) = Px x (k|k 1) W (k)Pzz (k|k 1)W (k) ,
and
x(k|k)
= x(k|k
(6.38)
6.4.
91
Iniciar la poblacin
Es posible adaptar el mtodo de algoritmos genticos si se restringe la bsqueda a un entorno de la estimacin previa usando como funcin de salud:
f : B(x(k|k
1), ) R
con = P(k|k 1),
1
cte + V (x(k|k
1))
donde cte es una constante grande y
f (J ) =
V (x(k)) =
1
1
2 (z(k) h(k, x(k))) R(k) (z(k) h(k, x(k)))
1
+ 2 (x(k) x(k|k
(6.39)
1)) .
(6.40)
Por lo tanto el algoritmo actualiza las estimaciones de los estados y la matriz
de covarianza y el bucle es repetido de nuevo, como se ilustra en la figura 6.2. La
92
6. ESTIMACIN DE ESTADOS
p(z(k)|x(k)) p(x(k)|Z k1 )
.
p(z(k)|x(k)) p(x(k)|Z k1 )
(6.42)
1) x(k
1|k 1))
d = (x(k|k
1) x(k
1|k 1)) P 1 (k|k)(x(k|k
(6.43)
Todos estos procesos pueden ser aplicados al Filtro Extendido de Kalman (para obtener el Filtro de Optimizacin Gentica Restringida, RGOF) o al Filtro Nolineal de Segundo Orden, SNF (para obtener el Filtro de Optimizacin Gentica
Restringida de Segundo Orden, SRGOF).
6.5.
93
Fig. 6.3: Ejecuciones tpicas para el modelo 5 con EKF y SRGOF para nivel de
ruido 1.0.
donde C es una constante y el valor inicial x(0) est distribuido como una variable
aleatoria normal.
El primer modelo es lineal:
x(k) = x(k 1) + (k)
(6.45)
z(k) = x(k) + (k) .
El segundo es el modelo Logstico:
ex p(x(k1)
x(k) = ex p(x(k1))+ex
p((k))
ex p(x(k))
z(k) = ex p(x(k))+ex
p((k)) .
El tercero es el modelo ARCH:
x(k) = (1 b + b(x(k 1))2 )1/2 + (k)
z(k) = x(k) + (k) .
(6.46)
(6.47)
x(k) = 0,5x(k 1) +
z(k) =
x 2 (k)
2
0 + (k) .
25x(k1)
1+x 2 (k1)
(6.48)
1
1
x(k) =
x(k 1) + (k)
0 1
(6.49)
20
z(k) = atan
(x(1,k)x p (k)) + (k) .
94
6. ESTIMACIN DE ESTADOS
6.6.
Discusin
6.6. DISCUSIN
95
96
6. ESTIMACIN DE ESTADOS
7. IDENTIFICACIN EN EL ESPACIO DE
ESTADOS
7.1.
(7.2)
(7.3)
(7.4)
98
x(t
+ 1) = A x(t)
+ Bu(t)
+ K e0 (t)
(7.6)
y(t) = C x(t)
+ e0 (t).
Donde A = T 1 AT , B = T 1 B, K = T 1 K y C = C T .
Es fcil ver que
I A)
1 B
C(q I A)1 B = C(q
I A)
1 K + I
C(q I A)1 K + I = C(q
7.2.
(7.7)
Parametrizacin e Identificabilidad
99
Definicin 7.2.1: Sea A() una matriz rellena de ceros y con unos en la lnea
superior a la diagonal. Sean las filas numeradas r1 , r2 , . . . , r p , donde r p = n,
rellenas con parmetros. Sean B() y K () rellenas con parmetros y C() con
ceros y con unos en la fila i, columna ri1 + 1. (Se considera r0 = 0 y que p es la
dimensin de y(t)).
Ejemplo Una parametrizacin identificable en variables de estado de un sistema con cuatro estados, una entrada y una salida con ndices 1,4 est dada por
1 2 3 4
9
13 14
0 0 1 0
10
15 16
x(t
+1) =
0 0 0 1 x(t)+
11 u(t)+ 17 18 e(t) (7.9)
12
19 20
5 6 7 8
y (t) =
1 0 0 0
0 1 0 0
x(t)
+ e(t).
(7.10)
7.3.
(7.11)
100
aumentar al elegir una estructura ms flexible. Esto nos permite adems hacer
transformaciones para obtener una descripcin que est bien condicionada numricamente.
Basndonos en las realizaciones balanceadas, introducidas por Moore [87],
Kabamba [64] describe una parametrizacin cannica identificable para sistemas
en tiempo continuo con valores singulares de Hankel distintos. Este resultado fue
generalizado por Ober a sistemas arbitrarios en [91] incluyendo una extensin a
sistemas en tiempo discreto utilizando la transformacin bilineal. con sta parametrizacin los parmetros pueden ser variados de forma continua sin que el sistema resulte no mnima. Otra ventaja, en comparacin con la forma observable,
es que las parametrizaciones balanceadas tienen mejores propiedades numricas.
Sin embargo, los ndices estructurales deben ser conocidos tambin para este tipo
de parametrizacin. Chou [19] usa la parametrizacin equilibrada para la identificacin de sistemas.
7.4.
En las realizaciones no equilibradas, pequeos cambios en un parmetro pueden dar grandes cambios en el comportamiento del sistema. Esto debe ser evitado
en cualquier mtodo de identificacin.
Un ejemplo de realizacin no equilibrada es el siguiente. Consideremos el
1
sistema G(q) = (q0,99)
4 que en forma de estructura identificable tiene una matriz
A igual a:
0
1
0
0
0
0
1
0
A() =
(7.12)
0
0
0
1
0,9606 3,8812 5,8806 3,9600
Los valores propios, que son todos ellos iguales a 0.99, son extremadamente
sensible a perturbaciones en los parmetros. Un cambio aditivo de 2x108 en cualquiera de los parmetros puede perturbar a uno de los autovalores y convertirlo en
mayor que uno.Por esta razn es necesario introducir el concepto de realizacin
equilibrada.
La matriz
(A T )k C T C Ak
W0 =
k=0
101
inicial x(0) influencia la seal de salida y(t) cuando u(t) 0. Esta matriz tambin
satisface la siguiente ecuacin de Lyapunov
W0 = A T W0 A + C T C.
La matriz dual
Wc =
Ak B B T (A T )k
k=0
es llamada el Gramiano de controlabilidad. Esta matriz describe cmo la entrada u influencia al vector de estado x. Wc tambin satisface
Wc = AWc A T + B B T .
Las matrices Gramianas son simtricas por construccin.
Definicin. Una realizacin en el espacio de estados es equilibrada si
Wo = Wc = = diag (1 . . . , n )
con 1 . . . n > 0.
7.5.
La entrada excitadora u(t) se ha escogido como una secuencia binaria pseudoaleatoria (PRBNS), con ruido coloreado.
Como primer paso, para hacer esta identificacin paramtrica, realizamos una
primera identificacin de mltiples modelos de tipo ARX, A(q 1 )yk = z d B(q 1 )u k +
e(t), mediante el mtodo de mnimos cuadrados, y despus se transforma en una
realizacin en el espacio de estados.
La estimacin es transformada en una realizacin balanceada para tener un
modelo mejor condicionado numricamente.
A continuacin realizamos la bsqueda de modelos que se vayan adaptando
mejor al sistema por medio de un algoritmo gentico.
bu f f er (i)
(ynk ynk )2 lo ms
Para hacer la funcin de prdida Vn (i) = k=1
1
pequea posible, se ha utilizado como funcin de salud Fn (i) = cte+V
, donde
n (i)
8
te"es una constante suficientemente grande (10 ) para mantener la diversidad
de la poblacin. La probabilidad de reproduccin se ha calculado como Fn (t) =
F(t)/ F.
La bsqueda es llevada a cabo usando matrices completamente parametrizadas
y a cada generacin la estimacin es transformada en una realizacin balanceada
para conseguir un modelo bien condicionado numricamente.
102
103
control, y otro lento que es el identificador. Por tanto se puede aplicar a sistemas
con una constante de tiempo de orden de las centsimas de segundo.
Fig. 7.3: Resultados de identificacin de la Planta con el mtodo GaussNewton.Arriba: Salida del Modelo vs. Salida del Sistema. Abajo: Error
7.5.1.
El Algoritmo
1. Se obtiene una primera estimacin utilizando mnimos cuadrados de un modelo ARX y se pasa al espacio de estados.
2. Convertimos el sistema en una realizacin balanceada.
104
(7.13)
(7.14)
7.6.
Resultados
Para poder contrastar los resultados con otros mtodos, vamos a utilizar como
ndices de funcionamiento los siguientes: Error RMS:
RMS error =
1 N
(yi yi )2
N i=1
(7.15)
7.7. DISCUSIN
105
n (y y )2
i=1
i
i
N
n (y )2
i=1
i
N
100 %
(7.16)
Para comparar los varios mtodos de identificacin, consideramos la aplicacin a sistemas reales: al Twin Rotor Mimo System (TRMS) que es un sistema
dinmico de laboratorio diseado especialmente para experimentos de control.
En ciertos aspectos su comportamiento es parecido al de un helicptero. Desde
el punto de vista de control ejemplifica un sistema no-lineal de orden alto con
diferente dinmica en cada posible posicin.
Los resultados obtenidos de los Errores Cuadrticos Relativos Medios (RMSE) se pueden resumir en la siguiente tabla:
Error RMS relativo
ARX331
0.1964
ARX441
0.1723
N4SID6
0.1695
Gauss-Newton331 0.06425
RGO331
0.03378
7.7.
Discusin
106
8. APLICACIONES AL CONTROL
PREDICTIVO
8.1.
Bajo este nombre se agrupan una serie de estrategias de control que tienen
en comn como caracterstica principal, el hacer uso explcito de un modelo del
proceso, para obtener la seal de control mediante la minimizacin de una cierta
funcin de coste. En este sentido forman parte de una familia ms amplia, en la
que se hace uso de un modelo del proceso para disear el controlador: LQ, IMC,
asignacin de polos y ceros, etc.
Adems de garantizar la operacin estable de la planta, los controladores avanzados de hoy en da han de satisfacer una serie de criterios adicionales u objetivos
secundarios de control: econmicos, de seguridad, limitaciones fsicas de los equipos, calidad del producto final, regulaciones ambientales, preferencias humanas,
etc.
Muchos de estos modelos admiten una representacin matemtica muy natural, bajo la forma de funciones objetivo dinmicas y ligaduras dinmicas de tipo
desigualdad.
El control predictivo basado en modelo tiene las siguientes caractersticas:
Uso explcito de un modelo para predecir las salidas futuras.
Clculo de cierta secuencia que minimice cierta funcin objetivo.
El horizonte se va desplazando hacia el futuro, lo que implica la aplicacin
de la primera seal de control calculada en cada paso.
Ventajas del control predictivo basado en modelos sobre otros mtodos:
Se puede aplicar con pocos conocimientos de control, porque los conceptos
son intuitivos y el sintonizado es relativamente sencillo.
108
pasado
futuro
referencia r(t+p)
w(t+k/t)
y(t+k/t)
Salidas predichas
y
u(t)
Variables
manipuladas
t+1 t+2
t+p
horizonte
Se puede utilizar para controlar una gran cantidad de procesos, tanto sencillos como complejos; incluyendo sistemas con tiempo de retardo grandes y
sistemas de fase no mnima.
Se puede aplicar al caso multivariable.
El controlador resultante es una sencilla ley de control lineal.
Su extensin para tratar el caso con restricciones es conceptualmente sencilla y puede ser incluida durante el diseo.
Es muy til cuando las referencias futuras son conocidas.
Es una metodologa abierta.
8.1.1.
Entradas y
salidas
pasadas
MODELO
OPTIMIZACIN
Entradas
futuras
Funcin
de coste
Salida
predicha
Errores
futuros
Restricciones
8.1.2.
La funcin objetivo
Hp
[ y (t + 1) (t + i)]2
(8.1)
i=1
N2
j=N1
Nu
( j)[y(t + j|t) (t + j)] +
( j)[u(t + j 1)]2 }
2
j=1
(8.2)
110
r(t+k)
w1 (t+k)
w2 (t+k)
y(t)
8.1.3.
Trayectoria de referencia
8.2.
(k)
(8.3)
N2
j=N1
Nu
( j)[y(t + j|t) (t + j)] +
( j)[u(t + j 1)]2 }
2
j=1
(8.4)
8.3. EJEMPLO.
111
j
Si multiplicamos [8.3] por E j (z )z y consideramos [8.5]
1 = E j (z 1 )A(z 1 ) + z j F j (z 1 );
(8.9)
G j (z 1 ) = E j (z 1 )B(z 1 )
(8.10)
con
8.3.
Ejemplo.
(8.12)
112
y(t
+ 2|t) = 1,7y(t + 1|t) 0,7y(t) + 0,9u(t + 1|t) 0,6u(t|t)
1,02u(t 1)
y(t + 2|t) = 1,7y(t + 2|t) 0,7y(t + 1|t) + 0,9u(t + 2|t) 0,6u(t 1|t)
+0,951u(t|y) 1,314u(t 1)
(8.13)
en donde se ha tomado (t + j|t) = 0, Agrupando coeficientes, resulta
y(t + 1|t)
0,9
0
0
u(t|t)
y(t + 2|t) = 0,93 0,9 0 u(t + 1|t)
0,951 0,93 0,9 u(t +
y(t + 3|t)
2|t)
1,7
0,7
0,6
y(t)
+ 2,19 1,19
+ 1,02 u(t 1)
y(t 1)
2,533 1,533
1,314
(8.14)
Por tanto, la matriz del controlador es
0,8947
0,0929 0,0095
(G T G + I3 )1 G T = 0,8316 0,8091 0,0929 u(t 1) (8.15)
0,0766 0,8316 0,8947
y la ley de control que se obtiene es
u(t) = 0,644u(t 1) 1,7483y(t) + 0,7513y(t 1)
+0,8947r (t + 1) + 0,0929r (t + 2) + 0,0095r (t + 2)
(8.16)
Este es un controlador lineal e invariante en el tiempo, ya que el modelo es invariante. Se puede comprobar la capacidad del controlador de mirar hacia adelante,
ya que son tenidos en cuenta tres valores futuros de la referencia, tantos como la
longitud de la ventana de prediccin.
8.4.
113
bz 1 d
)=
z
1 az 1
(8.18)
(t)
(8.19)
donde hemos tomado el polinomio correspondiente al ruido, de grado uno, y donde u(t) e y(t) son las seales de entrada y de salida del sistema, (t) es un ruido
blanco y es un integrador ( = 1 z 1 ). Esta ecuacin se puede transformar
en
y(t + 1) = (1 + a)y(t) ay(t 1) + bu(t d) + (t + 1)
(8.20)
y obtener la prediccin
y (t + 1) = (1 + a)y(t) ay(t 1) + b[u(t d) u(t d 1)]
(8.21)
N2
j=N1
N
2 d
( j)[u(t + N 1)]2 }
j=1
(8.22)
donde N1 > d y N2 = d + N . Minimizando J(N) respecto a u(t), u(t +
1), . . . , u(t + N 1) , obtenemos
Mu= P y+Rw
(8.23)
(8.24)
y = [ y (t + d|t), y (t + d + 1|t)]T
(8.25)
(8.26)
con
114
(8.27)
(8.28)
donde l y1 , l y2 y lr 1 son coeficientes. Por tanto nuestra estrategia es aplicar sucesivamente las ecuaciones:
y (t + i) = (1 + a) y (t + i 1|t) a y (t + i 2) + b[u(t + i d + 1) u(t + i d)]
(8.29)
u(t) = u(t 1) + (l y1 y (t + d|t) + l y2 y (t + d 1|t) + lr 1 r (t))/G (8.30)
Es decir:
y (t + i) = (1 + a) y (t + i 1|t) a y (t + i 2) + b[u(t + i d + 1) u(t + i d)]
(8.31)
u(t) = u(t 1) + (l y1 y (t + d|t) + l y2 y (t + d 1|t) + lr 1 r (t))/G (8.32)
Esto significa que se puede expresar la ley de control en funcin de los dos
valores estimados de la salida y (t + d|t), y (t + d 1|t) y de la referencia r (t)
con tres parmetros desconocidos l y1 , l y2 , lr 1 . Si se pueden identificar estos parmetros, tendremos una ley de control. Por supuesto, nos interesa encontrar estos
coeficientes de modo que minimicen el funcional 8.22.
8.4.1.
N2
j=N1
N
2 d
( j)[u(t + N 1)]2 }
j=1
(8.33)
de un modo directo, obtenindose los coeficientes ly y lr de la expresin
u(i) =
N
k=d
lyk y(i k) +
N
d
lrk r (i k)
(8.34)
k=1
Lo cual significa que podemos calcular el valor de la entrada del sistema con muy
poco coste computacional.
115
Existen, por tanto, dos bucles: uno lento que nos va actualizando los coeficientes de la seal de entrada u, y un bucle r pido que calcula la seal de entrada.
De esta manera se evita el tener que resolver el sistema Mu=qRy+qRw todas las
veces, con lo que se gana en velocidad.
116
8.5.
8.5.1.
117
como los propuestos por Polak y Mayne [94] y por Gesing y Davidson [35].
Nuestra tcnica permite la sintonizacin on-line de controladores PID, dotndoles de caractersticas del control predictivo muy interesantes como son un menor esfuerzo de control (la seal de control es ms suave) y un mejor seguimiento
de la seal de referencia.
Recordemos que el esquema general para el control predictivo es:
Fig. 8.9:
8.5.2.
(8.35)
118
(8.36)
A(q 1 ) = a0 + a1 q 1 + a2 q 2 + + ana q na
(8.37)
(8.39)
(8.41)
(8.43)
con lo que podemos expresar la ecuacin (t) = [T ]1 [T Y ] de forma recursiva como:
= (t
1) + P(t)(t)(y(t) T (t) (t 1))
(t)
(8.44)
119
donde llamamos e(t) = (y(t) T (t) (t 1)). Para obtener P(t) a partir de P(t-1)
usamos el teorema de inversin de matrices y se obtiene
!
(t) T (t)P(t 1)
P(t) = P(t 1) (t)
1 + T (t)P(t 1)(t)
"
(8.45)
Con todo ello podemos estimar los parmetros de forma recursiva como:
1) + P(t)e(t)
(t) = (t
8.5.3.
(8.46)
C(q 1 )
(t)
1 q 1
(8.47)
N2
j=N1
Nu
( y (t + j|t)r (t + j)) +
(u(t + j 1))} (8.48)
2
j=1
(8.50)
120
K P = C2 2C3
K I = C1 + C2 + C3
(8.53)
K D = C3
8.5.4.
121
0.6
0.4
0.2
-0.2
-0.4
-0.6
0
100
200
300
400
500
600
Time (second)
700
800
900
Fig. 8.11: Resultados del Control Predictivo con RGO para = 0,12
0.6
0.4
0.2
-0.2
-0.4
-0.6
100
200
300
400
500
600
Time (second)
700
800
900
1000
Fig. 8.12: Resultados del Control Predictivo con RGO para = 0,16
8.6.
Anlisis de resultados
122
0.8
0.6
0.4
0.2
-0.2
-0.4
-0.6
-0.8
100
200
300
400
500
600
Time (second)
700
800
900
1000
Fig. 8.13: Resultados del Control Predictivo con RGO para = 0,20
La optimizacin gentica restringida (RGO) proporciona un marco unificador, muy flexible y natural, sobre el que desarrollar nuevos controladores
predictivos.La naturaleza de esto es controladores puede ser muy variada,
en particular, haciendo ciertas aproximaciones, se tiene controladores de
tipo PID adaptativos.
A diferencia de otras tcnicas de optimizacin, la optimizacin gentica
restringida hace una gestin sencilla e intuitiva de las ligaduras.
Este mtodo se puede aplicar a cualquier sistema causal, incluyendo a los
sistemas no lineales variantes en el tiempo, siempre que las no linealidades
no sean demasiado grandes.
Como problema, se puede apuntar la complejidad computacional del mtodo, lo que impide variar la ley de control muy rpidamente (del orden de
0.1 s).
9. APLICACIONES I: TRMS
9.1.
Introduccin
124
9. APLICACIONES I: TRMS
9.2.
125
Modelado y parmetros
h
Gh
Fh
lh
Fh
Motor DC con
rotor de cola
( v)
Mh
1/s
Kh
ghv
h(t)
1/Jh
1/s
fh
fv
J hv
Jvh
g vh
Motor DC con
rotor principal
Uv
Gv
Fv
lv
Fv
1/s
Mv
1/J v
1/s
v(t)
Kv
f
126
9. APLICACIONES I: TRMS
Significado
Unidades
posicin horizontal del eje del TRMS (azimut position)
[rad]
velocidad angular del eje del TRMS (azimut velocity)
[rad/s]
entrada de control (tensin) del motor horizontal
[V ]
funcin de transferencia lineal del motor y rotor de cola
parte no-lineal del motor y rotor de cola: h(Uh ) = h
[rad/s]
velocidad de rotacin del rotor de cola
[rad/s]
funcin no-lineal (cuadrtica) de fuerza aerodinmica
del rotor de cola: Fh = Fh (h )
[N ]
brazo efectivo de la fuerza aerodinmica del rotor de cola:
lh = lh (v )
[m]
funcin no-lineal del momento de inercia respecto
al eje vertical: Jh = Jh (v )
[kgm 2 ]
par de giro horizontal
[N m]
momento angular horizontal
[N ms]
momento de la fuerza de friccin del eje vertical
[N m]
posicin vertical del eje del TRMS (pitch position)
[rad]
velocidad angular del eje del TRMS (pitch velocity)
[rad/s]
entrada de control (tensin) del motor vertical
[V ]
funcin de transferencia lineal del motor y rotor principal
parte no-lineal del motor y rotor principal: h(Uv ) = v
[rad/s]
velocidad de rotacin del rotor principal
[rad/s]
funcin no-lineal (cuadrtica) de fuerza aerodinmica
del rotor principal: Fv = Fv (v )
[N ]
brazo efectivo de la fuerza aerodinmica del rotor principal
[m]
momento de inercia respecto al eje horizontal
[kgm 2 ]
par de giro vertical
[N m]
momento angular vertical
[N ms]
momento de la fuerza de friccin del eje horizontal
[N m]
par de fuerzas vertical del contrapeso: f = f (v )
[N m]
contina en la pgina siguiente
127
Smb.
Jhv
Jvh
gvh
ghv
t
1/s
Significado
Unidades
momento angular vertical del rotor de cola
[N ms]
momento angular horizontal del rotor principal
[N ms]
funcin no-lineal (cuadrtica) del par de giro de reaccin:
gvh = gvh (v )
[N m]
funcin no-lineal (cuadrtica) del par de giro de reaccin:
ghv = ghv (h )
[N m]
tiempo
[s]
funcin de transferencia del integrador
9.3.
128
9. APLICACIONES I: TRMS
Fig. 9.4: Respuesta del rotor principal del TRMS a una onda cuadrada.
9.4.
Para poder realizar un estudio comparativo de los diversos controladores, vamos a ver los resultados que se obtienen al controlar el TRMS con un PID adaptativo RGO.
9.4.1.
PID vv
SISTEMA
1-DOF
129
El diagrama de bloques siguientes muestra el sistema de una forma ms detallada. Ntese que slo se considera la parte vertical del sistema de control.
wh
Uh
Gh
Fh
Mh
l h (a
Fh
v)
1/s
Kh
ah(t)
1/Jh
Motor DC con
ghv
rotor de cola
1/s
fh
Wh
fv
Wv
J hv
Jvh
gvh
Motor DC con
rotor principal
a v(t)
Uv
Gv
v
wv
Fv
l
Fv
1/s
Mv
1/Jv
1/s
Kv
f
0.4
0.2
0.2
0.4
0.6
60
80
100
120
140
Time (second)
160
180
200
60
80
100
120
140
Time (second)
160
180
200
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
9.4.2.
130
9. APLICACIONES I: TRMS
zarlo en esa posicin. Para ello bloqueamos un eje del sistema de forma que no se
pueda mover en el plano vertical. El seguimiento consiste en que los movimientos
del TRMS sigan la seal de referencia lo mas fielmente posible.
Para comenzar restringimos nuestro objetivo de control a la estabilizacin y
seguimiento del sistema en el plano horizontal solamente. El correspondiente diagrama de bloques del control PID del sistema se muestra en la figura 9.8.
hd
SISTEMA
1-DOF
PIDhh
Uh
wh
Gh
Fh
Mh
l h (a
Fh
v)
1/s
Kh
ah(t)
1/Jh
Motor DC con
ghv
rotor de cola
1/s
fh
Wh
fv
Wv
J hv
Jvh
gvh
Motor DC con
rotor principal
a v(t)
Uv
Gv
v
wv
Fv
l
Fv
1/s
Mv
1/Jv
1/s
Kv
f
9.4.3.
La tarea en este caso es la misma que en las secciones previas pero el TRMS
no est bloqueado mecnicamente, y por tanto est libre para moverse en ambos
planos.
Controlador PID simple El controlador PID simple controla los movimientos horizontal y vertical separadamente. En este sistema de control la influencia
131
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
60
80
100
120
140
Time (second)
160
180
200
60
80
100
120
140
Time (second)
160
180
200
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
Fig. 9.10: Control del sistema 1-DOF (estabilizacin y seguimiento en horizontal). Arriba: salida del sistema vs. seal de referencia. Abajo: error cometido.
de un rotor sobre el otro no est compensada por la estructura del controlador. El
sistema no est desacoplado.
h
v
h
v
Uh
PID
simple Uv
SISTEMA
2-DOF
PID hh
PID vv
Uv
Uh
9.4.4.
El controlador PID con acoplamiento cruzado controla el sistema en los planos horizontal y vertical. En este sistema de control la influencia de un rotor sobre
el movimiento en el otro plano puede ser compensada por la estructura de acoplamiento cruzado del controlador.
132
9. APLICACIONES I: TRMS
0.6
0.4
0.2
0.2
0.4
0.6
60
80
100
120
140
Time (second)
160
180
200
60
80
100
120
140
Time (second)
160
180
200
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
80
100
120
140
Time (second)
160
180
200
60
80
100
120
140
Time (second)
160
180
200
1.5
1
0.5
0
0.5
1
1.5
2
2.5
3
9.5.
133
h
h
Generador externo
de la seal horizontal
Generador externo
de la seal vertical
Uh
CONTROL
PID
Uv
SISTEMA
2-DOF
PID hh
PID hv
PIDvh
v
PID vv
Uh
Uv
Fig. 9.14: Diagrama de bloques del sistema de control 2-DOF PID de acoplamiento cruzado.
0.6
0.4
0.2
0.2
0.4
0.6
60
80
100
120
140
Time (second)
160
180
200
60
80
100
120
140
Time (second)
160
180
200
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
C(q 1 )
(t)
1 q 1
(9.1)
N2
j=N1
Nu
( y (t + j|t) r (t + j)) +
(u(t + j 1))} (9.2)
2
j=1
134
9. APLICACIONES I: TRMS
60
80
100
120
140
Time (second)
160
180
200
60
80
100
120
140
Time (second)
160
180
200
1.5
1
0.5
0
0.5
1
1.5
2
2.5
3
(9.4)
135
K P = C2 + 2C3
K I = C1 + C2 3C3
(9.7)
K D = C3
Parmetros del proceso
Clculo de los
parmetros
del Controlador
Estimacin de los
parmetros del
sistema
Parm.
Contr.
r
Controlador
y
Proceso
9.6.
Basndose en los estudios realizados en los captulos anteriores se ha desarrollado un controlador predictivo que utiliza las tcnicas RGO en dos niveles: para
identificar un modelo del sistema y para encontrar los parmetros del controlador.
Obviamente, un control adaptativo y predictivo necesita una gran cantidad de
trabajo computacional. En cada instante de muestreo los parmetros del proceso
deben ser identificados, el modelo predictivo debe ser calculado y la funcin de
coste debe ser evaluada. Estas operaciones consumen tiempo y pueden hacer que
la seal de control no se consiga variar con la rapidez necesaria.
Para la realizacin del controlador se optimiza el funcional
J (N1 , N2 ) = E{
N2
j=N1
N
2 d
( j)[u(t + N 1)]2 }
j=1
(9.8)
de un modo directo, utilizando la Optimizacin Gentica Restringida, obtenindose los coeficientes ly y lr de la expresin
136
9. APLICACIONES I: TRMS
PID-RGO
RGO
PREDICTIVO
Uh
Uv
SISTEMA
2-DOF
u(i) =
N
k=d
lyk y(i k) +
N
d
lrk r (i k).
(9.9)
k=1
Lo cual significa que podemos calcular el valor de la entrada del sistema con poco
coste computacional.
0.4
0.3
0.2
0.1
0
0.1
0.2
0.3
0.4
0.5
0.6
0
20
40
60
80
100
120
Time (second)
140
160
180
200
20
40
60
80
100
120
Time (second)
140
160
180
200
0.8
0.6
0.4
0.2
0.2
0.4
0.6
0.8
0
Fig. 9.19: Experimento con el controlador de estabilizacin y seguimiento: control predictivo-RGO en el plano vertical (con un grado de libertad).
Arriba: salida del sistema vs. seal de referencia en eje vertical. Abajo:
error cometido.
Existen, por tanto, dos bucles: uno lento que nos va actualizando los coeficientes de la seal de entrada u, y un bucle rpido que calcula la seal de entrada. De
137
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
0
20
40
60
80
100
120
Time (second)
140
160
180
200
20
40
60
80
100
120
Time (second)
140
160
180
200
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
0
Fig. 9.20: Experimento con el controlador de estabilizacin y seguimiento: PIDRGO (arriba) en el plano vertical (con un grado de libertad). Arriba:
salida del sistema vs. seal de referencia en eje horizontal. Abajo : error
cometido.
0.4
0.2
0.2
0.4
0.6
0
20
40
60
80
100
120
Time (second)
140
160
180
200
20
40
60
80
100
120
Time (second)
140
160
180
200
0.8
0.6
0.4
0.2
0.2
0.4
0.6
0.8
0
138
9. APLICACIONES I: TRMS
0.6
0.4
0.2
0.2
0.4
0.6
0.8
0
20
40
60
80
100
120
Time (second)
140
160
180
200
20
40
60
80
100
120
Time (second)
140
160
180
200
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
0
20
40
60
Time (second)
80
100
120
139
9.7.
Hemos desarrollado un controlador PID que utiliza las tcnicas RGO en dos
niveles: para identificar un modelo del sistema y para encontrar los parmetros del
controlador.
Como primer paso, realizamos una identificacin paramtrica, para lo cual
partimos de una primera identificacin de mltiples modelos de tipo ARX, A(q 1 )yk =
z d B(q 1 )u k + e(t), mediante el mtodo de mnimos cuadrados, y despus se
transforma en una realizacin en el espacio de estados.
h
Generador externo h
de la seal horizontal
Generador externo
de la seal vertical
dh /dt
Uh
CONTROL
Uv
SISTEMA
2-DOF
h
OBSERVADOR
v
dv /dt
F(t)/ F.
En cada generacin, sustituimos el anterior modelo por el mejor de la nueva
generacin como centro del entorno donde se realiza la bsqueda, de esta manera
,en caso de un sistema LTI, el mejor modelo debe ir tendiendo al valor que minimiza el funcional y la poblacin ira tendiendo a cero. A continuacin realizamos
una nueva lectura de la entrada y la salida del sistema.
140
9. APLICACIONES I: TRMS
De esta manera conseguimos un conjunto de aproximaciones sucesivas a mejores modelos en caso de el sistema sea invariante en el tiempo y si el sistema
es variable, pero de variacin lo suficientemente lenta, entonces el modelo va siguiendo al sistema en sus variaciones.
2.5
1.5
0.5
0
0
20
40
60
80
100
120
Time (second)
140
160
180
200
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
1.2
0
20
40
60
80
100
Time (second)
120
140
160
180
Fig. 9.25: Experimento con el controlador de estabilizacin y seguimiento: PIDRGO en variables de estado. Arriba: salida del sistema vs. referencia en
eje vertical. Abajo: salida del sistema vs. referencia en eje horizontal.
Podemos adems aprovechar las caractersticas convenientes de la convergencia global si al principio tomamos una bola lo suficientemente grande, de manera
que reduzcamos la probabilidad de quedarnos en un mnimo local. Una vez que
sepamos que seguimos al mnimo adecuado, podemos reducir el tamao de la bola y al mismo tiempo de la poblacin, para conseguir una mayor velocidad de
ejecucin del algoritmo.
Para que el algoritmo no tenga una convergencia prematura y se homogeneice demasiado la poblacin, podemos aumentar el parmetro de probabilidad de
mutacin.
9.8.
141
142
9. APLICACIONES I: TRMS
Tab. 9.2: Resultados de la comparacin entre los distintos mtodos de control del
TRMS.
Error RMS
Plano vertical
PID Vert. (1 DOF)
0.3980
PID Horiz. (1 DOF)
PID (2 DOF)
0.4260
PID con acoplamiento cruzado (2 DOF)
0.4284
Predictivo-RGO Vertical
0.1982
PID-RGO Horizontal
Plano Horizontal
0.5520
1.0326
1.0206
0.2145
0.2181
0.2212
10.1.
10.2.
144
B((k|k
1), ) R, with = P(k|k 1),
f (J ) =
108
1
+ V (x(k|k
1))
(10.1)
and
V (x(k)) =
1
1
2 (z(k) h(k, x(k))) R(k) (z(k) h(k, x(k)))
+ 12 (x(k) x(k|k
1)) .
(10.2)
Por lo tanto el algoritmo actualiza las estimaciones de los estados y la matriz
de covarianza y el bucle es repetido de nuevo, como se ilustra en la figura 1. La
funcin de densidad de probabilidad de x(k) dado Z k viene dada como
p(x(k)|Z k ) = p(x(k)|z(k), Z k1 ) =
1
k1 )) =
c p(z(k)|x(k)) p(x(k|Z
1
(10.3)
1), P(k|k 1)) .
Maximizar la funcin anterior es equivalente a calcular una estimacin maximum a posteriori (MAP). Esto es tambin equivalente a minimizar V (x(k)) , i.e.
maximizar la funcin de salud f (J ).
La funcin de salud estndar (i.e. dividida por la suma de las saludes) es una
aproximacin de la funcin de densidad condicional (PDF).
p(x(k)|Z k ) =
p(z(k)|x(k)) p(x(k)|Z k1 )
.
p(z(k)|x(k)) p(x(k)|Z k1 )
(10.4)
1) x(k
1|k 1))
d = (x(k|k
1) x(k
1|k 1)) P 1 (k|k)(x(k|k
(10.5)
10.2.1.
Consideraciones de diseo
146
consiste en los siguientes mdulos: supervisor de fusin, primitivas de comportamiento y ejecutor. La funcin del mdulo supervisor de fusin es el clculo del
peso asignado a cada primitiva de comportamiento. La funcin del mdulo ejecutor es el calculo de las ordenes dadas al robot basadas en los pesos de las primitivas de comportamiento. Las entradas estndar del ejecutor son la velocidad
v y la curvatura . La primitiva de comportamiento puede ser caracterizada por
una secuencia temporal de valores apropiados para v y que causan que el robot
exhiba una primitiva de comportamiento pre-especificada.
10.2.2.
La estructura gentica
Para resolver el problema de localizacin del robot mvil por medio de RGO,
necesitamos un esquema de codificacin para codificar los parmetros del problema en cadenas genticas. Aqu, la posicin del robot se codifica como una cadena
por sus Coordenadas Cartesianas como:
{(x1 , y1 , 1 ), (x2 , y2 , 2 ), . . . , (xn , yn , n )}
(10.6)
con todos los valores guardados en forma decimal. Un conjunto de posiciones vlidas aleatorias es creado como generacin inicial alrededor de la solucin dada
por el filtro extendido de Kalman. Para resolver el problema, definimos un cromosoma con una longitud de 11 bits y poblaciones con un tamao de 250 individuos.
Despus de que una nueva generacin ha sido creada, calculamos la funcin de
salud de cada individuo (posicin).Definir funciones de salud apropiadas es vital
para conseguir buenos rendimientos en la optimizacin
10.2.3.
La funcin de salud
Para optimizar la estructura utilizando RGO, uno debe ser capaz de asignar
una medida de la calidad de cada estructura en el espacio de bsqueda. La funcin
de salud es responsable de esta tarea. La funcin de salud utilizada puede ser
definida de la siguiente manera:
Marcas de Referencia:
glk =
1
ke
(l
pan
ob )2 + ( ke ob )2
pan
ltilt
tilt
(10.7)
ke
ltilt
= arctan(
ya p y
(xa px )2 + (ya p y )2
pz z a
(xa px )2 + (ya p y )2
(10.8)
(10.9)
j=N
i=N
i=0 j=0
(10.11)
d py (vc C y )
f
(10.13)
148
ke
i=0 (Dls
Dsob )2
(10.14)
1
X r X sn
i
(cos sn + sin sn tan sn ) (Ysn Yr ) tan sn sin(su
+ r sn )
(10.15)
10.3.
Resultados experimentales
Con la finalidad de comprobar la fiabilidad y robustez del sistema de relocalizacin se ha realizado un estudio comparativo, con el vehculo detenido, con la
finalidad de evaluar la mejora que supone la introduccin del mtodo anteriormente descrito en el proceso de localizacin del vehculo.
Los resultados obtenidos se muestran en la siguiente tabla:
Con RGO
Sin RGO
Nm. generaciones
2a gen. 3a gen. 4a gen.
40
12
8
60
31
29
Tab. 10.1: Localizacin en posicin con y sin RGO (1). Error en mm.
En las tablas 10.1 y 10.2 se muestra la evolucin del error de posicin y orientacin del vehculo, al introducir en el sistema errores respectivos de 20 cm y
10 deg.
En las tablas 10.3 y 10.4 se han introducido simultneamente errores de posicin y ngulo.
En las tablas anteriores, se pone de manifiesto la mejora que produce la implantacin del mtodo descrito en el proceso de localizacin. El principal inconveniente radica en el elevado tiempo de ciclo que requiere para su ejecucin, del
orden de 15 veces el necesario para el mtodo de la proyeccin.
Nm. generaciones
3a gen. 4a gen.
-2.6
1.8
0.2
-3.9
2.6
-2
2a gen.
Con RGO
Sin RGO
Tab. 10.2: Localizacin angular con y sin RGO (1). Error en grados.
Nm. generaciones
3a gen. 4a gen.
49
11
8
61
31
18
2a gen.
Con RGO
Sin RGO
Tab. 10.3: Localizacin en posicin con y sin RGO (2). Error en mm.
Nm. generaciones
3a gen. 4a gen.
3.7
-0.5
1
4.1
-5.2
2.1
2a gen.
Con RGO
Sin RGO
Tab. 10.4: Localizacin angular con y sin RGO (2). Error en grados.
149
150
Conclusiones
Resumen y conclusiones
En esta tesis se ha desarrollado un nuevo mtodo Optimizacin Gentica Restringida (RGO) y las ventajas de su utilizacin en la identificacin de sistemas no
lineales, en la estimacin de estados (Filtro de Kalman extendido), en el diseo de
controladores adaptativos y aplicaciones a la relocalizacin de Robots mviles.
11.2.
Aportaciones principales
Se ha desarrollado el mtodo de optimizacin RGO (Restricted Genetic Optimization) para funciones que varen con el tiempo. Este mtodo ha probado ser
muy til para minimizar o maximizar funciones no-lineales y no-diferenciables.
Este mtodo est especialmente indicado para su uso en la identificacin para el
control de sistemas dinmicos.
El mtodo RGO ha sido utilizado en la identificacin en la forma de entradasalida [cap. 5], y en la forma de variables de estado [cap. 7] con excelentes resultados. Las ventajas principales han sido su utilizacin en lnea y su aplicabilidad
a sistemas no-lineales.
Tambin ha sido aplicado este mtodo a la estimacin de estados [cap 6],
creando dos nuevos filtros de Kalman extendidos, que se pueden aplicar a la estimacin de estados en lnea, de sistemas no lineales y los resultados han sido
muy buenos. Este mtodo ha sido aplicado muy eficientemente a la localizacin
de robots mviles [cap 10].
Seguidamente, se ha aplicado a la realizacin de controladores adaptativos no
lineales basados en el mtodo RGO: PID-RGO[cap. 8, 9], controlador predictivo
RGO [cap. 8, 9] y controlador en variables de estado RGO [cap. 9].
152
11.3.
Trabajo Futuro
BIBLIOGRAFA
[1] H. Akaike. A new look at the statistical model identification. IEEE Transactions on Automatic Control, AC-19:716723, 1974.
[2] H. Akaike. Markovian representation of sthocastic processes by canonical
variables. SIAM Journal of Control and Optimization, 13:162173, 1975.
[3] T. Alvarez, F. Tadeo, and C. De Prada. Constrained predictive control of
multivariable robotic systems. In Proceedings of the 1998 IEEE International Conference on Control Applications, pages 588592. IEEE, New York,
NY, USA, 1998.
[4] J. Aracil and F. Gordillo. Dinmica de Sistemas. Alianza Universidad,
Madrid, 1997.
[5] J. M. Armingol. Localizacin Geomtrica de Robots Mviles Autnomos.
PhD thesis, Univ. Carlos III, Madrid, Spain, 1997.
[6] J. M. Armingol, L. E. Moreno, S. Garrido, A. de la Escalera, and M. A.
Salichs. Mobile robot localization using a non-linear evolutionary filter. In
3rd IFAC Symp. on Intelligent Autonomous Vehicles (IAV98). IFAC, 1998.
[7] K. Astrm and T. Hgglund. PID Controllers: Theory, Design and Tunning.
Instrument Society of America, Research Triangle Park, N. C., 1995.
[8] K. J. Astrm. Maximum likelihood and prediction error methods. Automatica, 16:551574, 1980.
[9] K. J. Astrm and B. Wittenmark. Computer Controlled Systems. PrenticeHall, Englewood Cliffs, New Jersey, 1984.
[10] K. J. Astrm and B. Wittenmark. Adaptive Control. Addison-Wesley, Reading, Massachusetts, 1995.
[11] Y. Bar-Shalom and T.E. Fortmann. Tracking and Data Association. The
Academic Press, London, 1988.
154
Bibliografa
Bibliografa
155
156
Bibliografa
Bibliografa
157
Automatica,
[55] R. Isermann. Digital Control Systems. Volume I. Fundamentals, Deterministic Control. Springer-Verlag, Berlin, 1989.
[56] R. Isermann. Digital Control Systems. Volume II. Sthocastic Control, Multivariable Control, Adaptive Control, Applications. Springer-Verlag, Berlin,
1989.
[57] R. Isermann, K.H. Lachmann, and D. Matko. Adaptive Control Systems.
Prentice-Hall International, Hemel Hempstead, UK, 1992.
[58] A. Jimenez. Introduccion al Control Optimo. Universidad Politecnica de
Madrid, Madrid, 1995.
[59] A. Jimenez and R. Aracil. Sistemas discretos de control. Universidad Politecnica de Madrid, Madrid, 1993.
[60] R. Johansson. System Modeling and Identification. Prentice-Hall, Englewood Cliffs, New Jersey, 1992.
[61] C. R. Johnson. Admissibility in blind adaptive channel equalization. IEEE
Control Systems Magazine, 1991.
[62] A. Juditsky, H. Hjalmarsson, A. Benveniste, B. Delyon, L. Ljung, J. Sjoberg, and Q. Zhang. Nonlinear black-box models in system identification:
Mathematical foundations. Automatica, 12(31):17251750, 1995.
[63] S. J. Julier, J. K. Uhlmann, and H. F. Durrant-Whyte. A new approach for
filtering nonlinear systems. a new approach for the nonlinear transformation of means and covariances in linear filters. IEEE Trans. on Automatic
Control, 1996.
158
Bibliografa
Bibliografa
159
160
Bibliografa
Bibliografa
161
162
Bibliografa
Bibliografa
163
[1] [2] [3] [4] [5] [6] [8] [7] [9] [10] [11] [12] [13] [14] [15] [25] [17] [18]
[19] [20] [21] [22] [23] [96] [26] [27] [28] [31] [32] [33] [34] [35] [37] [38] [39]
[40] [44] [45] [46] [47] [49] [50] [51] [52] [53] [54] [55] [56] [57] [59] [58] [60]
[62] [63] [64] [65] [67] [66] [68] [69] [70] [71] [73] [74] [75] [76] [77] [78] [79]
[80] [81] [82] [83] [85] [86] [87] [88] [90] [91] [92] [24] [94] [95] [97] [98] [100]
[101] [102] [103] [105] [104] [106] [107] [108] [109] [110] [112] [113] [114]
[115]