Reporte Investigación_Sebastián Cruz

download Reporte Investigación_Sebastián Cruz

of 23

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.