Beruflich Dokumente
Kultur Dokumente
ASESORES
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.
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
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.
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.
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.
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.
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].
𝑁𝑦 −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
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
Dónde:
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
Desviación de observación
Desviación de estado.
Covarianza del error
Varianza de observación
Varianza del estado
Condiciones
iniciales
xˆ k G xˆ ' k Hu ( k )
Pk GP k ' G T R w
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]
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.
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
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
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]
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.
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.
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.
28
Figura 3.12. Espectro de frecuencias del primer impacto del eje X.
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 / /
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 /
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 𝑑𝐵
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
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.
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.
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.
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
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.
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
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
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].
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.
43
Tabla 3.23. Método para enviar los tres ejes del acelerómetro por puerto serial
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.
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.
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)
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
0.5
Voltaje (V)
-0.5
-1
-1.5
0 1 2 3 4 5 6 7 8 9 10
Tiempo (s)
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)
49
Filtro Kalman, Contaminada y Original del eje Z
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)
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)
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)
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)
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.
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.
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.
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
[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
[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
[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
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
7 ANEXOS
Anexo A Programas
58
Figura A2. Código de diseño de los tres filtros IIR en MATLAB
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.
63
Tabla B2 Coeficientes de la función de transferencia para el filtro para banda de 8.75Hz.
Tabla B3. Coeficientes de la función de transferencia para el filtro para banda de 3.51 Hz.
64
Tabla B4. Tipo de datos enteros, tamaños y límites [9].
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
66
Tabla B11. Los cuatro bits más altos del registro CTRL_REG_1_A de Data rate.
Tabla B13.
67