COMPARACIÓN DE TÉCNICAS DE CONTROL...
Transcript of COMPARACIÓN DE TÉCNICAS DE CONTROL...
COMPARACIÓN DE TÉCNICAS DE CONTROL MODERNO (OBSERVADORES DE
ESTADO VS LQR) IMPLEMENTADAS SOBRE UN AR DRONE 2.0 PARROT
NATALY XIMENA CEFERINO ORJUELA
CARLOS ANDRÉS CONTRERAS BERNAL
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS
FACULTAD TECNOLÓGICA
INGENIERÍA EN CONTROL
BOGOTÁ D.C.
2016
COMPARACION DE TÉCNICAS DE CONTROL MODERNO (OBSERVADORES DE
ESTADO VS LQR) IMPLEMENTADAS SOBRE UN AR DRONE 2.0 PARROT
NATALY XIMENA CEFERINO ORJUELA
CARLOS ANDRÉS CONTRERAS BERNAL
TRABAJO DE GRADO PARA OPTAR AL TÍTULO DE:
INGENIERO EN CONTROL
DIRECTOR
ING. MIGUEL RICARDO PÉREZ PEREIRA
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS
FACULTAD TECNOLÓGICA
INGENIERÍA EN CONTROL
BOGOTÁ D.C.
2016
Resumen
El AR Drone 2.0 es un quadrotor de bajo costo que permite ser dirigido y supervisado desde cualquier
equipo, capaz de establecer una comunicación Wi-Fi y manejar protocolo UDP, a partir de comandos
AT que gobiernan parámetros de configuración y comportamiento. Gracias a esta versatilidad y a un
amplio campo de investigaciones que se basan en el quadrotor hoy en día, se tomó la decisión de usarlo
como planta de experimentos para esta tesis.
Esta monografía propone desarrollar la comparación entre dos técnicas de control (observador de
estados vs LQR) dirigidas a mejorar el comportamiento en estabilidad de vuelo del Quadrotor AR
Drone 2.0 con el fin de definir cuál sería la más indicada según los parámetros de sobre impulso,
tiempo de establecimiento y error de estado estacionario.
El desarrollo de la conexión entre el AR Drone y el ordenador, además del desarrollo de las técnicas de
control, fue fuertemente apoyado en el software MATLAB, el cual facilitó el proceso de cálculo y
análisis del comportamiento de los modelos encontrados, gracias a sus diversas herramientas
específicas para control (toolbox).
La implementación de los controladores pudo ejecutarse en tiempo real gracias al módulo “Real Time
Windows Target”, el cual permitió implementar una interfaz que manejara el flujo de datos entre los
bloques de control, codificación, decodificación, envío y recepción.
Se presenta entonces un desarrollo por capítulos que incluye cada una de las herramientas utilizadas
para llegar al cumplimiento de los objetivos del proyecto planteados, los cuales se dan a conocer en el
Capítulo 1 que presenta la introducción general del mismo y sus alcances. En el Capítulo 2 se da a
conocer el marco teórico que implica cada recurso utilizado como referencia del desarrollo. El Capítulo
3 muestra el proceso metodológico de elaboración del proyecto. El Capítulo 4 muestra los resultados
obtenidos; y finalmente el Capítulo 5 brinda las conclusiones definitivas encontradas.
Abstract
The AR Drone 2.0 is an inexpensive quad rotor that can be managed and monitored from any computer
or device, capable of establishing a communication Wi-Fi and handle UDP protocol, from AT codes
governing configuration parameters and behavior. Thanks to this versatility and a wide range of
research based on the quadrotor today, the decision to use it as experiment plant for this thesis was
taken.
This paper aims to develop a comparison between two control techniques to improve behavior in flight
stability of Quadrotor AR Drone 2.0 in order to define which would be the most appropriate according
to the parameters on peak amplitude, settling time and steady-state error.
The development of the connection between the AR Drone and the computer and the development of
control techniques was strongly supported in the MATLAB software, which facilitated the process of
calculation and analysis of the behavior of the models found, thanks to its various specific tools for
Control (toolbox).
The implementation of the drivers could run in real time thanks to the module "Real Time Windows
Target", which allowed to implement an interface that handle the data flow between the control blocks,
encoding, decoding, sending and receiving.
Then, is presented the development chapters including each of the tools used to reach the fulfillment of
the objectives of the project raised, which are disclosed in Chapter 1, that presents the general
introduction of the project and its scope. Chapter 2 is disclosed which involves the theoretical
framework used as a reference each resource development. Chapter 3 shows the methodological
process of developing the project. Chapter 4 shows the results obtained; and finally Chapter 5 provides
the definitive conclusions found.
Tabla De Contenido
1. Introducción
1.1. Planteamiento del problema
1.2. Objetivos
1.2.1. Objetivo General
1.2.2. Objetivos Específicos
1.3. Estado Del Arte
2. Marco Teórico
2.1. Quadrotor
2.2. AR Drone
2.3. Real Time Windows Target
2.4. AR Drone Simulink Development Kit 1.1
2.5. Identificación de sistemas
2.6. Observador De Estados
2.7. LQR
3. Metodología
3.1. Interfaz
3.2. Modelo Matemático
3.3. Identificación
3.3.1. Identificación del sistema Roll Vs Sideward (velocidad en y)
3.3.2. Diseño de observador de estados para subsistema Roll
3.3.3. Diseño de LQR para subsistema Roll
3.3.4. Identificación del sistema Pitch Vs Forward (velocidad en x)
3.3.5. Diseño de observador de estados para subsistema Pitch
3.3.6. Diseño de LQR para subsistema Pitch
3.3.7. Identificación Velocidad en Yaw vs Yaw real
3.3.8. Diseño de observador de estados para subsistema Yaw
3.3.9. Diseño de LQR para subsistema Yaw
3.3.10. Identificación Velocidad vertical deseada vs Altura
3.3.11. Diseño de observador de estados para subsistema Altura
3.3.12. Diseño de LQR para subsistema Altura
4. Comparación De Técnicas
4.1. Obtención De Criterios
4.1.1. Controladores Por Observadores
4.1.2. Controladores Por LQR
4.2. Controladores En Plataforma Real
4.3.Comparación De Controladores
4.3.1. Señales Sin Control
5. Conclusiones Y Recomendaciones
6. Bibliografía
Lista de Figuras
Fig. 1. Modelo Quad-Rotor
Fig. 2. AR. Drone 2.0
Fig. 3. Librería AR. Drone Development Kit V1.1
Fig. 4. Diagrama De Flujo Del Proceso De Identificación
Fig. 5. Diagrama de realimentación de estados (Campoy, 2010)
Fig. 6. Control por realimentación de estados para múltiples variables (Campoy, 2010)
Fig. 7. Observador De Estado De Orden Completo
Fig. 8. Observador De Orden Completo Realimentado
Fig. 9. Diagrama De Bloques Del Sistema Con Un Controlador-Observador
Fig. 10. Módulo AR. Drone Wi- Fi Block
Fig. 11. Sección de recepción de datos del AR Drone Desde MATLAB
Fig. 12. Sección de envío de datos al AR Drone Desde MATLAB
Fig. 13. Variables De Entrada Y De Salida Del AR Drone 2.0
Fig. 14. Modelo En MATLAB De AR Drone 2.0
Fig. 15. Experimento Roll
Fig. 16. Sección Para Análisis Roll Vs Roll Real
Fig. 17. Validación Modelo Roll Vs Roll Real
Fig. 18. Sección Para Análisis Roll Real Vs Sideward
Fig. 19. Validación Modelo Roll Real Vs Sideward
Fig. 20. Modelo Eje Y
Fig. 21. Experimento Pitch
Fig. 22. Sección Para análisis Pitch Vs Pitch Real
Fig. 23. Validación Modelo Pitch Vs Pitch Real
Fig. 24. Sección Para análisis Pitch Real Vs Forward
Fig. 25. Validación Modelo Pitch Real Vs Forward
Fig. 26. Modelo Eje X
Fig. 27. Experimento Yaw
Fig. 28. Sección Para Análisis Yaw Vs Yaw Real
Fig. 29. Validación Modelo Yaw Vs Yaw Real
Fig. 30. Modelo Angulo Yaw
Fig. 31. Experimento Altura
Fig. 32. Sección Para Análisis Vz Vs Altura
Fig. 33. Validación Modelo Vz Vs Altura
Fig. 34. Modelo Eje Z Vz Altura
Fig. 35. Control Por Observador De Roll
Fig. 36. Control Por Observador De Pitch
Fig. 37. Control Por Observador De Yaw
Fig. 38. Control Por Observador De Altura
Fig. 39. Control Por LQR De Roll
Fig. 40. Control Por LQR De Pitch
Fig. 41. Control Por LQR De Yaw
Fig. 42. Control Por LQR De Altura
Fig. 43. Controladores implementados para la variable Roll implementados. Observador (izquierda).
LQR (derecha).
Fig. 44. Controladores implementados para la variable Pitch implementados. Observador (izquierda).
LQR (derecha).
Fig. 45. Controladores implementados para la variable Yaw implementados. Observador (izquierda).
LQR (derecha).
Fig. 46. Controladores implementados para la variable Altura implementados. Observador (izquierda).
LQR (derecha).
Fig. 47. Controladores Roll.
Fig. 48. Controladores Pitch.
Fig. 49. Controladores Yaw.
Fig. 50. Controladores Altura.
Fig. 51. Comparación señales reales implementadas en la plataforma para Roll. Observador (izquierda).
LQR (derecha).
Fig. 52. Comparación señales reales implementadas en la plataforma para Pitch. Observador
(izquierda). LQR (derecha).
Fig. 53. Comparación señales reales implementadas en la plataforma para Yaw. Observador
(izquierda). LQR (derecha).
Fig. 54. Comparación señales reales implementadas en la plataforma para Altura. Observador
(izquierda). LQR (derecha).
Fig. 55. Señal frente a perturbación del ángulo Roll.
Fig. 56. Señal frente a perturbación del ángulo Pitch.
Fig. 57. Señal frente a perturbación del ángulo Yaw.
Fig. 58. Señal frente a perturbación del Altura.
Lista de Tablas
Tabla 1. Comparación de los controladores en los cuatro subsistemas
Lista de Abreviaturas
UAV (Unmanned Aerial Vehicle)
LQR (Linear Quadratic Regulator)
UDP (Unmanned Datagram Protocol)
EUITA (Escuela Universitaria de Ingeniería Técnica Aeronáutica)
FPV (First Person View)
GUI (Graphic User interface)
PID (Proportional Integrator Differential)
VTOL (Vertical Take Off Landing)
MPC (Model Predictive Control)
MEMS (Microelectromechanical Systems)
SAS (Stability Augmentation Systems)
RAM (Random Access Memory)
USB (Universal Serial Bus)
LI-PO (Lithium Polimer)
Capítulo 1
1. Introducción
Desde hace algún tiempo la tecnología de vehículos aéreos no tripulados o UAV (Unmanned Aerial
Vehicles) ha venido cogiendo fuerza en todas partes del mundo tanto en el área de entretenimiento
como en el campo de la investigación, debido a que el desarrollo de plataformas aéreas que puedan ser
controladas remotamente abren un mundo infinito de posibilidades de solución a un gran número de
problemas, entre ellos la seguridad o el monitoreo de zonas abiertas en las cuales no es posible fijar
dispositivos como cámaras o sensores que permitan conocer la situación actual del lugar.
Este proyecto pretende realizar la comparación de dos sistemas de control diseñados a través de
técnicas de control moderno. Las técnicas a usar son observadores de estado y LQR (Linear Quadratic
Regulator), teniendo en cuenta las características de estabilidad y tiempo de respuesta como factores
fundamentales en el funcionamiento de una plataforma AR Drone 2.0 de Parrot. Ambos controles serán
aplicables a la plataforma determinando las características de la respuesta del sistema para poder
establecer cuál de los dos es el más indicado para la misma en condiciones de vuelo estacionario en
espacios cerrados. Además como un aporte importante al estudio de este tipo de plantas se pretende
mostrar un método para realizar la identificación del modelo que rige su comportamiento, a través de
una herramienta computacional como lo es Matlab.
1.1. Planteamiento del problema y justificación
En el comportamiento y el desplazamiento de una UAV tipo quadrotor es necesario controlar su
elevación y orientación; para alcanzar esto, se deben controlar los ángulos de orientación de vuelo a
través de la velocidad de giro de los motores. A pesar de que se han elaborado diversos estudios,
prototipos y productos que demuestran resultados satisfactorios, aún existe la necesidad de mejorar el
rendimiento de vuelo en todos sus aspectos para poder garantizar que dichos dispositivos puedan ser
aplicados en el desarrollo de tareas de mayor exigencia y autonomía (precisión), por lo cual el control
de vuelo es un factor clave.
Aunque existe una gran variedad de aeronaves de este tipo en el mercado, también llamados Drones,
que presentan diferentes comportamientos según su diseño de fábrica, la mayoría de ellos posee
inconvenientes al momento de ser sometidos a corrientes de aire repentinas, haciendo que el manejo
sea tedioso para el usuario final y muchas veces pueda causar daños, ya sea al dispositivo en sí, al
entorno en que se encuentre o a las personas cercanas.
Comparar dos técnicas de control sobre una misma plataforma, permite conocer cuál de ellas entrega
las mejores características para un correcto desempeño en el vuelo obteniendo una mejor respuesta ante
perturbaciones, debido a que las técnicas de control no sólo se pueden medir por sus prestaciones, si no
por el entorno en el que se aplican.
Se ha encontrado que la gran mayoría de los drones que se consiguen en el mercado presentan ciertas
deficiencias en cuanto a la estabilización del dispositivo en una posición específica, por ejemplo,
pueden presentar ligeros movimientos que desvían la trayectoria, insuficiencias en la corrección ante
perturbaciones, y otros factores que afectan significativamente las condiciones de vuelo.
Este proyecto pretende llevar a cabo un proceso de investigación y desarrollo en el cual la
implementación de dos técnicas de control robusto sobre una plataforma quadrotor comercial (AR.
Drone 2.0) sea posible a través de la obtención de sistemas SISO sencillos que sean capaces en
conjunto de representar un sistema MIMO complejo, y a su vez permita determinar a través de criterios
de comparación, cuál de las técnicas presenta mejores resultados en cuanto a la estabilización de
posición del drone en un espacio cerrado.
1.2. Objetivos
1.2.1. Objetivo general
Comparar dos técnicas de control moderno (observadores de estado vs LQR) implementadas sobre un
AR drone 2.0 parrot.
1.2.2. Objetivos específicos
Implementar una interfaz en el software MATLAB que permita la lectura de los sensores y el
manejo de los actuadores del AR Drone 2.0.
Desarrollar el modelado matemático de la plataforma AR Drone 2.0 y realizar la validación del
mismo haciendo uso del software MATLAB.
Diseñar dos sistemas de control para la estabilidad de posición en el aire a partir de las técnicas
Observadores de estado y LQR e implementarlos en la plataforma AR Drone 2.0.
Comparar de manera objetiva los dos controladores implementados en la plataforma bajo
criterios como: sobreimpulso, tiempo de respuesta, error de estado estacionario, con el fin de
determinar cuál es el más óptimo para esta plataforma.
1.3. Estado Del Arte
Existen ya varios proyectos realizados con la plataforma que se va a utilizar en este proyecto (AR
Drone) por lo cual se hace necesario mencionar los resultados alcanzados en ellos como base para esta
investigación, además hay diversas referencias relacionadas con el modelamiento matemático, el
diseño de controladores y el control de aeronaves similares a partir de distintas técnicas que deben ser
también tomadas en cuenta durante el proceso de desarrollo de esta propuesta. A continuación se
relacionan aquellos proyectos cuyos resultados se consideraron de mayor relevancia.
1.3.1. Controlador con seguimiento de trayectoria y posicionamiento 3D para un AR Drone
QuadRotor
En este proyecto se propone un marco de referencia completo que trata acerca del seguimiento de
trayectoria y posicionamiento con un AR Drone Parrot QuadRotor que vuela en entornos cerrados. El
sistema funciona de manera centralizada en un computador instalado en una estación terrestre, y está
basado en dos estructuras principales, estas son, un filtro de Kalmann para realizar un seguimiento de la
posición en tres dimensiones del vehículo y un controlador no lineal para orientarlo en el cumplimiento
de sus misiones de vuelo. El filtro de Kalman está diseñado con el objetivo de estimar los estados del
vehículo fusionando datos visuales e inerciales. El controlador no lineal está diseñado en base a un
modelo dinámico del AR Drone con la estabilidad de lazo cerrado probada usando la teoría de
Lyapunov. Muestran además los resultados experimentales que demuestran la efectividad de la teoría
propuesta. (Vago, Santos, Sarcinelli-Filho, & Carelli, 2014, págs. 756-767)
1.3.2. Controlador para aterrizaje autónomo del AR Drone
Este artículo describe un controlador para el aterrizaje de un AR Drone, un cuadricóptero
comercializado por Parrot. El controlador está diseñado para un aterrizaje completamente autónomo en
base a un patrón visual dado y para flotar por encima del patrón. Se muestra en detalle cómo se realiza
la recolección de información de entrada para el controlador y cómo usarla en un controlador PID
clásico. (Barták, Hraško, & D., 2014, págs. 329-334)
1.3.3. Modelo y Control LQR de una aeronave de cuatro rotores
En este proyecto desarrollado por un estudiante de la Universidad de Sevilla en el año 2007 se aborda
el tema de los vehículos aéreos autónomos sin tripulación (UAVs), más concretamente el helicóptero
de cuatro rotores, sistema Quad-Rotor. Se describen dos modelos no lineales, el modelo reducido y el
modelo completo, en donde el primero no tiene incorporadas las ecuaciones no lineales de los motores
de corriente continua, mientras que el modelo completo incluye dichas ecuaciones. Se analizan
diferentes técnicas de control, control LQR, LQR con efecto integral y control clásico PI, aplicadas al
modelo no lineal del Quad-Rotor. Además, se comprueba la robustez de dichos controladores cuando el
sistema es sometido a diversas perturbaciones mantenidas, lo que sucedería al realizar un vuelo al aire
libre. (Díaz & López, 2007)
1.3.4. Modelización de aeronaves no tripuladas con Simulink
En este proyecto se realiza un estudio acerca de UAV en el departamento de Aerotecnia de la Escuela
Universitaria de Ingeniería Técnica Aeronáutica (EUITA) desarrollado en el 2011. Para ello se emplean
técnicas de control moderno y se desarrollan dos leyes de control, una mediante asignación de polos y
otra realizando un controlador óptimo cuadrático. En primer lugar, se estudian las fuerzas y momentos
que actúan sobre el movimiento del UAV y a partir de éstos se llega a dos sistemas de ecuaciones que
pretenden ser lo más fieles posibles al comportamiento del UAV. Luego de obtener los modelos
matemáticos se diseña un modelo con el programa Simulink con el cual se prueba la estabilidad y el
tipo de respuesta del UAV, así como las leyes de control desarrolladas (Vila, 2011).
1.3.5. Modelamiento matemático y control de un helicóptero de cuatro motores
Este documento muestra el modelamiento matemático de un helicóptero de cuatro motores
(Cuadrimotor). El sistema es modelado mediante las ecuaciones de Euler Lagrange, el control de vuelo
fue diseñado por planeamiento y acompañamiento de trayectorias, el objetivo central es obtener un
control de fácil estabilización para utilizar el equipo en diversas aplicaciones, tales como captura de
fotos de lugares de acceso difícil para el ser humano, la validación del control se realiza mediante el
estudio de una entrada de prueba expuesta a una perturbación y un error Gaussiano, donde se
estudiarán los efectos del control sobre la variación de la salida y su valor esperado. También se
presenta una comparación entre los datos teóricos y experimentales para validar la teoría aplicada
(Parra, Feitosa, & Mori Alves da Silva, 2013).
1.3.6. Control por realimentación de variables de estado usando un observador adaptativo de
estados
Se presenta un esquema para la aplicación del control por realimentación de variables de estado
estimadas a través de un observador sobre un sistema de parámetros desconocidos. Los parámetros del
sistema son estimados a través de un algoritmo adaptativo de mínimos cuadrados. Para la validación de
resultados se aplica el control a un sistema de tercer orden (Giraldo & Giraldo, 2007).
1.3.7. Diseño de una cabina de piloto para la vista en primera persona del vuelo de un
helicóptero Quadrotor operado remotamente
Recientemente, los avances tecnológicos se han ido centrando en la cabina de piloto de los modernos
vehículos aéreos no tripulados (UAV) a fin de reducir los requisitos del piloto y la carga de trabajo para
operarlos. La vista en primera persona (FPV) del vuelo representa un punto clave cuando los UAV
deben realizar tareas más allá de la línea de visión. En este trabajo se presenta el diseño y la
implementación de una cabina para un quadrotor remotamente operado. Se ha desarrollado una interfaz
gráfica de usuario (GUI) intuitiva para pilotar el quadrotor que abarca los instrumentos de vuelo más
relevantes como indicadores de altitud, posición, rumbo y velocidad de avance. La GUI se desarrolla
utilizando la programación y el entorno de desarrollo de LabVIEW (Pérez, Benítez, Castillo,
Loukianov, Luque, & Saad, 2015, págs. 501-511).
1.3.8. Implementación de comunicación y algoritmos de control para UAV’S
Este artículo presenta el desarrollo de una plataforma de experimentación para poder ensayar
estrategias de control con un vehículo aéreo no tripulado. Tras describir los diferentes componentes
físicos que constituyen la plataforma, el artículo presenta la aplicación desarrollada bajo LabVIEW
para poder comunicar el helicóptero con la unidad fija. Finalmente se presentan algunos resultados
experimentales que corroboran la funcionalidad de la aplicación, así como algunas mejoras que se están
llevando a cabo sobre la misma (Henao, Padilla, & García, 2011, págs. 253-259).
1.3.9. Planeación de trayectorias para cuadricópteros en ambientes dinámicos tridimensionales
Un tema de interés sobre los vehículos aéreos no tripulados es la determinación de trayectorias
apropiadas que le permitan moverse de una posición inicial a una posición objetivo, garantizando que
la trayectoria sea segura, es decir, que no existan riesgos de colisión. En este artículo se presentan dos
técnicas de planificación de trayectorias y una estrategia de evasión de obstáculos para cuadricópteros,
ambas técnicas funcionales sobre ambientes tridimensionales con obstáculos estáticos o dinámicos
restringidos a velocidades constantes. Las técnicas funcionan sobre un ambiente modelado con planos
que generan un campo de potencial artificial. La primera técnica está basada en puntos móviles que
interconectan la posición inicial con la meta, posteriormente cada punto se mueve hacia zonas libres de
la influencia de los obstáculos siguiendo el campo potencial, lo que hace que se encuentren caminos
libres de obstáculos. La segunda técnica usa el concepto de zonas seguras, el cual se utiliza como
criterio para actualizar la posición de los puntos. Adicionalmente, se propone una metodología de
evasión de obstáculos dinámicos, que consiste en transformar el problema de planeación de trayectorias
con obstáculos dinámicos al caso de planeación de trayectorias con obstáculos estáticos mediante un
proceso de análisis de las posibilidades de colisión. Los resultados muestran que estas técnicas superan
los inconvenientes de los algoritmos basados en gradiente descendente como mínimos locales y
oscilaciones inestables (Rivera & Prieto, 2015, págs. 37-50).
1.3.10. Teledetección para cultivos agrícolas basada en un cuadricóptero de bajo costo
Este artículo presenta una propuesta para recolectar información de cultivos agrícolas mediante un
cuadricóptero de bajo costo, llamado AR Drone 2.0. Para lograr el objetivo se diseña un sistema de
teledetección que enmarca desafíos identificados en la presente investigación, tales como, la
adquisición de fotografías aéreas de todo un cultivo y la navegación del AR Drone en zonas no planas.
El proyecto se encuentra en una fase temprana de desarrollo. La primera etapa indaga la plataforma y
las herramientas hardware y software para construir el prototipo propuesto; la segunda, describe los
experimentos de desempeño de los sensores de estabilidad y altura del AR Drone, con el fin de diseñar
una estrategia de control de altura en cultivos no planos. Además, se evalúan algoritmos de
planificación de ruta basados en la ruta más corta mediante grafos (Dijkstra, A* y propagación de
frente de onda) usando un cuadricóptero simulado. La implementación de los algoritmos de la ruta más
corta es el comienzo de la cobertura total de un cultivo. Las observaciones del comportamiento del
cuadricóptero en el simulador Gazebo y las pruebas reales, demuestran la viabilidad de ejecutar el
proyecto, usando el AR Drone como plataforma de un sistema de teledetección para agricultura de
precisión (Campo, Corrales, & Ledezma, 2015, págs. 49-63).
1.3.11. UAV autónomo de inspección en entornos urbanos complejos
Se aborda el problema de la vigilancia basada en multi-UAV-en entornos urbanos complejos con
oclusiones. El problema consiste en controlar el vuelo de vehículos aéreos no tripulados con cámaras a
bordo de manera que se maximiza la cobertura y lo reciente de la información sobre la zona designada.
En contraste con el trabajo existente, las limitaciones de detección debido a oclusiones y las
restricciones de movimiento UAV se modelan de manera realista y son tenidas en cuenta. Se propone
un nuevo algoritmo de evasión de oclusiones basado en una descomposición del problema de
inspección. El algoritmo se evalúa en la alta fidelidad del banco de pruebas de simulación de los UAV
con modelos de precisión con todas las limitaciones y los efectos involucrados. Los resultados
confirman la importancia de un patrón de vuelo que tenga en cuenta las oclusiones, en particular, en el
caso de áreas con estrechez de la calle y bajas altitudes de vuelo del UAV (Semsch, Jakob, Pavlicek, &
Pechoucek, 2009, págs. 82-85).
1.3.12. Control y estabilización aplicada a un micro quadrotor AR. Drone
La investigación de robots voladores autónomos en miniatura se ha intensificado considerablemente,
gracias al reciente aumento del interés civil y militar en los vehículos aéreos no tripulados (UAV). En
este trabajo se presenta un algoritmo simple de control para estabilizar la posición de un avión
quadrotor sometido a diversas perturbaciones. En primer lugar, se presenta un modelo dinámico del
quadrotor seguido de simulación e implementación de un controlador PID clásico; los resultados no
fueron concluyentes y muestran la estabilidad del quadrotor para diferentes perturbaciones. En segundo
lugar, se presenta la tecnología de navegación y control embebido en un micro vehículo aéreo no
tripulado (UAV) AR.Drone recientemente comercializado. La prueba de estabilización de vuelo se
llevará a cabo en el AR.Drone, los resultados experimentales se discuten y se interpretan (Boudjit &
Larbes, 2013, págs. 122-127).
1.3.13. Seguimiento de trayectoria de un quadrotor con avance limitado usando el modelo de
control predictivo
Última década ha visto un creciente interés de la robótica y la comunidad de control hacia la
comprensión de la dinámica y la síntesis de la ley de control de vehículos aéreos no tripulados (UAV).
Muchos de los desafíos teóricos de control son capturados por los sistemas UAV por sus dinámicas no
lineales inherentes y sus características subactuadas. Los sistemas Quadrotor o QuadCopter pertenecen
a dicha categoría UAV al tener capacidades de despegue y aterrizaje vertical (VTOL), lo que los hace
idealmente adecuados para aplicaciones de defensa y vigilancia. En este artículo, se presenta una
estrategia de control predictivo (MPC) para la estabilización y el seguimiento de la trayectoria de un
UAV quadrotor con avance limitado. La principal ventaja de MPC sobre otros esquemas de control es
su capacidad de manejo de restricción. Esta característica hace que sea adecuado para tratar con
sistemas que tienen restricciones reales de estado y de avance. Se ilustra la eficacia de la técnica de
MPC para seguir una trayectoria dada respetando la cota de entrada de control de un UAV quadrotor
(Mejari, Gupta, Singh, & Kazi, 2013, págs. 1-6).
1.3.14. Diseño y comparación de controladores MPC y LQR para un helicóptero no tripulado
Para el control de helicóptero no tripulado, se han diseñado diferentes controladores en la literatura. El
Modelo de Control Predictivo (MPC) fue utilizado en la industria de procesos por años. Pero su
aplicación a los helicópteros es nueva. En este estudio, se utiliza un modelo dinámico no lineal de
helicóptero no tripulado con seis grados de libertad para controlar las velocidades de traslación y
desplazamientos angulares. Además, se diseñan dos controladores diferentes basados en MPC y LQR y
se prueban numéricamente en el modelo de helicóptero inestable en lazo abierto. Se estudian en detalle
varios escenarios de simulación con diferentes condiciones iniciales se comparan las salidas. Los
resultados demostraron que con igual o menor esfuerzo de control, el controlador de tipo MPC tuvo
más éxito que el controlador LQR (Franko, Koç, Özsoy, & Sari, 2011, págs. 138-144).
1.3.15. Identificación y control de seguimiento de trayectoria de un AR.Drone Quadrotor
Este artículo describe el proceso de identificación y control en lazo cerrado de un vehículo aéreo no
tripulado (UAV) AR.Drone de Parrot así como una aplicación de seguimiento de trayectoria basada en
controladores de posición IMC. El tema de la investigación es lograr el control de posición del
movimiento del AR.Drone quadrotor a través del equipo de sensores a bordo y la cámara web de video
en directo. Primeramente, se detallan las funciones de transferencia para los movimientos de
inclinación y altitud y se hace una comparación del desempeño entre el PID implementado y el
controlador IMC de simulación y práctica para ambos. Además, usando controladores IMC, una
aplicación de seguimiento de trayectoria exhibe el comportamiento del controlador desde un punto de
vista práctico. Se concluye que el modelo dinámico y los controladores implementados en el quadrotor
pueden servir como una base confiable para aplicaciones más avanzadas (Hernandez, Copot, De
Keyser, Vlas, & Nascu, 2013).
1.3.16. Control Difuso Del Quadrotor AR Drone 2.0 Para El Seguimiento Autónomo De
Trayectorias
Dentro de este artículo se describe el procedimiento para realizar una conexión entre el Ar Drone 2.0 y
un ordenador. Se plantea la lógica difusa como un método de control para poder mejorar las
características del Ar Drone. Específicamente se busca estabilizar el funcionamiento en el seguimiento
de trayectorias tanto en simulación como en la plataforma real (Casanova, 2015).
1.3.17. The navigation and control technology inside the AR.Drone micro UAV
Este documento expone la navegación y tecnología de un control embebido dentro de un AR Drone, el
cual por su bajo costo y presentación pasa por encima de otros UAV’s de otras compañías. Esta
investigación profundiza sobre los sistemas de vuelo en interiores, combinando sensores inerciales de
bajo costo, técnicas de visión por computadora, sonares, y algunos modelos aerodinámicos (Bristeau,
Callou, Vissière, & Petit, 2011).
Capítulo 2
2. Marco Teórico
2.1. Quadrotor
Una aeronave no tripulada o UAV por sus siglas en inglés Unmanned Aerial Vehicle, no es más que un
vehículo aéreo reutilizable, capaz de mantener un vuelo controlado y sostenido (Díaz & López, 2007,
págs. 6-9). En la actualidad, las aplicaciones mediante UAV han ido en aumento. Aplicaciones como
seguimiento de objetivos, seguridad civil y vigilancia, así como rastreo de personas en catástrofes, los
hace muy importantes y eficientes, debido a que su operación puede llevarse a cabo de manera remota
o autónoma, esta última con asignación de rutas programadas. Por estos motivos, es muy importante
mantener una constante investigación con este tipo de aplicaciones en Colombia.
Un quadrotor es un helicóptero con cuatro rotores para su sostén y elevación. Los cuatro rotores están
generalmente colocados en la extremidad de una cruz cumpliendo una simetría respecto al centro de
masa. A fin de evitar que el aparato se tumbe respecto a su eje de orientación es necesario que dos de
sus hélices giren en un sentido y las otras dos en sentido contrario.
Los motores son de imán permanente que engranan por medio de una reductora a una hélice. Una
diferencia significativa entre este avión y un helicóptero tradicional es la ausencia de cíclicos para
variar el ángulo en el eje de rotación. Sin embargo en el modelo del Quad-Rotor las variaciones en el
empuje a cada rotor son aplicadas variando la velocidad del rotor. Este diseño particular permite el
vuelo vertical, despegue y aterrizaje similar a un helicóptero tradicional (Díaz & López, 2007). Para
poder dirigir el dispositivo hay que hacer que cada uno de los pares de hélices gire en el mismo sentido.
El control de movimiento del vehículo se consigue variando la velocidad relativa de cada rotor para
cambiar el empuje y el par motor producido por cada uno de ellos.
El concepto de quadrotor no es nuevo. El primer quadrotor fue un helicóptero llamado Gyroplane No.1,
construido por los hermanos Breguet el cual voló en 1907. En el aeromodelismo los quadrotores son
vehículos a escala no tripulados (UAVs). Los cuales, además de servir de prueba para sistemas reales a
menor costo, tienen muchas aplicaciones dependiendo del área en donde se utilicen (Casanova, 2015,
págs. 7-13).
A través del tiempo, debido a las grandes mejoras en las técnicas de manufactura y las innovaciones en
el conocimiento de los materiales metalúrgicos ahora pueden ser producidos sensores más pequeños y
precisos. La tecnología de sistemas microelectromecánicos (MEMS) ahora permite la producción de
componentes de maquinaria como engranes con tamaños en el rango de 10-6 micrómetros (Kivrak,
2006).
Los sistemas autónomos de control de vuelo han despertado un gran interés en los últimos años debido
al desarrollo de los UAV, así como el logro de un pilotaje más sencillo e intuitivo de los mismos. Este
tipo de vehículo puede verse tanto en el ámbito militar como en el civil, con aplicaciones desarrolladas
para tareas de búsqueda y rescate, vigilancia comercial, espionaje, filmación cinematográfica,
inspección en situaciones donde se realicen vuelos en condiciones hostiles, así como la realización de
maniobras acrobáticas, entre otras.
Hasta hace poco tiempo, desarrollar un vehículo aéreo en escala miniatura y controlado de manera
autónoma era un sueño de muchos investigadores. Fue a partir de la Primera y la Segunda Guerra
Mundial cuando comenzó decididamente el desarrollo de los UAV con el Denny Righter RP750 de los
ingleses o el V1 “Buzz Bomb” de los alemanes. El uso de drones ha sido defendido por las autoridades
estadounidenses por una doble razón. Por un lado, permite atacar a aquellos individuos que suponen
una amenaza, sin arriesgar las vidas de los soldados norteamericanos, mientras que, por otro, se
reducen sustancialmente los daños colaterales debido a su alta precisión (Laborie I., págs. 56-60).
Los quadrotores son una herramienta útil para los investigadores para probar y evaluar nuevas ideas en
una serie de campos diferentes, incluyendo el control de vuelo, la navegación, los sistemas de tiempo
real, y la robótica. En los últimos años muchas universidades han mostrado quadrotores que realizan
maniobras aéreas cada vez más complejas. Enjambres de quadrotores pueden flotar en el aire, en
formación, y de forma autónoma realizar complejas rutinas voladoras como volteretas, saltando a
través de aros de hule y organizándose para volar a través de las ventanas como un grupo.
Hay numerosas ventajas para el uso de quadrotores como plataformas de pruebas versátiles. Son
relativamente baratos, y disponibles en una variedad de tamaños y su diseño mecánico simple significa
que pueden ser construidos y mantenidos por aficionados. Debido a la naturaleza multidisciplinaria de
operar un quadrotor, académicos de varias áreas deben trabajar juntos para desarrollar aplicaciones.
Los proyectos de quadrotores suelen ser colaboraciones entre ciencias de la computación, ingeniería
eléctrica, electrónica y especialistas en ingeniería mecánica. Dado que son tan maniobrables, los
quadrotores son útiles en todo tipo de situaciones y entornos. La autonomía en el vuelo de los
quadrotores podría ayudar a eliminar la necesidad de la gente al exponerse en numerosas situaciones
peligrosas. Esta es la principal razón del gran interés en la investigación de los quadrotores, la misma
que ha sido cada vez mayor en los últimos años.
Por otro lado, el desarrollo de sistemas de control para este tipo de vehículos no es trivial, debido
principalmente a la compleja dinámica inherente en los sistemas aerodinámicos, los cuales son
multivariables, subactuados y, además, presentan diversas características no lineales. Esto significa que
las leyes clásicas de control lineal de sistemas SISO pueden tener muy limitado su rango de aplicación,
provocando inestabilidades cuando se opera en condiciones no muy lejanas a las de equilibrio.
Para aumentar tanto la habilidad como las prestaciones de estos sistemas, se suele requerir estrategias
de control avanzadas que permitan tener en cuenta, por una parte, la complejidad de estos sistemas, y
por otra, las incertidumbres propias de cualquier modelado no lineal y de teoría de control no lineal
moderna, lo que permite alcanzar un alto desempeño en vuelos autónomos, y en distintas condiciones
de vuelo (vuelo estacionario, vuelo en punto, aterrizaje/despegue, etc.).
Los sistemas de control de vuelo pueden clasificarse en tres categorías, cada una con objetivos
diferentes en función de la autonomía que alcance el sistema.
Sistema para incrementar la estabilidad. Este tipo de sistemas pretende ayudar al pilotaje del
vehículo estabilizando el sistema con un control de bajo nivel. Así se evita que el piloto deba actuar en
base al comportamiento dinámico de un sistema, que una vez alejado de cierto punto de equilibrio o en
ciertos sistemas no es intuitivo para el razonamiento humano.
Sistemas para incrementar el comportamiento. Estos sistemas están en un nivel jerárquico superior
a los SAS. Así, además de estabilizar al vehículo, estos sistemas deben ser capaces de proporcionar una
respuesta con ciertas prestaciones a referencias que dé el piloto, es decir, deben tener un buen
seguimiento de la referencia.
Sistemas de pilotaje automático. Constituyen el nivel de control jerárquicamente superior. Son
sistemas de control totalmente automáticos que son capaces de realizar por sí solos ciertos tipos de
maniobras, como por ejemplo el despegue, el aterrizaje, o el vuelo estacionario a cierta altura
(Almendariz & Nogales, 2014, págs. 20-30).
Para entender las características del vuelo del Quad-Rotor, primero se considera que todas las variables
son igual a cero. El vuelo vertical se consigue aumentando o disminuyendo la velocidad de cada rotor
en la misma proporción. Esto aumentará o disminuirá el empuje total aplicado al avión permitiendo que
ascienda o descienda. El giro sobre el eje X se consigue disminuyendo el empuje del rotor 2 y
aumentando el empuje del rotor 4 para conseguir un “ROLL+”. Si se desea un giro sobre el eje Y se
debe aumentar el empuje del rotor 3 y disminuir el empuje del rotor 1 para lograr un “PITCH+”. El
movimiento de giro del Quad-Rotor sobre sí mismo se logra disminuyendo el empuje de los rotores 1 y
3 y aumentado el empuje de los rotores 1 y 4, si lo que se quiere es un “YAW+” (Díaz & López, 2007).
Fig. 1. Modelo Quad-Rotor (Díaz & López, 2007)
Dentro del grupo de robots móviles, los helicópteros reciben una diferente nomenclatura dependiendo
del número de motores con los que cuente, desde 1 hasta n, siempre y cuando el tamaño lo permita.
Como un ejemplo singular se tiene al multicóptero que ha revolucionado la aviación es el E-Volo’s
Volocoptero VC200, el cual es un helicóptero con 18 hélices y permite transportar a 2 personas.
2.2. AR DRONE 2.0
El quadrotor utilizado para el desarrollo de esta tesis es el AR Drone 2.0 de la casa matriz Parrot (Fig.
2). Es un UAV de bajo costo, el cual tiene un controlador de vuelo inercial interno el cual tiene como
objetivo hacerlo estable y seguro. Se toma la decisión de escoger este UAV debido a la gran cantidad
de información que existe, resaltando una guía para desarrolladores (Piskorski, Brulez, Eline, &
D’Haeyer, 2012) que permite utilizarlo más como un sistema programable, que como un sistema de
entretenimiento.
Fig. 2. AR Drone 2.0
El AR Drone 2.0 cuenta con un diseño simple propio de un quadrotor, debido a que consiste en 4
hélices ubicadas simétricamente respecto a una unidad central, en la que se tienen sensores, fuente de
alimentación, tarjeta de circuitos, y otros componentes necesarios para su funcionamiento.
Todas estas partes son ensambladas dentro de una estructura de fibra de carbón altamente resistente
(PA66 Plástico), por otro lado cuenta con una carcasa desmontable que protege las hélices de un
choque con algún objeto ajeno al Drone. Todo este conjunto de partes resulta un peso total alrededor de
420g (Hernandez, Copot, De Keyser, Vlas, & Nascu, 2013, pág. 584).
Actuadores
4 motores sin escobillas de 14.5 W y 28.500RPM controlados cada uno por 1 CPU AVR de 8
MIPS.
Electrónica
Procesador de 1 GHz y 32 bit ARM Córtex A8
Linux 2.6.32
RAM DDR2 de 1 GB
USB 2.0
Wi Fi (b/g/n) con alcance alrededor de 50m
Cámara de 1280x720
(Parrot S.A., 2016)
Sensores
Acelerómetro de 3 ejes con una precisión de 6°
Magnetómetro de 3 ejes con una precisión de 6°
Sensor de presión con una precisión de +/- 10 Pa
Sensor de ultrasonido
Cámara vertical QVGA de 60 FPS
Fuente De Alimentación
Li-Po recargable de 1000mAh a 11.1V
Recomendaciones
Evitar poner en vuelo el AR.Drone si la velocidad del viento supera los 15km/h.
Recordar siempre que la fuerza del viento que se percibe en el lugar en el que se pilota el AR.
Drone puede ser muy diferente a la velocidad real del viento en la posición y la altura a la que
éste se encuentra volando (Parrot S.A.)
2.3. Real Time Windows Target
El Real Time Windows Target es una solución para prototipar y probar sistemas en tiempo real. Es un
ambiente donde se usa un computador simple como host y una tarjeta. En este ambiente se usa un
ordenador con el software Matlab y su toolbox Simulink. La integración entre simulink y real time
Windows target permite al modelo de simulink una interfaz para:
Visualización de señales: permite visualizar con la ayuda de Scope el comportamiento de las
señales
Parámetros de ajuste: Es posible realizar configuraciones sin tener que pausar o detener la
simulación o conexión con el dispositivo.
Algunas aplicaciones que son posibles alcanzar con la ayuda de esta herramienta son:
Control en tiempo real: Crear un prototipo de un dispositivo y su instrumentación de control.
Simulación de hardware de tiempo real en lazo cerrado: Crear un prototipo de los controladores
conectados a una planta “física”. Y crear un prototipo de una planta conectada a un controlador
físico.
2.4. AR Drone Simulink Development –Kit V1.1
Este toolkit contiene una librería de simulink y cuenta con un conjunto de 5 bloques (Fig. 3), los cuales
para su correcto funcionamiento requieren de una versión superior a la 2013a del Real Time Windows
Target y evidentemente un AR Drone 2.0.
Dentro de estos bloques, el AR Drone Wi-Fi Block es el más importante en lo que respecta a esta
investigación. Estos bloques tienen las mismas variables para su entrada y para su salida, lo cual ayuda
en el momento de su conexión y permite la correcta transición de los datos entre los bloques.
Este toolkit se encuentra dividido en dos secciones, la primera es una carpeta que contiene los archivos
necesarios (modelos Simulink, Archivos.m) para simular el comportamiento de un quadrotor e incluso
cuenta con alcances de simulación de controladores sobre la planta virtual. Mientras que la segunda
carpeta son los archivos (modelos simulink, Archivos.m) para obtener acceso a través de una
comunicación Wi-Fi del sistema interno del Ar Drone 2.0 (Sensores Y Actuadores).
Fig. 3. Librería AR Drone Development Kit V1.1
2.4.1. AR Drone Wi Fi Block: Es la interfaz con el Parrot AR.Drone que permite al usuario enviar
comandos al vehículo y al mismo tiempo leer sus estados.
2.4.2. AR Drone Simulation Block: Contiene un modelo de la dinámica del vehículo obtenida a través
del “System Identification Toolbox” en Matlab.
2.4.3. Baseline Controller: es donde se ingresa el controlador deseado para el control del AR Drone
2.0.
2.4.4. Guidance logic: la referencia deseada se agrega en este bloque , la cual es la trayectoria o los
puntos por donde se desea que el sistema pase
2.4.5. Position Estimation: consiste en estimar el estado en el cual se encuentra el sistema, es decir: la
altura, los ángulos de orientación y las velocidades
2.4.6. UDP: El protocolo UDP (Protocolo De Datagrama De Usuario) permite el envío de datagramas
a través de una red, en este caso Wi-Fi, sin que se haya establecido previamente una conexión,
es decir, la transferencia de los datos entre el emisor y el receptor, aunque no estén
directamente conectados, esto se logra gracias a que el emisor no requiere confirmación de
paquetes para su funcionamiento (Casanova, 2015, págs. 40-41).
2.4. Identificación de sistemas
El modelo de un proceso es una forma de representar la dinámica del mismo, es por esto que se
convierte en una importante herramienta para el análisis y diseño de sistemas de control. No obstante,
cuando se obtienen modelos resultan ser una simplificación de la dinámica real de los procesos, sin ser
suficientes para describirlos. Existen dos métodos para la elaboración de un modelo, el primero
consiste en obtenerlo mediante principios y leyes físicas, en donde se necesita un conocimiento muy
preciso del proceso, puesto que se deben elegir correctamente las variables que serán los estados del
sistema, lo cual haría el desarrollo más complejo. El segundo método radica en la determinación del
modelo matemático a partir de la medición experimental de las variables entrada – salida, esto es lo que
se llama identificación de sistemas. Para realizar la identificación de un sistema también es necesario el
conocimiento del modelo físico que describa su dinámica, al combinar ambos métodos se hace más
sencilla la obtención del modelo y su aproximación al sistema real (Bravo, Rengifo, & Franco, 2013,
pág. 45). En el procedimiento de identificación se destacan algunas actividades importantes como la
planificación de los experimentos, la selección de la estructura del modelo, la estimación de los
parámetros del modelo y la validación del modelo obtenido. (Rodríguez & Bordóns, 2007, págs. 129-
136)
2.4.1. Planificación de los experimentos
Puesto que la identificación de un proceso requiere experimentar con la planta a modelar, es necesario
determinar el tipo de experimentos adecuados que no generen costos muy altos, por ejemplo, en
procesos industriales cuya dinámica implique costos de producción. Además es importante que las
señales de excitación que se elijan para los experimentos cubran todo el ancho de banda del proceso, es
decir, que abarque todos sus modos posibles. Dependiendo del sistema, pueden admitirse entradas de
cualquier tipo, o por el contrario restringirse a unas formas de onda específicas, sin embargo, esto
también interfiere en la obtención del modelo después del experimento, pues se puede complicar si
intervienen señales de diferentes tipos.
2.4.2. Estructura del modelo
La selección de la estructura o tipo de modelo es un aspecto básico a tener en cuenta durante el
procedimiento de identificación de un sistema o proceso, puesto que, en teoría, debería darse por el
conocimiento previo del mismo y las perturbaciones que deban tenerse en cuenta. Por lo anterior,
normalmente se utilizan modelos de caja gris, en los que se obtiene una parte del modelo mediante las
leyes físicas que describen su dinámica, y que pueden contribuir a determinar los órdenes de los
polinomios de la función de transferencia (numerador y denominador); y la otra parte de
caracterización del modelo puede determinarse de manera experimental. Además, el conocimiento de
ambas partes del sistema (teórico-experimental) permite realizar simplificaciones o linealizaciones de
un modelo físico complejo, si se entiende su comportamiento en condiciones específicas.
2.4.3. Estimación de parámetros
Para llegar a este paso es necesario haber determinado los elementos anteriores, que implican la
determinación de los experimentos y datos experimentales a utilizar, y el tipo de modelo que se
pretende encontrar al final. Para realizar la estimación de parámetros existen dos formas: identificación
en línea e identificación fuera de línea. En la primera, dicha estimación se efectúa basándose en
mediciones que se obtienen de forma continua en tiempo real, y se usan cálculos recursivos. Es el
método que debe ser utilizado sin falta cuando se pretende usar una estrategia de control adaptativo, o
cuando el proceso tiende a variar su dinámica con el tiempo.
Para la identificación fuera de línea se toma una serie de datos (mediciones) obtenidas de los
experimentos aplicados a la planta, y posteriormente se usa todo este conjunto de datos para hacer el
ajuste del modelo. Este procedimiento suele ser el más usado puesto que permite la obtención de
modelos más precisos y fiables respecto a la cercanía de los parámetros estimados con los parámetros
reales del proceso. Sin embargo no se puede definir uno como mejor que el otro puesto que
dependiendo de la dinámica del sistema que se quiera modelar y de la situación que se presente, los
resultados serán diferentes.
2.4.4. Validación del modelo
La validación del modelo consiste en comprobar la fidelidad del modelo obtenido a través del proceso
de identificación. Puede ser comprobado bajo diferentes criterios dependiendo de la respuesta esperada,
pero el objetivo principal es verificar que al aplicar la misma señal de entrada que se aplicó a la planta,
al modelo identificado, se obtenga en su salida una señal con una correlación cercana a los datos de
salida real de la planta que se tuvieron en cuenta desde un principio. Para obtener un modelo válido,
generalmente se deben realizar varios procesos de identificación que logren conducir el proceso al
mejor resultado posible, esto resulta de cambiar la elección de la estructura, de los parámetros, e
incluso cambiando los experimentos realizados a la planta de manera que los datos que se tengan en
cuenta permitan generar un modelo más acertado. Se trata de una elección experimental que pretende
conllevar a las mejores aproximaciones, por ello es posible que se deba ejecutar reiteradamente. En la
figura 4 se muestra un diagrama de flujo del proceso de identificación. En (Escobar & Poveda, 2014) se
muestra toda la matemática del proceso con más detalle.
Fig. 4. Diagrama De Flujo Del Proceso De Identificación
Existen herramientas que permiten realizar este procedimiento de una manera más sencilla y efectiva
en el evento en que se tenga que realizar numerosas veces, un ejemplo de esto es el “System
Identification Toolbox” de MATLAB (Ljung, 1995), el cual contiene varias funciones que facilitan la
ejecución de los pasos mencionados con anterioridad, además de una interfaz gráfica (GUI) para que el
procedimiento de identificación sea más interactivo.
2.5. Observador de estados
El observador de estados es una de las técnicas de control moderno que se usará en este proyecto, en
primera instancia, para realizar un controlador de este tipo necesario conocer cómo representar un
sistema en espacio de estados, y determinar su dinámica de la misma manera, esto se explica en detalle
en (Ogata, 2010, págs. 648-682). Además se debe aprender a reconocer las variables de estado,
las cuales son el subconjunto más pequeño de variables de un sistema que pueden representar su estado
dinámico completo en un determinado instante. Estas variables de estado deben ser linealmente
independientes, es decir, que ninguna de ellas puede ser una combinación lineal de las otras. El número
mínimo de variables de estado necesarias para representar un sistema dado, es normalmente igual al
orden de la ecuación diferencial que define al sistema. Si el sistema es representado en forma
de función de transferencia, el número mínimo de variables de estado es igual al orden del
denominador de la función transferencia después de haber sido reducido a una fracción propia.
Determinar las variables de estado del sistema es indispensable para diseñar un observador de estados,
sin embargo, este depende también de otro tipo de controlador llamado realimentación de estados.
Para realizar un control por realimentación de estados es necesario verificar si el sistema es controlable,
es decir, se debe determinar si es posible llevar el sistema dinámico de una posición inicial al origen en
un tiempo finito mediante una entrada determinada, esta verificación se realiza con ayuda de la
ecuación (1), es necesario comprobar que la matriz 𝑀 sea una matriz no singular, es decir, que su
determinante sea diferente de cero, en caso contrario, el sistema no será controlable.
𝑀 = [𝐵 𝐴𝐵 𝐴2𝐵 ⋯ 𝐴𝑛−1𝐵] (1)
Si se cumple lo anterior, se procede a obtener la ecuación característica del sistema y sus valores
propios (Ogata, 2010, págs. 723-728). Con esto se realiza una asignación de polos mediante un
procedimiento que consiste en determinar las ganancias K de la retroalimentación de estado tal que los
polos del sistema en lazo cerrado tengan ciertos valores deseados, establecidos por el diseñador.
Posteriormente se determina la ecuación característica del sistema suponiendo los polos deseados y se
calculan sus ganancias con ayuda de la fórmula de Ackerman (Ogata, 2010, pág. 730) ecuaciones (2) y
(3)
𝐾 = [0 0…0 1][𝐵 𝐴𝐵 𝐴𝐵2 … 𝐴𝑛−1𝐵]−1𝜙𝐴 (2)
𝜙𝐴 = 𝐴𝑛 + 𝑎1𝐴𝑛−1 + ⋯𝑎𝑛−1𝐴 + 𝑎𝑛𝐼 = 0 (3)
Donde A y B son las matrices de estado y de salida del sistema, respectivamente
𝑎𝑛 son los coeficientes del polinomio resultante de la asignación de polos
𝑛 es el orden del Sistema
I es la matriz identidad
Una vez obtenida la matriz de ganancias K se procede a realizar la realimentación de los estados del
sistema como se muestra en la figura 5, y finalmente se comprueba el comportamiento del controlador
obtenido dentro del lazo del sistema (Universidad Miguel Hernández), (Salinas, 2007), (Campoy,
2010), (Braslavsky, 2001).
Fig. 5. Diagrama de realimentación de estados (Campoy, 2010)
Algunas de las ventajas de la realimentación de estado incluyen el uso de toda la información del
sistema para calcular la entrada manipulada, y además el uso de elementos proporcionales en lugar de,
por ejemplo, derivadores de difícil realización física. En la figura 6 se muestra un esquema de un
control por realimentación de estados para un sistema de múltiples variables.
Fig. 6. Control por realimentación de estados para múltiples variables (Campoy, 2010)
Como se observó, en el método de realimentación de estados se supone que todas las variables de
estado están disponibles para su realimentación. Sin embargo en la práctica esto no siempre ocurre,
puesto que no es posible conectar un cable en la variable de estado y conectarla en otro punto.
Entonces, se hace necesario estimar las variables de estado. Dicha estimación de variables de estado no
medibles se denomina normalmente observación. Un dispositivo o algoritmo que estima u observa las
variables de estado es llamado observador de estado. Si el observador de estado capta todas las
variables de estado, sin importar si algunas están disponibles por medición directa, se denomina
observador de estado de orden completo (Fig. 7). Un observador de estado es un subsistema del sistema
de control, que realiza la estimación de las variables de estado basándose en los valores medidos
(observados) de las salidas y la señal de control. Se distinguen tres tipos de observadores, en función de
las variables de estado que se estimen: 1. Observador de estado completo. Es aquel que estima todas las
variables de estado. 2. Observador de orden mínimo. En este caso sólo se estiman aquellas variables de
estado que no son accesibles. 3. Observador de orden reducido. Este tipo de observador estima todas
las variables no accesibles y algunas de las accesibles.
En primer lugar, para poder diseñar un observador de estados para un sistema es necesario comprobar
que el sistema, además de ser controlable, es observable, es decir, que será posible predecir en qué
valor estarán los estados en un futuro. Para verificar esta característica se utiliza la ecuación (4)
𝑁 =
[
𝐶𝐶𝐴𝐶𝐴2
⋮𝐶𝐴𝑛−1]
(4)
Fig. 7. Observador De Estado De Orden Completo (Ogata, 2010)
Como se observa en la figura 7, el problema de diseñar un observador de orden completo reside en
determinar la matriz de ganancias 𝐾𝑒 de manera apropiada, tal que 𝐴 − 𝐾𝑒𝐶 posea los valores propios
deseados. Por esta razón, el problema se convierte en el mismo que se presentaba en la realimentación
de estados con la asignación de polos (Ogata, 2010, págs. 751-767), así una vez determinados, se
procede a utilizar la fórmula de Ackerman (2) y (3) para la estimación de la matriz de ganancias 𝐾𝑒,
pero con una modificación. Se reemplaza la matriz de controlabilidad empleada anteriormente por la
matriz de observabilidad, como se ve en (5).
𝐾𝑒 = 𝜙𝐴
[
𝐶𝐶𝐴𝐶𝐴2
⋮𝐶𝐴𝑛−1]
−1
[ 00⋮01]
(5)
Ahora, realimentando el observador con la planta, con ayuda de la matriz K obtenida por
realimentación de estados se construye entonces el controlador que se usará, como se muestra en la
figura 8.
Fig. 8. Observador De Orden Completo Realimentado
Debido a que en la planta del proyecto no se tiene acceso al modelo en espacio de estados fue necesario
transformar la dinámica del observador de estados encontrado en una función de transferencia que
reproduce el mismo comportamiento, esto se logra a partir de la ecuación (6).
𝑈(𝑠)
𝑌(𝑠)= −𝐾(𝑠𝐼 − 𝐴 + 𝐾𝑒𝐶 + 𝐵𝐾)−1𝐾𝑒 (6)
En la figura 9 se muestra un diagrama de bloques de esta función implementada
Fig. 9. Diagrama De Bloques Del Sistema Con Un Controlador-Observador (Ogata, 2010)
Puesto que la función de transferencia hallada actúa como el controlador del sistema, ésta se
transformaría en (7).
𝑈(𝑠)
−𝑌(𝑠)=
𝑛𝑢𝑚
𝑑𝑒𝑛= 𝐾(𝑠𝐼 − 𝐴 + 𝐾𝑒𝐶 + 𝐵𝐾)−1𝐾𝑒 (7)
2.6. LQR
El regulador lineal cuadrático o problema LQR (Linear Quadratic Regulator) es un controlador óptimo,
que consiste en minimizar una función cuadrática correspondiente al estado y a la variable
manipulable, y mantenerla lo más próximo posible al origen. Por lo anterior, se debe tener en cuenta
que para realizar el cálculo del control LQR es necesario disponer de las variables de estados del
sistema, y además, dichos estados deben ser medibles. Algunas de las ventajas de utilizar el control
LQR implican su bajo coste computacional, la obtención de una ley de control en lazo cerrado, y el
hecho de abarcar un control robusto puesto que posee un margen de fase grande (Díaz & López, 2007).
La principal diferencia de este método respecto del método de asignación de polos que se describió
anteriormente, es que proporciona un procedimiento sistemático para calcular la matriz de ganancias de
control de realimentación de estados (Ogata, 2010, pág. 793). La función de coste que se pretende
minimizar con este método está dada por (8).
𝐽 = ∫ (𝑥∗𝑄𝑥 + 𝑢∗𝑅𝑢)𝑑𝑡∞
0
(8)
Donde J es el índice de funcionamiento y, Q y R son matrices que cumplen la condición hermítica, es
decir, que son iguales a su adjunta y están definidas positivas, así:
𝑄∗ = 𝑄 > 0 𝑅∗ = 𝑅 > 0
Las matrices Q y R determinan la importancia relativa del error y del coste de energía de las señales de
control. De esta manera, el índice de funcionamiento pondera la diferencia entre el estado y el origen
desde el instante inicial hasta un tiempo infinito; por ello, cuanto más rápido se llegue al origen, se
tendrá un menor valor de J, lo que implica que al minimizarse, se encontrará la ley de control que
mantiene el estado lo más cerca posible del origen y lo lleva a dicho punto lo más rápido posible.
Además, como se contempla la energía de las señales de control, a través del término 𝑢∗𝑅𝑢, se impide
la obtención de una ley de control que tienda a llevar el estado al origen a expensas de una actuación
(señal de control) muy grande. En consecuencia, al minimizarse J, se obtendrá una ley de control que
por un lado, acerque el estado al origen lo más rápido posible, pero manteniendo un nivel de
actuaciones moderado, encontrando así una relación óptima entre el rendimiento del controlador y su
nivel de actuación.
Un ejemplo de la importancia de esta relación puede expresarse como el gasto de energía o combustible
necesario para proporcionar una señal de actuación. Además, esta ponderación del esfuerzo de control
resultará en un sistema más estable en casos en los que existen discrepancias entre el modelo del
sistema y su dinámica real (lo que ocurre en la mayoría de los casos).
La ley de control que minimiza el índice de funcionamiento J está definida por una matriz P que
satisface la ecuación de Riccatti como se muestra en (9).
𝑃 = 𝑄 + 𝐴∗𝑃𝐴 − 𝐴∗𝑃𝐵(𝑅 + 𝐵∗𝑃𝐵)−1𝐵∗𝑃𝐴 (9)
P es también hermítica y definida positiva, entonces la matriz de ganancia 𝐾 estará dada por (10).
𝐾 = (𝑅 + 𝐵∗𝑃𝐵)−1𝐵∗𝑃𝐴 10)
Capítulo 3
3. Metodología
3.1. Interfaz
Para poder obtener acceso a los datos de los sensores y ser capaz de manipular el comportamiento de
los motores sobre el AR Drone 2.0, se modificó e implementó una interfaz de comunicación la cual fue
un desarrollo previo por MSc. David Escobar Sanabria llamado AR Drone Simulink Development Kit
v 1.1 donde se encuentra un bloque llamado ARDrone Wi-Fi Block (Fig. 10) en donde se realiza la
conexión entre el ordenador y el Drone con la ayuda de las herramientas que tiene el toolbox Real Time
Windows Target y el protocolo Wi Fi (b/g/n), los cuales garantizan la periodicidad de las tareas de
navegación, control y orientación.
Fig 10. Módulo AR. Drone Wi- Fi Block
Dentro del bloque ARDrone Wi-Fi Block se encuentra el bloque de Packet Input que es la puerta de
entrada para los datos que envía el Drone, seguido se cuenta con un código de sincronización para la
comunicación Wi-Fi, y por último en lo que respecta a la recepción de datos se tiene la decodificación
para su posterior tratamiento como se muestra en la figura 11.
En cuanto al envío de los datos el proceso es inverso puesto que en primer lugar se realiza una
agrupación de las variables que maneja el drone, las cuales son: Fly (orden para elevación o descenso),
Roll angle reference (orden sobre el ángulo Roll), Pitch angle reference (orden sobre el ángulo Pitch),
Yaw rate reference (velocidad de giro sobre el eje Yaw), Vertical speed reference (velocidad vertical o
de ascenso), Enable reference commands (habilita o deshabilita el uso de los datos de entrada),
Emergency stop (paro de emergencia). Estos datos se codifican y se envían a través de la herramienta
Packet Output (Fig. 12).
Fig. 11. Sección de recepción de datos del AR Drone Desde MATLAB
Fig. 12. Sección de envío de datos al AR Drone Desde MATLAB
3.2. MODELO MATEMÁTICO
Debido a que una parte importante de la tesis es el desarrollo del modelo matemático de la plataforma,
se procedió a construir en primera instancia una base del conocimiento, que consiste en plantear de
forma matemática las ecuaciones que rigen el comportamiento de una plataforma de este tipo.
Las fuerzas de impulso vertical en cada rotor se pueden representar como se muestra en (11).
𝐹𝑖 = 𝐾𝑖𝜔𝑖2 𝑖 ∈ [1,4] (11)
De manera similar los momentos para los motores se pueden representar como (12).
𝑀𝑖 = 𝐾𝑖𝜔𝑖2 𝑖 ∈ [1,4] (12)
El modelo matemático se desarrolló en principio con base en las ecuaciones de Euler – Lagrange, las
cuales permiten describir el comportamiento físico de las partículas en un sistema mecánico por medio
de coordenadas generalizadas de posición y el modelamiento por energías del sistema.
Las coordenadas generalizadas para el caso del quadrotor están dadas por 𝑞 (13) que es un vector en ℝ6
que contiene la posición del centro de masa del drone en coordenadas cartesianas y los tres ángulos de
Euler que describen su orientación.
𝑞 = (𝑥, 𝑦, 𝑧, 𝜓, 𝜃, 𝜑) ∈ ℝ6 (13)
Es posible entonces separar este vector en otros dos, 𝜉 para las coordenadas de traslación y 𝜂 para las
coordenadas de rotación como muestra (14).
𝜉 = (𝑥, 𝑦, 𝑧) ; 𝜂 = (𝜓, 𝜃, 𝜑) (14)
Se sabe que la función Lagrangiana del sistema está dada por (15).
ℒ(𝑞, �̇�) = 𝑇𝑡𝑟𝑎𝑠 + 𝑇𝑟𝑜𝑡 − 𝑈 (15)
Donde el Lagrangiano depende de la coordenada generalizada y su derivada, y es igual a la energía
cinética total (traslacional y rotacional) menos la energía potencial del sistema.
Sabiendo que la energía cinética corresponde a (16).
1
2𝑚𝑣2 (16)
Se tienen entonces las ecuaciones para la energía cinética traslacional (17) y rotacional (18) así:
𝑇𝑡𝑟𝑎𝑠 =1
2𝑚�̇�𝑇�̇� (17)
𝑇𝑟𝑜𝑡 =1
2�̇�𝑇𝐼�̇� (18)
En (18), 𝐼 representa la matriz de inercia para la energía cinética de rotación del quadrotor expresada en
términos de 𝜂. Debido a que la geometría de la aeronave es perfectamente simétrica, la matriz de
inercia resulta ser diagonal (19), con las componentes de inercia independientes para cada eje de
movimiento, además se tiene que la inercia en el eje x es igual a la inercia en el eje y (20), (Kim, Kang,
& Park, 2010).
𝐼 = [
𝐼𝑥𝑥 0 00 𝐼𝑦𝑦 0
0 0 𝐼𝑧𝑧
] (19)
𝐼𝑥𝑥 = 𝐼𝑦𝑦 (20)
La energía potencial para este caso está dada únicamente por el potencial gravitacional (21).
𝑈 = 𝑚𝑔�⃗� (21)
Donde �⃗� representa un vector unitario en la dirección del eje z. Entonces combinando las ecuaciones
anteriores se obtiene (22).
ℒ(𝑞, �̇�) =1
2𝑚�̇�𝑇�̇� +
1
2�̇�𝑇𝐼�̇� − 𝑚𝑔�⃗� (22)
Debido a que el Lagrangiano no contiene términos combinados entre la energía cinética traslacional y
la rotacional, es posible dividirlo en dos ecuaciones para hallar la fuerza generalizada 𝐹𝑢 y el momento
generalizado 𝜏 (23).
𝑑
𝑑𝑡
𝜕ℒ
𝜕�̇�−
𝜕ℒ
𝜕𝑞= [
𝐹𝑢
𝜏] (23)
Al mismo tiempo se tiene que:
𝐹𝑢 = 𝑅𝐹 (24)
Donde 𝑅 es la matriz de rotación hallada por la dinámica rotacional del quadrotor (Krajník, Vonásek,
Fiˇser, & Faigl, 2011) la cual se define como (25).
𝑅 = [
cos𝜓 cos 𝜃 cos𝜓 sin 𝜃 sin𝜑 − sin𝜓 cos𝜑 cos𝜓 sin 𝜃 cos𝜑 + sin𝜓 sin 𝜑sin𝜓 cos 𝜃 sin 𝜓 sin 𝜃 sin𝜑 + cos𝜓 cos𝜑 sin𝜓 sin 𝜃 cos𝜑 − cos𝜓 sin 𝜑
−sin 𝜃 cos 𝜃 sin𝜑 cos 𝜃 cos𝜑] (25)
Y 𝐹 (26) es el vector de fuerzas del sistema, debido a que la fuerza de empuje se ejerce únicamente en
dirección vertical para la elevación de la aeronave, y consta de la fuerza en cuatro motores.
𝐹 = [00
𝐹1 + 𝐹2 + 𝐹3 + 𝐹4
] (26)
Donde 𝑢1 (27) se convierte en una de las entradas del sistema.
𝐹1 + 𝐹2 + 𝐹3 + 𝐹4 = 𝑢1 (27)
Entonces, con base en (23) y (24) para la fuerza generalizada se obtiene (28).
𝑚(�̈�, �̈�, �̈�) + 𝑚𝑔�⃗� = 𝑅𝐹 (28)
Expresado en forma matricial
𝑚 [�̈��̈��̈�] = [
cos𝜓 cos 𝜃 cos𝜓 sin 𝜃 sin 𝜑 − sin𝜓 cos𝜑 cos𝜓 sin 𝜃 cos𝜑 + sin𝜓 sin𝜑sin𝜓 cos 𝜃 sin𝜓 sin 𝜃 sin𝜑 + cos𝜓 cos𝜑 sin𝜓 sin 𝜃 cos𝜑 − cos𝜓 sin𝜑
−sin 𝜃 cos 𝜃 sin 𝜑 cos 𝜃 cos𝜑] [
00𝑢] − [
00
𝑚𝑔]
Simplificando se obtiene (29).
[𝑚�̈�𝑚�̈�𝑚�̈�
] = [
𝑢(cos𝜓 sin 𝜃 cos𝜑 + sin𝜓 sin𝜑)
𝑢(sin𝜓 sin 𝜃 cos𝜑 − cos𝜓 sin𝜑)
𝑢(cos 𝜃 cos 𝜑) − 𝑚𝑔
] (29)
Así, se obtienen entonces las ecuaciones diferenciales (30), (31) y (32).
𝑚�̈� = 𝑢1(cos𝜓 sin 𝜃 cos𝜑 + sin𝜓 sin𝜑) (30)
𝑚�̈� = 𝑢1(sin𝜓 sin 𝜃 cos𝜑 − cos𝜓 sin𝜑) (31)
𝑚�̈� = 𝑢1(cos 𝜃 cos 𝜑) − 𝑚𝑔 (32)
Ahora, para hallar las ecuaciones de movimiento rotacional se tienen en cuenta las ecuaciones de Euler
– Newton para un sistema de partículas (Kumar, 2016). Debido a que el quadrotor es un cuerpo rígido,
se asume que cada una de sus partículas tiene un comportamiento igual que su centro de masa (33).
𝐹 = 𝑚𝑎 = 𝑚𝑑𝑣
𝑑𝑡 (33)
Lo que se traduciría en (34).
𝐹 =𝑑𝐿
𝑑𝑡 (34)
Donde 𝐿 es el momento lineal y 𝐹 es la tasa de cambio del momento lineal en el sistema.
De manera similar ocurre para el movimiento rotacional en (35).
𝑀𝒏 =𝑑𝐻
𝑑𝑡 (35)
Donde 𝑀𝒏 es el momento neto del sistema que consta de todos los momentos de las fuerzas y torques
externos que actúan sobre el quadrotor, y 𝐻 es el momento angular, que se puede representar como:
𝐻 = 𝐼𝜔 (36)
Donde 𝜔 es la velocidad angular expresada como (37).
𝜔 = 𝜔𝑥𝑖 + 𝜔𝑦𝑗 + 𝜔𝑧�⃗� (37)
Entonces:
𝑑𝐻
𝑑𝑡= 𝐼�̇� = 𝐼𝑥𝑥�̇�𝑥𝑖 + 𝐼𝑦𝑦�̇�𝑦𝑗 + 𝐼𝑧𝑧�̇�𝑧�⃗� (38)
En la ecuación (38) se está efectuando una derivada de un vector en el marco de referencia móvil del
sistema, dicha derivada es diferente de la derivada en el marco de referencia fijo. Para tener en cuenta
esta diferencia es necesario agregar un factor de corrección que se obtiene del producto cruz entre la
velocidad angular y el vector de momento angular. Por lo anterior, la ecuación (35) se transformaría en
(39).
𝑑𝐻
𝑑𝑡+ 𝜔 × 𝐻 = 𝑀𝒏 (39)
Combinando la ecuación (39) con (36) se obtiene (40).
𝐼�̇� + 𝜔 × 𝐼𝜔 = 𝑀𝒏 (40)
Expresado en forma matricial se obtienen las ecuaciones de movimiento de Euler (41).
[
𝐼𝑥𝑥 0 00 𝐼𝑦𝑦 0
0 0 𝐼𝑧𝑧
] [
�̇�𝑥
�̇�𝑦
�̇�𝑧
] + [
𝜔𝑥
𝜔𝑦
𝜔𝑧
] × [
𝐼𝑥𝑥 0 00 𝐼𝑦𝑦 0
0 0 𝐼𝑧𝑧
] [
𝜔𝑥
𝜔𝑦
𝜔𝑧
] = [
𝑀𝑥
𝑀𝑦
𝑀𝑧
] (41)
Recordando el vector de coordenadas de rotación en (14) se tiene que:
�̇� = (�̇�𝑥, �̇�𝑦, �̇�𝑧) → �̈� = (�̈�, �̈�, �̈�) (42)
Los momentos netos en cada eje pueden ser representados como:
𝑀𝑥 = 𝐿(𝐹2 − 𝐹4) = 𝑢2 (43)
𝑀𝑦 = 𝐿(𝐹3 − 𝐹1) = 𝑢3 (44)
𝑀𝑧 = 𝑀1 − 𝑀2 + 𝑀3 − 𝑀4 = 𝑢4 (45)
Donde 𝐿 es la longitud entre cada par de motores, es igual en ambos ejes puesto que el drone es
perfectamente simétrico, 𝐹𝑖 corresponde a la fuerza vertical ejercida por cada motor (11) y 𝑀𝑖
corresponde al momento en cada uno de los motores (12).
Sustituyendo y despejando la tasa de cambio del momento angular (42) se obtiene (46).
[
𝐼𝑥𝑥 0 00 𝐼𝑦𝑦 0
0 0 𝐼𝑧𝑧
] [
�̈�
�̈��̈�
] = [
𝐿(𝐹2 − 𝐹4)𝐿(𝐹3 − 𝐹1)
𝑀1 − 𝑀2 + 𝑀3 − 𝑀4
] − [
�̇�
�̇��̇�
] × [
𝐼𝑥𝑥 0 00 𝐼𝑦𝑦 0
0 0 𝐼𝑧𝑧
] [
�̇�
�̇��̇�
] (46)
Simplificando (46) se obtienen las ecuaciones diferenciales para movimiento rotacional.
𝐼𝑥𝑥�̈� = 𝑢2 − (𝐼𝑧𝑧 − 𝐼𝑦𝑦)�̇��̇� (47)
𝐼𝑦𝑦�̈� = 𝑢3 − (𝐼𝑥𝑥 − 𝐼𝑧𝑧)�̇��̇� (48)
𝐼𝑧𝑧�̈� = 𝑢4 (49)
3.3. IDENTIFICACIÓN
Para continuar con el desarrollo del modelo matemático y su validación, una vez desarrollada la base
del conocimiento se procedió a encontrar un modelo que representara el comportamiento de la
plataforma por medio del método de identificación de sistemas.
Para realizar la identificación del AR. Drone 2.0 se observó el comportamiento del drone frente al
manejo individual de cada una de las entradas en un espacio controlado (interiores), lo cual permitió
utilizar un modelo de 4 sistemas SISO (Single Input Single Output) que lograra relacionar las variables
de entrada con las variables de salida, como se muestra en la figura 13.
Cabe resaltar que las entradas del AR Drone son escaladas para el controlador interno en números
reales que van desde -1 hasta 1. El Modelo en MATLAB usado se observa en la figura 14, asumiendo
que las variables de entrada afectan únicamente a sus respectivas variables de salida, por lo tanto de
manera anticipada se intuyó la necesidad de diseñar cuatro controladores independientes para cada una
de las relaciones establecidas (Krajník, Vonásek, Fiˇser, & Faigl, 2011).
Fig. 13. Variables De Entrada Y De Salida Del AR Drone 2.0
Fig. 14. Modelo En MATLAB De AR Drone 2.0
Para identificar el Ar Drone 2.0 se tomó la decisión de tomar muestras cada 0.065 segundos del
comportamiento del Drone, tiempo que concuerda con la ejecución de los módulos de Real Time
Windows Target.
3.3.1. Identificación del sistema Roll Vs Sideward (velocidad en y)
Como señal de experimento se generó una señal triangular con amplitud de -1 a 1, un periodo de 2s y
un tiempo entre muestras de 130ms sobre la entrada del sistema Roll obteniendo la respuesta que se
observa en la figura 15.
𝑉𝐴𝑅𝐼𝐴𝐵𝐿𝐸𝑆 𝐶𝑂𝑁𝑇𝑅𝑂𝐿𝐴𝐷𝐴𝑆
(𝜑, 𝜃, 𝜓, 𝑉𝑥 , 𝑉𝑦, 𝑍)
𝑉𝐴𝑅𝐼𝐴𝐵𝐿𝐸𝑆 𝐷𝐸 𝐶𝑂𝑁𝑇𝑅𝑂𝐿
(𝜑𝑑𝑒𝑠, 𝜃𝑑𝑒𝑠, 𝑉𝜓𝑑𝑒𝑠, 𝑉𝑧𝑑𝑒𝑠)
Fig. 15. Experimento Roll.
Para llevar a cabo el proceso de identificación se tomaron los datos desde la muestra 386 hasta la 586
obteniendo la siguiente sección para el caso donde la señal de Roll Deseado actúa como entrada y la
señal de Roll Real como salida.
Fig. 16. Sección Para Análisis Roll Vs Roll Real
Para estimar la función de transferencia de esta relación se usó el método de estimación (Transfer
Function Models) dejando solo 1 polo y ningún cero obteniendo la función de transferencia (50).
𝜑𝑂𝑢𝑡
𝜑𝐼𝑛=
62.89
𝑠 + 1.925 (50)
Seguidamente se realizó la validación de la función (Fig. 17) para comprobar su cercanía encontrando
que alcanzó un 88.99% de aproximación.
Fig. 17. Validación Modelo Roll Vs Roll Real
Para el caso de Roll_Real vs velocidad sideward la sección para identificación se mantuvo en el rango
de muestras entre 386 y 586 teniendo como sección la figura 18.
Fig. 18. Sección Para Análisis Roll Real Vs Sideward
La función de transferencia obtenida con el método de (Transfer Function Models), con 1 polo y 0
ceros es (51).
𝑉𝑌
𝜑𝑜𝑢𝑡=
0.1308
𝑠 + 0.568 (51)
La validación de la función encontrada es de un 82.1% (Fig. 19).
Fig. 19. Validación Modelo Roll Real Vs Sideward
En este sentido, el modelo para velocidad en el eje 𝑦 está dado por la figura 20.
Fig. 20. Modelo Eje Y.
Ahora, para pasar al diseño de los controladores, es necesario transformar el sistema expresado en
funciones de transferencia, en un sistema en el espacio de estados, el proceso para obtener las matrices
de estados se realizó como se presenta a continuación.
En primer lugar se definen las entradas y salidas de las funciones de transferencia obtenidas así
𝜑𝑖𝑛(𝑠) → Roll deseado
𝜑𝑜𝑢𝑡(𝑠) → Roll real
𝑉𝑦(𝑠) → Velocidad en y (sideward)
Y se procede a transformar cada una de las funciones de transferencia en ecuaciones diferenciales con
el fin de agruparlas como un solo espacio de estados así:
𝜑𝑜𝑢𝑡(𝑠)
𝜑𝑖𝑛(𝑠)=
62.89
𝑠 + 1.925 → �̇�𝑜𝑢𝑡(𝑡) = −1.925𝜑𝑜𝑢𝑡(𝑡) + 62.89𝜑𝑖𝑛(𝑡) (52)
𝑉𝑦(𝑠)
𝜑𝑜𝑢𝑡(𝑠)=
0.1308
𝑠 + 0.568 → �̇�𝑦(𝑡) = −0.568𝑉𝑦(𝑡) + 0.1308𝜑𝑜𝑢𝑡(𝑡) (53)
Organizando las ecuaciones en matrices de estados se tiene:
[�̇�𝑜𝑢𝑡
�̇�𝑦] = [
−1.925 00.1308 −0.568
] [𝜑𝑜𝑢𝑡
𝑉𝑦] + [
62.890
] 𝜑𝑖𝑛 (54)
𝑌 = [0 1] [𝜑𝑜𝑢𝑡
𝑉𝑦] (55)
Además, antes de proceder a diseñar los controladores es necesario comprobar que el sistema es
controlable y observable, para esto se hallan las matrices de controlabilidad (4) y observabilidad (5) y
se comprueba que su determinante sea diferente de cero.
𝑈 = [𝐵 𝐴𝐵] = [62.89 −121.063
0 8.226] (56)
Δ|𝑈| = 517.333
𝑉 = [𝐶𝐶𝐴
] = [0 1
0.1308 −0.568] (57)
Δ|𝑉| = −0.1308
3.3.2. Diseño de observador de estados para subsistema Roll
Posteriormente se procede a realizar la asignación de polos, para llevar el sistema al punto deseado, en
este caso se seleccionaron los siguientes polos
𝑠1,2 = −2 ± 2𝑗
Y con ellos es posible obtener el nuevo polinomio característico:
(𝑠 + 2 − 2𝑗)(𝑠 + 2 + 2𝑗)
𝑠2 + 4𝑠 + 8 (58)
Cuyos coeficientes son:
𝑎1 = 4 , 𝑎2 = 8
El vector de ganancia de realimentación 𝐾 se halló con ayuda de la fórmula de Ackermann (2) y (3) en
donde 𝐴 y 𝐵 son las matrices de estados y de entradas respectivamente, y 𝑎𝑖 son los coeficientes del
nuevo polinomio característico hallado. Efectuando las operaciones necesarias para el caso, el vector de
ganancias obtenido es
𝐾 = [0.024 0.7355]
Ahora se deben asignar los polos para hallar la ganancia del observador, se seleccionaron los siguientes
𝑠1,2 = −8
De donde se obtiene el polinomio característico
(𝑠 + 8)(𝑠 + 8)
𝑠2 + 16𝑠 + 64 (59)
Cuyos coeficientes son
𝑎1 = 16, 𝑎2 = 64
El siguiente paso es determinar la ganancia del observador 𝐾𝑒, el vector obtenido es
𝐾 = [282.1531 13.507]
Finalmente, computando la función de transferencia del controlador resulta (60).
𝐺(𝑠) =16.7061𝑠 + 50.1141
𝑠2 + 17.5094𝑠 + 91.2945 (60)
3.3.3. Diseño de LQR para subsistema Roll
Para el diseño del controlador LQR se utilizó un algoritmo en MATLAB capaz de calcular el vector de
ganancia, en donde se tuvieron en cuenta las siguientes condiciones para la elección de las matrices 𝑄 y
𝑅.
𝑄 = 𝐶′𝐶
𝑅 =1
𝑞
En donde 𝑞 es un factor de desempeño, que determina la relación óptima entre el rendimiento del
controlador y su nivel de actuación. En otras palabras, al tener un factor 𝑞 relativamente grande, se
obtiene una 𝑅 pequeña, lo cual conlleva a una respuesta rápida, sin embargo la señal de control
requeriría de mayor energía para su actuación. Por el contrario al tener un factor 𝑞 de menor magnitud,
se obtiene una 𝑅 grande, lo cual haría que la señal de actuación consuma menos energía, pero resultaría
en una respuesta más lenta. Se realizó entonces un proceso iterativo para encontrar el mejor valor de 𝑞,
la mejor respuesta se obtuvo con 𝑞 = 2 y el vector de ganancias que se halló fue:
𝐾 = [0.0436 1.0982]
La función de transferencia hallada para este controlador fue:
𝐺(𝑠) =27.1353𝑠 + 76.0715
𝑠2 + 18.742𝑠 + 111.6275 (61)
3.3.4 Identificación del sistema Pitch Vs Forward (velocidad en x)
Como señal de experimento se generó una señal triangular con amplitud de -1 a 1, un periodo de 2s y
un tiempo entre muestras de 130ms sobre la entrada del sistema Pitch obteniendo la siguiente respuesta.
Fig. 21. Experimento Pitch
Para llevar a cabo el proceso de identificación se tomaron los datos desde la muestra 184 hasta la 384
obteniendo la siguiente sección para el caso donde la señal de Pitch Deseado actúa como entrada y la
señal de Pitch Real como salida.
Para estimar la función de transferencia de esta relación se usó el método de estimación (Transfer
Function Models) dejando solo 1 polo y ningún cero obteniendo la función de transferencia (62).
Fig. 22. Sección Para análisis Pitch Vs Pitch Real
𝜃𝑂𝑢𝑡
𝜃𝐼𝑛=
65.29
𝑠 + 1.715 (62)
Seguido se realizó la validación de la función para comprobar su cercanía encontrando que alcanzó un
90.71%.
Fig. 23. Validación Modelo Pitch Vs Pitch Real
Para el caso de Pitch_Real y velocidad Forward la sección para identificación se mantuvo en el rango
de muestras entre 184 y 384 teniendo como sección la figura 24.
La función de transferencia obtenida con el método de (Transfer Function Models), con 1 polo y
ningún cero es (63).
𝑉𝑋
𝜃𝑜𝑢𝑡=
−0.1331
𝑠 + 0.4349 (63)
Fig. 24. Sección Para análisis Pitch Real Vs Forward
La validación de la función encontrada es de un 81.5%.
Fig. 25. Validación Modelo Pitch Real Vs Forward
En este sentido, el modelo para velocidad en el eje 𝑥 está dado por
Fig. 26. Modelo Eje X
Ahora se transformará el sistema expresado en funciones de transferencia, en un sistema en el espacio
de estados, el proceso para obtener las matrices de estados se realizó como se presenta a continuación.
En primer lugar se definen las entradas y salidas de las funciones de transferencia obtenidas así
𝜃𝑖𝑛(𝑠) → Pitch deseado
𝜃𝑜𝑢𝑡(𝑠) → Pitch real
𝑉𝑥(𝑠) → Velocidad en x (forward)
Y se procede a transformar cada una de las funciones de transferencia en ecuaciones diferenciales con
el fin de agruparlas como un solo espacio de estados así:
𝜃𝑜𝑢𝑡(𝑠)
𝜃𝑖𝑛(𝑠)=
65.29
𝑠 + 1.715 → �̇�𝑜𝑢𝑡(𝑡) = −1.715𝜃𝑜𝑢𝑡(𝑡) + 65.29𝜃𝑖𝑛(𝑡) (64)
𝑉𝑥(𝑠)
𝜃𝑜𝑢𝑡(𝑠)=
−0.1331
𝑠 + 0.4349 → �̇�𝑥(𝑡) = −0.4349𝑉𝑥(𝑡) − 0.1321𝜃𝑜𝑢𝑡(𝑡) (65)
Organizando las ecuaciones en matrices de estados
[�̇�𝑜𝑢𝑡
�̇�𝑥
] = [−1.715 0−0.1331 −0.4349
] [𝜃𝑜𝑢𝑡
𝑉𝑥] + [
65.290
] 𝜃𝑖𝑛 (66)
𝑌 = [0 1] [𝜃𝑜𝑢𝑡
𝑉𝑥] (67)
Además, antes de proceder a diseñar los controladores es necesario comprobar que el sistema es
controlable y observable, para esto se hallan las matrices de controlabilidad (4) y observabilidad (5) y
se comprueba que su determinante sea diferente de cero.
𝑈 = [𝐵 𝐴𝐵] = [65.29 −111.972
0 8.69] (68)
Δ|𝑈| = 567.3701
𝑉 = [𝐶𝐶𝐴
] = [0 1
−0.1331 −0.4349] (69)
Δ|𝑉| = −0.1331
3.3.5. Diseño de observador de estados para subsistema Pitch
Posteriormente se procede a realizar la asignación de polos, para llevar el sistema al punto deseado, en
este caso se seleccionaron los siguientes polos
𝑠1,2 = −2.76 ± 1.3𝑗
Y con ellos es posible obtener el nuevo polinomio característico
(𝑠 + 2.76 − 1.3𝑗)(𝑠 + 2.76 + 1.3𝑗)
𝑠2 + 5.52𝑠 + 9.3076 (70)
Cuyos coeficientes son
𝑎1 = 5.52 , 𝑎2 = 9.3076
El vector de ganancia de realimentación 𝐾 se halló con ayuda de la fórmula de Ackermann (2) y (3) y
efectuando las operaciones necesarias para el caso, se obtuvo:
𝐾 = [0.0516 − 0.8166]
Ahora se deben asignar los polos para hallar la ganancia del observador, se seleccionaron los siguientes
𝑠1,2 = −8
De donde se obtiene el polinomio característico
(𝑠 + 8)(𝑠 + 8)
𝑠2 + 16𝑠 + 64 (71)
Cuyos coeficientes son
𝑎1 = 16, 𝑎2 = 64
El siguiente paso es determinar la ganancia del observador 𝐾𝑒 , el vector obtenido es
𝐾 = [−296.7785 13.8501]
Finalmente, computando la función de transferencia del controlador resulta (72).
𝐺(𝑠) =−26.6238𝑠 − 58.3133
𝑠2 + 19.3690𝑠 + 119.222 (72)
3.3.6. Diseño de LQR para subsistema Pitch
Para el diseño del controlador LQR se utilizó en este caso un factor 𝑞 = 2 y el vector de ganancias que
se halló fue
𝐾 = [0.0478 − 1.1749]
La función de transferencia hallada para este controlador fue (73).
𝐺(𝑠) =−30.4585𝑠 − 80.4868
𝑠2 + 19.1209𝑠 + 118.7915 (73)
3.3.7. Identificación Velocidad en Yaw vs Yaw real
Como señal de experimento se generó una señal triangular con amplitud de -1 a 1, un periodo de 4s y
un tiempo entre muestras de 65ms sobre la entrada del sistema Yaw obteniendo la siguiente respuesta.
Fig. 27. Experimento Yaw
Para llevar a cabo el proceso de identificación se tomaron los datos desde la muestra 370 hasta la 570
obteniendo la siguiente sección para el caso donde la señal de Velocidad en Yaw Deseada actúa como
entrada y la señal de Yaw Real como salida.
Fig. 28. Sección Para Análisis Yaw Vs Yaw Real
Para estimar la función de transferencia de esta relación se usó el método de estimación (Transfer
Function Models) dejando 2 polos y ningún cero obteniendo la función de transferencia (74).
𝜓𝑂𝑢𝑡
𝑉𝜓𝑖𝑛 =
442.7
𝑠2 + 4.528𝑠 + 0.04326 (74)
Seguido se realizó la validación de la función para comprobar su cercanía encontrando que alcanzó un
95.73%.
Fig. 29. Validación Modelo Yaw Vs Yaw Real
En este sentido, el modelo para Yaw está dado por
Fig. 30. Modelo Angulo Yaw
Ahora se transformará el sistema expresado en función de transferencia, en un sistema en el espacio de
estados, el proceso para obtener las matrices de estados se realizó como se presenta a continuación.
Teniendo entrada y salida como
𝑉𝜓𝑖𝑛(𝑠) → Velocidad en Yaw deseada
𝜓𝑂𝑢𝑡(𝑠) → Yaw real
Y se procede a transformar la función de transferencia en ecuaciones diferenciales así:
�̈�𝑜𝑢𝑡(𝑡) = −4.528�̇�𝑜𝑢𝑡(𝑡) − 0.04326𝜓𝑜𝑢𝑡(𝑡) + 442.7𝜓𝑖𝑛(𝑡) (75)
Esta se traduce en dos ecuaciones de estados:
�̇�1 = 𝑋2 (76)
�̇�2 = −4.528𝑋2 − 0.04326𝑋1 + 442.7𝜓𝑖𝑛(𝑡) (77)
Organizando las ecuaciones en matrices de estados
[�̇�1
�̇�2
] = [0 1
−0.04326 −4.528] [
𝑋1
𝑋2] + [
0442.7
]𝜓𝑖𝑛 (78)
𝑌 = [1 0] [𝑋1
𝑋2] (79)
Para comprobar que el sistema es controlable y observable, se hallan las matrices de controlabilidad (4)
y observabilidad (5) y se comprueba que su determinante sea diferente de cero.
𝑈 = [𝐵 𝐴𝐵] = [0 442.7
442.7 −2004.5456] (80)
Δ|𝑈| = 195983.29
𝑉 = [𝐶𝐶𝐴
] = [1 00 1
] (81)
Δ|𝑉| = 1
3.3.8. Diseño de observador de estados para subsistema Yaw
Se procede a realizar la asignación de polos para llevar el sistema al punto deseado, en este caso se
seleccionaron los siguientes polos
𝑠1,2 = −2.76 ± 1.3𝑗
Y con ellos es posible obtener el nuevo polinomio característico (82)
(𝑠 + 2.76 − 1.3𝑗)(𝑠 + 2.76 + 1.3𝑗)
𝑠2 + 5.52𝑠 + 9.3076 (82)
Cuyos coeficientes son
𝑎1 = 5.52 , 𝑎2 = 9.3076
El vector de ganancia de realimentación 𝐾 se halló con ayuda de la fórmula de Ackermann (2) y (3) y
efectuando las operaciones necesarias para el caso, se obtuvo:
𝐾 = [0.0209 0.0022]
Ahora se deben asignar los polos para hallar la ganancia del observador, se seleccionaron los siguientes
𝑠1,2 = −8
De donde se obtiene el polinomio característico
(𝑠 + 8)(𝑠 + 8)
𝑠2 + 16𝑠 + 64 (83)
Cuyos coeficientes son
𝑎1 = 16, 𝑎2 = 64
El siguiente paso es determinar la ganancia del observador 𝐾𝑒 , el vector obtenido es
𝐾 = [11.472 12.0115]
Finalmente, computando la función de transferencia del controlador resulta
𝐺(𝑠) =0.2662𝑠 + 1.3356
𝑠2 + 16.9739𝑠 + 84.4254 (84)
3.3.9. Diseño de LQR para subsistema Yaw
Para el diseño del controlador LQR se utilizó en este caso un factor 𝑞 = 0.01 y el vector de ganancias
que se halló fue
𝐾 = [0.0999 0.0134]
La función de transferencia hallada para este controlador fue
𝐺(𝑠) =1.307𝑠 + 6.3826
𝑠2 + 21.9322𝑠 + 176.2796 (85)
3.3.10. Identificación Velocidad vertical deseada vs Altura
Como señal de experimento se generó una señal triangular con amplitud de -1 a 1, un periodo de 2s y
un tiempo entre muestras de 130ms sobre la entrada del sistema de altura obteniendo la siguiente
respuesta
Fig. 31. Experimento Altura
Para llevar a cabo el proceso de identificación se tomaron los datos desde la muestra 247 hasta la 447
obteniendo la siguiente sección para el caso donde la señal de Velocidad Vertical Deseada actúa como
entrada y la señal de Altura Real como salida.
Fig. 32. Sección Para Análisis Vz Vs Altura
Para estimar la función de transferencia de esta relación se usó el método de estimación (Transfer
Function Models) dejando 2 polos y ningún cero obteniendo la función de transferencia (86).
𝑍
𝑉𝑧 =
2.106
𝑠2 + 0.1674𝑠 + 0.0009199 (86)
Seguido se realizó la validación de la función para comprobar su cercanía encontrando que alcanzó un
88.92%.
Fig. 33. Validación Modelo Vz Vs Altura
En este sentido, el modelo para la altura está dado por
Fig. 34. Modelo Eje Z (Altura)
Ahora se transformará el sistema expresado en función de transferencia, en un sistema en el espacio de
estados, el proceso para obtener las matrices de estados se realizó como se presenta a continuación.
Teniendo entrada y salida como
𝑉𝑧(𝑠) → Velocidad Vertical deseada
𝑍(𝑠) → Altura real
Y se procede a transformar la función de transferencia en ecuaciones diferenciales así:
�̈�𝑜𝑢𝑡(𝑡) = −0.1647�̇�(𝑡) − 0.0009199𝑧(𝑡) + 2.106𝑉𝑧(𝑡) (87)
Esta se traduce en dos ecuaciones de estados:
�̇�1 = 𝑋2 (88)
�̇�2 = −0.1647𝑋2 − 0.0009199𝑋1 + 2.106𝑉𝑧(𝑡) (89)
Organizando las ecuaciones en matrices de estados
[�̇�1
�̇�2
] = [0 1
−0.0009199 −0.1647] [
𝑋1
𝑋2] + [
02.106
] 𝑉𝑧 (90)
𝑌 = [1 0] [𝑋1
𝑋2] (91)
Para comprobar que el sistema es controlable y observable, se hallan las matrices de controlabilidad (4)
y observabilidad (5) y se comprueba que su determinante sea diferente de cero.
𝑈 = [𝐵 𝐴𝐵] = [0 2.106
2.106 −0.346858] (92)
Δ|𝑈| = 4.4352
𝑉 = [𝐶𝐶𝐴
] = [1 00 1
] (93)
Δ|𝑉| = 1
3.3.11. Diseño de observador de estados para subsistema Altura
Se procede a realizar la asignación de polos para llevar el sistema al punto deseado, en este caso se
seleccionaron los siguientes polos
𝑠1,2 = −2.76 ± 0.3𝑗
Y con ellos es posible obtener el nuevo polinomio característico (94).
(𝑠 + 2.76 − 0.3𝑗)(𝑠 + 2.76 + 0.3𝑗)
𝑠2 + 5.52𝑠 + 7.7076 (94)
Cuyos coeficientes son
𝑎1 = 5.52 , 𝑎2 = 7.7076
El vector de ganancia de realimentación 𝐾 se halló con ayuda de la fórmula de Ackermann y
efectuando las operaciones necesarias para el caso, se obtuvo:
𝐾 = [3.6594 2.5429]
Ahora se deben asignar los polos para hallar la ganancia del observador, se seleccionaron los siguientes
𝑠1,2 = −8
De donde se obtiene el polinomio característico
(𝑠 + 8)(𝑠 + 8)
𝑠2 + 16𝑠 + 64 (95)
Cuyos coeficientes son
𝑎1 = 16, 𝑎2 = 64
El siguiente paso es determinar la ganancia del observador 𝐾𝑒 , el vector obtenido es
𝐾 = [15.8353 61.3910]
Finalmente, computando la función de transferencia del controlador resulta (96).
𝐺(𝑠) =214.0589𝑠 + 234.1612
𝑠2 + 21.3553𝑠 + 156.5102 (96)
3.3.12. Diseño de LQR para subsistema Altura
Para el diseño del controlador LQR se utilizó en este caso un factor 𝑞 = 30 y el vector de ganancias
que se halló fue
𝐾 = [5.4768 2.2037]
La función de transferencia hallada para este controlador fue (97).
𝐺(𝑠) =222.0141𝑠 + 350.478
𝑠2 + 20.641𝑠 + 149.0256 (97)
Capítulo 4
4.1. Obtención De Criterios
Para dar paso a la comparación de las técnicas de control que permitieron el diseño de los controladores
previamente observados, se procede a realizar un análisis con la herramienta del software MATLAB,
Linear Analysis Tool, la cual permite ver la respuesta de los sistemas dependiendo de su entrada, y su
punto de salida, en parámetros como el máximo sobre impulso, tiempo de establecimiento y valor de
estado estable.
Puesto que es necesario para la comparación determinar el error de estado estable, se hizo uso de las
ecuaciones (98) y (99) para calcular dicho porcentaje. La primera corresponde a la constante estática
del error de posición, la cual se incluye en la segunda para estimar el error.
𝐾𝑝 = lim𝑠→0
𝐺(𝑠)𝐻(𝑠) (98)
𝑒𝑠𝑠 =𝑅1
1 + 𝐾𝑝 (99)
En (98) 𝐻(𝑠) corresponde a la ganancia de realimentación que será 1 en todos los casos, y 𝐺(𝑠)
corresponde al producto entre la función de transferencia del sistema y la función de transferencia del
controlador hallado para el mismo.
En (99) 𝑅1 representa la entrada a la que es sometido el sistema, para este caso será siempre 1, puesto
que la perturbación es un pulso unitario.
4.1.1. Controladores Por Método De Observadores
La función de transferencia del controlador para Roll (60) sufrió un aumento en su ganancia natural con
el fin de mejorar la respuesta del controlador encontrando que la ganancia que mejor respuesta entregó
fue 2.5 y presentó sobre la simulación del modelo el comportamiento que se observa en la figura 35
frente a una señal paso como entrada.
𝐺𝑠 =16.7061𝑠 + 50.1141
𝑠2 + 17.5094𝑠 + 91.2945 (60)
En esta respuesta se observa que existe un sobre impulso del 28.9%, un tiempo de establecimiento de
1.73s, y tiene un estado estable en 0.912.
Fig. 35. Control Por Observador De Roll
Para hallar el error de estado estacionario con base en (98) y (99) es necesario obtener 𝐺(𝑠) que resulta
del producto entre el controlador (60) y la planta (50) y (51).
𝐺(𝑠) =483.55𝑠 + 1059.1
𝑠4 + 21.5189𝑠3161.609𝑠2 + 270.762𝑠 + 88.9221 (100)
Se halla 𝐾𝑝 reemplazando (100).
𝐾𝑝 = lim𝑠→0
(483.55𝑠 + 1059.1
𝑠4 + 21.5189𝑠3161.609𝑠2 + 270.762𝑠 + 88.9221∗ 1) = 11.9104 (101)
Y finalmente el error de estado estacionario para roll por observador sería
𝑒𝑠𝑠 =1
1 + 11.9104= 8.830489916% (102)
Se tuvo como entrada para la respuesta del controlador Pitch (72) una señal paso en donde para
encontrar la mejor respuesta fue necesario agregar una ganancia de 2.09, obteniendo el comportamiento
de la figura 36.
𝐺(𝑠) =−26.6238𝑠 − 58.3133
𝑠2 + 19.3690𝑠 + 119.222 (72)
Fig. 36. Control Por Observador De Pitch
Analizando su comportamiento se obtiene que presenta un sobre impulso del 19.3%, con un tiempo de
establecimiento de 1.06s y un estado estable de 0.923.
Para hallar el error de estado estacionario con base en (98) y (99) es necesario obtener 𝐺(𝑠) que resulta
del producto entre el controlador (72) y la planta (62) y (63).
𝐺(𝑠) =343.561𝑠 + 1030.6
𝑠4 + 20.0024𝑠3136.039𝑠2 + 246.742𝑠 + 99.8214 (103)
Se halla 𝐾𝑝 reemplazando (103).
𝐾𝑝 = lim𝑠→0
(343.561𝑠 + 1030.6
𝑠4 + 20.0024𝑠3136.039𝑠2 + 246.742𝑠 + 99.8214∗ 1) = 10.3244 (104)
Y finalmente el error de estado estacionario para pitch por observador sería
𝑒𝑠𝑠 =1
1 + 10.3244= 7.745693394% (105)
El controlador de Yaw (84) tiene un multiplicador en su ganancia natural de 1.1 que lleva a que tenga
la respuesta en la figura 37 frente a una señal paso.
𝐺𝑠 =0.2662𝑠 + 1.3356
𝑠2 + 16.9739𝑠 + 84.4254 (84)
Fig. 37. Control Por Observador De Yaw
Su comportamiento muestra un sobreimpulso de 0.687% con un tiempo de establecimiento 1.34s y
finalmente un estado estable de 0.994.
Para hallar el error de estado estacionario con base en (98) y (99) es necesario obtener 𝐺(𝑠) que resulta
del producto entre el controlador (84) y la planta (74).
𝐺(𝑠) =117.847𝑠 + 591.27
𝑠4 + 21.5019𝑠3 + 161.326𝑠2 + 383.013𝑠 + 3.65224 (106)
Se halla 𝐾𝑝 reemplazando (106).
𝐾𝑝 = lim𝑠→0
(117.847𝑠 + 591.27
𝑠4 + 21.5019𝑠3 + 161.326𝑠2 + 383.013𝑠 + 3.65224∗ 1) = 161.8912 (107)
Y finalmente el error de estado estacionario para Yaw por observador sería
𝑒𝑠𝑠 =1
1 + 161.892= 0.6139036908% (108)
En el controlador de altura (96) no se logró encontrar un aumento o disminución de ganancia natural
que presentara mejor comportamiento que el que se observa en la figura 38.
𝐺𝑠 =214.0589𝑠 + 234.1612
𝑠2 + 20.6410𝑠 + 149.0256 (96)
Fig. 38. Control Por Observador De Altura
Su comportamiento muestra un sobreimpulso de 25.2% con un tiempo de establecimiento 2.45s y
finalmente un estado estable de 1.
Para hallar el error de estado estacionario con base en (98) y (99) es necesario obtener 𝐺(𝑠) que resulta
del producto entre el controlador (96) y la planta (86).
𝐺(𝑠) =450.808𝑠 + 493.143
𝑠4 + 21.52𝑠3 + 160.028𝑠2 + 25.7969𝑠 + 0.143974 (109)
Se halla 𝐾𝑝 reemplazando (109).
𝐾𝑝 = lim𝑠→0
(450.808𝑠 + 493.143
𝑠4 + 21.52𝑠3 + 160.028𝑠2 + 25.7969𝑠 + 0.143974∗ 1) = 3425.22 (110)
Y finalmente el error de estado estacionario para altura por observador sería
𝑒𝑠𝑠 =1
1 + 3425.22= 0.02918668387% (111)
4.1.2. Controladores Método LQR
El controlador para Roll (61) tuvo un aumento de 2 unidades en su ganancia natural y ofrece el
comportamiento que se muestra en la figura 39 frente a una señal paso como entrada.
𝐺𝑠 =27.1353𝑠 + 76.0715
𝑠2 + 18.7420𝑠 + 111.6275 (61)
Fig. 39. Control Por LQR De Roll
Este controlador ofreció un sobre impulso del 24.2% además de tener un tiempo de establecimiento de
1.52s y un estado estable de 0.911.
Para hallar el error de estado estacionario con base en (98) y (99) es necesario obtener 𝐺(𝑠) que resulta
del producto entre el controlador (61) y la planta (50) y (51).
𝐺(𝑠) =446.431𝑠 + 1251.53
𝑠4 + 21.235𝑠3 + 159.445𝑠2 + 298.78𝑠 + 122.054 (112)
Se halla 𝐾𝑝 reemplazando (112).
𝐾𝑝 = lim𝑠→0
(446.431𝑠 + 1251.53
𝑠4 + 21.235𝑠3 + 159.445𝑠2 + 298.78𝑠 + 122.054∗ 1) = 10.2539 (113)
Y finalmente el error de estado estacionario para roll por LQR sería
𝑒𝑠𝑠 =1
1 + 10.2539= 8.885808475% (114)
Al controlador para Pitch (73) se le modificó su ganancia natural en 1.48 unidades obteniendo como
resultado la figura 40.
𝐺𝑠 =−30.4585𝑠 − 80.4868
𝑠2 + 19.1209𝑠 + 118.7915 (73)
Fig. 40. Control Por LQR De Pitch
Este controlador ofreció un sobre impulso del 19.4% además de tener un tiempo de establecimiento de
1.26s y un estado estable de 0.921.
Para hallar el error de estado estacionario con base en (98) y (99) es necesario obtener 𝐺(𝑠) que resulta
del producto entre el controlador (73) y la planta (62) y (63).
𝐺(𝑠) =391.737𝑠 + 1035.17
𝑠4 + 21.2708𝑠3 + 160.645𝑠2 + 269.651𝑠 + 88.6011 (115)
Se halla 𝐾𝑝 reemplazando (115).
𝐾𝑝 = lim𝑠→0
(391.737𝑠 + 1035.17
𝑠4 + 21.2708𝑠3 + 160.645𝑠2 + 269.651𝑠 + 88.6011∗ 1) = 11.6835 (116)
Y finalmente el error de estado estacionario para pitch por LQR sería
𝑒𝑠𝑠 =1
1 + 11.6835= 7.884259077% (117)
El controlador de Yaw (85) no requirió de ninguna modificación sobre su ganancia natural, puesto que
su comportamiento por sí solo es muy óptimo y se puede observar en la figura 41.
𝐺𝑠 =1.3070𝑠 + 6.3826
𝑠2 + 21.9322𝑠 + 176.2797 (85)
Fig. 41. Control Por LQR De Yaw
Este controlador ofreció un sobre impulso del 3.97% además de tener un tiempo de establecimiento de
1.02s y un estado estable de 0.997.
Para hallar el error de estado estacionario con base en (98) y (99) es necesario obtener 𝐺(𝑠) que resulta
del producto entre el controlador (85) y la planta (74).
𝐺(𝑠) =578.609𝑠 + 2825.58
𝑠4 + 26.4602𝑠3 + 275.632𝑠2 + 799.143𝑠 + 7.62586 (118)
Se halla 𝐾𝑝 reemplazando (118).
𝐾𝑝 = lim𝑠→0
(578.609𝑠 + 2825.58
𝑠4 + 26.4602𝑠3 + 275.632𝑠2 + 799.143𝑠 + 7.62586∗ 1) = 370.526 (119)
Y finalmente el error de estado estacionario de Yaw por LQR sería
𝑒𝑠𝑠 =1
1 + 370.526= 0.2691601664% (120)
Este último controlador de altura (97) al igual que el encontrado por observador de estados no requirió
una modificación en su ganancia natural debido a que no se encontró una mejor respuesta (Fig. 42).
𝐺𝑠 =222.0141𝑠 + 350.4780
𝑠2 + 20.6410𝑠 + 149.0256 (97)
Fig. 42. Control Por LQR De Altura
Este controlador ofreció un sobre impulso del 37% además de tener un tiempo de establecimiento de
1.71s y un estado estable de 1.
Para hallar el error de estado estacionario con base en (98) y (99) es necesario obtener 𝐺(𝑠) que resulta
del producto entre el controlador (97) y la planta (86).
𝐺(𝑠) =467.561𝑠 + 738.107
𝑠4 + 20.8057𝑠3152.426𝑠2 + 24.5635𝑠 + 0.137089 (121)
Se halla 𝐾𝑝 reemplazando (121).
𝐾𝑝 = lim𝑠→0
(467.561𝑠 + 738.107
𝑠4 + 20.8057𝑠3152.426𝑠2 + 24.5635𝑠 + 0.137089∗ 1) = 5384.16 (122)
Y finalmente el error de estado estacionario de altura por LQR sería
𝑒𝑠𝑠 =1
1 + 5384.16= 0.01856955% (123)
4.2. Controladores En Plataforma Real
Sin embargo al momento de implementar los controladores sobre la plataforma, las ganancias que se
añadieron a los controladores fueron modificadas dependiendo del comportamiento que era observado.
En el caso de que el quadrotor presentara oscilación sobre algún ángulo la ganancia era puesta por
debajo de 1, mientras que si no presentaba oscilación la ganancia era aumentada paulatinamente hasta
alcanzar el máximo punto antes de que el sistema se desestabilizara, buscando optimizar el controlador.
Finalmente después de este procedimiento se encontraron los controladores finales que se muestran en
las figuras 43 a 46.
Fig. 43. Controladores implementados para la variable Roll implementados. Observador (izquierda).
LQR (derecha).
Fig. 44. Controladores implementados para la variable Pitch implementados. Observador (izquierda).
LQR (derecha).
Fig. 45. Controladores implementados para la variable Yaw implementados. Observador (izquierda).
LQR (derecha).
Fig. 46. Controladores implementados para la variable Altura implementados. Observador
(izquierda). LQR (derecha).
4.3. COMPARACIÓN CONTROLADORES
Los resultados del desempeño del sistema con los controladores por observador de estados, se
compararon con los resultados obtenidos mediante el control por LQR sobre el modelo identificado en
MATLAB. En la tabla 1 se muestra la comparación de los dos controladores aplicados a los cuatro
subsistemas, a partir de los criterios de sobreimpulso, tiempo de establecimiento y error de estado
estacionario.
Controlador Observador de estados LQR
Criterio/
Variable Sobreimpulso
Tiempo de
establecimiento
Error de
estado
estacionario
Sobreimpulso Tiempo de
establecimiento
Error de
estado
estacionario
Roll 28.9% 1.73s 8.8304899% 24.2% 1.52s 8.8858084%
Pitch 19.3% 1.06s 7.7456933% 19.4% 1.26s 7.8842590%
Yaw 0.687% 1.34 0.6139036% 3.97% 1.02s 0.2691601%
Altura 25.2% 2.45 0.0291866% 37% 1.71s 0.0185695%
Tabla 1. Comparación de los controladores en los cuatro subsistemas
En la figura 47 se muestra la comparación gráfica entre los controladores aplicados al subsistema de
roll, con base en esta información y en la proporcionada por la Tabla 1, puede decirse que el
controlador LQR tiene un comportamiento mejor que el observador, puesto que su sobreimpulso,
tiempo de establecimiento y error de estado estacionario son menores.
Fig. 47. Controladores Roll.
La figura 48 muestra el comportamiento en la misma escala de tiempo de los controladores sobre Pitch.
Teniendo en cuenta la tabla 1 y lo que deja ver su comportamiento, el control de observador es
ligeramente más rápido, además de tener menor sobre pico y menor error de estado estacionario. Esto
no quiere decir que el control LQR no sea funcional, pues se ve claramente que la diferencia es muy
poca.
Fig. 48. Controladores Pitch.
La figura 49 permite validar lo que muestra la tabla 1 en el caso de los controladores para Yaw. El
controlador LQR presentó un comportamiento más óptimo puesto que a pesar de tener un poco más de
sobre impulso en comparación con el controlador por observador, su tiempo de establecimiento es
mucho menor y su error de estado estacionario es aún más pequeño.
Fig. 49. Controladores Yaw.
Por último se realizó la comparación de los controladores de altura en la figura 50, encontrando que el
controlador por LQR tiene un sobre pico mucho mayor al que presenta el controlador por observadores
de estado, pero al mismo tiempo es un poco más rápido; en cuanto al error de estado estable, ambos
poseen una respuesta sin error, es decir, que siguen la referencia de manera acertada. Por tanto es
posible decir que la elección del controlador adecuado depende de la aplicación que se quiera dar a la
plataforma, será entonces el diseñador quien decida si prefiere obtener un menor sobreimpulso o un
menor tiempo de establecimiento.
Fig. 50. Controladores Altura.
Es importante resaltar que al implementar los controladores sobre la plataforma física, teniendo en
cuenta los ajustes sobre las ganancias antes mencionados, se pudo observar fácilmente que su
comportamiento fue mucho más rápido e incluso más estable con el conjunto de los controladores LQR
que con el conjunto de observadores. Esto se comprobó sometiendo al AR. Drone a diversas
perturbaciones sobre sus ejes, obviamente, como se especificó antes, en condiciones cercanas al vuelo
estacionario, como se identificó el sistema, y en un entorno cerrado de alrededor de 6 metros cúbicos
(2m X 2m X 2m).
Se realizaron pruebas de perturbaciones sobre cada uno de los ejes que se controlan en la plataforma,
para observar la respuesta de los controladores, tanto los de observador de estados, como los LQR. Las
perturbaciones se realizaron de manera interna en la plataforma. Se aplicó un pulso al Ar Drone 2.0 en
la entrada de la variable a la que se le aplica la perturbación, dicho pulso tiene una amplitud de 1,
puesto que es el valor máximo que pueden tener las variables, y tiene un ancho de pulso de 0.65s.
Se estableció de esta manera para que todas las perturbaciones fueran iguales y se lograra desestabilizar
el sistema para poner a prueba el controlador. En las gráficas se expresa el tiempo en función de
muestras, por lo tanto se aclara que 1 segundo equivale a alrededor de 15 muestras, debido a que el
tiempo de muestreo fue 0.065s.
Fig. 51. Comparación señales reales implementadas en la plataforma para Roll. Observador
(izquierda). LQR (derecha).
En el caso de Roll con observador se aprecia que alrededor de la muestra 250 se presenta la
perturbación, acto seguido comienza a actuar la ley de control para disminuir este comportamiento, sin
embargo lo hace de manera lenta y con varias oscilaciones para intentar regresar el quadrotor a la
referencia 0. Para el caso de Roll con LQR la respuesta es mucho más suave, la perturbación ocurre
alrededor de la muestra 250 y 30 muestras más tarde es decir casi 2 segundos el sistema alcanza
nuevamente la referencia 0.
Fig. 52. Comparación señales reales implementadas en la plataforma para Pitch. Observador
(izquierda). LQR (derecha).
En el caso de Pitch con observador la respuesta es un poco lenta, igualmente oscilatoria, como ocurre
en Roll. Si se aprecia la muestra 250 se ve un gran aumento en la respuesta, la cual representa la
perturbación del sistema, 50 muestras más tarde se ve que su respuesta es oscilatoria, lo cual no es muy
óptimo a pesar de hacerlo sobre la referencia 0. Por otro lado en Pitch con LQR se observa que
alrededor de la muestra 250 el sistema comienza a sufrir la perturbación, y es 40 muestras más tarde
que el comportamiento regresa a oscilar levemente en su referencia que es 0, para que finalmente en la
muestra 330, es decir casi 5 segundos después de ocurrir la perturbación el sistema haya regresado a un
estado estable. Sin embargo, el último presenta un mayor sobreimpulso.
Fig. 53. Comparación señales reales implementadas en la plataforma para Yaw. Observador
(izquierda). LQR (derecha).
Cuando se observa el comportamiento de Yaw con observador, es visible que alrededor de la muestra
250 se tiene una perturbación de casi 32°, acto seguido el controlador actúa, sin embargo lo hace con
un sobre impulso que esta entorno a la muestra 280, aunque logra llevarlo fácilmente a su referencia en
0, con una ligera oscilación. Para el caso de Yaw con LQR este sufre la misma perturbación de casi 32°
la cual se percibe alrededor de la muestra 250 y se logra apreciar que 30 muestras más tarde no sufre
ningún sobre impulso, y que la respuesta es suave, alrededor de la muestra 290 el sistema se estabiliza.
Pese a lo anterior, el sistema nunca alcanza exactamente la referencia presentando un error de estado
estable tanto antes de la perturbación, como después de ella, comportamiento que no se presenta en el
controlador por observador.
Fig. 54. Comparación señales reales implementadas en la plataforma para Altura. Observador
(izquierda). LQR (derecha).
La perturbación en la altura se realizó elevando el AR Drone alrededor de 28 cm de su punto estable
con la perturbación digital, lo cual es apreciable en la figura 54. El control de altura por observador
deja ver que la respuesta frente a la perturbación tarda casi 50 muestras en acercarse a la referencia,
incluso muestra que casi 100 muestras después alcanza la referencia de 1 metro. Para la altura por LQR
la perturbación ocurre alrededor de la muestra 250. Acto seguido se observa que en la muestra 280 se
presenta un sobre impulso y que es 50 muestras más tarde que el sistema alcanza la referencia de 1m
nuevamente sin apreciar un error de estado estable.
4.3.1. SEÑALES SIN CONTROL
Se presentan como resultado adicional las señales obtenidas del sistema en funcionamiento sin ningún
controlador, es decir, con los parámetros por defecto del AR. Drone. Se aplicaron a la plataforma
perturbaciones en las mismas condiciones en que se aplicaron en los experimentos con los
controladores, se obtuvieron las respuestas que aparecen en las figuras 55 a 58.
Fig. 55. Señal frente a perturbación del ángulo Roll.
En el caso del comportamiento del ángulo Roll es fácil apreciar que la señal no es estable en el valor de
0, puesto que siempre presenta un grado de error y variación continua. La perturbación se aplicó
alrededor de la muestra número 250, y casi 80 muestras después el drone realiza un cruce por la
referencia, sin embargo nuevamente se aleja presentando un error que tiende a aumentar
progresivamente, lo que en la realidad se logra apreciar como un desplazamiento horizontal del
quadrotor.
Fig. 56. Señal frente a perturbación del ángulo Pitch.
Para este ángulo nuevamente se observa que el Drone no logra mantener la referencia desde que
comienza su vuelo. La perturbación se realizó alrededor de la muestra 250, y en la muestra 300, es
decir, casi 3 segundos después, es cuando la señal se recupera de la perturbación, sin embargo no es
capaz de alcanzar la referencia. Finalmente en la muestra 360 el Drone cruza la referencia, pero
permanece alejándose, comportamiento que se aprecia en la realidad de la misma forma que en el
ángulo Roll.
Fig. 57. Señal frente a perturbación del ángulo Yaw.
En Yaw se comienza a observar la ineficiencia del controlador interno del Drone, debido a que en el
momento en que el Drone está en vuelo estacionario muestra un ángulo de alrededor -20°, y en el
momento en que lo afecta la perturbación en la muestra 250, el Drone gira hasta alcanzar 30°, pero
permanece en esa posición, es decir no corrige en ningún momento hacia su posición inicial.
Fig. 58. Señal frente a perturbación del Altura.
Para el caso de la altura el controlador interno del AR Drone lo estabiliza en una altura aproximada de
0.725. Como la señal de perturbación es la misma, se aprecia el cambio en la muestra 250 lo cual lleva
a elevar el Drone cerca de 0.22m más, 30 muestras después cuando la perturbación ha finalizado, el
drone cae con la ayuda de la gravedad nuevamente hasta su punto inicial, sin embargo después se
presenta un fenómeno similar al ocurrido en Pitch y Roll, y es que comienza a desplazarse
verticalmente sin ninguna orden incluso llegando a 1m de altura, lo cual no da ninguna confiabilidad
sobre el comportamiento del drone sin controlador.
Capítulo 5
Conclusiones y Recomendaciones
Después de observar los resultados de los controladores, es notoria una diferencia que presenta el AR
Drone 2.0 cuando cuenta con los 4 controladores diseñados por la técnica de control LQR, al
comportamiento que tiene cuando hace uso de los controladores por observador de estados, es un poco
más estable, más rápido, y soporta perturbaciones un poco más fuertes. El trabajo desarrollado en esta
tesis permite afirmar que la técnica de control LQR diseñada para esta planta y bajo condiciones de
espacio cerrado, entrega un comportamiento más óptimo que la técnica de observador de estados. Sin
embargo esto no es un hecho absoluto, es posible que con otros parámetros de diseño y/o sobre otro
tipo de planta, la técnica de realimentación de estados observados entregue mejores prestaciones que la
técnica de LQR. Incluso podrían combinarse estos dos tipos de controladores en los subsistemas de la
planta para alcanzar un mejor desempeño.
Durante el proceso de preparación de la planta y puesta a punto del sistema, se notó que el AR. Drone
presentaba en varias ocasiones unas caídas repentinas durante el vuelo. Se logró determinar que la
causa de ello eran unas pequeñas deformaciones en las hélices, para solucionar dicho problema tuvo
que realizarse regularmente un proceso de alineación y balanceo de todas hélices a través de métodos
empíricos pero con resultados óptimos y suficientes para el desarrollo de la tesis.
Se presentó también un comportamiento en el Drone en el cual tenía una tendencia regular de
desplazamiento hacia el lado derecho durante el vuelo. A pesar de usar diferentes programas de
software ya existentes para el uso del mismo, se determinó que con todos ocurría exactamente lo
mismo, lo cual llevó a pensar que era un problema físico ajeno a las hélices, engranes y ejes de los
motores, puesto que estos se verificaron constantemente. En consecuencia, se desarrolló esta tesis
considerando dicho comportamiento como algo natural de la planta.
Un ajuste de la IMU (Inertial measurement unite) es fundamental para este tipo de aeronaves, así que se
hizo necesario garantizar que esta configuración se realizara antes de cada elevación del quadrotor con
el fin de que los sensores obtuvieran una buena medida y así un correcto comportamiento.
Afortunadamente dicha configuración se realiza a través de un comando AT que se envía en el Packet
Output de simulink dentro del bloque AR Drone Wi-Fi Block del Ar Drone Development Kit V1.1.
La conexión entre el ordenador y el Ar Drone 2.0 es posible sin necesidad de ningún driver o software
muy complejo, gracias a la comunicación UDP, debido a que esta no requiere emparejar los
dispositivos que se van a comunicar, simplemente son datagramas de emisión y recepción.
En un principio se realizó la implementación de los controladores proporcionales que se encontraban en
el bloque baseline controller del AR Drone development kit v 1.1, para comprobar el funcionamiento
tanto del Drone como del software, pero se encontró un comportamiento errático, posiblemente debido
a que los parámetros de configuración y ajuste fueron tomados del comportamiento de una planta
diferente, lo cual además permite concluir que cada planta tiene sus características completamente
únicas y específicas.
Existen diversas formas para analizar un sistema y encontrar un modelo matemático que represente su
comportamiento. Se pueden tener en cuenta tanto detalles físicos, mecánicos, y químicos muy
específicos, como comportamientos característicos de la física clásica. Para el caso de esta tesis, debido
a que el trabajo se iba a realizar indoor (en espacios cerrados), fue necesario tener en cuenta la energía
traslacional y la energía rotacional de la aeronave puesto que las perturbaciones a las cuales iba a ser
sometida serían mínimas.
Las funciones de transferencia halladas por el método de identificación de sistemas sobre el software
MATLAB entregaron mejores resultados con características básicas, es decir 1 solo polo y 0 ceros,
puesto que al aumentar el orden de las funciones el porcentaje de validación aumentaba muy poco, y no
se justificaba aumentar la complejidad del modelo.
Los controladores LQR simulados presentan una mayor rapidez para alcanzar la referencia en
comparación con los controladores por observador de estados, sin embargo esto tiene como
consecuencia un mayor sobre impulso en la respuesta al escalón unitario.
Un sistema muy rápido puede generar una señal de control demasiado grande que finalmente en la
realidad sobre el sistema deja de controlar, para pasar a descontrolar el sistema.
El uso de una interfaz desarrollada sobre el software Matlab facilitó el desarrollo de la tesis, debido a
que los procesos de comunicación, identificación y control, pudieron ser desarrollados dentro de un
único programa. Optimizando el trabajo y evitando la pérdida de datos que pudiera ser ocasionada si se
hubieran importado o exportado datos de otro software.
Los primeros controladores implementados no presentaron el mejor comportamiento puesto que tenían
fuertes oscilaciones y eran muy lentos. Por tanto fue necesario repetir el proceso de diseño de éstos en
varias ocasiones, con el fin de poder encontrar los mejores para cada técnica según las condiciones y
parámetros de diseño establecidos.
Uno de los importantes aportes de esta tesis a la investigación sobre quadrotores es la implementación
física de diferentes controladores sobre una misma plataforma y a su vez la obtención de señales reales
de la misma. Puesto que el estudio que se suele efectuar es un planteamiento analítico en el que se
diseñan controladores que sólo pueden ser simulados. Adicionalmente, la mayoría de aplicaciones que
se desarrollan son con el fin de pilotar el quadrotor, de manera que las correcciones de posición las
realice el piloto con los respectivos controles, es por esto que se enfocó la investigación en el vuelo
estacionario para darle autonomía al drone y que pudiera soportar diversas perturbaciones bajo
condiciones determinadas.
Capítulo 6
Bibliografía
Almendariz, J., & Nogales, L. (2014). Control de movimiento de un quadrotor mediante un sensor de
profundidad Kinect. Proyecto de grado, Escuela Politécnica Nacional , Facultad de Ingeniería
Eléctrica y Electrónica, Quito.
Barták, R., Hraško, A., & D., O. (2014). Controlador para aterrizaje autónomo del AR Drone. 26th
Chinese Control and Decision Conference (CCDC) (págs. 329-334). IEEE.
Boudjit, K., & Larbes, C. (2013). Control and stabilization applied to micro quadrotor AR.Drone. 3rd
International Conference on Application and Theory of Automation in Command and Control
Systems, (págs. 122-127). New York.
Braslavsky, J. (2001). Realimentación de estados y observadores. Apuntes de clase, Buenos Aires.
Bravo, D., Rengifo, C., & Franco, E. (2013). Identificacion en lazo cerrado de sistemas dinámicos.
Revista Colombiana de Física, 45(1), 45-52.
Bristeau, J., Callou, F., Vissière, D., & Petit, N. (2011). The Navigation and Control technology inside
the AR.Drone micro UAV. 18th IFAC World Congress (págs. 1477-1484). Milano: IFAC.
Campo, L., Corrales, J., & Ledezma, A. (Junio de 2015). Remote Sensing for Agricultural Crops Based
on a Low Cost Quadcopter. Sistemas & Telemática, XIII(34), 49-63.
Campoy, P. (2010). Control por Realimentación del Estado. Apuntes de clase, Madrid.
Casanova, A. (2015). Control difuso de la plataforma AR. Drone 2.0 para el seguimiento autónomo de
trayectorias. Tesis de grado, Universidad tecnológica de la Mixteca, Oaxaca.
Díaz, J., & López, M. (2007). Modelo y Control LQR de una aeronave de cuatro rotores. Proyecto de
fin de carrera, Universidad de Sevilla, Departamento de Ingeniería de Sistemas y Automática,
Sevilla.
Escobar, A., & Poveda, L. (2014). Metodología de identificación de procesos. Artículo, Universidad
Distrital Francisco José de Caldas, Bogotá.
Franko, S., Koç, I., Özsoy, C., & Sari, N. (2011). MPC and LQR type controller design and comparison
for an unmanned helicopter. Summer Computer Simulation Conference, (págs. 138-144).
Giraldo, D., & Giraldo, E. (Agosto de 2007). Control por realimentación de variables de estado usando
un observador adaptativo de estados. Scientia Et Technica, XIII(35), 13-17.
Henao, O., Padilla, J., & García, J. (Diciembre de 2011). Implementación de comunicación y
algoritmos de control para UAV'S. Scientia Et Technica, XVI (49), 253-259.
Hernandez, A., Copot, C., De Keyser, R., Vlas, T., & Nascu, I. (2013). Identification and Path
Following Control of an AR.Drone Quadrotor. Ghent University, Department of Electrical
energy Systems and Automation. IEEE.
Kim, J., Kang, M., & Park, S. (Enero de 2010). Accurate Modeling and Robust Hovering Control for a
Quad–rotor VTOL Aircraft. Journal of Intelligent and Robotic Systems, pág. 19.
Kivrak, A. (2006). Design of control systems for a quadrotor flight vehicle equipped with inertial
sensors. Tesis de maestría , Universidad ATILIM, Ankara.
Krajník, T., Vonásek, V., Fiˇser, D., & Faigl, J. (2011). AR-Drone as a Platform for Robotic Research.
Czech Technical University in Prague, Department of Cybernetics, Faculty of Electrical
Engineering, Praga.
Kumar, V. (Marzo de 2016). Newton - Euler Equations. Aerial Robotics. Pensilvania: Universidad de
Pensilvania.
Laborie I., M. (s.f.). La Era de los DRONES. Atenea, I(41), 56-60.
Ljung, L. (1995). System Identification Toolbox. Guía de usuario.
Mejari, M., Gupta, A., Singh, N., & Kazi, F. (2013). Trajectory Tracking of Quadrotor with Bounded
Thrust using Model Predictive Control. Conference on Advances In Robotics, (págs. 1-6). New
York.
Ogata, K. (2010). Ingeniería de control moderna (Quinta ed.). Madrid, España: Prentice Hall.
Parra, M., Feitosa, E., & Mori Alves da Silva, J. (15 de Diciembre de 2013). Modelamiento matemático
y control de un helicóptero de cuatro motores. Scientia et Technica, XVIII (4), 772-781.
Parrot S.A. (2016). Parrot. Obtenido de Parrot AR. Drone 2.0: www.parrot.com/es/productos/ardrone-
2/
Pérez, H. A., Benítez, E. U., Castillo, B., Loukianov, A. G., Luque, L. F., & Saad, M. ( 2015). Cockpit
Design for First Person View Flight for a Remotely Operated Quadrotor Helicopter.
Computación y Sistemas, XIX(3), 501-511.
Piskorski, S., Brulez, B., Eline, P., & D’Haeyer, F. (19 de Diciembre de 2012). Parrot AR.Drone
Developer Guide SDK 2.0. AR.Drone Developer Guide.
Rivera, D., & Prieto, F. (2015). Planeación de trayectorias para cuadricópteros en ambientes dinámicos
tridimensionales. Tecno Lógicas, XVIII(34), 37-50.
Rodríguez, D., & Bordóns, C. (2007). Apuntes de ingeniería de control. Apuntes de clase,
Departamento de Ingenier´ıa de Sistemas y Autom´atica.
Salinas, R. (2007). Diseño de controlador por retroalimentación de estado. Apuntes de clase,
Universidad Autónoma de Nuevo León, Facultad de Ingeniería Mecánica y Eléctrica,
Monterrey.
Semsch, E., Jakob, M., Pavlicek, D., & Pechoucek, M. (2009). Autonomous UAV Surveillance in
Complex Urban Environments. IEEE/WIC/ACM International Joint Conference on Web
Intelligence and Intelligent Agent Technology, II, págs. 82-85. Washington.
Universidad Miguel Hernández. (s.f.). Diseño de Sistemas de Control Mediante Realimentación de
Estados. Apuntes de clase, Universidad Miguel Hernández, Sistemas electrónicos y
automáticos, Alicante.
Vago, L., Santos, A., Sarcinelli-Filho, M., & Carelli, R. (2014). Controlador con seguimiento de
trayectoria y posicionamiento 3D para un AR Drone QuadRotor. International Conference on
Unmanned Aircraft Systems (ICUAS) (págs. 756-767). Orlando: IEEE.
Vila, O. (2011). Modelización de aeronaves no tripuladas con Simulink. Universidad Politécnica de
Madrid, Escuela Universitaria de Ingeniería Técnica Aeronáutica, Madrid.