Full text
Proyecto Fin de Carrera Ingeniería de Telecomunicación Formato de Publicación de la Escuela Técnica Superior de Ingeniería Autor: F. Javier Payán Somet Tutor: Juan José Murillo Fuentes Dep. Teoría de la Señal y Comunicaciones Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2013 Trabajo Fin de Grado Grado en Ingeniería de Tecnologías Industriales Detección, localización y compensación de fallos del sistema de propulsión de multirotores Autor: Álvaro Morales Calvillo Tutores: Antonio González Morgado Guillermo Heredia Benot Dpto. Ingeniería de Sistemas y Automática Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2023
Trabajo Fin de Grado Grado en Ingeniería de Tecnologías Industriales Detección, localización y compensación de fallos del sistema de propulsión de multirotores Autor: Álvaro Morales Calvillo Tutores: Antonio González Morgado Doctorando Guillermo Heredia Benot Catedrático de Universidad Dpto. Ingeniería de Sistemas y Automática Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2023
Trabajo Fin de Grado: Detección, localización y compensación de fallos del sistema de propulsión de multirotores Autor: Álvaro Morales Calvillo Tutores: Antonio González Morgado Guillermo Heredia Benot El tribunal nombrado para juzgar el trabajo arriba indicado, compuesto por los siguientes profesores: Presidente: Vocal/es: Secretario: acuerdan otorgarle la calificación de: El Secretario del Tribunal Fecha:
Agradecimientos En primer lugar, gracias a mi tutor, Antonio González Morgado, por la confianza depositada en mí para la realización de este trabajo de fin de grado y su enorme implicación durante todo el proceso. Me gustaría también dar las gracias al Grupo de Robótica, Visión y Control, en especial a Carlos Álvarez Cía, por el apoyo y la ayuda brindadas a este proyecto. Por último, dar las gracias a mi familia, a mis amigos y a Celia por su ayuda, apoyo incondicional y comprensión. Álvaro Morales Calvillo Estudiante del Grado de Ingeniería de Tecnologías Industriales Sevilla, 2023 I
Resumen El objetivo principal de este trabajo de fin de grado es desarrollar un sistema que emplee células de carga para poder detectar y aislar fallos en los actuadores de un multirotor, más concretamente, identificar la pérdida parcial o total de la capacidad para generar empuje que pueda producirse en cualquier punto del sistema de propulsión. La utilidad de este sistema radica en la posibilidad de implementar técnicas de control en plataformas multirotor de manera que, si la plataforma es teóricamente controlable en el caso de que uno o varios de sus actuadores fallen, el supuesto fallo sea tomado en cuenta a la hora de realizar el reparto de las acciones de control. Con este fin, se realiza una revisión de la bibliografía existente en lo referente a la controlabilidad de plataformas multirotor, extendiendo dichos estudios para considerar posibles fallos en los actuadores, lo que permite el diseño de plataformas tolerantes a fallos. En base a la teoría, se implementan dos configuraciones de hexarotor tolerantes a fallos, una de hélices coplanarias y otra de hélices inclinadas. Por último, se lleva a cabo el montaje de un sistema de detección y aislamiento de fallos y se instala en ambos hexarotores. El algoritmo de control es previamente modificado para que, con la información que recibe, determine cuándo existe un fallo de actuador y desencadene una reconfiguración para que las acciones de control se repartan entre los actuadores que siguen funcionando correctamente. Para evaluar los resultados del trabajo se realizan pruebas reales de vuelo para verificar que las configuraciones de hexarotor implementadas permiten el control del multirotor cuando tiene lugar el fallo total de alguno de los actuadores. Además, se comprueba que el sistema de detección y aislamiento de fallos cumple con su cometido. III
2Capítulo 1. Introducción Una vez se haya demostrado que son controlables en condiciones de fallo, se desarrollará e implementará un sistema que emplee células de carga para detectar e identificar posibles fallos en cualquiera de los rotores, con el fin de tomar las acciones necesarias para mantener el control del multirotor en base a dicha información. 1.2 Estructura del documento El proyecto se ha dividido en 7 capítulos: • En el capítulo 1 se hace una breve introducción a los multirotores, a sus múltiples bondades y a sus inconvenientes y aspectos a mejorar. Además de una definición de los objetivos principales del trabajo y la estructura del mismo. • En el capítulo 2 se realiza una revisión sobre los estudios de controlabilidad de multirotores. Se aborda el problema desde dos perspectivas diferentes y se aplica la teoría expuesta a la configuración de hexarotor estándar y a dos configuraciones de hexarotor teóricamente tolerantes a fallos, una de hélices coplanarias y otra de hélices inclinadas. • En el capítulo 3 se lleva a cabo una breve revisión sobre las técnicas de control tolerantes a fallos. Además, se desarrollan los esquemas de control que han sido implementados en este trabajo, basados en la reconfiguración, y se describe cómo queda integrado el sistema de detección y aislamiento de fallos. • En el capítulo 4 se describe el principio de funcionamiento y proceso de desarrollo del sistema ideado para la detección y el aislamiento de fallos en el sistema de propulsión. • En el capítulo 5 se detalla el proceso de montaje de los dos hexarotores en configuración tolerante a fallos. •En el capítulo 6 se presentan las pruebas realizadas y los resultados experimentales obtenidos. • En el capítulo 7 se exponen las conclusiones extraídas tras la realización de este proyecto y se proponen posibles trabajos que pueden ser abordados en un futuro relacionados con la temática del mismo.
2 Configuraciones de hexarotor tolerantes a fallos En este capítulo se lleva a cabo una revisión de la bibliografía existente sobre la controlabilidad de sistemas multirotor para, en última instancia, poder determinar si una plataforma es o no tolerante a la degradación o el fallo total de alguno de sus actuadores. En primer lugar se destaca la importancia de estos estudios a la hora de diseñar una plataforma multirotor y se registran las aportaciones más significativas sobre este tema hasta la fecha. A continuación, se profundiza en los estudios teóricos más relevantes, dos enfoques diferentes para evaluar la controlabilidad en multirotores. La teoría expuesta se aplica al caso particular de los hexarotores, en concreto, a la configuración estándar y a otras dos que son, en teoría, tolerantes a fallos. 2.1 Motivación estudiar la controlabilidad de un multirotor La controlabilidad de un sistema se refiere a la capacidad del mismo para alcanzar un estado deseado en un tiempo finito mediante la aplicación de las entradas de control adecuadas. Que un sistema sea controlable depende de su estructura y dinámica, así como de las señales de control alcanzables. Sin embargo, es importante tener en cuenta que el hecho de que un sistema sea controlable no garantiza su estabilidad o el rendimiento óptimo del mismo. Estos aspectos deben ser abordados desde el diseño del controlador. Los estudios sobre la controlabilidad de multirotores permiten comprender en profundidad las capacidades y limitaciones de estos sistemas. Proporcionan una base sólida para el diseño y la implementación de estrategias de control efectivas para nuevas configuraciones y, además, aplicados al diseño de plataformas en las que se ha considerado la posible degradación o el fallo total de uno o varios actuadores, conducen al desarrollo de nuevas plataformas tolerantes a fallos. Para lograr los objetivos en los que se centra este trabajo, y para que tenga sentido llevarlo a cabo, es necesaria la implementación de al menos una plataforma multirotor capaz de asumir el fallo de al menos uno de sus actuadores. Por ello, se ha realizado una revisión de las publicaciones más relevantes que se han realizado acerca de este tema en los últimos años: • En [ 1 ] se lleva a cabo un análisis de controlabilidad centrado en las plataformas multirotor estándar de hélices coplanarias. Se llega a la conclusión de que, en el caso de que ocurra un fallo de motor, la controlabilidad depende en gran medida de la configuración considerada en cuanto a la disposición en el plano y sentido de giro de cada una de las hélices. • En [ 2 ] se demuestra formalmente que el número mínimo de motores con los que debe contar una plataforma multirotor para llegar a ser tolerante a fallos es de seis. Además, se proponen pautas para el diseño de un hexarotor con la habilidad de rechazar perturbaciones de momentos en todas las direcciones, al mismo tiempo que compensa el efecto del fallo de uno de sus actuadores. 3
4Capítulo 2. Configuraciones de hexarotor tolerantes a fallos •En [3] y [4], se centran en el tipo de hexarotor descrito en [2], llevando a cabo un análisis exhaustivo sobre la influencia de los ángulos de inclinación de las hélices en la controlabilidad bajo fallos y diseñando un controlador apropiado para poder mantener la plataforma en vuelo estático en el caso de que ocurra un fallo de motor. De los artículos citados se extraerán las condiciones que debe reunir una plataforma multirotor para ser tolerante a fallos, bien en función de la disposición y sentido de giro de las hélices o bien en función de su disposición e inclinación. La idea es particularizar la teoría para el caso de los hexarotores y llegar a implementar dos configuraciones diferentes sobre las que probar el control por reconfiguración y el sistema de detección y localización de fallos. 2.2 Estudio de controlabilidad para multirotores de hélices coplanarias En [ 1 ] aprovechan la posibilidad de aproximar la dinámica de un multirotor de hélices coplanarias como un sistema lineal en torno a la condición de vuelo estático para estudiar la controlabilidad de este tipo de plataformas. Además, se introduce un índice adimensional para cuantificar la capacidad para controlar el sistema, lo que permite realizar comparaciones entre diferentes configuraciones y en condiciones de degradación y fallo total en los actuadores. El modelo dinámico lineal de un multirotor alrededor de la condición de vuelo estático viene dado por: ˙x=Ax +Bu =Ax +B(F−G)(2.1) donde: x=hφ θ ψ vhpqrT F=FzτxτyτzT G=mg 000T A= 00001000 00000100 00000010 00000001 00000000 00000000 00000000 00000000 B= 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 −1 m0 0 0 01 Jx 0 0 0 0 1 Jy 0 0 0 0 1 Jz En la tabla 2.1 se listan todos los parámetros que definen este modelo dinámico y sus unidades.
2.2 Estudio de controlabilidad para multirotores de hélices coplanarias 5 Tabla 2.1 Parámetros del modelo dinámico de un multirotor. Parámetro Unidades Altura (h)m Ángulo de roll (φ)rad Ángulo de pitch (θ)rad Ángulo de yaw (ψ)rad Velocidad vertical (vh)m/s Velocidad angular en roll (p)rad/s Velocidad angular en pitch (q)rad/s Velocidad angular en yaw (r)rad/s Empuje total (T)N Momento en roll (τx)N·m Momento en pich (τy)N·m Momento en yaw (τz)N·m Masa del multirotor (m)kg Aceleración de la gravedad (g)kg ·m/s2 Momento de inercia en roll (Jx)kg ·m2 Momento de inercia en pitch (Jy)kg ·m2 Momento de inercia en yaw (Jz)kg ·m2 Ya que se considera que los rotores únicamente generan empuje en una dirección, este queda restringido de manera que: f=f1... fmT∈F=∏m i=1[0,Ki] fi∈[0,Ki],i=1,...,m (2.2) De acuerdo a la geometría genérica de una plataforma multirotor, detallada en la figura 2.1, es posible establecer una relación entre el empuje y momentos totales del sistema y el empuje que debe proporcionar cada rotor: F= Fz τx τy τz =Bff=b1... bm f1 . . . fm = η1... ηm η1r1sin ϕ1... ηmrmsin ϕm −η1r1cos ϕ1... −ηmrmcos ϕm η1w1kµ... ηmwmkµ f1 . . . fm (2.3) donde: wi=1,si el rotor gira en sentido antihorario −1,si el rotor gira en sentido horario La matriz Bf es lo que se conoce como matriz de control efectivo, cada una de sus columnas representa el factor de contribución de cada uno de los rotores al empuje y momentos totales del sistema, estas se encuentran multiplicadas por un factor ηi∈[0,1] que representa el funcionamiento correcto ( ηi=1 ), degradado (ηi∈(0,1)) o estado de fallo total (ηi=0) de cada uno de los rotores. Según las ecuaciones (2.2) y (2.3), el momento y los empujes totales quedan restringidos de forma que:
6Capítulo 2. Configuraciones de hexarotor tolerantes a fallos Figura 2.1 Geometría genérica de una plataforma multirotor de hélices coplanarias. Ω={F|F=Bff,f∈F}(2.4) Por lo que la restricción sobre la acción de control toma la forma: U={u|u=F−G,F∈Ω}(2.5) Observando las expresiones (2.2) , (2.4) y (2.5) se puede concluir que los tres espacios son convexos y cerrados. El objetivo es estudiar la controlabilidad del sistema (2.1) bajo las restricciones sobre la acción de control, es decir, que sea posible alcanzar el estado considerado a partir de una acción de control realizable en un tiempo finito. En la figura 2.2 se observa un ejemplo de la representación espacial del conjunto de control alcanzable cortado en ψ=0. Figura 2.2 Representación espacial del conjunto de control alcanzable (ψ=0) [5]. La teoría clásica sobre sistemas lineales considera condición única y necesaria para la controlabilidad de los mismos que la matriz de controlabilidad ( C(A,B) ) tenga rango completo, siendo el origen un punto interior de U , cosa que no siempre ocurre cuando el sistema multirotor presenta fallos de motor. Aplicando
2.2 Estudio de controlabilidad para multirotores de hélices coplanarias 7 la teoría de la controlabilidad positiva propuesta en [ 6 ], se obtienen las siguientes condiciones, necesarias y suficientes para la controlabilidad del sistema (2.1): 1. Rango(C(A,B) = 8), donde C(A,B) = B AB ... A7B. 2. No existe autovalor real vde ATque satisfaga vTBu ≤0para todo u∈U. En la práctica, es difícil probar la segunda condición, ya que no es viable explorar todo u∈U . Es por ello que se define una medida que determina si un punto está contenido o no dentro del conjunto de control alcanzable: ρ(G,∂Ω):=min{∥G−F∥:U∈Ω,F∈∂Ω} −min{∥G−F∥:U∈ΩC,F∈∂Ω}(2.6) donde ∂Ω es el límite de Ω (conjunto de control alcanzable) y ∂ΩC es el conjunto complementario de Ω . Si ρ(G,∂Ω)≤0 , G∈ΩC y, por tanto, G no es un punto interior de Ω , en caso contrario, G es un punto interior de Ω. En la práctica ρ(G,∂Ω) = min{∥G−F∥:U∈Ω,F∈∂Ω} no es más que el radio de la mayor esfera centrada en G (el punto de equilibrio) dentro del conjunto de control alcanzable Ω , es decir, la máxima acción de control realizable en toda dirección. En la figura 2.3 se muestra una representación gráfica de esto, comparando un caso sin fallos con otro caso con un fallo. La cuestión es determinar si el conjunto de acciones de control disponibles es suficiente para asegurar el control de la plataforma. Figura 2.3 Representación espacial del conjunto de control alcanzable (ψ=0) [5]. Según todo lo expuesto hasta ahora, estas tres condiciones son equivalentes: •No existe autovector real vde ATque satisfaga vTBu ≤0para todo u∈U. •Ges un punto interior de Ω. •ρ(G,∂Ω)>0. Por lo que se puede decir que un sistema multirotor es controlable en estado de vuelo estático sí y solo sí: 1. Rango(C(A,B) = 8). 2. ρ(G,∂Ω)>0.
8Capítulo 2. Configuraciones de hexarotor tolerantes a fallos En [ 1 ] definen ρ(G,∂Ω) como un índice adimensional, ACAI (Available Control Authority Index). Esto permite cuantificar la controlabilidad del sistema, haciendo posible realizar comparaciones entre diferentes configuraciones y determinar la posibilidad de controlar bajo fallos de motor. El algoritmo 1 es propuesto por los autores para calcular dicho índice. Algoritmo 1: Cálculo del ACAI 1Establecer η; 2Calcular Bf; 3si Rango(C(A,B)) = 8entonces 4si Rango(Bf<4)entonces 5ρ(G,∂Ω)←10−6; 6en otro caso 7Calcular S1; 8Calcular S2; 9j←1; 10 para j≤smhacer 11 Calcular B1,j; 12 Calcular B2,j; 13 si Rango(B1,j) = 3entonces 14 Calcular dj; 15 si no, si Rango(B1,j)<3entonces 16 dj←106; 17 j←j+1; 18 fin 19 ρ(G,∂Ω)←signo(min(d))∗min(abs(d)); 20 fin 21 fin 22 si Rango(C(A,B)) = 8 & ρ(G,∂Ω)>0entonces 23 El sistema es controlable. 24 en otro caso 25 El sistema no es controlable. 26 fin donde: •smes el número de combinaciones posibles de tres elementos tomados de M=1 2 ... m: sm=m! (m−3)!(3)! •S1 es una matriz cuyas filas contienen los índices de todas las combinaciones posibles de tres elementos tomados de M, mientras que las correspondientes filas de S2son los m−3elementos restantes de M. •B1,j=b1(j,1)b1(j,2)b1(j,3) B2,j=b2(j,1)... b2(j,m−3) •sign(x) = c1... cnes una función tal que ci=1si xi>0,ci=0si xi=0yci=−1si xi<0. •dj=1 2sign(ξT jB2,j)Λj(ξT jB2,j)T−|ξT j∗(Bffc−G)|donde: ∗fc=1 2K1K2... KmT ∗Λj= KS2(j,1)0 0 0 0KS2(j,2)0 0 0 0 ...0 0 0 0 KS2(j,m−3) ∗ξT jB1,j=0, ξj =1
2.2 Estudio de controlabilidad para multirotores de hélices coplanarias 9 2.2.1 Particularización del estudio para hexarotores El algoritmo 1 ha sido programado en MATLAB [ 7 ] para poder aplicarlo sobre dos configuraciones diferentes de hexarotor de hélices coplanarias. En principio, las dos plataformas tienen los mismos parámetros, listados en la tabla 2.2. La única diferencia radica en la distribución de los diferentes rotores en función del sentido de su giro. Tabla 2.2 Parámetros para un hexarotor de hélices coplanarias. Parámetro Valor Unidades Masa del hexarotor (m) 1.535 kg Aceleración de la gravedad (g) 9.80 kg ·m/s2 Distancia de los brazos (L) 0.275 m Máximo empuje de los rotores (K) 6.125 N Momento de inercia en roll (Jx) 0.0411 kg ·m2 Momento de inercia en pitch (Jy) 0.0478 kg ·m2 Momento de inercia en yaw (Jz) 0.0599 kg ·m2 Relación thrust/drag (kν) 0.1 − Hexarotor de hélices coplanarias con la configuración estándar La configuración de hexarotor de hélices coplanarias estándar es la representada en la figura 2.4, también denominada configuración PNPNPN, donde P indica que las hélices giran en sentido horario y N que lo hacen en sentido antihorario. Figura 2.4 Configuración de hexarotor estándar (PNPNPN). En la figura 2.5 se muestran todos los tipos de fallos de hasta dos motores que podrían darse en este tipo de hexarotores. Al ejecutar el algoritmo 1 para el estado sin fallos y para todas las diferentes situaciones de fallos posibles de hasta dos motores, se obtienen los resultados expuestos en la tabla 2.3. Tabla 2.3 Controlabilidad de un hexarotor de hélices coplanarias (PNPNPN) para fallos de hasta 2 motores. Fallos de motor ACAI Controlabilidad Sin fallos 1.4968 Controlable η2=00 No controlable η2=0,η3=00 No controlable η2=0,η4=00 No controlable η2=0,η5=00 No controlable
10 Capítulo 2. Configuraciones de hexarotor tolerantes a fallos Figura 2.5 Casuística de fallos posibles de hasta 2 motores (configuración PNPNPN). Los resultados obtenidos son los que cabría esperar. El hexarotor en configuración estándar es únicamente controlable en el caso de no presentar fallos de motor. Hexarotor de hélices coplanarias con la configuración tolerante a fallos La configuración de hexarotor de hélices coplanarias tolerante a fallos es la representada en la figura 2.6, también denominada configuración PNNPPN. Figura 2.6 Configuración de hexarotor tolerante a fallos (PNNPPN). En la figura 2.7 aparecen todos los tipos de fallos de hasta dos motores que podrían darse en estos hexarotores. Dada la asimetría que presenta ahora la plataforma, la casuística es más extensa. Si se ejecuta ahora el algoritmo 1 para el estado sin fallos y para todas las combinaciones posibles de hasta dos fallos, se obtienen los resultados expuestos en la tabla 2.4. Al cambiar la distribución de los rotores se comprueba que es posible seguir controlando la plataforma para ciertos casos en lo que uno e incluso dos actuadores fallan completamente. En el caso sin fallos, se observa que el índice calculado es menor respecto al de la configuración estándar, es por ello que el desarrollo de una platafoma tolerante a fallos supone un compromiso entre la tolerancia a dichos fallos y el desempeño en condiciones normales.
2.3 Estudio de controlabilidad para multirotores de hélices inclinadas 11 Figura 2.7 Casuística de fallos posibles de hasta 2 motores (configuración PNNPPN). Tabla 2.4 Controlabilidad de hexarotor de hélices coplanarias (PNNPPN) para fallos de hasta 2 motores. Fallos de motor ACAI Controlabilidad Sin fallos 1.2169 Controlable η2=00.9171 Controlable η3=00.4968 Controlable η6=00 No controlable η2=0,η1=00 No controlable η2=0,η3=0-0.2709 No controlable η2=0,η4=00.3462 Controlable η2=0,η5=00.9171 Controlable η2=0,η6=0-0.2709 No controlable 2.3 Estudio de controlabilidad para multirotores de hélices inclinadas Anteriormente, la tolerancia a fallos en multirotores se ha aproximado por un problema de controlabilidad de un sistema dinámico, mientras que en [ 2 ] se aborda de manera más general, desde el punto de vista de la distribución e inclinación de los actuadores. El método descrito constituye la forma más simple de lograr la implementación de una plataforma multirotor capaz de tolerar, mínimo, el fallo total de un motor cualquiera. A diferencia de otros estudios, no se requiere de ninguna reconfiguración mecánica durante el vuelo ni de cambios en el sentido de giro de las hélices, que como ya hemos comprobado, es una solución que solo logra tolerancia a ciertos tipos de fallos. De forma similar al caso planteado anteriormente, la matriz de control efectivo se puede deducir de manera genérica para cualquier multirotor de acuerdo a la figura 2.8. En este caso, la inclinación de las hélices permite la generación de fuerzas laterales. Por lo que tenemos: F= Fx Fy Fz τx τy τz =Bf∗f=F1 F2 f1 . . . fm (2.7)
18 Capítulo 3. Control tolerante a fallos apropiada. En [ 12 ] se presenta el diseño un controlador recursivo incremental para un hexarotor, capaz de compensar perturbaciones no modeladas e incluso degradaciones importantes en los actuadores, manteniendo la estabilidad y alcanzando un buen desempeño en el control sin necesidad de considerar en el controlador todos los efectos que entran en juego. En este caso, el control no es posible cuando tiene lugar el fallo total de algún actuador. Hasta ahora se ha visto que se han realizado numerosos estudios acerca del control de plataformas multirotor en condiciones de fallo en sus actuadores y, en la mayoría de ellos, es condición necesaria renunciar a algún grado de libertad, la maniobrabilidad queda notoriamente degradada o no es posible soportar un fallo total de un motor cualquiera. En [ 5 ] se propone un método de control con posibilidad de reconfiguración. Con esta estrategia se considera la posibilidad de sustituir la matriz de reparto de las acciones de control (mixer) cuando ha tenido lugar un fallo de motor, de forma que se pase a tener en cuenta únicamente los actuadores que funcionan correctamente. Esta estrategia ha dado buenos resultados tanto en el control en vuelo estático y en el seguimiento de trayectorias. La limitación de este sistema es que se precisa del conocimiento sobre qué motor en concreto está fallando, problema al que damos solución en este trabajo. 3.2 Control con reconfiguración Como ya se ha comentado, el control con reconfiguración se basa en añadir la posibilidad de modificar el mixer o matriz de reparto del controlador durante el vuelo, motivada por la degradación o el fallo de uno o varios actuadores durante el mismo. En las figuras 3.1 y 3.2 se observan los esquemas de control para un hexarotor de hélices coplanarias y para un hexarotor de hélices inclinadas respectivamente. Estos representan estrategias típicas para el control de multirotores. Adicionalmente, se ha incluido el bloque de detección y aislamiento de fallos que permite realizar la reconfiguración o cambio de mixer. Figura 3.1 Esquema de control con reconfiguración para un hexarotor de hélices coplanarias. El primer bloque, la estación de control terrestre, es común en ambos esquemas. Se trata de un sistema que permite controlar y monitorear operaciones con vehículos aéreos no tripulados en tiempo real y de forma remota. A través de una interfaz gráfica se proporciona información relevante sobre el estado del vehículo y se permite a los operadores enviar ordenes y planificar misiones. Para este proyecto se ha utilizado Mission Planner [13], una estación de control terrestre gratuita y compatible con Ardupilot [14].
3.2 Control con reconfiguración 19 Figura 3.2 Esquema de control con reconfiguración para un hexarotor de hélices inclinadas. El sistema OptiTrack permite rastrear y registrar el movimiento de un cuerpo en un entorno tridimensional. Un sistema de cámaras infrarrojas de alta velocidad registran la posición y la orientación de un objeto sobre el que se colocan una serie de marcadores reflectantes que reflejan la luz infrarroja emitida por las cámaras. Este sistema permite un seguimiento muy preciso del movimiento en tiempo real, más que el del GPS. En este trabajo se emplea este sistema para proporcionar al algoritmo de control los datos de posición y orientación. Dentro del algoritmo del autopiloto de una plataforma multirotor, un filtro de Kalman extendido proporciona una estimación de la posición, la orientación y la velocidad del sistema basada en las medidas obtenidas a partir de diferentes sensores o sistemas, como el de OptiTrack. En el esquema para un multirotor de hélices coplanarias se observa un controlador de posición que recibe una referencia del generador de trayectorias y los datos de posición y velocidad procedentes del filtro de Kalman extendido y determina las fuerzas requeridas. Estas fuerzas requeridas se transmiten, junto a la referencia en yaw procedente del generador de trayectorias, a un generador de referencia en actitud, ya que en un multirotor de hélices coplanarias no es posible generar fuerzas en el plano XY de forma independiente a los momentos. La referencia en actitud se transmite, junto a los datos de orientación y velocidad angular procedentes del filtro de Kalman extendido, a un controlador de orientación que determina los momentos que deben generarse. El empuje vertical determinado por el controlador de posición y los momentos determinados por el controlador de orientación se traducen en las fuerzas que deben generar cada uno de los motores gracias al mixer o matriz de reparto. El esquema de control para un multirotor de hélices inclinadas es más sencillo, ya que pueden generarse fuerzas en el plano XY de forma independiente a los momentos. Se tienen dos bloques de control en paralelo, el de posición y el de orientación. Ambos reciben una referencia desde la estación de control terrestre, en posición u orientación, y los datos de posición, orientación y velocidad procedentes del filtro de Kalman extendido. En este caso, las fuerzas y los momentos en todas las direcciones se traducen en las fuerzas que deben generar cada uno de los motores. Existen diversas estrategias que pueden ser implementadas en los bloques de control de orientación y posición: tres PIDs, tres PIDs en cascada, control geométrico... Antonio González Morgado aborda este asunto con más profundidad en su TFG [ 15 ]. En este proyecto se utiliza Ardupilot, que emplea tres PIDs en cascada tanto en el control de posición como en el control de orientación. Se ha mencionado que las fuerzas y momentos determinados por los controladores deben ser relacionados con el empuje que debería proporcionar cada uno de los motores en cada momento. Como se ha visto en el capítulo 2, esta relación depende de la estructura y la configuración del multirotor y es de la forma:
20 Capítulo 3. Control tolerante a fallos F= FX F Y FZ τX τY τZ =Bf·f=Bf f1 . . . fm (3.1) Por tanto, para conocer dichas fuerzas, bastaría con despejarlas de la expresión (3.1): f= f1 . . . fm =M·F=M FX F Y FZ τX τY τZ ≈ ω2 1 . . . ω2 m (3.2) En el caso de los multirotores de hélices coplanarias, FX y F Y quedarían fuera de F . Dicho esto, el mixer o matrix de reparto ( M ) no es más que la inversa o pseudoinversa de la matriz de control efectivo ( Bf ). Las fuerzas calculadas para cada uno de los motores pueden relacionarse con el cuadrado de las velocidades de giro de los mismos, que se traducen en las señales PWM que se transmiten a los variadores del multirotor. La aportación de este trabajo de fin de grado es el bloque que engloba el sistema para medir las fuerzas generadas por cada uno de los motores y el módulo para detectar y localizar fallos basándose en dicha información. Este último es el encargado de decidir cuándo debe producirse un cambio de mixer y por cual debe ser sustituido.
4 Detección y aislamiento de fallos de motor Co mo se ha comentado en el capítulo 3, la limitación que existe en el control por reconfiguración es la de detectar y localizar el fallo para poder desencadenar la reconfiguración, es decir, cambiar el mixer por uno que se corresponda con el nuevo estado del sistema. En este capítulo se aborda el objetivo principal de este trabajo de fin de grado, el diseño y la implementación de un módulo de detección y aislamiento de fallos capaz de solucionar dicha limitación. La idea es emplear células de carga, sobre las que se instalarán los motores, para monitorizar el empuje proporcionado por cada uno de ellos en tiempo real. En este proyecto se considerarán únicamente fallos totales o muy importantes en los actuadores, es decir, si quedan prácticamente fuera de servicio. Las señales procedentes de las células de carga serán adaptadas mediante un circuito amplificador para que puedan ser procesadas por un microcontrolador, que será el encargado de enviar al autopiloto del hexarotor los valores de empuje generados por cada uno de los rotores en cada momento. El código del autopiloto se modifica para que, basándose en la información recibida, identifique el fallo de un determinado actuador y se desencadene la reconfiguración. 4.1 Células de carga Para medir el empuje proporcionado por cada uno de los rotores en cada momento se emplean células de carga. Se trata de un tipo de transductor que es capaz de convertir una fuerza aplicada sobre él en una señal eléctrica medible. Existen distintos modelos de acuerdo a la forma de detectar dicha fuerza: flexión, cizalladura, compresión o tensión. En la figura 4.1 se exponen diferentes modelos de células de carga que exiten, agrupados según el tipo de esfuerzo que son capaces de detectar. En este caso se ha escogido un modelo como el de la figura 4.2, englobado dentro del grupo de detección por cizalladura. Este modelo en concreto es capaz de detectar fuerzas de hasta 1kg . Los motivos que han conducido a la elección del mismo son su bajo coste y la facilidad para su instalación, características ideales para un primer prototipo del sistema de detección de fallos de motor. La célula de carga consiste en una barra de aluminio de sección cuadrada con un hueco en su parte media, lo que provoca una estrechez en las dos superficies restantes de esa zona, donde se daría la mayor deformación. En la figura 4.3 vemos como, al fijar uno de los extremos de la barra y aplicar una fuerza en el otro extremo, una de las caras de la barra sufre esfuerzos de tensión y la otra de compresión. Midiendo dicha deformación, se podría llegar a calcular la fuerza aplicada sobre la barra. En cada una de las dos caras de la barra, por su parte media, se puede encontrar una galga extensiométrica de medio puente, protegidas por un pegamento epóxico. En la figura 4.4 se observa cómo es este elemento. El funcionamiento de una galga extensiométrica se basa en el efecto piezoresistivo, es decir, la propiedad de un material de cambiar el valor nominal de su resistencia eléctrica al ser sometido a determinados esfuerzos mecánicos que provocan su deformación. Estas se componen de una resistencia integrada en una base que se deforma junto a la estructura de la célula de carga, cuando esto ocurre, el valor de la resistencia cambia al 21
22 Capítulo 4. Detección y aislamiento de fallos de motor Figura 4.1 Tipos de células de carga. Figura 4.2 Célula de carga de detección por cizalladura. Figura 4.3 Comportamiento de la célula de carga ante un esfuerzo. paso de la corriente eléctrica. Realmente se mide la variación de la corriente eléctrica, que es del orden de milivoltios. Esto es posible gracias a la implementación de un puente Wheatstone. En la figura 4.5 se presenta dicho circuito. Cuando la célula de carga no está sometida a ningún esfuerzo, las cuatro resistencias son iguales y, por tanto, la diferencia de tensión entre los puntos A y B es igual a 0V . Sin embargo, si se somete la célula de carga a un
4.2 Circuito amplificador 23 Figura 4.4 Galga extensiométrica de medio puente. esfuerzo, las galgas extensiométricas sufren una deformación, alargándose o estrechándose, y cambiarán las diferentes resistencias, provocando que la diferencia de tensión entre los puntos A y B sea diferente de 0V . El valor de la diferencia de tensión es directamente proporcional al esfuerzo al que se somete la célula de carga, teniendo esto en cuenta, es posible obtener una medida de la fuerza a la que se ha sometido. Figura 4.5 Puente Wheatstone. Es importante no someter a la célula de carga a una deformación tal que exceda el límite de deformación permanente, las galgas extensiométricas deben poder volver a su estado normal después de la aplicación del esfuerzo. De otra forma, la célula de carga queda inservible. En este caso, se han seleccionado un modelo capaz de medir hasta 1kg de fuerza, lo cual está más que justificado, ya que para el montaje se emplearán motores que proporcionan un empuje máximo menor que dicho valor. 4.2 Circuito amplificador Para la lectura y procesamiento de las señales medidas por las células de carga se emplea una placa de desarrollo Arduino Nano como la de la figura 4.6, la cual cuenta con un microcontrolador ATmega328P. Este modelo cuenta con hasta 8 entradas analógicas, cada una de ellas con una resolución de 10 bits, es decir, con un rango de 1024 valores diferentes. Por defecto son capaces de convertir valores de tensión hasta un máximo de 5V, por lo que la precisión absoluta que tendríamos en la medida es de 4.88mV, constante para cualquier intervalo de tensiones. Sin embargo, la precisión relativa respecto a la señal de entrada disminuye si no se aprovecha todo el rango de medición, es decir, si se mide una señal que varía entre 0 y 1V por ejemplo. Como se ha mencionado anteriormente, las variaciones de tensión que se producen en una célula de carga son muy pequeñas, del orden de milivoltios, por lo que es necesario la implementación de un circuito amplificador para obtener una salida hacia el pin analógico del Arduino Nano del orden de voltios. Según las características de la célula de carga seleccionada, la salida nominal de la misma es de 1.0± 0.15mV/V y se recomienda un voltaje de funcionamiento entre 3 y 14V . En este caso es alimentada por el pin de +5V del Arduino Nano, por lo que en máxima carga la diferencia de tensión en la célula de carga
24 Capítulo 4. Detección y aislamiento de fallos de motor Figura 4.6 Pinout de un Arduino Nano. sería de 5.0±0.15mV . Para la implementación del circuito amplificador se emplea el INA125P, un amplificador de instrumentación de alta precisión y bajo nivel de ruido. Con una resistencia externa es posible calibrar su ganancia de 4 a 10000V/V . Una de sus aplicaciones es precisamente funcionar como amplificador de puentes Wheatstone. En la figura 4.7 se muestra un esquema del circuito amplificador implementado para cada una de las células de carga. Con la resistencia escogida de 100Ω , según la datasheet del amplificador, tenemos una ganancia G=4+60kΩ 100Ω=604 . Por lo tanto, puesto que la máxima diferencia de tensión que tendremos a la salida de la célula de carga será de 5mV y, según el montaje especificado, se obtiene un rango de tensiones a la salida del amplificador entre 1.25 yVo=1.25V+0.005V∗G=4.27V. El motivo por el cual se realiza el montaje de esta forma es para generar una psudotierra con una tensión de +1.25V , un poco por encima de la tierra real, ya que el amplificador requiere una alimentación de ±Vcc para funcionar en todo su rango y esto no es posible al ser alimentado por el Arduino. Por tanto, se forma un circuito de ganancia unidad que sigue en bucle cerrado a la tensión de referencia ( Vre f bandgap ) y que genera una tierra virtual en el pin 5 que forma un raíl de tensión negativa respecto al pin 3 (tierra real), permitiendo utilizar el amplificador en las condiciones descritas. En este caso, no se está aprovechando todo el rango de medición que nos ofrecen los pines analógicos del Arduino Nano. Esto podría corregirse ajustando la referencia de tensión de los pines analógicos mediante el pin del que dispone la placa para este fin, o eligiendo una resistencia diferente para ajustar la ganancia del amplificador y obtener un rango de la tensión de salida más próximo al de 0 a 5V . Sin embargo, por simplicidad del diseño, no se hará nada de esto. La precisión relativa respecto a la señal es, a pesar de todo, bastante buena para esta utilidad. Para el montaje de los circuitos amplificadores para cada una de las células de carga y las conexiones con los pines del Arduino Nano se ha diseñado una placa de circuito impreso en EasyEDA [ 16 ] sobre la que se han soldado los diferentes componentes. En la figura 4.8 se muestra el esquemático del circuito completo y el rutado de la placa PCB. En el anexo B se recogen los documentos generados para la fabricación de la placa de circuito impreso, así como un listado de los componentes que han sido soldados e instalados sobre la misma. En la Figura 4.9 se puede ver una previsualización de la placa en 3D, proporcionada por el programa
4.2 Circuito amplificador 25 Figura 4.7 Circuito amplificador con el INA125P. Figura 4.8 Circuito esquemático y rutado de la placa PCB.
26 Capítulo 4. Detección y aislamiento de fallos de motor EasyEDA [ 16 ], junto al resultado final de la placa ya fabricada con todos los componentes soldados en ella. Figura 4.9 Previsualización en 3D y resultado final de la placa PCB. 4.3 Procesamiento y transmisión de la señal Una vez se han adaptado las señales medidas a un rango de tensiones manejable por el Arduino Nano, queda programar el microcontrolador de forma que los valores procedentes de los convertidores analógico digital (ADCs) se traduzcan en valores de fuerza aplicada y que estos se envíen al autopiloto del hexarotor. Para la calibración de los sensores se lleva a cabo el montaje de un motor, con la hélice instalada, sobre una célula de carga anclada a una barra horizontal fija. La instalación queda de forma similar al montaje que finalmente se realiza en los hexarotores de hélices coplanarias, detallado en el capítulo 5 e ilustrado en la figura 4.10. Figura 4.10 Montaje de un motor sobre una célula de carga.
4.4 Detección y aislamiento de fallos de motor 27 Sobre el montaje descrito se realiza una prueba que consiste en aumentar progresivamente el empuje demandado al motor a través de la emisora, demandando de manera sostenida hasta 26 niveles de empuje, expresados por el controlador como valores entre 0 y 1, y registrándose los valores del ADC, comprendidos entre 0 y 1023, para cada uno de ellos. A continuación, mediante regresión polinomial, se calcula una función que relaciona ambas variables y nos permite obtener el empuje aproximado, en las unidades que maneja el autopiloto, para cualquier valor del ADC. En este caso, con un polinomio de orden 3 se consigue ajustar muy bien el conjunto de puntos tomado: F=C3·ADC3+C2·ADC2+C1·ADC +C0(4.1) donde: C0=−1.3595 C1=9.8375 ·10−03 C2=−2.3757 ·10−05 C3=2.5008 ·10−08 (4.2) En la figura 4.11 se representa el conjunto de datos tomado durante la prueba y la representación de la función de regresión que se ajusta a dichos puntos. Figura 4.11 Función de regresión que relaciona el valor de empuje y el valor del ADC. 4.4 Detección y aislamiento de fallos de motor Como ya se ha comentado, para este trabajo sólo se contemplarán fallos totales o muy importantes en los actuadores. Esto se traduce como una variación brusca en alguna de las señales de medida, desde el valor demandado por el controlador o de referencia hasta cero o prácticamente cero. La idea es modificar el código del autopiloto de forma que se detecten este tipo de situaciones y se cambie el mixer de acuerdo a la nueva configuración del hexarotor. Por tanto, el método propuesto para la detección y localización de fallos de motor consiste en comparar en tiempo real las fuerzas demandadas por el controlador y las fuerzas leídas por el sistema de medida. Si el valor de la fuerza medida en cualquiera de los motores diverge rápidamente de la fuerza de referencia para dicho motor hasta llegar a cero o prácticamente cero en un determinado periodo de tiempo, se podría decir
34 Capítulo 5. Montaje Figura 5.7 Hexarotores montados. A izquierda el multirotor de helices coplanarias. A derecha el multirotor de hélices inclinadas.
6 Pruebas y resultados experimentales En este capítulo se presentan los resultados obtenidos en las diferentes pruebas realizadas con el hexarotor de hélices coplanarias en configuración tolerante a fallos. Las pruebas con el hexarotor de hélices inclinadas quedan pendientes para futuros trabajos. 6.1 Seguimiento de trayectorias en diferentes situaciones de fallo En primer lugar, se realizan pruebas de vuelo manual para verificar que el hexarotor es capaz de volar en las situaciones de fallo demostradas como teóricamente controlables en el capítulo 2. Una vez comprobado, se ordena el seguimiento de una trayectoria cuadrada y una trayectoria circular para todos los casos. En las figuras 6.1 y 6.2 se representa la referencia de la trayectoria cuadrada frente a la trayectoria seguida por el hexarotor en cada uno de los casos. Se observa que, por lo general, los resultados se aproximan bastante bien a la referencia. En la tabla 6.2 se muestran los errores calculados respecto a la referencia junto a los índices de controlabilidad calculados en el capítulo 2. Los errores obtenidos son muy similares en todos los casos, resultados que están en consonancia con lo observado en las figuras 6.1 y 6.2. Aún así, cabe destacar que la configuración con fallo en el motor 3 ha obtenido el menor error, en contraposición a lo que se esperaba de ella, ya que es la segunda configuración con menor índice de controlabilidad. De la configuración con fallo en el motor 2 se esperaba un desempeño similar al de la configuración sin fallos y la configuración con fallos en los motores 2 y 5, las siguientes con menor error, pero finalmente ha sido una de las que peor ha funcionado. Por último, destacar que el error en la configuración con fallos en los motores 2 y 4 se ha disparado ya que, durante la prueba, se ha perdido el control de la plataforma y se ha estrellado. Tabla 6.1 Errores durante el seguimiento de la trayectoria cuadrada. Caso Error (x) [m] Error (y) [m] Error (z) [m] Error en posición [m] ACAI Sin fallos 0.2727 0.2455 0.0089 0.3671 1.2169 Fallo: motor 2 0.2817 0.2744 0.0579 0.3975 0.9171 Fallo: motor 3 0.2338 0.2271 0.0373 0.3281 0.4968 Fallo: motores 2 y 4 1.7857 0.1375 0.0314 1.7912 0.3462 Fallo: motores 2 y 5 0.2435 0.2348 0.0382 0.3404 0.9171 En las figuras 6.1 y 6.2 se puede observar que la configuración con fallos en los motores 2 y 4 no llega a completar la trayectoria. Cuando el hexarotor se encuentra finalizando el penúltimo tramo de la trayectoria cuadrada, este no logra compensar la fuerza que hace para avanzar en línea recta en esa dirección, por lo que no puede cambiar de sentido y sigue avanzando hasta estrellarse. Este resultado no es algo del todo extraño, ya se vio en el capítulo 2 que esta era la situación con el que menor índice de controlabilidad. Si se presta atención a la configuración resultante en el hexarotor, se puede deducir rápidamente cual ha sido el problema. 35
36 Capítulo 6. Pruebas y resultados experimentales Para frenar y cambiar de dirección al final del penúltimo tramo de la trayectoria cuadrada, el motor 3 debería haber sido capaz de compensar a tiempo el empuje que estaban proporcionando los motores 1, 5 y 6, cosa que no fue posible ya que este se encontraba muy exigido, casi al límite. De hecho, si se observan en la figura 6.3 los valores de PWM de cada uno de los motores, se aprecia que el motor 3 debe rendir muy por encima del resto durante toda la trayectoria, llegando a saturar en la situación descrita, lo que provoca que la plataforma se descontrole. Figura 6.1 Trayectoria cuadrada (3D).
6.1 Seguimiento de trayectorias en diferentes situaciones de fallo 37 Figura 6.2 Trayectoria cuadrada (x, y, z). Figura 6.3 Valores PWM durante la prueba en la que se produce la caída. En las figuras 6.4 y 6.5 se representa la trayectoria circular de referencia frente a la trayectoria seguida en cada uno de los casos. En esta segunda prueba no se ha simulado el fallo en los motores 2 y 4, ya que se ha comprobado que el margen para maniobrar en esta situación es muy limitado. De nuevo, se observa que los resultados en todos los casos se aproximan bastante bien al caso del hexarotor sin fallos. En la tabla 6.2 se vuelven a mostrar los errores respecto a la referencia junto a los índices de controlabilidad calculados en el capítulo 2. Esta vez, la configuración sin fallos es la que presenta menor error junto aquella en la que falla sólo el motor 2. Sin embargo, el desempeño de la configuración en la que fallan los motores 2 y 5 no ha sido todo lo bueno que se esperaba, como se ha podido apreciar en la representación de la trayectoria.
38 Capítulo 6. Pruebas y resultados experimentales Tabla 6.2 Errores durante el seguimiento de la trayectoria circular. Caso Error (x) [m] Error (y) [m] Error (z) [m] Error en posición [m] ACAI Sin fallos 0.1875 0.1944 0.0369 0.2726 1.2169 Fallo: motor 2 0.2118 0.2215 0.0132 0.2728 0.9171 Fallo: motor 3 0.2037 0.1744 0.0671 0.2765 0.4968 Fallo: motores 2 y 4 - - - - 0.3462 Fallo: motores 2 y 5 0.2333 0.1989 0.0186 0.3071 0.9171 Los resultados observados en este apartado indican que, además de mantener el hexarotor en vuelo estático en las situaciones de fallo demostradas como teóricamente controlables, también es posible realizar maniobras cuando el índice de controlabilidad es lo suficientemente alto. Si bien es cierto que se ha registrado un desempeño similar para todos los casos en el seguimiento de trayectorias, cabe destacar que las sensaciones en el modo vuelo manual si se han correspondido bastante bien con los índices calculados en el capítulo 2. Se puede extraer como conclusión qué, además del índice de controlabilidad calculado en la teoría, el tipo de maniobra y la configuración de motores operativos tienen un papel muy importante en cuanto al desempeño del hexarotor en condiciones de fallo. Figura 6.4 Trayectoria circular (3D).
6.2 Reconfiguración en vuelo estático en diferentes situaciones de fallo 39 Figura 6.5 Trayectoria circular (x, y, z). 6.2 Reconfiguración en vuelo estático en diferentes situaciones de fallo A continuación, se realizan un par de pruebas para comprobar que, además de poder maniobrar y mantenerse en vuelo estático en todos los casos considerados, es posible sobreponerse a un fallo que tiene lugar en pleno vuelo. Estas primeras pruebas de reconfiguración en pleno vuelo se han realizado considerando los dos casos de fallo más favorables y encontrándose la plataforma en vuelo estático. El código del autopiloto ha sido modificado para apagar el motor deseado y cambiar el mixer de forma simultánea a partir del accionamiento de uno de los botones de la emisora. Además, se ha aprovechado para probar el sistema de detección de fuerzas y extraer información que resulte relevante para culminar la implementación del sistema de detección y localización de fallos. En las figuras 6.6 y 6.7 se representa el comportamiento del hexarotor justo en los instantes en los que se fuerzan los fallos de motor y la correspondiente reconfiguración. En ambos casos puede apreciarse que, después de simular el fallo, la plataforma se aleja levemente de la posición de equilibrio. Esta perturbación es más notoria en el caso en el que únicamente falla el motor 2, cuando el hexarotor llega a alejarse del punto de referencia una distancia de un orden de magnitud superior al del caso en el que fallan los motores 2 y 5. Aún así, estas perturbaciones son muy pequeñas y se compensan rápidamente gracias al control por reconfiguración. En las figuras 6.8 y 6.9 se encuentran representadas las fuerzas requeridas por el controlador y las fuerzas medidas en cada uno de los motores durante las pruebas de reconfiguración por fallo del motor 2 y por fallo de los motores 2 y 5, respectivamente. Se observa que las medidas de las fuerzas son lo suficientemente buenas, se aproximan bastante bien a la referencia procedente del controlador, por lo que se podría decir que el sistema de medida funciona correctamente. Durante la fase de vuelo estático sin fallos vemos como los valores de empuje son muy similares para todos los motores, todos aportan una fuerza similar para sustentar la plataforma. En el instante en el que se simula el fallo de los motores y la reconfiguración de forma simultánea, las fuerzas requeridas y las fuerzas medidas en dichos motores pasan rápidamente a valer cero, al mismo tiempo que cambia el reparto de las acciones de control entre los actuadores que siguen operativos. Las fuerzas en el resto de los actuadores alcanzan rápidamente nuevos valores, constantes y dentro del rango admisible.
40 Capítulo 6. Pruebas y resultados experimentales Figura 6.6 Comportamiento del hexarotor en el instante en el que se produce el fallo (3D). Figura 6.7 Comportamiento del hexarotor en el instante en el que se produce el fallo (x, y, z).
6.3 Ejemplo de detección de un fallo de motor 41 Figura 6.8 Fuerzas requeridas por el controlador frente a fuerzas medidas (Fallo en el motor 2). Figura 6.9 Fuerzas requeridas por el controlador frente a fuerzas medidas (Fallo en los motores 2 y 5). 6.3 Ejemplo de detección de un fallo de motor En el apartado anterior se ha simulado el fallo y realizado el cambio de mixer de forma simultánea. En un caso real esto no sería así, ya que el fallo podría tener lugar en cualquier momento y la reconfiguración no se realizaría hasta haberlo detectado. En la figura 6.10 se ha recreado el resultado que se busca obtener. Se representa un intervalo de tiempo de 5s en el que, inicialmente, la plataforma se encuentra en vuelo estático, por lo que todas las fuerzas son de una magnitud similar. Pasada la mitad del intervalo de tiempo, se puede notar que se ha producido un fallo en el motor 2, el empuje medido pasa a tener valor cero, mientras que el controlador sigue demandando un empuje de magnitud similar al del resto de los actuadores. El periodo de tiempo transcurrido desde que se produce el fallo hasta que el sistema de medida deja de detectar fuerza alguna
42 Capítulo 6. Pruebas y resultados experimentales en el motor 2 es inferior a dos décimas de segundo. Inmediatamente después de haber identificado el fallo, se desencadenaría la reconfiguración en el control. Las fuerzas requeridas por el controlador para mantener la plataforma en hover son ahora diferentes y el reparto de las acciones de control se realiza únicamente entre los cinco actuadores restantes. El siguiente paso sería verificar que el tiempo de detección es lo suficientemente pequeño como para que la plataforma no se descontrole antes de que se ordene la reconfiguración. Queda pendiente para futuros trabajos realizar pruebas en las que únicamente se comande el fallo de motor desde la emisora y la detección y reconfiguración se produzcan de manera autónoma gracias al código implementado en el autopiloto. Figura 6.10 Ejemplo de detección de un fallo en un actuador.
7 Conclusiones y líneas futuras de investigación De spués de haber realizado este trabajo de fin de grado, se puede llegar a las siguientes conclusiones en cuanto a las configuraciones de multirotor tolerantes a fallos y la detección y aislamiento de fallos en el sistema de propulsión. En primer lugar, con los diferentes estudios de controlabilidad para multirotores expuestos en el capítulo 2 y su extensión a casos en los que se consideran posibles fallos en uno o varios actuadores, se ha demostrado que es teóricamente posible el desarrollo de plataformas multirotor capaces de tolerar la degradación o el fallo total de al menos uno de sus motores sin perder ningún grado de libertad. Se ha visto que el número mínimo de rotores con los que debe contar un multirotor para poder operar en dichas condiciones es de seis. Además, se ha concluido que esta tolerancia puede ser alcanzada de dos formas, considerando la ubicación y sentido de giro de los rotores o bien considerando la ubicación e inclinación de los mismos. Tras las pruebas realizadas, cuyos resultados han sido expuestos en el capítulo 6, se ha comprobado que los índices de controlabilidad calculados en el capítulo 2 para el caso de la configuración de hexarotor de hélices coplanarias tolerante a fallos, se corresponden con el desempeño real para cada uno de los casos considerados. Además, se ha conseguido probar que, al simular el fallo de un actuador y desencadenar la reconfiguración en pleno vuelo de forma simultánea, la plataforma es capaz mantenerse en el aire sin sufrir perturbaciones importantes. Con estos resultados, se hace evidente la necesidad de desarrollar un sistema para detectar y localizar fallos en el sistema de propulsión, de manera que esta reconfiguración pueda ocurrir sin necesidad de que sea ordenada desde la estación de control en tierra en el caso de que ocurra un fallo real en cualquier momento. Para futuros trabajos sería interesante probar también la reconfiguración con la configuración de hexarotor de hélices inclinadas, teóricamente capaz de soportar el fallo de un actuador cualquiera. Además, se podría investigar y realizar pruebas en busca del diseño que represente el mejor compromiso entre la actuación completa y la tolerancia a fallos. Por otra parte, se podrían estudiar plataformas con más de seis motores capaces se soportar el fallo de dos o más actuadores. En cuanto al sistema de detección y localización de fallos, cuyo desarrollo ha sido expuesto en el capítulo 4, se ha probado que es capaz de determinar el empuje proporcionado por cada uno de los rotores en tiempo real, lo que hace posible detectar de manera casi instantánea cuando un actuador no rinde como debería hacerlo. Se propone para futuros trabajos estudiar y aplicar posibles mejoras a este sistema, como puede ser la integración de sensores de mayor calidad o la propuesta de nuevas formas para identificar que ha ocurrido un fallo. Además, queda pendiente integrar en el autopiloto el código que desencadena la reconfiguración necesaria en cada caso y, una vez hecho eso, realizar pruebas reales de vuelo en los que se ponga a prueba que el sistema es capaz de detectar un fallo provocado de forma intencionada y desencadenar la reconfiguración antes de que el sistema se descontrole. 43
50 Apéndice B. Listado y características de los componentes de los hexarotores Figura B.2 Hélices DJI E310 9450. •Motores DJI E305 2312E –Tamaño del estátor: 2.3x1.2cm –Peso: 56g –KV: 960rpm/V –Batería recomendada: 4S LiPo –Máximo empuje: 850g(14.8Va nivel del mar) –Peso en despegue recomendado: 400g(por rotor, a nivel del mar) –Temperatura de funcionamiento: −10 a40oC Figura B.3 Motores DJI E305 2312E. •Variadores 430 LITE ESC –Soporta baterías de 3 a 4S LiPo –Corriente máxima continua: 30A –Corriente máxima de pico: 45A –Frecuencia de la señal hasta 500Hz –Peso sin cables: 2.8g –Peso con cables: 11.6g
51 Figura B.4 Variadores 430 LITE ESC. •Raspberry Pi 3 Model B –Procesador: Quad Core 1.2GHz Broadcom BCM2837 64bit CPU –Memoria: 1GB RAM – Conectividad inalámbrica: BCM43438 wireless LAN and Bluetooth Low Energy (BLE) on board –Ethernet: 100 Base Ethernet –40-pines GPIO –4 puertos USB 2 –Salida de 4 polos para jack de audio de 3.5mm –Salida HDMI tamaño completo –Puerto CSI para la Raspberry Pi Camera –Puerto DSI para conectar la pantalla táctil de Raspberry –Entrada Micro SD –Entrada MIcro USB para alimentación de hasta 2.5A –Peso: 45g –Dimensiones: 12.19x7.59x3.4cm Figura B.5 Raspberry Pi 3 Model b. •Emlid Navio 2 –Dimensiones: 55x65mm –Peso: 23g –Temperatura de operación: −40 a85oC –Tensión de alimentación: 4.75 a5.25V
52 Apéndice B. Listado y características de los componentes de los hexarotores –Entradas para alimentación: USB, Power module, servo rail –Consumo de corriente medio: 150mA –Puerto para power module –Puerto UART –Puerto I2C –Puerto ADC –12 salidas PWM –Entrada PPM/S.bus –MPU9250 9DOF IMU –LSM9DS1 9DOF IMU –Barómetro MS5611 –U-blox M8N GLONASS/GPS/Beidou (con tipo de conector de antena MCX) –Coprocesador Cortex-M3 RC I/O –LED RGB Figura B.6 Emlid Navio 2. •Batería Gens Ace 5300 mAh 14.8V 4S LiPo –Tipo de batería: Batería LiPo –Capacidad: 5300mAh –Voltaje nominal: 14.8V –Máxima descarga en continuo: 30C (159A) –Máxima descarga puntual: 60C (318A) –Peso: 548g –Conector de balanceo: JST-XH –Conector de descarga: XT90 –Rango de carga: 1-3C, máximo 5C
53 Figura B.7 Batería Gens Ace 5300 mAh 14.8V 4S LiPo. •Placa amortiguadora APM CC3D –Dimensiones: 10x6x1.6cm –Peso: 19g –Material: Nylon de alta calidad Figura B.8 Placa amortiguadora APM CC3D. •Receptor 3CH SBUS R6203SBE FUTABA –Dimensiones: 22.5x37.4x9.3mm –Peso: 6.3g –Fuente de alimentación: 3.7a7.4V –Tecnología S-Bus compatible Fasst 2.4GHz –Antena corta –Posibilidad de utilizar hasta 18 canales con tecnología S-Bus
54 Apéndice B. Listado y características de los componentes de los hexarotores Figura B.9 Receptor 3CH SBUS R6203SBE FUTABA. •Emisora 14SG 2.4Ghz 14 canales FASSTesT –Funciones: 14 canales –Espacio de canales: 2048kHz –Potencia de emisión: 90mW –Sistema de emisión: FassTest –Alimentación: Batería NiMH 7.2V Figura B.10 Emisora 14SG 2.4Ghz 14 canales FASSTesT.
Apéndice C Vistas de las piezas En este apéndice se incluyen las vistas de las piezas diseñadas e impresas en 3D que han sido necesarias para adaptar los frames para la implementación de las dos configuraciones de hexarotor, integrando el sistema de detección y aislamiento de fallos. •Piezas para ampliar el espacio disponible en el frame para alojar la electrónica. •Piezas para acoplar los motores a las células de carga. • Piezas para acoplar el conjunto motor-célula de carga al frame (para el montaje del hexarotor de hélices coplanarias). • Piezas para acoplar el conjunto motor-célula de carga al frame (para el montaje del hexarotor de hélices inclinadas). •Piezas para acoplar la placa PCB al frame. 55
Fecha: Grado: G.I.T.I. Escala: 1:1 Sistema: Título: Autor: Página: Espaciador para Frame DJI F550 Álvaro Morales Calvillo 1/1 30/06/2023 Nota: Pieza para ampliar el espacio en el frame
Fecha: Grado: G.I.T.I. Escala: 1:1 Sistema: Título: Autor: Página: Álvaro Morales Calvillo 1/2 30/06/2023 Pieza para unir el motor a la célula de carga (1) Nota:
Fecha: Grado: G.I.T.I. Escala: 1:1 Sistema: Título: Autor: Página: Álvaro Morales Calvillo 2/2 30/06/2023 Pieza para unir el motor a la célula de carga (2) Nota:
Fecha: Grado: G.I.T.I. Escala: 1:1 Sistema: Título: Autor: Página: Álvaro Morales Calvillo 1/2 30/06/2023 Pieza para unir la célula de carga al frame (1) Nota: Para hexarotor de hélices coplanarias
Índice de Figuras 2.1 Geometría genérica de una plataforma multirotor de hélices coplanarias 6 2.2 Representación espacial del conjunto de control alcanzable (ψ=0) [5] 6 2.3 Representación espacial del conjunto de control alcanzable (ψ=0) [5] 7 2.4 Configuración de hexarotor estándar (PNPNPN) 9 2.5 Casuística de fallos posibles de hasta 2 motores (configuración PNPNPN) 10 2.6 Configuración de hexarotor tolerante a fallos (PNNPPN) 10 2.7 Casuística de fallos posibles de hasta 2 motores (configuración PNNPPN) 11 2.8 Geometría genérica de una plataforma multirotor 12 3.1 Esquema de control con reconfiguración para un hexarotor de hélices coplanarias 18 3.2 Esquema de control con reconfiguración para un hexarotor de hélices inclinadas 19 4.1 Tipos de células de carga 22 4.2 Célula de carga de detección por cizalladura 22 4.3 Comportamiento de la célula de carga ante un esfuerzo 22 4.4 Galga extensiométrica de medio puente 23 4.5 Puente Wheatstone 23 4.6 Pinout de un Arduino Nano 24 4.7 Circuito amplificador con el INA125P 25 4.8 Circuito esquemático y rutado de la placa PCB 25 4.9 Previsualización en 3D y resultado final de la placa PCB 26 4.10 Montaje de un motor sobre una célula de carga 26 4.11 Función de regresión que relaciona el valor de empuje y el valor del ADC 27 5.1 Detalle de las piezas utilizadas para aumentar el espacio disponible en el frame 31 5.2 Detalle del montaje de un motor sobre un sensor de fuerza 31 5.3 Detalle del montaje de los motores junto a los sensores de fuerza en el frame del hexarotor de hélices coplanarias 32 5.4 Detalle del montaje de los motores junto a los sensores de fuerza en el frame del hexarotor de hélices inclinadas 32 5.5 Detalle del autopiloto montado sobre la placa amortiguadora fijada en el frame 33 5.6 Detalle de la placa de lectura de los sensores instalada en el frame 33 5.7 Hexarotores montados. A izquierda el multirotor de helices coplanarias. A derecha el multirotor de hélices inclinadas 34 6.1 Trayectoria cuadrada (3D) 36 6.2 Trayectoria cuadrada (x, y, z) 37 6.3 Valores PWM durante la prueba en la que se produce la caída 37 6.4 Trayectoria circular (3D) 38 6.5 Trayectoria circular (x, y, z) 39 6.6 Comportamiento del hexarotor en el instante en el que se produce el fallo (3D) 40 6.7 Comportamiento del hexarotor en el instante en el que se produce el fallo (x, y, z) 40 67
68 Índice de Figuras 6.8 Fuerzas requeridas por el controlador frente a fuerzas medidas (Fallo en el motor 2) 41 6.9 Fuerzas requeridas por el controlador frente a fuerzas medidas (Fallo en los motores 2 y 5) 41 6.10 Ejemplo de detección de un fallo en un actuador 42 A.1 Arduino Nano 45 A.2 Célula de carga 46 A.3 Amplificador INA125P 46 A.4 Otros componentes 46 B.1 Frame DJI F550 49 B.2 Hélices DJI E310 9450 50 B.3 Motores DJI E305 2312E 50 B.4 Variadores 430 LITE ESC 51 B.5 Raspberry Pi 3 Model b 51 B.6 Emlid Navio 2 52 B.7 Batería Gens Ace 5300 mAh 14.8V 4S LiPo 53 B.8 Placa amortiguadora APM CC3D 53 B.9 Receptor 3CH SBUS R6203SBE FUTABA 54 B.10 Emisora 14SG 2.4Ghz 14 canales FASSTesT 54
Bibliografía [1] G. X. Du, Q. Quan, B. Yang, and K. Cai, “Controllability analysis and degraded control for a class of hexacopters subject to rotor failures,” AIAA J. Guid., Control, vol. 38, no. 5, pp. 978–985, 2015. [2] J. I. Giribet, R. S. Sanchez-Pena, and A. S. Ghersin, “Analysis and design of a tilted rotor hexacopter for fault tolerance,” IEEE Transactions on Aerospace and Electronic Systems, vol. 52, no. 4, pp. 1555–1567, 2016. [3] G. Michieletto, M. Ryll, and A. Franchi, “Control of statically hoverable multi-rotor aerial vehicles and application to rotor-failure robustness for hexarotors,” in 2017 IEEE International Conference on Robotics and Automation (ICRA), 2017, pp. 2747–2752. [4] G. Michieletto, M. Ryll, and A. Franchi, “Fundamental actuation properties of multirotors: Force–moment decoupling and fail–safe robustness,” IEEE Transactions on Robotics, vol. 34, no. 3, pp. 702–715, 2018. [5] T. Schneider, G. Ducard, K. Rudin, and P. Strupler, “Fault-tolerant control allocation for multirotor helicopters using parametric programming,” 07 2012. [6] M. Heymann and R. J. Stern, “Controllability of linear systems with positive controls: Geometric considerations,” Journal of Mathematical Analysis and Applications, vol. 52, no. 1, pp. 36–41, 1975. [Online]. Available: https://www.sciencedirect.com/science/article/pii/0022247X75900530 [7] “MATLAB,” https://es.mathworks.com/products/matlab.html. [8] Q. Hu and B. Xiao, “Adaptive fault tolerant control using integral sliding mode strategy with application to flexible spacecraft,” International Journal of Systems Science, vol. 44, no. 12, pp. 2273–2286, 2013. [9] F. Sharifi, M. Mirzaei, B. W. Gordon, and Y. Zhang, “Fault tolerant control of a quadrotor uav using sliding mode control,” in 2010 Conference on Control and Fault-Tolerant Systems (SysTol), 2010, pp. 239–244. [10] A.-R. Merheb, H. Noura, and F. Bateman, “Emergency control of ar drone quadrotor uav suffering a total loss of one rotor,” IEEE/ASME Transactions on Mechatronics, vol. 22, no. 2, pp. 961–971, 2017. [11] M. W. Mueller and R. D ´ Andrea, “Stability and control of a quadrocopter despite the complete loss of one, two, or three propellers,” in 2014 IEEE International Conference on Robotics and Automation (ICRA), 2014, pp. 45–52. [12] G. P. Falconí, V. A. Marvakov, and F. Holzapfel, “Fault tolerant control for a hexarotor system using incremental backstepping,” in 2016 IEEE Conference on Control Applications (CCA), 2016, pp. 237– 242. [13] “Mission Planner,” https://ardupilot.org/planner/docs/mission-planner-installation.html. [14] “Ardupilot,” https://ardupilot.org/. 69
70 Bibliografía [15] A. González Morgado, “Modelado y control de un hexarotor de hélices no coplanarias.” Universidad de Sevilla, 2018. [16] “EasyEda Pro Edition (1.9.30),” https://easyeda.com/es. [17] “Catia V5,” https://www.3ds.com/es/.