control en arduino

Upload: arturo-cm

Post on 10-Feb-2018

228 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/22/2019 Control en Arduino

    1/121

    Modelado dinmico y diseo de estrategiade control mediante estimadores para el

    vuelo autnomo de un quadrotor.

    Autor: David Melero Cazorla

    Directores: Antonio Gimnez Fernndez y Jos Luis Guzmn Snchez

    13 de septiembre de 2012

  • 7/22/2019 Control en Arduino

    2/121

  • 7/22/2019 Control en Arduino

    3/121

    A todos lo que han ayudadoen la realizacin de este proyecto.

  • 7/22/2019 Control en Arduino

    4/121

  • 7/22/2019 Control en Arduino

    5/121

    ndice

    I Inters y objetivos 1

    1. Inters 1

    2. Objetivos 1

    II Revisin bibliogrfica 3

    3. Vehculos areos no tripulados 3

    3.1. Evolucin histrica de los vehculos areos no tripulados . . . . . . . . 3

    3.2. Clasificacin de los UAV . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    3.3. Quadrotor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    3.3.1. Aplicaciones actuales. . . . . . . . . . . . . . . . . . . . . . . . 8

    3.3.2. Maniobrabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    4. Filtro de Kalman 9

    4.1. Filtro de Wiener . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    4.2. Filtro de Kalman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    4.2.1. Filtro de Kalman discreto . . . . . . . . . . . . . . . . . . . . . 14

    4.2.2. Filtro de Kalman extendido . . . . . . . . . . . . . . . . . . . . 15

    5. Estrategias de control 19

    5.1. Control Proporcional Integral Derivativo (PID) . . . . . . . . . . . . . 21

    5.1.1. Ajuste manual . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    5.1.2. Mtodos de ajuste de Ziegler-Nichols . . . . . . . . . . . . . . . 24

    5.1.3. Aplicacin al control de quadrotors . . . . . . . . . . . . . . . . 27

    5.2. Control Lineal Cuadrtico . . . . . . . . . . . . . . . . . . . . . . . . . 27

    5.3. Control difuso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

    5.4. Control robusto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

    5.5. Control predictivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    5.6. Control por modos deslizantes. . . . . . . . . . . . . . . . . . . . . . . 33

    i

  • 7/22/2019 Control en Arduino

    6/121

    III Materiales y mtodos 35

    6. Materiales 35

    6.1. Draganflyer SAVS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

    6.2. Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

    6.3. Sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

    6.3.1. Acelermetro . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

    6.3.2. Giroscopio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

    6.3.3. Magnetmetro . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

    6.3.4. Sensores de distancia. . . . . . . . . . . . . . . . . . . . . . . . 45

    6.4. MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

    6.4.1. Simulink. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

    7. Mtodos 49

    7.1. Diseo del modelo dinmico del quadrotor . . . . . . . . . . . . . . . . 49

    7.1.1. Sistema de ejes . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

    7.1.2. Matrices de cambio de base . . . . . . . . . . . . . . . . . . . . 52

    7.1.3. Fuerzas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

    7.1.4. Momentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

    7.1.5. Dinmica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

    7.2. Unidad de Medicin Inercial (IMU). . . . . . . . . . . . . . . . . . . . 59

    7.2.1. Correccin de la deriva. . . . . . . . . . . . . . . . . . . . . . . 62

    7.2.2. Controlador de retroalimentacin PI . . . . . . . . . . . . . . . 63

    7.3. Filtro de Kalman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

    7.4. Diseo del controlador . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

    7.4.1. Controlador de alabeo y cabeceo . . . . . . . . . . . . . . . . . 66

    7.4.2. Controlador de guiada . . . . . . . . . . . . . . . . . . . . . . 687.5. Modelado en Simulink . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

    7.5.1. Modelo dinmico del quadrotor . . . . . . . . . . . . . . . . . . 70

    7.5.2. Sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

    7.5.3. Unidad de medicin inercial . . . . . . . . . . . . . . . . . . . . 73

    7.5.4. Filtro de Kalman . . . . . . . . . . . . . . . . . . . . . . . . . . 75

    7.5.5. Controlador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

    ii

  • 7/22/2019 Control en Arduino

    7/121

  • 7/22/2019 Control en Arduino

    8/121

    iv

  • 7/22/2019 Control en Arduino

    9/121

    Parte I

    Inters y objetivos

    1. Inters

    El trmino UAV, siglas en ingls de Unmanned Aerial Vehicle, se utiliza para definira los vehculos areos sin tripulacin humana a bordo. Los UAV se han convertidorecientemente en una plataforma viable para tareas de supervivencia y exploracindonde la presencia humana es peligrosa, imposible o inadecuada.

    Los quadrotors son unos vehculos areos de cuatro rotores que poseen la capaci-dad de despegue y aterrizaje vertical (VTOL). Su simple diseo mecnico, su granmaniobrabilidad y la capacidad VTOL los hacen adecuados para que se usen comovehculos UAV en la vida real, por ejemplo es posible observar en equipos de policade los Estados Unidos y Canad que han usado los quadrotors de forma exitosa comoequipamiento en tareas de supervivencia.

    Adems, en el mbito de la investigacin, los quadrotors se utilizan como plataformapara probar tcnicas de control avanzado. Pese a su simple diseo mecnico, el modelodinmico que define el comportamiento de los quadrotors es complejo debido a que setrata de un modelo no lineal, es por ello que se utilizan como banco de ensayos parael estudio sistemas de control y observadores no lineales.

    El filtro de Kalman ha sido uno de los descubrimientos que ha permitido el avance

    en el campo del control de sistemas dinmicos complejos. Para controlar un siste-ma dinmico, primero se tiene que conocer y capturar su comportamiento. En estasaplicaciones, no siempre es posible o deseable medir todas las variables a controlar,el filtro de Kalman proporciona un medio para inferir la informacin desconocida apartir de mediciones indirectas y ruidosas.

    2. Objetivos

    Este proyecto se considera continuacin del Proyecto de Fin de Carrera de RubnJimnez Gajate,Diseo de un sistema de control para un quadrotor [18], en el cual sehabilit la plataforma acual para disear e implementar diversos tipos de sistemas de

    control sobre el quadrotor. En el presente proyecto se plantea el modelado dinmicodel quadrotor as como el diseo e implementacin de un sistema de control quepermita un vuelo esttico autnomo. Adems, se realizar el modelado y la simulacinen MATLAB/Simulink de un algoritmo de control que permita el seguimiento detrayectorias previamente definidas.

    Por tanto los objetivos de este proyecto se pueden resumir en los siguientes puntos:

    Modelado dinmico del quadrotor y comprobacin de su validez mediante simu-lacin.

    1

  • 7/22/2019 Control en Arduino

    10/121

    Disear un filtro de Kalman que permita obtener la orientacin a partir de lasmediciones de los sensores con los que est equipado el quadrotor, acelermetroy giroscopio triaxial.

    Diseo de un controlador tipo PID que permita un vuelo esttico, autnomo yestable frente a perturbaciones externas.

    Implementacin de dicho algoritmo de control en la plataforma electrnica Ar-duino con la que est dotado el quadrotor.

    Diseo y simulacin de un algoritmo de control que permita al quadrotor elseguimiento de trayectorias previamente definidas.

    2

  • 7/22/2019 Control en Arduino

    11/121

    Parte II

    Revisin bibliogrfica

    3. Vehculos areos no tripulados

    Un vehculo areo no tripulado, UAV por las siglas en ingls (Unmanned Aerial Vehi-cle), es una aeronave que es capaz de realizar una misin sin tripulacin humana abordo. Su vuelo puede ser dirigido por controladores autnomos incorporados en laaeronave, o mediante control remoto desde tierra u otro vehculo.

    Puesto que la anterior definicin no excluye el telecontrol de la aeronave, cabe definirvehculo areo autnomo, AAV (Autonomous Aerial Vehicle) como aqul capaz dedesarrollar la misin sin necesidad de intervencin humana. En este caso cabra laposibilidad de que la aeronave transportara personal, no dedicado a la misin, peroesta posibilidad, similar al piloto automtico con el que cuentan la mayor parte de losaviones actuales, queda fuera del contexto en el que los sistemas considerados operan.

    El principal uso de los UAV ha sido en tareas militares, realizando tanto misiones dereconocimiento como de ataque. Pero los UAV tambin se emplean en un pequeopero creciente nmero de aplicaciones civiles; relacionadas con la teledeteccin en sumayor parte, por ejemplo en vigilancia y seguridad civil (lucha contra incendios ola supervisin de oleoductos), y en menor grado con el transporte. En general, losUAV suelen ser preferidos para misiones que son demasiado "montonas, sucias o

    peligrosas" para aeronaves tripuladas[4,55].

    3.1. Evolucin histrica de los vehculos areos no tripulados

    El primer intento de vehculo areo no tripulado fue el Aerial Target de A. M. Low,el considerado padre de los sistemas de guiado por radio, en 1916. Un ao antes, en1915, Nikola Tesla describe una flota de aviones no tripulados de combate areo. Lesiguieron una serie de avances en materia de aviones a control remoto, incluyendoel avin automtico Hewitt-Sperry, durante y tras la Primera Guerra Mundial, entreellos se encuentra el primer vehculo a escala pilotado a distancia, desarrollado por laestrella de cine y aficionado al aeromodelismo Reginald Denny en 1935. Se realizaronms avances durante la carrera tcnolgica de la Segunda Guerra Mundial, los cuales

    fueron utilizados tanto como para entrenar a los artilleros antiareos como para lasmisiones de ataque. La Alemania nazi tambin produjo y utiliz varios aviones UAVdurante el curso de la Segunda Guerra Mundial. Los motores a reaccin llegarandespus de la Segunda Guerra Mundial, en modelos como el Teledyne Ryan Firebee Ide 1951, o los de otras compaas que tambin entraron en el juego como Beechcraftcon su Modelo 1001 para la Marina de los Estados Unidos en 1955. Sin embargo,hasta la guerra de Vietnam eran poco ms de aviones a control remoto.

    El nacimiento de los UAV en EE.UU. (llamados RPV en el momento) se inici en 1959,cuando los oficiales de las Fuerzas Areas estadounidenses (USAF), preocupados por

    3

  • 7/22/2019 Control en Arduino

    12/121

    Figura 1: AQM-34 usado en misiones de reconocimiento durante la guerra de Vietnampor la USAF

    la prdida de los pilotos sobre territorio hostil, comenzaron la planificacin para eluso de los vuelos no tripulados (ver figura1).

    Este plan se intensific cuando Francis Gary Powers y su U-2 "secreto" fueron derri-bados sobre la Unin Sovitica en 1960. En pocos das, el programa de alto secretosobre los UAV se lanz bajo el nombre en clave de Red Wagon. El choque el 2 deagosto y 4 de agosto de 1964, en el Golfo de Tonkin entre las unidades navales de losEE.UU. y la armada de Vietnam del Norte inici el uso por parte de los americanos

    de los UAV en sus misiones de combate iniciales de la guerra de Vietnam. Cuando laChina comunista mostr fotografas de los UAV derribados de EE.UU. a travs defotos al mundo, la respuesta oficial de EE.UU. fue: sin comentarios.

    El 26 de febrero de 1973 los militares de EE.UU. confirmaron oficialmente que habanestado utilizando UAVs en el sudeste asitico (Vietnam). Mientras que ms de 5.000aviadores estadounidenses haban resultado muertos y ms 1.000 ms desaparecieronen accin o fueron capturados; el 100Escuadrn de Reconocimiento Estratgico de laUSAF haba realizado unas 3.435 misiones con UAV durante la guerra, con un costode unos 554 vehculos areos no tripulados perdidos por causas variadas. En palabrasdel General de la USAF George S. Brown la nica razn por la que necesitamos(UAVs) es que no queremos gastar innecesariamente el hombre de la cabina". Mstarde, ese mismo ao, el general John C. Meyer, comandante en jefe del Comando,

    Areo Estratgico, declar: "dejamos que el avin no tripulado haga los vuelos conriesgo alto... la tasa de prdida es alta, pero estamos dispuestos a arriesgar ms deellos... salvan vidas."

    Durante la guerra en 1973 de Yom Kippur, las bateras sirias de misiles en Lbano cau-saron graves daos a los aviones de combate israeles. Como resultado, Israel desarrollel primer UAV moderno. Israel fue pionera en el uso de vehculos areos no tripuladospara vigilancia en tiempo real, la guerra electrnica y seuelos. Las imgenes y losseuelo de radar proporcionados por estos UAV ayudaron a Israel a neutralizar porcompleto las defensas antiareas sirias en el inicio de la Guerra de Lbano en 1982,

    4

  • 7/22/2019 Control en Arduino

    13/121

    Figura 2: vehculo areo no tripulado General Atomic MQ-1 Predator

    como resultado no hubo pilotos derribados.

    Con la evolucin y la miniaturizacin de las tecnologas aplicadas a los UAV, en losaos 80 y 90, creci el inters por ellos entre los altos cargos militares de los EE.UU..En los aos 90 el Departamento de Defensa de los EE.UU. dio un contrato a la corpo-racin AAI junto con la empresa israel Mazlat. La Marina estadounidense adquiri

    el UAV AAI Pioneer desarrollado fruto de este contrato, este tipo de aeronave notripulada se encuentra aun en uso. Muchos de estos Pioneer y nuevos UAV desarro-llados se usaron en la Guerra de Golfo en 1991. Las primeras generaciones tuvieroncomo funcin labores de vigilancia, pero algunos de ellos estaban armados, como esel caso del Genera Atomics MQ-1 Predator (figura2) que portaba misiles aire-tierraAGM-114 Hellfire[55].

    3.2. Clasificacin de los UAV

    A la hora de establecer una clasificacin de los UAV es posible atender a diferentescriterios. Tal vez el ms simple sea el que se basa en el tipo de la aeronave del UAV.De acuerdo a este pueden distinguirse aquellas aeronaves de despegue vertical de las

    que no lo son, estando dentro de las primeras las de ala rotativa o hlice (helicpte-ros y quadrotors), los de ala flexible (parapentes y ala delta), y los autosustentados(dirigibles y globos). Dentro de los de despegue no vertical, se encuentran los de alafija (aeroplanos). La figura 3, muestra los diferentes tipos de aeronave utilizados enlos UAV.

    Las prestaciones y, en consecuencia, las aplicaciones varan mucho de un tipo de aero-nave a otra, cubriendo cada uno de ellos un espectro diferente. En la tabla 1se recogenalgunas de las principales caractersticas de las principales aeronaves utilizadas paraUAV[4].

    5

  • 7/22/2019 Control en Arduino

    14/121

    Figura 3: clasificacin de los UAV en funcin de la aeronave

    Tabla 1: caractersticas de los principales tipos de aeronaves para UAVCaracterstica Helicptero Aeroplano Dirigible Quadrotor

    Capacidad de vuelo*** **** ***

    estacionario

    Velocidad de desplazamiento *** **** * **Maniobrabilidad *** * * ****

    Autonoma de vuelo ** *** **** *Resistencia a perturbaciones

    ** **** * **externas

    Auto Estabilidad * *** **** **

    Capacidad de vuelos **** * ** ****verticales

    Capacidad de carga *** **** * **Capacidad de vuelo

    ** * *** ****en interiores

    Techo de vuelo ** **** *** *

    6

  • 7/22/2019 Control en Arduino

    15/121

    Por ltimo, otro tipo de clasificacin, es la que se realiza por su funcin. Los vehculosareos no tripulados se pueden clasificar por su funcin en alguna de las seis categorassiguientes:

    Blanco y seuelo, proporcionan a la artillera terrestre y area un blanco quesimula un avin o misil enemigo.

    Reconocimiento, proporcionan informacin en el campo de batalla, en escenariosde emergencia o en ambientes de alta toxicidad qumica o radiolgica.

    Combate, proporcionan capacidad de ataque en misiones de alto riesgo.

    Logstica, son diseados especficamente para la carga y operaciones de logstica.

    Investigacin y desarrollo, usados para desarrollar la futura tecnologa de losUAV.

    Civil y comercial, vehculos areos no tripulados diseados especficamente paraaplicaciones civiles y comerciales. Cartografa, gestin de cultivos, prospeccinde yacimientos geolgicos, gestin del medio ambiente, hidrologa, control urba-nstico, etc.

    3.3. Quadrotor

    Un quadrotor es una aeronave que se eleva y se desplaza por la accin de cuatrorotores instalados en los extremos de una estructura en forma de cruz. De los cuatrorotores, dos giran en sentido horario, y los otros dos en sentido antihorario. Esta con-figuracin permite al helicptero realizar cualquier maniobra tal y como se explicarposteriormente.

    Una de las principales ventajas que se atribuyen a los quadrotors son la simplicidadmecnica del vehculo, el paso de las hlices de los rotores es fijo, cosa que no ocurreen los helicpteros donde se requiere un mecanismo que permita la variacin delngulo de ataque. El control del movimiento se realiza al generar momentos debido adiferencias de empuje entre los diferentes rotores. En los helicpteros convencionales,la velocidad de giro de las hlices suele ser constante y el control del movimiento serealiza mediante la variacin de los ngulos de ataque de las palas.

    Otra ventaja es el empleo de motores elctricos en lugar de motores de combustin.

    Esto es especialmente interesante si se van a realizar vuelos en interior donde existela posibilidad de que se contamine el aire por los productos de la combustin. Sinembargo, existe un inconveniente, la utilizacin de motores elctricos limita el tiempode funcionamiento, ya que las bateras que alimentan los motores aportan autonomano superior a los 15 o 20 minutos[28].

    La alta maniobrabilidad es otra de las caractersticas de los quadrotors. En algunos delos artculos del grupo de investigacin del Flying Machine Arenadel ETH de Zurichse habla de estrategias de aprendizaje para la ejecucin de mltiples flips [24], ascomo de maniobras acrobticas adaptativas en bucle abierto[25](ver figura4). Los

    7

  • 7/22/2019 Control en Arduino

    16/121

    Figura 4: tres quadrotors volando en el interior del Flying Machine Arenadel ETH

    vdeos publicados en internet por este grupo de investigacin han dado la vuelta almundo gracias a las redes sociales ayudando a que aumente el inters del pblicogeneral as como de otros grupos de investigacin en materia de quadrotors. [42]

    Como gran desventaja se suele citar la dificultad de establecer un sistema de control,especialmente para aquellos quadrotors de dimensiones reducidas. Esto se debe alhecho de que las fuerzas y pares necesarios para controlar el sistema son conseguidos

    no slo a travs de efectos aerodinmicos, sino tambin a travs del acoplamiento dela dinmica de los cuatro rotores[28].

    3.3.1. Aplicaciones actuales

    A lo largo de los ltimos aos, se ha producido un rpido aumento del nmero deproyectos que trabajan con quadrotors. La mayora de quadrotors de estos proyectospertenecen a la categora de mini UAV, donde su peso es menor de 10 Kg.

    Algunos de ellos se utilizan como juguetes manejados por radiocontrol, como es elcaso del AR.Drone de Parrot (figura 5) que se maneja desde un dispositivo mvilequipado con el sistema operativo iOS o Android. Otros prototipos ms complejoshan comenzado a emplearse en el campo civil y militar, posicionando al quadrotor

    como uno de los modelos de mayor desarrollo en el campo de los UAV. Prueba de elloes la adquisicin por los cuerpos de seguridad de UAV del tipo quadrotor para realizarlabores de vigilancia, principalmente por la capacidad que tienen estas aeronaves dealcanzar espacios de difcil acceso[28,38].

    3.3.2. Maniobrabilidad

    Cada rotor produce un empuje y un momento sobre su eje de rotacin, as como unapequea fuerza de arrastre de sentido opuesto a la direccin de vuelo del vehculo.

    8

  • 7/22/2019 Control en Arduino

    17/121

    Figura 5: quadrotor comercial Parrot AR.Drone

    Si todos los rotores giran a la misma velocidad angular, con los motores uno y tres

    rotando en sentido horario y los motores dos y cuatro en sentido antihorario, el paraerodinmico neto, y, por tanto, la aceleracin angular sobre el eje de guiada esexactamente cero, esto implica que no es necesario un rotor para controlar la guiadacomo ocurre en los helicpteros (ver figura6). El movimiento de guiada es inducidodesequilibrando el balance del par aerodinmico, por ejemplo reduciendo la velocidadde los rotores que giran en sentido antihorario.

    Las aceleraciones angulares en los ejes de alabeo y cabeceo se pueden generar sinproducir impacto en el eje de guiada. Cada par de hlices rotando en el mismosentido controlan un eje, alabeo y cabeceo. Incrementando el empuje en un rotormientras se reduce en el otro se mantendr el balance de par necesario para mantenerla estabilidad de la guiada a la vez que se induce un par sobre el eje de alabeo ocabeceo, ver figuras6y 7.De este modo es posible mover el quadrotor en cualquier

    direccin utilizando hlices de paso fijo. La traslacin se consigue manteniendo unngulo de alabeo o cabeceo distinto de cero [52].

    4. Filtro de Kalman

    Tericamente el filtro de Kalman es un estimador para lo que se conoce como proble-ma lineal cuadrtico, que consiste en la estimacin del estado actual de un sistemadinmico perturbado por ruido blanco, usando mediciones relacionadas linealmente

    9

  • 7/22/2019 Control en Arduino

    18/121

    Figura 6: sentido de giro de los rotores del quadrotor

    Figura 7: cambio en la velocidad de los rotores para ejecutar una rotacin positiva enalabeo, cabeceo y guiada, respectivamente

    10

  • 7/22/2019 Control en Arduino

    19/121

    pero corrompidas con ruido blanco aditivo. El estimador resultante es estadsticamen-te ptimo con respecto a cualquier funcin cuadrtica de estimacin del error.

    En la prctica, ha sido uno de los grandes descubrimientos en la historia de la teo-ra de la estimacin estadstica y ha posibilitado grandes descubrimientos en el sigloXX. De ha hecho tan indispensable como el silicio en la fabricacin de componenteselectrnicos. Su ms inmediata aplicacin ha sido el control de sistemas dinmicoscomplejos como sistemas de produccin en continuo, aeronaves, barcos o naves espa-ciales. Para controlar un sistema dinmico, primero hay que conocer y capturar sucomportamiento. En estas aplicaciones, no siempre es posible o deseable medir ca-da una de las variables a controlar, y es el filtro de Kalman quien provee un mediopara inferir la informacin desconocida de mediciones indirectas y ruidosas. El filtrode Kalman es usado tambin para predecir el futuro comportamiento de sistemas

    dinmicos que probablemente no se van a poder controlar, como el curso de los rosdurante una inundacin, la trayectoria de cuerpos celestes o los precios de las accionesen los mercados de valores.

    Puede parecer extrao que se aplique el trmino filtro a un estimador. Ms comn-mente, un filtro es un instrumento fsico que separa la parte no deseada de una mezcla.Originalmente, un filtro resolva el problema de separar componentes no deseados deuna mezcla. En la era de las radios de cristal y los tubos de vaco, el trmino fueaplicado al circuito analgico que filtraba las seales electrnicas. Estas seales sonuna mezcla de componentes de diferentes frecuencias, y estos instrumentos fsicosatenuaban las frecuencias no deseadas.

    Este concepto fue extendido en los aos 30 y 40 al de separar seales del ruido,ambas caracterizadas por su densidad espectral de potencia. Kolmogorov y Wienerusaron esta caracterstica estadstica de las distribuciones de probabilidad para obte-ner una estimacin ptima de la seal, dada la suma de seal y ruido.

    Con el filtro de Kalman el trmino filtrado asumi un significado que va ms all de laidea original de separar componentes de una mezcla. Ha llegado a incluir la solucinde un problema de inversin, en el cual se conoce como representar las variablesmedidas como funcin de las principales variables de inters. En esencia, invierte larelacin funcional y estima las variables independientes como funciones inversas delas variables dependientes (medidas). Estas variables de inters tambin pueden serdinmicas, con dinmicas que son slo parcialmente predecibles [16,47].

    4.1. Filtro de Wiener

    En los primeros aos de la Segunda Guerra Mundial, Wiener estaba involucrado enun proyecto militar para el desarrollo de un sistema antiareo automtico usandola informacin de un radar. Como la velocidad de la aeronave no es insignificanteen comparacin con la de la bala, el sistema tena que disparar en el futuro, esdecir, el controlador tena que predecir la trayectoria futura usando la informacindel seguimiento realizado por el radar.

    Wiener deriv la solucin para la prediccin del error por mnimos cuadrados en tr-minos de las funciones de autocorrelacin de la seal y el ruido. La solucin se realiza

    11

  • 7/22/2019 Control en Arduino

    20/121

    mediante un operador integral que puede ser implementado mediante circuitos anal-gicos, dadas ciertas limitaciones en la regularidad de las funciones de autocorrelacino, de forma equivalente, sus transfomadas de Fourier.

    Una solucin anloga del estimador lineal ptimo para sistemas en tiempo discretofue publicada por A. N. Kolmogorov en 1941, cuando Wiener estaba terminando sutrabajo en el estimador en tiempo continuo [16].

    4.2. Filtro de Kalman

    Desarrollado por R. E. Kalman en 1958, surgi de la idea de aplicar la notacin delas variables de estado al filtro Wiener. Con la suposicin adicional de dimensiones

    finitas, fue capaz de derivar del filtro Wiener a lo que hoy conocemos como filtro deKalman. Al usar la notacin del espacio de estados los conocimientos necesarios parasu derivacin eran menores [16].

    El filtro de Kalman aborda el problema general de intentar estimar el estado x n

    de un proceso controlado en tiempo discreto que es gobernado por una ecuacindiferencial lineal estocstica del tipo

    xk=Axk1+ Buk1+ wk1, (4.1)

    con una medicin z m que es

    zk

    = H xk

    + vk

    . (4.2)

    La variables aleatorias wk y vk representan el ruido del proceso y de la medicinrespectivamente. Se supone que son independientes una de la otra, blancas, y con unadistribucin de probabilidad normal.

    p(w) N(0, Q) (4.3)

    p(v) N(0, R) (4.4)

    En la prctica, la matriz de covarianza del ruido del proceso Q y la matriz de cova-

    rianza del ruido de las medicionesRpueden variar en cada paso de tiempo o medicin,sin embargo se asume que son constantes.

    La matrizA, de dimensionesn n, relaciona el estado en el etapa anterior k 1conel estado en la etapa actual k, en ausencia de una funcin de entrada controladorao de ruido en el proceso. La matriz B, de dimensiones n l, relaciona la entrada decontrolu l con el estado x. La matriz H, de dimensiones m n, en la ecuacinde medicin relaciona el estado con la medicin zk.

    Definindose xk Rn como la estimacin a priori del estado en una etapa k cono-

    ciendo el proceso en el estado del proceso antes de sta, y xk Rn como el estado

    12

  • 7/22/2019 Control en Arduino

    21/121

    estimado a posteriori en la etapa k dada la medicin zk. Por tanto, se pueden definirlos errores a priori y a posteriori como

    ek xk x

    k, y (4.5)

    ek xk xk. (4.6)

    La covarianza del error estimada a priori es, por tanto,

    Pk =Eeke

    Tk

    , (4.7)

    y la covarianza del error estimada a posteriori es

    Pk=E

    ekeTk

    . (4.8)

    Al deducir las ecuaciones del filtro de Kalman, se comienza con el objetivo de en-contrar una ecuacin que calcule una estimacin del estado a posteriori xk como unacombinacin lineal de la estimacin a priori xk y un promedio ponderado de la dife-rencia entre la actual medida zky una prediccin de la medidaHx

    k como se muestraa continuacin.

    xk= x

    k + Kk zk Hx

    k (4.9)El origen se encuentra en la probabilidad del estado estimado a priori xk condicionadoa todas las mediciones anteriores zk (regla de Bayes). El filtro de Kalman mantienelos dos primeros momentos de la distribucin del estado,

    E[xk] = xk, (4.10)

    E

    (xk xk) (xk xk)T

    = Pk. (4.11)

    El estado estimado a posteriori (4.9) refleja que la media (primer momento) de la

    distribucin del estado estn normalmente distribuidas si se renen las condiciones(4.3) y(4.4). La covarianza del error estimada a posteriori refleja la varianza de ladistribucin de estado (el segundo momento no centrado). En otras palabras,

    p (xk | zk) N

    E[xk] , E

    (xk xk) (xk xk)T

    = N(xk, Pk) (4.12)

    La diferencia

    zk Hx

    k

    en (4.9) es conocida como innovacin o el residuo. El residuo

    refleja la discrepancia entre la medida predichaHxk y la medida actualzk. Un residuode cero significa que las dos estn completamente de acuerdo.

    13

  • 7/22/2019 Control en Arduino

    22/121

    La matriz Kde dimensiones n mde (4.9) es escogida para ser la ganancia o factorde mezcla que minimiza la covarizanza del error a posteriori (4.8). Una de las formasde llegar a la minimizacin de Kes

    Kk =P

    k HT

    HPk HT + R

    1

    (4.13)

    = Pk H

    THPk H

    T + R

    Observando la ecuacin4.13se puede ver cmo en el caso de que la covarianza delerror de la medicinRse aproxime a cero, la gananciaKle da ms peso a ponderacindel residuo. Especficamente,

    limRk0

    Kk = H1. (4.14)

    En el caso contrario, cuando la covarianza del error a priori Pk se aproxima a cero,la ganancia Kle da menos peso en la ponderacin al residuo. Concretamente,

    limP

    k 0

    Kk= 0. (4.15)

    Otra forma de pensar en la ponderacin realizada por Kes que cuando la covarianzadel error de la medicin R se aproxima a cero, se confa ms en la medicin actualzk,mientras que se confa menos en la medicin estimada Hxk. Por otro lado, cuando lacovarianza del error estimadoPk se aproxime a cero, se confiar menos en la medicinactual zk y ms en la medicin estimada Hx

    k [16,35].

    4.2.1. Filtro de Kalman discreto

    El filtro de Kalman estima el estado del proceso mediante el uso de una forma decontrol retroalimentado: el filtro estima el estado del proceso en algn momento ydespus obtiene una retroalimentacin en forma de mediciones ruidosas. De esta formalas ecuaciones del filtro de Kalman se dividen en dos etapas: la etapa de prediccin yla etapa de correccin.

    La etapa de prediccin es la responsable de proyectar hacia delante en el tiempo elestado actual y la covarianza del error estimada para obtener estimaciones a prioripara la siguiente etapa. La etapa de correccin es la encargada de la retroalimentacin,por ejemplo, incorporando una nueva medida en la estimacin a priori para obteneruna estimacin a posteriori mejor.

    Las ecuaciones de las etapas de prediccin y correccin se muestran en las tablas 2 y3.

    14

  • 7/22/2019 Control en Arduino

    23/121

    Tabla 2: ecuaciones de prediccin del filtro de Kalman discreto

    xk =Axk1+ Buk1

    Pk =APk1+ AT + Q

    Tabla 3: ecuaciones de correccin del filtro de Kalman discreto

    Kk =P

    k HT

    HPk HT + R

    1

    xk= x

    k + Kk

    zk Hx

    k

    Pk= (I KkH) P

    k

    Otra vez se puede ver cmo las ecuaciones de prediccin de la tabla2proyectan elestado y la covarianza hacia delante de la etapa k 1a la etapa k . Las matricesA yB provienen de (4.1)mientras que Q lo hace de (4.3).

    La primera tarea durante la etapa de correccin es el clculo de la ganancia de Kalman,Kk. El siguiente paso es actualizar las mediciones para obtener un nuevo zk, y despus,operar para generar una estimacin a posteriori incorporando las mediciones. El pasofinal es obtener la estimacin a posteriori de la covarianza del error.

    Despus de cada etapa de prediccin y correccin, el proceso se repite con las estima-ciones a posteriori previas siendo usadas para proyectar o estimar las nuevas estima-ciones a priori. Esta naturaleza recursiva es una de las caractersticas ms apreciadasdel filtro de Kalman, no es necesario trabajar con todos los datos directamente encada etapa como ocurre con el filtro de Weiner[16,35].

    4.2.2. Filtro de Kalman extendido

    Como se describi anteriormente, el filtro de Kalman, aborda el problema de tratar deestimar el estadox n de un proceso en tiempo discreto que es gobernado por unaecuacin diferencial lineal estocstica. Cuando el proceso a estimar y/o, las relacinentre las mediciones y el proceso son no lineales se recurre a una variacin conocidacomo filtro de Kalman extendido.

    15

  • 7/22/2019 Control en Arduino

    24/121

    El filtro de Kalman extendido linealiza el sistema en torno a una estimacin de lamedia y la covarianza actual. En algo parecido a las series de Taylor, se puede linealizarla estimacin en torno a la estimacin actual usando las derivadas parciales de lasfunciones del proceso y de las mediciones.

    Supngase un proceso que tiene un vector de estados x n controlado por unaecuacin diferencial no lineal estocstica

    xk=f(xk1, uk1, wk1) (4.16)

    con una medicin z m que es

    zk = h (xk, vk) (4.17)donde las variables aleatorias wk y vk representan, otra vez, el ruido del proceso y elruido de las mediciones respectivamente. La funcin no lineal f relaciona el estadoxk1 en el paso de tiempo anterior k 1con el estado xk en el paso actual k. Tienecomo parmetros adems una funcin controladora uk1y el ruido blanco del procesowk1. La funcin no lineal h en la ecuacin de medicin (4.17) relaciona el estado xkcon la medicin zk.

    En la prctica no se conocen los valores individuales del ruido wk y vk en cada paso.Sin embargo, se puede aproximar el vector de estados y el vector de mediciones sin elruido como

    xk = f(xk1, uk1, 0) (4.18)y

    zk = h ( xk, 0) (4.19)

    donde xk es una estimacin a posteriori del estado proveniente del paso anteriork .

    Es importante mencionar que uno de los problemas fundamentales del filtro de Kalmanextendido es que las distribuciones, o densidades en el caso continuo, de las diferentesvariables aleatorias no son normales tras pasar por sus respectivas transformacionesno lineales.

    Para estimar con diferencias y relaciones de mediciones no lineales, se comienza es-cribiendo nuevas ecuaciones de gobierno que linearizan una estimacin sobre (4.18) y(4.19),

    xk xk+ A (xk1 xk1) + W wk1 (4.20)

    zk zk+ H(xk xk) + V vk (4.21)

    donde

    16

  • 7/22/2019 Control en Arduino

    25/121

    xkyzk son los vectores de estado y medicin actuales,

    xky zk son los vectores de estado y medicin aproximados a partir de (4.18) y(5),

    xk es la estimacin a posteriori del estado en la etapa k ,

    las variables aleatoriaswky vkrepresentan el ruido del proceso y de la medicinrespectivamente,

    Aes la matriz Jacobiana de derivadas parciales de fcon respecto a x, o lo quees lo mismo

    A[i,j] = f[i]x[j]

    (xk1, uk1, 0) , (4.22)

    W es la matriz Jacobiana de derivadas parciales de fcon respecto a w,

    W[i,j] = f[i]w[j]

    (xk1, uk1, 0) , (4.23)

    Hes la matriz Jacobiana de derivadas parciales de h con respecto a x,

    H[i,j] = h[i]x[j]

    (xk, 0) , (4.24)

    V es la matriz Jacobiana de derivadas parciales de h con respecto a v ,

    V[i,j]= h[i]v[j] (x

    k, 0) . (4.25)

    Ahora definimos una nueva notacin para el error estimado,

    exk =xk xk, (4.26)

    y la innovacin de la medicin,

    ezk =zk zk. (4.27)

    En la prctica no se tiene acceso a xk en (4.26), es el valor actual del vector estado.Por otra parte, si se tiene acceso a zk en (4.27), es el valor actual de la mediciones

    que se usa para estimar xk. Usando (4.26) y (4.27) se pueden escribir la ecuacionesde gobierno para un error de proceso como

    exk A (xk1 xk1) + k, (4.28)

    ezk Hexk + k, (4.29)

    donde k y k representan nuevas variables aleatorias de media cero y covarianzaW QWT y V RVT, con Q y R como en (4.3) y (4.4) respectivamente.

    17

  • 7/22/2019 Control en Arduino

    26/121

    Cabe destacar que las ecuaciones (4.28) y (4.29) son lineales, y recuerdan a las ecua-ciones (4.1) y (4.2) del filtro de Kalman discreto. Esto motiva el uso de el actualresiduo de medicin ezk en (4.27) y un segundo (hipottico) filtro de Kalman paraestimar el error de la prediccin exk dado por (4.28). Esta estimacin, denotada porek, puede ser usada junto con (4.26) para obtener una estimacin a posteriori delestado para el proceso no lineal original como

    xk = xk+ ek. (4.30)

    Las variables aleatorias de4.28y 4.29tienen aproximadamente las siguientes distri-buciones de probabilidad:

    p (exk) N

    0, E

    exk eTxk

    (4.31)

    p (k) N

    0, W QkWT

    (4.32)

    p (k) N

    0, V RkVT

    (4.33)

    Dadas estas aproximaciones y dejando que el valor predicho deeksea cero, la ecuacindel filtro de Kalman usado para estimar ek es

    ek=Kkezk . (4.34)

    Sustituyendo (4.34) en (4.30) y haciendo uso de (4.27) se observa que realmente noes necesario el hipottico segundo filtro de Kalman:

    xk = xk+ Kkezk= xk+ Kk(zk zk)

    (4.35)

    La ecuacin (4.35) puede ser usada ahora para la prediccin en el filtro de Kalmanextendido, con xk y zk provenientes de (4.18) y (4.19), y una ganancia de KalmanKk proveniente de (4.13) con la apropiada sustitucin para la covarianza de error demedicin.

    El juego completo de ecuaciones del filtro de Kalman extendido se muestra en lastablas4 y 5.

    Como en el filtro de Kalman discreto, las ecuaciones de la etapa de prediccin en latabla4 proyectan el estado y la covarianza estimados en la etapa anterior k 1a laetapa actual k. Otra vez fviene de (4.18), Ak y Wk son las Jacobianas en la etapak, y Qk es la matriz de covarianza del proceso en la etapa k .

    Al igual que en filtro de Kalman discreto, las ecuaciones de la etapa de correccin enla tabla5corrigen el estado y la covarianza estimadas con la medicin zk. Otra vez h

    18

  • 7/22/2019 Control en Arduino

    27/121

    Tabla 4: ecuaciones de prediccin del filtro de Kalman extendido

    xk =f(xk1, uk1, 0)

    Pk =AkPk1ATk + WkQk1W

    Tk

    Tabla 5: ecuaciones de correccin del filtro de Kalman extendido

    Kk =P

    k HTk

    HkP

    k HTk + VkRkV

    Tk

    1

    xk= x

    k + Kk

    zk h

    xk, 0

    Pk = (I KkHk) P

    k

    proviene de (4.19), Hk y Vson las Jacobianas de las mediciones en la etapa k , y Rkes la covarianza de la medicin en la etapa k .

    Una caracterstica importante del filtro de Kalman extendido es que la JacobianaHk en la ecuacin para la ganancia de KalmanKk sirve para propagar o magnificarcorrectamente slo la componente relevante de la informacin de la medida. Por ejem-plo, si no existe una correspondencia directa entre la medicin zky el estado medianteh, la Jacobiana Hk afecta a la ganancia de Kalman de forma que slo magnifica laporcin del residuo zk h

    xk, 0

    que afecta al estado. Por supuesto si sobre todas

    las medidas no existe una correspondencia directa entre las medicioneszk y el estadopor medio de h, como cabra esperar, el filtro diverge rpidamente. En este caso elproceso no es observable[16,35].

    5. Estrategias de control

    El desarrollo del control automtico ha sido vital para el avance de la ingeniera yla ciencia. Adems de su importancia en sistemas de vehculos espaciales, guiado demisiles, sistemas robticos, y similares, el control automtico se ha convertido en unaparte importante de los procesos industriales y de manufacturacin. Un ejemplo de elloson las mquinas herramienta de control numrico computerizado (CNC), el diseode pilotos automticos en la industrial aeroespacial, y en las cadenas de montaje de

    19

  • 7/22/2019 Control en Arduino

    28/121

    la industria automovilstica. Tambin es esencial en las operaciones industriales comoel control de presin, temperatura, humedad, viscosidad y caudal en las industrias deproceso.

    El primer trabajo significativo en control automtico fue el regulador de velocidadcentrifugo de James Watt para el control de la velocidad de una mquina de vapor,en el siglo XVIII. Minorsky, Hazen y Nyquist, entre otros, realizaron importantesaportaciones en las etapas iniciales del desarrollo de la teora de control. En 1922, Mi-norsky trabaj en los controladores automticos para dirigir embarcaciones, y mostrque la estabilidad puede determinarse a partir de las ecuaciones diferenciales que des-criben el sistema. En 1932, Nyquist dise un procedimiento relativamente simplepara determinar la estabilidad de sistemas en lazo cerrado, con base en la respues-ta en lazo abierto en estado estable cuando la entrada aplicada es una senoidal. En

    1934, Hazen, introdujo el trmino servomecanismos para los sistemas de control deposicin, analiz el diseo de los servomecanismos con relevadores, capaces de seguircon precisin una entrada cambiante.

    Durante la dcada de los cuarenta, los mtodos de la respuesta en frecuencia hicieronposible que los ingenieros disearan sistemas de control lineales en lazo cerrado quecumplieran con unos requisitos de desempeo. A finales de los aos cuarenta y prin-cipios de los cincuenta, se desarroll por completo el mtodo del lugar geomtrico delas races propuesto por Evans.

    Los mtodos de respuesta en frecuencia y del lugar geomtrico de las races, los cualesforman el ncleo de la teora de control clsica, conducen a sistemas estables quesatisfacen un conjunto ms o menos arbitrario de requisitos de desempeo. En general,

    estos sistemas son aceptables pero no ptimos. Desde el final de la dcada de loscincuenta, el nfasis en los problemas de diseo de control se ha movido del diseo desistemas que trabajen de manera apropiada al diseo de un sistema de control ptimode algn modo significativo.

    A medida que las plantas se vuelven ms complejas, con mltiples entradas y salidas,la descripcin del sistema de control requiere gran cantidad de ecuaciones. La teoradel control clsica, que trata de los sistemas con una entrada y una salida (SingleInput-Single Output), pierde su solidez ante sistemas con entradas y salidas mltiples(Multiple Input-Multiple Output). Desde alrededor de 1960, debido al desarrollo delos computadores, se hizo posible el anlisis en el dominio del tiempo de sistemas com-plejos, la teora de control moderna, basada en el anlisis en el dominio del tiempo y lasntesis a partir de variables de estados, se ha desarrollado para enfrentar la creciente

    complejidad de las plantas modernas y los requerimientos limitativos respecto de laprecisin, el peso y el costo en aplicaciones militares, espaciales e industriales.

    Entre la dcada de los 60 y los 80, se investig a fondo el control ptimo tantode sistemas determinsticos como estocsticos, y el control adaptativo, mediante elaprendizaje de sistemas complejos. Desde 1980 hasta la fecha, los descubrimientos enla teora de control moderna se centraron en el control robusto, el control de H, ascomo controladores adaptativos [21,29].

    En las siguientes secciones se resumen las principales caractersticas de las estrategiasde control que han sido utilizadas en la literatura para el control de quadrotors.

    20

  • 7/22/2019 Control en Arduino

    29/121

    Figura 8: esquema de un controlador PID

    5.1. Control Proporcional Integral Derivativo (PID)

    Un PID (Proporcional Integral Derivativo) es un mecanismo de control por realimen-tacin que calcula la desviacin o error entre un valor medido y el valor que se quiereobtener, para aplicar una accin correctora que ajuste el proceso. Es interesante se-alar que ms de la mitad de los controladores industriales que se utilizan hoy en dautilizan esquemas de control PID o PID modificados.

    La utilidad de los controles PID estriba en que se aplican de forma casi general a lamayora de los sistemas de control. En particular, cuando el modelo matemtico de laplanta no se conoce y, por tanto, no se pueden emplear mtodos de diseo analticos,

    es cuando los controles PID resultan ms tiles. En el campo de los sistemas decontrol de procesos, es un hecho bien conocido que los esquemas de control bsicos ymodificados han demostrado su utilidad para aportar un control satisfactorio, aunquetal vez en muchas situaciones no aporten un control ptimo.

    El control PID est compuesto, como se ve en la figura 8, de tres acciones que sesuman entre s: la accin de control proporcional, la integral y la derivativa. El valorproporcional determina la reaccin al error actual. La accin integral genera unaaccin proporcional a la integral del error, esto nos asegura que aplicando un esfuerzode control suficiente, de modo que el error de seguimiento se reduce a cero. La accinderivativa determina la reaccin del tiempo en el que el error se produce.

    La seal de salida estar determinada por el siguiente algoritmo

    u (t)P ID =Kpe (t) + Ki

    t

    0

    e () d+ Kdde (t)

    dt . (5.1)

    Ajustando las constantes de cada una de las acciones de control en el algoritmo decontrol del PID, el controlador puede proveer un control diseado para lo que requierael proceso a realizar. Como casi todos los controladores PID se ajustan en el sitio, enla literatura se han propuesto multitud de tipos diferentes de reglas de sintonizacinque permiten llevar a cabo una sintonizacin delicada y fina de los controladores PID

    21

  • 7/22/2019 Control en Arduino

    30/121

    en el sitio. Asimismo, se han desarrollado mtodos automticos de sintonizacin yalgunos PID poseen capacidad de sintonizacin automtica en lnea.

    Un controlador PID puede ser llamado PI, PD, P o I en ausencia de las accionesde control respectivas. Los controladores PI son particularmente comunes, ya que laaccin derivativa es muy sensible al ruido, y la ausencia de la accin integral puedeevitar que se alcance el valor deseado.

    Actualmente se usan en la industria formas modificadas del control PID, tales comoI-PD y el control PID con dos grados de libertad. Es posible obtener muchos mto-dos prcticos para una conmutacin sin choque (desde la operacin manual hasta laoperacin automtica) y una programacin en aumento[29,51].

    Accin de control proporcional. La parte proporcional consiste en el productoentre la seal de error y la constante proporcional como para que hagan que el erroren estado estacionario sea casi nulo, pero en la mayora de los casos estos valores solosern ptimos en una proporcin determinada del rango total de control, siendo dis-tintos los valores ptimos para cada porcin del rango. Sin embargo, existe tambinun valor lmite en la constante proporcional a partir del cual, en algunos casos, elsistema alcanza valores superiores a los deseados. Este fenmeno se llama sobreosci-lacin y, por razones de seguridad, no debe sobrepasar el 30 %, aunque es convenienteque la parte proporcional ni siquiera produzca sobreoscilacin.

    La frmula de la accin proporcional esta dada por

    u (t)p= Kpe (t) . (5.2)

    dondeKp es la ganancia proporcional.

    El error, la banda proporcional y la posicin inicial del elemento final de control seexpresan en tanto por uno. Nos indicar la posicin que pasar a ocupar el elementofinal de control.

    Hay una relacin lineal continua entre el valor de la variable a controlada y la salidade la seal de control. La parte proporcional no considera el tiempo, por lo tanto,la mejor manera de solucionar el error permanente y hacer que el sistema contengaalguna componente que tenga en cuenta la variacin respecto al tiempo, es incluyendolas acciones integral y derivativa[21,29].

    Accin de control integral. En el control proporcional de una planta, cuya fun-cin de transferencia no posee un integrador 1

    s, hay un error estacionario, o despla-

    zamiento (offset), en la respuesta para una entrada escaln. Tal error se elimina si seincluye la accin integral del controlador.

    En el control integral de una planta, la seal de control, que es la seal de salida apartir del controlador, es en todo momento el rea bajo la curva de la seal de errorhasta tal momento. La seal de control u (t)tiene un valor diferente de cero cuandola seal de error e (t) es cero como se aprecia en la figura 9 (a). Esto es imposible

    22

  • 7/22/2019 Control en Arduino

    31/121

    (a) (b)

    Figura 9: la grfica (a) muestra una accin de control integral, mientras que la grfica(b) muestra una accin de control proporcional

    en el caso de un controlador proporcional, ya que una seal de control diferente decero requiere una seal de error diferente de cero. Una seal de error diferente de ceroen estado estacionario significa que hay una equivalencia. La figura 9 (b) muestra lacurva e (t)frente ty la curva u (t) correspondiente frente t cuando el controlador esde tipo proporcional.

    Obsrvese que la accin de control integral, aunque elimina el offseto el error en estadoestacionario, puede conducir a una respuesta oscilatoria de amplitud decreciente lentao, incluso, de amplitud creciente, y en ambos casos, por lo general, se consideranindeseables.

    La frmula de la accin integral esta dada por

    u (t)i= Ki

    t

    0

    e (t) dt. (5.3)

    El error es integrado, lo cual tiene como funcin promediarlo o sumarlo por un periododeterminado, para luego multiplicarlo por la constante Ki conocida como gananciaintegral. Posteriormente, la respuesta integral es sumada a la respuesta proporcionalpara formar el control PI con el propsito de obtener una respuesta estable del sistema

    sin error estacionario [21,29].

    Accin de control derivativa. Cuando una accin de control derivativa se agregaa un controlador proporcional, aporta un modo de obtener un controlador con altasensibilidad. Una ventaja de usar una accin de control derivativa es que responde ala velocidad de cambio del error y produce una correccin significativa antes de que lamagnitud del error se vuelva demasiado grande. Por tanto, el control derivativo prevel error, inicia una accin correctiva oportuna y tiende a aumentar la estabilidad delsistema.

    23

  • 7/22/2019 Control en Arduino

    32/121

    Tabla 6: efectos de incrementar una constante de manera independiente

    ConstanteTiempo de

    SobrepasoT ie mp o de E rr or e stado

    Estabilidadlevantamiento asentamiento estable

    Kp D is minu ye Aum enta C ambio p eq ue o D is minuye Dism inu ye

    Ki Disminuye Aumenta Aumenta Se elimina Disminuye

    KdCambio

    Disminuye Disminuye No afectaMejora si

    pequeo Kdes pequea

    La frmula de la accin proporcional esta dada por

    u (t)d= Kdde (t)

    dt . (5.4)

    Se deriva el error con respecto al tiempo y se multiplica por la ganancia derivativaKd para luego ser sumado a las seales anteriores proporcional e integral.

    Aunque el control derivativo no afecta de forma directa al error en estado estacionario,aade amortiguamiento al sistema y, por tanto, permite el uso de un valor ms grandede la gananciaKp, lo cual provoca una mejora en la precisin en estado estacionario.

    Debido a que el control derivativo opera sobre la velocidad de cambio del error, y nosobre el error mismo, este modo nunca se utiliza solo. Siempre se emplea junto conuna accin proporcional (PI) o proporcional-integral (PID).[21,29]

    5.1.1. Ajuste manual

    Si el sistema se mantiene en lnea y es posible modificar las constantes del controladorPID, se puede hacer un ajuste en lnea modificando los parmetros con el fin de obtenerel comportamiento deseado. Los efectos de incrementar cada una de las constantesindependientemente se muestran en la tabla6 [51].

    5.1.2. Mtodos de ajuste de Ziegler-Nichols

    Ziegler y Nichols propusieron reglas para determinar las ganancias de un controladorPID: ganancias proporcional Kp, ganancia de integral Ki y ganancia derivativa Kd,

    basndose en las caractersticas de la respuesta transitoria de una planta dada. Haydos mtodos conocidos como reglas de ajuste de Ziegler-Nichols: el primer y el segundomtodo.

    Primer mtodo. En el primer mtodo, la respuesta de la planta a una entradaescaln unitario se obtiene de manera experimental. Si la planta no tiene integradoresni polos dominantes complejos conjugados, la curva de respuesta escaln unitariopuede tener forma de S, como se observa en la figura 10. Este mtodo se puedeaplicar si la respuesta muestra una curva con forma de S. Tales curvas de respuesta

    24

  • 7/22/2019 Control en Arduino

    33/121

    Figura 10: curva de respuesta en forma de S

    Tabla 7: regla de sintonizacin de Ziegler-Nichols basada en la respuesta escaln dela planta (primer mtodo)

    Tipo de controlador Kp Ki KdP T

    L - -

    PI 0, 9 TL

    0,3L

    -PID 1, 2 T

    L12L

    0, 5L

    escaln se pueden generar experimentalmente o a partir de una simulacin dinmicade la planta.

    La curva con forma de S se caracteriza por dos parmetros: el tiempo de retardoLy laconstante de tiempoT. El tiempo de retardo y la constante de tiempo se determinandibujando una recta tangente en el punto de inflexin de la curva con forma de Sydeterminando las intersecciones de esta tangente con el eje del tiempo y con la lneay (t) =K, tal como se muestra en la figura10.En este caso la funcin de transferenciaY(s)/U(s)se aproxima mediante un sistema de primer orden con un retardo del modosiguiente:

    Y (s)

    U(s) =

    KeLs

    T s + 1 (5.5)

    Ziegler y Nichols sugirieron establecer los valores de Kp, Ki y Kd de acuerdo con lasfrmulas que se muestran en la tabla7.

    Obsrvese que el controlador PID sintonizado mediante el primer mtodo de las reglasde Ziegler-Nichols produce

    Gc(s) =Kp

    1 +

    Kis

    + Kds

    25

  • 7/22/2019 Control en Arduino

    34/121

    Tabla 8: regla de sintonizacin de Ziegler-Nichols basada en la ganancia crtica Kcr yen el periodo crtico Pcr (segundo mtodo)

    Tipo de controlador Kp Ki KdP 0, 5Kcr - -PI 0, 45Kcr 1, 2Tcr -

    PID 0, 6Kcr 2Tcr 0, 125Tcr

    Figura 11: oscilacin sostenida con un periodo Pcr

    = 1, 2T

    L

    1 +

    1

    2Ls+ 0, 5Ls

    (5.6)

    = 0, 6T

    s + 1

    L

    2s

    por tanto, el controlador PID tiene un polo en el origen y un cero doble en s = 1/L.

    Segundo mtodo. En el segundo mtodo, primero se fijaKi= 0yKd= 0. Usandoslo la accin de control proporcional se incrementa Kpdesde 0 hasta un valor crticoKcr, a partir del cual la salida presente oscilaciones sostenidas. Si la salida no presentaoscilaciones sostenidas para cualquier valor de Kp entonces no se puede aplicar este

    mtodo. As, la ganancia crtica Kcr y el periodo Pcr correspondiente se determinanexperimentalmente (figura11). Ziegler-Nichols sugirieron que se establecieran los va-lores de los parmetros Kp, Ki y Kd de acuerdo con la frmula que se muestra en latabla8.

    Obsrvese que el controlador PID sintonizado mediante el segundo mtodo de lasreglas de Ziegler-Nichols produce

    Gc(s) =Kp

    1 +

    Kis

    + Kds

    26

  • 7/22/2019 Control en Arduino

    35/121

    = 0, 6Kcr

    1 +

    2

    Pcrs+ 0, 125Pcrs

    (5.7)

    = 0, 075KcrPcr

    s + 4

    Pcr

    2s

    por tanto, el controlador, tiene un polo en el origen y un cero doble en s = 4/Pcr[29].

    5.1.3. Aplicacin al control de quadrotors

    En el artculo de Bouabdallah et al.[9]se utiliz un PID para control de la orienta-cin de un micro helicptero de cuatro rotores. El controlador PID obtuvo mejoresresultados que el LQR pese a que el modelo matemtico que se utiliz era ms sim-ple, logrndose el vuelo autnomo estable. El autor apunta a que esto es debido a lamayor tolerancia de este tipo de controladores a las variaciones de los parmetros delmodelo.

    Otro ejemplo de que el regulador PID es apropiado para el control de la posicin yorientacin de un quadrotor lo encontramos en Jun Li et al.[23], donde tras analizarla dinmica del quadrotor se disea se implementa un regulador PID llegando a laconclusin de que la estabilizacin puede ser lograda mediante un regulador PID silos parmetros de este son los apropiados.

    5.2. Control Lineal Cuadrtico

    El problema del control lineal cuadrtico tiene su origen en el trabajo de NorbertWiener sobre el filtrado cuadrtico medio para el control de caones antiareos durantela Segunda Guerra Mundial. Wiener emple mtodos basados en el dominio de lafrecuencia para resolver este problema. Sin embargo, aport como novedad importanteun desarrollo terico que permita un mtodo analtico para resolver el problema dediseo. Este planteamiento analtico contrastaba con los mtodos de ensayos sucesivoscon mtodos grficos basados en el criterio de estabilidad de Nyquist, que entonces seempleaba. El mtodo Wiener permita adems tener en cuenta cuestiones tales comolos ruidos de medida y otras perturbaciones de carcter aleatorio.

    Las ideas de Wiener fueron reelaboradas durante los aos 50 empleando la descrip-cin interna de los sistemas y condujeron a lo que hoy se conoce como la teora delcontrol lineal cuadrtico. De acuerdo con esta teora el objetivo de un sistema decontrol es minimizar un ndice de funcionamiento cuadrtico. Se trata de mantenereste sistema en un estado lo ms cercano al reposo x = 0. El costo correspondiente alas desviaciones del estado de reposo se expresa por

    J1=

    T

    0

    xTQxdt + xT (T) Sx (T) (5.8)

    27

  • 7/22/2019 Control en Arduino

    36/121

    sujeto a las restricciones que representan un sistema lineal

    x= Ax + Bu. (5.9)

    Lo que recibe la denominacin de problema del regulador lineal cuadrtico o problemaLQR (acrnimo de Linear Quadratic Regulator). Su solucin se reduce a la de unaecuacin diferencial de Ricatti. Durante el periodo de 1960-70 se desarrollaron muchosestudios tericos sobre este problema. Las ventajas que presenta la solucin de esteproblema sobre las tcnicas de diseo clsicas son las siguientes:

    permite la optimizacin para intervalos de tiempo finito, los mtodos en el do-minio de la frecuencia de Wiener estaban limitados a intervalos de optimizacininfinitos,

    son aplicables a sistemas que varan con el tiempo, los mtodos en el dominiode la frecuencia estn limitados a sistemas invariantes en el tiempo,

    permiten abordar de forma relativamente simple el problema de los sistemasmultivariable.

    Sin embargo, la teora del LQR no aborda dos cuestiones muy importantes que apa-recen en el diseo de sistemas de control realimentados: la falta de precisin en elmodelo de la planta y el ruido en los sensores. Adems, la teora de LQR presupone elconocimiento del estado del sistema que es frecuente que no est disponible. El pro-blema lineal cuadrtico con perturbaciones aleatorias se reduce a la resolucin de dosecuaciones de Ricatti desacopladas, ya que se puede demostrar que es posible separarel problema en dos: el problema de control ptimo con realimentacin del estado,tal y como se aborda en la teora LQR, y el problema de la estimacin del estado.Esta separacin se puede justificar tericamente en el caso de que las perturbacionesestocsticas sean gausianas, por lo que el problema lineal cuadrtico estocstico seconoce comnmente como el problema lineal cuadrtico gausiano (LQG) [3].

    Como se coment anteriormente, en Bouabdallah et al.[9], se presentan los resultadosde aplicar dos tcnicas de estrategias, PID y LQR, al control de la orientacin de unmicro helicptero de cuatro rotores. Para el desarrollo del controlador LQR se utilizun modelo dinmico ms complejo que el que se utiliz para el diseo del PID. Sinembargo no se logr un vuelo libre estable con el controlador LQR. Este hecho se

    achaca a que no se tuvo en cuenta la dinmica de los actuadores, siendo el controladorLQR ms sensible a los errores de modelado.

    5.3. Control difuso

    La lgica difusa ha surgido como una herramienta para el control de subsistemas yprocesos industriales complejos, as como tambin para la electrnica de entreteni-miento y hogar, sistemas de diagnstico y otros sistemas expertos. Aunque la lgicaborrosa se invent en Estados Unidos, el rpido crecimiento de esta tecnologa ha

    28

  • 7/22/2019 Control en Arduino

    37/121

    Figura 12: escala difusa de temperatura

    comenzado en Japn y ha alcanzado nuevamente a los Estados Unidos, y tambinEuropa.

    La lgica borrosa es bsicamente una lgica multievaluada que permite valores inter-medios para poder definir evaluaciones convencionales como s/no, verdadero/falso,blanco/negro, etc. Las nociones como ms bien fro o poco caliente pueden for-mularse matemticamente y ser procesadas por computadoras. De esta forma se harealizado un intento de aplicar una forma de pensar ms humana en la programacinde computadoras. La lgica borrosa se inici en 1965 por Lotti A. Zadeh, profesor dela Universidad de California en Berkley.

    La lgica difusa y la lgica probabilstica son matemticamente similares ambostienen valores verdaderos entre 0 y 1 pero conceptualmente distintos. La lgica difusa

    corresponde a grados de verdad, mientras que la lgica probabilstica corresponde aprobabilidad; ya que son diferentes, la lgica difusa y la lgica probabilstica puedenproducir diferentes modelos de las mismas situaciones del mundo real.

    Tanto los grados de verdad como las probabilidades oscilan entre 0 y 1 y por lo tantopueden parecer similares al principio. Por ejemplo, supngase que una botella de 100ml contienen 30 ml de agua. Entonces se pueden considerar dos conceptos: vaco ylleno. El significado de cada uno de ellos puede ser representado por un conjuntodifuso determinado. Entonces se podra definir la botella como 0,7 de vaco y 0,3 delleno. Hay que tener en cuenta que el concepto de vaco sera subjetivo y por lo tantodepender del observador o diseador. Es esencial darse cuenta de que la lgica difusautiliza grados de verdad como un modelo matemtico del fenmeno de la vaguedad,mientras que la probabilidad es un modelo matemtico de la ignorancia.

    Una aplicacin bsica debe caracterizar subrangos de una variable continua. Por ejem-plo, la temperatura medida para el antibloqueo de un freno puede tener varias fun-ciones de pertenencia separadas que definen determinados intervalos de temperaturanecesarios para controlar los frenos correctamente. Cada funcin asigna el valor detemperatura igual a un valor de verdad en el intervalo de 0 a 1. Estos valores deverdad se puede utilizar entonces para determinar cmo deben ser controlados losfrenos.

    En la figura12,el significado de las expresiones fro, templado y caliente estn re-presentadas por las funciones que aplican una escala de temperatura. Un punto en

    29

  • 7/22/2019 Control en Arduino

    38/121

    esa escala tiene tres valores de verdad, uno para cada una de las tres funciones. Lalnea vertical de la figura representa una temperatura particular. La flecha roja encero, esta temperatura puede ser interpretada como no caliente. La flecha de colornaranja (sealando a 0,2) puede describirla como un poco caliente y la flecha azul(sealando a 0,8) bastante fro.

    Mientras que las variables en matemticas suelen tener valores numricos, en lgicadifusa, las variables lingsticas no numricas se utilizan a menudo para facilitar laexpresin de reglas y hechos. Una variable lingstica, como la edad, pueden tener unvalor como el joven o su antnimo viejo. Sin embargo, la gran utilidad de variableslingsticas es que pueden ser modificados mediante los modificadores lingsticosaplicados a trminos primarios. Los modificadores lingsticos puede estar asociadocon ciertas funciones.

    La teora de conjuntos difusos define operadores difusos en los conjuntos difusos. Elproblema en la aplicacin de esto es que el operador difuso apropiado puede no serconocido. Por esta razn, la lgica difusa por lo general utiliza reglas SI-ENTONCES,o construcciones que sean equivalentes, tales como matrices asociativas difusas. Lasreglas se expresan normalmente de la manera: SI variable ES propiedad ENTONCESaccin. Por ejemplo un regulador de temperatura que usar un ventilador podraquedar as:

    SI temperatura ES muy fra ENTONCES parar ventilador

    SI temperatura ES fra ENTONCES reducir velocidad ventilador

    SI temperatura ES normal ENTONCES mantener velocidad ventilador

    SI temperatura ES caliente ENTONCES aumentar velocidad ventilador

    No hay un DE LO CONTRARIO, todas las reglas son evaluadas puede haber unfro y normal a la vez con diferentes grados[44].

    La lgica difusa se ha aplicado al control del los quadrotors, prueba de ello es el artculode Z. Lendek et al. [22], donde se disea un estimador no lineal Takagi-Sugeno (TS)para la estimacin de la orientacin y velocidad angular de un quadrotor. El resultadoes que el estimador no lineal TS, el cual usa la lgica difusa para hacer frente a las nolinealidades del sistema a observar, ofrece mejores resultados que el estimador linealeste ltimo se aleja del punto de equilibrio.

    5.4. Control robusto

    El control robusto es una rama de la teora de control que explcitamente se refiere a laincertidumbre en su enfoque en el diseo del controlador. Los controladores robustosestn diseados para funcionar adecuadamente siempre que los parmetros inciertoso las alteraciones se encuentren dentro de un conjunto, generalmente compacto. Losmtodos de control robusto tratan de conseguir resultados slidos y/o la estabilidaden presencia de errores de modelado acotados.

    30

  • 7/22/2019 Control en Arduino

    39/121

    Los primeros mtodos de Bode y otros eran bastante robustos; la representacin enespacio de estados careca en ocasiones de una falta de robustez que llevo a la investi-gacin para su mejora. Este fue el comienzo de la teora de control robusto que tomoforma en la dcada de los 80 y a da de hoy sigue activa.

    En contraste con la poltica de control adaptativa, la poltica de control robustaes esttica. En vez de adaptarse a las variaciones de las mediciones, el controladorest diseado para trabajar suponiendo que ciertas variables sern desconocidas peroacotadas.

    De manera informal, se dice que un controlador diseado para un conjunto particu-lar de parmetros es robusto si tambin trabaja bien bajo un conjunto diferente desuposiciones. La realimentacin con alta ganancia es un ejemplo simple de mtodode control robusto. Con una ganancia lo suficientemente alta, los efectos de la varia-cin de cualquier parmetro sern despreciables. La realimentacin con alta gananciaes el principio que permite usar modelos simplificados de amplificador operacional ytransistores bipolares de emisor degenerado en gran variedad de situaciones.

    La teora de control robusto comenz a finales de los 70 y pronto desarrollo numerosastcnicas para lidiar con sistemas con incertidumbres acotadas. Probablemente la tc-nica de control robusto ms importante es la H, la cual fue desarrollada por DuncanMcFarlane y Keith Gobler de la Universidad de Cambridge. Este mtodo minimiza lasensibilidad del sistema sobre su espectro de frecuencias, y garantiza que el sistemano se desviar mucho de la trayectoria cuando las alteraciones entren en el sistema.

    Un rea emergente en el control robusto desde el punto de vista de su aplicacin escontrol por modos deslizantes (SMC), que es una variacin de la estructura de control

    variable (VSS). La robustez con la que el control por modos deslizantes maneja la in-certidumbre, as como la simplicidad en el diseo atrajo una variedad de aplicaciones.[53]

    En el artculo de G. V. Raffo et al. [31] se presenta una estrategia de control nolineal robusta para el problema del seguimiento de trayectorias de un vehculo areono tripulado del tipo quadrotor. El controlador H es utilizado para estabilizar losmovimientos rotacionales. La robustez del controlador H se pudo observar cuandose consider la incertidumbre en los trminos inerciales. Esta robustez fue corroboradaen las simulaciones.

    5.5. Control predictivo

    El control predictivo tiene como objetivo resolver de forma efectiva problemas decontrol y automatizacin de procesos industriales que se caracterizan por presentarun comportamiento dinmico complicado, multivariable, y/o inestable. La estrategiade control en la que se basa este tipo de control utiliza el modelo matemtico delproceso a controlar para predecir el comportamiento futuro de dicho sistema, y enbase a este comportamiento futuro puede predecir la seal de control futura.

    El control predictivo integra disciplinas como el control ptimo, control estocsti-co, control de procesos con retardo de tiempo, control multivariable o control conrestricciones.

    31

  • 7/22/2019 Control en Arduino

    40/121

    Existen multitud de algoritmos de control predictivo que han sido aplicados con xito.Uno de ellos es el Control Predictivo Basado en Modelo (CPBM), tambin conocidocomo Model Predictive Control (MPC). El control predictivo basado en modelo sepuede definir como una estrategia de control que se basa en la utilizacin explcita deun modelo matemtico interno del proceso a controlar (modelo de prediccin), el cualse utiliza para predecir la evolucin de las variables a controlar a lo largo del horizontetemporal de prediccin especificado por el operador. De este modo se pueden calcularlas variables manipuladas futuras (seal de control futura) para lograr que en dichohorizonte las variables controlada converjan a sus respectivos valores de referencia.

    El MPC se enmarca dentro de los controladores ptimos, es decir, aquellos en los quelas actuaciones responden a la optimizacin de un criterio. El criterio a optimizar, ofuncin de coste, est relacionado con el comportamiento futuro del sistema que sepredice gracias al denominado modelo de prediccin.

    El intervalo de tiempo futuro que se considera en la optimizacin se denomina hori-zonte de prediccin. Dado que el comportamiento futuro del sistema depende de lasactuaciones que se aplican a lo largo del horizonte de prediccin, son estas variables dedecisin respecto a las que se optimiza el sistema. La aplicacin de estas actuacionessobre el sistema conducen a un control en bucle abierto.

    La posible discrepancia entre el comportamiento predictivo y el comportamiento realdel sistema crean la necesidad de imponer cierta robustez al sistema incorporandouna realimentacin al mismo. Esta realimentacin se consigue gracias a la tcnicade horizonte deslizante que consiste en aplicar las actuaciones obtenidas durante un

    periodo de tiempo, tras el cual se muestra el estado del sistema y se resuelve un nuevoproblema de optimizacin. De esta manera el horizonte de prediccin se va deslizandoa lo largo del tiempo.

    Una de las propiedades ms atractivas del MPC es su formulacin abierta, que permitela incorporacin de distintos tipos de modelos de prediccin, sean lineales o no lineales,monovariables o multivariables, y la consideracin de restricciones sobre las seales delsistema. Esto hace que sea una estrategia muy utilizada en diversas reas de control.El MPC es una de las pocas tcnicas de control que permiten controlar sistemas conrestricciones incorporando stas en el propio diseo del controlador.

    Estas caractersticas han hecho del control predictivo una de las escasas estrategiasde control avanzado con un impacto importante en problemas de mbito industrial.

    Por tal motivo es importante resaltar que el control predictivo se ha desarrollado enel mundo de la industria, y ha sido la comunidad investigadora la que se ha esforzadoen dar un soporte terico a los resultados prcticos obtenidos[34,48].

    En el artculo de K. Alexis et al. [2] se disea una estrategia de control predictivobasada en modelo para el control de la orientacin y la posicin del quadrotor. El sis-tema desarrollado es capaz de rendir de manera precisa en vuelos en interior mediantela utilizacin de un sistema de fusin de sensores IMU/Sonar/IMU. La novedad en deeste artculo resida en la propuesta del control MPC, siendo el resultado experimentalsatisfactorio.

    32

  • 7/22/2019 Control en Arduino

    41/121

    5.6. Control por modos deslizantes

    En teora de control, los modos deslizantes son una forma de control de estructuravariable. Es un mtodo de control no lineal que altera la dinmica de un sistema nolineal aplicando un control alternante. La ley de control no es una funcin constanteen el tiempo. En cambio, va alternando de una estructura continua a otra basndoseen la posicin en ese instante en el espacio de estados. Las estructuras de controlmltiple se disean para que las trayectorias siempre se muevan hacia la condicinde alternancia y, as, la trayectoria ltima no existir completamente en una solaestructura de control. Lo que ocurrir es que la trayectoria ltima se deslizar por lafrontera entre las diferentes estructuras de control.

    La mayor ventaja del control por modo deslizante es su robustez, ya que el control

    puede ser tan simple como el salto entre dos estados, no necesita ser preciso y no sever afectado a variaciones de parmetros que entren en el canal de control. Adems,como la ley de control no es una funcin continua, el modo deslizante se puede alcanzaren tiempo finito.

    El control en modo deslizante debe ser aplicado con mucho ms cuidado que otrasformas de control no lineal que poseen una accin de control ms moderada. Enparticular, porque los actuadores tienen retardos y otras imperfecciones, y el modo decontrol puede llegar a chattering, perdida de energa, dao en la planta y excitacinde dinmicas no modeladas[7,27].

    El control por modos deslizantes se utilizo para la estabilizacin de un quadrotoren presencia de fallos en los actuadores en el artculo de H. Khebbache et al. [20].

    Los resultados de la simulacin demostraron una gran eficiencia del la estrategia decontrol al mantener la estabilidad del quadrotor a pesar del fallo en los actuadores.

    33

  • 7/22/2019 Control en Arduino

    42/121

    34

  • 7/22/2019 Control en Arduino

    43/121

    Parte III

    Materiales y mtodos

    6. Materiales

    A lo largo de este captulo se describirn brevemente los distintos materiales que hansido necesarios para la realizacin de este proyecto. Se comenzar con del DraganflyerSAVS, que es quadrotor utilizado como plataforma, para continuar con el microcon-trolador y los sensores utilizados para poder estimar la orientacin del quadrotor. Porltimo se analizar del software utilizado en la simulacin.

    6.1. Draganflyer SAVS

    El Dranganflyer SAVS (Stabilized Aerial Video System) es un pequeo quadrotorradiocontrol diseado para obtener imgenes desde el aire gracias a la cmara a colorque incorpora (ver figura13). Fue lanzado al mercado en el ao 2006 por la empresaDraganfly Inovantions Inc. que est dedicada a la fabricacin de modelos radiocontrolareos. El Dranganflyer SAVS no se comercializa actualmente al haber sido sustituidopor el Dragonflyer X4.

    Su tamao es reducido, posee un dimetro de 75cm lo que posibilita su vuelo eninteriores. La estructura del Dragonflyer SAVS est constituida de fibra de carbono

    y nailon de alto-impacto gracias a los cuales su peso es de slo 540g. Para podervolar utiliza cuatro motores con escobillas de alta velocidad y una transmisin de dosengranajes.

    Para lograr un vuelo estable el quadrotor utiliza tres girscopos piezoelctricos y elsistema patentado Thermal Intelligence (TI). Cada uno de los tres giroscopios midela velocidad angular en uno de los tres ejes (alabeo, cabeceo y guiada). El sistemaThermal Intelligence funciona utilizando cuatro sensores infrarrojos que miden ladiferencia de temperatura entre el cielo y la tierra. Usando como entrada estos sensoresla CPU embarcada automticamente hace que el quadrotor se nivele cuando se sueltael control.

    Las imgenes areas son grabadas por una cmara digital de 480 lineas y transmitidasa las estacin base con un transmisor de 50mW de potencia que funciona a 2,4Ghz. La

    estacin base se encuentra en un maletn de transporte y para recibir la seal utilizados antenas patch con una ganancia de 8dbi y nos proporciona salidas RCA paravdeo y audio [41].

    6.2. Arduino

    Arduino es plataforma de hardware libre, basada en una placa con un microcon-trolador y un entorno de desarrollo que tienen como objetivo facilitar el uso de laelectrnica en proyectos multidisciplinares.

    35

  • 7/22/2019 Control en Arduino

    44/121

    Figura 13: Draganflyer SAVS

    El hardware consiste en una placa Arduino con un procesador Atmel AVR y puertosde entrada y de salida. El software consiste en un lenguaje estndar de programaciny un cargador de arranque (boot loader) que corre en la placa. El hardware Arduinose programa usando un lenguaje basado en Wiring (sintaxis y libreras), similar aC++ con algunas ligeras simplificaciones y modificaciones, y un entorno de desarrollointegrado basado en Processing (ver figura15)[40].

    Las versiones actuales pueden comprarse ensambladas; el diseo de hardware estdisponible en caso de que se desee montar un Arduino a mano. Adems, tercerasempresas han lanzado variaciones de los Arduinos hechos en Italia, con diferentesniveles de compatibilidad, y algunos de ellos se programan usando el software Arduino.

    Una placa Arduino consiste en un microcontrolador Atmel AVR de 8-bit con com-ponentes complementarios que facilitan su programacin e incorporacin en otros

    circuitos. Un aspecto importante de Arduino es la manera en el que los conectoresestn distribuidos en la placa, permitiendo conectar una gran variedad una gran va-riedad de aadidos, conocidos como shields, a la placa principal. Algunas de estasshields se comunican directamente con la placa Arduino usando varios terminales,pero muchas de ellas se comunican individualmente a travs del bus IC, permitiendoconectar varias shields simultneamente y usarlas en paralelo.

    Los Arduino oficiales usan la serie de controladores megaAVR, especficamente el AT-mega8, ATmega168, ATmega328, ATmega1280, y el ATmega2560. Una gran variedadde procesadores se han usado en los Arduinos compatibles, un ejemplo de ello es el

    36

  • 7/22/2019 Control en Arduino

    45/121

    Figura 14: placa Arduino UNO

    37

  • 7/22/2019 Control en Arduino

    46/121

    Figura 15: entorno de desarrollo integrado Arduino

    38

  • 7/22/2019 Control en Arduino

    47/121

    Mapple de LeafLabs el cual usa un microcontrolador ARM Cortex M3. La mayora delas placas incluyen un regulador de 5 voltios y un cristal oscilador de 16 MHz, o, enalgunas variaciones, resonador cermico. Un microcontrolador Arduino es preprogra-mado con un cargador de arranque que simplifica el proceso de cargar los programasen la memoria del controlador, comparado con otros dispositivos que normalmentenecesitan un programador externo.

    A nivel conceptual, cuando se usa el software proporcionado por Arduino, todas lasplacas son programadas mediante una conexin de serie RS-232, pero la forma en laque est implementado vara en funcin de la versin del hardware. Las placas Arduinocon puerto de serie poseen un circuito inversor simple que convierte seales RS-232 yTTL. Las placas Arduino actuales son programadas a travs de USB, implementadousando un adaptador USB a serie como el FTDI FT232 [ 39].

    En este proyecto se ha utilizado una placa Arduino UNO (ver figura14)que tiene lassiguientes caractersticas:

    microcontrolador ATmega328P de 8-bit funcionando a 16MHZ,

    memoria flash de 32 kB,

    memoria EEPROM de 1 kB,

    memoria SRAM de 2 kB,

    14 terminales de entrada/salida digitales, 6 de ellos con capacidad de producirseales PWM,

    6 terminales analgicos,

    interfaz USB mediante microcontrolador ATmega 16U2.

    6.3. Sensores

    La estimacin del estado (actitud, velocidad y posicin) es una necesidad fundamentalpara los vehculos autnomos. La precisin que se demanda en la estimacin del estadodepende en cualquier caso del tipo de vehculo, del sistema de control usado y de laaplicacin.

    Para la navegacin se utilizan una gran variedad de sensores. Algunos se remontan a

    tiempos remotos como es el caso de la brjula. En general, existe una gran cantidadde sensores (presin, velocidad del aire, temperatura, etc.), siendo los ms importan-tes para la estimacin del estado los sensores inerciales: acelermetros, giroscopios ymagnetmetros (brjula).

    Los sensores inerciales MEMS (siglas en ingls de Micro-machines ElectroMechanicalSystems) son fruto del desarrollo de los avances en el campo de los semiconductoresdando lugar a circuitos integrados con caractersticas tridimensionales e incluso conpiezas mviles. Esto ha permitido el desarrollo de sensores con una disminucin decoste, tamao y consumo enorme respecto a los sensores tradicionales.

    39

  • 7/22/2019 Control en Arduino

    48/121

    6.3.1. Acelermetro

    Un acelermetro es un instrumento que mide la aceleracin. La aceleracin medidaest relacionada con el peso de una masa de prueba. Por ejemplo, un acelermetrosituado en un cohete lejos de cualquier campo gravitacional (se supone gravedadcero) que est acelerando debido al empuje del motor, medir el ritmo de cambiode la velocidad del cohete relativa a cualquier marco de referencia inercial. Si elacelermetro se encontrase en la superficie terrestre medira una aceleracin de valorg con direccin vertical cuando se encontrase estacionario, debido a que las masasen la Tierra tienen un peso mg. Sin embargo en este caso no hay un cambio en lavelocidad.

    De esta forma se podra modelar la medida del acelermetro f como

    f= a + g=F

    m+ g, (6.1)

    por tanto, la medida en las siguientes situaciones ser

    objeto estacionario sobre la superficie terrestre:a= 0y f=g.

    objeto en cada libre: a= gy f= 0.

    Conceptualmente, un acelermetro se comporta como una masa amortiguada con unmuelle. Cuando el acelermetro experimenta una aceleracin, la masa se desplaza

    hasta el punto en el que el muelle es capaz de acelerar la masa al mismo ritmo que lacarcasa. El desplazamiento es medido para obtener la aceleracin.

    En dispositivos comerciales, para convertir el movimiento mecnico en una seal elc-trica se utilizan normalmente componentes piezoelctricos, piezoresistivos y capacita-tivos. Los acelermetros piezoelctricos se basan en piezocermicos o en cristales co-mo el cuarzo. Son insuperables a altas frecuencias, bajo peso del dispositivo y ampliorango de temperatura. Los acelermetros piezoresistivos se prefieren para aplicacionescon grandes impactos. Los acelermetros capacitativos usan normalmente un sensorde silicio micro mecanizado. Su rendimiento es superior a bajas frecuencias y puedenlograr una gran estabilidad y linealidad.

    Los acelermetros modernos son a menudo pequeos sistemas microelectromecnicos(MEMS), y de hecho son los dispositivos MEMS ms simples (ver figura 16), que

    constan con poco mas que una viga en voladizo con una masa de prueba (tambinconocida como masa ssmica). El amortiguamiento es el resultados del gas selladodentro del dispositivo.

    Bajo la influencia de aceleraciones externas la masa de prueba se desva de su posicinneutra. Esta desviacin es medida de manera analgica o digital. Comnmente se midela capacitancia entre un conjunto de vigas fijas y un conjunto de vigas con una masade prueba. Este mtodo es simple, seguro y barato. Integrar piezoresistencias en elresorte para detectar la deformacin de este, y en consecuencia el desplazamiento, esuna buena alternativa, sin embargo son necesarios ms pasos durante el proceso de

    40

  • 7/22/2019 Control en Arduino

    49/121

    Figura 16: estructura de un acelermetro MEMS

    fabricacin. Para grandes sensibilidades se utiliza el efecto tnel; requieren un procesode fabricacin delicado y muy caro. La medicin ptica se ha demostrado a nivel delaboratorio.

    La mayora de los acelermetros micromecnicos operan en plano, es decir, estn dise-ados para ser sensible solo en una direccin contenida en el plano del die. Integrandodos dispositivos perpendicularmente en un nico die se fabrican los acelermetrosbiaxiales. Aadiendo otro dispositivo fuera del plano se obtienen los acelermetros

    triaxiales. Estas combinaciones presentan un error de alineamiento mucho menor quetres dispositivos individuales combinados despus del encapsulado[8].

    Para medir la aceleracin en el quadrotor se ha utilizado un acelermetro triaxialADXL345 de la compaa Analog Devices (ver figura 17). Este acelermetro formaparte de la IMU Fusion Board de Sparkfun. Sus principales caractersticas son:

    rango de medida de 2, 4, 8 y 16g ,

    resolucin de 10-bits,

    consumo de 40 A en modo medida y 0,1 A en modo standby.

    detector de cada libre,

    interfaz SPI e IC.

    6.3.2. Giroscopio

    Un giroscopio es un instrumento, basado en los principios del momento angular, paramedir o mantener la orientacin. Mecnicamente, un giroscopio es una rueda o discogiratorio en el que el eje es libre de adoptar cualquier orientacin. Aunque esta orien-tacin no permanece fija, cambia en respuesta a un par externo mucho menos y en

    41

  • 7/22/2019 Control en Arduino

    50/121

    Figura 17: acelermetro Analog Devices ADXL345

    42

  • 7/22/2019 Control en Arduino

    51/121

    una direccin diferente de lo que lo hara sin el momento angular asociado al discocon gran velocidad de giro y momento de inercia. Como el par externo es minimizadopor el montaje del dispositivo en cardanes, su orientacin permanece casi fija, conindependencia de cualquier movimiento de la plataforma en la que se monta.

    Un giroscopio exhibe un nmero de comportamiento incluyendo la precesin y lanutacin. Los giroscopios pueden ser usados para construir girocompases, los cualescomplementa o remplazan a los compases magnticos, para asistir en la estabilidad ocomo parte de un sistema de medicin inercial. Los efectos giroscpicos se utilizan enboomerangs y yoyos.

    La ecuacin fundamental que describe el funcionamiento de un giroscopio es

    = dLdt

    =d (I)

    dt =I (6.2)

    donde los pseudovectores y L son, respectivamente, el par en el giroscopio y sumomento angular, el escalar Ies su momento de inercia, el vector es su velocidadangular, y el vector su aceleracin angular.

    Los giroscopios con tecnologa MEMS toman ventaja del efecto Coriolis. En un mar-co de referencia rotando a una velocidad angular , una masa Mmovindose convelocidad v se ve sometida a una fuerza

    F = 2Mv . (6.3)

    En la literatura aparecen gran cantidad de tipos de giroscopios MEMS, aunque la ma-yora caen en las categoras de giroscopio de tenedor ajustado (tuning-fork), volanteoscilante, pndulo de Foucault, y resonador Helmholtz. Los giroscopios convencio-nales de rueda giratoria, no MEMS, son comunes, pero la levitacin y rotacin endispositivos MEMS sin muelles no ha sido comercializado an.

    Los