Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Captulo 2.
Desarrollo terico
Es importante recordar que el cambio en la orientacin del objeto, que est sujeto a una serie de rotaciones sobre los diferentes ejes, no es slo una funcin de los ngulos que rota cada uno de estos ejes, sino tambin del orden en que ocurren las rotaciones. 29
Existen varias representaciones matemticas para definir la orientacin del objeto respecto al sistema de referencia. Estos se describen a continuacin: Matriz de rotacin: La matriz de rotacin, o DCM (del ingls Direction Cosine Matrix), es una matriz 3x3, cuyas columnas representan los vectores unidad del objeto proyectados sobre los ejes del sistema de referencia. ngulos RPY y ngulos de Euler: Una transformacin de un marco coordinado a otro se define por tres rotaciones sucesivas sobre los diferentes ejes. Los ngulos roll, pitch y yaw representan las tres rotaciones sobre los ejes X, Y y Z, respectivamente. Los ngulos de Euler son una representacin similar, cambiando los ejes sobre los que se realizan las rotaciones y el orden en que se tienen en cuenta. Cuaterniones: Otra forma de entender la rotacin es considerarla como una nica rotacin sobre un vector definido en el marco de referencia. El cuaternin es un vector tetradimensional, cuyos elementos son funcin de este vector y de la magnitud de la rotacin.
r r r Ar A r A = RB r B ; r B = ( RB ) T r A
siendo rij el coseno del ngulo entre el eje i del sistema de referencia fijo y el eje j del sistema de referencia del objeto.
30
(pitch) y finalmente alrededor de Z A un ngulo (yaw).. En la representacin de Euler Z-Y-X, en lugar de realizar tres rotaciones consecutivas alrededor de los ejes del sistema de referencia {A}, las rotaciones se efectan alrededor de los ejes del sistema {B} solidario al cuerpo. Primero se rota un ngulo alrededor de Z , luego alrededor del Y resultante del primer giro, y
B B
posteriormente se rota un ngulo alrededor del eje X B . Los ngulos de Euler Z-Y-Z se obtienen de realizar rotaciones parecidas a las anteriores. En este caso tambin se rota con respecto a {B}, pero el orden de las rotaciones ahora es Z-Y-Z.
2.1.3. Cuaterniones
La representacin de la orientacin mediante cuaterniones es una representacin de cuatro parmetros basada en la idea de que una transformacin de un sistema de referencia a otro puede ser efectuada por una nica rotacin sobre un r r vector definido en el sistema de referencia fijo. El cuaternin, q , es un vector de cuatro elementos que son funcin de este vector y de la magnitud de la rotacin:
31
r donde x, x y x son las componentes del vector y el mdulo de dicho r vector. El parmetro representa el valor de la rotacin sobre el vector .
r13 (a 2 + b 2 c 2 d 2 ) 2(bc ad ) 2(bd + ac) = 2 2 2 2 r23 2(bc + ad ) (a b + c d ) 2(cd ab) r33 2(bd ac) 2(cd + ab) (a 2 b 2 c 2 + d 2 )
Y los ngulos roll, pitch y yaw se pueden calcular tambin a partir de esta matriz:
32
escogiendo la solucin -90 90, que corresponde a tomar la raz como positiva.
b c a d d a c b
d 0 c x b y a z
33
O, lo que es lo mismo,
x 0 z
z
0 x
z a 0 y b = 0 .5 x y x c 0 d z
x 0 z
z
0 x
z y r q x 0
r r & x = A x
r donde x es el vector de estado y A la matriz dinmica del sistema.
Una primera aproximacin sera tomar tal cual la ecuacin de propagacin de los cuaterniones, haciendo coincidir al cuaternin con el vector de estado. El resultado sera:
0 r & = 0.5 x x y z
x 0 z
z
0 x
z y r x x 0
Sin embargo, el modelo no se queda aqu. El motivo de la realizacin del modelo es hacer un seguimiento del sistema que nos permita ir integrando las velocidades angulares para que se transformen en los ngulos netos que se ha movido el objeto. Resulta, por tanto, interesante incluir tambin en este modelo la dinmica del giro de los tres ejes. Para modelar el cambio en las velocidades angulares de los tres ejes, se utilizar un sistema de primer orden. Es decir, el movimiento se espera que est dentro de un determinado ancho de banda:
1 / r &= 0 0
0 1/ 0
0 r 0 1/
34
siendo
x = y z r
Se puede confeccionar, entonces, el vector de estado para incluir ambas dinmicas en el modelo. El resultado es el siguiente:
x1 x x 2 y x3 z r x = x4 = a x5 b x6 c x d 7
0 2 / 0
0 0 2 / 0 x 0 z 0 y
x y z
z
0 x
x y z z a y b x c 0 d
Ahora el sistema es no lineal, dado que los i son parte del vector de estado, y estn multiplicando a otros estados. El modelo del sistema quedar completo al definir la ecuacin de medida. Esto es la relacin entre las medidas que se pueden obtener de los sensores, y el vector de estado. En el caso de las velocidades angulares i esta relacin es directa, ya que estn directamente incluidas en el vector de estado. Para las medidas de compases magnticos y acelermetros, esta relacin no es otra que la que existe entre la orientacin del objeto y las medidas que nos aportan estos sensores.
35
Se ha comentado anteriormente que la orientacin del objeto ser la relacin entre dos sistemas de coordenadas, uno de ellos fijo, que ser el sistema {A}, y el otro solidario al propio objeto, {B}. Se define, en primer lugar, el sistema de coordenadas fijo que servir de referencia, {A}. En ste, el eje X se corresponder con el Norte Geogrfico, el eje Y apuntar hacia el Este, y el eje Z ser hacia abajo, tal como indica la siguiente figura:
N x z y E
En este sistema de referencia se definen dos vectores fijos, correspondientes al campo gravitatorio y magntico terrestres. Segn el IGRF (International Geomagnetic Reference Field), las fuerzas gravitatoria y magntica de la Tierra forman los siguientes vectores en nuestra posicin geogrfica, expresados en el marco de referencia que se acaba de exponer:
0 r g = 0 m / s 2 9,82 26,8503 r m = 1,3929 nT 33,7885 Dado que el objetivo es encontrar la orientacin del objeto, slo resulta de utilidad la orientacin de estos vectores, resultando irrelevante el valor de su mdulo. Por tanto, se tomar una versin normalizada de los mismos:
36
0 rA g = 0 1 0,62182 rA m = 0,03226 0,78249 Los acelermetros son capaces de medir el vector de aceleracin del campo gravitatorio. Esta medida aporta este vector gravitatorio expresado en el sistema de referencia del objeto, {B}. De la misma forma, con los compases magnticos se obtiene el vector del campo magntico terrestre expresado en {B}. Con esto, el vector de medidas ser:
r r r A r A m A = RB m B ; m B = ( RB ) T m A
37
( a 2 + b 2 c 2 d 2 ) 2(bc + ad ) 2(bd ac) rB rA 2 2 2 2 g = 2(bc ad ) (a b + c d ) 2(cd + ab) g 2 2 2 2 2(bd + ac) 2(cd ab) (a b c + d ) ( a 2 + b 2 c 2 d 2 ) 2(bc + ad ) 2(bd ac) rB rA m = 2(bc ad ) (a 2 b 2 + c 2 d 2 ) 2(cd + ab) m 2 2 2 2 2(bd + ac) 2(cd ab) (a b c + d ) Ntese que a, b, c y d son en realidad las componentes del vector de estado, x4, x5, x6 y x7. Con esto se ha obtenido una relacin entre las medidas y los elementos del vector de estado. Nuevamente, esta relacin no es lineal con respecto al vector de estado. El modelo completo del sistema queda de esta forma:
y1 = x1 y2 = x2 y3 = x3 y4 = 2( x5 x7 x4 x6 ) y5 = 2( x6 x7 + x4 x5 )
2 2 2 2 y6 = x4 x5 x6 + x7 2 2 2 2 y7 = ( x4 + x5 x6 x7 )0,62182 2( x5 x6 + x4 x7 )0,03226 + 2( x5 x7 x4 x6 )0,78249 2 2 2 2 y8 = 2( x5 x6 x4 x7 )0,62182 ( x4 x5 + x6 x7 )0,03226 + 2( x6 x7 + x4 x5 )0,78249 2 2 2 2 y9 = 2( x5 x7 + x4 x6 )0,62182 2( x6 x7 x4 x5 )0,03226 + ( x4 x5 x6 + x7 )0,78249
38
39
error, a partir de la ecuacin dinmica del sistema. En el segundo se corrige esta prediccin y se actualiza el vector de estado y la covarianza de su error, teniendo en cuenta la ecuacin de medida. Para cada iteracin k, se sigue el siguiente algoritmo:
r xk = Axk 1 + Bu k 1
Pk = APk 1 AT + Q
K k = Pk H T ( HPk H T + R ) 1 r xk = xk + K k ( yk Hxk ) Pk = ( I K k H ) Pk
( x k ,0 )
40
r xk = f ( xk 1 , uk 1 ,0)
T Pk = Ak Pk 1 Ak + Wk Qk 1WkT T T K k = Pk H k ( H k Pk H k + Vk RkVkT ) 1 r xk = xk + K k ( yk h( xk ,0))
Pk = ( I K k H k ) Pk
Se ha introducido aqu un parmetro que muy importante: el tiempo de muestreo T. Este tiempo es el que transcurre entre una iteracin y otra del algoritmo, y debe ser lo suficientemente pequeo como para que la aproximacin sea vlida, pero lo suficientemente grande como para que al procesador le d tiempo a realizar todos los clculos, adems de actualizar todas las medidas de los sensores. Finalmente, el tiempo de muestreo ser de 20 milisegundos. Esto proporciona una tasa de actualizacin de la orientacin de 50 Hz, que es lo mnimo requerido por el DSP de control del helicptero, ya que es esa la frecuencia con la que va actualizando su estado. Una vez pasado a ecuaciones en diferencias y aadido el modelo de ruido, el sistema queda as:
r r r Ecuacin dinmica xk = f ( xk 1 , wk 1 ) :
41
x1k = x1k 1 + (T / ) x1k 1 + Tw1k 1 x2k = x2k 1 + (T / ) x2k 1 + Tw2k 1 x3k = x3k 1 + (T / ) x3k 1 + Tw3k 1 x4k = x4k 1 + T ( x1k 1 x5k 1 x2k 1 x6k 1 x3k 1 x7k 1 ) / 2 + Tw4k 1 x5k = x5k 1 + T ( x1k 1 x4k 1 + x3k 1 x6k 1 x2k 1 x7k 1 ) / 2 + Tw5k 1 x6k = x6k 1 + T ( x2k 1 x4k 1 x3k 1 x5k 1 + x1k 1 x7k 1 ) / 2 + Tw6k 1 x7k = x7k 1 + T ( x3k 1 x4k 1 + x2k 1 x5k 1 x1k 1 x6k 1 ) / 2 + Tw7k 1
r r r Ecuacin de medida yk = h( xk , vk ) :
y1k = x1k + v1k y2k = x2k + v2k y3k = x3k + v3k y4k = 2( x5k x7k x4k x6k ) + v4k y5k = 2( x6k x7k + x4k x5k ) + v5k
2 2 2 2 y6k = x4k x5k x6k + x7k + v6k 2 2 2 2 y7k = ( x4k + x5k x6k x7k )0,62182 2( x5k x6k + x4k x7k )0,03226 + 2( x5k x7k x4k x6k )0,78249 + v7k 2 2 2 2 y8k = 2( x5k x6k x4k x7k )0,62182 ( x4k x5k + x6k x7k )0,03226 + 2( x6k x7k + x4k x5k )0,78249 + v8k 2 2 2 2 y9k = 2( x5k x7k + x4k x6k )0,62182 2( x6k x7k x4k x5k )0,03226 + ( x4k x5k x6k + x7k )0,78249 + v9k
tpicas de las seales de los sensores. A priori, estas desviaciones tpicas vendrn dadas por las especificaciones de los fabricantes de los sensores. Girscopo: Segn el datasheet del fabricante, el ruido a 25 C es 0.1 / s / Hz . Para un ancho de banda de 30 Hz el ruido en la medida ser aproximadamente 0.5 / s . Esto es la desviacin tpica del ruido en la velocidad angular. Esto es, ajustado a las unidades usadas en el modelo, /360 rad/s.
Acelermetro: El dato terico sita el espectro de ruido en el acelermetro en 0.225 mg / Hz . Para nuestro ancho de banda de 100 Hz queda una desviacin tpica de 2.25 mg.
42
Comps magntico: El fabricante no proporciona un dato exacto al respecto, pero podemos hacer una estimacin. Suponiendo un error de entre 1 y 2 grados en la medida, la desviacin tpica del ruido en las componentes del vector magntico asociado se puede suponer en primera aproximacin del orden de 0.03 (no tiene unidades porque el vector se encuentra normalizado). La relacin entre el error en el ngulo que nos da el comps magntico y el error sobre los ejes del triedro de referencia no es lineal, ya que se basa en senos y cosenos. Esta aproximacin no es ms que una media entre el mejor y el peor caso. A continuacin se detalla cmo queda finalmente el algoritmo de estimacin.
Antes de comenzar el bucle de control, se pueden definir las matrices W y V, ya que son constantes y no har falta tener que definirlas en cada iteracin.
W[i , j ] = V[i , j ] =
f [i ] ( xk 1 ,0) W = T I 7 x 7 w[ j ] h[i ] ( x k ,0 ) V = I 9 x 9 v[ j ]
Se puede definir tambin las matrices de covarianza del ruido en el proceso y en la medida, Q y R. La matriz Q modela el error que se comete en la actualizacin del estado usando la ecuacin dinmica del sistema. En principio se le asignar el siguiente valor: 0 0 0 0 0 0 .1 0 0 0 .1 0 0 0 0 0 0 0 0 .1 0 0 0 0 Q=0 0 0 0.01 0 0 0 0 0 0 0 0.01 0 0 0 0 0 0 0.01 0 0 0 0 0 0 0 0 0.01
La matriz R modela el error en la medida, y se puede definir en funcin de las varianzas de las diferentes componentes del vector de medidas. Llamando v, r y s a las desviaciones tpicas comentadas anteriormente, en el mismo orden, queda la siguiente matriz:
43
v 2 0 0 0 R = 0 0 0 0 0
0 v 0 0 0 0 0 0 0
2
0 0 v2 0 0 0 0 0 0
0 0 0 r2 0 0 0 0 0
0 0 0 0 r2 0 0 0 0
0 0 0 0 0 r2 0 0 0
0 0 0 0 0 0 s2 0 0
0 0 0 0 0 0 0 s2 0
0 0 0 0 0 0 0 0 s2
r Actualizacin de las medidas: se actualiza el vector yk con las medidas de girscopos, acelermetros y compases magnticos.
Clculo de la matriz Ak.
A[i , j ] =
f [i ] ( xk 1 ,0) x[ j ]
T 1+ 0 0 Ak = T x 2 5k 1 T x4k 1 2 Tx 2 7k 1 T x6k 1 2
0 1+ T
0 0 1+ T
0 0 0 1 T x1 2 k 1 T x2 2 k 1 T x3 2 k 1
0 0 0 T x1 2 k 1 1 T x3 2 k 1 T x2 2 k 1
0 0 0 T x2 2 k 1 T x3 2 k 1 1 T x1 2 k 1
0 T x6 2 k 1 T x7k 1 2 T x4 2 k 1 T x5 2 k 1
T x7 2 k 1 T x6 2 k 1 T x5k 1 2 T x4 2 k 1
44
Clculo del vector de estado a priori, xk , usando el modelo dinmico del sistema.
xk = f ( xk 1 ,0)
H [i , j ] = 1 0 0 0 0 0 Hk = 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2x 2x
6k 5k 4k
h[i ] ( xk ,0) x[ j ] 0 0 0 2x 2x
7k 4k 5k
0 0 0
2 x4k 2 x7k
2 x6k 2 x6k m1A + 2 x5k m2A 2 x4k m3A 2 x5k m1A + 2 x6k m2A + 2 x7k m3A 2 x4k m1A + 2 x7k m2A 2 x6k m3A
0 0 2 x5k 2 x6k 2 x7k A A 2 x7k m1 + 2 x4k m2 + 2 x5k m3A A A 2 x4k m1 2 x7k m2 + 2 x6k m3A 2 x5k m1A + 2 x6k m2A + 2 x7k m3A 0
T Pk = Ak Pk 1 Ak + WQW T
45
T T K k = Pk H k ( H k Pk H k + VRV T ) 1
r xk = xk + K k ( yk h( xk ,0))
Pk = ( I K k H k ) Pk
46