View
9
Download
0
Category
Preview:
Citation preview
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”
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: oddiaz@uclv.edu.cu
Tutor: Ms. C. Delvis Garcıa GarcıaAsistente
Dpto. de Automatica, Facultad de Ing. Electrica, UCLV
email: dggarcia@uclv.edu.cu
Santa Clara
2015
”Ano 57 de la Revolucion”
PENSAMIENTO
“El exito parece depender en gran medida de persistir en algo despues de que otros han
dejado de hacerlo.”
William Feather
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
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
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
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
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
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
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
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
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
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
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.
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.
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.
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
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).
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).
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).
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.
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:
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).
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:
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)
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
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
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 .
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
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.
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
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
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
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).
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
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.
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.
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
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.
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
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.
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(θ)
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
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.
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.
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.
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
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.
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
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
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
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.
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
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
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.
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.
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
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
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.
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
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.
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
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
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.
ANEXOS
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
Recommended