COMPARACIÓN DE TÉCNICAS DE CONTROL...

82
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

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.