EKF y UKF: dos extensiones del filtro de Kalman para sistemas no

Anuncio
EKF y UKF: dos extensiones del filtro de
Kalman para sistemas no lineales aplicadas al
control de un péndulo invertido
Alejandro Pascual
8 de mayo de 2006
Monografı́a para el curso Tratamiento Estadı́stico de Señales (2004).
Docentes: Gabriel Dutra, Gabriel Perret y Alvaro Tuzman.
Instituto de Ingenierı́a Eléctrica - Facultad de Ingenierı́a - UDELAR .
Índice
1. Introducción
1
2. Estimación de estado óptima
2.1. Formulación del problema . . . . . . .
2.2. Filtro de Kalman . . . . . . . . . . . .
2.3. Filtro de Kalman extendido (EKF) . .
2.4. La transformación “unscented” . . . .
2.4.1. Ejemplo . . . . . . . . . . . . .
2.5. Filtro de Kalman “unscented” (UKF)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
2
4
5
7
9
11
3. Aplicación
3.1. La planta a controlar . . . . . . . . . . . . . . . .
3.1.1. Dinámica de la planta en tiempo continuo
3.1.2. El objetivo de control . . . . . . . . . . .
3.1.3. Dinámica de la planta en tiempo discreto
3.2. Modelado . . . . . . . . . . . . . . . . . . . . . .
3.3. Algoritmo de control . . . . . . . . . . . . . . . .
3.4. Observador de estado . . . . . . . . . . . . . . .
3.5. Resultados de las simulaciones . . . . . . . . . .
3.5.1. Sintonización en lazo abierto . . . . . . .
3.5.2. Estimación de estado en lazo cerrado . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
13
13
14
15
16
17
19
22
23
24
26
4. Conclusiones
1.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
32
Introducción
El filtro de Kalman, aparecido a principios de la década de los sesenta, es de
una importancia comparable a los trabajos realizados por Nyquist y Bode en
1
la década de los veinte y los de Wiener en los años treinta. El filtro de Kalman
permite estimar en tiempo real el vector de estado de un sistema dinámico
lineal a partir de medidas ruidosas indirectas que de él se van tomando. Estas
estimaciones en tiempo real del estado del sistema, son valiosas en si mismas
cuando el sistema opera en lazo abierto; pero considerando la posibilidad de
operación en lazo cerrado, las mismas pueden ser utilizadas para sintetizar una
acción de control adecuada que lleve el sistema al estado deseado. Esta última
posibilidad es la que motiva nuestro interés en el filtro.
En el contexto de la teorı́a de control lineal, el filtro de Kalman ocupa un
lugar central como observador de estado óptimo y en este contexto está bien
entendida su utilización. No obstante, cada vez con más frecuencia, se manejan
modelos no-lineales en ámbitos de aplicación tan diversos como la ingenierı́a,
biologı́a, ecologı́a y economı́a. El uso de estos modelos más complejos, se ha
visto estimulado por el desarrollo tecnológico de la computación, que mediante
el cálculo numérico ha facilitado el análisis de los mismos y la implementación de
métodos de control también no-lineales. Resulta entonces natural buscar algún
método de estimación de estado en tiempo real, que pueda aplicarse a sistemas
no-lineales.
En este trabajo se presentan dos extensiones del filtro de Kalman para sistemas no lineales: 1) el filtro de Kalman extendido (EKF: Extended Kalman
Filter ), utilizado hasta hace poco como la opción estándar en aplicaciones nolineales y 2) el filtro de Kalman “unscented” 1 (UKF: Unscented Kalman Filter ), propuesto recientemente por Julier y Uhlmann [4] y luego perfeccionado
por Wan y van der Merwe [8].
Estas dos extensiones del filtro de Kalman, se aplican luego como observadores de estado, en un problema clásico de control no-lineal conocido como “control
del péndulo invertido” o “problema del escobillero”; que consiste en mantener
un péndulo verticalmente, en su posición naturalmente inestable, aplicando, en
cada instante, una fuerza horizontal apropiada a un carro deslizante sobre el que
se encuentra montado el eje del péndulo. Utilizando una misma metodologı́a de
control no-lineal, se comparan los desempeños de los dos observadores en su
función de proveer estimaciones del vector de estado para la sı́ntesis de la señal
de control.
2.
Estimación de estado óptima
En esta sección se plantea detalladamente el problema de estimación de
estado, se revisa la formulación del filtro de Kalman para tiempo discreto y se
introducen el EKF y el UKF.
2.1.
Formulación del problema
Matemáticamente, el problema a abordar es el siguiente. Se cuenta con un
modelo de la planta en la forma de una representación en variables de estado
en tiempo discreto:
xk = F (xk−1 , uk−1 , vk−1 )
(1)
1 “Unscented” podrı́a traducirse literalmente como inoloro, aunque hemos preferido mantener el nombre original en inglés porque desconocemos los motivos que los autores tuvieron
para bautizar de esta forma al nuevo filtro.
2
yk = G (xk , nk )
(2)
donde los subı́ndices hacen referencia a los instantes de tiempo discreto, la variable aleatoria xk representa el estado no accesible del sistema, uk es la entrada
impuesta al sistema (supuesta conocida) e yk es la salida observada. Los procesos estocásticos {vk }k∈N y {nk }k∈N , son habitualmente referidos como ruido
de proceso y ruido de medida respectivamente. El ruido de proceso afecta la
dinámica del modelo y representa los aspectos no modelados de la dinámica de
la planta real; mientras que el ruido de medida influye sobre la salida accesible
del modelo y representa la incertidumbre propia del proceso de medida de la salida de la planta real. Tanto el ruido de proceso como el ruido de medida pueden
además representar perturbaciones corrientes a las que está sometida la planta.
Se asume que la condición inicial x0 desconocida, vk y nk son mutuamente no
correlacionadas:
Px0 ,vk , 2 Cov (x0 , vk ) = 0 ∀k ≥ 0
(3)
Px0 ,nk , Cov (x0 , nk ) = 0
Pvk ,nj , Cov (vk , nj ) = 0
∀k ≥ 0
(4)
∀k, j ≥ 0
(5)
y que {vk } y {nk } son ruido blanco:
Pvk ,vj , Cov (vk , vj ) = δ (k − j) Q ∀k, j ≥ 0
(6)
Pnk ,nj , Cov (nk , nj ) = δ (k − j) R
(7)
∀k, j ≥ 0
donde δ (k) es la delta de Kronecker 3 y Q y R son las matrices de covarianza
del ruido de proceso y el ruido de medida, respectivamente.
Bajo estas hipótesis el estado xk y la salida yk son variables aleatorias.
Dadas las estadı́sticas de los procesos estocásticos {vk } y {nk }, la estadı́stica
de la condición inicial desconocida x0 , la sucesión de entrada conocida u0:k =
{u0 , . . . , uk } y las observaciones y1:k = {y1 , . . . , yk }; el objetivo es estimar, en
cada instante k ≥ 1, el estado xk .
La estimación xk|k de xk es óptima en el sentido “mı́nima media cuadrática
del error” (MMSE: minimum mean-squared error ) si es aquella que minimiza
h¡
i
¢T ¡
¢
J = E xk − xk|k
xk − xk|k | y1:k .
(8)
La estimación óptima viene dada por la esperanza condicional (Lewis [5]):
Z
M M SE
xk|k
= E [xk | y1:k ] = xk p (xk | y1:k ) dxk .
(9)
La evaluación de (9) requiere del conocimiento de la densidad de probabilidad
a posteriori p (xk | y1:k ) 4 . Dada esta densidad, es posible determinar no sólo
el estimador MMSE que minimiza (8), sino cualquier otro estimador óptimo
en el sentido de algún criterio de performance. El problema de determinar esta
h
i
, E (x − E [x]) (y − E [y])T (matriz de covarianza).
3 δ (k) = 1 si k = 0 y δ (k) = 0 si k 6= 0.
4 No se hace explı́cita la dependencia con la entrada {u } porque se asume que es una señal
k
conocida y no un proceso estocástico.
2 Cov (x, y)
3
densidad es referido como enfoque Bayesiano y la misma puede ser evaluada
recursivamente mediante (Lewis [5]):
p (xk | y1:k ) =
donde
p (xk | y1:k−1 ) p (yk | xk )
p (yk | y1:k−1 )
(10)
Z
p (xk | y1:k−1 ) =
p (xk | xk−1 ) p (xk−1 | y1:k−1 ) dxk−1
y la constante de normalización p (yk | y1:k−1 ) está dada por:
Z
p (yk | y1:k−1 ) = p (xk | y1:k−1 ) p (yk | xk ) dxk .
(11)
(12)
Esta recursión permite calcular la densidad de probabilidad del estado actual
en función de la densidad previa y la medida más reciente. p (xk | xk−1 ) se
determina a partir de p (vk ), la ecuación de transición de estado (1) y la entrada
uk que es conocida. En forma similar, p (yk | xk ) se determina a partir de p (nk )
y la ecuación de medida (2).
En principio, el conocimiento de estas densidades y p (x0 | y1:0 ) , p (x0 )
determina p (xk | y1:k ) para todo k ≥ 1. Desafortunadamente, para la mayorı́a
de los modelos que surgen en la práctica, no es posible encontrar una solución
cerrada a esta recursión. El único abordaje práctico existente, de tipo completamente general, consiste en aplicar técnicas de muestreo Monte-Carlo, que
esencialmente aproximan las integrales de las ecuaciones (11) y (12) por sumas
que convergen a la solución en el lı́mite, con considerable costo de procesamiento
numérico. Sólo introduciendo fuertes hipótesis, el problema se vuelve tratable
analı́ticamente. El célebre filtro de Kalman que se presenta a continuación, es
un ejemplo de ello.
2.2.
Filtro de Kalman
La esperanza condicional (9) es en general muy difı́cil de calcular porque implica conocer p (xk | y1:k ), pero en algunos casos puede calcularse analı́ticamente
en forma recursiva.
Considérese el caso en que el modelo (1),(2) es lineal:
xk = Axk−1 + uk−1 + vk−1
(13)
yk = Cxk + nk
(14)
y las densidades de distribución son gaussianas:
¡
¢
p (xk−1 | y1:k−1 ) = N xk−1|k−1 , Pk−1|k−1
(15)
p (vk−1 ) = N (0, Q)
(16)
p (nk ) = N (0, R)
(17)
donde N (x̄, Px ) es una densidad de distribución gaussiana caracterizada por el
vector esperanza x̄ y la matriz de covarianza Px .
En estas condiciones se tiene que,
¢
¡
(18)
p (xk | y1:k−1 ) = N xk|k−1 , Pk|k−1
4
¡
¢
p (xk | y1:k ) = N xk|k , Pk|k
(19)
xk|k−1 = Axk−1|k−1 + uk−1 = E [xk | y1:k−1 ]
(20)
Pk|k−1 = APk−1|k−1 AT + Q = Cov (xk , xk | y1:k−1 )
¡
¢
yk − yk|k−1 = E [xk | y1:k ]
xk|k = xk|k−1 + Pxk yk Py−1
k yk
(21)
donde
Pk|k = Pk|k−1 −
PxTk yk
Pxk yk Py−1
k yk
= Cov (xk , xk | y1:k )
(22)
(23)
con
yk|k−1 = Cxk|k−1 = E [yk | y1:k−1 ]
(24)
Pxk yk = Pk|k−1 C T = Cov (xk , yk | y1:k−1 )
(25)
Pyk yk = CPk|k−1 C T + R = Cov (yk , yk | y1:k−1 ) .
(26)
Como p (xk−1 | y1:k−1 ), p (vk−1 ) y p (nk ) son densidades de distribuciones
gaussianas y como el modelo (modelo dinámico (13) y modelo de medida (14))
es lineal; la densidad de distribución p (xk | y1:k ) también es gaussiana y por
lo tanto queda completamente caracterizada por el vector esperanza xk|k y la
matriz de covarianza Pk|k .
Si la condición inicial desconocida
tiene
¡
¢ una densidad de distribución gaussiana: p (x0 | y1:0 ) , p (x0 ) = N x0|0 , P0|0 y para todo k ≥ 0 los ruidos (de proceso y de medida) también son gaussianos: p (vk ) = N (0, Q), p (nk ) = N (0, R);
entonces es posible aplicar la recursión anterior, conocida como filtro de Kalman,
para calcular en forma exacta los parámetros xk|k y Pk|k que caracterizan a la
densidad de distribución gaussiana p (xk | y1:k ) con la cual se puede determinar
cualquier estimador óptimo según algún criterio de performance. En particular
M SE
el estimador MMSE que minimiza (8), es simplemente xM
= E [xk | y1:k ] =
k|k
xk|k .
Cuando p (x0 ), p (vk ) o p (nk ) no son gaussianas, el filtro de Kalman es el
que minimiza (8) entre todos los estimadores lineales (Lewis [5]). Por supuesto,
podrı́an existir estimadores no-lineales que lograran reducir aún más (8).
Cada paso de recursión del filtro de Kalman se compone de dos etapas:
1) predicción (o “actualización en el tiempo”, time update) y 2) corrección (o
“actualización de medida”, measurement update). Las expresiones (20) y (21)
constituyen la etapa de predicción ya que con ellas se calculan las estimaciones
a priori : xk|k−1 y Pk|k−1 propagando xk−1|k−1 y Pk−1|k−1 a través del modelo.
Las expresiones (22) y (23) constituyen la etapa de corrección ya que con ellas se
corrigen las estimaciones a priori xk|k−1 y Pk|k−1 para generar las estimaciones a
posteriori xk|k y Pk|k . El producto Pxk yk Py−1
en (22) se conoce como ganancia
k yk
de Kalman K, ya que pondera el impacto de la innovación
yk −¢yk|k−1 en la
¡
estimación a posteriori del estado: xk|k = xk|k−1 + K yk − yk|k−1 .
2.3.
Filtro de Kalman extendido (EKF)
El filtro de Kalman extendido (EKF: extended Kalman filter ) consiste en
una variación del filtro de Kalman para abordar el problema de estimación del
estado cuando el modelo es posiblemente no-lineal:
xk = F (xk−1 , uk−1 , vk−1 )
5
(27)
yk = G (xk , nk ) .
Al igual que para el filtro de Kalman se asume que:
¡
¢
p (xk−1 | y1:k−1 ) = N xk−1|k−1 , Pk−1|k−1
(28)
(29)
p (vk−1 ) = N (0, Q)
(30)
p (nk ) = N (0, R)
(31)
pero ahora en el instante siguiente k, las densidades de distribución p (xk | y1:k−1 )
y p (xk | y1:k ) no son necesariamente gaussianas ya que el modelo no es necesariamente lineal. No obstante, se aproximan estas densidades de distribución por
densidades gaussianas:
¡
¢
p (xk | y1:k−1 ) ≈ N xk|k−1 , Pk|k−1
(32)
¡
¢
p (xk | y1:k ) ≈ N xk|k , Pk|k
(33)
donde:
¡
¢
xk|k−1 = F xk−1|k−1 , uk−1 , 0 ≈ E [xk | y1:k−1 ]
Pk|k−1 = Ak−1 Pk−1|k−1 ATk−1 + Γk−1 QΓTk−1 ≈ Cov (xk , xk | y1:k−1 )
¡
¢
xk|k = xk|k−1 + Pxk yk Py−1
yk − yk|k−1 ≈ E [xk | y1:k ]
k yk
con
(34)
(35)
(36)
Pk|k = Pk|k−1 − Pxk yk Py−1
PxTk yk ≈ Cov (xk , xk | y1:k )
k yk
(37)
¡
¢
yk|k−1 = G xk|k−1 , 0 ≈ E [yk | y1:k−1 ]
(38)
Pxk yk = Pk|k−1 CkT ≈ Cov (xk , yk | y1:k−1 )
(39)
Λk RΛTk
(40)
Pyk yk =
Ck Pk|k−1 CkT
+
≈ Cov (yk , yk | y1:k−1 )
y
¢
∂F ¡
xk−1|k−1 , uk−1 , 0
(41)
∂x
¢
∂F ¡
Γk−1 =
xk−1|k−1 , uk−1 , 0
(42)
∂v
¢
∂G ¡
Ck =
xk|k−1 , 0
(43)
∂x
¢
∂G ¡
xk|k−1 , 0 .
(44)
Λk =
∂n
Obsérvese que estas expresiones son muy similares a las del filtro de Kalman, salvo por las aproximaciones que se indican explı́citamente. Estas aproximaciones
serı́an exactas sólo si F y G fueran lineales.
En realidad, como el algoritmo es recursivo, el EKF aproxima la distribución
de probabilidad real del estado xk , en cada instante k, por una distribución
gaussiana y modifica el filtro de Kalman, de forma tal que:
Ak−1 =
el primer momento de la distribución (supuesta gaussiana), se propaga a
través del modelo no-lineal,
el segundo momento de la distribución (supuesta gaussiana), se propaga
a través de la versión linealizada del modelo.
6
El EKF es entonces una forma de obtener aproximaciones “de primer orden”
a los términos óptimos. Cuando el modelo es severamente no lineal, estas aproximaciones pueden pueden generar esperanzas y covarianzas muy distintas a las
esperanzas y covarianzas reales producto de la transformación de la variable
aleatoria a través del modelo no lineal. Estas discrepancias, pueden conducir a
un desempeño muy pobre del filtro o incluso a su divergencia.
Otro inconveniente del EKF es que requiere de las matrices jacobianas (41) a
(44). El cálculo de estas matrices no es trivial en la mayorı́a de las aplicaciones,
por lo que es muy factible cometer errores de cálculo que luego son difı́ciles de
detectar. Además, el requerimiento de estas matrices complica la implementación genérica del filtro (no restringida a una aplicación particular).
2.4.
La transformación “unscented”
La transformación “unscented” (UT: unscented transformation) es un método propuesto por Julier y Uhlmann [4] y luego perfeccionado por Wan y van der
Merwe [8] para calcular los primeros momentos de la densidad de distribución
de probabilidad de una variable aleatoria y = f (x) que resulta de aplicar una
transformación no-lineal f a una variable aleatoria x de estadı́stica conocida.
El método se basa en la siguiente idea intuitiva:
“Resulta más fácil aproximar una distribución gaussiana que aproximar una transformación no-lineal arbitraria.” J. K. Uhlmann [7].
Un conjunto de puntos (puntos sigma, sigma points) se eligen de forma tal
que la media y la covarianza del conjunto de puntos coincida con la esperanza
y covarianza de la variable aleatoria x. Luego, la transformación no-lineal f se
aplica a cada punto sigma, para generar una nube de puntos transformados. De
la estadı́stica de los puntos transformados, se estima la esperanza y covarianza
de la variable aleatoria y = f (x). Si bien el método es similar a los métodos
de muestreo Monte Carlo, existe una diferencia fundamental que es que las
muestras no se toman al azar, sino de acuerdo a un algoritmo determinista. De
esta forma se logra capturar información de alto orden de la distribución de
probabilidad, tomando sólo un número pequeño de puntos.
Supóngase que la variable aleatoria vectorial x, de dimensión L, tiene esperanza E [x] = x̄ (vector columna de L componentes) y covarianza Cov (x, x) = Px
(matriz L × L). Para calcular (aproximadamente) la esperanza E [y] = ȳ y la covarianza Cov (y, y) = Py de la variable aleatoria y = f (x) se comienza construyendo una matriz X de 2L + 1 vectores columna Xi de acuerdo con lo siguiente:
X0 = x̄
³p
(45)
´
Xi = x̄ +
(L + λ) Px
³p
´
Xi = x̄ −
(L + λ) Px
i−L
i
i = 1, . . . , L
i = L + 1, . . . , 2L
(46)
(47)
donde λ = α2 (L + κ) − L es un parámetro de escala. La constante α determina
la dispersion de los puntos sigma alrededor de x̄ y habitualmente se elige igual
a una pequeña constante positiva (por ejemplo 1 × 10−4 ≤ α ≤ 1). La constante
κ es un parámetro de escala secundario que habitualmente se toma igual a 0 o
a 3 − L (ver [3] por más detalles) y β es usada para incorporar el conocimiento
7
que se tenga de antemano acerca de la distribución
de x´ (por ejemplo, para dis³p
tribuciones gaussiana, β = 2 es óptimo).
(L + λ) Px es la i-ésima columna
i
de la matriz raı́z cuadrada 5 de (L + λ) Px .
Es fácil verificar que los puntos sigma capturan la esperanza y covarianza de
x, es decir:
2L
X
(m)
(U T )
x̄
,
Wi Xi = x̄
(48)
i=0
Px (U T ) ,
2L
X
(c)
³
Wi
Xi − x̄(U T )
´³
Xi − x̄(U T )
´T
= Px
(49)
i=0
donde:
(m)
W0
(c)
W0
(m)
Wi
=
λ
L+λ
(50)
λ
+ 1 − α2 + β
L+λ
1
i = 1, . . . , 2L .
=
2 (L + λ)
=
(c)
= Wi
(51)
(52)
Luego, los puntos sigma son propagados a través de la transformación nolineal:
Yi = f (Xi ) i = 0, . . . , 2L
(53)
y la esperanza y la covarianza de y se aproxima por las sumas ponderadas:
ȳ ≈ ȳ (U T ) =
2L
X
(m)
Wi
Yi
(54)
i=0
Py ≈ Py (U T ) =
2L
X
(c)
Wi
³
Yi − ȳ (U T )
´³
Yi − ȳ (U T )
´T
(55)
i=0
(m)
(c)
con los pesos Wi
y Wi definidos igual que antes.
Este método genera estimaciones de ȳ y Py correctas hasta el tercer orden
de la esperanza y covarianza del desarrollo multivariable de Taylor de la función f (supuesta analı́tica en todo valor posible de x) en torno a x̄, cuando
la distribución de x es simétrica 6 (gaussiana o student-T por ejemplo). Para
distribuciones no simétricas, genera estimaciones correctas hasta el segundo orden, dependiendo la exactitud de los momentos de tercer y mayor orden, de la
elección de los parámetros α y β (Wan & van der Merwe [8]).
√
A es simétrica, R = A es cualquier matriz que verifique RRT = A. La descomposición
de Cholesky consiste en descomponer la matriz A en la forma A = U T U siendo U una matriz
√
triangular superior; ası́ que R = U T es una forma numéricamente eficiente de calcular R = A.
6 Si una distribución es simétrica, entonces se puede verificar que sus momentos impares
son nulos.
5 Si
8
2.4.1.
Ejemplo
Julier y Uhlmann [4] presentan un ejemplo que reproducimos aquı́ con nuestros propios resultados, a los efectos de clarificar el método de la transformación
“unscented”.
Considérse un robot móvil que detecta obstáculos en su ambiente usando
un sonar. El sonar brinda información en coordenadas polares (distancia ρ y
ángulo
· ϕ) ¸de un sistema de referencia solidario a él. Las coordenadas
·
¸ polares
ρ
x
X=
deben ser convertidas a coordenadas cartesianas Y =
antes de
ϕ
y
ser procesadas por el algoritmo de control del robot. El sonar ha sido optimizado
para operar con una razonablemente buena precisión en la medida de distancias
(σρ = 2 cm de desviación estándar), a cambio de una mala precisión en la
medida angular (σϕ = 15 ◦ de desviación estándar). Se mostrará que en esta
aplicación, no resulta apropiado asumir linealidad local de la transformación de
coordenadas Y = f (X) tal que:
·
µ·
¸
¸¶ ·
¸
x
ρ
ρ cos ϕ
=f
=
(56)
y
ϕ
ρ sin ϕ
µ·
¸¶ ·
¸
ρ
cos ϕ −ρ sin ϕ
cuya matriz jacobiana es: Jf
=
.
ϕ
sin ϕ ρ cos ϕ
Supóngase
que
real de un punto
donde
se encuentra
·
¸ la
· ubicación
¸
·
¸
µ·
¸¶ un
· obstáculo
¸
ρ0
1
x0
ρ0
0
es X0 =
= π , entonces Y0 =
=f
=
. Para
ϕ0
y0
ϕ0
1
2
apreciar los errores que pueden ser introducidos por linealización, en la estima·
¸
x
ción de los dos primeros momentos de la variable vectorial aleatoria Y =
y
·
¸
ρ
resultante de la transformación de X =
a través de la transformación
ϕ
(56); se estiman estos momentos mediante tres métodos distintos:
Muestreo Monte Carlo. Se genera un conjunto de N = 106 puntos aleatorios {Xi : i = 1, . . . , N } instanciados
· de ¸una densidad de distribución
ρ0
gaussiana con media E [X] = X0 =
y covarianza Cov (X, X) =
ϕ0
· 2
¸
σρ 0
PX =
. Luego, se transforman los puntos Xi para generar la
0 σϕ2
nube de puntos transformados {Yi = f (Xi ) : i = 1, . . . , N } y se estiman
los momentos:
N
1 X
E [Y ] ≈ Ȳ (M C) ,
Xi ,
(57)
N i=1
(M C)
Cov (Y, Y ) ≈ PY
,
N
´T
´³
1 X³
.
Yi − Ȳ (M C) Yi − Ȳ (M C)
N i=1
(58)
Transformación “unscented”. Se aplica la UT tal como se explicó antes. Se
genera un conjunto de puntos sigma (en este caso cinco puntos) según (45)
a (47); se transforman a través del cambio de coordenadas y se estiman
(U T )
los momentos E [Y ] ≈ Ȳ (U T ) y Cov (Y, Y ) ≈ PY
de acuerdo con (54)
9
ϕ (rad)
y (cm)
ρ (cm)
x (cm)
Figura 1: Transformación de coordenadas polares a coordenadas cartesianas. A
la izquierda: plano (ρ, ϕ). A la derecha: plano (x, y). En ambos casos los puntos
del muestreo Monte Carlo se señalan con “+” y los puntos sigma con “♣”.
y (55). Para este ejemplo, se eligieron los siguientes valores para los tres
parámetros de la trasformación UT: α = 1, κ = 0 y β = 2.
Linealización tal cual se aplica en el contexto del EKF:
E [Y ] ≈ Ȳ (LIN ) = Y0 = f (X0 ) ,
Cov (Y, Y ) ≈ Py(LIN ) = Jf (X0 ) PX (Jf (X0 ))
(59)
T
.
(60)
En la figura 1 se reproducen los puntos del muestreo Monte Carlo junto con
los cinco puntos sigma en el plano (ρ, ϕ) (a la izquierda) y los mismos puntos
transformados al plano (x, y) (a la derecha). En la figura 2 se representa el
plano (x, y) con las estimaciones de Ȳ (esperanza E [Y ]), indicadas por puntos
y los contornos “1 σ” 7 que se desprenden de las estimaciones de PY (matriz de
covarianza Cov (Y, Y )); para cada uno de los tres métodos.
Si consideramos que las estimaciones Ȳ (M C) , PYM C por muestreo Monte
Carlo son muy buenas estimaciones de los momentos desconocidos E [Y ] y
Cov (Y, Y ), lo cual es razonable por la enorme cantidad de puntos tomados
para el muestreo; entonces podemos concluir que la estimación de la estadı́stica
de Y por linealización es claramente sesgada e inconsistente. Sesgada porque
(LIN )
Ȳ (LIN ) 6= E [Y ] e inconsistente porque PY
< Cov (Y, Y ) 8 (se subestima la
incertidumbre real), lo cual se manifiesta en que la elipse “1 σ” no es suficientemente ancha en la dirección radial. En cambio, la transformación “unscented”
genera una estimación Ȳ (U T ) mucho más próxima a E [Y ] y además consistente
(al menos para este caso en que la distribución de X es gaussiana).
Dadas estas propiedades de estimación superiores de la transformación “unscented” sobre la linealización tradicionalmente empleada en el contexto del filtro
de Kalman extendido y considerando la simplicidad con que se implementa (sin
requerir el cálculo de la matriz jacobiana de la transformación); la UT se ha
vuelto una alternativa atractiva a la linealización, para aplicaciones de filtrado
no lineal.
n
o
T −1
contorno “1 σ” es lugar geométrico de los puntos y : Y − Ȳ
PY
Y − Ȳ = 1 .
8 A < B cuando A y B son matrices significa que B − A es definida positiva.
7 El
10
y (cm)
1.03
1.01
♦
0.99
◊+
0.97
0.95
0.93
0.91
-0.3
+
♦MC
◊LIN
MC
LIN
UT
UT
-0.2
-0.1
0.0
0.1
0.2
0.3
x (cm)
Figura 2: Medias (“+”, “¨” y “♦”) y contornos “1 σ” estimados para la vaT
riable aleatoria [x, y] resultante de la transformación de la variable aleatoria
T
[ρ, φ] a través del pasaje de coordenadas polares a cartesianas. En la figura se
utilizan las siguientes abreviaciones para indicar el método empleado para estimar las medias y matrices de covarianza: “MC”: muestreo Monte Carlo, “LIN”:
linealización de la transformación y “UT”: transformación unscented.
2.5.
Filtro de Kalman “unscented” (UKF)
El filtro de Kalman “unscented” (UKF: Unscented Kalman Filter ) se puede
considerar el resultado de incorporar la UT al EKF para mejorar las aproximaciones que se hacen de los dos primeros momentos de una variable aleatoria que
resulta de propagar otra variable aleatoria (supuesta gaussiana) a través de una
transformación no lineal.
Al igual que antes en la presentación del EKF, el modelo se asume de la
forma:
xk = F (xk−1 , uk−1 , vk−1 )
(61)
yk = G (xk , nk ) .
(62)
¢
¡
p (xk−1 | y1:k−1 ) = N xk−1|k−1 , Pk−1|k−1
(63)
p (vk−1 ) = N (0, Q)
(64)
p (nk ) = N (0, R) .
(65)
y se supone que:
Como el modelo no es necesariamente lineal, en el instate siguiente k, las densidades de distribución p (xk | y1:k−1 ) y p (xk | y1:k ) no son necesariamente gaussianas. No obstante, al igual que en el EKF, se aproximan estas densidades de
distribución por densidades gaussianas:
¢
¡
(66)
p (xk | y1:k−1 ) ≈ N xk|k−1 , Pk|k−1
11
¡
¢
p (xk | y1:k ) ≈ N xk|k , Pk|k
(67)
donde ahora el cálculo de xk|k−1 , Pk|k−1 , xk|k y Pk|k implica propagar puntos
sigma a través del modelo como se explica a continuación.
Resulta conveniente definir una nueva variable aleatoria que se llama “vector
de estado aumentado” de dimensión L, que incluye el ruido de proceso y el ruido
de medida:


xk−1
xak−1 =  vk−1 
(68)
nk
de esperanza:

x̄ak−1
y covarianza:

xk−1|k−1
 ,
0
=
0

a
Pk−1
Pk−1|k−1
0
=
0
0
Q
0
(69)

0
0  .
R
(70)
Para esta nueva variable aleatoria se genera un conjunto de puntos sigma
 x

Xi,k−1
a
v
 i = 1, . . . , 2L + 1
=  Xi,k−1
(71)
Xi,k−1
n
Xi,k
tal que:
a
X0,k−1
= x̄ak−1
³q
´
a
a
Xi,k−1
= x̄ak−1 +
i = 1, . . . , L
(L + λ) Pk−1
i
³q
´
a
a
Xi,k−1
= x̄ak−1 −
(L + λ) Pk−1
i = L + 1, . . . , 2L ;
(72)
(73)
(74)
i−L
donde λ se define igual que en 2.4. Propagando estos puntos sigma (o más
precisamente algunas de sus componentes) a través de F y G y utilizando las
sumas ponderadas (54) y (55), se calculan:
xk|k−1 =
2L
X
(m)
Wi
x
Xi,k|k−1
≈ E [xk | y1:k−1 ]
(75)
i=0
Pk|k−1
=
2L
X
(c)
Wi
³
x
Xi,k|k−1
− xk|k−1
´³
x
Xi,k|k−1
− xk|k−1
´T
≈
i=0
≈ Cov (xk , xk | y1:k−1 )
donde
y
(76)
¡ x
¢
x
v
Xi,k|k−1
= F Xi,k−1
, uk−1 , Xi,k−1
(77)
¡
¢
xk|k = xk|k−1 + Pxk yk Py−1
yk − yk|k−1 ≈ E [xk | y1:k ]
k yk
(78)
Pk|k = Pk|k−1 − Pxk yk Py−1
PxTk yk ≈ Cov (xk , xk | y1:k )
k yk
(79)
12
donde
yk|k−1 =
2L
X
(m)
Wi
Yi,k|k−1 ≈ E [yk | y1:k−1 ]
(80)
i=0
´
³
x
n
Yi,k|k−1 = G Xi,k|k−1
, Xi,k
Pxk yk
=
2L
X
(c)
Wi
³
x
Xi,k|k−1
− xk|k−1
´¡
Yi,k|k−1 − yk|k−1
(81)
¢T
≈
i=0
≈ Cov (xk , yk | y1:k−1 )
P yk yk
=
2L
X
(c)
Wi
(82)
¢T
¢¡
¡
Yi,k|k−1 − yk|k−1 Yi,k|k−1 − yk|k−1 ≈
i=0
≈ Cov (yk , yk | y1:k−1 ) .
(83)
Al igual que el EKF, como el UKF es recursivo, en realidad se aproxima
la distribución de probabilidad real del estado xk , en cada instante k, por una
distribución gaussiana.
Como el UKF no requiere del cálculo de matrices jacobianas, presenta una
complejidad de cálculo numérico comparable a la del EKF 9 y además genera
estimaciones de E [xk | y1:k ] de mayor orden que el EKF; se ha vuelto una herramienta corriente para abordar el problema de estimación de estado (en tiempo
real) de un sistema dinámico no-lineal.
3.
Aplicación
En esta sección ejemplificamos la aplicación de las dos extensiones del filtro
de Kalman antes presentadas, en el contexto de la teorı́a de control no-lineal.
Se toma como caso de estudio un problema de control clásico que se ha vuelto
un problema tipo sobre el cual ensayar y comparar nuevos métodos de control.
Este problema que se describe más adelante y se conoce como “control de un
péndulo invertido”, tiene sus orı́genes históricos en el problema de control de la
propulsión de un cohete.
3.1.
La planta a controlar
La planta a controlar se representa, en forma simplificada, en la figura 3.
Consiste en un péndulo invertido de masa m montado sobre un carro de masa M
que desliza sobre un riel horizontal y sobre el que un motor (no representado en
la figura) aplica una fuerza F mediante una cinta de transmisión tensa (tampoco
representada en la figura). El péndulo tiene un momento de inercia I respecto
a un eje perpendicular al plano de la figura que pasa por su centro de masa. El
9 El UKF requiere O(L3 ) operaciones por paso, siendo L la dimensión del vector de estado
aumentado; mientras que el EKF requiere O(N 3 ) operaciones por paso, siendo N la dimensión
del vector de estado. Cuando los ruidos de proceso y medida son aditivos, es posible posible
formular el UKF de forma tal que requiera sólo O(N 3 ) operaciones por paso. En este caso
particular pero corriente, los filtros presentan el mismo orden de operaciones necesarias por
paso.
13
m, I, L
θ
z
b
F
M
g
fr (ż)
Figura 3: Representación de la planta fı́sica.
centro de masa del péndulo se encuentra a una distancia L de la articulación
cilı́ndrica que lo vincula con el carro. El péndulo y el carro sólo se pueden mover
en el plano de la figura. Con las variables θ y z se describen respectivamente:
el apartamiento angular del péndulo con respecto a la dirección vertical y el
apartamiento lineal horizontal del carro con respecto un punto de referencia
fijo. La aceleración gravitatoria se supone constante y se denota g.
Se asume que la fuerza de rozamiento horizontal que actúa sobre el carro
sólo depende de la velocidad ż del carro y que es de la forma
Ã
à µ ¶ !!
δ
|ż|
fr (ż) = µk + (µs − µk ) exp −
tanh (σ ż) + ν ż ,
(84)
vs
donde µk , µs , vs , δ, ν y σ son constantes. Este modelo de fricción, que combina
rozamiento estático, rozamiento dinámico y rozamiento viscoso, es una adaptación de un modelo propuesto por Bo y Pavelescu citado en [2]. La adaptación
consiste en utilizar la función tanh(σ·) (con σ À 1), en vez de la función sign(·)
de la propuesta original. Mediante esta regularización de la función signo se remueve la discontinuidad en ż = 0. Esto permite estar en condiciones de aplicar
técnicas de integración numérica de ecuaciones diferenciales ordinarias sencillas,
como el método Runge-Kutta que se utiliza más adelante. En la figura 4 se representa gráficamente la función (84) para el juego de parámetros elegido para
definir el rozamiento que actúa horizontalmente sobre el carro. Estos parámetros junto a los restantes parámetros de la planta se resumen más adelante en
el cuadro 2.
Para el rozamiento que actúa en la articulación cilı́ndrica, se asume un modelo viscoso sencillo. Más precisamente, el torque por rozamiento que, en la
articulación cilı́ndrica, se ejerce sobre el péndulo, se asume que es de la forma
bθ̇ con b constante.
3.1.1.
Dinámica de la planta en tiempo continuo
Bajo las hipótesis recién expuestas, la dinámica de la planta se puede expresar matemáticamente mediante una representación en variables de estado,
14
fr (N )
1.0
0.8
0.6
0.4
0.2
0.0
-0.2
-0.4
-0.6
-0.8
-1.0
-0.5 -0.4 -0.3 -0.2 -0.1 0.0
0.1
0.2
0.3
0.4
0.5
ż (m/s)
Figura 4: Modelo de fricción.
no-lineal y en tiempo continuo:
dx
= fplanta (x, u) =
dt




=



g
L
L

x2
1+ M
g 1
2
m
(1+ M
m ) sin x1 −x2 sin x1 cos x1 − L mg (u−fr (x4 )) cos x1 − mL2 bx2
I
M
2x
−cos
)
(1+ m )(1+ mL
1
2
x4
g
−L
mL2
I+mL2
g
sin x1 cos x1 +x22 sin x1 + L
M
m
1
1
mg (u−fr (x4 ))+ I+mL2
mL2
+1− I+mL2 cos2 x1
bx2 cos x1



 (85)



donde x1 , θ, x2 , θ̇, x3 , z, x4 , ż son las componentes del vector de estado
T
x , [x1 x2 x3 x4 ] y donde u , F es la entrada.
3.1.2.
El objetivo de control
El objetivo de control consiste en lograr que (asintóticamente) el péndulo se
mantenga en su posición “invertida” x1 ≈ 0, sin apartar demasiado el carro de
una posición de referencia fija x3 ≈ 0.
Se supone que en los instantes 0, T, 2T, . . . , kT, . . . con k ∈ N, se pueden
tomar medidas ruidosas:
·
¸
·
¸
y1,k
x1,k
yk =
= G (xk , nk ) =
+ nk
(86)
y2,k
x3,k
T
T
donde xk = [x1,k , x2,k , x3,k , x4,k ] = [x1 (kT ) , x2 (kT ) , x3 (kT ) , x4 (kT )] ,
T
T
yk = [y1,k y2,k ] = [x1 (kT ) , x3 (kT )] y donde se asume que el proceso estocástico {nk }k∈N es ruido blanco gaussiano de media nula:
Cov (nk , nj ) = δ (k − j) R
p (nk ) = N (0, R)
15
∀k, j ≥ 0
(87)
(88)
Parámetro
σθ
σz
Valor
18
2
Unidad
◦
mm
Cuadro 1: Desviaciones estándar de las medidas.
y matriz de covarianza:
·
R=
σθ2
0
0
σz2
¸
;
(89)
siendo σθ y σz las desviaciones estándar que caracterizan la precisión de los instrumentos que se utilizan para medir las variables de estado accesibles: x1 = θ
y x3 = z en los instantes de muestreo. En el cuadro 1 se indican los valores
tomados para estos parámetros. Se intentó emular una situación práctica en
la que se dispone de un instrumento relativamente bueno para medir la posición del carro, mientras que el instrumento con el que se cuenta para medir el
apartamiento del péndulo respecto a la vertical, es bastante impreciso.
A partir de las medidas (86) el controlador a diseñar en tiempo discreto,
debe sintetizar una señal {uk }k∈N que se convierte a tiempo continuo mediante un mantenedor de orden cero (MOC), que impone u(t) = uk para
t ∈ [kT, (k + 1) T ) a la planta de tiempo continuo. La señal {uk }k∈N que automáticamente sintetiza el controlador digital, debe ser tal que para k → +∞
se alcance el objetivo de control.
3.1.3.
Dinámica de la planta en tiempo discreto
A los efectos de simular la dinámica de la planta en una computadora digital,
se discretiza (85) utilizando el método de integración numérica de Runge-Kutta
de cuarto orden y paso de integración fijo h.
Resultará conveniente elegir el paso de integración h igual a un submúltiplo
del perı́odo de muestreo T , es decir T = Hh con H ∈ N+ 10 .
El tiempo queda entonces discretizado en los instantes t = 0, h, 2h, . . . , jh, . . .
con j ∈ N y la entrada u (t) (que es impuesta por el MOC, cuyo perı́odo de muestreo es T ) se mantiene constante e igual a uk en los intervalos [kT, (k + 1) T ) =
[kT, kT + h) ∪ . . . [kT + (H − 1)h, kT + Hh) para k ∈ N.
Esta discretización da origen a un sistema dinámico en tiempo discreto descrito por:
xk
=
Fplanta (xk−1 , uk−1 ) = FRK ◦ · · · ◦ FRK (xk−1 , uk−1 ) =
|
{z
}
=
H
FRK
(xk−1 , uk−1 ) ;
H
(90)
donde:
FRK (x, u) = x +
10 N+
k1 (x, u) k2 (x, u) k3 (x, u) k4 (x, u)
+
+
+
;
6
3
3
6
= N \ {0} es el conjunto de los números naturales positivos.
16
(91)
Parámetro
µs
µk
ν
vs
δ
m
M
I
L
g
b
h
H
Valor
1,3
0,2
0, 3
0, 005
1
0, 09
2, 2
0, 003
0, 45
9, 8
0, 001
0, 0025
4
Unidad
N
N
Ns
m
m
s
kg
kg
kg m2
m
m
s2
N ms
s
Cuadro 2: Parámetros.
siendo:
k1 (x, u) = hfplanta (x,
³ u) ,
´
,
u
,
k2 (x, u) = hfplanta x + k1 (x,u)
2
³
´
k2 (x,u)
k3 (x, u) = hfplanta x + 2 , u ,
k4 (x, u) = hfplanta (x + k3 (x, u) , u) .
(92)
El sistema dinámico de tiempo discreto (90) aproxima (con H pasos de integración numérica) la transición del vector de estado x(t) del sistema dinámico de
−
tiempo continuo (85), cuando el tiempo avanza de t = (k − 1) T a t = (kT ) suponiendo que en este intervalo la entrada u(t) permanece constante igual a uk−1
debido al MOC. Este método aproximado para simular un sistema dinámico de
tiempo continuo es aceptable si el paso de integración h se elige adecuadamente
(suficientemente chico como para que el error de truncamiento sea despreciable
y suficientemente grande como para que los errores de redondeo también sean
despreciables).
En este trabajo, se supone que (90) describe exactamente la dinámica de la
planta a controlar. Esto es a los efectos de poder “experimentar” numéricamente
con una planta, sin necesidad de construir un prototipo real. En el cuadro 2
se presentan los valores elegidos para cada uno de los parámetros del sistema
dinámico de tiempo discreto, que de ahora en más, se considerará equivalente a
la planta real.
Los valores del cuadro 2 se eligieron arbitrariamente dentro de los rangos
fı́sicamente plausibles para los parámetros; pero cuidando que el paso de integración h fuese órdenes de magnitud menor que la escala temporal en la que
se aprecian variaciones significativas del vector de estado, cuando se simula la
¤T
£
relajación de la planta desde la condición inicial xk = π4 , 0 , 0 , 0 .
3.2.
Modelado
En esta sub-sección se introduce un modelo de la planta descrita anteriormente. Como en cualquier proceso de diseño de un controlador automático ba-
17
m
θ
L
z
F
g
M
Figura 5: Representación esquemática del modelo.
sado en un modelo, la primer etapa consiste en el modelado de la planta, en
la que se hacen ciertas simplificaciones de la realidad, en un compromiso entre
realismo y tratabilidad matemática.
En la figura 5, se reproduce un esquema del modelo. Se supone que la masa
m del péndulo está concentrada en su centro de masa a una distancia L de la
articulación cilı́ndrica que lo vincula con el carro de masa M , sobre el que se
ejerce una fuerza horizontal F . Se desprecia entonces, el efecto de la inercia no
nula del péndulo real. Se desprecian además todas las fricciones, tanto en el
movimiento horizontal del carro, como en el pivoteo del péndulo.
Bajo estas hipótesis, el modelo dinámico de la planta se puede formular
como:
 
x1

dx
d 
 x2  = f (x, u) =
=
dt
dt  x3 
x4


x2
g
g 1
2
M
 L (1+ m ) sin x1 −x2 sin x1 cos x1 − L mg u cos x1 


M
2

m +sin x1
=
(93)


x4


g
g 1
2
− sin x1 cos x1 +x2 sin x1 + L mg u
L L
M
+sin2 x
1
m
donde x1 = θ, x2 = θ̇, x3 = z, x4 = ż y u = F .
Este modelo de tiempo continuo es discretizado mediante el método de integración numérica de Runge-Kutta de cuarto orden, en forma completamente
análoga a como se procedió con el modelo de tiempo continuo de la planta y
con el mismo paso de integración h. Es decir en, (90), (91) y (92) se sustituye
fplanta por f y se aproxima entonces (93) por el modelo de tiempo discreto:
xk
=
F 0 (xk−1 , uk−1 ) = FRK ◦ · · · ◦ FRK (xk−1 , uk−1 ) =
{z
}
|
=
H
FRK
(xk−1 , uk−1 ) .
H
(94)
Los parámetros del modelo se estiman en los valores que se resumen en el
cuadro 3.
18
Parámetro
m
M
L
g
h
H
Valor
0, 1
2
0, 5
9, 8
0, 0025
4
Unidad
kg
kg
m
m
s2
s
Cuadro 3: Parámetros del modelo.
Obsérvese que los valores del cuadro 3 difieren un 10 % de los valores correspondientes en el cuadro cuadro 2 donde se resumen los parámetros de la
planta “real”; excepto por el valor de la aceleración gravitatoria g, el paso de
integración numérica h y la cantidad de pasos de integración por perı́odo de
muestreo H. Esto pretende reproducir la situación práctica real, en la que los
parámetros se determinan sólo aproximadamente.
Las diferencias existentes entre la planta (90) y el modelo (94), originadas
en las simplificaciones introducidas en el modelo (momento de inercia y fricciones despreciadas, ası́ como diferencias en los parámetros: m, M y L); hacen
que el comportamiento dinámico de estos dos sistemas de tiempo discreto, sea
obviamente distinto. A modo de ejemplo, en la figura 6 se reproduce la evolución temporal de las cuatro componentes del vector de estado del modelo y
de la planta, cuando no se hace ninguna fuerza sobre el carro y se parte de la
£
¤T
condición inicial π4 , 0 , 0 , 0 . Obsérvese el efecto del rozamiento en la articulación cilı́ndrica atenuando la amplitud de las oscilaciones de x1 y el efecto del
rozamiento estático al que está sometido el carro, que llega a detenerlo completamente (x4 = 0) durante algunos intervalos de tiempo.
Considerando que el modelo (94) es una descripción inexacta del comportamiento dinámico de la planta “real”, se agrega al mismo una componente
estocástica o ruido de proceso, con la que se pretende compensar las carencias
del modelado. Se asume que este ruido es aditivo. De esta forma, el modelo
definitivo es:
xk = F (xk−1 , uk−1 ) + vk ;
(95)
donde se asume que el proceso estocástico {vk }k∈N es ruido blanco gaussiano de
media nula:
Cov (vk , vj ) = δ (k − j) Q ∀k, j ≥ 0
(96)
p (vk ) = N (0, Q) .
(97)
La matriz Q que caracteriza al ruido de proceso, se especifica más adelante y
resultará de la sintonı́a manual del EKF utilizado como observador de estado
de la planta.
3.3.
Algoritmo de control
Para alcanzar el objetivo de control, se utiliza el método de control no-lineal
conocido como método de la ecuación de Riccati dependiente del estado para
tiempo discreto (discrete-time SDRE: State Dependent Riccati Equation) [6].
19
x1 (rad)
6
5
4
3
2
1
0
x2 ( rad
s )
9
7
5
3
1
-1
-3
-5
-7
-9
x3 (m)
0.17
0.15
0.13
0.11
0.09
0.07
0.05
0.03
0.01
-0.01
x4 ( m
s )
0.20
0.16
0.12
0.08
0.04
0.00
-0.04
-0.08
-0.12
-0.16
-0.20
0
2
4
6
8
10
12
14
16
18
20
t (s)
0
2
4
6
8
10
12
14
16
18
20
t (s)
0
2
4
6
8
10
12
14
16
18
20
t (s)
0
2
4
6
8
10
12
14
16
18
20
t (s)
Figura 6: Trayectorias generadas por el modelo (trazo discontinuo) y la planta
T
(trazo continuo), partiendo de la misma condición inicial [x1,0 , x2,0 , x3,0 , x4,0 ] =
£π
¤T
4 , 0, 0, 0 . El intervalo de tiempo continuo representado en la figura
[0 , 20, 01 s) corresponde a la simulación de los instantes de tiempo discreto:
k=0, 1, . . . , 2000; siendo T = Hh = 4 × 0, 0025 s = 0, 01 s el perı́odo de muestreo.
20
El primer paso de esta metodologı́a de control consiste en expresar la dinámica del modelo de tiempo continuo en la forma pseudo-lineal:
dx
= f (x, u) = A(x)x + B(x)u ,
dt
(98)
en la que los coeficientes dependen del estado x.
En el caso del modelo (93) que nos ocupa, tomamos A(x) y B(x) de la
siguiente forma:


0
1 0 0
g
2
M
 L (1+ m )−x2 cos x1

sinc x1 0 0 0 

M
+sin2 x1

 ,
m
A (x) = 
(99)
0
0 0 1 


g
2
− L cos x1 +x2
L M
sinc x1
0 0 0
+sin2 x
1
m


0
g 1
L mg cos x1
M
2
m +sin x1

 −
B (x) = 

0

g 1
L mg
L M +sin2 x
½
m


 ;


(100)
1
sin x1
x1
si x1 6= 0
.
1
si x1 = 0
Seguidamente, se discretiza (98) como si se tratara de un modelo lineal ẋ =
Ax + Bu en el que A y B fueran constantes. Es decir:
donde sinc x1 ,
xk = Ad (xk−1 ) xk−1 + Bd (xk−1 ) uk−1 ;
(101)
Ad (xk−1 ) = exp (A (xk−1 )) T ,
ÃZ
!
T
Bd (xk−1 ) =
exp (A (xk−1 ) τ ) dτ B (xk−1 ) .
(102)
donde
(103)
0
En esta discretización, se asume implı́citamente que el perı́odo de muestreo T
es suficientemente pequeño, como para que el vector de estado x(t) no varı́e
significativamente en un intervalo de tiempo de duración T .
Una vez obtenido el modelo en tiempo discreto (101), el problema de control se plantea en forma análoga al problema de control óptimo cuadrático de
horizonte infinito para sistemas lineales. Más precisamente, se introduce una
función de costo a minimizar:
+∞
J=
¢
1 X¡ T
xk Q (xk ) xk + uTk R (xk ) uk
2
(104)
k=0
donde las matrices Q (xk ) y R (xk ) ponderan la incidencia en el costo del apartamiento del vector de estado xk respecto al origen y el apartamiento de la
acción de control uk respecto al origen, respectivamente. De esta forma, en la
definición de estas matrices se expresa la elección del diseñador en lo que refiere
al compromiso entre la performance del regulador y la magnitud de la acción de
21
Parámetro
Valor

Q
10
 0

 0
0
R
0
1
0
0
0
0
100
0

0
0 

0 
1
[10]
Cuadro 4: Matrices que definen el costo (104).
control necesaria para lograrlo. Se requiere que Q (x) sea semi-definida positiva
y R (x) definida positiva para todo x. La solución a este problema es:
con
uk = −K (xk ) xk
(105)
¢−1 T
¡
Bd P (xk ) Ad ,
K (xk ) = R (xk ) + BdT P (xk ) Bd
(106)
siendo P (xk ) la solución de la ecuación de Riccati en estado estacionario:
P (xk )
= Q (xk ) + ATd P (xk ) Ad −
¡
¢−1 T
− ATd P (xk ) Bd R + BdT P (xk ) Bd
Bd P (xk ) Ad . (107)
Tanto en (106) como en (107) se ha omitido la dependencia explı́cita de Ad y
Bd con respecto a xk , para simplificar la notación.
Para el control del péndulo invertido, las matrices Q y R se tomaron como se
indica en el cuadro 4. Claramente, el énfasis en la definición del costo, está puesto
en la regulación de las variables de posición x1 y x3 .
3.4.
Observador de estado
La solución (105) al problema de minimizar (104) es una realimentación de
estado con la particularidad que la ganancia (106) depende del estado xk . Para
que este método de control por realimentación de estado sea implementable, es
necesario que todas las componentes del vector de estado sean accesibles. Tal
como se formuló el problema de control del péndulo invertido en 3.1.2; de las
cuatro variables de estado x1 = θ, x2 = θ̇, x3 = z y x4 = ż, sólo se pueden medir
(con cierto error de medida) las variables de posición y1 = x1 = θ y y2 = x3 = z.
Entonces, para poder aplicar el método de control recién descrito al problema
del control del péndulo invertido, es necesario diseñar un observador de estado
completo que brinde la “mejor” estimación posible del vector de estado completo,
a partir de las medidas ruidosas que se van adquiriendo en tiempo real y un
modelo imperfecto de la planta a controlar. Esta, es justamente la funcionalidad
de las dos extensiones del filtro de Kalman para sistemas no lineales presentadas
en 2.2 y 2.5.
El diagrama de bloques de la figura 7 representa el sistema realimentado
completo. La planta es comandada por la entrada uk y es regida por la dinámica
de tiempo discreto (90). De la misma se obtienen medidas ruidosas (86) que junto
22
uk
PLANTA
yk
xk|k
OBSERVADOR
CONTROLADOR
Figura 7: Diagrama de bloques del sistema realimentado.
con uk van al observador de estado. El observador combina estas dos señales
junto con el conocimiento que tiene de la planta (el modelo 95, la estadı́stica
del ruido de proceso vk y la estadı́stica del ruido de medida nk ) para generar
estimaciones xk|k del vector de estado de la planta xk . Con estas estimaciones se
sintetiza la acción de control uk con (105), como si se tratara del verdadero vector
de estado xk . En el contexto de la teorı́a de control óptimo lineal, esta forma
de proceder está sustentada en el el principio de separación, que asegura que la
estrategia de control óptima (en el sentido de minimizar 104) es justamente la
que resulta de diseñar, por un lado el estimador óptimo y por otro, el regulador
óptimo; en forma independiente. Cuando se procede de la misma forma en el
caso de un sistema no-lineal, el principio de separación ya no es válido y por lo
tanto la metodologı́a de control resultante no es necesariamente óptima, aunque
es una solución factible.
Nótese que si bien la dinámica del modelo (95) que maneja el observador,
no coincide con la dinámica de la planta (90); en lo que refiere a las medidas, el
observador maneja el mismo modelo de medida G (xk , nk ) con el que se generan
las medidas (86) de la planta. Es decir, se asume perfecto conocimiento del
proceso de medida. Esto tiene sentido porque en el caso que nos ocupa, G es
muy sencilla; simplemente extrae la primera y tercera componente del vector de
estado y adiciona el ruido de medida caracterı́stico de los instrumentos.
3.5.
Resultados de las simulaciones
A continuación se exponen los resultados de las simulaciones del sistema
representado en la figura 7 operando: 1) en lazo abierto (sin la realimentación
representada en la figura desde la salida del controlador hasta la entrada de la
planta) y 2) en lazo cerrado (tal cual se encuentra representado en la figura). En
cada caso, se utiliza el EKF y el UKF como observador de estado y se comparan
los desempeños.
En todos los casos se generó ruido de medida estocástico de acuerdo con
la misma estadı́stica suministrada a los filtros, es decir se simuló el ruido de
medida generando muestras aleatorias de:
nk ∼ N (0, R)
11
.
(108)
El ruido no se simuló explı́citamente, porque está implı́cito en las diferencias ya
mencionadas entre el modelo y la planta.
11 x
∼ N (x̄, Px ) significa que x es una variable aleatoria de esperanza x̄ y covarianza Px .
23
Todo el trabajo de programación que implicó realizar las simulaciones y
procesar los resultados, se realizó utilizando el software libre Scilab [9].
3.5.1.
Sintonización en lazo abierto
Hasta ahora no se ha especificado cómo se eligió la matriz de covarianza
Q que describe al ruido de proceso de media nula. Esta matriz y la matriz
de covarianza R que describe al ruido de medida de media nula, deben ser
suministradas al filtro que se utiliza como observador de estado (ya sea el EKF o
el UKF). La elección de estas matrices influye drásticamente en la performance
del filtro para estimar el estado de la planta y su elección es referida como
sintonización del filtro.
La elección de la matriz R (ver cuadro 1 y expresión (89)), se hizo considerando la precisión de los supuestos instrumentos de medida. La matriz Q es más
difı́cil de determinar, porque en general no se conoce la exactitud con la que el
modelo suministrado al filtro, es capaz de representar la dinámica de la planta
“real”.
La matriz Q se eligió por tanteo, simulando el sistema planta-observador
en lazo abierto (sin realimentación) y con entrada {uk }k∈N nula, partiendo del
£
¤T
estado inicial x0 = π4 , 0 , 0 , 0 . Luego de unas cuantas simulaciones, probando con diferentes valores para Q y evaluando el error cometido por el EKF en
la estimación, instante a instante, de las variables de estado; se decidió elegir
la matriz Q como se indica en el cuadro 5. Esta forma de sintonizar el filtro
puede ser criticada desde un enfoque práctico, ya que en la realidad sólo se
cuenta con medidas ruidosas de algunas variables de estado. No obstante, no se
buscó sintonizar el filtro hasta su desempeño óptimo, sino simplemente definir
una matriz Q que generara estimaciones aceptables y sobre todo, que el filtro
tuviera la capacidad dinámica de seguir razonablemente bien, los cambios en el
vector de estado.
Como se puede apreciar en el cuadro 5, se dio mayor peso a los elementos
de la diagonal y entre éstos a aquellos de las filas 2 y 4 que corresponderı́an a
la discretización de las ecuaciones mecánicas cardinales del modelo de tiempo
continuo (93), en las que podrı́an faltar fuerzas o momentos no modelados.
Los restantes elementos se fijaron arbitrariamente en el valor 1 × 10−6 . Esta
forma de proceder, para variar sólo aquellos elementos de Q que se supone
son más significativos, es heurı́stica y nada rigurosa; aunque resultó útil en la
práctica para tantear con sólo cuatro parámetros, en vez de los diez parámetros
necesarios para determinar la matriz Q que debe ser simétrica. En rigor, en
la discretización (94) del modelo de tiempo continuo, surge una nueva matriz
de transición de estado, con la que se pierde la correspondencia anteriormente
referida entre las filas 2 y 4 y las ecuaciones mecánicas cardinales. No obstante,
aún ası́, es esperable que sea en estas filas de la nueva matriz de transición de
estado, donde tengan mayor efecto las carencias del modelado.
En la figura 8 se reproduce (en trazo negro) la evolución temporal de cada
£
¤T
variable de estado de la planta partiendo del estado inicial x0 = π4 , 0 , 0 , 0
y las trayectorias correspondientes estimadas por el EKF (en azul) y el UKF
(en rojo); para la elección realizada de las matrices Q y R. Se observa que el
desempeño de ambos filtros es similar, salvo para la cuarta componente del
vector de estado, para la cual el UKF brinda mejores estimaciones que el EKF.
24
Parámetro
Valor

Q
1 × 10−4
 1 × 10−6

 1 × 10−6
1 × 10−6
1 × 10−6
1
1 × 10−6
1 × 10−6
1 × 10−6
1 × 10−6
1 × 10−4
1 × 10−6

1 × 10−6
1 × 10−6 

1 × 10−6 
5 × 10−2
Cuadro 5: Matriz de covarianza del ruido de proceso.
x1 (rad)
6
5
4
3
2
1
0
EKF
UKF
0
100
200
300
400
500
k
13
x2 ( rad
s )
9
5
1
-3
-7
-11
x3 (m)0.04
0.03
0.02
0.01
0.00
-0.01
-0.02
0.4
x4 ( m
s ) 0.3
0.2
0.1
0.0
-0.1
-0.2
-0.3
-0.4
EKF
UKF
0
100
200
300
400
500
k
EKF
UKF
0
100
200
300
400
500
k
EKF
UKF
0
100
200
300
400
500
k
Figura 8: Estimación de las cuatro componentes del vector de estado de la planta
operando en lazo abierto y con entrada nula. En negro: evolución temporal de
las variables de estado de la planta; en azul: estimaciones generadas por el EKF
y en rojo: estimaciones generadas por el UKF.
25
En la figura 9, se muestra el andamiento temporal del error cuadrático medio
para cada uno de los dos filtros; el cual se estima promediando entre cien experiencias (de quinientos instantes de muestreo cada una) en lazo abierto y entrada
nula, con los dos filtros estimando el estado de la planta simultáneamente. En
cada una de estas experiencias, el estado inicial de la planta se eligió aleatoriamente según:
   2

0
π
0 0 0
 0   0 19 0 0 
  

x0 ∼ N 
(109)
 0  ,  0
0 1 0 
0
0
0 0 10
y las condiciones iniciales para los filtros se tomaron siempre iguales a:
 
 2

0
π
0 0 0
 0 
 0 19 0 0 


 .
x0|0 = 
 0  P0|0 =  0
0 1 0 
0
0
0 0 10
(110)
Obsérvese que el error cuadrático medio, ası́ estimado, tiene un andamiento muy
similar para los dos filtros, apenas un poco mejor para el EKF que para el UKF.
La mejor performance del UKF en la estimación de la cuarta componente del
vector de estado, señalada anteriormente para la experiencia particular cuyos
resultados se reproducen en la figura 8; pudo verificarse en todas las experiencias,
pero su incidencia en el error cuadrático es despreciable frente al los errores que
se cometen en la estimación de las dos primeras componentes del vector de
estado. Por esto, no se refleja en las curvas del la figura 9.
3.5.2.
Estimación de estado en lazo cerrado
A continuación se presentan los resultados de las simulaciones del sistema
completo, tal cual se representa en la figura 7, es decir con la realimentación
operando para controlar planta. Para estas simulaciones, se mantuvieron las
mismas matrices Q y R elegidas como ya se explicó anteriormente.
Al igual que antes para la operación en lazo abierto, se realizaron cien experiencias (ahora de mil instantes de muestreo cada una), en las que el EKF y el
UKF estimaban el estado de la planta. A diferencia de antes, en que los filtros
estimaban el estado de una “misma” planta bajo observación, en este caso se
debieron simular dos plantas “independientes” ya que cada una se comandaba
con la acción de control generada con las estimaciones provenientes de cada uno
de los dos filtros. Lo que sı́ se impuso en forma idéntica y simultánea para el
EKF y el UKF, fue el ruido de medida instantáneo generado aleatoriamente, el
estado inicial de planta elegido aleatoriamente según 109 y la condición inicial
para los filtros siempre según 110.
Se programó la detención automática de cualquier filtro cuyo error cuadrático
de estimación del estado real de la planta, superara una cota máxima de valor
100, dando por imposible el control de la planta una vez alcanzada esta magnitud
en el error. De las 100 experiencias realizadas con los dos filtros, operando
simultáneamente sobre plantas independientes; en 89 de las mismas el EKF
alcanzó esta cota de error, mientras que el UKF la alcanzó solamente en 15.
En la figura 10 se ejemplifica uno de estos casos en que el EKF alcanzaba esta
cota máxima de error cuadrático. Es claro que en casos como este se perdı́a el
26
Promedio del error cuadrático ≈ M SE
6
EKF
UKF
5
4
3
2
1
0
0
100
200
300
400
500
Figura 9: Estimación del error cuadrático medio en la estimación del estado de
la planta, operando en lazo abierto y con entrada nula, para el EKF (en azul)
y el UKF (en rojo). La estimación, instante a instante, del error cuadrático
medio se obtiene promediando entre 100 experiencias distintas de 500 instantes
de muestreo cada una.
27
k
3.0
x1 (rad)3.4
2.6
2.2
1.8
1.4
1.0
0.6
0.2
-0.2
-0.6
0
20
40
60
80
100
120
k
0
20
40
60
80
100
120
k
0
20
40
60
80
100
120
k
0
20
40
60
80
100
120
k
0
20
40
60
80
100
120
k
100
80
x2 ( rad
s ) 60
40
20
0
-20
-40
-60
-80
x3 (m)
0
-20
-40
-60
-80
-100
-120
x4 ( m
s )
100
0
-100
-200
-300
-400
-500
3000
1000
-1000
-3000
-5000
-7000
-9000
-11000
-13000
u(N )
Figura 10: Evolución temporal de las variables de estado de la planta y acción
de control (todas en trazo continuo), en un caso en el que el EKF no es capaz de
generar estimaciones (en trazo discontinuo) suficientemente buenas como para
conseguir controlar la planta.
control de la planta. Sólo en una experiencia se dio que el UKF alcanzaba la
cota máxima de error cuadrático mientras que el EKF no (ver figura 11).
En la figura 12, se muestra el andamiento temporal del error cuadrático
medio para cada uno de los dos filtros; el cual se estima promediando entre
aquellas experiencias para las cuales el filtro del que se trate, no alcanzó la cota
máxima de 100 en el error cuadrático. Al igual que para las experiencias en lazo
abierto, el estado inicial de la planta se eligió aleatoriamente según 109 y las
condiciones iniciales para los filtros se tomaron siempre según 110. Obsérvese,
que en lazo cerrado, el desempeño del UKF es claramente superior al del EKF.
Esto también se puede apreciar en las 10 experiencias en las cuales ninguno de
los dos filtros alcanzaron la cota máxima aceptada para el error. Los resultados
de una de tales experiencias, se reproducen en la figura 13. A simple vista se
observa que el control de la planta es superior cuando se utiliza el UKF como
observador, que cuando se utiliza el EKF como observador. Incluso la acción de
control uk es más moderada en cuando se utiliza el UKF, que cuando se utiliza
el EKF.
Otra forma de comparar los desempeños de ambos filtros consistió en evaluar
el costo (104) tomando un número finito de términos (tantos como instantes
de muestreo simulados). Debe aclararse que el costo (104) converge cuando se
diseña un control óptimo de horizonte infinito para un sistema lineal en un
contexto determinista. Cuando se pretende extender los resultados de la teorı́a
28
x1 (rad)
2
1
0
-1
-2
-3
-4
-5
-6
EKF
UKF
0
100
200
300
400
500
600
700
800
900
1000
k
110
x2 ( rad
s ) 70
30
-10
-50
-90
-130
-170
x3 (m)
1300
1100
900
700
500
300
100
-100
EKF
UKF
0
100
200
300
400
500
600
700
800
900
1000
k
EKF
UKF
0
100
200
300
400
500
600
700
800
900
1000
k
3100
x4 ( m
s )2700
2300
1900
1500
1100
700
300
-100
EKF
UKF
0
100
200
300
400
500
600
700
800
900
1000
k
60000
u(N ) 70000
50000
40000
30000
20000
10000
0
-10000
-20000
EKF
UKF
0
100
200
300
400
500
600
700
800
900
1000
k
Figura 11: Evolución temporal de las variables de estado de la planta y la acción
de control que la comanda. En azul: EKF como observador. En rojo: UKF como
observador. Esta fue la única experiencia, de las 100 realizadas, en que el UKF
perdió el control de la planta mientras que el EKF no.
29
Promedio del error cuadrático ≈ M SE
7
EKF
UKF
6
5
4
3
2
1
0
0
100 200 300 400 500 600 700 800 900 1000
Figura 12: Estimación del error cuadrático medio en la estimación del estado
de la planta, operando en lazo cerrado, para el EKF (en azul) y el UKF (en
rojo). La estimación, instante a instante, del error cuadrático medio se obtiene
promediando entre 100 experiencias distintas de 500 instantes de muestreo cada
una.
30
k
0.9
x1 (rad)1.1
0.7
0.5
0.3
0.1
-0.1
-0.3
-0.5
-0.7
-0.9
EKF
UKF
0
100
200
300
400
500
600
700
800
900
1000
k
5
x2 ( rad
s ) 3
1
-1
-3
-5
-7
x3 (m)
4
3
2
1
0
-1
-2
-3
EKF
UKF
0
100
200
300
400
500
600
700
800
900
1000
k
EKF
UKF
0
100
200
300
400
500
600
700
800
900
1000
k
10
8
x4 ( m
s ) 6
4
2
0
-2
-4
-6
-8
u(N )
600
500
400
300
200
100
0
-100
-200
-300
EKF
UKF
0
100
200
300
400
500
600
700
800
900
1000
k
EKF
UKF
0
100
200
300
400
500
600
700
800
900
1000
k
Figura 13: Evolución temporal de las cuatro variables de estado de la planta
y la acción de control que la comanda, cuando se utiliza el EKF (en azul) o
alternativamente el UKF (en rojo) como observador de estado.
31
Costo
7e+08
EKF
UKF
6e+08
5e+08
4e+08
3e+08
2e+08
1e+08
0e+00
0
10
20
30
40
50
60
70
80
90
100
Figura 14: Costo (104) truncado a un número finito de términos, para cada
una de las cien experiencias, cuando la planta es controlada utilizando el EKF
como observador (barras en azul) o el UKF como observador (barras en rojo
superpuestas a las azules).
de control óptimo lineal, mediante el uso de la SDRE y además se aplica en un
contexto estocástico como el que estamos tratando; la serie (104) no tiene por
que converger. No obstante, la suma truncada a un número finito de términos
puede ser utilizada para comparar desempeños.
En la figura 14 se representa para cada una de las cien experiencias, el costo
asociado al EKF por una barra azul y el costo asociado al UKF por una barra
roja superpuesta. La ausencia de una barra significa que el filtro alcanzó la cota
máxima de 100 en el error cuadrático de estimación y por lo tanto la experiencia
fue descartada del análisis. Se observa que en las 10 experiencias, en que tanto
el error del EKF como el del UKF se mantuvo por debajo de la cota fijada; el
costo asociado al UKF fue siempre menor.
4.
Conclusiones
En este trabajo se expusieron dos extensiones del filtro de Kalman para
sistemas no lineales: el EKF (Extended Kalman Filter) y el UKF (Unscented
Kalman Filter); desde un marco teórico común. Mediante un ejemplo sencillo
de transformación de coordenadas, se ilustró la aplicación de la UT (Unscented
Transform), que es la herramienta fundamental subyacente en la formulación
del UKF.
32
k
Costo
1e+08
EKF
UKF
9e+07
8e+07
7e+07
6e+07
5e+07
4e+07
3e+07
2e+07
1e+07
0e+00
0
10
20
30
40
50
60
70
80
90
100
Figura 15: Ampliación de la figura 14.
Posteriormente, se aplicaron las dos extensiones del filtro de Kalman como
observadores de estado completo, al problema de control de un péndulo invertido. Se experimentó con este problema en forma numérica, pero formulándolo de
la forma más realista posible; distinguiendo entre la planta “real” y un modelo
(más sencillo) empleado para diseñar el observador y el controlador.
En lazo abierto y con entrada nula a la planta, se sintonizó manualmente el
EKF hasta alcanzar un desempeño aceptable, aunque no necesariamente óptimo.
Para esta sintonización, que se mantuvo incambiada y que se aplicó en forma
idéntica al UKF; se encontró que el desempeño en lazo abierto de los dos filtros
era muy similar.
En lazo cerrado, manteniendo la sintonización antes elegida en lazo abierto
y utilizando la misma metodologı́a SDRE (State Dependent Riccati Equation)
de control no-lineal; se compararon los desempeños del EKF y el UKF operando
como observadores. En la mayorı́a de las experiencias realizadas, se encontró que
el control de la planta era superior al utilizar el UKF, que cuando se utilizaba
el EKF. Esto se pudo apreciar directamente de las respuestas en lazo cerrado
obtenidas y también mediante la evaluación de un costo que pondera la regulación del vector estado y la acción de control requerida. Esta superioridad
es coherente con el hecho de que, en todo instante, el UKF cometı́a errores
cuadráticos medios menores a los que cometı́a el EKF. Como la metodologı́a de
control utilizada se basa en estas estimaciones, resulta razonable que el mejor
control se consiga con el observador que comete menor error de estimación. Más
destacable aún, es que el EKF perdió el control de la planta en el 89 % de las
experiencias realizadas, mientras que el UKF sólo lo perdió en el 15 % de las
33
k
experiencias realizadas.
Si bien la forma “artesanal” y poco práctica de sintonizar la matriz de covarianza Q, que “informa” a los filtros las caracterı́sticas del ruido de medida,
es claramente criticable; consideramos que las experiencias numéricas realizadas
son suficientes para justificar la viabilidad de estas técnicas de observación en
problemas de control no-lineal e ilustrar (al menos para un problema y solución
particular), la superioridad del UKF sobre el EKF, demostrable en forma rigurosa por expansiones en series de potencias de los momentos estimados [8]. Cabe
destacar además, la facilidad con que se implementa el UKF en comparación
con el EKF; para el cual fue necesario programar las matrices jacobianas (41)
a (44), correspondientes al modelo (95), aplicando la regla de la cadena a las
funciones compuestas que resultan de los H pasos de integración entre instantes
de muestreo (ver (94)) y del propio método de Runge-Kutta (91) y (92).
Otro aspecto criticable de la sintonización, es que se realizó en lazo abierto y
con entrada nula. Seguramente, hubiese sido posible alcanzar mejor desempeño
sintonizando directamente en lazo cerrado, que era el modo de operación para
el cual se estaba diseñando el observador. De todas formas, el mayor problema
(ya sea en lazo abierto o en lazo cerrado), consiste en encontrar alguna forma
racional de determinar la sintonización del filtro, sin incurrir en métodos de
prueba y error. Mejor aún serı́a lograr que el filtro “aprenda” automáticamente
los parámetros que caracterizan al ruido de proceso y de medida. Esto último
podrı́a ser motivo de otro trabajo y no está demasiado estudiado en la literatura
según reportan Abbeel et al. en [1]; donde proponen algunos algoritmos de
sintonización automática que no ensayamos en nuestras experiencias por falta
tiempo.
Referencias
[1] Abbeel P., Coates A., Montemerlo M., Ng A. Y. & Thrun S. Discriminative
Training of Kalman Filters. Robotics, Science and Systems. Boston, USA,
June 2005.
[2] De Marchi J. A. Modeling of dynamic friction, impact backlash
and elastic compliance nonlinearities in machine tools, with applications to asymmetric viscous and kninetic friction identification. Tesis
de doctorado. Rensselær Polytechnic Institute, Troy, New York, 1988.
http://www.perihelia.com/doc/phdweb.pdf .
[3] Julier S. J. & Uhlmann J. K. A new approach for filtering nonlinear systems.
Proceedings of tha American Control Conference, 1628–1632. 1995.
[4] Julier S. J. & Uhlmann J. K. A new extension of the Kalman filter to nonlinear systems. Int. Symp. Aerospace/Defense Sensing, Smul. and Controls,
Orlando, FL, 1997. http://citeseer.ist.psu.edu/julier97new.html .
[5] Lewis F. L. Optimal estimation. New York: Wiley, 1986.
[6] Menon P. K., Sweriduk G. D., Vaddi S. S. & Ohlmeyer E. J. Nonlinear Discrete-time Design Methods for Missile Flight Control Systems. 2004 AIAA Guidance, Navigation, and Control Conference Providence, RI, August 16–19.
34
http://www.optisyn.com/research/papers/papers/2004/AIAA-20045409.pdf .
[7] Uhlmann J. K. Simultaneous map building and localization for real time
applications. Reporte técnico, Universidad de Oxford, 1994. Tesis de transferencia.
[8] Wan E. A. & van der Merwe R. Kalman Filtering and Neural
Networks, chapter 7: The Unscented Kalman Filter. Wiley, 2001.
http://citeseer.ist.psu.edu/wan01chapter.html .
[9] Scilab - A Free Scientific Software Package. http://www.scilab.org .
35
Descargar