Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Instituto Tecnológico de La Laguna Blvd. Revolución y Av. Instituto Tecnológico de La Laguna, Col. Centro. C.P. 27000. Torreón, Coah. México. Tel. (871) 7051313 E-mail: webmaster@correo.itlalaguna.edu.mx tecnm.mx | lalaguna.tecnm.mx DIVISIÓN DE ESTUDIOS DE POSGRADO E INVESTIGACIÓN “Implementación de Controladores Robustos para Nano- Quadrotores usando ROS” POR ING. Jesús Eduardo de la Cruz Aguilar T E S I S PRESENTADO COMO REQUISITO PARCIAL PARA OBTENER EL GRADO DE MAESTRO EN CIENCIAS EN INGENIERÍA ELÉCTRICA DIRECTOR DE TESIS Dr. Héctor Ríos Barajas CODIRECTOR DE TESIS Dr. Alejandro Enrique Dzul López ISSN: 0188-9060 RIITEC: (02)-TMCIE- 2021 Torreón, Coahuila. México Mayo 2021 i El comité tutorial de este trabajo está conformado por: Presidente: Dr. Héctor Ríos Barajas Secretario Dr. Alejandro Enrique Dzul López Vocal: Dr. Víctor Adrián Santibáñez Dávila Vocal Suplente: Dr. Miguel Ángel Llama Leal iii Dedicada a mi familia. . . I Agradecimientos A mi familia. A mis asesores el Dr. Héctor Ríos Barajas y el Dr. Alejandro Enrique Dzul Ló- pez por su paciencia, regaños y sus consejos que a lo largo de esta maestría fueron indispensables para permitirme lograr este trabajo. A mis compañeros de laboratorio M.C. Romeo Falcón, M.C. Roberto Franco, M.C. Edgar Martínez, M.C. Ariana Gutiérrez, Ing. Pablo Rochel, Ing. Óscar Mal- donado, por apoyarme a lo largo de mi maestría con su conocimiento. A mis compañeros de generación Ing. Iván Nava e Ing. Jesús Salazar, por hacer el trabajo en equipo más divertido. Al Dr. Miguel Ángel Llama Leal y Dr. Víctor Adrián Santibáñez Dávila por su participación en la elaboración del mismo. A CONACYT por el apoyo financiero brindado para mis estudios de maestría, con número de CVU 957217, los cuales culminaron con la presentación de esta Tesis. III Resumen En este trabajo de tesis se presenta la implementación de cuatro controladores para el seguimiento de trayectorias en un vehículo aéreo no-tripulado (UAV, por sus siglas en inglés de Unmanned Aerial Vehicle), del tipo Nano Quad-Rotor (debido a su tamaño, peso y sus cuatro rotores). Para garantizar la tarea de seguimiento, se utili- zan estrategias de control basadas en modos deslizantes, con el fin de tratar de for- ma robusta las perturbaciones que, en el caso de este trabajo de tesis, son ráfagas de viento generadas con un ventilador industrial. Los controladores son programados en el Sistema Operativo Robótico (ROS, por sus siglas en inglés de System Operating Robot) e implementados en el firmware del Nano Quad-Rotor, donde se asigna la ta- rea de seguimiento de trayectorias. Finalmente, en los resultados experimentales se demuestra la efectividad de las leyes de control a través de un análisis comparativo entre los controladores robustos, además de un controlador PID clásico. V Abstract In this thesis, the implementation of four controllers is presented for the trajec- tory tracking problem in an Unmanned Aerial Vehicle (UAV); specifically, a Nano Quad-Rotor type (due to its size, weight and its four rotors). To guarantee the trac- king task, robust control strategies based on sliding modes are used to deal with the disturbances, like wind gusts; in our case, they are generated by an industrial fan. The controllers are programmed in a Robotic Operating System (ROS) and imple- mented in the firmware of the Nano Quad-Rotor, where it is assigned the regulation or tracking task. Finally, the experimental results demonstrate the effectiveness of the control laws through a comparative analysis between the robust controllers and a classic PID controller. VII Índice general 1. Introducción 1 1.1. Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2. Planteamiento del Problema . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3. Estado del Arte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.4. Contribución . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.5. Estructura de la Tesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2. Preliminares Matemáticos 7 2.1. Notación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3. Modelado y Control del Nano Quad-Rotor 9 3.1. Modelo Dinámico del Nano Quad-Rotor . . . . . . . . . . . . . . . . . . 9 3.2. Diseño de Control Robusto para Seguimiento de Trayectorias . . . . . 10 3.2.1. Diseño del Controlador de Posición . . . . . . . . . . . . . . . . 11 3.2.2. Diseño del Controlador de Orientación . . . . . . . . . . . . . . 13 1 Controlador PID . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2 Control Singular Terminal por Modos Deslizantes Continuos (STSMC) [38] . . . . . . . . . . . . . . . . . . . . . . . . 14 3 Control No Singular Terminal por Modos Deslizantes Conti- nuos (NTSMC) [39] . . . . . . . . . . . . . . . . . . . . 14 4 Control Twisting Continuo (TC) [40] . . . . . . . . . . . . . . . 14 4. Resultados Experimentales 17 4.1. Plataforma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 4.1.1. Nano Quad-Rotor Crazyflie 2.0 . . . . . . . . . . . . . . . . . . . 17 4.1.2. Sistema de Cámaras OptiTrack . . . . . . . . . . . . . . . . . . . 18 4.1.3. Implementación . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.2. Tarea de Regulación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 4.2.1. Regulación PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 4.2.2. Regulación STSMC . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.2.3. Regulación NTSMC . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.2.4. Regulación TC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.2.5. Análisis Comparativo de Regulación . . . . . . . . . . . . . . . . 29 4.3. Tareas de Seguimiento de Trayectorias . . . . . . . . . . . . . . . . . . . 34 4.3.1. Seguimiento PID . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.3.2. Seguimiento STSMC . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.3.3. Seguimiento NTSMC . . . . . . . . . . . . . . . . . . . . . . . . . 39 4.3.4. Seguimiento TC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.3.5. Análisis Comparativo de Seguimiento . . . . . . . . . . . . . . . 44 5. Conclusiones 49 VIII A. Sistema Operativo Robótico (ROS) 51 A.1. Conceptos básicos y programación en ROS . . . . . . . . . . . . . . . . 51 A.2. Comunicación Optitrack-ROS-Crazyflie . . . . . . . . . . . . . . . . . . 52 A.3. Crazyflie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 A.4. Programación de los controladores . . . . . . . . . . . . . . . . . . . . . 53 Bibliografía 57 1 Capítulo 1 Introducción 1.1. Motivación Debido a la gran diversidad de tareas que los Quad-Rotors pueden realizar (Fi- gura 1.1), es necesario garantizar que los Quad-Rotors cumplan con su tarea cuando están expuestos a perturbaciones externas como los son las ráfagas de viento. Por lo tanto, es importante contar con un controlador robusto que, ante perturbaciones, permita al Quad-Rotor cumplir con su objetivo de regulación o seguimiento. Es por esto que en los últimos años se han realizado diversas investigaciones que permiten un mejor desempeño para los Quad-Rotors en sus áreas de aplicación [1]. Debido a que los Quad-Rotors deben desempeñar sus actividades en ambien- tes no controlados, es necesario diseñar algoritmos de control robusto que puedan realizar tareas de seguimiento aún en presencia de perturbaciones externas e incer- tidumbres. Es claro que dichas perturbaciones e incertidumbres están presentes en este tipo de vehículos debido a su dinámica compleja y las tareas a desempeñar. FIGURA 1.1: Aplicaciones de Quad-Rotors. 2 Capítulo 1. Introducción 1.2. Planteamiento del Problema Las ecuaciones que describen la dinámica simplificada, de un Quad-Rotor (Figu- ra 1.2), están dadas por [2]: ẍ = um(cφsθcψ+ sφsψ) + ax ẋ + dx(t), (1.1a) ÿ = um(cφsθsψ− sφcψ) + ayẏ + dy(t), (1.1b) z̈ = umcφcθ − g + az ż + dz(t), (1.1c) θ̈ = τθ Jx + bθ φ̇ψ̇ + dθ(t), (1.1d) φ̈ = τφ Jy + bφ θ̇ψ̇ + dφ(t), (1.1e) ψ̈ = τψ Jz + bψ θ̇φ̇ + dψ(t). (1.1f) En este trabajo se emplea la siguiente notación sx := sin(x) y cx := cos(x). Las variables x, y ∈ R son las coordenadas en el plano horizontal, z ∈ R es la coordenada de posición vertical del Quad-Rotor, y θ, φ y ψ ∈ R son los ángulos de Euler para el cabeceo (pitch), balanceo (roll) y guiñada (yaw), respectivamente; ẋ, ẏ y ż, son las velocidades traslacionales del Quad-Rotor, φ̇, θ̇ y ψ̇ son las velocidades angulares con respecto al marco fijo del vehículo. El término um se define como um := u/m donde u ∈ R representa el empuje total y m ∈ R+ denota la masa del Quad-Rotor; mientras que los momentos de pitch, roll y yaw están dados por las entradas de control τθ , τφ, τψ ∈ R, respectivamente. Los términos Jx, Jy y Jz representan momentos de inercia a lo largo de los ejes x, y y z. Los coeficientes de arrastre están dados por ax, ay y az, mientras que los coeficientes de inercia están dados por bφ, bθ y bψ. Los términos dx, dy, dz, dθ , dφ, dψ : R → R representan dinámicas no modeladas y perturbaciones externas. 1.3. Estado del Arte 3 FIGURA 1.2: Marco de coordenadas del UAV. El problema de este trabajo de tesis consiste en diseñar e implementar cuatro controladores robustos para el seguimiento de trayectorias en un Nano Quad-Rotor. 1.3. Estado del Arte Hoy en día los UAVs representan un área de oportunidad en el sector industrial y militar, debido a la gran gama de aplicaciones en las que pueden ser utilizados. Entre los diferentes tipos de UAVs, se encuentran los multi-rotores, como los Quad- Rotors, Hexa-Rotors y Octo-Rotors. Actualmente el diseño de controladores para estos vehículos es un tema de interés en la investigación debido a su tamaño pe- queño, bajo costo, y sus diferentes modos de vuelo (despegue y aterrizaje vertical, vuelo estacionario, etc.). Algunas aplicaciones en las que estos pueden encontrar- se son: servicios de topografía y cartografía [3], operaciones de rescate en desastres [4], inspección de edificios [5], exploración geofísica [6], seguimiento del tráfico [7], cultivos agrícolas [8]. Algunos trabajos relacionados con el diseño de algoritmos de control para la es- tabilización y el seguimiento de trayectorias para Quad-Rotors, sin perturbaciones, se pueden encontrarse en la literatura, por ejemplo en [9], donde se aborda el pro- blema de un vuelo estacionario y la regulación de la velocidad de traslación de un UAV con el objetivo de que el vehículo navegue de forma autónoma sin la presencia de perturbaciones. En [10] se proporciona un enfoque de control por modos desli- zantes (SMC) sin vibraciones para una aplicación en tiempo real en un Quad-Rotor para controlar la orientación. En [11] se desarrolla un control adaptable con modos deslizantes para estabilizar los ángulos del Quad-Rotor y realizar una tarea de se- guimiento; el controlador desarrollado se aplica sin considerar las perturbaciones ni las incertidumbres en los parámetros del sistema. En [12] se presenta una estrategia de control para resolver el problema de seguimiento de trayectorias y formación de vuelo sin perturbaciones, utilizando un líder virtual y un seguidor en formación. 4 Capítulo 1. Introducción Por otro lado, es necesario garantizar que los Quad-Rotors cumplirán con su ta- rea aunque estén expuestos a perturbaciones externas como los son las ráfagas de viento. Por lo tanto, es importante que los vehículos cuenten con un controlador robusto que, ante perturbaciones, les permitan cumplir con su objetivo. El control robusto es una rama de la teoría de control moderna cuyo objetivo consiste en lograr la estabilidad del sistema ante la presencia de perturbaciones e incertidumbres. Sin embargo, el diseño de sistemas de control de vuelo robusto para los Quad-Rotors no es una tarea fácil. La complejidad en el diseño de los controladores para estos sis- temas surge de la combinación entre su naturaleza subactuada, acoplamiento entre dinámica traslacional y rotacional, que no es lineal, así como de la posible presen- cia de perturbaciones externas, como el viento. En [13], se propone un esquema de control para el seguimiento de trayectoria en un Quad-Rotor, bajo la presencia de incertidumbres; dicho controlador fue validado experimentalmente. En [14], se pre- senta un esquema por control predictivo, donde el controlador está diseñado para lograr una trayectoria precisa bajo la presencia de ráfagas de viento. El desempeño de esta estrategia está validada a través de estudios experimentales que incluyen maniobras de regulación de orientación agresiva y ráfagas de viento. Un enfoque de (SMC, por sus siglas en inglés de Sliding Mode Control) de segundo orden se pro- pone en [15] para resolver el problema de seguimiento en un Quad-Rotor. En [16], se propone un SMC junto con un observador por modos deslizantes (SMO, por sus siglas en inglés Sliding Mode Observer) para un Quad-Rotor que está bajo la presen- cia de incertidumbres desconocidas. En el mismo contexto, en [17] se ha aplicado un SMO de alto orden para la estimación de los estados de un Quad-Rotor. En [18], un método de control no lineal, basado en backstepping integral y un SMC saturado, se presenta para estabilizar la orientación del Quad-Rotor y alcanzar una tarea de seguimiento de trayectoria. Un SMC integral difuso adaptable se propone en [19] para la estabilización robusta de un Quad-Rotor. En [20], se propone una combi- nación entre un controlador PD y un compensador basado en Laplace, para que la orientación sea robusta en el control de Quad-Rotores que están bajo algunas incer- tidumbres. En [21], se propone una técnica de control que combina un algoritmo de control Super Twisting con un algoritmo robusto de identificación de viento para resolver el problema de seguimiento de trayectoria para un Quad-Rotor. Un con- trolador robusto en cascada es presentado por liu2016robust, para un Quad-Rotor, cuando se presentan con incertidumbres variantes en el tiempo y retrasos en algunas señales. Un controlador de seguimiento asintótico, para un Quad-Rotor, se propone en [22] utilizando un SMC basado en inmersión e invarianza. En [23] se presenta un controlador predictivo basado en modelo para que un Quad-Rotor logre una trayec- toria precisa ante la presencia de ráfagas de viento. En [24] se propone un control de orientación no lineal basado en el método del elipsoide atractivo para seguimiento de trayectorias agresivas en un Quad-Rotor. En [25] se propone un SMC conocien- do la cota de las perturbaciones para el despegue de un Quad-Rotor. En el mismo contexto, en [26] se presenta un controlador Super Twisting para el seguimiento de trayectorias en un Quad-Rotor, asegurando robustez con respecto a perturbaciones externas, pero sólo actuando en la dinámica de orientación. En [27] se propone un control robusto predictivo integral, junto con un H∞ no lineal para seguir la trayec- toria deseada en un Quad-Rotor ante la presencia de perturbaciones aerodinámicas, incertidumbres paramétricas y estructurales. En [28], se propone un observador, pa- ra estimar la fuerza de perturbación externa y el par, que la estabilidad asintótica del error de seguimiento. En [29] se proponen una serie de SMCs y seguimiento de trayectorias en Quad-Rotors en presencia de perturbaciones externas. En [30] se propone un controlador para resolver el problema de formación en un grupo de 49 1.4. Contribución 5 Nano Quad-Rotors tipo Crazyflie. La estrategia de control se basa en un controlador en cascada con un bucle externo para la posición y un lazo interno para la orien- tación, ambos controladores del tipo PID. En [31] se presenta el diseño y la imple- mentación de una estructura de controlador difuso PID para resolver el problema de control de posición de un Nano Quad-Rotor Crazyflie; para la implementación uti- lizan una plataformaexperimental basada en un sistema de cámaras de bajo costo. Otro estudio de seguimiento de trayectorias para un Nano Quad-Rotor se muestra en [32], donde se compara un controlador PID y un controlador tipo LQT utilizando el Crazyflie. En [33] se presenta un controlador adaptable con un filtro optimizado, el cual se utiliza para el control de seguimiento de trayectoria en un Nano Quad- Rotor y se valida experimentalmente. El controlador muestra robustez con respecto a retrasos, perturbaciones, transmisión de radio e incertidumbres en el modelado del Quad-Rotor. Es claro que el problema de seguimiento de trayectorias en Quad-Rotors, en pre- sencia de perturbaciones, sigue siendo un problema importante y desafiante debi- do a la dificultad de acomplamiento que existe entre la orientación y la traslación, considerar perturbaciones e incertidumbres y las no linealidades. Motivado por las dificultades mencionadas, en este trabajo de tesis se realiza la implementación de controladores robustos utilizando un Sistema Operativo Robótico (ROS, por sus si- glas en inglés de System Operating Robot). ROS se desarrolló originalmente en 2007 bajo el nombre de switchyard, por el Laboratorio de Inteligencia Artificial de Stanford, para dar soporte al proyecto del Robot con Inteligencia Artificial de Stanford (STAIR). Desde ese año, Willow Garage, una empresa incubadora de robots, proporcionó una cantidad de recursos conside- rable para extender el desarrollo de ROS, siendo impulsado también por investiga- dores de diversas instituciones en diferentes países [34]. ROS provee los servicios estándar de un sistema operativo, tales como abstracción del hardware, control de dispositivos de bajo nivel, implementación de funcionalidad de uso común, paso de mensajes entre procesos y mantenimiento de paquetes. Está basado en una arquitec- tura de grafos donde el procesamiento toma lugar en los nodos que pueden recibir, mandar y multiplexar mensajes de sensores, control, estados, planificaciones y ac- tuadores, entre otros. La plataforma está orientada para un sistema UNIX (Ubuntu (Linux)) aunque también se está adaptando a otros sistemas operativos como Fedo- ra, Mac OS X, Arch, Gentoo, OpenSUSE, Slackware, Debian o Microsoft Windows. 1.4. Contribución Motivados por las dificultades mencionadas en el diseño e implementación de controladores para seguimiento de trayectorias en Quad-Rotors, en este trabajo de tesis se muestra una estrategia de control robusto para el problema de seguimien- to de trayectorias en un Quad-Rotor. La estrategia está basada en SMCs continuos para la dinámica de orientación; mientras que para la dinámica de traslación la es- trategia se basa en el uso de controladores PID. Además, se presenta la implemen- tación en tiempo real, a través de ROS y un sistema de visión tipo OptiTrack, de los controladores aplicados al Nano Quad-Rotor Crazyflie 2.0 de la empresa Bitcraze. Resultados experimentales y análisis comparativos muestran el desempeño de los diferentes controladores implementados en el Nano Quad-Rotor sometido a ráfagas de viento. 6 Capítulo 1. Introducción 1.5. Estructura de la Tesis La estructura del resto del documento de tesis está organizada de la siguiente manera. El Capítulo 2 muestra los preliminares del trabajo, donde se presentan al- gunas definiciones. En el Capítulo 3 se presenta el modelado de un Quad-Rotor y el diseño de una estrategia de control robusto por modos deslizantes continuos para el seguimiento de trayectorias. En el Capítulo 4 se presentan los resultados experimen- tales en tiempo real así como un análisis comparativo de los resultados obtenidos. Finalmente, en el Capítulo 5 se presentan las conclusiones de este trabajo, mientras que en el Apéndice A se da una noción básica de ROS y el proceso de implementa- ción de controladores por medio de este sistema operativo. 7 Capítulo 2 Preliminares Matemáticos En este Capítulo se describe la notación que se empleará en el resto del documen- to así como definiciones y conceptos fundamentales para el desarrollo del mismo. 2.1. Notación Una función continua α: R+ → R+ pertenece a la clase K si es estrictamente creciente y α(0) = 0; pertenece a la clase K∞ si también es no acotada. Una función continua β: R+ ×R+ → R+ pertenece a la clase KL si para cada s, β(·, s) ∈ K, y β(r, ·) es estrictamente decreciente para cualquier r ∈ R+. Considere una ecuación diferencial dependiente del tiempo [35] dx(t) f t = f (t, x(t)), t ≥ t0, t0 ∈ R (2.1) donde x ∈ Rn es el vector de estados; f : R×Rn → Rn es continua con respecto a x, y f (t, 0) = 0 para todo t ∈ R. La solución del sistema (2.1), para una condición inicial x0 ∈ R en un instante de tiempo t0 ∈ R, es denotada por x(t, t0, x0) y definida en un intervalo de tiempo finito [t0, t0 + T) tal que 0 ≤ T < ∞. Sea Ω una vecindad abierta del origen en Rn, 0 ∈ Ω. Definición 1 ([35], [36]): En estado estacionario x = 0, se dice que el sistema (2.1) es: 1. Uniformemente estable (US), si para cualquier e > 0 existe δ(e) tal que para cual- quier x0 ∈ Ω, si ||x0|| ≤ δ(e), entonces ||x(t, t0, x0)|| ≤ e para todo t ≥ t0, y cualquier t0 ∈ R. 2. Uniformemente exponencialmente estable (UES), si es US y converge exponen- cialmente desde Ω, i.e., para cualquier x0 ∈ Ω, existe k, γ > 0, tal que ||x(t, t0, x0)|| ≤ k||x0||e−γ(t−t0) para toda t ≥ t0, y cualquier t0 ∈ R. 3. Uniformemente estable en tiempo finito (UFTS), si es US y converge en tiempo finito desde Ω, i.e., para cualquier x0 ∈ Ω, existe 0 ≥ Tx0 < +∞ tal que x(t, t0, x0) = 0 para todo t ≤ t0 + Tx0, para cualquier t0 ∈ R. La función T0(x0) = ínf {Tx0 6= 0 : x(t, t0, x0) = 0, ∀t ≤ t0 + Tx0} es llamada el tiempo de asentamiento del sistema (2.1). Si Ω = Rn, entonces, x = 0 se dice que es globalmente US (GUS), UES (GUES), o UFTSA (GUFTS), respectivamente. 8 Capítulo 2. Preliminares Matemáticos Considere el sistema ẋ = f (t, x, u), (2.2) donde f : [0, ∞)×Rn ×Rm es continua a tramos en t y localmente Lipschitz en x y u. La entrada u es una función continua a tramos y acotada en t para todo t ≥ 0. Definición 2 [37]. El sistema (2.2) se dice Entrada-Estado Estable (EEE), si existe una función β ∈ KL y una función γ ∈ K tal que para cualquier estado inicial x0 y para cualquier entrada acotada x0, la solución x(t, t0, x0) existe para todo t ≥ t0 y satisface ||x(t, t0, x0)|| ≤ β (||x0||, t− t0) + γ ( sup t0≤τ≤t ||u(τ)|| ) . (2.3) La desigualdad (2.3) garantiza que para cualquier entrada acotada u, el estado x estará acotado. Además, mientras el tiempo transcurre, el estado x estará última- mente acotado por la función γ. Teorema 1 [37]. Sea V : [0, ∞)×Rn → R una función continuamente diferenciable tal que α1(||x||) ≤ V(t, x) ≤ α2(||x||), (2.4) ∂V ∂t + ∂V ∂x f (t, x, u) ≤ −W3(x), ∀||x|| ≥ ρ(||u||) > 0, (2.5) para todo (t, x, u) ∈ [0, ∞)×Rn ×Rm, donde α1, α2 ∈ K∞, ρ ∈ K y W3(x) es una función continua y definida positiva en Rn. Entonces el sistema (2.2) es EEE con respecto a u. Para una función medible en el sentido de Lebesgue d : R+ → Rm, defina la norma ||d||[t0,t1) = esssupt∈[t0,t1)||d(t)||, entonces ||d||∞ = ||d||[0,+∞). 9 Capítulo 3 Modelado y Control del Nano Quad-Rotor En este Capítulo se describe el modelo dinámico del Nano Quad-Rotor, así co- mo el diseño de controladores por modos deslizantes continuos. En las siguientes secciones se presenta la metodología para diseñar las ganancias para cada uno de ellos. 3.1. Modelo Dinámico del Nano Quad-Rotor Considere el sistema descrito en (1.1) reducido, i.e. ξ̇1 = ξ2, (3.1a) ξ̇2 = gξ(η1)um − G + Λξ2 + dξ , (3.1b) η̇1 = η2, (3.1c) η̇2 = Jτ + Ξwη(η2) + dη , (3.1d) donde ξ1 := (x, y, z)T ∈ R3, ξ2 := (ẋ, ẏ, ż)T ∈ R3, η1 := (θ, φ, ψ)T ∈ R3, η2 := (θ̇, φ̇, ψ̇)T ∈ R3, dξ := (dx, dy, dz)T ∈ R3 y dη := (dθ , dφ, dψ)T ∈ R3 representan la posición, las velocidades lineales, ángulos, velocidades angulares y perturbaciones, respectivamente. El término um = u/m donde u ∈ R representa el empuje total y m ∈ R+ la masa del Nano Quad-Rotor. El término Λ := (ax, ay,az) ∈ R3×3 y Ξ := (bφ, bθ , bψ) ∈ R3×3 son dados por los coeficientes de amortiguamiento y los coeficientes de inercia. El término G := (0, 0, g)T ∈ R3, J := (J−1x , J−1y , J−1z ) ∈ R3×3 y τ := (τθ , τφ, τψ)T ∈ R3 son los vectores de gravedad, la matriz de inercia y el vector de fuerzas aplicadas a las direcciones angulares, respectivamente. La función gξ : R3 → R3 está dada como gξ(η1) := (sφsψ + sθcφcψ, sθcφsψ − sφcψ, cθcφ)T y wη(η2) := (θ̇ψ̇, φ̇ψ̇, φ̇θ̇)T. Se asume que las perturbaciones son Lipschitz continuas y están uniformemen- te acotadas, i.e., ||dx||∞ ≤ Dx, ||dy||∞ ≤ Dy, ||dz||∞ ≤ Dz, ||dθ ||∞ ≤ Dθ , ||dφ||∞ ≤ Dφ, ||dψ||∞ ≤ Dψ, ||ḋx||∞ ≤ D̄x, ||ḋy||∞ ≤ D̄y, ||ḋz||∞ ≤ D̄z, ||ḋθ ||∞ ≤ D̄θ , ||ḋφ||∞ ≤ D̄φ, ||ḋψ||∞ ≤ D̄ψ. Los motores y hélices mostrados en la Figura 1.2 están configurados de tal forma que los motores 1 y 2 giran en sentido de las manecillas del reloj, mientras que los motores 3 y 4 giran en contra de las manecillas del reloj; esto se hace para contra- rrestar las fuerzas de rotación, haciendo posible un vuelo estable. Cada motor está separado del centro de masa por una distancia L. Al momento de hacer girar cada motor se produce un par τi. El empuje Ti generado por el i-ésimo rotor siempre es- tá apuntando hacia arriba en la dirección z, y en paralelo al eje de rotación de los 10 Capítulo 3. Modelado y Control del Nano Quad-Rotor motores. El empuje Ti y los momentos τi resultan de la elevación en la dirección z y momentos en los ejes x, y y z, donde la relación elevación/par y empuje son: u = T1 + T2 + T3 + T4, (3.2a) τθ = L(T1 − T2), (3.2b) τφ = L(T3 − T4), (3.2c) τψ = τ1 + τ2 − τ3 − τ4. (3.2d) El par τi, producido por el i-ésimo motor está en función de los empujes Ti por medio de la relación τi = KTi, donde K ∈ R es una constante positiva diferente de cero. Las ecuaciones de fuerzas mostradas en (3.2) se pueden reescribir en forma matricial como: u τθ τφ τψ = 1 1 1 1 L −L 0 0 0 0 L −L K K −K −K T1 T2 T3 T4 , (3.3) donde el vector de señales de empujes es construido por las señales Ti donde i = 1, 4. Esta matriz es invertible ya que su determinante no es nulo, por lo tanto se pueden encontrar las señales de empuje como se muestra a continuación: T1 T2 T3 T4 = 1 4 1 2L 0 1 4K 1 4 − 1 2L 0 1 4K 1 4 0 1 2L − 1 4K 1 4 0 − 1 2L − 1 4K u τθ τφ τψ . (3.4) 3.2. Diseño de Control Robusto para Seguimiento de Trayec- torias En esta sección, una combinación entre controladores PID y tres diferentes SMC continuos se proponen para el sistema (3.1). Se definen las trayectorias deseadas como xd, yd, zd, ψd ∈ C∞ y acotadas. Entonces los vectores de error de seguimiento se pueden definir como: eξ =(ex, ey, ez)T := ξ1 − ξd, eη =(eθ , eφ, eψ)T := η1 − ηd, εξ =(εx, εy, εz)T := ξ2 − ξ̇d, εη =(εθ , εφ, εψ)T := η2 − η̇d, donde ex := (x − xd), ey := (y − yd), ez := (z − zd) ∈ R, eθ := (θ − θ?), eφ := (φ − φ?), eψ := (ψ − ψd) son los errores de posición y orientación, respectivamen- te; εx := (ẋ− ẋd), εy := (ẏ− ẏd), εz := (ż− żd), εθ := (θ̇ − θ̇?), εφ := (φ̇− φ̇?), εψ := (ψ̇ − ψ̇d), son los errores de velocidad traslacionales y angulares del Quad-Rotor; ξd := (xd, yd, zd)T ∈ R3, ξ̇d := (ẋd, ẏd, żd)T, son los vectores de posición y veloci- dad traslacional deseada, respectivamente; mientras que ηd := (θ?, φ?, ψd)T, η̇d := (θ̇?, φ̇?, ψ̇d)T son vectores de orientación y velocidad angular deseadas, respectiva- mente; con θ? y φ? como señales de referencia que son diseñadas más adelante. Por lo tanto, la dinámica del error de seguimiento está dada por: 3.2. Diseño de Control Robusto para Seguimiento de Trayectorias 11 ėξ = εξ , (3.6a) ε̇ξ = gξ(η1)um − G + Λξ2 + dξ − ξ̈d, (3.6b) ėη = εη , (3.6c) ε̇η = Jτ + Ξwη(η2) + dη − η̈d. (3.6d) Debido a la naturaleza subactuada de la planta, las posiciones x y y no pueden ser desacopladas y controladas directamente con una entrada de control indepen- diente. Por lo tanto, las señales de referencia θ? y φ?, así como u, τθ , τφ y τψ, deben ser calculadas de tal forma que se logre el seguimiento de las consignas deseadas ξd y ψd. Para esto, se introduce un control virtual ν := (νx, νy, νz)T ∈ R3 en la dinámica del error de posición (3.6a) y (3.6b) ėξ = εξ , (3.7a) ε̇ξ = ν + wξ(η1, um, ν) + Λξ2 + dξ − ξ̈d, (3.7b) ėη = εη , (3.7c) ε̇η = Jτ + Ξwη(η2) + dη − η̈d, (3.7d) donde wξ(η1, um, ν) = (wx, wy, wz) := gξ(η1)um−G− ν. Entonces, se puede estable- cer una relación para el control virtual ν de la forma: ν = um(cφ?sθ?cψd + sφ?sψd)um(cφ?sθ?sψd − sφ?cψd) umcθ?cφ? − g , (3.8) expresión de la cual es posible calcular um, así como las señales de referencia θ? y φ? como: um = √ νx2 + νy2 + (νz + g)2, (3.9a) θ? = arctan[(νz + g)−1(νxcψd + νysψd)], (3.9b) φ? = arcsin [ u−1m (νxsψd − νycψd) ] , (3.9c) donde las velocidades y aceleraciones angulares, correspondientes a θ? y φ?, se con- sideran cercanas a cero, ya que se asume que el Quad-Rotor no realizará maniobras agresivas. Por lo tanto, el objetivo ahora es diseñar el controlador virtual ν y la entrada de control τ tal que el vector de error de seguimiento e := (eξ , εξ , eη , εξ)T converja a cero a pesar de incertidumbres y perturbaciones. Para cumplir tal objetivo, se demostrará que el sistema (3.7a) y (3.7b) es EEE con respecto a eη y dξ , y luego, se demostrará que el sistema (3.7c) y (3.7d) es GUFTS. 3.2.1. Diseño del Controlador de Posición Se propone el uso de los siguientes controladores virtuales PID para νx, νy y νz [29]: 12 Capítulo 3. Modelado y Control del Nano Quad-Rotor νx = kx0ēx + kx1ex + kx2εx + ẍd − ax ẋ, (3.10a) νy = ky0ēy + ky1ey + ky2εy + ÿd − ayẏ, (3.10b) νz = kz0ēz + kz1ez + kz2εz + z̈d − az ż, (3.10c) donde ēx := ∫ t 0 ex(τ)dτ, ēy := ∫ t 0 ey(τ)dτ, ēz := ∫ t 0 ez(τ)dτ, y las ganancias kxj, kyj y kzj, con j = 0, 2, son diseñadas tal que las siguientes matrices: 0 1 00 0 1 kx0 kx1 kx2 , 0 1 00 0 1 ky0 ky1 ky2 , 0 1 00 0 1 kz0 kz1 kz2 , (3.11) son Hurwitz. Entonces si νx se diseñada como en (3.10a), la dinámica del error para x está dada por: ėx = (A + BKx) ex + B(wx + dx), (3.12) donde las matrices A y B están dadas como: A = ( 02×1 I2 0 01×2 ) , B = ( 02×1 1 ) , con ex := (ēx, ex, εx)T ∈ R3 y Kx = (kx0, kx1, kx2) ∈ R1×3 el vector de ganancias. Con el fin de analizar la estabilidad de (3.12), se propone la siguiente función candidata de Lyapunov V = eTx Pxex, Px = P T x > 0. (3.13) La derivada con respecto al tiempo de V, a lo largo de las trayectorias del sistema (3.12), está dada por V̇ = eTx (Px Ak + A T k Px)ex + 2e T x PxB(wx + dx), donde Ak := A + BKx. Dado que el par (A, B) es controlable, siempre existe Kx tal que la matriz Ak es Hurwitz, y entonces, se satisface que V̇(ex) = −eTx Qxex + 2eTx PxB(wx + dx), V̇(ex) ≤ −λmı́n(Qx)||ex||2 + 2λmáx(Px)||ex||||B|| (||wx||∞ + ||dx||∞) . Finalmente, para toda ρx ∈ (0, 1), se tiene que V̇(ex) ≤ −(1− ρx)λmı́n(Qx)||ex||2, ∀||ex|| ≥ 2λmáx(P)||B|| (||wx||∞ + ||dx||∞) ρxλmı́n(Q) . El mismo análisis se pude aplicar para las coordenadas y y z. Por lo tanto, se obtiene el siguiente resultado. Teorema 2 Sea el control (3.10), aplicado al sistema (3.1). Suponga que kxj, kyj y kzj, con j = 0, 2, son tales que las matrices (3.11) son Hurwitz. Entonces el sistema (3.7a) y (3.7b) es EEE con respecto a wξ y dξ . Note que el término de perturbación wξ puede ser escrito como: 3.2. Diseño de Control Robusto para Seguimiento de Trayectorias 13 wξ(η1, um, ν) = um sφsψ + sθcφcψsθcφsψ− sφcψ cθcφ − sφ?sψd + sθ?cφ?cψdsθ?cφ?sψd − sφ?cψd cθ?cφ? , (3.14) y debido a que la función es Lipschitz en η1 en R3 y continua en um en R, se tiene que ||wξ ||∞ ≤ Lξ ||eη ||∞, ∀η1, ν ∈ R3, ∀um ∈ R, (3.15) para cierta Lξ >0. 3.2.2. Diseño del Controlador de Orientación Estación Tierra Trayectoria deseada x,y,z, Optitrack Control PID Externo Estación Tierra Sensores Crazyflie Control SMC Interno Señales de Control Motoresxd,yd,zd, xd,yd,zd, Controlde Posición Control de Orientación Quad-Rotor Crazyflie Control Virtual e . . . . d .d FIGURA 3.1: Diagrama de Control del Crazyflie. Es claro que la dinámica del error orientación (3.7c) - (3.7d) se puede ver como una dinámica desacoplada con tres entradas de control independientes. Por lo tanto, debido a tal desacoplamiento de la dinámica de orientación, el control de posición está diseñado como un control de alto nivel, mientras que el control de orientación es un control de bajo nivel, ver Figura 3.1. A continuación, se implementará un con- trolador tipo PID y tres SMC continuos para el control de orientación, como los mos- trados en [29]. Se propone el siguiente control de orientación τθ = J−1x (τ̄θ − bθ φ̇ψ̇) , (3.16a) τφ = J−1y ( τ̄φ − bφ θ̇ψ̇ ) , (3.16b) τψ = J−1z ( τ̄ψ − bψθ̇φ̇ + ψ̈d ) , (3.16c) donde los términos τ̄θ , τ̄φ y τ̄ψ se pueden diseñar como controladores PID, o como uno de los tres diferentes SMCs continuos descritos a continuación 1 Controlador PID τ̄j = k j0ēj + k j1ej + k j2ε j, ∀j = θ, φ, ψ, (3.17) donde ēj = ∫ t 0 ej(τ)dτ, y las ganancias se diseñan tal que la siguiente matriz: 0 1 00 0 1 k j0 k j1 k j2 , (3.18) 14 Capítulo 3. Modelado y Control del Nano Quad-Rotor sea Hurwitz. 2 Control Singular Terminal por Modos Deslizantes Continuos (STSMC) [38] τ̄j = vj − k j2 ⌈ sj ⌋ 1 2 , (3.19a) sj = ε j + k j1 ⌈ ε j ⌋ 2 3 , (3.19b) v̇j = −k j3 ⌈ sj ⌋0 , ∀j = θ, φ, ψ, (3.19c) donde una posible selección para las ganancias se muestra en la Tabla 3.1. TABLA 3.1: Selección de ganancias para el controlador STSMC. Conjunto 1 k j1 > 0 k j2 1.5 ζ 1 2 k j3 1.1 ζ ζ > D̄j 3 Control No Singular Terminal por Modos Deslizantes Continuos (NTSMC) [39] τ̄j = vj − k j2 ⌈ sj ⌋ 1 3 , (3.20a) sj = ej + k j1 ⌈ ε j ⌋ 3 2 , (3.20b) v̇j = −k j3 ⌈ sj ⌋0 , ∀j = θ, φ, ψ, (3.20c) donde una posible selección para las ganancias se muestra en la Tabla 3.2. TABLA 3.2: Ganancias del controladores NTSMC. Conjunto 1 2 3 4 k j1 20ζ− 1 2 28.7ζ− 1 2 7.7ζ− 1 2 ζ− 1 2 k j2 4.4ζ 2 3 4.5ζ 2 3 7.5ζ 2 3 16ζ 2 3 k j3 2.5ζ 2ζ 2ζ 7ζ ζ > D̄j > D̄j > D̄j > D̄j 4 Control Twisting Continuo (TC) [40] τ̄j = vj − k j1 ⌈ ej ⌋ 1 3 − k j2 ⌈ ε j ⌋ 1 2 , (3.21a) v̇j = −k j3 ⌈ ej ⌋0 − k j4 ⌈ε j⌋0 , ∀j = θ, φ, ψ, (3.21b) donde una posible selección para las ganancias se muestra en la Tabla 3.3. Con base en los controladores descritos anteriormente, se obtiene el siguiente resultado. 3.2. Diseño de Control Robusto para Seguimiento de Trayectorias 15 TABLA 3.3: Ganancias del controladores TC. Conjunto 1 2 3 4 k j1 25ζ 2 3 19ζ 2 3 13ζ 2 3 7ζ 2 3 k j2 15ζ 1 2 10ζ 1 2 7.5ζ 1 2 5ζ 1 2 k j3 2.3ζ 2.3ζ 2.3ζ 2.3ζ k j4 1.1ζ 1.1ζ 1.1ζ 1.1 ζ ζ > D̄j > D̄j > D̄j > D̄j Teorema 3 [29] Sea el control (3.16) aplicado al sistema (3.1). Suponga que τ̄θ , τ̄φ, y τ̄ψ, son diseñadas de acuerdo a cualquiera de los SMCs continuos, (3.19), (3.20) y (3.21). Entonces, en estado estacionario (eξ , εξ , eη , εη) = 0, el sistema (3.7c)-(3.7d) es GUFTS. Si τ̄θ , τ̄φ y τ̄ψ se diseñan de acuerdo a (3.17); entonces, la dinámica del sistema (3.7c)-(3.7d) es EEE con respecto a dη . La prueba de este teorema se describe en [29]. De este modo, de acuerdo al Teo- rema 2, se tiene que:∥∥∥∥( eξ(t, eξ0, εξ , eη)εξ(t, eξ , εξ0, eη) )∥∥∥∥ ≤ βξ ∥∥∥∥( eξ0εξ0 )∥∥∥∥ , t + γξ(||eη ||∞), (3.22) para todo t ≥ 0, y algunas βξ ∈ KL y γξ ∈ K. Entonces, de acuerdo al Teorema 3, cuando se aplican los SMCs, se tiene que eη(t) = 0, para todo t ≥ Tη > 0; y dado que el término wξ se desvanece cuando eη = 0, se obtiene que (eξ , εξ) = 0 es GUES. Cuando se aplican los controladores PID, se obtiene que (eξ , εξ) = 0 es únicamente GUS. De esta manera, se estable el resultado principal en el siguiente teorema. Teorema 4 [29] Sean los controladores (3.9), (3.10) y (3.16) aplicados al sistema (3.1). Suponga que τ̄θ , τ̄φ, y τ̄ψ, son diseñadas de acuerdo a cualquiera de los SMCs continuos, (3.19), (3.20) y (3.21). Suponga que kxj, kyj, kzj con j = 0, 2, son tales que las matrices (3.11) son Hurwitz. Entonces, en estado estacionario (eξ , εξ , eη , εη) = 0, el sistema (3.7) es GUS. Si τ̄θ , τ̄φ y τ̄ψ se diseñan de acuerdo a (3.17); entonces, la dinámica del sistema (3.7) es EEE con respecto a dξ . 17 Capítulo 4 Resultados Experimentales En este capítulo se presentan los resultados experimentales para el Nano Quad- Rotor Crazyflie. Los experimentos se llevaron acabo utilizando un sistema de cáma- ras del tipo OptiTrack con ROS Melodic 18.04. El tiempo de muestreo de ROS es de 0.03[s]. 4.1. Plataforma 4.1.1. Nano Quad-Rotor Crazyflie 2.0 FIGURA 4.1: Crazyflie 2.0 Las dimensiones del Crazyflie 2.0 es de 92 × 92 × 19 [mm], pesa 27 [g], tiene una batería de LiPo de 3.7 [V] con capacidad de 240 [mA/hr] la cual le permite tener un vuelo continuo de 7 minutos; cuenta con una unidad de medición inercial (IMU) de 10 grados de libertad (GDL), divididos en: acelerómetros (3GDL), giroscopios (3GDL), magnetómetros (3GDL) y un barómetro (1GDL). Además, cuenta con dos microcontroladores ARM: Cortex M4 (STM32F405) y M0 (nRF51822). El primer mi- crocontrolador es el encargado de ejecutar los algoritmos de control para los actua- dores, mientras que el segundo es el encargado del sistema de comunicación. Para la comunicación del Nano Quad-Rotor Crazyflie, Bitcraze le proporciona un Bluetooth y un transceptor de 2.4 [GHz] de alto rendimiento llamado Crazyradio PA, el cual cuenta con un amplificador de 20 [dB] que le permite una línea de visión de hasta 18 Capítulo 4. Resultados Experimentales 1 [Km]. La comunicación con Bluetooth permite la conexión con dispositivos iOS o Android mediante una aplicación desarrollada por Bitcraze. 4.1.2. Sistema de Cámaras OptiTrack FIGURA 4.2: Sistema OptiTrack - Cámaras FLEX 3 OptiTrack es una plataforma de captura de movimiento que ofrece un segui- miento óptico de alto rendimiento a través de sus cámaras y el Software Motive. El sistema, con el que se cuenta en el Laboratorio de Mecatrónica y Control, posee de 6 cámaras del modelo FLEX 3 (Figura 4.2), las cuales constan con un anillo de 26 leds de radiación infrarroja con una longitud de onda de 850 nanómetros. La cáma- ra FLEX 3 es capaz de capturar objetos de movimiento rápido con su obturador de imágenes global, con una velocidad de captura de 100 fotogramas por segundo. Motive es el Software oficial de OptiTrack, el cual captura el movimiento óptico a partir de algunos marcadores colocados en el objeto (cuerpo) que se desee capturar; la Figura 4.3 muestra el software y la configuración utilizada para la plataforma desarrollada. FIGURA 4.3: Software Motive Cuerpos Rígidos: Los marcadores aparecen agrupados, con un sistema de refe- rencia, una etiqueta y un color único. Una de las características de este listado es que permite visualizar los cuerpos con los que desea trabajar. Vale la pena señalar que la posición de los marcadores debe de variar en cada cuerpo, ademas de ser asimétrica. Esto con la finalidad de evitar errores en la captura de la posición del cuerpo. 4.1. Plataforma 19 Transmisión de datos: Motive se encuentra disponible solo para el sistema ope- rativo Windows 7 y versiones posteriores. Por esta razón, éste ofrece la posibilidad de transmitir los datos a través de una red local. Por esta razón es necesario contar con la dirección IP de la computadora con la que se realizará la transmisión de los datos (véase Figura 4.3). Crazyflie 2.0 Ventilador Industrial Plataforma OptiTrack MotivePC con ROS Cámara (OptiTrack) FIGURA 4.4: Diagrama a bloques del funcionamiento del sistema. La Figura 4.4 muestra el laboratorio en donde se encuentra la plataforma. Está consta de seis cámaras OptiTrack, un Nano Quad-Rotor del tipo Crazyflie 2.0, una computadora con Windows 7 con los software Motive y una computadora con ROS Melodic (Ubuntu 18.04), además se cuenta con un Ventilador Industrial el cual per- mite emular ráfagas de viento. 4.1.3. Implementación El diagrama a bloques de la Figura 4.5 muestra el proceso de controlque se lleva acabo en el Nano Quad-Rotor para realizar una tarea deseada. Los bloques de la Figura 4.5 son: 1. Trayectoria deseada: Este bloque tiene como objetivo enviar los valores desea- dos de xd, yd, zd y ψd. 2. OptiTrack: El bloque OptiTrack transmite, a través de un sistema de 6 cámaras, la lectura de los estados x, y, z y ψ, utilizando el paquete computacional Motive y transmitiéndolos por medio de VRPN a ROS. 3. Control PID Externo: Este bloque contiene la implementación de los controla- dores PID dados en (3.10), que reciben los errores de regulación o seguimiento 20 Capítulo 4. Resultados Experimentales Estación Tierra Trayectoria deseada x,y,z, Optitrack Control PID Externo Estación Tierra Sensores Crazyflie Control SMC Interno Señales de Control Motoresxd,yd,zd, xd,yd,zd, Control de Posición Control de Orientación Quad-Rotor Crazyflie Control Virtual e . . . . d .d FIGURA 4.5: Diagrama de Control del Crazyflie. en la posición x, y, z. La implementación es realizada en ROS donde el contro- lador se programa en C++ y funciona a 500 Hz. 4. Control SMC Interno: Este controlador se encuentra en el firmware, y recibe los errores de φ y θ para realizar el control. El controlador interno tiene la ven- taja de funcionar significativamente más rápido debido a que no sufre de un retraso introducido por el enlace de radio. Además, el control interno necesita cumplir con la tarea de regulación o se- guimiento a una velocidad más rápida que el control externo, así que se reco- mienda que el control interno sea dos veces más rápido que el control externo. Por lo tanto el controlador PID (3.17) y los controladores por modos deslizan- tes continuos dados en (3.19a), (3.20a), (3.21a) son programados en el firmware del Crazyflie [41]. 5. Señales de control: En este bloque se generan las 4 señales de control para después ser enviadas al los motores del Nano-Quadrotor. Las señales se repre- sentan en forma matricial en (3.3). Esta matriz es invertible ya que su deter- minante no es nulo, por lo tanto se pueden encontrar las señales de empujes como se muestra en (3.4). 6. Motores: El bloque cuenta con 4 motores tipo DC coreless con conector, con un diámetro de 7[mm], longitud de 16[mm], peso de 2.7[g], con voltaje nominal de 4.7[V] y 1000[mA]. 4.2. Tarea de Regulación La tarea diseñada para el Nano Quad-Rotor tiene una duración de 60[s], la cual consiste en realizar una regulación, donde xd = -0.2 [m], yd = 0.1[m], zd = 0.7[m] y ψd = −50[deg]; además, el Nano Quad-Rotor es sometido a ráfagas de viento con una velocidad aproximada de 0.60 [m/s]. 4.2.1. Regulación PID En la Tabla 4.1 se muestran las ganancias según lo mencionado en la sección de la Implementación del controlador PID para el Nano Quad-Rotor. En la Figura 4.6 se muestran las posiciones x, y, z del Nano Quad-Rotor con res- pecto al tiempo. Es evidente que para las tres coordenadas traslacionales se presenta un sobrepaso; para x el sobrepaso es de 0.1 [m], para y de 1 [m] mientras que para 4.2. Tarea de Regulación 21 TABLA 4.1: Ganancias del controladores PID para Seguimiento. Ganancias 0 1 2 x kx0 = −2880 kx1 = −43 kx2 = −612 y ky0 = −2880 ky1 = −43 ky2 = −612 z kz0 = −2500 kz1 = −3500 kz2 = −6000 θ kθ0 = −6200 kθ1 = −400 kθ2 = −5900 φ kφ0 = −500 kφ1 = −200 kφ2 = −3000 ψ kψ0 = −6000 kψ1 = −500 kψ2 = −1200 z de 0.3 [m]. Sin embargo, es claro que el tiempo de asentamiento es relativamente corto, alrededor de 10 [s] para las tres coordenadas. La Figura 4.7, muestra el desempeño de φ, θ, ψ. Se puede apreciar que para θ y φ se tiene sobre impulsos en los primeros 10 [s] los cuales hacen que el Nano Quad- Rotor corrija su trayectoria y cumpla con la tarea; en ψ se observa un pequeño sobre paso de 10 [deg], sin embargo, el tiempo de asentamiento es al rededor de 5 [s]. Finalmente en las Figuras 4.8 y 4.9 se muestra los errores de la tarea y los empujes. 0 10 20 30 40 50 60 0 0.5 1 0 10 20 30 40 50 60 0 0.6 1.2 0 10 20 30 40 50 60 -0.4 -0.2 0 0.2 FIGURA 4.6: Posición - Regulación con PID 22 Capítulo 4. Resultados Experimentales 0 10 20 30 40 50 60 -8 -4 0 4 0 10 20 30 40 50 60 -10 0 10 20 0 10 20 30 40 50 60 -60 -30 0 FIGURA 4.7: Orientación - Regulación con PID 0 10 20 30 40 50 60 -0.2 0 0.2 0 10 20 30 40 50 60 -0.5 0 0.5 1 0 10 20 30 40 50 60 -0.8 -0.4 0 0.4 0 10 20 30 40 50 60 0 30 60 FIGURA 4.8: Error de Regulación - PID 4.2. Tarea de Regulación 23 0 10 20 30 40 50 60 0 10 20 30 0 10 20 30 40 50 60 -2 0 2 0 10 20 30 40 50 60 0 2.5 5 0 10 20 30 40 50 60 -2 0 2 FIGURA 4.9: Empujes - Regulación con PID 4.2.2. Regulación STSMC TABLA 4.2: Ganancias del controladores PID para Regulación. Ganancias 0 1 2 x kx0 = −2880 kx1 = −43 kx2 = −612 y ky0 = −2880 ky1 = −43 ky2 = −612 z kz0 = −9240 kz1 = −63 kz2 = −1322 TABLA 4.3: Ganancias del controladores STSMC para Regulación. Ganancias 1 2 3 ξ θ kθ1 = 150 kθ2 =3.5410 kθ3 =5.5 ξθ = 5 φ kφ1 = 200 kφ2 =21.2132 kφ3 = 220 ξφ = 200 ψ kψ1 = 10 kψ2 =4.74316 kψ3 = 11 ξψ = 10 Las Tablas 4.2 y 4.3 muestran las ganancias que se diseñaron de acuerdo a las sec- ciones 3.2.1 y 3.2.2. Para los controladores STSMC se usó el conjunto de parámetros 1 dado en la Tabla 3.1. Los comportamientos son mostrados en las Figuras 4.10 y 4.11, donde el color rojo punteado representa la trayectoria deseada y de color azul se presenta la tra- yectoria real; en las Figuras 4.12 y 4.13 se muestra el error en regulación y el empuje requerido por el Nano Quad-Rotor durante la tarea. 24 Capítulo 4. Resultados Experimentales En la Figura 4.10 se aprecian las posiciones x, y, z del Nano Quad-Rotor con res- pecto al tiempo. Es evidente que para las tres coordenadas traslacionales se presenta un sobrepaso; para x el sobrepaso es de 0.1 [m], para y de 1 [m] mientras que para z de 0.3 [m]. Sin embargo, es claro que el tiempo de asentamiento es relativamente corto, alrededor de 10 [s] para las tres coordenadas. Por otra parte, respecto a la orientación del Nano Quad-Rotor, en la Figura 4.11, se observan los comportamientos de φ, θ, ψ que tiene el Nano Quad-Rotor en regula- ción; en φ se tiene un comportamiento inicial que va de 7 [deg] a -14 [deg], θ muestra un comportamiento inicial que oscila entre -6 [deg] y 12 [deg]. En ψ se tiene un so- brepaso de más de 10 [deg], sin embargo es claro que el tiempo de asentamiento es relativamente corto. Finalmente, en las Figuras 4.12 y 4.13 se aprecian el error que se obtuvo del experimento y el comportamiento de los empujes. 0 10 20 30 40 50 60 0 0.5 1 0 10 20 30 40 50 60 0 0.6 1.2 0 10 20 30 40 50 60 -0.4 -0.2 0 0.2 FIGURA 4.10: Posición del Nano Quad-Rotor - Regulación con STSMC 0 10 20 30 40 50 60 -6 0 6 12 0 10 20 30 40 50 60 -60 -30 0 30 0 10 20 30 40 50 60 -14 -7 0 7 FIGURA 4.11: Orientación - Regulación STSMC 4.2. Tarea de Regulación 25 0 10 20 30 40 50 60 0 0.5 1 0 10 20 30 40 50 60 -0.8 -0.4 0 0.4 0 10 20 30 40 50 60 -0.2 0 0.2 0.4 0 10 20 30 40 50 60 -30 0 30 60 FIGURA 4.12: Error de Regulación - STSMC 0 10 20 30 40 50 60 -20 0 20 40 0 10 20 30 40 50 60 -2 0 2 0 10 20 30 40 50 60 0 2.5 5 0 10 20 30 40 50 60 -2 0 2 FIGURA 4.13: Empuje - Regulación con STSMC 4.2.3. Regulación NTSMC TABLA 4.4: Ganancias del controlador PID para Regulación. Ganancias 0 1 2 x kx0 = −2880 kx1 = −43 kx2 = −612 y ky0 = −2880 ky1 = −43 ky2 = −612 z kz0 = −9240 kz1 = −63 kz2 = −1322 TABLA 4.5: Ganancias del controlador NTSMC para Regulación. Ganancias 1 2 3 ξ θ kθ1 = 10 kθ2 =11.0873050 kθ3 = 10 ξθ = 4 φ kφ1 = 10 kφ2 = 11.0873052 kφ3 = 10 ξφ = 4 ψ kψ1 = 9.07573 kψ2 =20.88714 kψ3 = 20 ξψ = 10 Las Tablas 4.4 y 4.5 muestran las ganancias que se diseñaron de acuerdo a las sec- ciones 3.2.1 y 3.2.2. Para los controladores NTSMC se usó el conjunto de parámetros 1 y 2 dado en la Tabla 3.2. 26 Capítulo 4. Resultados Experimentales En la Figura 4.14 se muestran las posiciones x,y,z del Nano Quad-Rotor con res- pecto al tiempo. Es evidente que paralas tres coordenadas traslacionales se presenta un sobrepaso; para x el sobrepaso es de 0.2[m], para y de 1[m] mientras que para z de 0.7[m]. Sin embargo, es claro que el tiempo de asentamiento es relativamente corto, alrededor de 10[s] para las tres coordenadas. La Figura 4.15 prueba el comportamiento que tiene el Nano Quad-Rotor en los ángulos φ, θ, ψ, donde φ tiene un comportamiento que va de -5 a 5 [deg], en θ se presenta un desempeño mayor que va de -14 a 14 [deg], los cuales ayudan a corregir la trayectoria del Nano Quad-Rotor en los primeros 10 [s]. En ψ se aprecia un sobre- paso máximo de alrededor de 10 [deg]. Es evidente que el tiempo de asentamiento para ψ es menor a los 10 [s]. Por último, en las Figuras 4.16 y 4.17 se muestran tanto el error que se tiene en la posición y orientación del experimento, así como el comportamiento de los empujes. 0 10 20 30 40 50 60 -0.6 0 0.6 1.2 0 10 20 30 40 50 60 0 0.7 1.4 0 10 20 30 40 50 60 -0.4 -0.2 0 0.2 FIGURA 4.14: Posición - Regulación con NTSMC 0 10 20 30 40 50 60 -5 -2.5 0 2.5 5 0 10 20 30 40 50 60 -14 -7 0 7 14 0 10 20 30 40 50 60 -60 30 0 30 FIGURA 4.15: Orientación - Regulación con NTSMC 4.2. Tarea de Regulación 27 0 10 20 30 40 50 60 -0.6 0 0.6 1.2 0 10 20 30 40 50 60 -1.2 -0.6 0 0.6 0 10 20 30 40 50 60 -0.2 0 0.2 0 10 20 30 40 50 60 0 30 60 FIGURA 4.16: Error de Regulación - NTSMC 0 10 20 30 40 50 60 0 7.5 15 0 10 20 30 40 50 60 -2 0 2 0 10 20 30 40 50 60 0 2.5 5 0 10 20 30 40 50 60 -2 0 2 FIGURA 4.17: Empujes - Regulación con NTSCM 4.2.4. Regulación TC TABLA 4.6: Ganancias del controladores PID para Regulación. Ganancias 0 1 2 x kx0 = −2880 kx1 = −43 kx2 = −612 y ky0 = −2880 ky1 = −43 ky2 = −612 z kz0 = −9240 kz1 = −63 kz2 = −1322 TABLA 4.7: Ganancias del controladores TC para Regulación. Ganancias 1 2 3 4 ξ θ kθ1 = 73.1004 kθ2 = 33.5410 kθ3 = 11.5 kθ4 =5.5 ξθ = 5 φ kφ1 =62.736617 kφ2 =24.4948 kφ3 =13.8 kφ4 =6.6 ξφ = 6 ψ kψ1 =116.03972 kψ2 =47.4341 kψ3 = 23 kψ4 = 11 ξψ = 10 28 Capítulo 4. Resultados Experimentales La Tablas 4.6 y 4.7 exhiben las ganancias que se diseñaron de acuerdo a las sec- ciones 3.2.1 y 3.2.2. Para los controladores TC se usó el grupo de parámetros 1 dado en la Tabla 3.3. Las Figura 4.18 muestra las posiciones x, y, z del Nano Quad-Rotor con respecto al tiempo. Es evidente que para las tres coordenadas de posición se tiene un sobre- paso; para x el sobrepaso es de 0.1 [m], para y de 0.8 [m] mientras que para z de 0.4 [m]. Sin embargo, es claro que el tiempo de asentamiento es relativamente corto, alrededor de 10 [s] para x, y,y z. En la Figura 4.19, se muestra el comportamiento que obtuvo el Nano Quad-Rotor en la parte Rotacional φ, θ, ψ, donde en el estado φ se tiene un comportamiento que va de -5 [deg] a 5 [deg] en los primeros 10 [s], para θ se muestra un desempeño que va de -10 [deg] a 10 [deg]; finalmente el angulo ψ tiene un sobrepaso de 10 [deg] y es claro que el tiempo de asentamiento está antes de los 10 [s]. En las Figuras 4.20 y 4.21 se da a conocer el error y los empujes obtenidos. 0 10 20 30 40 50 60 0 0.3 0.6 0.9 0 10 20 30 40 50 60 0 0.6 1.2 0 10 20 30 40 50 60 -0.4 -0.2 0 FIGURA 4.18: Posición - Regulación con TC 0 10 20 30 40 50 60 -5 -2.5 0 2.5 5 0 10 20 30 40 50 60 -10 0 10 20 0 10 20 30 40 50 60 -60 -30 0 30 FIGURA 4.19: Orientación - Regulación con TC 4.2. Tarea de Regulación 29 0 10 20 30 40 50 60 0 0.5 1 0 10 20 30 40 50 60 -0.8 -0.4 0 0.4 0 10 20 30 40 50 60 -0.1 0 0.1 0.2 0 10 20 30 40 50 60 0 30 60 FIGURA 4.20: Error de Regulación - TC 0 10 20 30 40 50 60 -15 0 15 30 0 10 20 30 40 50 60 -2 0 2 0 10 20 30 40 50 60 0 2.5 5 0 10 20 30 40 50 60 -2 0 2 FIGURA 4.21: Empujes - Regulación con TC 4.2.5. Análisis Comparativo de Regulación Para ilustrar mejor el rendimiento del controlador, se propone utilizar la siguien- te ecuación: fRMS(t) = ( 1 ∆T ∫ T t−∆T || f (σ)||2dσ ) 1 2 (4.1) donde fRMS : R → R≥0 representa el valor cuadrático medio de la función f : R→ Rn. Utilizando (4.1) se obtendrán índices de desempeño promedio para el error de regulación de posición, el error de ángulo de guiñada y las señales de control Ū = (u, τφ, τθ , τψ)T, con ∆T = 2. Para proporcionar una comparación cuantitativa más precisa, se mostrarán al- gunos valores numéricos de las propiedades de los índices de desempeño prome- dio, es decir, el mínimo min(ēxRMS), la media Mean(ēxRMS) y los valores máximos max(ēxRMS), ēψRMS . En la Figura 4.22 se muestra la comparación de los controladores para la tarea de regulación. La Figura 4.23 muestra el desempeño de cada uno de los controladores para la orientación del Nano Quad-Rotor, en donde el PID tiene mejor comporta- miento y el STSMC tiene un sobrepaso de 60 [deg] mayor al resto de los controlado- res. 30 Capítulo 4. Resultados Experimentales En la Figura 4.24 se comparan los errores que cada controlador desarrolló en la ta- rea de regulación, donde no se muestran las señales para θ y φ ya que son señales generadas por un controlador virtual. En la Figura 4.25 se aprecian los empujes que desarrolló cada controlador, donde el STSMC muestra una oscilación mayor, la cual genera ligeros movimientos de orientación agresivos. Las Figuras 4.26 y 4.27 mues- tran el índice de error de seguimiento de cada uno de los controladores implemen- tados así como el índice de empuje desarrollado por cada controlador respectiva- mente. La Figura 4.26 no muestra las señales de referencia θ y φ ya que son señales generadas por un control virtual. En la Figura 4.28 se muestran las propiedades de los promedios del índice de error para la posición del Nano Quad-Rotor en la tarea de Regulación, donde el controlador que tiene menor índice de error es el TC y el que mayor índice de error tiene es el NTSMC; en la Figura 4.29, el controlador que menos error tiene es el TC y el que mayor índice de error tiene es el PID. Finalmen- te, en la Figura 4.30 se aprecian las propiedades de índice de desempeño donde el STSMC muestra tener el mayor índice de desempeño. 0 10 20 30 40 50 60 0 0.7 1.4 0 10 20 30 40 50 60 -0.5 0 0.5 1 1.5 0 10 20 30 40 50 60 -0.4 -0.2 0 0.2 FIGURA 4.22: Comparación de Posición - Regulación 0 10 20 30 40 50 60 -15 -10 -5 0 5 10 0 10 20 30 40 50 60 -12 -6 0 6 12 18 0 10 20 30 40 50 60 -60 -40 -20 0 20 FIGURA 4.23: Comparación de Orientación - Regulación 4.2. Tarea de Regulación 31 0 10 20 30 40 50 60 -0.5 0 0.5 1 0 10 20 30 40 50 60 -0.8 -0.4 0 0.4 0.8 0 10 20 30 40 50 60 -30 0 30 60 0 10 20 30 40 50 60 -0.5 0 0.5 1 FIGURA 4.24: Comparación de Errores de Regulación 0 10 20 30 40 50 60 -20 0 20 40 0 10 20 30 40 50 60 -2 0 2 0 10 20 30 40 50 60 0 2.5 5 0 10 20 30 40 50 60 -2 0 2 FIGURA 4.25: Comparación de Empujes - Regulación 32 Capítulo 4. Resultados Experimentales 0 10 20 30 40 50 60 0 0.1 0.2 0 10 20 30 40 50 60 0 0.6 1.2 0 10 20 30 40 50 60 0 0.5 1 0 10 20 30 40 50 60 0 25 50 FIGURA 4.26: Índice de error - Regulación FIGURA 4.27: Índices de Empujes - Regulación 4.2. Tarea de Regulación 33 PID STSMC NTSMC TC 0 0.1 0.2 0.3 0.4 PID STSMC NTSMC TC 0 0.6 1.2 1.8 PID STSMC NTSMC TC 0 0.6 1.2 FIGURA 4.28: Propiedades de los índices de desempeño ēxRMS , ēyRMS , y ēzRMS - Regulación PID STSMC NTSMC TC 0 10 20 30 40 50 60 70 80 FIGURA 4.29: Propiedades del índice de desempeño ēψRMS - Regula- ción 34 Capítulo 4. Resultados Experimentales PID STSMC NTSMC TC 0 1 2 3 4 5 FIGURA 4.30: Propiedades del índice de desempeño ŪRMS - Regula- ción 4.3. Tareas de Seguimientode Trayectorias El presente experimento consiste en hacer un seguimiento de trayectoria en los ejes x y y, durante 60 [s], donde xd =0.3 cos(2π0.1t), yd = 0.3 sin(2π0.1t) mientras que zd = 0.7 [m] y ψd = 0[deg], en donde el Nano Quad-Rotor es sometido a ráfagas de viento con una velocidad aproximada de 0.60 [m/s]. 4.3.1. Seguimiento PID TABLA 4.8: Ganancias del controlador PID para Seguimiento. Ganancias 0 1 2 x kx0 = −2880 kx1 = −43 kx2 = −612 y ky0 = −2880 ky1 = −43 ky2 = −612 z kz0 = −2500 kz1 = −3500 kz2 − 6000 θ kθ0 = −6200 kθ1 = −400 kθ2 = −5900 φ kφ0 = −500 kφ1 = −200 kφ2 = −3000 ψ kψ0 = −6000 kψ1 = −500 kψ2 = −1200 En la Tabla 4.8 se muestran las ganancias según lo mencionado en la sección 3.2.1 y 3.2.2. del controlador PID para el Nano Quad-Rotor. Los comportamientos en posición y en orientación son mostrados en las Figuras 4.31 y 4.32, donde el color rojo punteado representa la trayectoria deseada y de color azul se presenta la trayectoria real. En la Figura 4.31 se muestran las posiciones x, y, z del Nano Quad-Rotor con respecto al tiempo. Es evidente que para las tres coordenadas traslacionales se presenta un sobrepaso; para x el sobrepaso es de 0.3 [m], para y de 0.4 [m] mientras que para z de 0.3 [m]. La Figura 4.32 muestra el desempeño de φ, θ, ψ. Se puede apreciar que para θ y φ se tienen sobre impulsos en los primeros 10 [s], los cuales hacen que el Nano Quad-Rotor corrija su trayectoria; en ψ se observa un sobrepaso de 10 [deg]. Por último, en las Figuras 4.33 y 4.34 se muestran los empujes y los errores de la tarea de seguimiento. 4.3. Tareas de Seguimiento de Trayectorias 35 0 1 0.5 0.50.5 1 00 -0.5 FIGURA 4.31: Comportamiento de posición en seguimiento con PID 0 10 20 30 40 50 60 -2.5 0 2.5 5 0 10 20 30 40 50 60 -12 -6 0 6 12 0 10 20 30 40 50 60 -12 -6 0 6 FIGURA 4.32: Comportamiento de orientación en seguimiento con PID 36 Capítulo 4. Resultados Experimentales 0 10 20 30 40 50 60 0 2.5 5 0 10 20 30 40 50 60 -20 0 20 0 10 20 30 40 50 60 -2 0 2 0 10 20 30 40 50 60 -2 0 2 FIGURA 4.33: Empuje de seguimiento con PID 0 10 20 30 40 50 60 -0.6 0 0.6 1.2 0 10 20 30 40 50 60 -0.8 -0.4 0 0.4 0.8 0 10 20 30 40 50 60 -0.4 0 0.4 0.8 0 10 20 30 40 50 60 -20 -10 0 10 FIGURA 4.34: Error de seguimiento con PID 4.3. Tareas de Seguimiento de Trayectorias 37 4.3.2. Seguimiento STSMC TABLA 4.9: Ganancias del controlador STSMC para Seguimiento. Ganancias 0 1 2 0 kx0 = −2880 kx1 = −43 kx2 = −612 1 ky0 = −2880 ky1 = −43 ky2 = −612 2 kz0 = −9240 kz1 = −63 kz2 = −1322 TABLA 4.10: Ganancias del controladores STSMC para Seguimiento. Ganancias 1 2 3 ξ θ kθ1 = 150 kθ2 =3.5410 kθ3 =5.5 ξθ = 5 φ kφ1 = 200 kφ2 =21.2132 kφ3 = 220 ξφ = 200 ψ kψ1 = 10 kψ2 =4.74316 kψ3 = 11 ξψ = 10 En las Tablas 4.9 y 4.10 se aprecian las ganancias que se diseñaron de acuerdo a las secciones 3.2.1 y 3.2.2. Para los controladores STSMC se utilizó el grupo de parámetros 1 dado en la Tabla 3.1. En la Figura 4.35, se aprecian la trayectoria deseada (ξd) y la trayectoria real (ξ) realizada por el Nano Quad-Rotor, donde se tiene sobrepaso para las coordenadas x, y, z de 0.2[m]. Por otra parte, en la Figura 4.36 se muestra el comportamiento en (θ, φ, ψ); para θ se tiene un sobrepaso que va de -5 a 5[deg], para φ se muestra un sobrepaso de oscila entre los -10 y 10[deg], finalmente, para la coordenada ψ se tiene un sobrepaso de -10 [deg] y permanece oscilando entre -5 y 5 [deg]. Finalmente, en las Figuras 4.37 y 4.38, se aprecia el error de seguimiento así como los empujes que desarrolló el Nano Quad-Rotor para llegar a sus referencias. 0 1 0.5 0.40.5 0.2 1 00 -0.2 -0.5 -0.4 FIGURA 4.35: Comportamiento de posición en seguimiento con STSMC 38 Capítulo 4. Resultados Experimentales 0 10 20 30 40 50 60 -5 -2.5 0 2.5 5 0 10 20 30 40 50 60 -10 -5 0 5 10 0 10 20 30 40 50 60 -10 -5 0 5 FIGURA 4.36: Comportamiento de la orientación en seguimiento con STSMC 0 10 20 30 40 50 60 -1 -0.5 0 0.5 1 0 10 20 30 40 50 60 -0.8 -0.4 0 0.4 0.8 0 10 20 30 40 50 60 -0.6 -0.3 0 0.3 0.6 0 10 20 30 40 50 60 -10 0 10 FIGURA 4.37: Error en seguimiento con STSMC 4.3. Tareas de Seguimiento de Trayectorias 39 0 10 20 30 40 50 60 -15 0 15 30 0 10 20 30 40 50 60 -2 0 2 0 10 20 30 40 50 60 0 2.5 5 0 10 20 30 40 50 60 -2 0 2 FIGURA 4.38: Empuje en seguimiento con STSMC 4.3.3. Seguimiento NTSMC TABLA 4.11: Ganancias del controladores PID para Seguimiento. Ganancias 0 1 2 0 kx0 = −2880 kx1 = −43 kx2 = −612 1 ky0 = −2880 ky1 = −43 ky2 = −612 2 kz0 = −9240 kz1 = −63 kz2 = −1322 TABLA 4.12: Ganancias del controlador NTSMC para Seguimiento. Ganancias 1 2 3 ξ θ kθ1 = 10 kθ2 =11.0873050 kθ3 = 10 ξθ = 4 φ kφ1 = 10 kφ2 = 11.0873052 kφ3 = 10 ξφ = 4 ψ kψ1 = 9.07573 kψ2 =20.88714 kψ3 = 20 ξψ = 10 Las Tablas 4.11 y 4.12 muestran las ganancias que se diseñaron de acuerdo a las secciones 3.2.1 y 3.2.2. Para los controladores NTSMC se usó el conjunto de paráme- tros 1 y 2 dado en la Tabla 3.2. La Figura 4.39 muestra el comportamiento que tiene el Nano Quad-Rotor en (x, y, z), utilizando el controlador NTSMC comparado con la trayectoria deseada. Las trayectorias obtenidas para x y y, tienen un sobrepaso que va entre 0.1 y 0.2 [m] y para z se tiene un sobrepaso de 0.3 [m]. Los ángulos correspondientes se muestran en la Figura 4.40, donde θ y φ tienen un comportamiento oscilatorio, para θ oscila entre -10 a 10 [deg] y para φ de -2.5 a 5 [deg]; por otra parte, en el ángulo ψ, se tiene un sobrepaso de 16 [deg] y después de 10 [s] permanece más estable. Finalmente, en las Figuras 4.41 y 4.42, se muestra el error de seguimiento así como los empujes que necesitó el Nano Quad-Rotor para llegar a sus referencias. 40 Capítulo 4. Resultados Experimentales 0 1 0.4 0.5 0.5 0.2 1 00 -0.2 -0.5 -0.4 FIGURA 4.39: Comportamiento de posición en seguimiento con NTSMC 0 10 20 30 40 50 60 -10 -5 0 5 10 0 10 20 30 40 50 60 -2.5 0 2.5 5 0 10 20 30 40 50 60 -16 -8 0 8 FIGURA 4.40: Comportamiento de la orientación en seguimiento con NTSMC 4.3. Tareas de Seguimiento de Trayectorias 41 0 10 20 30 40 50 60 -0.6 0 0.6 1.2 0 10 20 30 40 50 60 -0.8 -0.4 0 0.4 0 10 20 30 40 50 60 -0.5 0 0.5 0 10 20 30 40 50 60 -20 -10 0 10 FIGURA 4.41: Error del Nano Quad-Rotor en seguimiento con NTSMC 0 10 20 30 40 50 60 -4 0 4 0 10 20 30 40 50 60 -2 0 2 0 10 20 30 40 50 60 0 2.5 5 0 10 20 30 40 50 60 -2 0 2 FIGURA 4.42: Empuje en seguimiento con NTSMC 4.3.4. Seguimiento TC TABLA 4.13: Ganancias del controladores PID para Seguimiento. Ganancias 0 1 2 0 kx0 = −2880 kx1 = −43 kx2 = −612 1 ky0 = −2880 ky1 = −43 ky2 = −612 2 kz0 = −9240 kz1 = −63 kz2 = −1322 TABLA 4.14: Ganancias del controladores TC para Seguimiento. Ganancias 1 2 3 4 ξ θ kθ1 = 73.1004 kθ2 = 33.5410 kθ3 = 11.5 kθ4 =5.5 ξθ = 5 φ kφ1 =62.736617 kφ2 =24.4948 kφ3 =13.8 kφ4 =6.6 ξφ = 6 ψ kψ1 =116.03972 kψ2 =47.4341 kψ3 = 23 kψ4 = 11 ξψ = 10 En las Tablas 4.13 y 4.14 se aprecian las ganancias que se diseñaron de acuerdo a las secciones 3.2.1 y 3.2.2. Para los controladores TC se utilizó el grupo de parámetros 42 Capítulo 4. Resultados Experimentales 1 dado en la Tabla 3.3. En la Figura 4.43 muestra la trayectoria realizada por el Nano Quad-Rotor en x, y, z, donde en color rojo punteado se muestra la trayectoria deseada y de color azul se muestra la trayectoria real. Es evidente que para las tres coordenadas de posición se tiene un sobrepaso; para x el sobrepaso es meno a 0.2[m], y en y se aproxima a 0.1[m] mientras que para z es de 0.2[m]. Es claro que el tiempo de asentamiento es relativamente corto, para x, y,y z. En la Figura 4.44, se muestra el comportamiento que obtuvo el Nano Quad-Rotor en la parte Rotacional φ, θ, ψ, donde en el estado φ se tiene un comportamiento que va de -5[deg] a 2.5 [deg] en los primeros 10 [s], para θ se muestra un desempeño que va de -12 [deg] a 12 [deg]; finalmente, el ángulo ψ tiene un sobrepaso de 8 [deg] y es claro que el tiempo de asentamiento estáantes de los 10 [s]. En las Figuras 4.45 y 4.46 se muestra el error y los empujes obtenidos. 0 1 0.5 0.50.5 1 0 1.5 0 -0.5 -0.5 FIGURA 4.43: Comportamiento de posición en seguimiento con TC 0 10 20 30 40 50 60 -2.5 0 2.5 5 0 10 20 30 40 50 60 -12 -6 0 6 12 0 10 20 30 40 50 60 -10 -5 0 5 FIGURA 4.44: Comportamiento de la orientación en seguimiento con TC 4.3. Tareas de Seguimiento de Trayectorias 43 0 10 20 30 40 50 60 -0.6 0 0.6 1.2 0 10 20 30 40 50 60 -0.8 -0.4 0 0.4 0.8 0 10 20 30 40 50 60 -0.6 -0.3 0 0.3 0.6 0 10 20 30 40 50 60 -10 0 10 FIGURA 4.45: Error del Nano Quad-Rotor en seguimiento con TC 0 10 20 30 40 50 60 -20 -10 0 10 0 10 20 30 40 50 60 -2 0 2 0 10 20 30 40 50 60 0 2.5 5 0 10 20 30 40 50 60 -2 0 2 FIGURA 4.46: Empuje en seguimiento con TC 44 Capítulo 4. Resultados Experimentales 4.3.5. Análisis Comparativo de Seguimiento 0 1 0.5 0.50.5 1 00 -0.5 FIGURA 4.47: Comparación de Posición - Seguimiento 0 10 20 30 40 50 60 -10 -5 0 5 10 0 10 20 30 40 50 60 -12 -6 0 6 12 0 10 20 30 40 50 60 -20 -10 0 10 FIGURA 4.48: Comparación de Orientación - Seguimiento 4.3. Tareas de Seguimiento de Trayectorias 45 0 10 20 30 40 50 60 -0.6 0 0.6 1.2 0 10 20 30 40 50 60 -1 -0.5 0 0.5 0 10 20 30 40 50 60 -1 -0.5 0 0.5 1 0 10 20 30 40 50 60 -20 -10 0 FIGURA 4.49: Comparación de Errores de seguimiento 0 10 20 30 40 50 60 -20 0 20 0 10 20 30 40 50 60 -2 0 2 0 10 20 30 40 50 60 0 2.5 5 0 10 20 30 40 50 60 -2 0 2 FIGURA 4.50: Comparación de Empujes - seguimiento En las Figuras 4.47 a 4.50 se presentan los comportamientos de las señales de posición, orientación, errores, y empujes desarrollados por el Nano Quad-Rotor con todos los controladores. Las Figuras 4.51 y 4.52 muestran el índice de error de seguimiento de cada uno de los controladores implementados así como el índice de empuje desarrolladó por cada controlador, respectivamente. La Figura 4.53 muestra las propiedades de los promedios del índice de desempe- ño de la tarea de seguimiento que tiene el Nano Quad-Rotor, donde el controlador que tiene menor índice de error en x es el NTSMC, en y el menor índice de error es del controlador STSMC y en z el menor índice de error es el del controlador TC, y el que mayor índice de error tiene es el PID; en la Figura 4.54, el controlador que menos error tiene es el STSMC y el que mayor índice de error tiene es el NTSMC en ψ. Finalmente, en la Figura 4.55 se aprecian las propiedades de índice de desempeño donde el NTSMC muestra tener el mayor índice de desempeño. 46 Capítulo 4. Resultados Experimentales 0 10 20 30 40 50 60 0 0.5 1 0 10 20 30 40 50 60 0 0.6 1.2 0 10 20 30 40 50 60 0 0.5 1 0 10 20 30 40 50 60 0 6 12 FIGURA 4.51: Índice de errores - seguimiento 0 10 20 30 40 50 60 0 1 2 3 4 5 FIGURA 4.52: Índices de empujes - seguimiento PID STSMC NTSMC TC 0 0.5 1 1.5 PID STSMC NTSMC TC 0 0.6 1.2 PID STSMC NTSMC TC 0 0.2 0.4 0.6 0.8 FIGURA 4.53: Propiedades de los índices de desempeño ēxRMS , ēyRMS , y ēzRMS - Seguimiento 4.3. Tareas de Seguimiento de Trayectorias 47 PID STSMC NTSMC TC 0 0.2 0.4 0.6 0.8 1 FIGURA 4.54: Propiedades del índice de desempeño ēψRMS - Segui- miento PID STSMC NTSMC TC 0 0.05 0.1 0.15 0.2 0.25 0.3 FIGURA 4.55: Propiedades del índice de desempeño ŪRMS - Segui- miento 49 Capítulo 5 Conclusiones En este trabajo, se implementaron las siguientes estrategias de control robusto PID, STSMC, NTSMC y TC; a partir del modelo dinámico del Quad-Rotor y el uso de ROS, las cuales garantizan el seguimiento de trayectorias aún en la presencia de perturbaciones e incertidumbres. A continuación se enlistan los resultados obteni- dos. Se utilizó un control virtual en la dinámica del error de posición para lidiar con la subactuación del sistema y controlar la posición del Nano Quad-Rotor de forma independiente. Se utilizaron estrategias de control por modos deslizante continuos para con- trolar la orientación del Nano Quad-Rotor. Se modificó el firmware del Nano Quad-Rotor Crazyflie 2.0 para implementar los controladores diseñados. Se realizaron experimentos de regulación y seguimiento con los diferentes ti- pos de controladores, por modos deslizantes continuos y el PID clásico. Se realizó un análisis comparativo entre los controladores por modos deslizan- tes continuos y el controlador PID clásico. Los resultados experimentales muestran la efectividad de la estrategia de con- trol propuesta en presencia de ráfagas de viento (generadas a través de un ventilador industrial). 51 Apéndice A Sistema Operativo Robótico (ROS) A.1. Conceptos básicos y programación en ROS ROS tiene su propio acervo digital (wiki), el cual cuenta con una amplia docu- mentación del sistema (que va desde la instalación del mismo hasta aplicaciones complejas como control colaborativo entre robots) y en el cual pueden ser checados sus conceptos, librerías, herramientas visuales, etc. A continuación se describen algunos de los conceptos básicos que se consideran necesarios para comprender la plataforma desarrollada, sin embargo, para mayor información se recomienda visitar la pagina oficial de ROS. Nodo (node). Un nodo es un proceso o módulo que realiza algún tipo de algoritmo en el sistema (progra- mado en C++ o Python). Los nodos se combinan dentro de un grafo, compartiendo información entre ellos, para crear tareas complejas. Por ejemplo, un nodo puede controlar algún sensor, actuador u otro dispositivo necesario para un robot. Mensa- je. Básicamente, es una estructura de datos estrictamente tipada para comunicación entre nodos. Por ejemplo, geometry_msgs / Twist expresa la velocidad en el espacio libre dividido en sus partes lineales y angulares de la forma: Vector3 linear Vector3 angular, donde Vector3 es otro tipo de mensaje definido como: float64 x float64 y float64 z. Tópico (topic). Son canales de información entre los nodos (donde se publican los mensajes). De esta manera, un nodo puede publicar o suscribirse a un tópico. Por ejemplo, se tiene un nodo llamado posición, el cual emite un tópico que es la odometría del robot. De esta manera, cualquier nodo puede suscribirse, sin embar- go, el nodo que emite no controla quién está suscrito. La información es, por tanto, unidireccional (asíncrona). Si lo que queremos es una comunicación síncrona (peti- ción/respuesta) debemos usar servicios. Paquete (package). ROS está organizado en paquetes. Un paquete puede contener un nodo, una librería, un conjunto de datos, o cualquier cosa que pueda constituir un módulo. La creciente popularidad de ROS ha atraído varios grupos de investigadores e ingenieros para generar aplicaciones específicas. Uno de estos grupos es el ROS- Industrial Consortium [42], el cual está dedicado a la automatización de avanzada de fábricas. El conjunto de herramientas y librerías de ROS proporciona los meca- nismos de comunicación entre programas. ROS es un estándar para comunicar entre sí diferente programas de un mismo sistema, ya sea en la misma computadora o en 52 Apéndice A. Sistema Operativo Robótico (ROS) varios computadoras. La computación distribuida es un recurso muy común don- de pequeñas partes de un robot trabajan por separado para conseguir un objetivo común. Los paquetes estándar proporcionados en las distribuciones de ROS imple- mentan muchos de los algoritmos comúnmente usado en robótica que ya han sido depurados y usados de forma estable, por lo que los usuarios pueden reutilizar el có- digo. El modelo de comunicación y gestión de mensajes de ROS se ha convertido en estándar y muchas de lasplataformas robóticas ya implementan interfaces para ser usadas directamente desde ROS. Además de los paquetes estándar, existen muchos otros en la comunidad que implementan interfaces para sus sistemas (robots, sen- sores, librerías, etc). Debido al diseño de comunicación por paso de mensajes, ROS nos permite simular muchos de los dispositivos con los que el sistema trabajará, de esta forma es posible aislar la funcionalidad del sistema del código de comunicación entre las diferentes partes del sistema, sensores y actuadores. Uno de los aspectos claves al desarrollar una aplicación es la capacidad de repetir los experimentos y simular los sensores y actuadores, permitiéndonos crear conjuntos de prueba. En general, ROS fue diseñado específicamente para que distintos grupos de personas pudieran colaborar y desarrollar conjuntamente el trabajo. Por ejemplo, un labora- torio puede tener expertos en el mapeo de ambientes interiores y podría contribuir con un sistema de clase mundial para producir mapas. Otro grupo podría tener ex- pertos en el uso de mapas para navegar, y otro grupo podría haber descubierto un enfoque de visión por computadora que funciona bien para reconocer objetos pe- queños en un ambiente en desorden [34]. A.2. Comunicación Optitrack-ROS-Crazyflie FIGURA A.1: Diagrama a bloques del funcionamiento del sistema. En el diagrama a bloques de la Figura A.1, se aprecia la plataforma experimental del Nano Quad-Rotor para la realización de tareas, en donde el programador utili- za una computadora con ROS Melodic 18.04 que a su vez transmite las consignas deseadas al Nano Quad-Rotor a través de una antena de 2.4 GHz. Para la verificación de la tarea asignada al Nano Quad-Rotor, se cuenta con 6 cá- maras y el software Motive instalado en una computadora con Windows; el uso del A.3. Crazyflie 53 software Motive permite hacer la transmisión de posición y orientación del vehícu- lo a la computadora que cuenta con ROS; la computadora tiene la biblioteca Vir- tual Reality Peripheral Network (VRPN) que le permite leer los datos recibidos del Motive; esta biblioteca se puede utilizar también con el sistema de visión VICON. Posteriormente, los datos capturados son enviados al controlador que se encuentra en ROS para generar las señales de control y enviarlas al Nano Quad-Rotor a tra- vés de la antena. De este modo, el Nano Quad-Rotor realiza su tarea deseada y es observado por las cámaras para evaluar el desempeño de esta. A.3. Crazyflie Crazyflie 2.0 es un dron pequeño de apenas 92 x 92 x 29 mm y un peso de 27 gramos, cuenta con un sensor de medida de inercia (IMU) de 10 grados de liber- tad distribuidos (10DoF) de la siguiente manera: acelerómetro (3DoF), giroscopio (3DoF), magnetómetro (3DoF) y un barómetro (1DoF). Una de las ventajas de traba- jar con Crazyflie 2.0 es que su programación es de código abierto, por lo cual existe una gran cantidad de información disponible en lenguajes: Java, Ruby, C/C++, Pyt- hon y Javascript. Ademas, éste cuenta con dos microprocesadores ARM: Cortex M4 (STM32F405) y M0 (nRF51822). El primero es el encargado de ejecutar los algoritmos de control para los actuadores del Crazyflie, mientras que el segundo es el encargado del sistema de comunicación de mismo. A.4. Programación de los controladores El Nano Quad-Rotor está controlado por un controlador PID y un SMCs en cas- cada. El controlador de orientación interno es parte del firmware. Las entradas son la orientación actual, según lo estimado utilizando los datos del sensor IMU y el punto de ajuste (orientación y empuje), tal como se recibió por la radio antena. El controlador funciona a 250 Hz. El controlador de orientación el cual se encuentra programado en C++, está in- tegrado en el firmware del Crazyflie. El firmware puede ser descargado escribiendo los siguientes comandos en la terminal de ubuntu $ sudo add−apt−r e p o s i t o r y ppa : team−gcc−arm−embedded/ppa $ sudo apt−get update $ sudo apt i n s t a l l gcc−arm−embedded $ g i t c lone −−r e c u r s i v e ht tps : / / g i t h u b . com / b i t c r a z e / c r a z y f l i e−firmware . g i t una vez descargado se puede acceder a la carpeta del firmware del Crazyflie utili- zando el siguiente comando en la terminal de ubuntu $ cd c r a z y f l i e−firmware en donde se puede encontrar la carpeta del controlador en la siguiente dirección crazyflie-firmware/ src/modules/src/controller_eduardo.c en este archivo es en donde se programa el controlador NTSMC (3.20). Donde para hacer efectiva cualquier actualización del controlador es necesario verificar el archi- vo Makefile, ubicado en la siguiente dirección crazyflie-firmware/Makefile tenga el nombre del controlador actualizado 54 Apéndice A. Sistema Operativo Robótico (ROS) # ######## S t a b i l i z e r c o n f i g u r a t i o n ########## ESTIMATOR ?= any CONTROLLER ?= Eduardo # one of Any , PID , Mell inger , INDI donde en este caso se utiliza el controlador Eduardo, el cual tiene programado el Controlador (3.20) y el mismo archivo de control es llamado por otro archivo llama- do power_distri bution_stock.c el cual genera las señales de control para el Crazy- flie, para después enviar los empujes al Crazyflie a cada motor a través del archivo Crazyflie_server.c que se encuentra en el paquete de crazyflie_ros, el cual se verá su instalación en las siguientes lineas. Una vez verificado lo anterior es necesario compilar el firmware con las siguientes lineas en la terminal de ubuntu $ make $ make PLATFORM= c f 2 cuando se haya realizado la compilación con éxito, es posible cargar el firmware modificado al Crazyflie, a través de la radio antena, para eso se debe cambiar el Crazyflie a modo bootloader (presionar por 3 segundo el botón de encendido hasta que los leds azules estén parpadeando) y se teclea el siguiente comando después de haber activado el modo bootloader $ make cload éste comando cargará el firmware modificado y será posible utilizar la nueva version del firmware, el cual permitirá obtener el error entre la orientación deseada y la orientación real de cada estado de la orientación mediante la IMU. Para la posición, una vez instalado ROS, es necesario crear el espacio de trabajo crazyflie_ws, además de instalar el paquete de la Red Periférica de Realidad Virtual (VRPN) y la pila crazyflie_ros. Una es para obtener los valores obtenidos con el Mo- tive la cual permitirá cerrar el lazo de control y la otra contiene los drivers para la comunicación con el Crazyflie 2.0 que enviará las posiciones deseadas al Crazyflie, respectivamente. Estos paquetes, deberán ser instalados de la siguiente manera: $ mkdir −p ~/c r a z y f l i e _ w s/ s r c $ cd ~/c r a z y f l i e _ w s/ s r c $ catk in_ in i t_workspace $ g i t c lone ht tps : / / g i t h u b . com / whoenig / c r a z y f l i e _ r o s . g i t $ cd ~/c r a z y f l i e _ w s $ catkin_make una vez terminada la actualización de paquetes crazyflie_ws se instalará el paquete VRPN para tener comunicación con Optitrack, escribiendo los siguientes lineas de comando en la terminal. $ cd ~/c r a z y f l i e _ w s/ s r c $ sudo apt−get i n s t a l l ros−melodic−vrpn−c l i e n t o−ros $ cd ~/c r a z y f l i e _ w s $ catkin_make $ source ~/c r a z y f l i e _ w s/devel/setup . bash cada vez que entre a la terminal y quiera utilizar el paquete crazyflie_ws, deberá teclear source ~/c r a z y f l i e _ w s/devel/setup . bash A.4. Programación de los controladores 55 esto asegurará que todas las comandos relacionados con ROS encontrarán los pa- quetes en todas las terminales. Para actualizar la ventana de terminal actual, use source /.bashrc, que recargará el archivo. Puede probarse la configuración conectando el Crazyradio y escribiendo en la terminal: $ rosrun c r a z y f l i e _ t o o l s scan Lo cual imprimirá el identificador uniforme de recursos (URI) de cualquier Crazy- flie encontrado en rango. Por ejemplo, la salida podría verse así en la terminal de Ubuntu: $ radio : / / 0 / 8 0 / 2 5 0K En este caso, el URI de su
Compartir