trabajodediploma - dspace.uclv.edu.cu

66
Universidad Central “Marta Abreu” de Las Villas Facultad de Ingenier´ ıa El´ ectrica Departamento de Autom´ atica y Sistemas Computacionales TRABAJO DE DIPLOMA Implementaci´on de algoritmos para la obtenci´ on de ´ angulos de orientaci´on Autor: Omar Alejandro D´ ıaz D´ ıaz Tutor: Ms. C. Delvis Garc´ ıa Garc´ ıa Santa Clara 2015 ”A˜ no 57 de la Revoluci´ on”

Upload: others

Post on 21-Jul-2022

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Universidad Central “Marta Abreu” de Las Villas

Facultad de Ingenierıa Electrica

Departamento de Automatica y Sistemas Computacionales

TRABAJO DE DIPLOMA

Implementacion de algoritmos para la obtencion deangulos de orientacion

Autor: Omar Alejandro Dıaz Dıaz

Tutor: Ms. C. Delvis Garcıa Garcıa

Santa Clara

2015

”Ano 57 de la Revolucion”

Page 2: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Universidad Central “Marta Abreu” de Las Villas

Facultad de Ingenierıa Electrica

Departamento de Automatica y Sistemas Computacionales

TRABAJO DE DIPLOMA

Implementacion de algoritmos para la obtencion deangulos de orientacion

TRABAJO DE DIPLOMA presentado en opcion al Tıtulo Academico de

Ingeniero en Automatica

Autor: Omar Alejandro Dıaz Dıazemail: [email protected]

Tutor: Ms. C. Delvis Garcıa GarcıaAsistente

Dpto. de Automatica, Facultad de Ing. Electrica, UCLV

email: [email protected]

Santa Clara

2015

”Ano 57 de la Revolucion”

Page 3: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

PENSAMIENTO

“El exito parece depender en gran medida de persistir en algo despues de que otros han

dejado de hacerlo.”

William Feather

Page 4: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

DEDICATORIA

A mis padres y demas familiares

por su apoyo y por lo que han logrado hacer de mi persona.

Al claustro de profesores de la Facultad de Electrica

por su apoyo sincero e incondicional.

i

Page 5: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

AGRADECIMIENTOS

A todas las personas que de una forma u otra han hecho posible la culminacion de este

trabajo, mis mas sinceros agradecimientos.

Santa Clara, Cuba, 2015

ii

Page 6: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

RESUMEN

Los sensores inerciales basados en tecnologıa MEMS (Sistemas Micro Electro-Mecanicos)

han alcanzado gran popularidad en los ultimos anos ya que brindan grandes ventajas con

respecto a costo y tamano. Pero su desventaja es que necesitan de un software para el

acondicionamiento de sus mediciones. Para Cuba es de gran importancia economica poder

contar con esta tecnologıa aplicada a la creacion de un Sistema de Referencia de Actitud

y Rumbo. Basandose en lo anterior el objetivo de este trabajo es desarrollar un algoritmo

para calcular la orientacion de un objeto utilizando sensores inerciales de bajo costo.

Primeramente se habla sobre los Sistemas de Navegacion Inercial y los sensores inerciales

MEMS. Luego se exponen algunos algoritmos utilizados para el calculo de la actitud. Mas

tarde se muestran los algoritmos seleccionados, los cuales son un Filtro Complementario

y un Filtro de Kalman. Despues se exponen las deficiencias del sistema desarrollado y su

costo computacional. Por ultimo se hace un analisis economico del proyecto.

Se realizaron numerosas pruebas reales para la validacion de los algoritmos implementados

demostrando sus buenos resultados y eficacia, siendo estos en ocasiones superiores a los

obtenidos con un hardware de alto nivel y costo.

iii

Page 7: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

TABLA DE CONTENIDO

Pagina

PENSAMIENTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

DEDICATORIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i

AGRADECIMIENTOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii

RESUMEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii

Indice de tablas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi

Indice de figuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii

INTRODUCCION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1. ESTUDIO SOBRE EL HARDWARE Y EL SOFTWARE UTILIZADO ENLOS INS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.2. Sistema de Navegacion Inercial . . . . . . . . . . . . . . . . . . . . . . . 6

1.3. Sensores Inerciales MEMS . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.3.1. Acelerometros . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.3.2. Giroscopos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.3.3. Magnetometros . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.4. Hardware utilizado en los Sistemas de Navegacion Inercial . . . . . . . 13

1.5. Algoritmos utilizados en los Sistemas de Navegacion Inercial . . . . . . 14

1.5.1. Consideraciones relacionadas con la complejidad computacional . 16

1.6. Consideraciones finales del capıtulo . . . . . . . . . . . . . . . . . . . . 16

2. DISENO DEL HARDWARE Y EL PROTOCOLO DE COMUNICACION . . 18

2.1. Introduccion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.2. Diseno del Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.2.1. dsPIC30F3014 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

iv

Page 8: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

2.2.2. MAX232 Dual EIA-232 Drivers/Receivers . . . . . . . . . . . . . 22

2.2.3. MTi-G - miniature GPS/INS . . . . . . . . . . . . . . . . . . . . 23

2.3. Protocolo de Comunicacion . . . . . . . . . . . . . . . . . . . . . . . . 26

2.4. Comunicacion entre la MTi-G, el dsPIC y la PC . . . . . . . . . . . . . 27

2.5. Consideraciones finales del capıtulo . . . . . . . . . . . . . . . . . . . . 27

3. VALIDACION DE LOS RESULTADOS DE LA IMPLEMENTACION ENTIEMPO REAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.2. Procedimientos de inicializacion . . . . . . . . . . . . . . . . . . . . . . 29

3.2.1. Calculo de la orientacion inicial . . . . . . . . . . . . . . . . . . 30

3.3. Filtro Complementario . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.3.1. Ajuste del Filtro Complementario . . . . . . . . . . . . . . . . . 34

3.3.2. Estimacion de actitud mediante el Filtro Complementario . . . . 34

3.4. Filtro de Kalman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3.4.1. Filtro de Kalman basado en modelo cinematico lineal . . . . . . 38

3.4.2. Procedimiento de sintonizacion . . . . . . . . . . . . . . . . . . . 39

3.5. Resultados de la implementacion real . . . . . . . . . . . . . . . . . . . 41

3.5.1. Ejemplo 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3.5.2. Ejemplo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3.5.3. Obtencion del Rumbo . . . . . . . . . . . . . . . . . . . . . . . . 42

3.5.4. Uso del Filtro de Kalman . . . . . . . . . . . . . . . . . . . . . . 44

3.5.5. Ejecucion del algoritmo . . . . . . . . . . . . . . . . . . . . . . . 45

3.6. Analisis Economico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

3.7. Consideraciones finales del capıtulo . . . . . . . . . . . . . . . . . . . . 48

CONCLUSIONES Y RECOMENDACIONES . . . . . . . . . . . . . . . . . . . . . 49

ANEXOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

A. Descripcion de los principales pines del DsPic30F3014: . . . . . . . . . . . . . 55

v

Page 9: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Indice de tablas

Tabla Pagina

1–1. Ventaja y desventaja de cada clasificacion. . . . . . . . . . . . . . . . . . . 9

2–1. Principales caracterısticas del dsPIC30F4013. . . . . . . . . . . . . . . . . . 21

2–2. Niveles de voltaje TIA/EIA-232-F y TTL/CMOS. . . . . . . . . . . . . . . 22

2–3. Configuracion por defecto de la MTi-G. . . . . . . . . . . . . . . . . . . . . 25

2–4. Campos del mensaje de la MT. . . . . . . . . . . . . . . . . . . . . . . . . . 26

3–1. Valores estadısticos del error de estimacion para cada angulo. . . . . . . . . 42

3–2. Valores estadısticos del error de estimacion para cada angulo en la segundaprueba. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3–3. Valores estadısticos del error de estimacion para cada angulo. . . . . . . . . 45

3–4. Tiempos de ejecucion en tiempo real. . . . . . . . . . . . . . . . . . . . . . 46

3–5. Costos de los componentes utilizados. . . . . . . . . . . . . . . . . . . . . . 47

A–1. Descripcion de los principales pines del DsPic30F3014. . . . . . . . . . . . . 55

vi

Page 10: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Indice de figuras

Figura Pagina

1–1. Sistema de Navegacion Inercial. . . . . . . . . . . . . . . . . . . . . . . . . . 6

1–2. Suspension cardanica de una plataforma giroestabilizada. . . . . . . . . . . . . 7

1–3. Navegacion strapdown bidimensional. . . . . . . . . . . . . . . . . . . . . . . 8

1–4. Vista del acelerometro ADXL203 montado en una placa. . . . . . . . . . . . . 11

1–5. Sistema de cardanes y giroscopo con dos grados de libertad. . . . . . . . . . . . 12

1–6. Funcionamiento de un giroscopo de tipo diapason. . . . . . . . . . . . . . . . . 12

1–7. Filtro complementario formado por filtro pasa-bajos para acelerometro y filtro

pasa-altos para giroscopo. . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2–1. Diagrama del hardware utilizado y la comunicacion entre sus componentes. . . . 19

2–2. Diagrama de pines (40-Pin PDIP). . . . . . . . . . . . . . . . . . . . . . . . . 20

2–3. Circuito de operacion tıpico de la MAX232. . . . . . . . . . . . . . . . . . . . 23

2–4. Encapsulado de la MAX232. . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2–5. MTi-G - miniature GPS/INS. . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2–6. Arquitectura de la MTi-G . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2–7. Estructura del mensaje de la MT. . . . . . . . . . . . . . . . . . . . . . . . . 25

2–8. Campo de datos de la MTi-G configurado para este trabajo. . . . . . . . . . . . 26

2–9. Paquete de datos enviado desde el dsPIC hacia la Pc. . . . . . . . . . . . . . . 27

3–1. Procedimientos preliminares para determinar actitud. . . . . . . . . . . . . . . 31

3–2. Sistema de coordenadas empleado. . . . . . . . . . . . . . . . . . . . . . . . . 32

3–3. Orientacion Inicial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

vii

Page 11: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

3–4. Diagrama del Filtro de Balanceo. . . . . . . . . . . . . . . . . . . . . . . . . . 33

3–5. Algoritmo de filtrado de Kalman. . . . . . . . . . . . . . . . . . . . . . . . . 36

3–6. Resultados de la estimacion de orientacion. . . . . . . . . . . . . . . . . . . . 41

3–7. Resultados de la estimacion de orientacion en otra prueba. . . . . . . . . . . . 42

3–8. Cambios en el rumbo ante disturbios de los magnetometros. . . . . . . . . . . . 43

3–9. Comparacion de la estimacion al ser estabilizada luego de variaciones rapidas. . 43

3–10.Salida filtrada de las mediciones de los giroscopos de una trama estatica. . . . . 44

3–11.Salida filtrada de las mediciones de los giroscopos de una trama dinamica. . . . 44

3–12.Convergencia de la ganancia del filtro para las mediciones de los giroscopos esti-

madas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

viii

Page 12: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

INTRODUCCION

El desarrollo de los Sistemas de Navegacion Inercial (en ingles INS, Inertial Navigation

Systems) ha ido en incremento desde hace algunos anos esto se debe al mejoramiento de

las tecnologıas de fabricacion de los sensores empleados y de las unidades de computo. Los

sensores empleados en los sistemas de navegacion son los denominados sensores inerciales

ya que los mismos miden variables fısicas con respecto a un sistema de referencia inercial

tales como aceleracion lineal y velocidad angular. Con estas mediciones primarias se pue-

den determinar los parametros necesarios para un sistema de navegacion basico; dıgase

posicion, velocidad y orientacion (Gimenez, 2010; Bror-Valdemar, 2003).

Se ha evidenciado un incremento en la demanda de los INS de pequeno tamano y bajo costo

(Weston, 2004). Estos se usan en diversas aplicaciones que van desde los sistemas persona-

les de navegacion, hasta la navegacion asistida para automoviles y vehıculos autonomos.

Los avances de las tecnologıas de fabricacion de sensores inerciales empleados en estos sis-

temas ofrecen ventajas por encima de las convencionales, se evidencian en desarrollos tales

como los giroscopos de fibra optica (en ingles FOG, Fiber Optic Gyroscopes) y los micro-

sistemas electromecanicos (en ingles MEMS, Microminiature Electromechanical Systems),

que muestran un desarrollo prometedor de los INS.

Estos sistemas MEMS son una integracion de elementos mecanicos, electronicos, sensores,

y actuadores en un substrato comun, los cuales recogen informacion respecto al ambien-

te por mediciones mecanicas, termicas, opticas y por fenomenos magneticos, ademas son

miniaturizados, de bajo costo, poco consumo de potencia, y basados en silicio (Aggarwal,

2010). La tecnologıa MEMS representa un area progresiva de la electrica, la mecanica,

la biomedica, la aviacion y la industria automotriz, ademas permite el reemplazo de los

convencionales dispositivos mecanicos voluminosos por una fraccion del costo, con mayor

durabilidad y bajo consumo de potencia.

A diferencia de los sistemas de gran costo, los INS con estas tecnologıas de bajo costo ex-

perimentan grandes errores en el calculo de los parametros de posicionamiento y actitud

en intervalos de tiempo relativamente pequenos como se menciono anteriormente (Artese,

1

Page 13: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Introduccion 2

2008). Esto se debe principalmente a las grandes incertidumbres en las mediciones de estos

sensores, lo que resulta sumamente vulnerable a comportamientos no deseados e inesta-

bilidades, especialmente cuando los parametros de actitud divergen rapidamente (Shin,

2001). Para reducir estos errores provenientes de las mediciones de los sensores de bajo

costo se tienen que llevar a cabo distintos metodos de calibracion, filtrado y correccion y

ası, mejorar el desempeno general del sistema.

Un ejemplo de los metodos empleados para la correccion es el Filtro de Kalman, que es

el algoritmo mas utilizado en los INS debido a los excelentes resultados que provee ya

que es un metodo optimo, sin embargo el mismo es computacionalmente intensivo, ma-

tematicamente inestable y el proceso de sintonizacion y puesta a punto, es en muchas

ocasiones demasiado engorroso ya que requiere la realizacion de pruebas experimentales

(Ferrer, 2009).

En los ultimos anos en el Grupo de Automatizacion, Robotica y Percepcion (GARP) de la

UCLV se han venido desarrollando algunas tecnicas y algoritmos de navegacion, los cuales

han sido evaluados mediante simulacion en MATLAB. En este punto se hace necesario

poder contar con una implementacion real que explote todas las potencialidades que pue-

da brindar un controlador de interrupciones programables para procesado de senales (en

ingles dsPIC) con los que cuenta el grupo mencionado. El presente trabajo de diploma

por consiguiente abarca la implementacion en lenguaje C de los algoritmos desarrollados

en MATLAB, los cuales deben ser programados en el hardware real y validados en tiempo

real. El anteriormente mencionado GARP de la Universidad Central ”Martha Abreu”de

Las Villas es uno de los pioneros en la explotacion de las tecnologıas MEMS, al incluirlas en

los distintos proyectos de vehıculos autonomos actualmente en desarrollo. En los diferentes

vehıculos en los que investiga el GARP se han evaluado distintas variantes de hardware. De

esta forma se evaluo un hardware basado en dsPIC para el control del vehıculo autonomo

aereo NX606LS de Hobbico, con el cual se obtuvieron buenos resultados (Martınez, 2010).

Luego se experimento en el mismo avion con una variante de arquitectura de hardware

basado en Smartphone debido a la utilizacion que vienen teniendo los dispositivos moviles

en este tipo de aplicaciones (Fons, 2012). Por otra parte en el vehıculo sumergible autono-

mo se utiliza un dsPIC para las tareas de control y guiado y una computadora industrial

para la comunicacion con la estacion remota y la adquisicion de datos de los sensores

Page 14: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Introduccion 3

de posicionamiento, debido a la complejidad de los algoritmos implementados (Martınez,

2013).

Debido a que todos los algoritmos seleccionados se han hecho en MATLAB y con datos of-

fline obtenidos de experimentos reales y ademas que se han adquirido sensores MEMS como

parte de un proyecto de colaboracion para sustituir las Unidades de Medicion Inercial (en

ingles IMU, Inertial Measurement Unit) empleadas hasta el momento y ası reducir costos.

Se desea implementar y probar en tiempo real el desempeno y la exactitud que pueden

tener los algoritmos de bajo nivel desarrollados hasta el momento utilizando dispositivos

de hardware de bajo costo. Por lo que se define el siguiente problema.

Problema cientıfico:

No se dispone de algoritmos para la obtencion de angulos de orientacion implementados

en un hardware real, de bajo costo, que brinden resultados satisfactorios y en donde se

atenuen eficientemente los errores provocados por las diferentes fuentes de disturbios que

afectan a este tipo de hardware.

Para la solucion del problema cientıfico mencionado se plantea la siguiente Hipotesis:

La implementacion en tiempo real de algoritmos de estimacion de las variables utilizadas

para la navegacion y control de vehıculos autonomos utilizando elementos de hardware de

bajo costo, contribuira al incremento del desempeno en el control de este tipo de vehıculos.

Una vez definida la hipotesis de este trabajo los objetivos de investigacion quedan ela-

borados como a continuacion se muestra:

Objetivo general :

Desarrollar un algoritmo para la obtencion de angulos de orientacion empleando sensores

inerciales de bajo costo.

Objetivos especıficos:

1. Realizar una revision bibliografica sobre el hardware necesario para un sistema de

navegacion basico.

2. Seleccionar los componentes de hardware a utilizar, entre ellos el dsPIC y los sensores

inerciales.

3. Disenar el hardware necesario basado en los componentes seleccionados.

4. Implementar los algoritmos de estimacion y acondicionamiento de mediciones en C.

Page 15: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Introduccion 4

5. Validar los algoritmos desarrollados en tiempo real.

6. Elaborar el informe final de la investigacion en donde se reflejen los resultados obte-

nidos.

Para el cumplimiento de los objetivos mencionados anteriormente se deben llevar a cabo

las siguientes tareas.

Tareas de investigacion:

1. Realizacion de una revision bibliografica que abarque los diferentes requerimientos de

hardware necesarios para un sistema de navegacion basico.

2. Seleccion de los componentes a utilizar entre ellos la unidad de procesamiento (dsPIC)

y la unidad sensorial y desarrollo del hardware.

3. Implementacion de los algoritmos de estimacion en C teniendo en cuenta la arquitec-

tura de hardware desarrollada.

4. Validacion de los algoritmos desarrollados en tiempo real.

5. Elaboracion del informe final de la investigacion en donde se reflejen los resultados

obtenidos.

Los resultados de esta investigacion poseen una aplicacion practica y teorica de gran

trascendencia para todos los especialistas, investigadores y disenadores vinculados a los

sistemas de navegacion inercial y la aplicacion a vehıculos autonomos que se basan para

su implementacion, en el empleo de dispositivos de bajo costo. Estos resultados seran

utilizados en los proyectos de autopiloto que desarrolla el GARP.

La utilizacion de algoritmos de filtrado y correccion de las mediciones de sensores inerciales

de bajo costo ofrecen muchas facilidades para el control y la navegacion de vehıculos

autonomos que se mueven en un entorno desconocido sin la supervision constante del

operador. Ademas esto viabiliza en gran medida la aplicacion de estas tecnologıas debido

a que las contrapartes de estos sensores con mayores prestaciones tienen un costo de 10

a 15 veces por encima. Una plataforma de este tipo ofrece ventajas considerables para

Cuba debido a la utilizacion en tareas de inspeccion, rescate y salvamento, entre otras.

Ademas, estos algoritmos seran implementados en un dsPIC, el cual posee facilidades para

el procesamiento de senales y ante todo presenta un costo muy bajo.

Page 16: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Introduccion 5

Estructura del Trabajo:

El informe de la investigacion consta de tres capıtulos, ademas de la introduccion, conclu-

siones, recomendaciones, referencias bibliograficas y anexos correspondientes. Los temas

que se abordan en la introduccion y en cada capıtulo se encuentran estructurados de la

forma siguiente:

Introduccion: Breve resena, antecedentes, problematica, hipotesis, objetivos y tareas, ademas

se define la importancia, actualidad y necesidad del tema que se aborda.

Capıtulo I: Se aborda el tema de los Sistemas de Navegacion Inercial y los sensores inclui-

dos en estos. Tambien se habla sobre el hardware utilizado en los INS y se selecciona el

adecuado para su uso en este trabajo. Por ultimo se exponen algunos algoritmos utilizados

para el calculo de la actitud y su complejidad computacional (Revision Bibliografica).

Capıtulo II: Se muestra el diseno de hardware seleccionado, la descripcion de cada compo-

nente y la interconexion entre estos. Tambien se discute sobre la comunicacion utilizada

para validar los resultados de los algoritmos implementados.

Capıtulo III: Se muestran las estrategias de filtrado y obtencion de la actitud implemen-

tadas y su basamento teorico-matematico. Asimismo se exponen los resultados concretos

de las pruebas de validacion y el desarrollo real del hardware disenado. Tambien se habla

de las limitaciones del sistema y el costo computacional de las estrategias implementadas.

Page 17: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Capıtulo 1

ESTUDIO SOBRE EL HARDWARE Y EL

SOFTWARE UTILIZADO EN LOS INS

1.1. Introduccion

En este capıtulo se realiza un acercamiento al tema de los Sistemas de Navegacion Inercial

(INS), los dos tipos existentes y sus principales ventajas y desventajas. Tambien se habla

sobre los sensores inerciales, acelerometros, magnetometros y giroscopos, sus diferentes

tipos y sus principios de funcionamiento pero haciendo enfasis en la tecnologıa MEMS.

Posteriormente se mencionan ejemplos del hardware utilizado por los INS basandose en

sus dos componentes principales, unidad de computo e IMU. Mas adelante se abordan los

principales algoritmos utilizados en los INS para el calculo de la actitud, su complejidad

computacional y por ultimo se dan unas breves conclusiones parciales de este capıtulo.

1.2. Sistema de Navegacion Inercial

Un INS consiste en una unidad de medida inercial que incluye los sensores ligados a una

plataforma comun para mantener las mismas orientaciones relativas y un ordenador para

procesar estas medidas o cualquier otro calculo (Ferrer, 2009).

Figura 1–1: Sistema de Navegacion Inercial.

6

Page 18: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Estudio sobre el hardware y el software utilizado en los INS 7

La navegacion inercial se basa en el posicionamiento relativo a partir de la integracion de las

aceleraciones medidas por los acelerometros y las velocidades angulares de los giroscopos

para determinar la direccion del recorrido. Al conjunto de sensores inerciales se le conoce

como IMU que, junto con las ecuaciones de mecanizacion, conforman un INS (Ramırez,

2003).

Generalmente los sistemas inerciales se clasifican en:

1. Sistemas con plataforma estabilizada (en ingles Gimballed): Una plataforma estabi-

lizada o plataforma inercial como se puede ver en la Figura 1–2 esta disenada para

mantener su orientacion respecto a un sistema de referencia dado, por lo cual, debe

poder rotar libremente en 3 dimensiones respecto a la estructura del vehıculo que la

alberga. De hecho, y dado que su orientacion permanece fija respecto al sistema de

referencia elegido, se puede decir que es el vehıculo el que rota libremente alrededor

de la plataforma (Espana, 2010).

Figura 1–2: Suspension cardanica de una plataforma giroestabilizada.

2. Sistemas con instrumentos fijos al vehıculo (en ingles Strapdown), como se observa

en la Figura 1–3: Sin plataforma, la terna de la IMU, en particular la de los ace-

lerometros, no esta alineada con la terna de referencia o de navegacion, por lo que es

necesario determinar analıticamente la orientacion relativa entre ambas ternas para

poder resolver la fuerza especıfica medida segun los ejes de la terna de navegacion. De

este modo, puede decirse que con esta tecnologıa, las complicaciones mecanicas son

sustituidas por mayores exigencias sobre los sensores inerciales y sobre la complejidad

de los algoritmos numericos (Weston, 2004).

Page 19: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Estudio sobre el hardware y el software utilizado en los INS 8

Figura 1–3: Navegacion strapdown bidimensional.

El sistema con plataforma estabilizada pretende aislar la plataforma con los sensores iner-

ciales de los movimientos de rotacion externos. Estas plataformas estan sujetas a un marco

rıgido que rota de tal manera que aısla el interior de la plataforma de rotaciones externas

con los ejes del cuerpo.

El sistema strapdown donde los ejes de los sensores estan alineados con los ejes del movil.

Necesita mayor capacidad de calculo ya que es necesario aislar virtualmente las medidas

de los sensores del sistema de referencia inercial Ferrer (2009).

Un sistema de navegacion inercial ejecuta las siguientes funciones:

Mide fuerzas especıficas.

Mide velocidades angulares.

Modela el campo gravitacional.

Integra las fuerzas especıficas para obtener la posicion y la velocidad.

La ecuacion fundamental de la navegacion inercial se deriva directamente de la segunda

ley de Newton.

d2rdt2

= C ibf + g

Donde r es el vector de posicion inercial, C ib es la matriz de transformacion desde el marco

del vehıculo al marco de referencia inercial, f es el vector fuerza especıfica total (registrada

por los acelerometros), y g es la aceleracion provocada por la gravedad. Esta ecuacion se

integra para obtener la velocidad y posicion, pero relativos al marco de referencia inercial

(Ramırez, 2003).

Page 20: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Estudio sobre el hardware y el software utilizado en los INS 9

Tabla 1–1: Ventaja y desventaja de cada clasificacion.

Plataforma estabilizada Plataforma fijaVentaja Desventaja Ventaja Desventaja

Calculos sim-ples porquesolo se nece-sita tener lastres compo-nentes de laaceleracion

Complejo enel aspectomecanicodebido a laregulacion dela plataforma

Simple en el aspectomecanico, ya que solose necesita de los sen-sores de aceleracion yvelocidad angular so-bre los ejes del objetomovil

Complejo en loscalculos ya que eneste caso se necesitano solamente de lastres componentesde la aceleracion,sino tambien de lastres componentes develocidad angular

Ventajas

Los sistemas de navegacion inercial han venido cobrando cada dıa mas fuerzas en nume-

rosas aplicaciones civiles, especialmente en los vehıculos de pequeno porte no tripulados.

Esto se debe a sus grandes ventajas:

Se traducen en una reduccion de los riesgos a la vida humana.

Son muchos mas baratos que sus homologos convencionales.

No precisan de infraestructura externa con lo que se logra una gran autonomıa, o sea,

no necesitan sensores adicionales.

No se ven afectados por problemas de visibilidad, por lo que son ideales para ambientes

angostos y oscuros.

Su estabilidad es elevada y presentan menor complejidad que los convencionales.

Poseen una presicion del orden de los centımetros, por lo que son recomendables para

las tareas de navegacion.

Desventajas

Cuentan con dos inconvenientes principales: en primer lugar, requieren una inicializacion

de gran exactitud para que las medidas obtenidas mediante estos sistemas sean correctas.

Por otro lado, el error en la medida de estos sistemas es elevado y acumulativo, por lo que

es necesario reinicializar o recalibrar periodicamente el sistema y/o combinarlo con otros

sistemas de posicionamiento (Regueiro, 2014).

Dentro de las principales fuentes de error en un sistema de navegacion inercial (INS) se

incluyen los errores de inicializacion y de alineamiento (Ramırez, 2003).

Page 21: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Estudio sobre el hardware y el software utilizado en los INS 10

1.3. Sensores Inerciales MEMS

Los sensores inerciales son utilizados para el estudio y analisis del movimiento, en base a las

variables de aceleracion, velocidad angular y campo magnetico que son obtenidas mediante

acelerometros, giroscopos y magnetometros respectivamente. Los Sistemas Micro Electro-

Mecanicos son aquellos que funcionan en base a componentes electronicos y mecanicos

miniaturizados, dando origen ası a dispositivos capaces de sensar y actuar a una escala

micrometrica (Pozo, 2010).

1.3.1. Acelerometros

Es un sensor que permite conocer la aceleracion estatica y dinamica que se produce al

realizarse un movimiento a lo largo del eje en el cual se este trabajando. Hay que tomar

muy en cuenta que un acelerometro no mide la aceleracion de la gravedad en sı, sino, que

mide una magnitud de aceleracion en general. Una caracterıstica especial que presenta el

acelerometro es que puede ser utilizado tambien como un sensor de inclinacion, para lo

cual se usa la aceleracion de la gravedad como un vector para determinar la orientacion

del objeto en el espacio (Santiago, 2000).

Para los acelerometros, las fuentes de error mas comunes son la temperatura, la acelera-

cion en los diferentes ejes, los efectos elasticos y de vibracion, los errores de alineacion,

los errores por los factores de escala, el ruido del sensor y el offset o bias del sensor (Shin,

2001; Guallichico, 2013).

Existen varios tipos de acelerometros dependiendo de como miden los valores de la acele-

racion:

Mecanico: Es el acelerometro mas simple. Se construye uniendo una masa a un di-

namometro cuyo eje esta en la misma direccion que la aceleracion que se desea medir.

Piezoelectrico: Es el mas comun. Este se basa en que, cuando se comprime un retıcu-

lo cristalino piezoelectrico, se produce una carga electrica proporcional a la fuerza

aplicada.

Efecto Hall: Utilizan una masa sısmica donde se coloca un iman y un sensor de efecto

Hall que detecta cambios en el campo magnetico.

Page 22: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Estudio sobre el hardware y el software utilizado en los INS 11

De condensador: Miden el cambio de capacidad electrica de un condensador mediante

una masa sısmica situada entre las placas del mismo, que al moverse hace cambiar la

corriente que circula entre las placas del capacitor.

MEMS: Estan basados en el traspaso termico, por conveccion natural. Estos disposi-

tivos miden cambios internos de la transferencia de calor causada por la aceleracion,

ofreciendo ventajas significativas sobre el empleo de una estructura tradicional solida

de masas de prueba. Ya que la masa de prueba en el diseno de los sensores MEMS

son moleculas de gas, las estructuras moviles mecanicas son eliminadas dentro del

acelerometro.

Figura 1–4: Vista del acelerometro ADXL203 montado en una placa.

1.3.2. Giroscopos

El giroscopo es un dispositivo que permite conocer como varıa un angulo en el tiempo,

mientras este se encuentra rotando (velocidad angular), con esto es posible determinar

la actitud del movil en el cual se encuentra montado. Los giroscopos antiguamente por

su tamano, peso y caracter mecanico tenıan limitadas aplicaciones, siendo esencialmente

utilizados en aplicaciones militares. Actualmente se esta haciendo uso de la tecnologıa

llamada MEMS, con lo cual el tamano y el peso de este tipo de dispositivos ya no es

mas un problema, dandoles gran versatilidad en cuanto a su uso, que puede ir desde

aplicaciones para estabilizacion de plataformas, ası como tambien en sistemas INS, siendo

esta aplicacion una de las mas importantes en la actualidad.

Las mediciones de estos sensores se afectan por la temperatura, la aceleracion en los

diferentes ejes, los errores de alineacion, los errores por los factores de escala, el ruido del

sensor, el offset o bias del sensor y los efectos magneticos (Colton, 2007).

Existen tres principios basicos de funcionamiento:

Page 23: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Estudio sobre el hardware y el software utilizado en los INS 12

Rotatorios: Este principio utiliza una masa rotando sobre un eje sostenido por uno

o varios cardanes (gimbals) dependiendo de los grados de libertad que se deseen, de

tal manera que la precesion sea mınima, manteniendo ası el eje estable y por tanto el

giroscopo apuntara siempre en la misma direccion. Cuando se produce un movimiento

en el sistema externo es posible observar el cambio en el angulo (Pozo, 2010).

Figura 1–5: Sistema de cardanes y giroscopo con dos grados de libertad.

Vibratorios: Se caracterizan por disponer de un elemento vibrante que al ser forzado

a rotar, es afectado por una fuerza de Coriolis que induce vibraciones secundarias

ortogonales a la vibracion original. La velocidad angular se obtiene en base a dichas

vibraciones (Espana, 2010).

Figura 1–6: Funcionamiento de un giroscopo de tipo diapason.

Opticos: Los giroscopos opticos usan el efecto Sagnac para detectar la rotacion a la

cual estan siendo sometidos. Cuando dos rayos de luz circulan en direcciones opuestas

dentro de un camino cerrado, el haz de luz que circula en la misma direccion de la

rotacion tarda mas tiempo en viajar que el haz de luz que va en sentido contrario, con

lo cual el angulo se puede obtener en base a la diferencia de camino que ven los dos

rayos que viajan en direcciones opuestas a lo largo del perımetro (Espana, 2010).

Page 24: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Estudio sobre el hardware y el software utilizado en los INS 13

1.3.3. Magnetometros

En los INS ademas de los acelerometros y los giroscopos se emplean tambien los mag-

netometros, que aunque no son considerados sensores inerciales, estos ofrecen mediciones

que se utilizan para la correccion de las primeras. Un magnetometro detecta el cambio

del campo magnetico aplicado a una muestra determinada, la medida depende mucho

de la ubicacion en la que se encuentre ası como de otros factores externos entre ellos el

mas importante la radiacion electromagnetica, emitida por antenas y equipos electronicos

(Guallichico, 2013).

Debido a que la medicion de estos sensores es a partir del campo magnetico de la Tierra,

el cual es muy debil, su afectacion viene dada por la cercanıa de motores electricos, vi-

braciones, o cualquier material ferroso que haga que varıe dicho campo, lo que provocarıa

una medicion erronea del sensor (Ramırez, 2003).

Los magnetometros se puede dividir en dos tipos basicos:

Magnetometros escalares: miden la fuerza total del campo magnetico al que estan

sometidos.

Magnetometros vectoriales: tienen la capacidad de medir el componente del campo

magnetico en una direccion particular.

1.4. Hardware utilizado en los Sistemas de Navegacion Inercial

Un INS usa un computador, sensores de movimiento (acelerometros) y sensores de rotacion

(giroscopos) para calcular continuamente la posicion, orientacion, y velocidad (direccion

y rapidez de movimiento) de un objeto en movimiento sin necesidad de referencias exter-

nas, como se puede observar en la Figura 1–1. Actualmente el hardware utilizado en estos

sistemas se basa en una unidad de computo basada en un microcontrolador, un micro-

procesador o una pc industrial, junto a una IMU que se compone de sensores tales como

giroscopos y acelerometros y en ocasiones un microprocesador y uno o varios magnetome-

tros. Usualmente se les anade un GPS para actualizaciones regulares debido a los errores

acumulativos que presentan estos sistemas.

Las unidades de computo usualmente utilizadas son PCs industriales de pequeno tamano,

PIC y dsPIC. En la bibliografıa consultada de los ultimos anos se encuentran varias,

algunos ejemplos son:

Page 25: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Estudio sobre el hardware y el software utilizado en los INS 14

Mother Board (Mini ITX) 7F2WE1G5D: utilizado en (Vilcahuaman, 2013) para im-

plementar un Filtro Extendido de Kalman en un modulo robotico CoroBot empleando

lenguaje C.

dsPIC30F4011: utilizado en (Pozo, 2014) para implementar un Filtro de Kalman y

estimar la orientacion de un vehıculo.

MBED: utilizado en (Guallichico, 2013) para implementar un Filtro Extendido de

Kalman en un INS tipo Strapdown aplicado a un autopiloto UAV .

Atmega328P: utilizado en (Concepcion, 2013) para implementar un Filtro de Kalman

en un vehıculo aereo no tripulado.

PIC 18F4520: utilizado en (Ferrer, 2009) para implementar un Filtro de Kalman en

un UAV para la integracion INS con GPS.

Las IMU utilizadas son muy diversas ya que existen muchos fabricantes en el mundo.

Algunos ejemplos son:

ATAVRSBIN1 y ATAVRSBIN2.

LSM303DLM.

6DOF DIGITAL.

5DOF.

IMU 6DOF Razor.

Atomic IMU 6 Degrees of Freedom - XBee Ready.

GG1320AN.

Los GPS utilizados tambien pueden ser varios. Algunos ejemplos son:

LS20031.

GPS A1035-H.

En dependencia de la arquitectura seleccionada; dıgase procesador y sensores sera el algo-

ritmo matematico que se pueda utilizar pues cada uno tiene requisitos distintos, los cuales

se examinan a continuacion.

1.5. Algoritmos utilizados en los Sistemas de Navegacion Inercial

Actualmente existen numerosos algoritmos para el calculo de la actitud y el posiciona-

miento de un AUV. Estos van desde muy sencillos (bajos requerimientos de computo)

Page 26: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Estudio sobre el hardware y el software utilizado en los INS 15

pero con grandes errores hasta muy complejos (altos requerimientos de computo) y exac-

tos. A continuacion se exponen algunos de estos:

Filtro Complementario: Filtro empleado para sistemas de navegacion inercial, se carac-

teriza por no considerar una descripcion estadıstica del ruido que afecta a las senales

de entrada y por ser obtenido mediante un analisis en el dominio de la frecuencia,

como se muestra en la Figura 1–7. El filtro complementario es sencillo de desarrollar

matematicamente y debido a su baja complejidad de implementacion consume pocos

recursos computacionales (Concepcion, 2013).

Figura 1–7: Filtro complementario formado por filtro pasa-bajos para acelerometro y filtro pasa-altos para giroscopo.

Filtro de Kalman Discreto: El Filtro de Kalman es una herramienta matematica que

permite estimar variables de un amplio rango de procesos. A diferencia del filtro

complementario, este filtro tiene mayor complejidad matematica y consume mayores

recursos computacionales. Los filtros de Kalman son probablemente la tecnica mejor

estudiada para la implementacion de los filtros gaussianos. Fueron disenados para

tareas de filtrado y prediccion en sistemas gaussianos lineales. Su variante discreta

aborda el problema de estimar el estado de un proceso de tiempo discreto. Para

emplearlo y eliminar el ruido de la senal deseada, el proceso medido debe describirse

como un sistema lineal (Fons, 2012).

Filtro extendido de Kalman: Para que el Filtro de Kalman pueda funcionar correcta-

mente es crucial que el nuevo estado sea una funcion lineal del estado previo. Esto se

basa en el hecho que cualquier transformacion lineal de una variable aleatoria gaussia-

na resulta en otra variable aleatoria gaussiana. Desafortunadamente, las transiciones

de estado y las medidas son raramente lineales en la practica. El filtro extendido de

Kalman (EKF en sus siglas en ingles) permite ignorar este obstaculo asumiendo que

Page 27: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Estudio sobre el hardware y el software utilizado en los INS 16

la probabilidad de transicion de estados y la probabilidad de medida son regidas por

funciones no lineales (Vilcahuaman, 2013).

1.5.1. Consideraciones relacionadas con la complejidad computacional

Cuando se habla de complejidad computacional se hace referencia a la complejidad inhe-

rente a la resolucion de un problema computable. Los recursos comunmente estudiados

son el tiempo mediante una aproximacion al numero y tipo de pasos de ejecucion de un

algoritmo para resolver un problema y el espacio mediante una aproximacion a la cantidad

de memoria utilizada para resolver un problema. Los problemas que tienen una solucion

con orden de complejidad lineal son los problemas que se resuelven en un tiempo que se

relaciona linealmente con su tamano. Los sistemas de computo de hoy en dıa resuelven

problemas mediante algoritmos que tienen como maximo una complejidad computacional

polinomica lo que significa que la relacion entre el tamano del problema y su tiempo de

ejecucion es polinomica.

Cuando el tiempo de ejecucion de un algoritmo es menor que un cierto valor calculado

a partir del numero de variables implicadas usando una formula polinomica, se dice que

dicho algoritmo se puede resolver en un tiempo polinomico (Chavez, 2014). El Filtro Com-

plementario es un algoritmo sencillo, que minimiza el gasto computacional, aunque brinda

resultados satisfactorios para aplicaciones en las que aparecen aceleraciones variables. El

Filtro de Kalman es un algoritmo de procesado de datos, optimo y recursivo (Pozo, 2014),

este es el mas utilizado en los INS debido a sus excelentes resultados, pero posee un gasto

computacional elevado y requiere de un hardware potente.

1.6. Consideraciones finales del capıtulo

En este capıtulo se mostraron algunas de las alternativas de hardware utilizadas en INS,

ası como los algoritmos preferidos para procesar la informacion de los sensores. Al analizar

los requisitos computacionales de cada uno de estos algoritmos y teniendo como base

varias referencias, se llega a la conclusion de que si se puede concebir una arquitectura de

hardware basada en dsPIC para implementar una variante de INS primaria que opere en

tiempo real. Por lo tanto se pretende en el resto del trabajo mostrar la implementacion de

un INS desarrollado como parte de una tesis de grado del pasado curso, en un dsPIC y

Page 28: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Estudio sobre el hardware y el software utilizado en los INS 17

ademas utilizando una alternativa sensorial de bajo costo distinta a las utilizadas hasta el

momento en los proyectos que desarrolla el GARP .

Page 29: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Capıtulo 2

DISENO DEL HARDWARE Y EL PROTOCOLO

DE COMUNICACION

2.1. Introduccion.

En este capıtulo se expone una caracterizacion detallada de cada uno de los componentes de

hardware utilizados, ası como la interconexion entre los mismos y sus configuraciones. Del

dsPIC30F3014 se observa una descripcion de sus principales caracterısticas, el diagrama de

pines del encapsulado 40-Pin PDIP y una tabla con la funcion de los principales pines del

dsPIC. Por otra parte se muestra tambien la utilizacion de la unidad MAX232 como parte

fundamental en el protocolo de comunicacion del micro con la unidad inercial. Finalmente

en el capıtulo se describe la arquitectura y el protocolo de comunicacion de la IMU MTi-G

utilizada, y por ultimo se explica detalladamente la comunicacion entre los componentes

de hardware, incluyendo la capa de hardware y la capa de software de esta. Establecer una

adecuada comunicacion con el sensor y conversion de los datos resulta una tarea de vital

importancia para posteriormente poder realizar el acondicionamiento de las mediciones y

la implementacion del algoritmo propuesto.

2.2. Diseno del Hardware

Los requerimientos de hardware para el presente trabajo son los siguientes:

Un microcontrolador lo suficientemente rapido como para correr los algoritmos se-

leccionados, que posea dos modulos UART, al memos un temporizador y suficiente

memoria RAM y ROM para almacenar estos algoritmos.

Un MAX232 con dos canales serie para la comunicacion con el sensor y con el exterior.

Una fuente de voltaje estabilizada de 5V.

18

Page 30: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Diseno del hardware y el Protocolo de Comunicacion 19

Figura 2–1: Diagrama del hardware utilizado y la comunicacion entre sus componentes.

2.2.1. dsPIC30F3014

El dsPIC30F3014 es un microcontrolador (en ingles microcontroller unit, MCU) de 16 bits

de tipo computador con conjunto de instrucciones reducidas (en ingles reduced instruction

set computer, RISC), contiene tambien un bloque de hardware especializado en el proce-

samiento digital de senales (en ingles DSP engine) que permite realizar multiplicaciones

a alta velocidad de 17-bit x 17-bit. Posee un espacio de memoria flash de 48KBytes con

registros de 24bits para 84 instrucciones base, ademas de 1KByte de memoria EEPROM

y 2KBytes en memoria RAM, en cuanto a interrupciones puede manejar 30 fuentes de

interrupciones con 8 niveles de prioridad elegibles para cada una. Al ser un microcontro-

lador con tecnologıa CMOS tiene un bajo consumo de energıa, con un rango de operacion

de 2,5V a 5V de alimentacion y -40 ◦C a 125 ◦C de temperatura de trabajo. En el caso

de los pines configurados ya sea como entrada o como salida estos pueden manejar una

corriente de hasta 25mA (Technology, 2010). En el Anexo A se muestra una tabla con la

descripcion de los principales pines del dsPIC.

CPU RISC modificada de alto rendimiento:

Compilador C optimizado para la Arquitectura del Set de instrucciones.

Modos de direccionamiento flexibles.

83 Instrucciones bases.

Ancho de instrucciones 24-bit, Bus de datos 16-bit.

Hasta 48 KBytes de espacio de programa en Flash On-Chip.

Page 31: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Diseno del hardware y el Protocolo de Comunicacion 20

Figura 2–2: Diagrama de pines (40-Pin PDIP).

2 KBytes de RAM de datos On-Chip.

1 KByte de memoria EEPROM no volatil.

16 x 16-bit Arreglos de registros de trabajo.

Hasta 30 MIPS (del ingles Millions Instructions Per Second, en espanol Millones de

Operaciones Por Segundo):

• DC para entrada externa de reloj de 40MHz.

• Entrada del oscilador de 4MHz-10MHz con activacion PLL (4x, 8x, 16x).

Hasta 33 fuentes de interrupciones

Caracterısticas Secundarias:

Hasta cinco Temporizadores/Contadores de 16-bit

• Temporizadores de 16-bit dentro de Modulos Temporizadores de 32-bit

Hasta cuatro funciones de captura de entrada de 16-bit

Modulo SPI de 3 hilos (soporta 4 modos)

Modulo I2C soporta modo Multi Maestro/Esclavo y direccionamiento 7-bit/10-bit

Hasta dos Modulos Direccionables UART con Buffers FIFO

Caracterısticas Analogicas:

Convertidor Analogico a Digital (por sus siglas en ingles ADC) con:

• Tasa de conversion de 200 miles de muestras por segundo (por sus siglas en ingles

ksps)

• Hasta 13 canales de entrada

Page 32: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Diseno del hardware y el Protocolo de Comunicacion 21

• Conversion disponible durante modo sueno y modo inactivo.

Caracterısticas Especiales del Microcontrolador:

Memoria Flash de Programa Ampliada:

• 10,000 ciclos de borrado/escritura (mınimos) para rangos de temperatura indus-

trial, 100K (tıpicos)

Memoria de datos EEPROM:

• 10,000 ciclos de borrado/escritura (mınimos) para rangos de temperatura indus-

trial, 1M (tıpicos)

Proteccion de codigo programable

Programacion Serial In-Circuit (ICSP)

Modos de manejo de potencia seleccionables:

• Modos de reloj alternado, sueno e inactivo

Tabla 2–1: Principales caracterısticas del dsPIC30F4013.

CARACTERISTICA DESCRIPCIONTipo de arquitectura Hardvard modificada de 16 bitsVelocidad CPU Hasta 30 MIPSMemoria de programaFlash

24 KBytes

Memoria RAM 2048 BytesMemoria de datos EE-PROM

1024 Bytes

Temperatura de opera-cion

-40 a 125 grados Celcius

Fuente de voltaje 2.5 - 5.5VEncapsulados PDIP 40 pines QFN 44 pines TQFP 44 pinesNumero de ConversoresA/D

13 de 12 bits a maximo 200 Ksps

Interfaces de comunica-cion

UART : 2 SPI : 1 I2C : 1 PWM : 4

Temporizadores 3 de 16 bitsCiclos de lectu-ra/escritura

Flash: 10000 EEPROM: 100000

Consumo de corriente Activo: maximo 250 mA normal 110 mA Idle: maximo75 mA normal 35 mA Sleep: maximo 10 mA

Page 33: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Diseno del hardware y el Protocolo de Comunicacion 22

2.2.2. MAX232 Dual EIA-232 Drivers/Receivers

El MAX232 es un circuito integrado de la empresa Maxim, como se puede observar en la

figura 2–4, que convierte las senales de un puerto serie RS-232 a senales compatibles con

los niveles TTL de circuitos logicos. Sirve como interfaz de transmision y recepcion para

las senales RX, TX, CTS y RTS.

Tabla 2–2: Niveles de voltaje TIA/EIA-232-F y TTL/CMOS.

Tipo de lınea RS232 y Nivel logico Voltaje RS232 Voltaje TTL hacia odesde el MAX232

Transmision de datos (Rx/Tx) Nivel logico0

+3 V a +15 V 0 V

Transmision de datos (Rx/Tx) Nivel logico1

-3 V a -15 V 5 V

Senales de control (RTS/CTS/DTR/DSR)Nivel logico 0

-3 V a -15 V 5 V

Senales de control (RTS/CTS/DTR/DSR)Nivel logico 1

+3 V a +15 V 0 V

Este dispositivo incluye un generador capacitivo de voltaje para alimentar niveles de volta-

je del TIA/EIA-232-F desde una sola fuente de 5V. Cada receptor convierte las entradas

TIA/EIA-232-F a niveles de 5V TTL/CMOS. Estos receptores tienen umbral tıpico de

1.3V, una histeresis de 0.5V, y pueden aceptar entradas de ±30V. Cada driver convierte

los niveles de entrada TTL/CMOS a niveles TIA/EIA-232-F (Instruments, 2004). En la

figura 2–3 se puede ver su circuito de operacion.

Reconoce la Norma TIA/EIA-232-F y la Recomendacion V.28 de la ITU

Opera con una sola fuente de 5V con capacitores Charge-Pump de 1.0 uF

Opera hasta 120 kbit/s

Dos drivers y dos receptores (dos canales)

Niveles de entrada de ±30V

Baja corriente de reserva 8mA tıpica

ESD Protection Exceeds JESD 22

Modelo del cuerpo 2000-V Human (A114-A)

Mejora con ESD optimizados ( 15kV HBM) y 1.0uF capacitores Charge-Pump esta dis-

ponible con la MAX202

Page 34: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Diseno del hardware y el Protocolo de Comunicacion 23

Aplicaciones: TIA/EIA-232-F, sistemas de alimentacion, terminales, modems y compu-

tadoras.

Figura 2–3: Circuito de operacion tıpico de la MAX232.

Figura 2–4: Encapsulado de la MAX232.

2.2.3. MTi-G - miniature GPS/INS

La MTi-G es la integracion de un GPS y una Unidad de Medicion Inercial con un proce-

sador de Navegacion y Sistemas de Referencia de Actitud y Rumbo(en ingles, AHRS). La

MTi-G esta basada en sensores inerciales MEMS y un receptor GPS en miniatura y tam-

bien incluye sensores de ayuda adicionales; un magnetometro 3D y un sensor de presion.

El procesador interno de senales de baja potencia corre un Filtro de Kalman de Xsens en

tiempo real proporcionando estimaciones mejoradas de posicion 3D y velocidad. La MTi-G

tambien provee eliminacion de la deriva, GPS mejorado, estimacion de la orientacion 3D

y calibracion de la aceleracion 3D, velocidad de giro 3D, datos 3D del campo magnetico

terrestre y presion estatica (Xsens Technologies, 2009).

Page 35: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Diseno del hardware y el Protocolo de Comunicacion 24

Figura 2–5: MTi-G - miniature GPS/INS.

Campos de aplicacion:

Robotica

Industria aeroespacial

Vehıculos autonomos

Industria marıtima

Industria automotriz

Caracterısticas:

Computo en tiempo real de posicion/velocidad inercial mejorada y actitud/guiado

GPS mejorado en un Procesador Digital de Senal (en ingles, DSP) embebido

Construido con un receptor GPS de 50 canales

Sensibilidad de seguimiento -160 dBm

Alta inmunidad a las interferencias del GPS

Tiempo para la primera correccion con GPS < 1 Segundo

Salida de la orientacion 3D de 360 grados completamente precisa

Aceleracion 3D, velocidad de giro 3D y datos del campo magnetico terrestre 3D

Sensor de presion estatica

Alta razon de actualizacion (120 Hz en el DSP embebido, 512Hz solo para los datos

inerciales)

Diseno compacto

Bajo Peso

Ultra bajo consumo

Varios modos de salidas digitales

Todos los sensores son a base de tecnologıa MEMS de estado solido miniaturizada

Page 36: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Diseno del hardware y el Protocolo de Comunicacion 25

Calibracion individual para, la temperatura, la desalineacion 3D y la sensibilidad

crusada de los sensores

Figura 2–6: Arquitectura de la MTi-G

El protocolo de comunicacion usado por la MTi-G esta basado en el envıo de mensajes,

permitiendo al usuario cambiar la configuracion del equipo y recibir los datos a bajo nivel

mediante comunicacion serie con RS232. Este protocolo esta regido por MotionTracker

communication protocol. La configuracion es completamente configurable por el usuario

(frecuencia de muestreo, sincronizacion de entrada/salida, baudrate y modos de salida de

datos).

La MT tiene dos estados, Estado de Configuracion y Estado de Medicion. En el Estado de

Configuracion varios ajustes pueden ser cambiados. En el Estado de Medicion el equipo

enviara paquetes de datos segun la configuracion seleccionada.

Tabla 2–3: Configuracion por defecto de la MTi-G.

PROPIEDAD VALORModo de Salida Salida de OrientacionAjustes de Salida Orientacion en modo quaternion. Contador

de Muestras activadoFrecuencia de Muestreo 100 HzBaudrate 115k2 bpsOutput skip factor 0

El mensaje estandar de la MT puede contener de cero a 254 bytes de datos y una longitud

total de cinco a 259 bytes.

Figura 2–7: Estructura del mensaje de la MT.

Page 37: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Diseno del hardware y el Protocolo de Comunicacion 26

Tabla 2–4: Campos del mensaje de la MT.

CAMPO ANCHO DEL CAMPO DESCRIPCIONPRE 1 Byte Preambulo, indicador de inicio de paquete

−− > 250 (0xFA)BID 1 Byte Identificador del bus / Direccion −− > 255

(0xFF)MID 1 Byte Identificador de mensajeLEN 1 Byte Valor igual al numero de bytes en el campo de

datos. El maximo valor es 254 (0xFE).DATA 0-254

BytesBytes de datos (opcional)

CS 1 Byte Suma de chequeo del mensaje (en ingles check-sum)

La MTi-G presenta tres principales modos de salida, orientacion, posicion y velocidad y

datos calibrados. Estos tres modos pueden facilmente combinados para obtener el paquete

de datos de orientacion deseado. La orientacion como salida de la MTi-G es la orientacion

del sistema coordinado de sensores (S) con respecto a un sistema terrestre Cartesiano (G)

y puede ser presentada en diferentes parametrizaciones Cuaternios, Angulos de euler y

Matriz de Rotacion. El modo de salida de posicion y velocidad contiene por un lado la

latitud, la longitud y la altitud, las cuales representan la posicion de la MTi-G y por otro

lado las velocidades en X, Y y Z, que representan la velocidad de la MTi-G. Los datos

calibrados comprenden, la aceleracion lineal, la velocidad angular y los datos del campo

magnetico, en los tres ejes de coordenadas.

Figura 2–8: Campo de datos de la MTi-G configurado para este trabajo.

El mensaje especıfico que envıa la MTi-G para este proyecto en el estado de medicion se

compone de 0xFA, 0xFF, 0x32, 0x35, las mediciones calibradas y el checksum.

2.3. Protocolo de Comunicacion

Para validar los algoritmos implementados se utilizo la comunicacion serie RS232, a con-

tinuacion se muestra la estructura del paquete de datos enviado por el dsPIC hacia la

Pc.

Page 38: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Diseno del hardware y el Protocolo de Comunicacion 27

Figura 2–9: Paquete de datos enviado desde el dsPIC hacia la Pc.

El campo de datos se compone de 24 bytes, que agrupandose en cuartetos forman 6

flotantes de doble precision, los cuales son los angulos de orientacion de la MTi-G y los

estimados respectivamente.

2.4. Comunicacion entre la MTi-G, el dsPIC y la PC

La comunicacion entre la MTi-G y el dsPIC30f3014 se realiza a bajo nivel, mediante

RS-232 (serie), se utilizan las interrupciones generadas por el puerto serie una vez que

le llegan datos a este, puede ver la figura 2–1 para un mayor entendimiento. Cuando la

MTi-G manda un paquete de datos, se genera una interrupcion en el dsPIC, esta llama a

una subrutina que evalua la integridad y la validez de la trama, aısla los datos utiles, los

desglosa en cuartetos de Bytes ya que los datos son de tipo Float de 32 bits y despues se

invocan dos funciones, una que ensambla los cuartetos anteriormente mencionados y otra

que pone los datos ya ensamblados en los registros correspondientes para su posterior uso.

La comunicacion entre el dsPIC30f3014 y la PC se realiza tambien a bajo nivel, ver la figura

2–1, se utiliza un timer configurado para que cada 20 ms se genere una interrupcion en la

cual se atienden los metodos de estimado de la actitud y el envıo de los datos obtenidos

hacia la PC, debido a que la MTi-G esta configura a 50Hz por eso se configuro el timer

tambien a esta frecuencia. La funcion que envıa los datos estimados desensambla en Bytes

estos datos para enviarlos por el puerto serie, la trama utilizada para esta comunicacion

es, 0xFA, 0xAA, 0x00, 0x18 (cantidad de datos a enviar), campo de datos y el checksum.

En la PC se elaboro un programa en Visual Estudio que ensambla nuevamente los datos,

los muestra y los almacena en un fichero de texto para su posterior analisis.

2.5. Consideraciones finales del capıtulo

Se mostro el hardware seleccionado y una descripcion del mismo, destacando sus poten-

cialidades. Se debe explicar que se escogio la MTi-G para tener una referencia por donde

poder validar los algoritmos implementados, pero para poner en practica el sistema se de-

be escoger una IMU que solo posea los sensores primarios. Con respecto a la MTi-G se le

presto especial atencion a su protocolo de comunicacion y a los paquetes de datos que esta

envıa, una caracterıstica muy util para este trabajo es la versatilidad de la comunicacion

Page 39: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Diseno del hardware y el Protocolo de Comunicacion 28

de esta IMU. Se muestra tambien el protocolo de comunicacion utilizado para validar los

datos obtenidos. Tambien se detalla la comunicacion entre los componentes de hardware,

se escoge el protocolo serie debido a que cumple con los requisitos de velocidad impuestos

por la aplicacion, a que se ha convertido en un estandar para este tipo de aplicaciones y

a que presenta un facil manejo a nivel de software.

Page 40: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Capıtulo 3

VALIDACION DE LOS RESULTADOS DE LA

IMPLEMENTACION EN TIEMPO REAL

3.1. Introduccion

En este capıtulo se abordan los algoritmos de filtrado desarrollados, su basamento teorico

y matematico y los resultados de la implementacion de los mismos en tiempo real. Se

discuten cuestiones como, la sintonizacion de estos algoritmos, la realizacion de pruebas

y la validacion de los mismos, la obtencion del rumbo (yaw) y las senales que intervienen

en su estimacion, las deficiencias de los magnetometros y la importancia de estos en la

estimacion del rumbo. Tambien se habla sobre el tiempo de convergencia del FK y el costo

computacional de los algoritmos implementados (tiempo real de ejecucion). Para cerrar

el capıtulo se hace un analisis economico y por ultimo se presentan las consideraciones

parciales del capıtulo.

3.2. Procedimientos de inicializacion

En el proceso para determinar los distintos parametros de actitud de un vehıculo se de-

ben realizar dos etapas. La primera etapa es la de inicializacion, donde se determina la

orientacion inicial. Como primer paso en estos procedimientos de inicializacion se emplea

un filtro promedio o filtro paso bajo. Este filtro disminuye los componentes de ruido de

alta frecuencia y deja pasar los componentes de baja frecuencia o variaciones lentas de las

mediciones, provocando un alisamiento (o suavizado) en las senales obtenidas.

Un metodo popular de implementacion de un filtro promedio para suavizar los datos,

consiste en determinar el nuevo valor contra el anterior (Milette, 2012), como se puede ver

en la ecuacion 3.1, donde xi es el valor actual, y a es el parametro de ajuste del filtro. Si

a = 1, el nuevo valor sera igual al actual, por lo que no habra filtrado, y si a = 0, el nuevo

valor no tendrıa cambio con el calculo, o sea, serıa igual al del instante anterior sin tener

29

Page 41: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Validacion de los resultados de la implementacion en tiempo real 30

influencia el valor actual, por lo que a debe estar entre 0 y 1 para que exista un filtrado

de las mediciones. A partir de este analisis se puede observar que un valor pequeno de

a provocara un mayor filtrado, pero esto trae consigo el inconveniente de que introduce

mayor retardo de fase en la respuesta, por lo que se debe lograr un compromiso entre

suavizado y retardo a la hora de determinar el coeficiente a, de manera que se logre un

adecuado funcionamiento del filtro.

(V alorNuevo) = (V alorAnterior) · (1− a) + xi · a (3.1)

La constante de tiempo del filtro (τ) es otro parametro a considerar, esta es la duracion

relativa de una senal sobre la que se actuara. En los filtros paso bajo las senales mucho mas

largas que dicha constate de tiempo pasan completamente sin ser alteradas, mientas que

las senales mas breves son filtradas (Colton, 2007). La constante de tiempo se determina

a partir del parametro a y del perıodo de muestreo (dT ) segun la ecuacion 3.2, por lo que

si se conoce la constante de tiempo deseada y el perıodo de muestreo, puede ser calculado

el coeficiente a del filtro (ver ecuacion 3.2).

τ =a · dT

1− a⇐⇒ a =

τ

τ + dT(3.2)

3.2.1. Calculo de la orientacion inicial

Se debe tener presente que a la hora de determinar la actitud de un vehıculo no resulta

lo mismo cuando este esta en reposo a cuando esta maniobrando, por lo que se debe

hacer primeramente una inicializacion de los distintos parametros antes de comenzar su

movimiento.

En las condiciones de reposo los acelerometros solo miden la gravedad en el eje z y sus

componentes en los demas ejes (x, y), por lo que sus mediciones solo se verıan mayormente

afectados por ruidos de alta frecuencia los cuales serıan atenuados con el filtro paso bajo

mencionado. De igual manera pasa con los giroscopos y magnetometros, por lo que luego

de filtrar las diferentes senales con el filtro mencionado, se puede obtener una estimacion

de actitud inicial para el vehıculo, esto a partir de las ecuaciones que posteriormente se

presentan.

Page 42: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Validacion de los resultados de la implementacion en tiempo real 31

En la figura 3–1 queda descrito el procedimiento para la inicializacion de los angulos de

orientacion del vehıculo: dadas las mediciones de los sensores inerciales empleados (ace-

lerometros, magnetometros y giroscopos), primeramente se hace un filtrado paso bajo de

estas senales, y luego con estas mediciones filtradas se determina una orientacion inicial,

con la cual se inicializan los algoritmos implementados para la navegacion del vehıcu-

lo autonomo. Este calculo de orientacion inicial se debe realizar siempre antes de que

comience a navegar el cuerpo que tenga implementado estos algoritmos de acondiciona-

miento.

Filtro Promedio o

Paso Bajo

Cálculo de la

Orientación Inicial

Mediciones

Acelerómetros

Magnetómetros

Giróscopos

Procedimiento

Preliminar

Algoritmos para

Navegación

Figura 3–1: Procedimientos preliminares para determinar actitud.

Para determinar los tres angulos que definen la orientacion del vehıculo, se calcula pri-

meramente φ y θ a partir de las ecuaciones 3.3 y 3.4 (Groves, 2008), y posteriormente

con estos angulos y las mediciones obtenidas de los magnetometros, se calcula ψ segun

la ecuacion 3.5 (Caruso, 2000; Zhao, 2013). En el calculo de estos angulos, el sistema de

coordenadas empleado es el mostrado en la figura 3–2.

φ = arctan(Accy

Accz) (3.3)

θ = arctan(−Accx

(Accy)2 + (Accz)2) (3.4)

ψ = arctan(−Y h

Xh) (3.5)

Y h = Magy · cos(φ) +Magz · sin(φ)

Xh = Magx · cos(θ) +Magy · sin(φ) sin(θ)−Magz · cos(φ) · sin(θ)

Page 43: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Validacion de los resultados de la implementacion en tiempo real 32

Eje X

Eje Z

Eje Y

Alabeo

(+)

Rumbo

(+)

Cabeceo

(+)

Figura 3–2: Sistema de coordenadas empleado.

0 5 10 15−0.2

−0.1

0

Roll

(grd

)

0 5 10 15−0.2

0

0.2

Pit

ch(g

rd)

0 5 10 1579.5

80

80.5

Tiempo (min)

Yaw

(grd

)

Referencia MTi−G Estimación

Figura 3–3: Orientacion Inicial.

En la figura 3–3 se muestran los angulos iniciales calculados a partir de las ecuaciones

vistas. Esta grafica fue obtenida a partir de guardar una trama de la MTi-G, de aproxi-

madamente 15 minutos para tomar los valores de alabeo, cabeceo, y rumbo que brinda

esta IMU, como referencia (grafica azul), estando la misma en posicion de reposo. A partir

de esta trama y con la lectura de los sensores inerciales se determina la orientacion inicial

mencionada (grafica roja) para de esta manera comparar los valores obtenidos con los

tomados como referencia. Una vez vista estas tres graficas que muestran los tres angulos

calculados se puede decir que esta estimacion inicial en condiciones de reposo, sin movi-

miento y vibraciones, muestra buenos resultados ya que en el caso de φ y θ no presentan

error en todo el intervalo de tiempo y minimizan el efecto de muchos ruidos de frecuencias

Page 44: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Validacion de los resultados de la implementacion en tiempo real 33

altas (esto gracias al filtro paso bajo mencionado) dando una senal mas suavizada. En el

caso del rumbo la respuesta solo presenta un pequeno error de ∼ 0,2◦

3.3. Filtro Complementario

Despues que se ha estimado la actitud inicial, se comienza a determinar la actitud con los

diferentes algoritmos implementados para la navegacion del vehıculo. Estos algoritmos de

navegacion estan constituidos por varias etapas, siendo la primera un filtro complementario

para una primera estimacion.

El filtro complementario fusiona las diferentes mediciones de los sensores inerciales, aplica

un filtrado paso bajo a las mediciones de acelerometros y magnetometros y un filtrado

paso alto a las senales de los giroscopos. Esto se puede ver a partir de la ecuacion 3.6,

en donde α es el parametro de ajuste del filtro en dependencia de las caracterısticas de

la plataforma donde se implemente y de la respuesta que se desee obtener, se muestra

de manera general en la Figura 3–4 el diagrama que describe el funcionamiento del filtro

complementario. La ecuacion 3.6 esta formada por la suma complementaria de los angulos

de orientacion obtenidos a partir de los diferentes sensores inerciales (Gaydou, 2011).

(Angulofinal) =

F iltradoPasoAlto︷ ︸︸ ︷

(α · (Angulogyro))+ (1− α) · (AnguloAcelMag)︸ ︷︷ ︸

F iltradoPasoBajo

(3.6)

Orientación a partir

de Acelerómetros y

Magnetómetros

Gyr_X Gyr_Y Gyr_Z

Orientación a partir

de los Giróscopos

Cálculo de Actitud

(Acc y Mag)

Orientación

Final

Corrección

de

Deriva

Filtro Paso

Bajo

Filtro Paso

Alto

ϕam θam ψamϕg θg ψg

Figura 3–4: Diagrama del Filtro de Balanceo.

Page 45: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Validacion de los resultados de la implementacion en tiempo real 34

Para la obtencion de los angulos de orientacion a partir de acelerometros y magnetometros

se emplean las ecuaciones 3.3, 3.4, 3.5 vistas en la seccion anterior para la inicializacion

del sistema, las cuales solo dependen de las mediciones de estos (Zhao, 2013; Pozo, 2010).

Para el calculo de los angulos de Euler (φ, θ, ψ) a partir de los giroscopos se emplea la

integracion discreta de las velocidades de giro en x, y, z, utilizando tambien los angulos

calculados por el filtro balanceado en el instante anterior y las velocidades de giro tambien

en el instante anterior (Zhao, 2013; Pozo, 2010). Para esto se emplea el metodo trapezoidal

como se puede ver en la siguiente ecuacion:

Φk+1 = Φk + (wk +wk+1) ·∆t

2

3.3.1. Ajuste del Filtro Complementario

Como se comenta en secciones anteriores el parametro α de la ecuacion 3.6 constituye

el coeficiente de ajuste para este filtro. Valores pequenos de α dan un mayor peso a las

mediciones dadas por acelerometros y magnetometros, lo que hace que sea mas ruidosa

la salida y un poco mas lenta, lo cual es generalmente indeseado. En el caso de seleccio-

nar valores altos de α se obtiene una respuesta mas rapida y con un mayor peso de las

mediciones de los giroscopos en la salida con lo cual se obtienen buenos resultados, pero

sin embargo, valores muy cercanos a 1 harıan que la salida del filtro solo dependiera de

los angulos obtenidos a partir de los giroscopos, lo que provocarıa una divergencia de la

salida alejandola del valor real, inestabilizando ası el sistema de navegacion. Generalmente

se toman valores de α entre 0.6 y 0.9 (Gaydou, 2011).

3.3.2. Estimacion de actitud mediante el Filtro Complementario

En la mayorıa de las aplicaciones en las que los sensores no se encuentren sometidos a

cambios o variaciones bruscas, este filtro complementario puede ser implementado con

buenos resultados, principalmente en los angulos de alabeo (Roll) y cabeceo (Pitch).

Sin embargo, en la obtencion de la guinada o rumbo (Y aw), este no presenta resultados

satisfactorios para una aplicacion determinada, debido principalmente a que las mediciones

de los magnetometros como se menciono anteriormente, se pueden afectar por la presencia

cercana de cualquier material ferromagnetico, sumando a esto el efecto de las aceleraciones

no deseadas que surgen con el cuerpo en movimiento.

Page 46: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Validacion de los resultados de la implementacion en tiempo real 35

3.4. Filtro de Kalman

Tiene gran importancia en el mundo del control automatico al hecho de poder modelar

un proceso y que en dicho modelo queden reflejadas, explıcitamente todas las variables

que intervienen en su dinamica. La forma mas conocida que cumple con esta condicion

es la llamada representacion de la dinamica del sistema en variables de estado. Otro

problema que surge una vez obtenido este modelo es el poder obtener informacion de

la dinamica del proceso sin necesidad de medir todas las variables, sino que, haciendo

uso del conocimiento de su dinamica poder inferir u observar algunas de ellas. El tercer

problema que surge es el de poder utilizar este modelo con mediciones contaminadas por

algun tipo de incertidumbre. Estos tres conceptos se abordan en la llamada estimacion

estadıstica de senales y su version mas conocida es el filtro de Kalman (FK), aplicado al

acondicionamiento de las mediciones de los sensores inerciales (Pozo, 2014, 2010).

El FK es un algoritmo de procesamiento de datos, optimo y recursivo. Es optimo ya que

minimiza un criterio determinado, y ademas porque incorpora toda la informacion que se

le suministra para determinar el filtrado. Es recursivo ademas, ya que no precisa mantener

los datos previos, lo que facilita su implementacion en sistemas de procesado en tiempo

real. Ademas es un filtro pensado para sistemas discretos (INELMATIC, 2004). El objetivo

del FK es estimar los estados de un sistema de una manera optima, minimizando el ındice

del error cuadratico medio. Por esta causa este tipo de filtro es empleado en gran medida

en sistemas de filtrado.

Un sistema fısico puede ser representado a partir de un modelo matematico. Este esta for-

mado por un conjunto de ecuaciones de vectores, las cuales describen la evolucion de los

estados de dicho modelo en el tiempo (Molina, 2003). El FK a partir de este modelo,

optimiza la estimacion de los estados del sistema sin tener que observar todos los estados.

El FK esta compuestos por dos etapas:

1. Etapa de Prediccion.

2. Etapa de Correccion o Actualizacion de los estados.

Page 47: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Validacion de los resultados de la implementacion en tiempo real 36

A partir de un modelo en espacio de estados determinado por las siguientes ecuaciones:

x(k + 1) = Ax(k) +Bu(k) + ν(k) (3.7)

y(k) = Cx(k) + w(k) (3.8)

Siendo:

x(k): Vector de estados del sistema.

y(k): Vector de salida u observacion del sistema.

A, B, y C: Matrices determinısticas del sistema.

ν(k): Proceso estocastico asociado al sistema.

w(k): Proceso estocastico asociado a la medida.

El FK propone un metodo para obtener un estimador optimo del estado. Si se supone

que x(k) es la estimacion en el instante k del estado, este filtro buscara obtener ese

valor de estimacion de manera que se minimice el error cuadratico medio. Este error

esta determinado por la diferencia entre el valor real del estado y la estimacion. En la

implementacion de este filtro, la matriz P , conocida como matriz de covarianza del error,

es la que esta en funcion de dicho error. Por lo tanto el objetivo de este filtro, como se

menciono anteriormente, es determinar los valores de x(k + 1) a partir de las medidas

contaminadas y(k + 1) para que la matriz P (k + 1) sea mınima.

•X inicial

•Pinicial

Inicialización •X estimada

•Pestimada

Predicción

•Kcalculada

•Xcorregida

•Pcorregida

Corrección

Figura 3–5: Algoritmo de filtrado de Kalman.

El filtrado de x(k + 1) propuesto por Kalman, se realiza a partir del estado anterior y

de un factor de correccion que sera funcion del error. Como se menciono, dicho algoritmo

Page 48: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Validacion de los resultados de la implementacion en tiempo real 37

tiene dos pasos: el primero es antes de tener la medicion de y(k+1), y el segundo es donde

se corrigen o actualizan los estados (ver figura 3–5).

En la primera etapa se calcula una prediccion del estado x(k+1), la cual se denota como

x′(k+1) segun la ecuacion 3.9. Aquı tambien se predice un valor de la matriz de covarianza

del error previo a la medida, denotada por P ′(k+1) mediante la ecuacion 3.10, la cual se

determinara a partir de la matriz A, de una matriz P inicial y de una matriz Q diagonal,

que esta determinada por la desviacion del modelo que representa la dinamica del sistema

(Pozo, 2014).

x′(k + 1) = Ax(k) +Bu(k) (3.9)

P ′(k + 1) = AP (k)AT +Q(k) (3.10)

En la segunda etapa se determina primeramente la matriz de ganancias K(k+1) a partir

de la ecuacion 3.11, la cual constituye el factor de correccion para calcular luego el valor

del estado. En este calculo se encuentra la matriz R, que esta asociada con la desviacion

del observador (o sensor), y la matriz P ′(k+1) que se obtuvo en la etapa anterior. Luego

se determina o actualiza el estado x(k + 1) a partir del valor obtenido en la prediccion

de P ′(k + 1), del factor de correccion calculado K(k + 1) y de la medicion u observacion

obtenida en ese instante de muestreo y(k+1) haciendo uso de la ecuacion 3.12 (Guallichico,

2013).

K(k + 1) = P ′(k + 1)C(CP ′(k + 1)CT +R(k + 1))−1 (3.11)

x(k + 1) = x′(k + 1) +K(k + 1)(y(k + 1)−Cx′(k + 1)) (3.12)

P (k + 1) = (I −K(k + 1)C)P ′(k + 1) (3.13)

Segun lo expuesto hasta el momento en esta seccion se puede observar las ventajas del

empleo de filtros de este tipo a la hora de estimar y corregir determinados estados a partir

de mediciones con incertidumbre. Por lo antes dicho es recomendable el empleo de estos

filtros para mejorar en cierta medida la exactitud a la hora de estimar la actitud de un

vehıculo.

Page 49: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Validacion de los resultados de la implementacion en tiempo real 38

3.4.1. Filtro de Kalman basado en modelo cinematico lineal

El FK implementado esta basado en un modelo cinematico lineal del movimiento circular

uniformemente acelerado. Este modelo se puede ver en (Canet, 1994), donde se implementa

un FK para la estimacion de velocidad y aceleracion angular en lenguaje C. Tambien en

(Janabi-Sharifi, 2000) se emplea este modelo pero para el movimiento lineal, al igual que en

(Simon, 2006) donde se presenta un ejemplo para implementar un FK discreto para estimar

posicion, velocidad y aceleracion lineal. En este trabajo se implementa este modelo para

posicion y velocidad angular, siendo estos los parametros de interes. La posicion angular

es la amplitud del angulo (alabeo, cabeceo y rumbo), siendo en grados (grd o ◦), y la

velocidad angular es la dada por los giroscopos en cada eje, siendo en grados por segundos

(grd/s o ◦/s) (Guallichico, 2013).

Este modelo continuo en espacio de estados queda representado como muestra la ecuacion

3.14. Esta expresion se forma a partir de 3.15, o sea; la velocidad angular (ω) es la derivada

de la posicion (ϕ), y de la misma manera, la aceleracion angular (α) es la derivada de la

velocidad (ω) (Chavez, 2014).

˙ϕ

˙ω

=

0 1

0 0

ϕ

ω

(3.14)

˙x = Ax (3.15)

Para la implementacion del filtro se discretiza este modelo, para lo cual la matriz A se

sustituye por una matriz F como se ve en la ecuacion 3.16. Esta matriz esta en funcion

de A como muestra la ecuacion 3.17, por lo que se hace una expansion en series de Taylor

mostrada en la expresion 3.18 y se aproxima tomando los dos primeros terminos (Ogata,

2000). Luego el modelo discreto empleado queda como se muestra en la expresion 3.19.

En esta ecuacion la matriz B es cero, ya que esta es la que esta asociada con las entradas

del sistema, y para este caso el sistema disenado no posee entradas (Chavez, 2014).

La segunda ecuacion del modelo en espacio de estados (3.8) esta en funcion de la matriz C

(ecuacion 3.20). Esta matriz a su vez, se forma dependiendo de los estados que se observan,

siendo la posicion y la velocidad angular, por lo que esta matriz queda expresada como se

Page 50: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Validacion de los resultados de la implementacion en tiempo real 39

muestra en 3.21.

x(k + 1) = F x(k) (3.16)

F = e(ATs) (3.17)

= I +ATs +(ATs)

2

2!+ . . . (3.18)

=

1 TsT 2s

2

0 1 Ts

0 0 1

ϕ(k + 1)

ω(k + 1)

=

1 Ts

0 1

ϕ(k)

ω(k)

(3.19)

y(k) = Cx(k) (3.20)

C =

1 0

0 1

(3.21)

La velocidad angular en el eje x, que es la medicion del giroscopo en dicho eje, es la que

se asocia con el angulo de alabeo, y de igual forma sucede con la velocidad angular en los

ejes y, z, los cuales se asocian con los angulos de cabeceo y rumbo respectivamente.El FK

esta compuesto por tres filtros; uno para cada angulo (alabeo, cabeceo y rumbo) con la

velocidad angular relacionada (giro en x, y, y z) (Concepcion, 2013).

3.4.2. Procedimiento de sintonizacion

La ganancia del FK se calcula con informacion estadıstica referente a la precision de los

sensores y de los modelos utilizados (Welch, 2001; Grewal, 2001). Como se observa en las

ecuaciones 3.10 y 3.11 para determinar la ganancia o factor de correccion se necesitan las

matrices Q y R. Debido a esto la sintonizacion del filtro se basa en seleccionar los valores

de estas matrices de covarianza de manera que el resultado de la estimacion hecha por

el FK converja hacia el valor real de la variable, minimizando la covarianza del error de

estimacion.

Para desarrollar un FK, son necesarios los parametros del modelo lineal y la covarianza de

los ruidos en cada parte de este modelo. En el caso del ruido de la medicion usualmente

se asocia a la caracterıstica del sensor. Las mediciones del filtro son los angulos a la salida

Page 51: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Validacion de los resultados de la implementacion en tiempo real 40

del FC y las mediciones de los giroscopos a la salida del filtro paso bajo. Las desviaciones

de la medicion de los angulos (σalabeo, σcabeceo, σrumbo) se calculan a partir de pruebas

reales. Para determinar las desviaciones de las mediciones de los giroscopos en este filtro

se toma la mitad de las especificadas en la hoja de datos del sensor ya que estas senales

tienen un filtrado previo, lo que provoca que disminuya este parametro. Para este filtro

quedarıan tres matrices diferentes (3.22, 3.23, 3.24) ya que las desviaciones para cada

medicion varıan. A continuacion se muestran la matriz R para cada caso:

Rx = diag(σ2alabeo, σGx2) (3.22)

Ry = diag(σ2cabeceo, σGy2) (3.23)

Rz = diag(σ2rumbo, σGz2) (3.24)

La estimacion de la matriz de covarianza de las mediciones se debe realizar al emplear este

algoritmo para diferentes casos, ya que las desviaciones de la estimacion del FC pudieran

variar. Esto no es del todo necesario para el funcionamiento del algoritmo, pero si para

una estimacion de estados mas exacta a la hora de determinar los diferentes parametros.

Por otro lado la estimacion de la matriz de covarianza Q del ruido en cada uno de los

estados es mas compleja. Su seleccion se hace de acuerdo a pruebas estadısticas difıciles de

realizar, por lo que la mayorıa de los autores la sintonizan mediante pruebas experimentales

(Garcıa, 2014). Esta matriz tambien se selecciona tıpicamente con estructura diagonal

como se muestra a continuacion:

Q = diag(Q1, Q2) (3.25)

Para los filtros de Kalman de este trabajo las matrices Q quedan como se ve en 3.25. En

el FK, Q1 es igualmente la covarianza del ruido del primer estado (Posicion angular) y

ası tambien para Q2, siendo la covarianza del ruido para la velocidad angular. Esta matriz

esta relacionada con la incertidumbre que posee el modelo matematico del sistema (vector

ν en la ecuacion 3.7). Hacer la estimacion de esta matriz como se menciono anteriormente

no es necesario para el funcionamiento de la estructura de acondicionamiento, pero de esta

manera se pueden lograr estimaciones de los estados con mayor exactitud, minimizando

Page 52: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Validacion de los resultados de la implementacion en tiempo real 41

la varianza del error asociado al modelo. En este trabajo la estimacion de esta matriz se

realizo a partir de pruebas experimentales segun la trama de datos procesada.

3.5. Resultados de la implementacion real

Para la realizacion de las pruebas y la validacion de los algoritmos implementados, se pre-

paro el hardware con el sensor seleccionado y se grabo el software en el dsPIC (incluyendo

los algoritmos de filtrado). Se realizaron pruebas en tiempo real sometiendo el sensor a

cambios que se presentan usualmente en un vehıculo autonomo. Se guardaron los resulta-

dos en archivos de texto para su posterior analisis y graficado en MATLAB. Se utilizaron

como referencia los angulos de orientacion que da el sensor MTi-G para ası poder validar

los algoritmos de filtrado implementados.

3.5.1. Ejemplo 1

A continuacion se muestra la grafica de una corrida del sistema, donde se puede observar

que los angulos de alabeo y cabeceo presentan errores de menos de medio grado, no siendo

ası para el rumbo el cual presenta errores de entre 10 y 15 grados, esto se debe a que la

MTi-G no converge al valor real despues de ser sometida a una serie se cambios rapidos.

En la Tabla 3.5.1 se presentan los valores estadısticos del error de estimacion para cada

angulo.

0 20 40 60 80 100−20

−10

0

10

Ala

beo

(º)

0 20 40 60 80 100−10

0

10

Cab

eceo

(º)

0 20 40 60 80 100−200

0

200

Tiempo (s)

Rum

bo (

º)

IMU Estimado

Figura 3–6: Resultados de la estimacion de orientacion.

Page 53: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Validacion de los resultados de la implementacion en tiempo real 42

Tabla 3–1: Valores estadısticos del error de estimacion para cada angulo.

Media (o) Desviacion Estandar (o)Alabeo 0.105 0.372Cabeceo 0.069 0.348Rumbo 2.245 6.353

3.5.2. Ejemplo 2

A continuacion se muestra la grafica de otra corrida del sistema, esta vez en estado esta-

cionario, donde se pueden apreciar en los angulos roll y pitch pequenos picos productos

de las vibraciones del sistema y los ruidos de alta frecuencia.

0 10 20 30 40 50 60 70−5

0

5

Ala

beo

(º)

0 10 20 30 40 50 60 70−2

0

2

4

Cab

eceo

(º)

0 10 20 30 40 50 60 70−200

0

200

Tiempo (s)

Rum

bo (

º)

IMU Estimado

Figura 3–7: Resultados de la estimacion de orientacion en otra prueba.

En la siguiente tabla se presentan los valores estadısticos del error de estimacion para cada

angulo de orientacion de la grafica anterior.

Tabla 3–2: Valores estadısticos del error de estimacion para cada angulo en la segundaprueba.

Media (o) Desviacion Estandar (o)Alabeo 0.030 0.320Cabeceo -0.036 0.196Rumbo 2.723 4.037

3.5.3. Obtencion del Rumbo

Segun se muestra en la ecuacion 3.5, en la obtencion del rumbo intervienen las mediciones

de los magnetometros en los tres ejes (x, y, z) y los angulos alabeo y cabeceo calculados en el

Page 54: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Validacion de los resultados de la implementacion en tiempo real 43

mismo instante de muestreo. Los otros dos angulos de orientacion no presentan problemas

a la hora de estimarlos. Sin embargo los magnetometros poseen una gran deficiencia y es

que son muy afectados por campos magneticos proximos a ellos, debido a que estos miden

el campo magnetico de la tierra el cual es muy debil, cualquier objeto que genere un

campo magnetico o que sea ferromagnetico afecta en gran medida las mediciones de estos

sensores. A continuacion se puede observar una grafica donde se evidencian los disturbios

ferromagneticos que afectan una medicion estatica.

0 20 40 60 80 100 120−3

−2.5

−2

−1.5

Ala

beo

(º)

0 20 40 60 80 100 120−0.6

−0.4

−0.2

Cab

eceo

(º)

0 20 40 60 80 100 120−200

0

200

Tiempo (s)

Rum

bo (

º)

IMU Estimado

Figura 3–8: Cambios en el rumbo ante disturbios de los magnetometros.

0 10 20 30 40 50 60 70 80 90−150

−100

−50

0

50

100

150

Tiempo (s)

Rum

bo (

º)

Salida de la MTi−GEstimación

Figura 3–9: Comparacion de la estimacion al ser estabilizada luego de variaciones rapidas.

Se ha realizado otra prueba donde se somete al sensor a cambios de 0 a ±90o por lo que

se puede ver en la figura 3–9 que en un principio la estimacion y la respuesta de la MTi-G

estaban ambas correctas. Pero despues se le aplica al sensor una serie de cambios rapidos

Page 55: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Validacion de los resultados de la implementacion en tiempo real 44

y se puede observar que la respuesta de la MTi-G no llega a converger al valor real en

estado estacionario, presentando un error de establecimiento considerable.

3.5.4. Uso del Filtro de Kalman

En el presente trabajo el filtro de Kalman se utiliza para la estimacion y mejora de las

mediciones de los giroscopos entregadas por la MTi-G. Utilizando los angulos de salida

del Filtro Complementario y las mediciones de los giroscopos que da la MTi-G el FK

da a su salida las mediciones de los giroscopos mejoradas para ser incorporadas al Filtro

Complementario.

0 5 10 15 20 25 30−0.04

−0.02

0

0.02

Gir−

X

0 5 10 15 20

0

0.02

0.04

Gir−

Y

0 5 10 15 20 25 30−0.04

−0.02

0

0.02

Tiempo (s)

Gir−

Z

IMU Filtro de Kalman

Figura 3–10: Salida filtrada de las mediciones de los giroscopos de una trama estatica.

0 2 4 6 8 10 12 14 16 18 20 22−10

0

10

Gir−

X

0 2 4 6 8 10 12 14 16 18 20 22−10

0

10

Gir−

Y

0 2 4 6 8 10 12 14 16 18 20 22−10

0

10

Tiempo (s)

Gir−

Z

IMU Filtro de Kalman

Figura 3–11: Salida filtrada de las mediciones de los giroscopos de una trama dinamica.

Page 56: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Validacion de los resultados de la implementacion en tiempo real 45

En la siguiente tabla se muestran los valores de media y desviacion estandar de las medi-

ciones de los giroscopos de la Unidad Inercial y el resultado del Filtrado de Kalman. Se

puede observar que se logra atenuar los niveles de ruido y disminuir los valores de bias,

principalmente en la prueba estatica.

Tabla 3–3: Valores estadısticos del error de estimacion para cada angulo.

Giro X Giro Y Giro ZPrueba Estatica Med Desv Med Desv Med DesvIMU −7,8 · 10−3 7,1 · 10−3 0.015 7,9 · 10−3 -0.017 6,6 · 10−3

Kalman −8,4 · 10−3 5,3 · 10−3 8,7 · 10−3 5,4 · 10−3 -0.01 5,0 · 10−3

Prueba Dinamica Med Desv Med Desv Med DesvIMU -0.015 1.54 -0.018 1.43 -0.11 1.41Kalman -0.034 1.14 -0.023 1.00 -0.086 1.04

3.5.5. Ejecucion del algoritmo

La ejecucion del filtro balanceado no es complicada debido a que en el mismo no se llevan

a cabo operaciones complejas como se puede ver en la ecuacion 3.6. Por otra parte el

Filtro de Kalman si requiere la solucion de ecuaciones complejas que implican un fuerte

trabajo con matrices que consumen un tiempo de computo considerable. Adicionalmente

el FK puede hacerse inestable durante su ejecucion o inclusive no llegar a converger, todo

esto debido a las operaciones de inversion de matrices que presenta y el propio ajuste del

filtro que puede influir en estas cuestiones. Para el ajuste del filtro se hace necesario un

conocimiento acerca de la incertidumbre en cada parte del sistema. La incertidumbre en la

ecuacion del modelo lineal empleado se maneja dentro del filtro por la matriz Q mostrada

en la ecuacion 3.25 y la incertidumbre de la medicion mediante R.

Cuando la matriz Q presenta valores muy pequenos en comparacion con los de R se dice

que el filtro tiene un ajuste fuerte y su estimacion tendra un mayor peso en el modelo

utilizado, siendo tambien mas lenta la respuesta. Por otra parte un valor pequeno de R

da como resultado que la salida del filtro tienda a seguir mas el valor de la medicion y con

una respuesta mas rapida.

Page 57: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Validacion de los resultados de la implementacion en tiempo real 46

El filtro utilizado en este caso para filtrar las mediciones de los giroscopos converge re-

lativamente rapido en comparacion con el perıodo de muestreo, como se puede ver en la

siguiente figura para los tres angulos estimados.

0 0.05 0.1 0.15 0.2 0.25

0.95

1

1.05

1.1

1.15

1.2

1.25

1.3

1.35

Tiempo (s)

Gan

anci

a de

Kal

man

norma Kalman de alabeonorma Kalman de cabeceonorma Kalman de rumbo

Tiempo de convergencia

Figura 3–12: Convergencia de la ganancia del filtro para las mediciones de los giroscopos esti-madas.

En la siguiente tabla se muestran los tiempos de ejecucion de los algoritmos implementados.

Se puede observar que la ejecucion de las etapas de filtrado y el envıo de datos vıa RS232

para la PC solamente toma la mitad de un perıodo de muestreo que es de 20 ms. Al

observar estos tiempos se puede concluir de que el micro empleado es posible explotarlo

mas en este sentido y quizas implementar alguna estrategia de filtrado mas avanzada

que logre atenuar en mayor medida los disturbios externos fuertes, principalmente en la

medicion de los magnetometros.

Tabla 3–4: Tiempos de ejecucion en tiempo real.

Tiempo consumido (ms)Filtro de Kalman (una variable) 1Todo el algoritmo 10

3.6. Analisis Economico

Debido a todo lo expuesto en este trabajo hasta ahora se deduce que las IMUs que poseen

procesamiento interno de las mediciones de los sensores primarios o sea que ya devuelven

los angulos de orientacion son demasiado costosas, a diferencia de los sensores primarios

Page 58: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Validacion de los resultados de la implementacion en tiempo real 47

que son relativamente baratos. Por lo tanto una solucion viable serıa adquirir los sensores

primarios (acelerometros, giroscopos y magnetometros) y realizar el acondicionamiento de

las mediciones y el calculo de los parametros necesarios para el control y la navegacion en

un microcontrolador, siendo la comunicacion entre estos mediante RS-232 (comunicacion

serie) a traves de una MAX232.

Actualmente los precios de una IMU que devuelva a la salida los angulos de orientacion

asciende a miles de dolares y en ocasiones las mas exactas y con mas prestaciones hasta

decenas de miles de dolares. Algunos ejemplos son, el sensor inteligente de orientacion

absoluta de 9 grados de libertad Sensortec BNO055 de Bosch, el modulo inercial LSM9DS1

iNEMO de STMicroelectronics y la unidad de medida inercial MAX21100 de Maxim. Por

otra parte las IMUs que solo devuelven las mediciones de los sensores primarios poseen

precios de menos de 100 dolares y en casos extremos, por tener sensores muy exactos, solo

llegan a valer algunos cientos de dolares. Algunos ejemplos son, el sensor de 9 grados de

libertad DOF Razor IMU, la unidad de medicion inercial IMU 10DOF y el sensor inercial

de 3 ejes con magnetometro ADIS16400/ADIS16405.

Por tanto el costo del hardware utilizado en el presente trabajo asciende a 150 USD apro-

ximadamente, como se puede observar la diferencia es muy grande entre el precio de un

hardware basado en una IMU sin procesamiento interno y un hardware basado en un

IMU con procesamiento interno. Como se puede ver la diferencia entre los precios recae en

los algoritmos implementados por los fabricantes en sus componentes. Con la alternativa

propuesta en el presente trabajo se pueden lograr resultados satisfactorios para diversas

aplicaciones, todo con el proposito de reducir costos, aunque sin olvidar la precision que

necesita cada aplicacion en especıfico. Debido al asunto de los costos, queda claro la im-

portancia para Cuba de este tipo de proyectos para poder tener acceso a tecnologıas muy

costosas y avanzar hacia la independencia tecnologica y el desarrollo economico.

Tabla 3–5: Costos de los componentes utilizados.

Componente Costo (USD)dsPIC30f3014 79 DOF Razor IMU 85Aditamentos Auxiliares 50MAX232 4

Page 59: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Validacion de los resultados de la implementacion en tiempo real 48

3.7. Consideraciones finales del capıtulo

Se puede decir que mediante los filtros implementados se obtienen buenas estimaciones de

los angulos de orientacion. En el caso de los angulos de alabeo y cabeceo, las estimaciones

son excelentes con errores siempre menores que medio grado, solo en pruebas estaticas se

han presentado pequenos picos en la estimacion debido a las vibraciones del sistema y los

ruidos de alta frecuencia. En el caso del rumbo aparecen errores de establecimiento consi-

derables debido a que la MTi-G no converge al valor real despues de una serie de rapidos

cambios de orientacion, a diferencia de los algoritmos implementados que si convergen al

valor real con un error de menos de 10 grados. Pero estos errores que muestra el rumbo

son permisibles en la aplicacion propuesta.

Page 60: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

CONCLUSIONES Y RECOMENDACIONES

Conclusiones

Como resultado del analisis del algoritmo implementado y la realizacion de varias pruebas

experimentales en distintas condiciones, se puede arribar a las siguientes conclusiones:

Con el hardware desarrollado utilizando un DsPic es posible la implementacion de

este tipo de algoritmos y FK de mayor complejidad, optimizando las operaciones.

Se obtuvieron buenas estimaciones de los angulos de orientacion utilizando el esquema

combinado FC y FK, ademas se logro aumentar la precision del sistema.

En los angulos de alabeo y cabeceo, las estimaciones son excelentes, por otra parte la

estimacion de rumbo siempre converge al valor real pero puede presentar errores ante

la presencia de disturbios magneticos fuertes.

Se logro estimar los angulos de orientacion con prestaciones similares y en ocasiones

superiores a las obtenidas con una unidad inercial de costo superior.

49

Page 61: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Conclusiones y Recomendaciones 50

Recomendaciones

Con este trabajo se ha avanzado en la utilizacion de tecnologıas y sensores inerciales de

bajo costo, creando alternativas para su explotacion. Con la finalidad de lograr la necesaria

continuidad que debe tener este trabajo se realizan las siguientes recomendaciones:

Continuar el estudio de metodos para la compensacion magnetica de las mediciones

de los magnetometros.

Ampliar el estudio hacia otras estrategias de estimacion y filtrado para aumentar la

exactitud del sistema, con la adicion de estimacion de la desviacion de los sensores.

Page 62: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

REFERENCIAS BIBLIOGRAFICAS

Aggarwal, P.; Syed, Z. (2010). MEMS-Based Integrated Navigation. Artech House.

Artese, G.; Trecroci, A. (2008). Calibration of a low cost mems ins sensor for an integra-

ted navigation system. In: The International Archives of the Photogrammetry, Remote

Sensing and Spatial Information Sciences.. Vol. XXXVII. Beijing.

Bror-Valdemar, K. (2003). Structure of an Inertial Navigation System. PhD thesis.

Canet, P. (1994). Kalman filter estimation of angular velocity and acceleration on-line

implementation.

Caruso, M. J. (2000). Applications of magnetic sensors for low cost compass systems. In:

Position Location and Navigation Symposium, IEEE 2000. IEEE. pp. 177–184.

Chavez, R. B.; Bandala, M. S. (2014). Analisis de la complejidad computacional del filtro

de kalman convencional aplicado a navegacion inercial.

Colton, S. (2007). A simple solution for integrating accelerometer and gyroscope measu-

rements for a balancing platform.

Concepcion, P. F. (2013). Implementacion de un sistema de estabilizacion de camara de

dos ejes instalado en un vehıculo aereo no tripulado. Trabajo de diploma. Pontificia

Universidad Catolica del Peru. Lima.

Espana, M. (2010). Fundamentos de la Navegacion Integrada. Asociacion Argentina de

Control Automatico.

Ferrer, G. (2009). Integracion Kalman de sensores inerciales INS con GPS en un UAV.

Trabajo final de carrera. Universidad Pontificia Comillas.

Fons, A. B.; Vila, C. A. (2012). Integration of the ins and gps navigation systems using a

kalman filter on a mobile phone. Universidad Politecnica de Valencia p. 7.

Garcıa, D. (2014). Desarrollo de tecnicas de filtrado de las olas para la navegacion y el

control de un auv. Tesis de mestrıa. Universidad Central Marta Abreu de las Villas.

Santa Clara, Villa Clara.

Gaydou, D.; Redolfi, J.; Henze A. (2011). Filtro complementario para estimacion de ac-

titud aplicado al controlador embebido de un cuatrirrotor. Congr. Argentino de Sist.

51

Page 63: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Conclusiones y Recomendaciones 52

Embebidos.

Gimenez, A. R. (2010). Desarrollo de un sistema integrado de navegacion inercial: Interfıcie

imu + fpga. Trabajo de diploma. Universidad Autonoma de Barcelona. Bellaterra.

Grewal, M. S.; Weill, L. R.; Andrews A. P. (2001). Global Positioning System, Inertial

Navigation, and Integration. John Wiley and Sons.

Groves, P. D. (2008). Principles of GNSS, Inertial, and Multisensor Integrated Navigation

Systems. Artech House.

Guallichico, J. D.; Utreras, C. A. (2013). Diseno e implementacion de un sistema de nave-

gacion inercial tipo strapdown para estimar la posicion de un robot movil, aplicable a un

prototipo de autopiloto de un uav. Trabajo de diploma. Escuela Politecnica Nacional.

Quito, Ecuador.

INELMATIC (2004). El filtro de kalman. Reporte tecnico.

Instruments, T. (2004). Data sheet, max232: Dual eia-232 drivers/receivers. www.ti.com

232, 14.

Janabi-Sharifi, F.; Hayward, V.; Chen C. J. (2000). Discrete-time adaptive windowing for

velocity estimation. IEEE TRANSACTIONS ON CONTROL SYSTEMS TECHNO-

LOGY.

Martınez, A.; Rodrıguez, Y.; Hernandez L.; Guerra C.; Lemus J.; Sahli H. (2013). Diseno

de auv. arquitectura de hardware y software. Revista Iberoamericana de Automatica e

Informatica Industrial RIAI 10(3), 333–343.

Martınez, A.; Guerra, C. E.; Rodrıguez Y.; Hernandez L.; Garcia D. (2010). Diseno de

vehıculo autonomo aereo. Taller de Automatizacion, La Habana, Cuba. V Conferencia

Cientıfica Uciencia 2010.

Milette, G.; Stroud, A. (2012). PROFESSIONAL Android Sensor Programming. John

Wiley and Sons, Inc.

Molina, R. (2003). Bases del filtro de kalman. Depto Ciencias de la Computacion e IA,

Universidad de Granada.

Ogata, K. (2000). Ingenierıa de Control Moderna. tercera edicion ed.. Prentice-Hall His-

panoamericana, S.A.. Mexico.

Pozo, D. F. (2010). Diseno y construccion de una plataforma didacticapara medir angulos

de inclinacion usando sensores inerciales como acelerometro y giroscopio. Trabajo de

Page 64: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Conclusiones y Recomendaciones 53

diploma. Escuela Politecnica Nacional. Quito, Ecuador.

Pozo, D.; Sotomayor, N.; Rosero J.; Morales L. (2014). Medicion de Angulos de inclinacion

por medio de fusion sensorial aplicando filtro de kalman. Revista Politecnica 33(1), 10.

Ramırez, A.; Fernandez, J. A. (2003). Estudio y modelado de errores en sistemas inerciales

para navegacion terrestre. p. 4.

Regueiro, C. S. (2014). Error en el posicionamiento indoor en dispositivos moviles. p. 27.

Santiago, J. B. (2000). Calibracion de acelerometros para la medida de microaceleraciones

en aplicaciones espaciales. Tesis de doctorado. Escuela Tecnica Superior de Ingenieros

Aeronauticos. Madrid.

Shin, E. (2001). Accuracy Improvement of Low Cost INS/GPS for Land Applications.

Tesis de doctorado. Universidad de Calgary.

Simon, D. (2006). Optimal State Estimation. John Wiley e Hijos.

Technology, M. (2010). dspic30f3014/4013 data sheet. www.microchip.com p. 228.

Vilcahuaman, G. A. (2013). Diseno e implementacion de un sistema de navegacion autono-

mo basado en el filtro extendido de kalman en el modulo robotico corobot empleando

lenguaje c. Trabajo de diploma. Universidad de Piura. Piura.

Welch, G.; Bishop, G. (2001). An introduction to the kalman filter. Technical report.

University of North Carolina at Chapel Hill.

Weston, J. L.; Titterton, D. H. (2004). Strapdown Inertial Navigation Technology. segunda

edicion ed.. La Institucion de los Ingenieros Electricos.

Xsens Technologies (2009). Mti-g user manual and technical documentation.

www.xsens.com p. 77.

Zhao, L.; Wang, Q. Y. (2013). Design of an attitude and heading reference system based

on distributed filtering for small uav. The Scientific World Journal.

Page 65: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

ANEXOS

Page 66: TRABAJODEDIPLOMA - dspace.uclv.edu.cu

Apendice A

DESCRIPCION DE LOS PRINCIPALES PINES

DEL DSPIC30F3014:

Tabla A–1: Descripcion de los principales pines del DsPic30F3014.

NOMBRE TIPO DESCRIPCIONVdd P Fuente de alimentacion positivaVss P Referencia a tierraMCLR I/P Entrada Master Clear (Reset) activado en ba-

jo, o entrada de voltaje de programacionOSC1 I Entrada del cristal osciladorOSC2 I/O Salida del cristal osciladorPGD I/O Entrada/Salida de datos para programacion

In-Circuit Serial ProgrammingPGC I Entrada de reloj para programacion In-Circuit

Serial ProgrammingU1RX I Entrada de datos del modulo UART1U1TX O Salida de datos del modulo UART1U2RX I Entrada de datos del modulo UART2U2TX O Salida de datos del modulo UART2

55