Reporte Investigación_Sebastián Cruz
-
Upload
juansebastiancruz -
Category
Documents
-
view
100 -
download
0
Transcript of Reporte Investigación_Sebastián Cruz
-
5/26/2018 Reporte Investigacin_Sebastin Cruz
1/23
Reporte Tcnico
Introduccin al diseo de un sistema de navegacininercial
Juan Sebastin Cruz A.
Diciembre 2013
-
5/26/2018 Reporte Investigacin_Sebastin Cruz
2/23
Introduccin al diseo de un sistema de Navegacin Inercial
Los sistemas de navegacin inercial son sistemas que permiten aproximar la posicin, orientacin
y velocidad de cualquier objeto en movimiento, haciendo uso de acelermetros, giroscopios y ms
recientemente de magnetmetros. Las unidades de medida inerciales o IMUs por sus siglas en
ingls (Inertial Measurement Units) contienen generalmente 3 acelermetros, 3 giroscopios y 3
magnetmetros, uno para cada eje ortogonal.
IMU
Giroscopio
Los giroscopios son sistemas que nos permiten medir los valores de desplazamiento angular en el
tiempo. Existen mltiples tipos de giroscopios, dentro de los que ms destacan los mecnicos,
pticos y los MEMS. Debido al rpido avance de la electrnica, estos ltimos se han convertido en
ideales para todo tipo de aplicaciones.
Los MEMS utilizan el efecto de Coriollis para la medicin de la velocidad angular, como se muestra
en la figura 1.
Figura 1. Efecto Coriolis en Giroscopio [2]
Cuando la masa se est moviendo en la direccin de la y una el objeto se mueve con unavelocidad angular , entonces la masa va a experimentar una fuerza en la direccin de la flecha
naranja, como resultado de la fuerza de Coriollis. El resultado del desplazamiento fsico causadopara esta fuerza es ledo por un sensor capacitivo.
La mayora de los giroscopios MEMS tienen dos masas oscilantes , las cuales se mueven
constantemente en direcciones opuestas (figura 2); la fuerza de Coriolis en cada masa tambin
acta en direcciones opuestas dando como resultado un cambio en la capacitancia. Este valor es
proporcional al cambio en la velocidad angular.
-
5/26/2018 Reporte Investigacin_Sebastin Cruz
3/23
Figura 2.Giroscopio con dos masas [2]
Por su naturaleza, los giroscopios electrnicos tienen a tener tanto un offset como un drift a travs
del tiempo.
Magnetmetros
Los magnetmetros son instrumentos que nos permiten medir la fuerza y direccin de un campo
magntico. Los ms comunes son los magnetmetros o brujas digitales de estado slido, ya que
permiten tamaos muy reducidos y bajos costos. Las tecnologas ms comunes miden los campos
a travs de magnetoresistencia anisotrpica. Esto los hace muy sensibles aumentando su precisin
y linealidad. La mayora de esto instrumentos periten medir la direccin del campo magntico
terrestre con una exactitud inferior a los 2 grados.
Acelermetro
Los acelermetros son sistemas que nos permiten medir la aceleracin esttica debida a la
gravedad y la aceleracin dinmica producida por el movimiento. Al igual que en el caso de los
giroscopios, existen varios tipo de acelermetros, pero los ms comunes son microacelermetros
capacitivos los cuales sensan la aceleracin a travs del cambio en la capacitancia de un capacitor
formado por su estructura. Uno de sus electrodos est colocado en la masa ssmica, mientras que
el otro permanece estacionario. Una aceleracin provoca una variacin en la distancia entre
ambos electrodos, alterando su capacitancia inicial en proporcin a la aceleracin experimentada.
Entonces, un circuito electrnico puede medir esta variacin de capacitancia [9].
La figura 2.1 muestra la estructura de un microacelermetro capacitivo de sensado vertical, en el
cual la masa ubicada en la parte superior y el electrodo en la inferior forman un capacitor de
-
5/26/2018 Reporte Investigacin_Sebastin Cruz
4/23
placas paralelas. Las aceleraciones en el sentido del eje vertical genera una flexin en la masa,
causando un cambio en la distancia de separacin entre el electrodo y la masa mvil; esto origina
un aumento o disminucin en la capacitancia inicial en funcin de la direccin de la aceleracin
aplicada.
Figura 2.1 Microacelerometro
Por la naturaleza fsica de los acelermetros, estos se ven influenciados por gran cantidad de
ruido, por lo que es muy importante que su seal pase por un proceso de filtrado.
-
5/26/2018 Reporte Investigacin_Sebastin Cruz
5/23
Sistema de navegacin Inercial
Un sistema de navegacin inercial requiere el uso de acelermetros, magnetmetros y
giroscopios. Para esto fue usada una unidad de medida inercial comercial conocida como Razor
IMU. La configuracin de la misma para los propsitos de esta investigacin se puede encontrar en
el Anexo A. A continuacin se describen los algoritmos usados para la obtencin de la posicin y la
orientacin.
Figura 3. Sistema de navegacin Inercial
Orientacin
El sistema de navegacin propuesto, se muestra en la figura 3. Existen varias alterativas para
obtener la orientacin del objeto a travs de un sistema inercial. Las ms conocidas son los filtros
de Kalman y Filtros Complentarios, los cuales usan los datos de los giroscopios para aproximar los
ngulos de inclinacin, corrigiendo estas medidas con las de los acelermetros. Otra alternativa es
a travs del uso de una matriz de cosenos directores (DCM por sus siglas en ingles). Esta ltima
funciona de la siguiente manera:
1. La orientacin del objeto se obtiene a partir de la integracin de la informacinproveniente de los giroscopios.
2. Como se mencion en la primera parte, los datos de los giroscopios se ven influencias porel ruido (gyro drift y gyro offset). La integracin acumula estos errores en los elementos de
la matriz de cosenos directores. Sabiendo que la matriz debe ser siempre ortogonal, se
realizan pequeos ajustes para que las ortogonalidad se mantenga.
3. De igual forma, para corregir estos errores derivados de la integracin, se usa uncontrolador PI, el cual reduce el error de los ngulos obtenidos a travs de los giroscopios
y los que se pueden obtener con los acelermetros y los magnetmetros.
-
5/26/2018 Reporte Investigacin_Sebastin Cruz
6/23
El proceso se muestra de manera esquemtica en la figura 4, el cual es propuesto por Premerlani
[3].
Figura 4. DCM
El Razor IMU hace uso de este algoritmo y nos entrega directamente los ngulos de Euler
referentes a la orientacin en cada uno de los ejes (Pitch, Yaw y Roll). El procesamiento de los
datos se realiz a travs de Matlab, por lo que las modificaciones a la programacin del IMU se
pueden encontrar en el Anexo B.
Posicin
Como se observa en el esquema de la figura 3, la posicin de obtiene a travs de una doble
integracin de los valores de aceleracin dados por los acelermetros, junto con los datos de
orientacin.
Los acelermetros, no solo miden la aceleracin dinmica, sino que tambin estn midiendo la
aceleracin debida a la gravedad. Por esta razn debemos eliminar el valor de gravedad de
nuestras mediciones. Para esto, lo que haremos ser transformar la gravedad medida en nuestro
sistema inercial, a nuestro sistema de movimiento. Tendremos entonces que la matriz de rotacin
estar definida como: Donde ,y corresponde a los ngulos de rotacin en Z, Y y X respectivamente.Definimos el vector gravedad como:
g=[]
-
5/26/2018 Reporte Investigacin_Sebastin Cruz
7/23
Por tanto la gravedad en nuestro cuerpo en movimiento estar definida como:
Con esto podemos compensamos el valor de la gravedad a los valores obtenidos directamente de
la unidad inercial:
at=
Como se puede observar, el valor de la gravedad en el sistema en movimiento no depende del
ngulo de guiada o Yaw. Al hacer esto entonces, suponemos que despus de eliminar la
gravedad, la direccin de los vectores de ax, ayy azestn alineados con nuestro eje inercial en todo
momento.
El anlisis de los datos se realiz a travs de Matlab. La programacin se puede encontrar en el
Anexo C.
Los valores de aceleracin del dispositivo en una posicin esttica se pueden observar en la figura
5.
-
5/26/2018 Reporte Investigacin_Sebastin Cruz
8/23
Figura 5. Valores de Aceleracin esttico
Como se puede observar en la calibracin del IMU, del anexo A, los valores de aceleracin varan
entre -255 y 255, siendo este ltimo el valor mximo para la gravedad. Se caracterizaron cada uno
de los ejes de aceleracin
La posicin estara dada entonces por:
X(t)= Y(t)= Z(t)=
Sin embargo como se puede observar en la figura 6 la seal de los acelermetros presenta
bastante ruido, lo que hace que los errores en la posicin sean bastante amplios, debido a la doble
integracin.
0 20 40 60 80 100 120 140 160 180 200-50
0
50
100
150
200
250
300
Sample
Raw
DataAcc
Raw Accs Data at Inertial Frame (Static)
AccX
AccY
AccZ
-
5/26/2018 Reporte Investigacin_Sebastin Cruz
9/23
Figura 6.Ruido en los acelermetros.
En 9 segundos, estando esttico el movimiento, el error en la posicin es cercano a los 0.35m,
como se puede ver en la figura 7.
Figura 7. Posicin en X, con el objeto esttico.
0 20 40 60 80 100 120 140 160 180 200
-4
-3
-2
-1
0
1
2
3
Sample
Raw
DataAcc
Raw AccX and AccY Data at Body Frame (Static)
-
5/26/2018 Reporte Investigacin_Sebastin Cruz
10/23
Estando esttico, es posible implementar un filtro de medias mviles el cual pareciera ser una
solucin viable para reducir el ruido. El filtro de medias mviles obtiene el promedio de los ndatos
siguientes al dato que se pretende predecir. Al estar el elemento esttico, los valores de la
aceleracin en los 3 ejes deben ser 0.
La figura 7 muestra el valor de la aceleracin sin filtrar y con el filtro de medias mviles.
Figura 7. Implementacin de filtro de media mviles.
El error en la posicin despus de 9 segundos es cercano a los 12 cm.
Sin embargo, el sistema inercial debe reducir al mximo el error de posicin, no solo cuando est
esttico, sino tambin cuando est en movimiento, por lo que el filtro de medias mviles no es
funcional. Partiendo de esto, se aplic un filtro de Kalman a los valores del acelermetro.
0 0.5 1 1.5 2 2.5 3 3.5 4-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
time(s)
AccRa
w
AccX
AccX Filtered
AccX
-
5/26/2018 Reporte Investigacin_Sebastin Cruz
11/23
Filtro de Kalman
El filtro de Kalman es una serie de ecuaciones matemticas que de manera recursiva permiten
estimar el estado del proceso, de tal forma que se minimice la media del error cuadrtico.Este filtro permite hacer estimaciones de los estados pasados, presentes y futuros del proceso.
El filtro de Kalman estima el proceso usando la siguiente retroalimentacin: Estima el proceso en
un tiempo determinado y luego obtiene la retroalimentacin de las medidas (ruido).Las
ecuaciones del filtro se dividen en dos grupos: time updateymeasurement update. Las ecuaciones
de time update, o etapa predictiva,son responsables de proyectar (en tiempo) el estado actual y la
estimacin de la covarianza del error para obtener los estimados a priori para el siguiente paso.
Las ecuaciones de measurement update, o etapa correctiva, es la responsable de la
retroalimentacin para incorporar una nueva medida en el estimado a priori y obtener un
mejorado estimado a posterior [5].
Las ecuaciones se presentan a continuacin:
Time Update (Prediccin)Predicted (a priori) state estimate Predicted (a priori) estimate covariance Donde:
Aes el modelo de transicin de estado, aplicado al estado anterior Bes el modelo de control de entrada aplicado al vector de control Q es la matriz de covarianzas del error del proceso.
Measurement Update (Correcin)Ganancia de Kalman Updated (a posteriori) state estimate Updated (a posteriori) estimate covariance
-
5/26/2018 Reporte Investigacin_Sebastin Cruz
12/23
Donde:
H es el modelo de observacin el cual mapea el espacio de estados real en el espacio de estado observable.
Res la matriz de covarianzas del error medido
Zkes la medida del proceso en el instante K.
Para el propsito de nuestra investigacin, se aplicar un filtro de Kalman particular a cada uno de
los tres acelermetros presentes en el IMU. El proceso quedara entonces como se muestra en la
figura 8.
Figura 8. Sistema Inercial
Para el caso del acelermetro:
El estado no cambia de un paso al otro, por lo que el modelo de transicin de estado Aser igual a 1.
No existe un vector de control de entrada por lo que el valor de uk-1 ser igual a 0. La medida del ruido es directamente del estado del sistema, por lo que el modelo de
observacin H ser igual a 1.
El filtro de Kalman quedar definido entonces como:
Time Update (Prediccin)
Measurement Update (Correcin)
-
5/26/2018 Reporte Investigacin_Sebastin Cruz
13/23
La programacin del filtro en Matlab se puede encontrar en el Anexo D.
Para obtener un valor cercano de la covarianza del error medido R y de Q, existen varios mtodos
entre ellos Auto-covarianza de mnimos cuadrados, ecuacin de Riccatis y AllanVariances[4]. Este
ltimo nos permite medir la estabilidad de la seal y aproximar un valor de varianza al error.
Aplicamos esta ltima metodologa [7] [8] para treinta mil datos de los acelermetros y obtuvimos
el resultado mostrado en la figura 8.
Figura 8.Allan Variances
El punto ms bajo corresponde a la desviacin estndar del error. Sin embargo, con estos valores
la estabilidad y asertividad del filtro de Kalman se reducan por lo que se realizaron varias pruebas
experimentales de prueba y error para llegar a valores de Q y R que mejoraran el desempeo del
filtro.
La aceleracin de X filtrada a travs de Kalman se muestra en la figura 9.
-
5/26/2018 Reporte Investigacin_Sebastin Cruz
14/23
Figura 9.Posicin Obtenida por el sistema inercial filtrado.
Figura 10.Aceleracin filtrada con el filtro de Kalman
Como se puede observar, la aplicacin del filtro nos brinda un error de menos de 4 cm en 10
segundos, estando en posicin esttica, lo que mejora significativamente el desempeo del
sistema de navegacin.
-
5/26/2018 Reporte Investigacin_Sebastin Cruz
15/23
CONCLUSIN
Este reporte nos brinda una introduccin a los elementos necesarios para el diseo de
sistemas de navegacin inercial. Como parte de la reduccin del error en el proceso de obtencin
de posicin se propuso lo combinacin de dos esquemas que no se usan comnmente juntos:
Matriz de cosenos directores y filtros de Kalman independientes para los acelermetros. Los
resultados de la combinacin de estos dos algoritmos, mejoran significativamente el desempeo
de la obtencin de la posicin. Es importante resaltar que los errores se acumulan durante cada
parte del proceso: Errores en la obtencin de los ngulos de orientacin generan que la
componente gravitatoria de la aceleracin no se elimine por completo; adicionalmente el ruido
presente en las seales del acelermetro, una calibracin imprecisa y posteriormente la doble
integracin de este valor, impide que se pueda llegar a un valor de posicin preciso en largos
periodos de tiempo.
A travs de la combinacin de algoritmos, se logr reducir el error de posicin en cerca de
un 85%, con respecto a los valores obtenidos sin el filtrado. La puesta a punto del Filtro de Kalman
es fundamental, por lo que sera importante usar otras alternativas que nos permitieran obtener
de manera ms cercana los valores de las covarianzas de los errores (Q y R).
Las limitaciones estn actualmente en la precisin de los datos obtenidos por parte de los
MEMS (giroscopios y acelermetros), los cuales por su naturaleza tienden a entregar error de
offset, drift y ruido. La obtencin de valores de posicin y orientacin en periodos de tiempo
extensos, no se puede realizar de manera precisa haciendo uso de sistemas de navegacin inercial
simples.
Referencias
[1] Building an AHRS using the SparkFun "9DOF Razor IMU" or "9DOF Sensor Stick".GitHub.
https://github.com/ptrbrtz/razor-9dof-ahrs/wiki/Tutorial
[2]Esfandyrai, J., De Nuccio, R., Xu, G. Introduction to MEMS gyroscopes.SolidState Technology.
http://electroiq.com/blog/2010/11/introduction-to-mems-gyroscopes/
[3] Premerlani, W. , Bizard. P. Direction Cosine Matrix IMU: Theory.
[4] Singhal, T., Harit, A., Vishwakarma D. Kalman Filter Implementation on an Accelerometer
sensor data for three state estimation of a dynamic system. International Journal of Research in
Engineering and Technology (IJRET) Vol1, No.6 2012 ISSN 2277-4378.
https://github.com/ptrbrtz/razor-9dof-ahrs/wiki/Tutorialhttp://electroiq.com/blog/2010/11/introduction-to-mems-gyroscopes/http://electroiq.com/blog/2010/11/introduction-to-mems-gyroscopes/http://electroiq.com/blog/2010/11/introduction-to-mems-gyroscopes/https://github.com/ptrbrtz/razor-9dof-ahrs/wiki/Tutorial -
5/26/2018 Reporte Investigacin_Sebastin Cruz
16/23
[5]Welch, G., Bishop, G. An Introduction to the Kalman Filter. Department of Computer Science.
University of North Carolina at Chapel Hill. July 24, 2006.
[6] Woodman, O. Technical Report: An introduction to inertial navigation. University of Cambridge.
UCAM-CL-TR-696, ISSN 1476-2986.
[7]Vukmirica, V., Trajkovki, I., Asanovic, N. Two Methods for the Determination of Inertial Sensor
Parameters. Scientiic Technical Review, 2010, Vol 60., No 3-4, pp. 27-33.
[8]Hopcroft,M. Allan Variances in Matlab.
http://www.mathworks.com/matlabcentral/fileexchange/13246-allan
[9]Herrera, A. Microacelermetros para la industria automotriz.
http://www.uv.mx/cienciahombre/revistae/vol22num2/articulos/microace/index.html
ANEXO A. Razor IMU 9DOF
La unidad de medicin inercial Razor, incorpora 3 sensores:
3 giroscopios ITG-3200 (uno por cada eje). 3 acelermetros ADXL345 (uno por cada eje). 3 magnetmetros HMC5883L (uno por cada eje).
Esto nos permite 9 grados de medicin inercial. Las salidas de todos los sensores son
procesadas por el microcontrolador ATmega328. Un sistema de AHRS (attitude heading
reference system) ya ha sido diseado para esta tarjeta y ser usado para los propsitos
de esta investigacin.
Instalacin del Software
1. Descargar el AHRS firmware de la siguiente direccin:http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Sensors/IMU/SF9DOF_AHRS.zip
2. Desde el IDE de Arduino, abrir el archivo Rrazor_AHRS.pde (Arduino/Razor_AHRS/Rrazor_AHRS.pde).
3. En la seccin USER SETUP AREA descomentar #define HW__VERSION_CODE 10736, lacual corresponde a nuestra versin del IMU.
http://www.mathworks.com/matlabcentral/fileexchange/13246-allanhttp://www.mathworks.com/matlabcentral/fileexchange/13246-allanhttp://www.uv.mx/cienciahombre/revistae/vol22num2/articulos/microace/index.htmlhttp://www.uv.mx/cienciahombre/revistae/vol22num2/articulos/microace/index.htmlhttp://dlnmh9ip6v2uc.cloudfront.net/datasheets/Sensors/IMU/SF9DOF_AHRS.ziphttp://dlnmh9ip6v2uc.cloudfront.net/datasheets/Sensors/IMU/SF9DOF_AHRS.ziphttp://www.uv.mx/cienciahombre/revistae/vol22num2/articulos/microace/index.htmlhttp://www.mathworks.com/matlabcentral/fileexchange/13246-allan -
5/26/2018 Reporte Investigacin_Sebastin Cruz
17/23
4. Ir a ToolsBoard y seleccionar la tarjeta Arduino Pro or Pro Mini (3.3V, 8mhz)w/ATmega328. Con esto ser suficiente para poder cargar el firmware a la tarjeta.
Calibracin de los sensores
Calibrar los sensores es fundamental para poder reducir los errores que por naturaleza tienen
estos. El firmware que se descarg anteriormente, nos permite calibrar los valores de los 9
sensores con los que contamos.
Calibracin del Acelermetro
1. Conectar el IMU a la computadora y descargar el firmware. Poner atencin al seleccionarel puerto serial correcto.
2. Abrir cualquier monitor serial, puede ser el del Arduino. Enviar #oc el cual nos permiteentrar al modo de calibracin. La salida que se deber mostrar ser de la siguiente forma:
accel x,y,z (min/max) = -5.00/-1.00 25.00/29.00 225.00/232.00
3. Aqu lo que se intenta es encontrar los valores mximo y mnimos de la lectura que puedetener el acelermetro en cada uno de los ejes.
4. Mueva lentamente el IMU en cada uno de los ejes y observe el valor mximo o mnimo.Debido a la sensiblidad de los acelermetros, es muy importante que lo realice muy
lentamente y varias veces; para volver a realizar una medicin debe simplemente enviar
#oc.
-
5/26/2018 Reporte Investigacin_Sebastin Cruz
18/23
5. Escribir los valores en la pestaa de programacin RAZOR_AHRS_ar, en la zona deSENSOR CALIBRATION.
Calibracin del Giroscpio
1. Dejar el IMU sobre una superficie estable.2. Abrir cualquier monitor serial, puede ser el del Arduino. Activar el modo de calibracin #oc
y enviar #on el cual lo lleva al siguiente sensor
3. Esperar 10 segundos sin mover el IMU. El programa calcula el promedio de ruido de cadauno de los giroscopios.
4. La salida se debe ver como:gyro x,y,z (current/average) = -29.00/-27.98 102.00/100.51 -5.00/-5.85
5. Escribir los valores en la pestaa de programacin RAZOR_AHRS_ar, en la zona deSENSOR CALIBRATION.
Calibracin del magnetmetro
1. Abrir y correr en Processing el archivo Margnetometer_calibration. Es necesario tenerinstalada la librera EJML.
2. Rotar el sensor de tal forma que se cubran todas las orientaciones, produciendo puntosque cubran en su mayora a la esfera.
-
5/26/2018 Reporte Investigacin_Sebastin Cruz
19/23
3. Presionar la barra espaciadora y en la consola de Processing aparecern una serie delneas de cdigo, las cuales se debern colocar en la seccin de calibracin extendida del
magnetmetro.
La calibracin de los sensores nos permite principalmente:
Corregir escalas errneas que puedan llegar a tener. De esta manera todos los ejespueden deben ser consistentes.
Corregir zero offsets cuando la tarjeta est esttica.
-
5/26/2018 Reporte Investigacin_Sebastin Cruz
20/23
ANEXO B.Para los propsitos de la manipulacin de datos, es necesario que la unidad inercial nos entregue
la informacin de los ngulos de Yaw, Pitch y Roll, adems de la aceleracin medida con cada uno
de los acelermetros. En la programacin, en la pestaa de OutPut, debemos realizar las
modificaciones que se observan en la siguiente imagen.
La obtencin de los datos por serial a travs de MatLab se muestra a continuacin:
-
5/26/2018 Reporte Investigacin_Sebastin Cruz
21/23
-
5/26/2018 Reporte Investigacin_Sebastin Cruz
22/23
ANEXO C.
-
5/26/2018 Reporte Investigacin_Sebastin Cruz
23/23
ANEXO D.