Sie sind auf Seite 1von 67

INSTITUTO POLITÉCNICO NACIONAL

“La Técnica al Servicio de la Patria”

UNIDAD PROFESIONAL INTERDISCIPLINARIA


DE INGENIERÍA
CAMPUS GUANAJUATO

EVALUACIÓN DE TÉCNICAS DE FILTRADO DIGITAL PARA LA OPTIMIZACIÓN DE


LECTURAS OBTENIDAS CON SENSORES INERCIALES

PROYECTO DE INVESTIGACIÓN PARA OBTENER EL TÍTULO DE INGENIERÍA EN


AERONÁUTICA POR OPCIÓN CURRICULAR
PRESENTAN
MARÍA GUADALUPE MARTÍNEZ ESCOBEDO
JORGE EDUARDO AGUIRRE ROCHA

ASESORES

Dr. Juan de Dios Ortiz


Academia de Mecatrónica.
M en C. Carlos Campos Apanco
Academia de Matemáticas
Silao de la Victoria Gto. 2015
RESUMEN

En la presente investigación se diseñaron y evaluaron dos diferentes tipos de filtros digitales, los
cuales buscan suprimir el efecto de las perturbaciones inducidas por la vibración en la lectura de
señales tomadas con acelerómetros, que suelen encontrarse instalados en cuadricóptero. Esta
vibración es principalmente causada por el desbalance de los rotores durante su operación, las
oscilaciones afectan a estos sensores que son importantes para la programación de un sistema de
referencia inercial en ejes cuerpo, de modo que se han vuelto indispensables en la navegación
aérea.
Mediante el análisis modal experimental, se identificaron las frecuencias naturales de los
primeros modos de vibración del cuadricoptero. Este experimento consistió en inducir vibración a
la estructura y al mismo tiempo capturar con un acelerómetro analógico la señal proveniente del
mismo, con estos datos se procedió a realizar un análisis espectral de frecuencias.
En los resultados del análisis espectral se encontraron frecuencias de vibración donde se produce
resonancia. Con esta información se diseñaron filtros IIR y Kalman para atenuar perturbaciones
cuando el cuadricóptero entra en este estado, y así lograr que los datos filtrados sean los óptimos
para el cálculo de la actitud de la aeronave en estado estático.
Para implementar lo filtros y simular su desempeño se obtuvo una señal limpia de perturbaciones
los sensores inerciales. Esta señal se contaminó artificialmente sumando ondas sinusoidales de
frecuencia donde existe resonancia. Dicha señal simuló la condición en el cual; la vibración se
amplifica y contamina los acelerómetros. Se procedió a filtrar la señal con los dos tipos de filtros y
se evaluó su desempeño para determinar cuál de los dos tiene mejores resultados a la hora de
suprimir vibraciones mecánicas.

2
CONTENIDO
1 Introducción. ............................................................................................................................... 5
1.1 Introducción. ....................................................................................................................... 5
1.2 Justificación. ........................................................................................................................ 6
1.3 Objetivos ............................................................................................................................. 7
1.3.1 Objetivo general .......................................................................................................... 7
1.3.2 Objetivos específicos ................................................................................................... 7
2 Marco teórico .............................................................................................................................. 8
2.1 Conceptos de elementales para el cálculo de actitud en aeronaves .................................. 8
2.1.1 Actitud de un cuadricóptero ....................................................................................... 9
2.2 Dinámica estructural del vehículo autónomo ................................................................... 10
2.2.1 Análisis modal............................................................................................................ 12
2.2.2 Análisis Espectral por el método de Fourier. ............................................................ 12
2.3 Sistemas digitales para el control de UAVs ....................................................................... 13
2.3.1 Controladores PID ..................................................................................................... 13
2.4 Filtros digitales. ................................................................................................................. 14
2.4.1 Filtros IIR Y FIR .......................................................................................................... 14
2.4.2 Filtro Kalman ............................................................................................................. 15
2.5 Sensores inerciales IMU .................................................................................................... 19
2.5.1 Determinación de los ángulos de Euler con el acelerómetro. .................................. 19
3 Desarrollo .................................................................................................................................. 20
3.1 Cuadricóptero utilizado ..................................................................................................... 20
3.2 Obtención de las frecuencias naturales experimentalmente. .......................................... 23
3.2.1 Adquisición de datos ................................................................................................. 24
3.2.1.1 Acelerómetro analógico. ....................................................................................... 24
3.2.1.2 Tarjeta de adquisición de datos (DAQ). ................................................................ 24
3.2.1.3 Descripción de los experimentos para la obtención de las frecuencias naturales.
24
3.2.2 Análisis espectral de las señales obtenidas. .............................................................. 27
3.2.2.1 Método de Welch.................................................................................................. 27

3
3.2.2.2 Interpretación de datos del método de Welch. .................................................... 28
3.3 Comprobación de las frecuencias encontradas mediante el barrido de frecuencias. ...... 31
3.4 Diseño y Simulación de filtros ........................................................................................... 35
3.4.1 Diseño de Filtros IIR ................................................................................................... 35
3.4.2 Programación del Filtro Kalman. ............................................................................... 36
3.4.2.1 Descripción del algoritmo ..................................................................................... 37
3.4.3 Adquisición de datos de la IMU................................................................................. 37
3.4.3.1 MPLAB compilador C30. ........................................................................................ 37
3.4.3.2 Mini IMU de Pololu................................................................................................ 38
3.4.3.3 Microcontrolador dsPIC33™ ................................................................................ 39
3.4.3.3.1 Módulo I2C del dsPIC ...................................................................................... 40
3.4.3.3.1.1 Configuración del módulo y lectura de la IMU. ....................................... 41
3.4.3.3.2 Módulo serial en el dsPIC: Módulo UART ....................................................... 42
3.4.3.3.2.1 Configuración y transmisión de datos...................................................... 43
3.4.3.4 Reconstrucción de datos en línea con LabVIEW™. .............................................. 44
3.4.3.5 Reconstrucción de los datos fuera de línea con MATLAB. .................................... 45
3.4.3.6 Contaminación de las señales obtenidas .............................................................. 45
4 Resultados ................................................................................................................................. 48
4.1 Aplicación de los filtros IIR y Kalman................................................................................. 48
4.1.1 Filtro Kalman ............................................................................................................. 48
4.1.2 Filtros IIR.................................................................................................................... 50
4.2 Relación señal a ruido obtenida con los filtros. ................................................................ 53
4.3 Discusión de resultados..................................................................................................... 54
5 Conclusiones y trabajo futuro. .................................................................................................. 55
6 Referencias. ............................................................................................................................... 56
7 ANEXOS ..................................................................................................................................... 58

4
1 Introducción.
1.1 Introducción.
El tomar un sistema de referencia y combinarlo con el manejo y monitoreo de los sistemas
de control en una aeronave forman parte de la definición de actitud, y su importancia es tal que ha
sido crucial para el desarrollo y perfeccionamiento de los instrumentos de navegación usados hoy
en día, de modo que permiten tener una trayectoria segura; inicialmente éstos fueron
constituidos por giróscopos inerciales o también conocidos como sensores de rotación, por medio
de los cuales es posible obtener la posición, orientación y velocidad de un objeto en
movimiento[10]. Actualmente la tecnología de sensores presenta a los MEMS, por sus siglas en
inglés: Microelectromechanical Systems, los cuales involucran tecnología nanométrica y
electromecánica para obtener la información necesaria sobre la fuerza de aceleración referente a
los tres ejes, así como la velocidad angular de los mismos, todo lo anterior constituye a los bien
conocidos sensores IMU (Inertial Measurement Unit), como los que se usan a los largo de esta
investigación.
Así mismo tenemos que durante la operación de las aeronaves, se presentan vibraciones que
produce el motor y los efectos aeroelásticos de la estructura perturban los sensores inerciales que
son necesarios para determinar la actitud de una aeronave, lo cual ocasiona que medir la actitud
con certeza sea poco eficiente, en lo que respecta a este trabajo, se busca mejorar la operación de
un sistema de cálculo de actitud sujeto a vibraciones a partir de la aplicación de algoritmos de
procesamiento digital de señales.
En el desarrollo de éste trabajo resulta de gran importancia determinar las frecuencias de
vibración a las cuales un cuadricóptero de fibra de carbono puede presentar el efecto de
resonancia y ser perjudicado por el mismo, de modo que se propone el procesamiento de señal
adecuado que tome en cuenta las perturbaciones más significativas y logre atenuar su efecto
sobre la recopilación de datos de un sensor inercial, un artículo relacionado a este tipo de análisis
es el hecho por el grupo de investigadores Hongtao Zhang, Longqiu Li, Lin Wang y Guangyu Zhang ,
sobre un método que reduce la vibración y mejora la respuesta a las alteraciones que puede estar
sometido un vehículo de dimensiones muy pequeñas [9], cabe señalar en esta parte lo poco que se
ha documentado acerca de la respuesta de este tipo de configuración (UAV) y su efecto sobre el
desempeño de los sensores.
Sin embargo, una vez obtenidas las frecuencias naturales del sistema experimentalmente, es
conveniente generar las condiciones a las que la configuración entra en resonancia y de éste modo
optimizar el filtrado para que considere el efecto de estas perturbaciones; los filtros propuestos
son dos muy utilizados, sin embargo uno de ellos resulta más sencillo que otro en la estructura del
algoritmo, éstos filtros que se ponen a prueba son el IIR y el Kalman.
Hoy en día el trabajo con cuadricópteros ha permitido a los estudiantes en distintas partes del
mundo poner en práctica conocimientos básicos que dan forma al diseño y control en aeronaves
no tripuladas de una manera sencilla, a un costo accesible, además de presentar una buena
cantidad de líneas de investigación, las cuales también varían en complejidad, por ejemplo,
5
centrando la atención en el ámbito de control[12][24], la cantidad de información que puede
obtenerse sólo se ve limitada por la creatividad e imaginación del investigador, para el caso que
nos compete se tiene el procesamiento de señal, el análisis estructural, el manejo de sensores
inerciales y tarjetas electrónicas, por mencionar algunas[9][12][13][24].
Para finalizar con este preámbulo, es posible mencionar también, la gran cantidad de propuestas a
futuro que pueden surgir a raíz de este trabajo, como son los distintos encargados del
procesamiento de datos obtenidos de los sensores, la operación del cuadricóptero utilizado con
los sensores inerciales, además de la implementación de los mismos para determinar a actitud de
un aeronave no tripulada, sólo por mencionar algunos, sin embargo se resalta lo acertado de la
investigación al considerar que muy pocos autores han llevado a cabo un estudio profundo sobre
los efectos de las frecuencias naturales de la estructura y su efectos sobre el funcionamiento de
los sensores inerciales para el cálculo de la actitud.

1.2 Justificación.
Debido a las distintas fuerzas aerodinámicas que se generan y requiere una aeronave
para elevarse en vuelo es que ha sido necesario implementar dispositivos que permitan controlar
la estructura bajo el efecto de las mismas de modo que se asegure su integridad y un traslado
cómodo hacia su destino; entre los distintos sistemas primarios que componen a las aeronaves se
encuentran el sistema de navegación y el de aviónica, los cuales tienen en común ciertos aspectos
como lo son el control del movimiento respecto a un sistema de referencia, además del monitoreo
general de sus componentes por medio de sensores con cualidades específicas de manera que
desplieguen esa información al piloto y le permiten tomar una decisión, sin embargo suelen
presentarse fenómenos físicos como las vibraciones que pueden afectan la lectura de los
sensores, esto ocurre tanto en UAVs como en aeronaves pequeñas o ultraligeras primeramente
por las dimensiones de las mismas.
Es por ello que con la finalidad de mejorar el desempeño de estos sistemas se busca aprovechar
las técnicas de software disponibles para el procesamiento de señales con los algoritmos de
filtrado, esto permitirá reducir el costo de la implementación en el sistema, además de simplificar
las modificaciones en el diseño estructural de la aeronave, consiguiendo que no agreguen peso
significativo.
El presente trabajo tiene como finalidad la implementación de filtros digitales para atenuar el
efecto de perturbaciones como la vibración en éste tipo de dispositivos. Cabe mencionar que
actualmente se tiene poca información sobre la respuesta de la estructura al ser sometida o
encontrarse en situaciones que puedan inducir vibración en frecuencias de oscilación que puedan
llegar a dañar tanto a los componentes como a la misma, sin embargo el trabajo de los
investigadores Hongtao Zhang, Longqiu Li, Lin Wang y Guangyu Zhang [9] animan a considerar el
efecto de la vibración sobre la IMU que cuenta con alta resolución y sensibilidad tal, que su
desempeño puede verse afectado por estas condiciones, siendo así este trabajo un gran punto de
partida para aquellos que busquen tener un análisis profundo del cálculo de la actitud de una

6
aeronave y al mismo tiempo información con alto grado de fidelidad al aportar mejoras a los
distintos tipos de filtros digitales que pueden implementarse hoy en día.
Las aeronaves no tripuladas tienen diversas aplicaciones, y cada día esta tecnología es más útil
para la sociedad, los cuadricópteros son aeronaves no tripuladas de menor escala, estos poseen
una gran estabilidad. Esto hace que cada día sean más utilizados. Pero los cuadricópteros tienen
inconvenientes los cuales hacen que su desarrollo sea complejo. Uno de esos problemas es la
incertidumbre que existe al determinar la actitud del cuadricoptero, debido a que las vibraciones
son un factor que influye en esto. Por eso la importancia en realizar este trabajo sobre un
cuadricoptero, ya que permitirá hacer una buena estimación de la actitud, y en futuros trabajos
implementar un sistema de control en el cuadricoptero con mayor eficiencia.

1.3 Objetivos
1.3.1 Objetivo general
Determinar la efectividad de un algoritmo de procesamiento digital de señales, para la supresión
de perturbaciones generadas por la vibración sobre la estructura de una aeronave, de manera que
se disminuya el error en las lecturas obtenidas de los acelerómetros.

1.3.2 Objetivos específicos


 Determinar experimentalmente los componentes de frecuencia más significativos que
pueden generar perturbación por vibraciones en la estructura básica de un cuadricóptero
de manera que sea posible evaluar la efectividad de los algoritmos propuestos.

 Diseño y simulación de filtros digitales para la atenuación del ruido provocado por
vibraciones y otros factores que afectan los sensores inerciales que son importantes para
determinar la actitud de una aeronave.

7
2 Marco teórico

2.1 Conceptos de elementales para el cálculo de actitud


en aeronaves
Un cuadricoptero es una aeronave no tripulada en forma de cruz con 4 rotores eléctricos
instalados en los extremos de una estructura. De los cuatro rotores, dos giran en sentido horario, y
los otros dos en sentido anti horario. Para este existen 2 configuraciones ya sean en ‘’x’’ o en ‘’+’’
como se observa en la Figura 2.1, en estos dos lo único que cambia es el eje el cual se considera
como frente. Sin embargo dos motores giran en sentido opuesto a las manecillas del reloj y los
otros dos en sentido horario. Este tipo de aeronaves que común mente son de radio control
pueden realizar movimientos respecto sus 3 ejes de rotación.

Figura 2.1. Configuraciones de un cuadricoptero.

Una de las principales ventajas que se atribuyen a los cuadricópteros son la simplicidad mecánica
del vehículo, el paso de las hélices de los rotores es fijo, cosa que no ocurre en los helicópteros
donde se requiere un mecanismo que permita la variación del ángulo de ataque. El control del
movimiento se realiza al generar momentos debido a diferencias de empuje entre los diferentes
rotores. En los helicópteros convencionales, la velocidad de giro de las hélices suele ser constante
y el control del movimiento se realiza mediante la variación de los ángulos de ataque de las palas.
Otra ventaja es el empleo de motores eléctricos en lugar de motores de combustión. Esto es
especialmente interesante si se van a realizar vuelos en interior donde existe la posibilidad de que
s¿e contamine el aire por los productos de la combustión. Sin embargo, existe un inconveniente, la
utilización de motores eléctricos limita el tiempo de funcionamiento, ya que las baterías que
alimentan los motores aportan autonomía no superior a los 15 o 20 minutos [14].
La principal característica de estas aeronaves es la capacidad de estabilidad, es decir es posible
que se mantenga en vuelo estacionario en un solo punto, lo cual lo hace apto para diversas
aplicaciones que se les han dado, una de ellas es la fotografía aérea como se puede ver en la

8
figura 2.2 . Ya que pueden tomar fotos desde cualquier punto sin que estas se vean perturbadas
por el movimiento.

Figura 2.2 Cuadricoptero en vuelo estacionario de Aero Colombia.

2.1.1 Actitud de un cuadricóptero


Los movimientos que pueden ejecutarse en una aeronave son Pitch (Cabeceo), Roll
(alabeo) y Yaw (Guiñada), estos se definen de acuerdo al ángulo de inclinación respecto a los ejes
coordenados de un sistema de referencia. La rotación respecto el eje X se denomina Alabeo, la
rotación respecto al eje Y se denomina Cabeceo, y la rotación en el eje Z se denomina guiñada,
también son conocidos como ángulos de Euler.
En base a la explicación de la dinámica de un cuadricóptero en el trabajo de Alan Kharsansky [12]
consideraremos que el sistema de referencia corresponderá a los ejes cuerpo, los cuales se
encuentran fijos en la estructura y se ubican en su centro de gravedad [12], en la figura 2.3 se
muestra la orientación de los ejes.

Yb Xb
zb
Figura 2.3. Ejes cuerpo situados en el centro de gravedad de la estructura.

9
Como se ha mencionado, los ángulos de Euler indican la rotación del dispositivo en alguno de los
ejes, por lo que  , , corresponde a él ángulo: Pitch, Roll y Yaw respectivamente. Estos ángulos
son muy importantes para un sistema de control ya que proporcionan la posición de la estructura
cuando se está volando. Posterior mente se explicará la importancia de los mismos.

2.2 Dinámica estructural del vehículo autónomo

En este apartado es necesario definir la vibración mecánica como la variación respecto al


tiempo de la magnitud de un parámetro que define total o parcialmente el estado de un sistema
mecánico relativo a una referencia específica [11].
En la dinámica estructural se tiene el objetivo de analizar estructuras bajo cargas que varían en el
tiempo y evaluar los desplazamientos de la estructura en cada instante del mismo; el periodo
natural de la estructura es la vibración que ocurre después de que termina la excitación externa o
la carga se vuelve constante, éste periodo depende de la masa, rigidez y las condiciones iniciales
[10]; Los dos tipos de fuerza que considera este análisis son: Las fuerzas de inercia asociadas a la
masa de la estructura y las fuerzas de disipación de energía por diversos tipos de mecanismos de
fricción [2]
Al involucrar a la masa, su propiedad de inercia provoca que la energía externa se almacene
internamente en de dos maneras: como energía de deformación y energía cinética; También es
importante considerar que la respuesta de una estructura depende de su capacidad de reacción
ante una acción externa, ésta capacidad queda definida por las frecuencias naturales del sistema.
De modo que muestren los efectos dinámicos, así mismo su importancia es tal, que el
amortiguamiento implica la capacidad del sistema en disipar energía, que se visualiza claramente
en la amplitud de la respuesta dinámica [2]
En este sentido la importancia de conocer las frecuencias naturales del dispositivo, nos permiten
tener en cuenta su capacidad de reacción y disipación de energía al verse en un escenario tal, que
puede alterar el estado estable en el que se encuentra para la condición de vuelo estacionario
(momento para el cual el dispositivo genera una fuerza de levantamiento igual a su peso) A
continuación se definen los términos más representativos para este trabajo en cuanto a la
respuesta dinámica de la estructura, como son la frecuencia natural y el efecto de resonancia, una
descripción profunda y el fundamento matemático se encuentra en la referencia [2]

10
Vibración
Para los fines de este trabajo se define este término de acuerdo a lo publicado por J. Ma. Rico
Mtz. [11] como la variación respecto al tiempo, de la magnitud de un parámetro que define total o
parcialmente el estado de un sistema, el cual puede ser mecánico, eléctrico etc.
Es importante considerar también que las vibraciones son clasificadas como:
Determinísticas – Probabilísticas o Estocásticas: Una vibración puede decirse Determinística si es
posible conocer la función, f(t) y Probabilísticas si lo único que permiten conocer es una función de
probabilidad de la amplitud del parámetro descrito por la función.
Periódicas y Aperiódicas: Son las divisiones del tipo determinístico donde se tiene que una
vibración del tipo periódica es aquella que se repite con todas sus características después de un
intervalo de tiempo, mientras las aperiódicas tienen una componente periódica y una aleatoria.
De este modo es posible definir para este trabajo que las vibraciones a estudiar son del tipo
Determinístico Aperiódicas, sin embargo para simplificar estos problemas es necesario analizar
sólo la componente periódica y tener un promedio de la componente aleatoria.
Propiedades de las vibraciones:
Todos los tipos de vibración poseen un Periodo y una Frecuencia, siendo el primero el intervalo de
tiempo en el que ocurre la variación del parámetro, del mismo modo se tiene que la frecuencia es
el número de veces que la vibración se repite en un intervalo de tiempo, su ecuación es la
siguiente:
1
𝑓= (2.1)
𝑇
Frecuencia natural
La frecuencia natural de un sistema se define en la dinámica estructural como la reacción del
sistema físico asociada a la rigidez y masa de la pieza que a su vez implican un modo de
deformación de la misma.
Resulta de excitar o dar un impulso inicial a un sistema que se encuentra en posición de equilibrio,
y dejarlo vibrar libremente, la o las frecuencias naturales son un parámetro propio del sistema y
como ya se mencionó, sólo dependen de la rigidez y masa del sistema (en el caso de tener N
grados de libertad en la estructura, será importante considerar su distribución); el tiempo no es
considerable, ni las condiciones iniciales, el sistema siempre tendrá sus frecuencias naturales
características.
La ecuación de la frecuencia natural es:

1 K
Fn  (2.2)
2 m
Siendo m la masa y K la rigidez. De esta fórmula se deduce que si la rigidez aumenta, la frecuencia
natural también aumentará, y si la masa aumenta, la Frecuencia natural disminuye.

11
Resonancia.
La resonancia se define como aquella condición en la que un sistema sufre una excitación tal que
coincide con alguna de sus frecuencias naturales.
En las notas del DIMEM, se enuncia lo siguiente:
“Para frecuencias de excitación próximas a alguna frecuencia natural la amplitud del
desplazamiento resultante puede ser varias veces el desplazamiento estático que se obtendría
aplicando estáticamente una fuerza de la misma amplitud. Así mismo, en la resonancia, el desfase
de la respuesta del sistema respecto a la excitación es siempre de 90° (independientemente del
valor del amortiguamiento relativo)”. [3]

2.2.1Análisis modal
El objetivo del Análisis modal en la mecánica estructural es determinar las frecuencias
naturales y modos de vibrar de un objeto o estructura durante vibración libre. Es común utilizar el
Método de los elementos finitos (MEF, o FEM por sus siglas en inglés) para desarrollar el análisis
porque, como en otros cálculos usando el MEF, el objeto que se analiza puede tener formas
arbitrarias y los resultados de los cálculos son aceptables. Los tipos de ecuaciones que surgen del
análisis modal son vistas en Sistemas propios. La interpretación física de los valores propios y
vectores propios, los cuales vienen de resolver el sistema, representa las frecuencias y modos de
vibrar correspondientes. A veces, los únicos modos deseados son los correspondientes a las
menores frecuencias porque pueden ser los modos predominantes en la vibración del objeto.
También es posible determinar las frecuencias naturales y modos de vibrar de un objeto mediante
ensayos experimentales. En este caso, el procedimiento se denomina análisis modal experimental.
Los resultados de las pruebas experimentales pueden usarse para calibrar un modelo de
elementos finitos para determinar si las hipótesis subyacentes hechas fueron correctas (Por
ejemplo, propiedades correctas de materiales y condiciones de borde consideradas en el modelo).
[2]
Se entiende entonces como análisis modal al procedimiento mediante el cual se obtienen las
características dinámicas propias de un sistema mecánico e información necesaria para dar forma
al modelo matemático que podrá definir el comportamiento dinámico de dicho sistema.

2.2.2 Análisis Espectral por el método de Fourier.


El análisis de Fourier se basa en la descomposición de señales en funciones senoidales. La
transformada rápida de Fourier que su abreviatura usual (del inglés Fast Fourier Transform) es un
eficiente algoritmo que permite calcular la transformada de Fourier discreta (DFT) y su inversa,
esto quiere decir que a partir de una señal que es adquirida en función del tiempo, puede
obtenerse también su representación como función en el dominio de la frecuencia.

12
La FFT es de gran importancia en una amplia variedad de aplicaciones, como son el tratamiento
digital de señales y filtrado digital en general. La señal a la que se le toman muestras y que se va a
transformar debe consistir de un número de muestras igual a una potencia de dos. La mayoría de
los analizadores TRF permiten la transformación de 512, 1024, 2048 o 4096 muestras.
Es importante para los fines de este trabajo comprender las principales propiedades de la
Transformada rápida de Fourier:
 Linealidad: esta propiedad establece que es posible aplicarla en sistemas lineales.
 Simetría: Implica que las características de la función del tiempo y las de la frecuencia
poseen una correspondencia exacta en tamaño.

2.3 Sistemas digitales para el control de UAVs


2.3.1 Controladores PID
Un controlador PID (proporcional, integral, derivativo) es un mecanismo de control
retroalimentado en lazo cerrado ampliamente usado en sistemas de control de aeronaves. Un PID
calcula un error como la diferencia entre el valor actual del sistema y el valor al que se desea
llegar. Además intenta minimizar el error mediante el ajuste de las entradas del proceso.

En el cálculo del regulador PID intervienen tres parámetros distintos. Estos valores se pueden
interpretar en función del tiempo. El proporcional P depende del error actual, el integral I depende
de la suma de todos los errores pasados, y el derivativo D es la predicción de errores futuros,
basándose en la razón de cambio actual. La suma ponderada de los tres términos permite ajustar
un proceso mediante un elemento de control como por ejemplo el ángulo de inclinación de un
cuadricoptero.

Mediante el ajuste de estas tres constantes en el algoritmo de control PID, el regulador es capaz
de proporcionar acciones de control específicas a los requerimientos de un sistema. La respuesta
del regulador se puede describir como la capacidad de respuesta ante un error.
Es importante mencionar que el uso de un regulador PID no garantiza un control óptimo ni
estabilidad al sistema. Hay sistemas que son inestables. Un sistema es inestable si el valor
regulado oscila indefinidamente, o sí dicho valor diverge sin límite del estado estable. [21]
El error es la diferencia entre el estado actual y el estado deseado, en un controlador PID el error
tiene que derivarse e integrarse. La ganancia proporcional es multiplicada por el error actual, la
ganancia integradora es multiplicada por la integral del error y así a su vez la proporcional es
multiplicada por la derivada del error. La salida de control es la sumatoria de estas tres
operaciones. En la figura 2.4 se visualiza el diagrama de bloques de este controlador para
entender con mayor claridad. El objetivo de describir el funcionamiento de este tipo de
controlador, es para explicar la importancia que tiene este trabajo en la futura implementación de
estos controladores aplicados a cuadricópteros.

13
Figura 2.4 Diagrama de bloques de un Controlador PID [21].

2.4 Filtros digitales.


Un filtro digital es un conjunto de operaciones realizadas sobre señales discretas,
implementado como un circuito digital o como un programa, de manera que también puede
definirse como filtro digital a la implementación en hardware o software de una ecuación
matemática. [20]
Los filtros digitales son usados para dos fines generales: la separación de señales que han sido
combinadas y para la restauración de señales que han sido distorsionadas de alguna manera, los
filtros digitales y su extraordinario desempeño es una de las claves de su éxito y popularidad en los
DSP (Digital Signal Processor) .
Las ventajas de los filtros digitales son las siguientes:
 Son software programable y por ello son fáciles de montar y evaluar su desempeño
 Solo requieren de operaciones aritméticas como la multiplicación y la suma/resta y así son
más fáciles de implementar.
 Son estables (no cambian con el tiempo o la temperatura) y previsibles.
 No tienen derivas por temperatura o humedad ni requieren componentes de precisión.
 No sufren por variaciones de fabricación o de la edad. [1]

2.4.1 Filtros IIR Y FIR


Los filtros de respuesta infinita al pulso (conocidos como IIR por sus siglas en inglés) son
filtros digitales cuya salida se calcula añadiendo la suma de las salidas pasadas con la suma de
entradas pasadas y actuales. Llamando como los valores de entrada X[n] y los valores de salida
Y[n], la ecuación general diferencial (2.3) que caracteriza a los filtros IIR es:

𝑁𝑦 −1 𝑁𝑥 −1
1
𝑦[𝑖] = (− ∑ 𝑎𝑗 𝑦[𝑖 − 𝑗] + ∑ 𝑏𝑘 𝑥[𝑖 − 𝑘]) (2.3)
𝑎0
𝑗=1 𝑘=0

14
Donde Nx es el número de coeficientes forward bk y Ny es el número de coeficientes reverse aj. La
muestra de salida en la muestra actual del índice es i y es la suma de las entradas escaladas
presentes y pasadas ( y x[i-k] cuando k≠0) y salidas escaladas pasadas ( y x[i-j] cuando j≠0).
Normalmente Nx, y Ny son iguales y el orden del filtro es Nx-1.
Un orden menor reduce las operaciones aritméticas y por consiguiente reduce el error de
computación. Un problema con los filtros de orden alto es que rápidamente caen en errores de
precisión con órdenes mayores a 20-30. Esta es la mayor razón para la “cascada” de
implementaciones en vez de la forma “directa”. Se recomiendan las órdenes del 1 al 20, ya que
son razonables, y siendo 30 el límite superior.
Se ha visto como la salida de un filtro IIR depende de las salidas anteriores así como de la actual y
previas entradas. Por culpa de esta dependencia de las salidas previas, los filtros IIR tienen una
memoria infinita, resultando así una respuesta de impulso infinita longitud.
Por otro lado, la salida de un filtro FIR depende solamente de la actual y previas entradas. Como
no depende de las salidas previas, su respuesta de impulso decae a cero en un tiempo finito. La
salida de un filtro FIR se calcula con la ecuación 2.4.
𝑦[𝑖] = 𝑎0 𝑥[𝑛] + 𝑎1 𝑥[𝑥 − 1] + ⋯ + 𝑎𝑀 𝑥[𝑛 − 𝑀] (2.4)
Comparando los filtros IIR y los FIR, la ventaja de los filtros digitales IIR frente a los FIR es que
normalmente requieren menores coeficientes para hacer operaciones similares de filtrado. Por lo
tanto, los filtros IIR se ejecutan más rápido y no requieren de memoria extra.
La desventaja de los filtros IIR la respuesta de fase es no lineal. Si la aplicación no requiere
información de la fase, como una señal de monitorización, los filtros IIR podrían ser apropiados. Se
deben usar los filtros FIR para esas aplicaciones que requieran respuesta de fase lineal. La
naturaleza recursiva de los filtros IIR hace que sean más difíciles de diseñar e implementar. [1].
En la práctica, la respuesta de frecuencia de los filtros difiere de la de los filtros ideales.
Dependiendo de la forma de la respuesta de la frecuencia, los filtros IIR se pueden clasificar de la
siguiente manera.

 Filtros Butterworth
 Filtros Chevyshev
 Chevyshev II o filtros inversos de Chevyshev

 Filtros elípticos o Cauer.

2.4.2 Filtro Kalman


El filtro de Kalman es un algoritmo recursivo óptimo de procesado de datos que minimiza
el índice del error cuadrático y permite estimar los estados de un sistema más apropiadamente. El
error cuadrático medio o RMSE de su traducción al inglés “Root Mínimum Mean-Squared Error”
representa la medida típica del error de predicción y es particularmente sensible a las
discrepancias grandes entre el valor real y el valor predicho. [10][19]

15
El objetivo principal del empleo de un filtro Kalman es estimar en cada instante el estado de un
sistema, empleando una sucesión conocida, al obtener el valor se considera un parámetro de error
que arroja un resultado de gran confianza [22].
A continuación se describe de manera resumida su formulación al considerar la representación por
estados que modela físicamente al sistema como un conjunto de entradas y salidas que se
relacionan linealmente, por lo tanto el filtro de Kalman aborda el problema de estimar el estado
de un proceso discreto en el tiempo que se ajusta al siguiente arreglo de ecuaciones:

X (k  1)  G  x(k )  H  u (k )  w(k )
Y ( k )  C  x(k )  v( k )
(2.5), (2.6)
Donde:
G= Matriz de transición
H= Matriz de control
C= Matriz de observación en la que se definen las incertidumbres asociadas al sensor.
U(k)= Entrada de control
W(k)= proceso estocástico asociado a la medida
V(k)= proceso estocástico asociado al sistema

Además, ambas ecuaciones involucran una fuente de ruido blanco, o Gaussiano donde v contiene
a la matriz de covarianza Q asociada al proceso y la componente w para la medida, lleva su matriz
de covarianza de la mediad R, la cual contiene las incertidumbre asociada a las medidas y las
correlaciones entre ellas; Y es el vector de medidas tomadas en cada instante, mientras que C
también se conoce como la matriz de medidas u observaciones, más la medida del ruido v.

Como fue mencionado, el filtrado de Kalman implica dos etapas en el proceso de datos que
funcionan de manera iterativa, la primera se conoce como de predicción: antes de tener la medida
del sensor y la de corrección, también llamada actualización del estado que se determina por el
estado en el instante anterior y por un factor de corrección que será función del error entre la
observación y la estimación. [22]
En la tabla 2.1 se muestran las expresiones que proponen seguir para los fines de esta
investigación:

16
Tabla 2.1. Tabla de ecuaciones y condiciones iniciales que modelan el proceso de estimación y
corrección para el filtro Kalman

xˆ ' k  x(k  1)  K (k  1)[ y (k  1)  Cx(k  1)] Estimación del estado y la covarianza


(2.7) evaluados con las condiciones iniciales,
P'k  P(k  1)  K (k  1)CP(k  1) también conocida como etapa de
predicción

K k  P'k C T  [CP'k C T  RV ]1 (2.8) Evaluación de la constante de Kalman o


Ganancia de Kalman.

xˆk  Gxˆ ' k  Hu(k ) Actualización del estado y corrección de


(2.9) la covarianza del error.
Pk  GPk ' G T  Rw
X(0)=0 y P(0)=1 (2.10) Condiciones iniciales

Dónde:

xˆ ' k =predicción del estado x


P’= Matriz de covarianza del error previo a la medida
K=Factor de corrección
P= Actualización de la covarianza
x̂k =Actualización del estado.
Hasta ahora puede visualizarse que en la primera etapa encontramos a la matriz de covarianza, la
cual es necesaria en orden de conseguir que el error entre las medidas sea cada vez menor, esto
de acuerdo a su definición: es el valor que indica el grado de variación entre dos datos o medidas.
En cada iteración el algoritmo ejecuta ambas estimaciones, una para el valor de la medida y otro
para la covarianza del error; Enseguida se actualizan estos datos al tomar las nuevas lecturas y
ejecutar la corrección entre ambas.
La expresión del error es sencillamente la diferencia entre el valor obtenido y el estimado:
e'k  xˆk  xˆ 'k (2.11)
Para la covarianza, la expresión queda:

   
P'  E e' e'T  E vvT (2.12)

 
Donde E se refiere al valor esperado o la media de H, de modo que el término vvT es también
conocido como la matriz de covarianza asociada al proceso: Q que ya fue mencionado como
implícito para la expresión i.
Ahora resta describir la parte de la actualización, en la cual se introduce un factor de corrección
que es función del error, éste se conoce como la ganancia de Kalman, la cual se deriva de
minimizar el error de la covarianza posterior a la etapa de predicción. Lo que menciona Sandra
Mau [23] es, que a medida que el error de la covarianza asociado a la medición (R) se acerca a

17
cero, la lectura se vuelve cada vez más confiable, mientras la medición predicha H x̂k es cada
iteración menos confiable. Por otra parte, así como el error estimado de la covarianza P se
aproxima a cero, la medición tomada se vuelve cada vez menos confiable, mientras que la
medición predicha se hace más confiable.
INICIO

Definición de las ecuaciones de


estado para el sistema
X (k 1)  G  x(k)  H  u(k)  v(k)
Y (k)  C  x(k)  w(k)

Desviación de observación
Desviación de estado.
Covarianza del error
Varianza de observación
Varianza del estado

Condiciones
iniciales

Proyección o predicción del estado

xˆ k  x(k 1)  K(k 1)[y(k 1) Cx(k 1)]


'

Proyección o predicción de la covarianza del error

P'k  P(k  1)  K (k  1)CP(k  1)

Cálculo de la Ganancia de Kalman

Kk  P'k CT [CP'k CT  RV ]1

Actualización del estado con las mediciones del


sensor

xˆ k  G xˆ ' k  Hu ( k )

Actualización de la Covarianza del error

Pk  GP k ' G T  R w

Figura 2.5. Diagrama de flujo del filtro Kalman.

18
2.5 Sensores inerciales IMU
Una unidad de medición inercial o IMU es un dispositivo electrónico con sensores que
proporcionan la información necesaria para estimar la orientación de un cuerpo. Las unidades de
medición inercial son normalmente para crear sistemas de referencia inerciales en aviones,
incluyendo vehículos aéreos no tripulados y muchos otros usos.
El término IMU es usado ampliamente para referirse a una tarjeta que contiene un acelerómetro y
un giróscopo, ambos de 3 ejes en sus versiones más simples. Los acelerómetros y giróscopos están
colocados de tal forma que sus ejes de medición son ortogonales entre sí. Estos sensores pueden
estar por separado, la desventaja de esto es que; se ocuparían al menos 6 entradas analógicas
para muestrear cada señal proveniente de cada eje. Este tipo de tarjetas en versiones más
avanzadas integran no solo acelerómetros y giróscopos sino que también un magnetómetro de
tres ejes y un barómetro, la gran ventaja de esto es que dentro de la IMU cuentan un
microcontrolador (esclavo) que encarga de muestrear todos estos sensores y mediante un
protocolo de comunicación llamado I2C (Inter-Integrated Circuit ) es posible que otro
microcontrolador (maestro) pueda adquirir datos de todos los sensores sin tener que tener algún
convertidor analógico a digital.

Los acelerómetros son dispositivos que son sensibles a la razón de movimiento de un objeto, y
convierten esto a un impulso eléctrico, es decir miden la aceleración. Esta es medida en metros
por segundo al cuadrado (m/s²) o en las fuerzas G (g). Los acelerómetros existen de uno a tres
ejes y son perpendiculares entre sí, con el objetivo de proporcionar la información necesaria para
calcular la inclinación de un objeto. Estos dispositivos también son usados para detectar las
vibraciones, ya que son excelentes para captar este tipo de perturbaciones. Esto es realmente
perjudicial cuando son usados para crear sistemas de referencia inerciales.

Los giroscopios son dispositivos que miden movimiento de rotación. Las unidades de velocidad
angular se miden en grados por segundo (°/ s) o revoluciones por segundo (RPS). La velocidad
angular es simplemente una medida de la velocidad de rotación. Existen giróscopos desde uno a
tres ejes, así es que con un dispositivo como este se es capaz de saber la velocidad de rotación en
cada eje X, Y y Z dependiendo el sistema de referencia. [19][22]

2.5.1 Determinación de los ángulos de Euler con el acelerómetro.


Con la información que proporciona un acelerómetro es posible calcular la inclinación
respecto a un plano perpendicular a la gravedad. Con los tres ejes del acelerómetro es posible
calcular tres ángulos pero sólo dos de ellos corresponden a cabeceo y alabeo en condiciones
estáticas. El tercer ángulo no es el ángulo de guiñada, porque con un acelerómetro no es posible
determinarlo. Para esto se requiere hacer uso de un giróscopo y de un magnetómetro.
Además que los acelerómetros son afectados por la vibración, sólo son óptimos para calcular la
inclinación de un cuerpo en condición estática, ya que al moverse las componentes de sus ejes
miden la aceleración cuando el objeto se desplaza hacia algún lado. Para obtener una buena
estimación es necesario corregir este problema con la ayuda de un giróscopo.
Aun así el cálculo de estos dos ángulos se puede hacer con las componentes de gravedad que
proporciona el acelerómetro mediante las funciones 2.13 y 2.14

19
180 𝐺𝑥
∅= tan−1 (2.13)
𝜋
√𝐺𝑦2 + 𝐺𝑧2
( )

180 𝐺𝑦
𝜃= tan−1 ( ) (2.14)
𝜋 2
√𝐺𝑥 + 𝐺𝑧2

Dependiendo de la orientación de la IMU se decide cual corresponde a estos ángulos sobre los
ejes cuerpo del cuadricoptero.

3 Desarrollo
3.1 Cuadricóptero utilizado
En este trabajo se utilizó un cuadricoptero, que se compone de las siguientes partes: un
control Futaba de 6 canales, un frame, 4 motores, 4 controladores de velocidad (ESC), 4 hélices y
una batería lipo. Y corresponden a las figuras 3.1, 3.2, 3.3, 3.4, 3.5 y 3.6. [4] [5] [6] [7] [8].
Tabla 3.1. Especificaciones del frame.

Peso 240 g
Dimensiones Distancia entre ejes de motores 498mm
Agujeros del perno del motor De 22 a 32mm
Material Fibra de carbono, los soportes del motor y las
juntas son de aluminio

Figura 3.1. Frame para cuadricóptero, Tomada de Hobbyking.com® , Turnigy®, Durafly® . “Turnigy Talon Carbon
Fiber Quadcopter Frame”, [Consultado en línea] Disponible en:
http://hobbyking.com/hobbyking/store/__22397__Turnigy_Talon_Carbon_Fiber_Quadcopter_Frame.html

20
Tabla 3.2. Especificaciones del motor sin escobillas hexTronik DT750.

Voltaje requerido 11.1 V


Batería sugerida 3 celdas de capacidad de 1300 mAh con
descarga de 20C
Hélice sugerida 279 x 96 o 279 x 1193 mm

Máxima corriente que consume 18A con una hélice de 11x4.7


Máximo empuje 1000 g
Corriente consumida sin carga 1.4 A
Peso 78 g
Diámetro 41 mm
Longitud 77 mm
Kv 750 Rpm /V
Controlador de velocidad recomendado 18A

Figura 3.2. Motor sin escobillas del cuadricóptero; Imagen tomada de : Hobbyking.com®, Turnigy®, Durafly®.
“Zippy Compact 5000 mAh 3s 25C Lipo Pack”, [Consultado en línea]
Disponible en: http://hobbyking.com/hobbyking/store/__21370__ZIPPY_Compact_5000mAh_3S_25C_Lipo_Pack.html

El controlador de velocidad (ESC) es para motores sin escobillas que consumen como máximo 25
Amperes, este es de marca TURNIGY. El mismo se observa en la figura 3.3

21
Figura 3.3. ESC de 25 A marca TURNIGY; Imagen tomada de Hobbyking.com® , Turnigy®, Durafly® .
“Turnigy Plush 25amp Speed Controller” [Consultado en línea] Disponible en:
http://www.hobbyking.com/hobbyking/store/__2163__TURNIGY_Plush_25amp_Speed_Controller.html

Las hélices que se colocaron en los ejes de los 4 motores, fueron hélices de diámetro de 254 mm y
un paso de 114 mm es decir 254 x 114 mm, estas son hechas de plástico y se ilustran en la figura
3.4

Figura 3.4. Hélices 254 x 114 mm; Hobbyking.com®, Turnigy®, Durafly® . “10x4.5 SF Props 2pc Standard
Rotation/2 pc RH Rotation Flouro Yellow” Disponible en:
http://www.hobbyking.com/hobbyking/store/__25823__10x4_5_SF_Props_2pc_Standard_Rotation_2_pc_RH_Rotation
_Flouro_Yellow_.html

Tabla 3.3. Especificaciones de la batería Lipo marca ZIPPY Compact.

Capacidad 5000 mAh


Voltaje 11.V, 3 celdas
Capacidad de descarga 25 C y 35 C al estallar
Pesos 354 g
Dimensiones 162 x 21x 46mm

conector de balanceo JST-XH


Conector de descarga 5.5 mm tipo bullet

22
Figura 3.5. Batería ZIPPY compact 5000 mAh; Imagen tomada de Hobbyking.com®, Turnigy®, Durafly®
catalog. “ZIPPY Compact 5000 mAh 3s 25C Lipo Pack”, [Consultado en línea] Disponible en:
http://hobbyking.com/hobbyking/store/__21370__ZIPPY_Compact_5000mAh_3S_25C_Lipo_Pack.html

El control es marca Futaba de 6 canales y funciona a 2.4 G Hz y se observa en la figura 3.6.

Figura 3.6. Control Futaba de 6 canales.

3.2 Obtención de las frecuencias naturales


experimentalmente.
Para obtener las frecuencias naturales fue necesario realizarlo por el método
experimental, está es la mejor alternativa cuando se cuenta con el equipo necesario. La forma
para determinarlas por este método; es excitar el sistema a la vibración con un pequeño impacto,
y al mismo tiempo monitorear la forma de vibrar del cuerpo. Comúnmente se usan acelerómetros
para captar las vibraciones, y a su vez se adquieren las señales del mismo con un sistema de
adquisición de datos, esto proporciona información necesaria para hacer un análisis espectral y así
obtener las frecuencias naturales.

23
3.2.1 Adquisición de datos
3.2.1.1 Acelerómetro analógico.
Este acelerómetro de triple eje (XYZ) es un una placa con el sensor MMA7361LC de Freescale, es
un sensor con salidas analógicas y sensibilidad (± 1.5 g o ± 6 g). Las salidas X, Y y Z tiene tres
voltajes analógicos separados centrados en la mitad del voltaje de alimentación. Las aceleraciones
positivas incrementan el voltaje de salida de los ejes por encima del voltaje central, y
aceleraciones negativas disminuyen el voltaje por debajo voltaje central. Las salidas siempre
estarán dentro del rango de 0 y 3.3V. [17]

3.2.1.2 Tarjeta de adquisición de datos (DAQ).


La tarjeta NI6009 es una tarjeta de adquisición de datos multifuncional para Windows™
2000/XP/Vista, MACOS X™, LINUX; posee alto rendimiento y alta velocidad de muestreo. Las
especificaciones de la tarjeta y el soporte de proveedores externos hacen ideal su uso para un
amplio rango de aplicaciones en nuestro caso el de la adquisición de datos, para la industria,
laboratorios, control de procesos y automatización de sistemas en las fábricas.
Características:
 Un convertidor A/D de 14 bits de aproximaciones sucesivas. Y 13 bits de modo diferencial.
 Muestreo de tasa máxima: Un canal 48 KS/s, para múltiples canales 42KS/s.
 Cuenta con 8 entradas analógicas y 8 digitales ambas pueden configurarse como entradas
o salidas por medio de software además posee 8 salidas digitales con 2 salidas analógicas
utilizando un convertidor de aproximaciones sucesivas. [18]

3.2.1.3 Descripción de los experimentos para la obtención de las


frecuencias naturales.
En el presente trabajo se utilizó el acelerómetro MMA7361L descrito anteriormente. Fue de
suma importancia utilizar este acelerómetro analógico, y no el acelerómetro que tiene la Mini IMU
9v2 [17]. En esta IMU la frecuencia más alta de muestreo es de 400 Hz [17]. Con esto sólo es
posible hacer un análisis espectral de frecuencias hasta 200 Hz, ya que la FFT (Fast Fourier
Transform) llega hasta la mitad de la frecuencia de muestreo. Entonces no se puede captar modos
de vibración cuya frecuencia es mayor a 200 Hz. El problema que se presentó al intentar adquirir
datos de la Mini IMU; fue la velocidad de transmisión de los mismos. Por eso se utilizó la tarjeta de
adquisición NI USB 6009. Esta no tiene problemas de velocidad de transmisión ya que cuenta con
una interfaz USB full speed y puede adquirir 42,000 muestras por segundo en varios canales.
Se realizó el VI en LabVIEW™ que se encuentra en el anexo A figura A1, que configura la tarjeta NI
USB 6009 para adquirir 4000 muestras de los tres ejes del acelerómetro a una frecuencia de 1k Hz.
Este a su vez escribe los datos en un archivo de texto. Con una frecuencia de muestreo de 1K Hz
se pueden captar vibraciones mecánicas hasta de 500 Hz. Esto es un rango considerable para
obtener los primeros modos de vibración del sistema.

24
Después de tener configurada la tarjeta de adquisición, se montó el sistema de experimentación
como se muestra bosquejado en la figura 3.8, el cual consta del cuadricoptero, el acelerómetro de
tres ejes, la tarjeta de adquisición NI USB 6009 y la computadora con LabVIEW instalado. El
cuadricoptero está empotrado con una prensa desde su base central. Esta sujeción simula la
condición de vuelo en hover (vuelo estacionario). La prensa es muy rígida y seguramente sus
primeros modos de vibración están en frecuencias por encima de los primeros modos de
vibración del cuadricoptero, esto hace que el sistema esté aislado y ninguna frecuencia pertenezca
a otra masa. El acelerómetro está sujeto a un extremo del cuadricoptero y pesa 0.7 gramos, esto
no cambia en gran medida la masa y la rigidez de la estructura y por ende sus frecuencias
naturales continuarán siendo las mismas con él o sin el sensor.

Figura 3.8. Bosquejo del sistema experimental.


Se comenzó la adquisición de la señales al mismo tiempo que el impacto. El golpe fue de baja
intensidad, y se hizo en un extremo donde está montado el acelerómetro. Se repitió el
experimento en varias ocasiones y por dos personas diferentes comprobar la repetitividad en las
lecturas obtenidas. Los datos fueron guardados en un archivo de texto para después hacer el
procesamiento en MATLAB™. Es importante mencionar; que las adquisiciones fueron de los tres
ejes del sensor, ya que en algún eje se pudieron haber captado frecuencias que no se presentan en
los demás. Esto sucede porque los modos de vibrar son diferentes, y puede oscilar en otras
direcciones. El adquirir señales de los tres ejes es mejor porque es posible captar modos de
vibración consecutivos. El sistema experimental real se observa en la figura 3.9.

25
Figura 3.9. Sistema experimental real.
Los impactos fueron muestreados durante los primeros segundos de vibración. 4000 muestras a
una frecuencia de 1k Hz se obtiene en 4 segundos, así es que los datos obtenidos en cada impacto
alanzan a captar desde que se golpeó hasta que el sistema se amortigua. Un ejemplo de un
impacto se observa en la Figura 3.10.

Figura 3.10. Ejemplo del impacto durante la experimentación.

26
3.2.2 Análisis espectral de las señales obtenidas.
3.2.2.1 Método de Welch.
En pocas palabras el hacer un análisis espectral de frecuencias a una señal significa aplicar
una transformada de Fourier. Lo que hace la transformada de Fourier es pasar del dominio del
tiempo al dominio de la frecuencia. Entonces si se le aplica este método una señal que está en el
dominio del tiempo, se va a cambiar al dominio de frecuencia, quiere decir que se va
descomponer en las frecuencias de las cuales está compuesta. La figura 3.11 puede ayudar
explicar esto mejor de una forma visual.

Figura 3.11. Trasformada de Fourier aplicada a una señal en el dominio del tiempo.
El descomponer una señal de vibración mecánica con la trasformada de Fourier; significa
descomponerla para saber cuáles son todas y cada una de las frecuencias oscilatorias senoidales
de las cuales se compone dicha vibración. Es decir sus frecuencias naturales, así es que aplicando
esta técnica a las señales obtenidas con los acelerómetros fue posible conocer las frecuencias
naturales del cuadricoptero. Estas señales son de forma discreta, así es que; este método se debe
de aplicar de la misma forma. Esto implica costo computacional alto por el número considerable
de multiplicaciones que se tiene que hacer. Para eso existe la transformada rápida de Fourier
(FFT), está técnica reduce el número de multiplicaciones cuando se aplica a 2𝑛 puntos o muestras.
En la experimentación de este trabajo se obtuvieron señales de vibración mecánica con un
acelerómetro de tres ejes, para todas los impactos se obtuvieron 4000 muestras. Para este
tamaño de puntos se tiene que aplicar la FFT a 211 (4096) pero aun así faltarían 96 puntos. Esto se
soluciona fácil porque las 96 muestras pueden ser ceros sin afectar el desempeño de la misma. De
esta forma, con varias pruebas experimentales de impactos se tiene la información para
determinar las frecuencias naturales del cuadricóptero, pero para hacer esto más efectivo se
implementó una técnica especial que se llama: análisis espectral por el método de Welch. Esto se
hace mediante una función de MATLAB™ llamada pwelch que optimiza la transformada de Fourier

27
minimizando el efecto del ruido sobre la señal. Este método ha presentado buenos resultados en
distintos trabajos de análisis espectral; como los publicados por Schmid [24]. Es por eso que se ha
elegido este tipo de análisis como base para trabajar los datos obtenidos durante la
experimentación.
La que hace la función pwelch consiste en calcular la densidad espectral de la señal de entrada, en
una función que muestra la distribución de la potencia de la señal sobre la frecuencia, lo cual
puede considerarse como el espectro de la frecuencia, mismo que se define como la distribución
de amplitudes para cada frecuencia de un fenómeno que sea resultado de la superposición de las
mencionadas.
Esta función se ayuda del Windowing o ventaneo, método por el cual una serie de tiempo que se
multiplicará por un factor de corrección de ventana, el cual mejora la claridad del espectro antes
de ejecutar la FFT, puede decirse que los datos se promedian bajo este factor de corrección, en el
caso que nos compete la función pwelch tiene una pérdida de 1.42 dB que le corresponde al tipo
de ventana Hanning en la cual se tiene una ganancia de coherencia CG = 0.5000 y la ganancia del
ruido es NG=0.3750.
Así mismo lo que resta es normalizar la señal, y a partir de ello promediar para determinar el
espectro de potencia para cada medición, enseguida se calcula la media de los mismos y se saca la
desviación estándar para cada punto del espectro. De esta forma se obtuvieron gráficos de
espectro de frecuencia de 0 Hz hasta 500 Hz, para así ver las frecuencias de las cuales se compone
los modos de vibración de cuadricóptero
El código necesario para generar las gráficas del análisis espectral así como su respectiva señal se
encuentra en el Apéndice A.

3.2.2.2 Interpretación de datos del método de Welch.


La experimentación realizada produjo muchos datos, porque como mencionó; esto se
realizó en repetidas ocasiones, y en los tres ejes para eliminar ruido y descartar alguna falsa
frecuencia. Así es que se tiene como criterio que; si en los espectros de los diferentes impactos se
repiten las frecuencias, muy posiblemente se ha encontrado una frecuencia natural. Ya que los
modos de vibración nunca cambian a menos que cambie la masa y la rigidez, y no factores
externos. A continuación en las figuras 3.12, 3.13 y 3.14 se encuentran los espectros de frecuencia
del primer impacto de los tres ejes.

28
Figura 3.12. Espectro de frecuencias del primer impacto del eje X.

Figura 3.13. Espectro de frecuencias del primer impacto del eje Y

Figura 3.14. Espectro de frecuencias del primer impacto del eje X.


Un resumen de frecuencias de cada impacto y eje, puede ir dando información para ver si las
frecuencias se repiten, y asegurar que se encontró una frecuencia natural.
En la Tabla 3.4. Hay 2 frecuencias que se repitieron en los tres ejes (98.30 y 8.057). Otras tres
frecuencias naturales que solo se repitieron en dos ejes (15.87, 128.7 y 30.76). Para determinar si
se trata de frecuencias naturales hay que ver los resultados de otro impacto. Las transformadas
del otro impacto de muestran a continuación.
El dejar la casilla marcado con el carácter ‘’/’’ significa que esa frecuencia no apareció a la hora de
realizar la transformada.

29
Tabla 3.4. Resumen de las frecuencias naturales de los tres ejes del primer impacto.
Eje Frecuencias en Hz
Eje X 98.39 54.69 30.76 22.95 8.057 / /

Eje Y 98.39 / 30.76 / 8.057 128.7 15.87

Eje Z 98.39 / / / 8.057 128.7 15.87

Figura 3.15. Espectro de frecuencias del segundo impacto del eje X.

Figura 3.16. Espectro de frecuencias del segundo impacto del eje Y.

30
Figura 3.17. Espectro de frecuencias del segundo impacto del eje Z.
Otro resumen de frecuencias (tabla 3.5) ayudará a determinar las posibles frecuencias naturales.
Para compararlas con las del primer impacto.
En el segundo impacto. Salieron frecuencias que aparecieron en el primer impacto (8.057, 30.76,
15.87, 128.7), algunas de ellas con un ligero error (98.63, 54.59), y también frecuencias que no
salieron anteriormente. Pero viendo la repetitividad se puede identificar dos posibles frecuencias
naturales. (23.44, 19.78).
Tabla 3.5. Resumen de las frecuencias naturales de los tres ejes del primer impacto.
Eje Frecuencias en HZ
Eje X 98.63 54.59 30.76 23.44 8.057 15.87 19.78 /
Eje Y / / / / / 15.87 / 128.7
EJE Z / / 30.76 23.44 8.057 15.87 19.78 /

3.3 Comprobación de las frecuencias encontradas


mediante el barrido de frecuencias.
Otra forma muy efectiva de encontrar las frecuencias naturales es hacer un barrido de
frecuencias. Lo que significa excitar una vibración desde 0 Hz hasta la máxima frecuencia posible,
y así localizar visualmente o con un acelerómetro la resonancia, que sucede al inducir una
vibración de frecuencia igual a la frecuencia natural de sistema.
En los primeros modos de vibración la resonancia se puede ser identificada visualmente siempre y
cuando la frecuencia sea baja, para así ver los desplazamientos que ya son considerablemente
grandes, también se puede identificar este efecto con un acelerómetro, que captarían las zonas
de amplificación de la vibración cuando se pasa por una frecuencia natural.
Esto se realiza con equipos de alto costo llamados Shaker, que pueden inducir una vibración a
cierta frecuencia con mucha precisión. Al no tener este equipo disponible, se usó un motor sin

31
escobillas del cuadricoptero con su respectiva hélice, el ligero desbalance que pueda tener la
hélice o el motor provoca vibración, y así hace que funcione como un Shaker, el problema de este;
es que no tienen la misma precisión de un Shaker como para aumentar la frecuencia de giro
unidad por unidad. Ya que su resolución está limitada no solo al mando del control remoto, sino
que también a la misma resolución de su controlador de velocidad (ESC). Aun así se procedió a
realizar de esta forma un barrido de frecuencias, para identificar visualmente los efectos de
resonancia en el cuadricoptero.
Para esto se conectó el motor, ESC, batería y el receptor de señal, y así poder controlar la
velocidad con la palanca de mando desde cero hasta su máxima velocidad. Pero para saber la
frecuencia a la que giraba se utilizó el circuito de la figura 3.18 y un disco reflector de estados de la
figura 3.19. El sensor óptico reflejaría los estados del disco reflector que se encuentra en el eje del
motor, y generaría una señal cuadrada con una frecuencia que es igual a la velocidad de giro del
motor.

Figura 3.18. Sensor CNY70 y limpiador de pulsos. Figura 3.19. Reflector de estados.
Durante el experimento el motor iba incrementando su velocidad gradualmente, y con facilidad se
identificó cuando la estructura entraba en resonancia, porque los desplazamientos del
cuadricoptero eran demasiado grandes y comenzaba a oscilar de manera crítica. Cuando esto
pasaba se hacía una medición de la frecuencia del pulso, así como también una adquisición de
datos.
Las frecuencias de giro del motor en las cuales se identificó resonancia son: 35.1 Hz, 84 .5 Hz y
99.5Hz. Existen muchas más frecuencias naturales porque tiene infinitos grados de libertad. La
razón por las que se detectaron solo algunas de estas; es porque se logró aproximar a la
frecuencia natural del cuadricoptero, tal vez la resolución no alcanzaba para hacer cambios de
velocidad más finos. Aun así se tuvo éxito porque se detectaron unas frecuencias con
desplazamientos muy grandes.
Se hizo un análisis de frecuencia con los datos que se obtuvieron cuando se presentó la
resonancia. Y se obtuvieron los siguientes resultados.

32
Figura 3.20. Espectro con excitación de un motor girando a una frecuencia de 84.96Hz
En la figura 3.20 solo se muestra una transformada rápida del eje Z, pero en la Tabla 3.6 está el
resumen de frecuencias que aparecieron. Como puede verse, no salieron otras frecuencias
naturales más que la frecuencia en la cual estaba la resonancia.
Tabla 3.6. Resumen de las frecuencias naturales de los tres ejes con la excitación de un motor
girando a 87.5Hz.
Eje Frecuencia Hz
Eje X 84.96
Eje Y 84.21
EJE Z 84.96

Para la excitación a 99.5 Hz en las transformadas de Fourier de los tres ejes aparecieron dos
frecuencias naturales. Una de ellas es a la frecuencia en la que estaba la resonancia, y la otra es la
frecuencia anterior donde había resonancia. Estos datos se encuentran en la tabla 3.7.
Tabla 3.7 .Resumen de las frecuencias naturales de los tres ejes con la excitación de un motor
girando a 99.5 Hz
Eje Frecuencias en Hz
Eje X 87.89 99.61
Eje Y / 99.61
EJE Z 87.89 99.61

Para una frecuencia más baja donde se identificó la resonancia (35.1 Hz) su respectiva FFT arrojó
otras dos frecuencias más, una de ellas 8.057 Hz incluso salía en las FFT de los impactos. Y la otra
solo se repitió en 2 de los ejes. Tabla 3.8

33
Tabla 3.8. Resumen de las frecuencias naturales de los tres ejes con la excitación de un motor
girando a 35.1 Hz
Eje Frecuencias en Hz
Eje X 8.057 36.38 106.2
Eje Y 8.057 / /
EJE Z 8.057 37.84 106.2

Con estas dos pruebas experimentales se determinaron las frecuencias naturales del sistema.
Estas frecuencias naturales son bajas, que en realidad son las que más interesan ya que como son
de baja frecuencia tiene grandes amplitudes en sus modos de vibración. Fueron muy grandes
para 36.38 Hz, 84.96 Hz y 98.39 Hz que fue posible ver este estado de oscilaciones.
La resonancia que puede existir en altas frecuencias no es visible por el ojo humano, y puede ser
no tomada en cuenta porque sus amplitudes son de magnitud despreciable. Cuando las
amplitudes son pequeñas no puede causar algún daño estructural en comparación de cómo lo
causaría una resonancia de grandes amplitudes. Es por eso que se estaba interesado en obtener
frecuencias naturales bajas ya que estas podrían afectar más la estructura del cuadricoptero y
provocar perturbaciones que contaminen las señales de los acelerómetros de la Mini IMU. La
tabla 3.9 muestra las frecuencias naturales encontradas en los dos métodos de experimentación.
De la frecuencia cuatro a la seis corresponde a las encontradas en el barrido de frecuencias. Los
análisis espectrales de las adquisiciones que se hicieron en ese momento proporcionaron
frecuencias naturales con muy poco error, así es que se tomaron los valores en donde se presentó
la resonancia. De cualquier manera los filtros que se diseñaron en el siguiente capítulo tienen una
banda de frecuencia que abarca no solo la frecuencia de resonancia sino que también las
frecuencias encontradas por el otro método.
Tabla 3.9.Validación de las frecuencias naturales.
Frecuencia Hz
natural
1 8.057
2 15.87
3 30.76
4 35.1
5 84.5
6 99.5

34
3.4 Diseño y Simulación de filtros
3.4.1 Diseño de Filtros IIR
Los filtros se diseñaran con un escalamiento de diez menos que el real. Este escalamiento
no afectará el funcionamiento de los mismos. En la sección 3.5.3.6 se explica más a detalle el
motivo por el cual se realizó esto y en la sección 3.5.3.4 se explica porque se estableció la
frecuencia de muestreo de 49.5 Hz. Considerando lo mencionado las frecuencias que se desea
eliminar son: f1=9.95 Hz, f2=8.75 Hz y f3=3.51 Hz, para cada una de estas frecuencias se diseñara
un filtro rechaza banda, el tipo es butterworth digital y la frecuencia de muestreo es de 𝐹𝑠 =49.5
Hz.
Para el diseño del primer filtro se ingresaron los siguientes parámetros, una representación gráfica
de estos se observa en la figura 3.21.
𝐹𝑠𝑡𝑜𝑝1 = 𝑓1 − 0.25 = 9.7 𝐻𝑧
𝐹𝑠𝑡𝑜𝑝2 = 𝑓1 + 0.25 = 10.2 𝐻𝑧
𝐹𝑝𝑎𝑠𝑠1 = 𝑓1 − 0.5 = 9.45 𝐻𝑧
𝐹𝑝𝑎𝑠𝑠2 = 𝑓1 + 0.5 = 10.45 𝐻𝑧
𝐴𝑝𝑎𝑠𝑠1 = 3 𝑑𝐵
𝐴𝑝𝑎𝑠𝑠2 = 3 𝑑𝐵
𝐴𝑠𝑡𝑜𝑝 = 40 𝑑𝐵

Figura 3.21. Parámetros de un filtro rechaza banda.

Al normalizar respecto a la frecuencia de muestreo se obtiene los siguientes vectores


𝑊𝑠 = [0.3918, 0.4122] 𝑉𝑒𝑐𝑡𝑜𝑟 𝑑𝑒 𝑝𝑎𝑟𝑎𝑑𝑎

35
𝑊𝑝 = [0.3819, 0.4221] 𝑉𝑒𝑐𝑡𝑜𝑟 𝑑𝑒 𝑝𝑎𝑠𝑎𝑑𝑎
Cuando se ingresan la siguiente función
[𝑁, 𝑊𝑛] = 𝑏𝑢𝑡𝑡𝑜𝑟𝑑(𝑊𝑝, 𝑊𝑠, 𝐴𝑝, 𝐴𝑠)
Arrojan un orden de filtro 7, y el vector de frecuencia natural en 3dB.
𝑊𝑛 = [0.3826, 0.4217]
Con esos parámetros se ingresa la función que calcula los coeficientes numerador y denominador
de un filtro de butterworth.
[𝐵, 𝐴] = 𝑏𝑢𝑡𝑡𝑒𝑟(𝑁, 𝑊𝑛, ′𝑠𝑡𝑜𝑝′)
Cuando se trata de un filtro pasa banda o para banda, regresa un filtro para banda de orden 2N,
con una banda de rechazo w1<w<w2. Es decir con esta función se va a obtener un filtro de orden
14, donde la función de transferencia tiene la forma de la ecuación 3.1. Y sus respectivos
coeficientes orden se muestran en el apartado B de anexos tabla B1

𝑎0 + 𝑎1 𝑍 −1 + 𝑎2 𝑍 −2 + 𝑎3 𝑍 −3 + 𝑎4 𝑍 −4 + 𝑎5 𝑍 −5 + 𝑎6 𝑍 −6 + 𝑎7 𝑍 −7 + + ⋯ + 𝑎14 𝑧 −14
𝐻(𝑧) = (3.1)
1 + 𝑏1 𝑍 −1 + 𝑏2 𝑍 −2 + 𝑏3 𝑍 −3 + 𝑏4 𝑍 −4 + 𝑏5 𝑍 −5 + 𝑏6 𝑍 −6 + 𝑏7 𝑍 −7 + + ⋯ + 𝑏14 𝑧 −14

Con el diseño de ese filtro solo se va a eliminar una de las tres frecuencias que se desea omitir.
Entonces es necesario diseñar otros dos filtros rechaza banda para las dos frecuencias que faltan
es decir f2 y f3. El procedimiento es exactamente el mismo con el que se diseñó el primer filtro.
Como el código se aplicó en MATLAB™ solo fue cuestión de cambiar la frecuencia para que el
código arrogara los coeficientes. Este código para la generación de los filtros se encuentra en el
anexo A figura A2. El filtro para banda de 8.75 Hz y 3.51 Hz cuyos coeficientes se encuentran en el
anexo B tabla B2 y B3

3.4.2 Programación del Filtro Kalman.

En el software de Matlab™ existen al menos dos comandos que permiten ejecutar el


sistema para un filtro Kalman, sin embargo estas funciones modelan situaciones ideales y de no
conocer a fondo la teoría detrás de ellas, puede resultar complicado resolver los errores que
puede notificar la herramienta, sin embargo, para este trabajo se propone dar forma al arreglo
con la implementación de las ecuaciones mostradas en la tabla 2.1.
En el anexo A figura A3 se encuentra el código generado para el filtrado de la señal, cabe
mencionar que son basados en la propuesta de [10], con sus respectivos ajustes hacia los fines de
este trabajo, es importante considerar también que la estructura de un Filtro Kalman es siempre la
misma para cualquiera que sea su aplicación, sin embargo son las condiciones iniciales y el modelo
de estados los que definen el fenómeno al que será aplicado.

36
Una vez obtenidas las frecuencias naturales, se ha considerado su amplitud para generar una señal
de ruido que se introduzca a la lectura de la IMU, por lo que en la primera línea del filtro se tiene a
la señal “contaminada”, enseguida se define la variable de desviación de la observación, que se
obtiene de calcular la covarianza asociada a los datos obtenidos, mientras que la desviación de
estado es inherente a las mediciones puesto que es la incertidumbre del sensor.

3.4.2.1 Descripción del algoritmo


Como se explicó en el apartado de definición del filtro Kalman, se requiere obtener una
ganancia que está en función del error, ésta se inicializa en 1 (concretamente se genera una matriz
de unos para 474 entradas que es el número de datos) para que a partir de este valor, se ajuste en
cada iteración, lo mismo ocurre para la matriz de covarianza P, que también se define en las
primeras líneas, así como la variable X que es el estado inicial propuesto. El ciclo for que se
describe, es para definir el número de iteraciones y las funciones para calcular de ahí en adelante
los valores para X a partir de los valores contaminados, de modo que a partir de ellos la ganancia
se ajuste y la matriz de covarianza del error P sea cada vez menor.
Para calcular el valor de la desviación de observación se tiene que obtener del vector de Voltaje
medido para uno de los ejes, el valor de Voltaje de la raíz medio cuadrado (Vrms) para una señal
del tipo senoidal, que de forma discreta se muestra en la Ecuación (3.2), una vez obtenido Vrms
puede utilizarse (3.3) para encontrar el valor máximo pico de la señal Vn y este a su vez se propone
escalar a un factor de 20 debido a que si no se incluye, el filtro no consigue apegarse a la señal que
genera el IMU y por lo tanto se pierde precisión.
N
1
Vrms 
N
V
N 1
2
(3.2)

Vn
Vrms  (3.3)
2
Donde, N es el número de datos, V es el voltaje leído por el IMU y Vn es el Voltaje máximo o valor
pico.

3.4.3 Adquisición de datos de la IMU

3.4.3.1 MPLAB compilador C30.


El MPLAB IDE es un entorno de desarrollo dotado de un editor, un gestor de proyectos, un
depurador de programas y varias herramientas para el desarrollo de aplicaciones para los
microcontroladores PIC y dsPIC™. Microchip dispone de un compilador C MPLAB C30 integrable
en el entorno de desarrollo MPLAB IDE con el que desarrollar programas en este lenguaje.

37
Con este compilador se reduce considerablemente el tamaño de código para la mayoría de las
aplicaciones. Incluye manejo de cadenas, asignación de memoria dinámica, cronómetro y librerías
matemáticas.
Tiene una interfaz de usuario simple e incluye funciones de procesamiento digital de señales
como respuestas de impulsos finitos (FIR), respuestas de impulsos infinitos (IIR) y operaciones de
transformación. Usando como entradas respuestas de impulsos finitos se pueden realizar filtrados
de dichas entradas para así poder analizarlas.

Este compilador soporta datos enteros y flotantes, los mismos que se detallan en la tabla B4 y B5
respectivamente de anexos B según el número de bits, el máximo valor y el mínimo.

3.4.3.2 Mini IMU de Pololu.

El Pololu Mini IMU versión 9.2 (ilustrada en la figura 3.24) es una unidad de medición
inercial, de 20 x 13 milímetros con un giróscopo L3GD20 de 3 ejes, y un módulo LSM303DLHC que
contiene un acelerómetro y magnetómetro de tres ejes. Con una interfaz I²C se accede a nueve
sus nueve grados de libertad.
La aceleración y las mediciones magnéticas se pueden utilizar para calcular la orientación absoluta
del sensor. La placa Mini IMU versión 9.2 incluye un regulador de voltaje y un circuito de nivel de
desplazamiento que permite la operación de este desde 2.5 V hasta 5.5 V. [17]

Figura 3.24. Min IMU versión 9.2 de 3 ejes; Imagen tomada de POLOLU Robotics & Electronics, Catalog.
“MinIMU-9 v2 Gyro, Accelerometer, and Compass (L3GD20 and LSM303DLHC Carrier)”, [Consultado en línea] Disponible
en el portal de Pololu Robotics & Electronics: https://www.pololu.com/product/1268 IMU

El L3GD20 y la LSM303DLHC tienen muchas opciones configurables, incluyendo sensibilidades


para: el giróscopo, el acelerómetro y el magnetómetro, así como la elección de velocidades de
datos de salida para cada sensor. Por el protocolo de comunicación I2C se puede obtener la
información individual de los tres sensores con una línea de reloj y una de datos. Con un
algoritmo apropiado se pueden usar los nueve grados de libertada para hacer un sistema de
referencia de actitud y rumbo. Un microcontrolador pueden utilizar los datos para calcular la
orientación de la IMU. Los datos del giróscopo se pueden integrar para estimar la actitud de la
misma, mientras que el acelerómetro y un magnetómetro pueden ayudar a compensar la deriva

38
del giróscopo que sucede con el tiempo, proporcionando así un marco de referencia absoluto y
preciso. Los ejes respectivos de los dos chips están alineados en la placa para facilitar los cálculos
de fusión de datos provenientes de los sensores para una mejor estimación. [17]
En el anexo B tabla B6 se encuentran algunas especificaciones de la placa, mientras que anexo B
tabla B7 se encuentran los nombres de los pines de salida.

3.4.3.3 Microcontrolador dsPIC33™


Los dsPIC nacen después de que los DSP hayan sido desarrollados durante años. En su
diseño han participado expertos y especialistas de muchas áreas. Los dsPIC™ se han aprovechado
de la experiencia acumulada por otros fabricantes. Los DSC (Controlador Digital de Señal.) poseen
todos los recursos de los mejores microcontroladores embebidos de 16 bits conjuntamente con
las principales características de los DSP, permitiendo su aplicación en el extraordinario campo del
procesamiento de las señales analógicas y digitalizadas.
Un DSC ofrece todo lo que se puede esperar de un microcontrolador: velocidad, potencia, manejo
flexible de interrupciones, un amplio campo de funciones periféricas analógicas y digitales,
opciones de reloj, protecciones, perro guardián, seguridad del código, simulaciones en tiempo
real, etc. [15]
Entre las aportaciones típicas de los DSP que se han implementado en la arquitectura básica de los
dsPIC™ destacan:
 Multiplicación MAC 16 x 16 en un ciclo.
 2 acumuladores de 40 bits.
 Registro de desplazamiento de 40 bits para el escalado.
 Acceso simultáneo de dos operandos.
 Juego flexible de interrupciones.
 Optimización para programación en lenguaje C

El voltaje de alimentación admite un rango comprendido entre 2 y 3.6 VDC. El rango de


temperatura idéntico a los dsPIC30F™. El rendimiento máximo alcanza los 40 MIPS cuando el
voltaje de alimentación tiene un valor de 3.3 VDC. Los aspectos más destacables que incorporan
los dsPIC33F™ son la ampliación en el número de patas de E/S, la capacidad de la memoria FLASH
que alcanza 256 KB, se mantienen los periféricos, la disponibilidad del doble de interrupciones,
SRAM de hasta 30 KB. No disponen de memoria EEPROM. Tienen un nuevo modo de bajo
consumo DOZE y un nuevo Controlador DMA de 8 canales, para no utilizar a la CPU en la
transferencia de datos entre periféricos y la memoria. [15]

El microcontrolador utilizado en este trabajo es el dsPIC33FJ12GP202. Este es un controlador


digital de señal de alto rendimiento de 16 bits encapsulado dentro de un pequeño paquete de 28-
pin [15]. Figura 3.25

39
Figura 3.25. Controlador digital dsPIC de 28 pines. Imagen tomada de: Microchip Technology Inc.,
”Datasheet dspic33FJ12GP202.” [2007] [pdf.] Recuperado del portal de Documentation & Software de Microchip:
http://ww1.microchip.com/downloads/en/DeviceDoc/70264B.pdf

3.4.3.3.1 Módulo I2C del dsPIC


El módulo I2C es una interfaz serial muy útil para la comunicación con otros periféricos y
microcontroladores. Este módulo puede operar en cualquiera de las siguientes modalidades.
 Esclavo
 Maestro
 Multímetro
El módulo I2C del dsPIC™ contiene independiente una lógica I2C maestro y una I2C esclavo, donde
cada genera interrupciones de acuerdo a sus eventos. En sistemas multimaestro dividimos el
proceso teniendo un controlador maestro y un controlador esclavo. Cuando la lógica maestro I2C
se activa, la lógica del esclavo permanece activa también, detectando el estado del BUS y por lo
tanto la disponibilidad de recibir mensajes desde él, ya sea de un esclavo en un ambiente de
maestro simple o de otro multimaestro. Los mensajes no se perderán si existe disponibilidad en
el bus
La comunicación I2C, tiene una lógica común para todos los dispositivos que desean comunicarse
con este protocolo, pero la forma de habilitación de cada uno de los modos de trabajo y las
características de los registros de transmisión, recepción y almacenamiento de la información
varían dependiendo del dispositivo que se utilice, en nuestro caso particular el dsPIC™, es un
dispositivo que posee un módulo específico para comunicación I2C y por lo tanto; con este módulo
pueden ser implementadas todas las funciones I2C para la transmisión de datos. A continuación se
destacan las propiedades más sobresalientes que es el dsPIC™ brinda con su módulo I2C. [12]
 Lógica independiente esclavo y maestro
 Soporta multimaestro. No existen mensajes perdidos.
 Detecta direccionamiento de 7 a 10 bits.
 Automático en ensanchamiento del clock en el SCL que provee demoras para que el
procesador responda a un requerimiento de dato esclavo.
 Soporta velocidades del bus de 100KHz y 400KHz

40
El I2C es una interface serial de 2 hilos (SDA para datos y SCL para clock) en la cual, podemos
convertirnos en un dispositivo maestro iniciando la transferencia del BUS y generando las señales
de reloj que permiten la transferencia. Mientras que el otro dispositivo actuará como esclavo
respondiendo a la transferencia
Las líneas SDA y SCL son bidireccionales porque los estados de salida de los dispositivos que
manejan las líneas SDA y SCL son de drain abierto. Resistencias pull-up son necesarias para
asegurar un nivel alto cuando ningún dispositivo en el BUS pone la línea abajo. La figura 3.26
muestra el ejemplo de conexión física de los dispositivos I2C. [15]

Figura 3.26. Conexión física del módulo I2C dsPIC como maestro e IMU como esclavo

3.4.3.3.1.1 Configuración del módulo y lectura de la IMU.


Se pretende adquirir datos de la minimu con el dsPIC para simular los filtros en MATLAB™
que se diseñarán en el siguiente capítulo. Ya que en un futuro trabajo se pueden implementar en
el dsPIC™ para realizar un sistema de medición de actitud preciso, y que con mayor trabajo pueda
convertirse un controlador de vuelo para un cuadricoptero, o incluso algún avión no tripulado.
Los dsPIC™ son microcontroladores de grandes capacidades, además son de bajo costo. Y tiene
módulos que hacen más sencillo el trabajo del programador. En este trabajo se utilizó el
compilador MPLAB C30 con dsPIC33FJ12GP202, el cual se configuró para que trabajara con un
𝐹𝐶𝑌 de 36.85 MHz es decir a 36.85 millones de instrucciones por segundo (MIPS), cuando su
máxima operación puede ser de 40 MIPS. Con esta velocidad de operación se configuró el módulo
I2C en modo maestro a una velocidad de 100kHz.
La Mini IMU está configurada de fábrica para ser un esclavo. Esta tiene que configurarse para
iniciar su operación, ya que cuando se inicia; su configuración inicial hace que no sea posible
adquirir datos de los sensores que la integran. Estos sensores se configuran independientemente.
Cuenta con algunos registros de configuración que permite poder seleccionar diversas formas de
operación.

41
La Mini IMU se integra de un acelerómetro, un giróscopo y un magnetómetro cada uno de tres
ejes. El magnetómetro y el acelerómetro se encuentran en el mismo circuito integrado, pero aun
así tiene diferente dirección. El módulo dsPIC™ tiene de 7 a 10 bits de direccionamiento esto
quiere decir que puede comunicarse en teoría con 27 (128) o 210 1024 sensores con diferente
dirección, lo cual hace que leer datos una IMU de tres sensores no sea un problema. En este
trabajo únicamente se configuró el acelerómetro ya que no se trabajó en un algoritmo de función
de datos. Solo se trabajó en los filtros para el acelerómetro. A continuación se describirá los
parámetros de configuración del acelerómetro así como también el código en C30 que se realizó
para configurar la minimu.
Para poner en marcha el funcionamiento de la minimu se deben de configurar dos registros
CTRL_REG_1_A con dirección 0x20 y CTRL_REG_4_A con dirección 0x23 de ocho bits cada uno,
mostrados en las tablas B8 y B9 (anexo B). Las configuraciones dependen del valor de cada uno de
esos bits, en las tablas B10, B11 y B12 (anexo B) se observan dichos parámetros de configuración.
[15]
Una vez configurados estos dos registros se procedió a leer las aceleraciones de los tres ejes. La
secuencia de transmisión para leer y recibir varios bytes de datos del esclavo se observa en la tabla
B13 (anexo B). La secuencia de varios bytes de lectura se utiliza porque la información de un eje
del acelerómetro está determinada por dos bytes ya que tiene una resolución de 12 bits. Entonces
el código que adquiere los dos bytes de información encuentra en el anexo A figura A4, ese código
se repite con las respectivas direcciones de los demás registros de los ejes Y y Z. Para más
información consulte la referencia [15].

3.4.3.3.2 Módulo serial en el dsPIC: Módulo UART


Posiblemente la comunicación serial es la más utilizada en la mayoría de proyectos de
control sea el expuesto en este punto este módulo se encarga de gestionar y controlar las
comunicaciones. Contiene las funciones necesarias para llevar a cabo una comunicación. Este
sistema de comunicación trabaja sobre un canal con dos hilos: transmisor (Tx) y receptor (Rx) Este
sistema se encuadra dentro de los mecanismos de comunicación punto a punto, es decir, un
transmisor y un receptor, no se configura un BUS de comunicaciones en el que varios dispositivos
están intercomunicados. Otra de las características importantes es que es un sistema digital que
funciona en banda base, lo que significa que la comunicación se realiza a base de pulsos por el
canal.
Como cualquier sistema de comunicación, tanto receptor como emisor deben hablar el mismo
“idioma”. Esto se consigue definiendo los parámetros de la comunicación. Los críticos son:
velocidad, bit de paridad, bits de stop [15][21].

La familia de los dsPIC33™ disponen de un módulo de comunicación serial asíncrono conocido


como UART (Universal Asynchronous Receiver Transmitter), este es un sistema de comunicación
full-dúplex asíncrono.

Las principales características de la UART son:

42
 Funcionamiento full-duplex con datos de 8 o 9 bits.
 Posibilidad de trabajar con paridad, impar o sin paridad.
 Uno o dos bits de parada.
 Tiene un generador de baudios con un prescaler d 16 bits, el cual tiene la función de
general la frecuencia de trabajo del módulo.
 Buffer de transmisión con capacidad de 4 caracteres.
 Buffer de recepción con capacidad de 4 caracteres.
 Posibilidad de interrupciones indicando el fin de la transmisión o recepción.
 La capacidad de elegir donde se quieren los pines de trasmisión y recepción.

3.4.3.3.2.1 Configuración y transmisión de datos.


Una vez leídos los tres ejes del sensor fue necesario enviar los datos de aceleración a la
computadora. Para eso se utilizó el módulo a UART del dsPIC™, el cual se configuró con 8 bits de
transmisión, un bit de parada, no paridad a una velocidad de 9600 baudios.
Para enviar los bytes de los tres ejes del acelerómetro se procedió a realizar la conexión que se
observa en el bosquejo de la figura 3.28. El cual cuenta con la Mini IMU, el dsPIC™ y la
computadora con LabVIEW™. Hacer un programa en LabVIEW™ permitiría procesar los datos
para verificar si las lecturas por el protocolo I2C se estaban haciendo de la forma correcta. Para
enviarlos se requirió emplear un método que consiste en enviar paquetes de datos. Cada paquete
contiene la información de los tres ejes, y son separados mediante un número. La tabla 3.23
ejemplifica la secuencia de envío de los datos.

Figura 3.28. Bosquejo de la conexión del sistema de adquisición con el dsPIC™.

43
Tabla 3.23. Método para enviar los tres ejes del acelerómetro por puerto serial

Carácter de inicio (paquete 1) 100


Byte bajo eje x Lx
Byte alto eje x Hx
Byte bajo eje y Ly
Byte alto eje y Hy
Byte bajo eje z Lz
Byte alto eje z Hz
Carácter de inicio (paquete 2) 100
Byte bajo eje x Lx
Byte alto eje x Hx
Byte bajo eje y Ly
Byte alto eje y Hy
Byte bajo eje z Lz
Byte alto eje z Hz
Carácter de inicio (paquete 3) 100

El VI que se realizó para recibir los datos se encuentra en anexo A figura A5 y A6. Este programa
configura el puerto serial con las mismas características de entrada del dsPIC™, además guarda
los datos que van llegando en un vector, ya que para construir una muestra de los ejes X, Y y Z es
necesario tener los 6 bytes.

3.4.3.4 Reconstrucción de datos en línea con LabVIEW™.

Los datos que se van guardando en el vector necesitan ser reconstruidos. Ya que una
muestra de cualquier eje, se compone de dos bytes. No fue posible enviar estos dos bytes
concatenados porque por el protocolo serial, únicamente se puede enviar 8 bits por transmisión
(1 byte). Es posible procesarlo internamente del dsPIC™, pero como los datos de estos sensores se
utilizaron para la simulación de filtros, fue necesario guardarlos en algún documento una vez
reconstruidos. El VI con el cual se reconstruyeron estos datos fue el de la figura A7 y A8 (anexo A).
Este programa se encarga de concatenar los datos, y convertir los 12 bits de cada muestra a su
representación física; es decir aceleración gravitacional. Además calcular los ángulos X, Y y Z que
corresponde al ángulo que tiene el vector gravedad con el eje de la Mini IMU.
Para guardar los datos en un documento, fue necesario poner en marcha todo el sistema, desde el
dsPIC™ hasta el VI anteriormente mencionado, y finalizar la ejecución del mismo algunos

44
segundos después, tratando de rotar la Mini IMU en todos sus ejes durante tiempo de adquisición.
Posterior a esto se hace un clic secundario sobre la gráfica de cada eje para exportar los datos a un
archivo de Excel.
La reconstrucción de datos del acelerómetro fue un éxito hasta cierto punto, ya que inicialmente
se comenzó a muestrear a una frecuencia de 10 Hz. Es por eso que el programa en LabVIEW™
funcionaba a la perfección. El problema surgió cuanto se intentó aumentar la velocidad de
muestreo. Sin embargo el sistema operativo no realiza atención a la lectura del puerto de
comunicación y por lo tanto era capaz de procesar toda esta información a una frecuencia mayor
que 20 Hz. Incluso se tomaron medidas de optimización al aumentar la velocidad de transmisión,
pero esto mejoras considerables. El problema no era tanto la velocidad de transmisión sino la
velocidad de atención a la lectura del puerto de comunicación por parte del sistema operativo
para recibir y concatenar toda esa cantidad de datos. Esto es razonable porque cada muestra de
los tres ejes se compone de 6 bytes, al muestrear a una velocidad de 20 Hz significa recibir 120
datos de 8 bits en un segundo y procesarlos al mismo tiempo.
Lo que se optó fue reconstruirlos fuera de tiempo, es decir guardar únicamente el vector en un
archivo de Excel. Esto redujo notoriamente la adquisición hasta cierto punto, ya que la
computadora también se comenzaba a trabar al superar una frecuencia de muestreo de 55 Hz, así
es que la frecuencia más óptima que se alcanzó fue de 49.5 Hz.

3.4.3.5 Reconstrucción de los datos fuera de línea con MATLAB.


Para reconstruir los datos se elaboró el código en MATLAB™ que se encuentra en el anexo
A figura A9 y A10. Estos fueron concatenados y convertidos a su correspondiente aceleración,
considerando la resolución y la escala en gravedad que se seleccionó a la hora que se configuró la
Mini IMU 9v2.

3.4.3.6 Contaminación de las señales obtenidas


Para la simulación de los filtros se utilizó la señal construida en la sección anterior. Esta
señal será contaminada con ruido sinusoidal de las frecuencias naturales encontradas
experimentalmente. Las frecuencias para conformar el ruido son: 35.1 Hz, 84.5 y 99.5, esto
significa que para construir una onda que contenga dichas frecuencias, se debe hacer al menos a
dos veces la frecuencia de muestreo (𝐹𝑠 ) de la más alta (199 Hz). El problema es que las lecturas
obtenidas de la minimu tiene una frecuencia máxima de 49.5 Hz por los problemas mencionados
anteriormente, entonces a esta señal no se le puede agregar un ruido sinusoidal con una
frecuencia mayor de 24.75 Hz (la mitad 49.5 Hz).
Para resolver ese inconveniente se utilizó un escalamiento que no afectará el desempeño del
filtro, para aclarar esto se ejemplifica con lo siguiente: Si se diseña un filtro rechaza banda donde
su frecuencia de corte es de 10 Hz y con 𝐹𝑠 de 100Hz, este puede ser implementado a 1000 Hz y
su frecuencia de corte durante la implementación cambiaria a 100 Hz. Esto sucede porque un
filtro IIR es una función polinómica, y dentro de esta función no hay algún término que involucre la
frecuencia de muestreo durante su implementación. Sus coeficientes si dependen de la

45
frecuencia de muestreo pero a la hora del cálculo y diseño de los mismos, es por eso que se
pueden hacer estos escalamientos.
Las frecuencias naturales se escalaron diez veces menores (3.51, 8.45 y 9.95). Entonces por lo
explicado con anterioridad, un filtro IIR diseñado con una frecuencia de muestreo de 49.5 Hz que
elimine frecuencias de 3.51, 8.45 y 9.95 puede atenuar frecuencias de 35.1, 84.5 y 99.5 a la hora
de la implementación si se le aplica a una señal muestreada diez veces mayor (495 Hz). Por otra
parte los cambios de actitud de un cuadricoptero que detecta la Mini IMU son de frecuencia muy
baja, y no son ondas sinusoidales. Entonces la señal de aceleración será la misma si se muestrea a
49.5 Hz que a 495 Hz, con la diferencia que a 495 Hz puede contener ruido periódico de a lo más
247.5 Hz. La señal ruidosa de la ecuación 3.4 se observa en la figura 3.35, la señal original del eje
X corresponde a la figura 3.36, mientras que la figura 3.37 muestra la señal del eje X contaminada
con el ruido de las frecuencias naturales.

𝑛(𝑡) = 0.12 ∗ 𝑆𝑖𝑛(2𝜋 ∗ 3.51 𝐻𝑧 ∗ 𝑡) + 0.12 ∗ 𝑆𝑖𝑛(2𝜋 ∗ 8.45 𝐻𝑧 ∗ 𝑡) + 0.12 ∗ 𝑆𝑖𝑛(2𝜋 ∗ 9.95 𝐻𝑧 ∗ 𝑡)
(3.4)

Ruido senoidal
0.4

0.3

0.2

0.1
Voltaje (V)

-0.1

-0.2

-0.3

-0.4
0 1 2 3 4 5 6 7 8 9 10
Tiempo (s)

Figura 3.35. Ruido sinusoidal con la suma de tres ondas de frecuencias diferentes que
corresponden las frecuencias naturales del cuadricoptero.

46
Señal original
0.6

0.4

0.2

0
Voltaje (V)

-0.2

-0.4

-0.6

-0.8
0 1 2 3 4 5 6 7 8 9 10
Tiempo (s)

Figura 3.36. Señal original del eje X.

Señal perturbada
0.8

0.6

0.4

0.2
Voltaje (V)

-0.2

-0.4

-0.6

-0.8

-1
0 1 2 3 4 5 6 7 8 9 10
Tiempo (s)

Figura 3.37. Señal del eje X contaminada con el ruido de las frecuencias naturales.

47
4 Resultados
4.1 Aplicación de los filtros IIR y Kalman

4.1.1 Filtro Kalman


Se procedió a aplicar el filtro Kalman en una dimensión a la señal contaminada con ondas
de las tres frecuencias naturales. Las señales de los tres ejes del acelerómetro de la Mini IMU se
contaminaron con dicha señal y se filtraron. La Figuras 4.1 ,4.2 y 4.3 muestran el desempeño del
filtro Kalman, ya que en estas se grafica la salida del filtro Kalman, la señal contaminada y la señal
original. El filtro Kalman atenuó las tres frecuencias de ruido en los tres ejes., aun así se observa un
poco de ruido o desviación en comparación con la señal origina. Para la aplicación del filtro Kalman
solo fue necesario de introducir el vector de datos a filtrar y se obtuvo un filtrado inmediato. Es
decir no se tuvo que aplicar un filtro diferente para cada frecuencia, en caso contrario de los
filtros IIR que la siguiente sección se observará su desempeño.

Filtro Kalman, Contaminada y Original del eje X


1.5
Señal filtrada
Señal contaminada
1 Señal original

0.5
Voltaje (V)

-0.5

-1

-1.5
0 1 2 3 4 5 6 7 8 9 10
Tiempo (s)

Figura 4.1. Implementación del filtro Kalman en el eje X

48
Filtro Kalman, Contaminada y Original del eje Y
1.5
Señal filtrada
Señal contaminada
1 Señal original

0.5
Voltaje (V)

-0.5

-1

-1.5
0 1 2 3 4 5 6 7 8 9 10
Tiempo (s)

Figura 4.2. Implementación del filtro Kalman en el eje Y

49
Filtro Kalman, Contaminada y Original del eje Z

2.4 Señal filtrada


Señal contaminada
2.2 Señal original

1.8
Voltaje (V)

1.6

1.4

1.2

0.8

0 1 2 3 4 5 6 7 8 9 10
Tiempo (s)

Figura 4.3. Implementación del filtro Kalman en el eje Z

4.1.2 Filtros IIR.


Para la implementación de los filtros IIR es diferente a la del filtro Kalman, ya que para
eliminar las tres bandas de frecuencia es necesario aplicar un filtro para cada banda, es decir en
cuanto se atenúa la perturbación de una frecuencia, la salida de este entra al siguiente filtro para
atenuar la siguiente banda y así sucesivamente hasta que se hallan aplicado los tres filtros IIR.
El desempeño de los filtros IIR se observa en las Figuras 4.4, 4.5 y 4.6 en las cuales se encuentra la
señal filtrada, la señal contaminada y la señal original para cada eje del acelerómetro. Con esta
comparación es fácil visualizar la efectividad de este filtro, incluso tiene una mejor respuesta que
el filtro Kalman porque tiene menor desviación de la señal original.

50
Filtro IIR, Contaminada y Original del eje X

Señal filtrada
1
Señal contaminada
Señal original

0.5
Voltaje (V)

-0.5

-1

0 1 2 3 4 5 6 7 8 9 10
Tiempo (s)

Figuras 4.4. Implementación del filtro IIR en el eje X

51
Filtro IIR, Contaminada y Original del eje Y
1.5
Señal filtrada
Señal contaminada
Señal original
1

0.5
Voltaje (V)

-0.5

-1
0 1 2 3 4 5 6 7 8 9 10
Tiempo (s)

Figuras 4.5. Implementación del filtro IIR en el eje Y

52
Filtro IIR, Contaminada y Original del eje Z
3
Señal filtrada
Señal contaminada
Señal original
2.5

2
Voltaje (V)

1.5

0.5
0 1 2 3 4 5 6 7 8 9 10
Tiempo (s)

Figuras 4.6. Implementación del filtro IIR en el eje Z

4.2 Relación señal a ruido obtenida con los filtros.


Para la evaluación de los filtros se utilizó la relación señal a ruido que proporciona una
comparación de la de la cantidad de señal, con la cantidad de ruido de fondo de una señal en
particular, de tal manera que una SNR mayor indica un ruido de fondo menos perceptible.
Su definición matemática como se expresa en la ecuación 4.1 donde Ps es la potencia media de la
señal deseada, Pn es la potencia media del ruido indeseado, Rs es la medida de una amplitud RMS
de voltaje y Rn es la medida de una amplitud RMS del ruido.
El decibel es una medida de cantidad en relación a un nivel de referencia conocido. Es una
mediada logarítmica que perimirte expresar fácilmente número muy grandes o muy pequeños.
𝑃𝑠 𝑅𝑠 2
𝑆𝑁𝑅 = =( ) (4.1)
𝑃𝑛 𝑅𝑛

La ecuación 4.2 expresada la relación señal a ruido en decibeles dB .


𝑅𝑠 2
𝑆𝑁𝑅(𝑑𝐵) = 10𝐿𝑜𝑔10 ( ) (4.2)
𝑅𝑛

53
Esta relación es un indicador de la efectividad de un filtro a la hora de suprimir ruido. Para una
señal discreta se utiliza la ecuación 4.3 donde 𝑋𝑠 es el vector de la señal original y ∈ es el error;
que es la diferencia entre la señal filtrada y la señal original, este puede ser interpretado como el
ruido que quedó después del filtrado.
∑∞ 2
𝑛=−∞ 𝑋𝑠 [𝑛]
𝑆𝑁𝑅(𝑑𝐵) = 10𝐿𝑜𝑔10 ( ∞ ) (4.3)
∑𝑛=−∞ ∈2 [𝑛]

En MATLAB™ se realizó el código para determinar la relación de señal a ruido en decibeles para
una señal discreta, los resultados de esta evaluación de filtros son mostrados en la tabla 4.1.
Donde se especifica el tipo de filtro y el eje con su respectiva relación. En esta se puede observar
que el filtro IIR tiene mayor desempeño en la supresión de ruido para los ejes X y Y. Esto caso fue
diferente para el eje Z ya que dicha relación fue mayor en el filtro Kalman. Lo que sucedió fue que;
al comenzar con el filtrado se presentó una oscilación al inicio de la señal del eje Z con el filtro IIR,
esto es un indicador de una desestabilización que es típico de los filtros IIR. Este comportamiento
se observa con claridad en la figura 4.6.
Tabla 4.1. Relación señal a ruido del filtrado IIR y Kalman de los tres ejes de la minimu.

SNR Eje x (dB) Eje y (dB) Eje z (dB)


Kalman 13.19 12.59 29.26
IIR 19.14 17.10 27.33

4.3 Discusión de resultados.


Los filtros se aplicaron a cada uno de los tres ejes del acelerómetro, el filtro Kalman mostró buena
atenuación, sin embargo el filtro IIR tuvo mejor resultado a la hora de suprimir las perturbaciones
de las frecuencias naturales. Este resultado no solo se aprecia al ver las figuras anteriores sino
porque también presentaron valores más grandes de la relación señal a ruido. El filtro IIR tiene
mejores resultados en esta ocasión ya que fueron diseñados para atenuar específicamente estas
tres bandas de frecuencia, mientras que el Kalman eliminó las señales no deseadas, pero no
atenuó tan bien como el filtro IIR ya que es un filtro predictivo. Cabe mencionar que para este
caso en específico el filtro Kalman es más sencillo de implementar porque fue desarrollado en una
dimensión y no como fusión de datos de sensores. Para implementarlo en un dsPIC™ no tendría
mucha complejidad además de que con el mismo código se elimina las tres frecuencias naturales.
Aunque los dsPIC™ estén diseñados para ejecutar los filtros IIR en este desarrollo la programación
de estos es más extensa que el filtro Kalman, ya son tres filtros rechaza banda los que se tendrían
que programar y ejecutar para eliminar las tres bandas de frecuencia.

54
Sin duda alguna los dos esquemas de filtros presentados son buenos para atenuar este tipo de
perturbaciones y hacer más confiables las lecturas de los acelerómetros para hacer un cálculo de
actitud.

5 Conclusiones y trabajo futuro.

La obtención de las frecuencias naturales del cuadricoptero por el método experimental fue de
suma importancia para el desarrollo de este trabajo, ya que proporcionaron la información
necesaria para el diseño de los filtros, además de que se adquirió un conocimiento de la
localización de los primeros modos de vibración del cuadricóptero que pudieran ocasionar algún
daño estructural. Se comprobó experimentalmente que la resonancia debe ser considerada como
un factor que afecta las lecturas del acelerómetro, que de no ser tomado en cuenta puede llegar a
perjudicar una estimación precisa de la actitud estática que proporciona un acelerómetro.

El filtro Kalman resultó ser la mejor opción para este tipo de aplicación, ya que es predictivo y no
sólo puede eliminar las vibraciones mecánicas de frecuencias preestablecidas, sino que también
puede filtrar otras frecuencias sin necesidad de diseñarlo para atenuar alguna en específico. Por su
parte el filtro IIR tuvo mejor desempeño que el filtro Kalman en cuanto a la atenuación se refiere,
pero no es el óptimo para aplicar en este tipo de desarrollos, ya que las frecuencias de diseño a
suprimir son las frecuencias de vibración del cuadricoptero y estas podrían ser diferentes si la
masa o la rigidez cambian, lo cual puede ser debido a que en un cuadricoptero pueden variar de
un momento a otro al agregar equipamiento o baterías de mayor capacidad, significativamente
cambiaría la masa y por ende las frecuencias naturales. Como el filtro IIR no es adaptativo no
cambiaría las bandas de frecuencia de diseño haciendo que se reduzca la efectividad a la hora de
atenuar las vibraciones mecánicas previamente analizadas.

En este trabajo se realizaron simulaciones de estos y quedaría como trabajo futuro su


implementación en un dsPIC™ o cualquier otro hardware. El objetivo de esta investigación no fue
desarrollar algoritmos de fusión de datos de sensores, sin duda alguna la implementación de esto
ayudaría a obtener un sistema de referencia inercial preciso. Ya que el acelerómetro por sí solo no
funcionaría para realizar un marco de referencia en ejes cuerpo porque al moverse captaría las
aceleraciones y provocaría un error de estimación. Este trabajo sirve como referencia para
complementar un algoritmo de fusión de datos y así lograr obtener un sistema de referencia de
actitud preciso.

55
6 Referencias.
[1] CHIRAPOZU A. Patricia & OLEAGORDIA A. Iñigo J., “Tutorial de adquisición y procesado de
señales”, Consultado del sitio web de la Universidad del País Vasco Disponible en:
http://www.ehu.es/procesadoinsvirtual/Marcos.html

[2] “Consideraciones generales sobre dinámica estructural” Cap.1, Universidad Nacional de


Córdoba, Argentina, Consultado en línea el 21 de Julio del 2014, Disponible en:
http://www.efn.uncor.edu/departamentos/estruct/ana_est_ic/DINAMICA-revA.pdf

[3] DIMEM, “Notación y definiciones”, Notas del curso: Elementos de Máquinas y vibraciones,
Universidad Pública de Navarra, España., pdf. Consultado en línea en Enero 2015. Disponible en:
http://www.imem.unavarra.es/EMyV/pdfdoc/vib/vib_Notacion.pdf

[4] Hobbyking.com® , Turnigy®, Durafly® . “Turnigy Talon Carbon Fiber Quadcopter Frame”,
[Consultado en línea] Disponible en:
http://hobbyking.com/hobbyking/store/__22397__Turnigy_Talon_Carbon_Fiber_Quadcopter_Fra
me.html

[5] Hobbyking.com®, Turnigy®, Durafly®. “Zippy Compact 5000 mAh 3s 25C Lipo Pack”, [Consultado
en línea] Disponible en:
http://hobbyking.com/hobbyking/store/__21370__ZIPPY_Compact_5000mAh_3S_25C_Lipo_Pack.
html

[6] Hobbyking.com® , Turnigy®, Durafly® . “Turnigy Plush 25amp Speed Controller” [Consultado en
línea] Disponible en:
http://www.hobbyking.com/hobbyking/store/__2163__TURNIGY_Plush_25amp_Speed_Controlle
r.html

[7] Hobbyking.com®, Turnigy®, Durafly® . “10x4.5 SF Props 2pc Standard Rotation/2 pc RH Rotation
Flouro Yellow” Disponible en:
http://www.hobbyking.com/hobbyking/store/__25823__10x4_5_SF_Props_2pc_Standard_Rotati
on_2_pc_RH_Rotation_Flouro_Yellow_.html

[8] Hobbyking.com®, Turnigy®, Durafly® catalog. “ZIPPY Compact 5000 mAh 3s 25C Lipo Pack”,
[Consultado en línea] Disponible en:
http://hobbyking.com/hobbyking/store/__21370__ZIPPY_Compact_5000mAh_3S_25C_Lipo_Pack.
html

[9] Hongtao Zhang*, Longqiu Li, Lin Wang y Guangyu Zhang, ”An improved vibration and
disturbance reduction method for a quad-rotor micro air vehicle”, International Conference on
Automatic Control and Artificial Intelligence, ( 2012).

56
[10] Inelmatic, “El Filtro de Kalman”, [pdf][Artículo Consultado en línea del portal de Inermatic
Electronics] Disponible en: http://www.inelmatic.com/web/files/downloads/filtrodekalman.pdf

[11] J. Ma. RICO MARTINEZ, “Fundamentos de Vibraciones Mecánicas”, Definiciones y


Terminología. Facultad de Ingeniería Mecánica Eléctrica y Electrónica, Guanajuato México,
Consultado en línea Julio 2014, Disponible en:
http://www.fimee.ugto.mx/profesores/chema/documentos/Vibraciones%20Mec%C3%A1nicas/Fu
ndamentosdeVibraciones.pdf

[12] Kharsansky Alan, “Diseño e implementación de un sistema embebido de control de actitud


para aeronaves no tripuladas”, Tesis de grado de Ingeniería, Universidad de Buenos Aires (2013).

[13] LEYTON V., Hernando. “Desarrollo, implementación y prueba de un filtro de Kalman del tipo
UKF para un vehículo aéreo no tripulado”, Tesis de Grado de Maestría. Universidad EAFIT.
Medellín Colombia (2009).

[14] MELERO CAZORLA David. “Modelado dinámico y diseño de estrategia de control mediante
estimadores para el vuelo autónomo de un quadrotor”, Universidad de Almería, (2013).

[15] Microchip Technology Inc., ”Datasheet dspic33FJ12GP202.” [2007] [pdf.] Recuperado del
portal de Documentation & Software de Microchip:
http://ww1.microchip.com/downloads/en/DeviceDoc/70264B.pdf

[16] NATIONAL INSTRUMENTS Corporation, “¿Qué es Adquisición de Datos?”. 2014® [Consultado


en línea] Disponible en el portal de productos y servicios de National Instruments:
http://www.ni.com/data-acquisition/what-is/esa/

[17] POLOLU Robotics & Electronics, Catalog. “MinIMU-9 v2 Gyro, Accelerometer, and Compass
(L3GD20 and LSM303DLHC Carrier)”, [Consultado en línea] Disponible en el portal de Pololu
Robotics & Electronics: https://www.pololu.com/product/1268 IMU

[18] POLOLU Robotics & Electronics, Catalog. “MMA7361LC 3-Axis Accelerometer ±1.5/6g with
Voltage Regulator”, [Consultado en línea] Disponible en el portal de Pololu Robotics & Electronics:
https://www.pololu.com/product/1251

[19] RAMASWAMY Bharath, “Kalman filter based estimation of inertial measurement Unit
parameters in a portable biomechanical assessment suit (pbas)”, Tesis de grado de Maestría,
Universidad Estatal de Pennsylvania, Pensilvania (2011).

[20] REDUCINDO RUIZ Isnardo, “Diseño de Flitros Digitales”, Curso PDS, Universidad Autónoma de
San Luis Potosí, S.L.P Mexico, [ppt en pdf.] Disponible en:
http://galia.fc.uaslp.mx/~isnardo/PDS/DigitalFiltersDesign.pdf

[21] SALAVERT TORRES Francisco, “Implementación de un regulador PID en un dsPIC33F”, Tesis de


grado de Ingeniería, Universidad Politécnica de Valencia. España (2010).

57
[23] Sandra Mau “What is the Kalman Filter and How can it be used for Data Fusión?”, Robotics
Math 16-811. (2005).

[24] SCHMID Hanspeter, “How to use FFT and Matlab’s pwelch function for signal and noise
simulations and measurements”, UASNS, IME, August 2012. Consultado en línea pdf., Disponible
en: http://www.fhnw.ch/technik/ime/publikationen/2012/how-to-use-the-fft-and-matlab2019s-
pwelch-function-for-signal-and-noise-simulations-and-measurements

[24] TE, G. U. T. “Modelling and Control of Autonomous Quad-Rotor.”, Proyecto de Maestría,


Facultad de Ingeniería, Ciencia y Medicina, Universidad de Aalborg. Dinamarca (2010).

7 ANEXOS

Anexo A Programas

Figura A1. VI para la adquisición de datos

58
Figura A2. Código de diseño de los tres filtros IIR en MATLAB

Figura A3. Código en MATLAB del filtro Kalman.

59
Figura A4. Lectura de los dos bytes del eje x de la minimu.

Figura A5. Panel frontal que despliega los datos de los tres ejes del acelerómetro.

60
Figura A6. Block Diagram que procesa los datos que llegan por el puerto serial

Figura A7. Captura de pantalla del VI que recibe lo bytes de los tres ejes del acelerómetro.

61
Figura A8. Captura de pantalla del VI que recibe lo bytes de los tres ejes del acelerómetro segunda
parte.

Figura A9. Código que importa a MATLAB los datos de la adquisición de los tres ejes guardados en
un documento de texto

62
Figura A10. Código de concatenación y conversión a aceleración delas tres señales del
acelerómetro.

Anexo B Tablas.
Tabla B1. Coeficientes de la función de transferencia para el filtro para banda de 9.95Hz.

Numerador Coeficiente 𝒁−𝒏 Denominador Coeficiente 𝒁−𝒏


(𝒏) (𝒏)
𝒂𝟎 0.759 0 𝑏0 1 0
𝒂𝟏 -3.22 1 𝑏1 -4.07 1
𝒂𝟐 11.17 2 𝑏2 13.57 2
𝒂𝟑 -25.25 3 𝑏3 -29.47 3
𝒂𝟒 48.83 4 𝑏4 54.74 4
𝒂𝟓 -73.31 5 𝑏5 -78.98 5
𝒂𝟔 96.20 6 𝑏6 99.60 6
𝒂𝟕 -102.60 7 𝑏7 -102.11 7
𝒂𝟖 96.20 8 𝑏8 92.05 8
𝒂𝟗 -73.31 9 𝑏9 -67.47 9
𝒂𝟏𝟎 48.83 10 𝑏10 43.22 10
𝒂𝟏𝟏 -25.25 11 𝑏11 -21.50 11
𝒂𝟏𝟐 11.17 12 𝑏12 9.15 12
𝒂𝟏𝟑 -3.22 13 𝑏13 -2.54 13
𝒂𝟏𝟒 0.75 14 𝑏14 0.57 14

63
Tabla B2 Coeficientes de la función de transferencia para el filtro para banda de 8.75Hz.

Numerador Coeficiente 𝒁−𝒏 Denominador Coeficiente 𝒁−𝒏


(𝒏) (𝒏)
𝒂𝟎 0.75 0 𝑏0 1 0
𝒂𝟏 -4.72 -1 𝑏1 -5.97 -1
𝒂𝟐 17.90 -2 𝑏2 21.75 -2
𝒂𝟑 -46.97 -3 𝑏3 -54.84 -3
𝒂𝟒 95.45 -4 𝑏4 107.05 -4
𝒂𝟓 -154.24 -5 𝑏5 -166.23 -5
𝒂𝟔 204.77 -6 𝑏6 212.11 -6
𝒂𝟕 -224.30 -7 𝑏7 -223.35 -7
𝒂𝟖 204.77 -8 𝑏8 196.05 -8
𝒂𝟗 -154.24 -9 𝑏9 -142.01 -9
𝒂𝟏𝟎 95.45 -10 𝑏10 84.53 -10
𝒂𝟏𝟏 -46.97 -11 𝑏11 -40.02 -11
𝒂𝟏𝟐 17.90 -12 𝑏12 14.67 -12
𝒂𝟏𝟑 -4.72 -13 𝑏13 -3.72 -13
𝒂𝟏𝟒 0.75 -14 𝑏14 0.57 -14

Tabla B3. Coeficientes de la función de transferencia para el filtro para banda de 3.51 Hz.

Numerador Coeficiente 𝒁−𝒏 Denominador Coeficiente 𝒁−𝒏


(𝒏) (𝒏)
𝒂𝟎 0.86 0 𝑏0 1 0
𝒂𝟏 -6.23 -1 𝑏1 -6.95 -1
𝒂𝟐 20.33 -2 𝑏2 21.86 -2
𝒂𝟑 -39.02 -3 𝑏3 -40.42 -3
𝒂𝟒 48.11 -4 𝑏4 48.03 -4
𝒂𝟓 -39.02 -5 𝑏5 -37.55 -5
𝒂𝟔 20.33 -6 𝑏6 18.86 -6
𝒂𝟕 -6.23 -7 𝑏7 -5.57 -7
𝒂𝟖 0.86 -8 𝑏8 0.74 -8

64
Tabla B4. Tipo de datos enteros, tamaños y límites [9].

Tabla B5. Tipo de datos flotantes, tamaños y límites [9].

Tabla B6. Especificaciones de la minimu versión 9.2. [12]

Dimensiones 20×13× 3 mm
Peso sin tira de pines 0.7 g
Voltaje de operación 2.5 a 5.5V
Suministro de corriente 10 mA
Formato de salida I2C
Resolución del giróscopo 16 bits por eje
Resolución del acelerómetro 12 bits por eje justificados a la izquierda.
Resolución del magnetómetro 12 bits por eje justificados a la derecha
Rango de sensibilidad La sensibilidad es configurable según el sensor
Acelerómetro ±2, ±4, ±8, or ±16 g
Giróscopo ±250, ±500, or ±2000°/s
Magnetómetro ±1.3, ±1.9, ±2.5, ±4.0, ±4.7, ±5.6, or ±8.1 gauss
Dirección para comunicarse con el 0011001b (0x19)
acelerómetro
Dirección para comunicarse con el giróscopo 1101011b (0x6B)
Dirección para comunicarse con el 0011110b (ox1E)
acelerómetro

65
Tabla B7. Pines de salida de la minimu versión 9.2. [12]

SCL Línea I2C de reloj (Clock). Nivel alto es VIN y nivel bajo es 0 Volts
SDA Línea I2C de datos (Data). Nivel alto es VIN y nivel bajo es 0 Volts
GND Tierra (0 Volts)
VIN Principal conexión al suministro de corriente (2.5V a 5.5V). El nivel de voltaje de
este es l nivel de voltaje de las líneas SCL y SDA.
VDD Salida regulada a 3.3 Volts o suministro de corriente de bajo voltaje (3.3V),
dependiendo de VIN. Cuando VIN es alimentado a más de 3.3V, VDD es regulado a
3.3V y puede alimentar hasta 150mA para componentes externos. Cuando se
conecta a VDD se tiene que dejar desconectado VIN. Nunca alimentar voltaje a
VDD cuando VIN es conectado, y nunca alimentar a más de 3.6V

Tabla B8. Bits del registro CTRL_REG_1_A

Tabla B9. Bits del registro CTRL_REG_4_A

Tabla B10. Parámetros de configuración del registro CTRL_REG_1_A de ocho bits.

66
Tabla B11. Los cuatro bits más altos del registro CTRL_REG_1_A de Data rate.

Tabla B12. Parámetros de configuración del registro CTRL_REG_4_A de ocho bits.

Tabla B13.

67

Das könnte Ihnen auch gefallen