mandos helicoptero

download mandos helicoptero

of 138

Transcript of mandos helicoptero

  • 8/9/2019 mandos helicoptero

    1/138

    Universidad Nacional Autnoma de Mxico

    Facultad de Ingeniera

    Estabil izacin de un helicptero a escala

    mediante sistemas neuro-difusos

    T E S I S

    Para obtener el ttulo de:

    Ingeniero Mecatrnico

    Presentan:

    David Retana Prez

    Aldo Enrique Vargas Moreno

    Director de Tesis: Ing. Serafn Castaeda Cedeo

  • 8/9/2019 mandos helicoptero

    2/138

    Agradecimientos

    Generales:

    A Gabriela Valencia por habernos patrocinado a lo largo de esta tesis, confiar en que funcionaria,

    ademas de su amabilidad, cario y consejos que fueron claves para el desarrollo de este proyecto.

    Al Ing. Serafn Castaeda y Dr. Marcos Gonzlez, por sus invaluables asesoras y por el tiempo que

    nos dedicaron. Sin su apoyo la realizacin de este trabajo no se hubiera completado.

    A PROTECO por alojarnos durante el trayecto de nuestras carreras y por esa invaluable capacitacin.

    A Google.

    Aldo Vargas

    A Valve software, por haber creado tan maravillosos juegos (Half-Life 1 y 2, Portal) y como olvidar a

    Blizzard Entertainment por ttulos como WoW, Warcraft y Diablo.

    A mi familia principal (Raul, Rosalba, Spayro y Trinidad) por haberme apoyado todo el tiempo, por

    aguantar mi especial humor, por crearme (R&R), ayudarme (R&R&S&T) y quererme. Tambin a Aldux

    por haber aportando maravillosas ideas a este proyecto ademas de ser un compaero

    emprendedor.

    David Retana

    La culminacin del proyecto es soportado por los apoyos de mi familia haciendo nfasis en la ayuda

    incondicional de la Dra. Mara Guadalupe Prez H.

    Sin menospreciar a los dems que por no mencionar puntualmente sus nombres tambin les

    extiendo este agradecimiento.

    Sistemas Neuro-Difusos

  • 8/9/2019 mandos helicoptero

    3/138

    Sistemas Neuro-Difusos

  • 8/9/2019 mandos helicoptero

    4/138

    ContenidoIntroduccin 1

    1.- Principio de funcionamiento del helicptero 4

    Rotor principal 5

    Rotor trasero (o de cola) 6

    Controles de vuelo 8

    Actitud (Attitude) 8

    Control de paso colectivo 9

    Control de paso cclico 10

    Control de sistema antipar 10

    Control de potencia del motor 11

    Paso colectivo y paso fijo 11

    Helicpteros de radiocontrol 12

    Helicptero de radiocontrol 3D 12

    Modelo matemtico de un helicptero 13

    2.- Instrumentacin 16

    Introduccin 16

    Sensado 16

    Orientacin Espacial 17

    Angulos de Euler 17

    Angulos de navegacin 18

    Estabilizacin de un Helicptero a escala mediante sistemas neuro-difusos

    Sistemas Neuro-Difusos

  • 8/9/2019 mandos helicoptero

    5/138

    Maneras de medir los ngulos de navegacin 19

    Giroscopio 20

    Acelermetro 24

    Unidad de medicin inercial ( IMU ) 27

    Sistema de referencia de actitud y rumbo 29

    Seleccin del sensor 29

    Unidad de medicin inercial 30

    Acelermetro ADXL335 30

    Giroscopio LPR530AL - LY530AHL 31

    Acondicionamiento 33

    Microcontrolador 34

    Arduino 36

    ATmega328 36

    Funciones del Arduino 36

    Adquisicin de datos 37

    Alisado exponencial 39

    Calculo de ngulos de orientacin espacial 41

    Lectura del canal PPM 44

    Envo de datos a la estacin base 48

    3.- Control 53

    Sistemas Neuro-Difusos 53

    Redes Neuro-difusas 54

    Caractersticas de los sistemas neuro - difusos 55

    Sistemas difusos 56

    Funciones de membresa 57

    Redes Neuronales Artificiales (RNA) 62

    Ventajas 63

    Estabilizacin de un Helicptero a escala mediante sistemas neuro-difusos

  • 8/9/2019 mandos helicoptero

    6/138

    Clasificacin 64

    La red de retropropagacin 65

    Diseo del sistema neuro - difuso en Matlab 69

    Desarrollo del sistema de control difuso 75

    4.- Pruebas 81

    Pruebas de instrumentacin 81

    Pruebas de generacin del sistema difuso con Matlab 84

    Control difuso de 2 entradas y 2 salidas 87

    Control difuso de 2 entradas y 1 salida 91

    Control difuso de 1 entrada y 1 salida 92

    Conclusiones 96

    Recomendaciones 98

    Apndice 101

    Estabilizacin de un Helicptero a escala mediante sistemas neuro-difusos

  • 8/9/2019 mandos helicoptero

    7/138

    Introduccin

    Los helicpteros a escala son cada ves mas populares para plataformas de vehculos areos no

    tripulados (UAVs), este tipo de tecnologa ha experimentado un importante desarrollo motivado

    por sus ventajas en misiones con riesgo para vuelos tripulados o con requerimientos de elevada

    maniobrabilidad o dimensiones reducidas en las aeronaves. Los costes de explotacin de los UAVs

    tambin pueden ser menores que los vuelos tripulados en diferentes aplicaciones. Los vehculos

    areos no tripulados de ala rotatoria (RUAVs) son bsicamente helicpteros autnomos.

    Recientemente, la evolucin de las tecnologas de los UAVs, la miniaturizacin de los sensores y los

    progresos en sistemas de control apuntan hacia su uso generalizado en aplicaciones como

    desastres naturales, bsqueda y rescate, vigilancia, inspeccin de instalaciones y estructuras,

    cinematografa y realizacin de mapas del terreno.

    En algunas de las mencionadas aplicaciones se necesitan funcionalidades como el despegue-

    aterrizaje vertical y el vuelo estacionario (hovering). Los helicpteros autnomos son las plataformasms utilizadas en robtica area debido a las propiedades mencionadas anteriormente y a una

    mayor carga til que la ofrecida por otras aeronaves de despegue y aterrizaje vertical.

    Pilotar un helicptero a escala es un gran reto debido a que se requiere conocer y controlar los

    mandos principales como el colectivo, cclico lateral y longitudinal, colectivo de cola y velocidad del

    motor. Mantener el helicptero en hoveringes una de las maniobras mas difciles, porque requiere

    manipular los controles principales de forma activa ya que el helicptero no tiende a un estado

    estable estacionario.

    La necesidad que se cubre en este trabajo es que el usuario pueda pilotar de forma ms

    transparente el helicptero dando una mejor experiencia de vuelo, reducir las probabilidades de

    estrellar el helicptero y por ende reducir los costos de reparacin debido a choques.

    El objetivo de esta tesis, es el desarrollo de un sistema de control para la estabilizacin del

    helicptero a escala, de tal forma que sea fcil el manejo para las personas con poca experiencia.

    1

    Sistemas Neuro-Difusos

  • 8/9/2019 mandos helicoptero

    8/138

    Para lograr que las personas puedan pilotar el helicptero de manera mas segura se promediar la

    seal de control con la seal del control del piloto, de esta manera se le provee estabilidad al

    helicptero sin necesidad de ser un piloto experto.

    Para poder lograr este objetivo, es importante considerar:

    La necesidad de contar con un piloto de radio-control para el desarrollo del sistema autnomo

    y por razones de seguridad.

    La importancia del mantenimiento mecnico y prueba de todos los componentes mecnicos,

    elctricos y electrnicos antes de cada vuelo, lo que es especialmente critico en plataformas

    de bajo costo que se derivan de helicpteros de radio-control.

    La relevancia de las limitaciones de peso y consumo, particularmente para helicpteros

    pequeos que imponen importantes restricciones en el hardware y software que puede

    ejecutarse abordo. Estas limitaciones hacen especialmente interesante el empleo de avances

    recientes en miniaturizacin de sensores y actuadores y el empleo de sistemas de control.

    Relevancia del diseo mecatrnico involucrando conjuntamente aspectos mecnicos,

    sensores y controladores a bordo. Inters de la aplicacin de tcnicas de hardware in the loop

    y eventualmente de plataformas para prueba en interiores.

    Inters de la aplicacin de tcnicas de deteccin e identificacin de fallos en sensores y

    actuadores.

    Requerimientos estrictos de seguridad en las pruebas y vuelos del helicptero, sin olvidar la

    importante potencia que desarrolla el rotor principal y las consecuencias de los fallos.

    Para alcanzar el objetivo del sistema de estabilizacin es importante conocer la estimacin del

    estado del helicptero. Para realizar esta estimacin del estado resulta conveniente aplicar tcnicas

    de fusin sensorial que utilicen las medidas de los sensores y que tengan en cuenta sus propiedades

    estadsticas, tales como un filtro Kalman DCM(Direction Cosine Matrix).

    Lo que se logr en este trabajo es utilizar una unidad de medicin inercial (IMU, por sus siglas en

    ingles) y convertirlo mediante software en un sistema de referencia de actitud y rumbo (AHRS, por

    sus siglas en ingles) bastante confiable, con esto reduciendo el gran costo que conlleva un sistema

    de estas caractersticas. Un AHRScertificado por la Administracin Federal de Aviacin (FAA, por sus

    siglas en ingles) puede costar aproximadamente $15,000 dlares.

    Una vez conocida la estimacin del helicptero, se proceder a aplicar un control para poder

    determinar la seal que se enviar a los servos para que el helicptero se estabilice. Cabe destacar la

    importancia de conocer la relacin entrada-salida para facilitar el diseo del algoritmo de control, ya

    2

  • 8/9/2019 mandos helicoptero

    9/138

    que el helicptero es un sistema multivariable y subactuado cuya dinmica presenta gran

    complejidad. No obstante, haciendo ciertas simplificaciones es posible obtener la relacin entrada-

    salida bsicas que capturen los principales efectos dinmicos.

    La razn por la cul se escogieron sistemas neuro-difusos es porque hace posible la aplicacin de

    mtodos adaptables que permiten obtener un comportamiento robusto frente a incertidumbres

    del modelado, inclusive evitar la parte del modelo.

    Otro de los logros de este trabajo consiste en la creacin de un sistema de control difuso totalmente

    modificable y adaptable, no importando el lenguaje de programacin que se use (cambiando

    solamente la sintaxis) que puede ser usado en diversas aplicaciones, tales como: pndulo invertido,

    cmaras estabilizadas, direccin de navegacin en vehculos areos y terrestres, sistemas de control

    industriales, mejora de eficiencia del uso de combustible en motores, etc.

    En el captulo 1 de este trabajo se discuten los temas relacionados con el helicptero, como sus

    caractersticas principales, su funcionamiento, as como el modelado matemtico del mismo. Cabe

    resaltar que con los sistemas neuro-difusos podemos evitarnos modelar matemticamente alhelicptero. El captulo 2 trata de la instrumentacin del helicptero que es una parte esencial del

    trabajo, ya que para controlarlo es necesario conocer la orientacin del mismo. En el captulo 3

    tratamos la parte del control, que incluyen los temas de lgica difusa y redes neuronales. En el

    cuarto captulo mostramos las pruebas realizadas as como los resultados obtenidos.

    3

  • 8/9/2019 mandos helicoptero

    10/138

    1.- Principio de funcionamientodel helicptero

    La posicin y orientacin del helicptero se controla normalmente mediante 5 variables: la

    inclinacin colectiva de las palas del rotor principal (colectivo) que tiene un efecto directo en laaltura del helicptero (eje z en el sistema X-Y-Z); el cclico longitudinal que modifica el ngulo de

    cabeceo del helicptero (rotacin sobre el eje Yb en el sistema Xb - Yb - Zb) y la traslacin

    longitudinal; el cclico lateral, que afecta el ngulo de balanceo (rotacin sobre el eje Xb en el

    sistema Xb - Yb - Zb) y la traslacin lateral; el rotor de cola, el cual controla el ngulo de guiada del

    helicptero (rotacin sobre el eje Zb en el sistema Xb - Yb - Zb); y el control de la potencia del motor.

    La figura 1.1 muestra los sistemas de referencia que suelen utilizarse para expresar sus parmetros

    principales de funcionamiento.

    Los componentes bsicos de un helicptero

    son: rotor principal, cabina (en donde se

    encuentra la carga til payload), estructura

    (que aloja varios otros componentes),

    mquina, transmisin, sistema de antipar,

    tren de aterrizaje (que pueden ser o llantas

    patn flotadores). Se aprecian en la figura

    1.2.

    Es propulsado horizontalmente mediante la

    inclinacin del rotor principal, mientras que

    el vertical se logra variando el ngulo de

    ataque de las palas y la potencia del motor.

    4

    Sistemas Neuro-Difusos

    Fig. 1.1 Sistema inercial (X Y Z) y local (Xb Yb Zb) [1]

  • 8/9/2019 mandos helicoptero

    11/138

    Fig. 1.2 Partes principales de un helicptero [1]

    Rotor principal

    Las palas del rotor principal, tienen una forma aerodinmica similar a las alas de un avin, es decir,

    un perfil alar. Al girar el rotor este tipo de perfil hace que se genere sustentacin, la cual eleva alhelicptero.

    Hay dos tipos de rotores principales, los sencillos y los duales.

    Los helicpteros requieren de un sistema antipar para compensar el momento de fuerza de reaccin

    a causa del giro del rotor del rotor principal.

    En la figura 1.3 se puede apreciar el mecanismo que hace que las palas puedan ser inclinadas para

    generar sustentacin, adems de la

    inclinacin de todo el rotor para

    mover a todo el helicptero a alguna

    posicin deseada.

    Se aade el rotor de cola para

    controlar el efecto de giro y

    compensar los momentos de fuerza

    de reaccin.

    En los helicpteros de doble hlice,

    los rotores giran en direccionesopuestas y no se necesita un efecto

    antipar del rotor de cola, ya que el

    par generado por cada rotor dual, se

    neutraliza uno con el otro.

    El rotor principal no solo sirve para mantener el helicptero en el aire, as como para elevarlo o

    descender, sino tambin para impulsarlo hacia delante o hacia atrs, hacia los lados o en cualquier

    5

    Fig. 1.3 Rotor principal [2]

  • 8/9/2019 mandos helicoptero

    12/138

    direccin. Esto se consigue con un mecanismo que hace variar el ngulo de incidencia (inclinacin)

    de las palas del rotor principal dependiendo de su posicin.

    El helicptero es una aeronave

    verstil, ya que se puede mover en

    todas direcciones (figura 1.4). Puede

    volar hacia atrs, adelante,izquierda, derecha, arriba, abajo, y

    rotar en su propio eje, adems de

    mantenerse en sustentacin

    totalmente inmvil, se conoce

    como vuelo esttico (hovering).

    Rotor trasero (o de cola)

    Es el rotor encargado de generar un

    efecto antipar (figura 1.5) para

    evitar que le helicptero gire en sentido opuesto al sentido de giro del rotor principal.

    Esto se logra cambiando el ngulo de ataque de las palas del rotor trasero, haciendo que se genere

    mayor o menor fuerza de sustentacin, segn sea el caso, y as poder hacer girar el helicptero para

    cualquier lado deseado.

    Se tiene que hacer variar el empujedel sistema antipar para mantener el

    control direccional no importando si

    el par del rotor principal cambia, o se

    hacen cambios de direccin

    m i e n t r a s s e e n c u e n t r a e n

    sustentacin (hovering).

    Existen 3 tipos de sistemas antipar,

    sin contar el sistema de rotoresduales.

    El primero es el ms sencillo, ya que

    consta de una pala de mucho menor

    tamao que la pala del rotor

    principal, colocada a uno de los

    costados de la parte posterior del

    6

    Fig. 1.4 Movimientos posibles en un helicptero [2]

    Fig. 1.5 Efecto del sistema antitorque [2]

  • 8/9/2019 mandos helicoptero

    13/138

    helicptero.

    El segundo tipo tiene el rotor de cola encapsulado que es un tipo de ventilador colocado en lnea

    con la cola del helicptero. Se le conoce como

    Fenestron (figura 1.6), son menos susceptibles a

    daarse por obstruccin, gran reduccin de ruido y

    aumenta la seguridad del personal en tierra.

    El tercero se le conoce como NOTAR (NO TAil Rotor)

    realiza la compensacin o el efecto de antipar

    mediante un chorro de aire de direccin y fuerza

    variables mediante los controles. Se muestra en la

    figura 1.7.

    El sistema de rotores duales, o rotores coaxiales

    (figura 1.8), son una pareja de de rotores girando en

    direcciones opuestas, pero montados sobre un nicomstil, con el mismo eje de rotacin, uno encima de

    otro. El par generado por un rotor se compensa con

    el par que genera el otro rotor, mientras ambos

    tengan la misma velocidad.

    El sistema de rotores en tandem, mostrado en la

    figura 1.9, tienen 2 rotores montados uno enfrente de otro en el sentido longitudinal del

    helicptero, y el efecto del par no importa, porque se comportan como un sistema de rotores

    coaxiales.

    Fig. 1.7 Sistema Notar [3]

    7

    Fig. 1.6 Sistema Fenestron [3]

  • 8/9/2019 mandos helicoptero

    14/138

    Controles de vuelo

    Un helicptero requiere un sistema de

    mandos y control que permita

    libertad de maniobras sobre los 3 ejes,

    vertical, longitudinal y transversal.

    Para conseguir los movimientos

    indicados es preciso que aparezcan

    componentes de la resultante general

    que tiendan a cambiar la actitud del

    helicptero. La figura 10 muestra los

    controles como se ven en una cabina

    real de helicptero.

    Actitud (Attitude)

    Los ngulos de navegacin son un tipo de ngulos de Euler y se usan para describir la orientacin

    de un objeto en 3 dimensiones. Los ejes se muestran en la figura 1.11.

    8

    Fig. 1.8 Sistema rotores coaxiales [3] Fig. 1.9 Sistema rotores tandem (Chinook) [3]

    Fig. 1.10 Controles en un helicptero [3]

  • 8/9/2019 mandos helicoptero

    15/138

    Son 3 coordenadas angulares que

    definen un tiedro rotado desde otro

    que se considera el sistema de

    referencia.

    En una aeronave, existen 3 rotaciones

    principales, guiada, cabeceo yalabeo.

    El ngulo de guiada (yaw) es la

    rotacin respecto a un eje vertical.

    El ngulo de cabeceo (pitch) es la

    rotacin respecto al eje ala-ala.

    El ngulo de alabeo (roll) es la rotacin intrnseca alrededor del eje ortogonal al eje ala-ala.

    Un helicptero tiene 6 grados de libertad (GDL) y para poder actuar sobre estos GDL, basta con 4controles independientes:

    Mov. Vertical

    Mov. longitudinal

    Mov. Lateral

    Mov. guiada

    Los nombres de los cuatro controlesson: colectivo, acelerador, cclico y

    antipar.

    Control de paso colectivo

    Es el responsable del desplazamiento

    vertical del helicptero, junto con elacelerador.

    Este control cambia simultneamente

    el ngulo de ataque (figura 1.12) de

    todas las palas del rotor principal, de

    ah e l nomb re de cole ct ivo ,

    provocando que se aumente o

    9

    Fig. 1.11 Ejes de movimiento en un helicptero [3]

    Fig. 1.12 Angulos de ataque en las palas [3]

  • 8/9/2019 mandos helicoptero

    16/138

    disminuya la sustentacin, por lo tanto, se modifica la componente vertical de la fuerza y se

    desplaza el helicptero sobre el eje vertical.

    Cuando se cambia el ngulo de ataque de las palas, se provoca un cambio en el arrastre (drag), lo

    que hace que se afecten las revoluciones del motor principal. Es por esto que el control de paso

    colectivo esta unido al control de potencia del motor. Cuando el ngulo de las palas aumenta, se

    tiene que compensar aumentando las revoluciones del motor.

    Control de paso cclico

    El control de paso cclico es aquel que proporciona el control longitudinal y lateral del helicptero.

    Cuenta con un mecanismo capaz de inclinar el plano de rotacin del disco del rotor en el sentido

    del vuelo deseado, as aparecer una componente de la sustentacin del rotor en la direccin

    deseada.

    El comportamiento del rotor es como el de un giroscopio, junto con su fenmeno de precesin

    (movimiento asociado con el cambio de direccin en el espacio que experimenta el eje instantneo

    de rotacin de un cuerpo).

    Un rotor de helicptero girando a las revoluciones habituales se comporta como un solido con

    punto fijo, si queremos inclinar el plano del disco en una direccin habr que introducir un par en el

    rotor de 90 grados antes en el sentido de giro.

    Control de sistema antipar

    Como se mencion anteriormente, el rotor de cola es el sistema antipar ms comn para el control

    sobre el eje de guiada (adems de compensar el par de reaccin).

    Aumentar o disminuir la traccin del rotor trasero y, por lo tanto, el momento o par que produce

    respecto al centro de gravedad de la aeronave.

    Cuando la potencia del motor aumenta, el rotor antipar debe de ser capaz de compensar el

    aumento de par asociado a este incremento de potencia. En la mayora de los helicpteros el rotor

    trasero esta conectado mecnicamente el rotor principal.

    10

  • 8/9/2019 mandos helicoptero

    17/138

    Control de potencia del motor

    Comnmente conocido como acelerador en motores reciprocantes cuya funcin es regular las

    revoluciones por minuto en algunos helicpteros, principalmente en los de turbina. El acelerador

    esta unido mediante un mecanismo al control de paso colectivo para que; cuando las revoluciones

    disminuyan debido al arrastre generado por las palas aumenten mecnicamente las revolucionesdel motor.

    Paso colectivo y paso fijo

    Los helicpteros de paso fijo (figura

    1.13) son aquellos que tienen palas

    que no se pueden girar alrededor dele j e de p alas , nicame nte e l

    estabilizador es capaz de girar.

    Los codos de transmisin se ocupan

    para adelantar las varillas que recorren

    el plato cclico en los 90 grados

    necesarios para que el rotor se incline

    hacia el mismo lado que se inclina el

    plato cclico.

    El los helicpteros de paso fijo el control de altura se consigue variando las revoluciones del motor.

    En cambio en los helicpteros de paso colectivo es posible cambiar la incidencia de todas las palas a

    la vez subiendo o bajando el plato

    cclico. Se aprecia el mecanismo de

    paso colectivo en la figura 1.14.

    En este tipo de helicptero no se

    controla la altura del helicpteromediante las revoluciones del motor,

    sino por el cambio de paso.

    11

    Fig. 1.13 Paso fijo [4]

    Fig. 1.14 Paso colectivo [4]

  • 8/9/2019 mandos helicoptero

    18/138

  • 8/9/2019 mandos helicoptero

    19/138

    Se emple este helicptero por su bajo costo, disponibilidad en piezas de reemplazo, sistema de

    radio control fcil de operar, capacidad de modificacin, mejoramiento, piezas intercambiables,

    simulador de vuelo virtual usando el mismo radio control, su tamao nos permite una fcil

    transportacin.

    Modelo matemtico de un helicptero

    El modelo de un helicptero es de naturaleza no lineal, variante con el tiempo y con fuerte

    acoplamiento en algunos bucles [1]. La tcnica de identificacin frecuencia-dominio, determina las

    funciones que describen el mejor ajuste lineal de la respuesta del sistema, basado en la primer

    aproximacin armnica de la seria completa de Fourier. Es por eso que existen modelos lineales

    para el helicptero que es un sistema dinmico no lineal. La figura 1.16 es un diagrama de cuerpo

    libre en donde se muestran las variables involucradas en el modelado del helicptero.

    13

    Tabla 1.1 Falcon 400 [5]

    Dimetro rotor principal: 670 mm

    Dimetro rotor trasero: 152 mm

    Altura: 210 mm

    Peso: 603 g

    Motor: Brushless B20/10T

    Servos: 4x 9g servo

    Batera: LiPo 11.1 v 1300mA

    Duracin vuelo: 13 min

    Fig. 1.16 Variables y ejes de coordenadas del modelo matemtico

  • 8/9/2019 mandos helicoptero

    20/138

    La estructura del modelo especifica el orden y forma de las ecuaciones diferenciales que describen

    la dinmica del helicptero. Tpicamente, la dinmica del helicptero es representada como un

    cuerpo rgido, con una dinmica de fuselaje de seis grados de libertad (6 DoF), que puede estar

    asociada a dinmicas adicionales, como la del rotor o la dinmica del motor.

    La estructura del modelo completo se obtiene mediante la recopilacin de todas las ecuaciones en

    la ecuacin diferencial matricial (1.1), que contiene un vector de estados (1.2) y un vector de

    entradas (1.3).

    Ecuacin 1.1

    Ecuacin 1.2

    Ecuacin 1.3

    Donde:

    u , v , w : Velocidades en las coordenadas del fuselaje

    p , q , r : Velocidades angulares de cabeceo, alabeo y guiada

    !, ": Angulos Euler

    #(lat, lon, ped, col): Entrada del control lateral, longitudinal, pedal y colectivo

    La matriz F (1.4) contiene los derivados de la estabilidad, la matriz de entrada G (1.4) contiene los

    derivados de entrada, y la matriz Mlas constantes del rotor. El sistema completo de espacio de esta-

    dos se muestra en la ecuacin 1.5.

    GuFxxM

    Trqpwvux

    Tcolpedlatlonu

    14

  • 8/9/2019 mandos helicoptero

    21/138

  • 8/9/2019 mandos helicoptero

    22/138

    2.- Instrumentacin

    Introduccin

    Para poder aplicar control a un helicptero es necesario conocer variables fsicas (orientacin

    espacial) que nos indiquen en que estado se encuentra y tener una forma para poder manipularlo.

    Un instrumento es un dispositivo que mide o manipula variables en un proceso, en nuestro caso, las

    variables instrumentadas son la orientacin espacial del helicptero y los pulsos enviados por el

    radiocontrol que manipulan a los servos los cuales cambian la orientacin del helicptero.

    La instrumentacin se aplica al sensado y procesamiento de la informacin proveniente de las

    variables fsicas, a partir de las cuales realiza un monitoreo y control de procesos, empleando

    dispositivos y tecnologas electrnicas.

    Se compone de varias etapas, la de sensado, la de acondicionamiento, filtrado y de digitalizacin.

    Se considerara al helicptero instrumentado cuando podamos leer la orientacin espacial del

    mismo, as como cuando se puedan controlar los servomotores de los actuadores.

    Sensado

    Se seleccionan que variables fsicas se van a medir y se definen los parmetros de cada una, como elrango, sensibilidad, resolucin, la exactitud y precisin de las medidas. La linealidad y grado de error

    se evaluaron de forma emprica. En esta etapa se analiza que es lo que se entiende por orientacin

    espacial y las diferentes maneras de medirlo.

    16

    Sistemas Neuro-Difusos

  • 8/9/2019 mandos helicoptero

    23/138

    Orientacin Espacial

    La orientacin de un objeto en el espacio es cada una de las posibles elecciones para colocarlo sin

    cambiar un punto fijo de referencia. Puesto que el objeto con un punto fijo puede ser todava

    rotado alrededor de ese punto fijo, la posicin del punto de referencia no especifica por completo la

    posicin, por tanto para especificar completamente la posicin necesitamos especificar tambin laorientacin, esta puede visualizarse aadiendo una base vectorial ortogonal al punto de referencia

    del objeto. Tambin se lo conoce como actitud (Attitude).

    Angulos de Euler

    Son tres coordenadas angulares que permiten relacionar la orientacin de un sistema de ejes

    respecto a otro. Estos proporcionan tres coordenadas generalizadas adecuadas para describir elmovimiento de slidos rgidos. En la figura 2.1 vemos que el sistema de referencia en rojo esta

    referido al sistema de referencia azul mediante estos ngulos.

    Fig. 2.1 Angulos Euler [1]

    17

  • 8/9/2019 mandos helicoptero

    24/138

    El orden de aplicacin de los giros sobre los ejes coordenados afecta la configuracin final del

    sistema de referencia. Como ejemplo tenemos la figura 2.2 donde existen tres ngulos de giro

    llamadospsi, thetay phiaplicados a los ejes coordenados ilustrados en azul. En la primera imagen el

    orden de aplicacin es girar sobre el eje Zpsi radianes desde el eje X, luego aplicar el giro theta

    sobre el vector N a partir de yy por ltimo, hacer el giro phisobre el eje Y del sistema de referencia

    en rojo.

    En el segunda imagen el orden de los giros es realizado primero en el ejezdel sistema de referencia

    azul a partir del eje y luego se gira theta radianes sobre el eje X del sistema de referencia en rojo a

    partir dey, por ltimo se realiza el giro phi sobre el eje Y del sistema de referencia en rojo a partir del

    vector N.

    Fig 2.2 Angulos de navegacin [1]

    Angulos de navegacin

    Son un tipo de ngulos de Euler usados para describir la orientacin de un objeto en tres

    dimensiones. Tambin se les conoce como ngulos de Tait-Bryan, son tres coordenadas angulares

    que definen un triedro rotado desde otro que se considera el sistema de referencia. Se muestran enla figura 2.3.

    Dado un sistema de tres ejes fijos en la aeronave, se llaman guiada (yaw), cabeceo (pitch) y

    alabeo (roll).

    Pitch: Es una inclinacin del morro del avin, o rotacin respecto al eje ala-ala. ().

    Roll: Rotacin intrnseca alrededor del eje morro-cola del avin. ().

    18

  • 8/9/2019 mandos helicoptero

    25/138

    Guiada: Rotacin respecto de un eje vertical. ().

    Maneras de medir los ngulos de navegacin

    Existen varias maneras de medir los ngulos denavegacin en una aeronave. (figura 2.3), que sern

    los que nos permitan controlar la estabilidad del

    helicptero, una de ellas es usar termopilas, que son

    dispositivos electrnicos que convierten energa

    trmica en energa elctrica, mediante el efecto

    termoelctrico, se requieren dos termopilas por eje

    de rotacin para poder detectar el ngulo de

    navegacin en dicho eje. El problema de las

    termopilas es que deben de ser capaces de ver el

    horizonte, para hacer las comparaciones, eso limita de

    gran manera los lugares en donde se pueda pilotar el

    helicptero.

    Otra manera de medir la posicin relativa del

    helicptero es usar una cmara de video ccd para

    comparar cada fotograma tomado por la cmara y as

    poder saber para donde se movi el helicptero. Esta

    es una manera muy usada en muchos sistemas de estabilizacin para helicpteros, la desventaja deeste sistema es que requiere una gran capacidad de cmputo para el anlisis de las imgenes y est

    limitado ambientalmente si la cmara se encuentra expuesta a un ambiente con neblina o polvo ya

    que el sistema no podr hacer las comparaciones entre imgenes, resultando en una estabilizacin

    no correcta del helicptero.

    La manera mas antigua utilizada para medir ngulos de navegacin es mediante el uso de un

    giroscopio. Pero estos sistemas sufren de un efecto llamado deriva, este efecto hace que sobre el

    tiempo, el valor del giroscopio cuando ha estado en una posicin estable, se cambie o se mueva del

    valor inicial tomado.

    Los acelermetros son otra manera de poder medir los ngulos de navegacin de una aeronave, el

    gran problema de los acelermetros es que son muy susceptibles a la vibracin, provocando errores

    en la medicin y por ende en los ngulos de navegacin.

    Pero si se combinan estos dos ltimos sistemas, los giroscopios y acelermetros, y se utilizan

    tcnicas de filtrado y fusin, se pueden solventar los problemas que tienen ambos. La medida dada

    19

    Fig. 2.3 Angulos Euler en una aeronave [1]

  • 8/9/2019 mandos helicoptero

    26/138

    por el acelermetro ayuda a eliminar drsticamente el problema de la deriva del giroscopio, de esta

    manera obteniendo unos ngulos de navegacin que sean bastante confiables. La desventaja de

    esta unin de sensores es que requieren un sistema de filtrado tipo Kalman o DCM, de los que

    discutiremos ms adelante.

    En la figura 2.4 se describen los ngulos que indican la orientacin espacial de la nave.

    Fig. 2.4 Eje de guiada, cabeceo y alabeo de una aeronave [1]

    Giroscopio

    Es un dispositivo capaz de medir la orientacin, basado en los principios de conservacin del

    momento angular. Cuando se somete el giroscopio a un momento de fuerza que tiende a cambiar

    de direccin como lo hara un cuerpo que no girase, cambia la orientacin en una direccin

    perpendicular a la direccin intuitiva.

    Son usados en aplicaciones muy crticas como en aviones. Existen opciones que son de bajo costo y

    de tamao pequeo, estos relativamente nuevo tipo de giroscopios son fabricados usando MEMS

    (Sistemas MicroElectroMecanicos).

    Uno de estos nuevos giroscopios tienen un rango hasta +-300 grados por segundo, cuentan con

    una mayor sensibilidad para captar los desplazamientos angulares rpidos, adems de que

    incorporan un acondicionamiento de seal y aumentan la resistencia al choque y la vibracin. Por

    consiguiente puede operar en los entornos ms demandados por aplicaciones industriales y de

    consumo como la navegacin de vehculos.

    20

  • 8/9/2019 mandos helicoptero

    27/138

    Los giroscopios MEMS utilizan el efecto Coriolis (Existencia de una aceleracin relativa del cuerpo en

    dicho sistema de rotacin) creados por el movimiento.

    La figura 2.5 muestra que cuando una masa resonante se mueve sobre el eje exterior de rotacin,

    esta es acelerada a la derecha y la masa se acerca al centro de rotacin, eso precisamente es lo que

    se mide para calcular la velocidad angular.

    Fig. 2.5 Movimiento de la masa en un giroscopio MEMS [2]

    La figura 2.6 muestra un diagrama de la estructura mecnica de un giroscopio con tecnologa

    MEMS.

    Fig. 2.6 Esquemtico de la estructura mecnica de un giroscopio

    MEMS [2]

    Es de notarse que el giroscopio se puede colocar en cualquier parte del objeto que rota y a

    cualquier ngulo.

    21

  • 8/9/2019 mandos helicoptero

    28/138

    Lo que el giroscopio nos entrega es la medida de la velocidad angular, si se integra ese valor, se

    obtiene el ngulo de navegacin.

    En la figura 2.7 se puede apreciar la salida (lnea azul) de un giroscopio, haciendo una prueba de

    movimiento al sensor, medida por un ADC (Convertidor Analgico a Digital) de 10-bits de resolucin

    proveniente del microcontrolador Arduino, de este modo nuestro rango de la seal medida est

    entre valores de 0 a 1024 bits. Cada bit corresponde a 3.22mV.

    Fig. 2.7 Seal de salida del giroscopio

    La lnea roja de la figura es solamente una versin que pas a travs de un filtro digital paso bajas,

    con una frecuencia de corte en 0.5 hz, para atenuar la seal. Ahora se procede a normalizar las

    mediciones para asegurarnos de que los valores negativos correspondan a una velocidad angular

    negativa, para esto se resta aproximadamente 490 a los valores de la figura 2.8.

    22

  • 8/9/2019 mandos helicoptero

    29/138

    Fig. 2.8 Salida normalizada del giroscopio

    Ahora, para obtener una medicin angular se realiza una integracin discreta (sumar todos los

    valores), se realiza esa operacin y se multiplica por un escalar para obtener resultados en grados, se

    aprecia el resultado en la figura 2.9.

    Fig. 2.9 Angulo obtenido por el giroscopio

    Por el efecto de deriva el valor que el giroscopio tena en una posicin estable, se deriva o se mueve,

    con esto perdiendo toda la referencia y por ende, una lectura de ngulo equivocada.

    23

  • 8/9/2019 mandos helicoptero

    30/138

  • 8/9/2019 mandos helicoptero

    31/138

    Los acelermetros modernos son construidos de MEMS y de hecho es el sistema MEMS ms sencillo

    que se puede construir. Estos consisten de una masa ssmica y un cantilever. La amortiguacin

    resulta del gas residual que se encuentra sellado en el dispositivo. Bajo la influencia de

    aceleraciones externas la masa ssmica se mueve de su posicin neutral. La deflexin de la masa es

    medida de manera anloga o digital.

    Muchos acelermetros MEMS funcionan solo en su plano de trabajo, esto implica que hay queorientar el sensor para poder medir el plano deseado. Los MEMS mas modernos integran las

    mediciones de tres planos en un solo CI (Circuito Integrado). De esta manera solo se tiene que

    referenciar la posicin del CI para saber que plano es cada cual.

    Los acelermetros MEMS estn disponibles en una gran variedad de rangos de medicin, ya sea con

    la capacidad de captar magnitudes del orden de miles de gs o de tener una sensibilidad que pueda

    sensar el mnimo cambio en la magnitud. El diseador debe hacer un compromiso entre

    sensibilidad y la mxima aceleracin que puede ser medida.

    Un acelermetro por si solo no es apropiado para determinar cambios en orientacin cuando lavertical de gravedad es significante, como sucede en una aeronave o cohetes. En la presencia de un

    gradiente gravitacional, la calibracin y el proceso de reduccin de datos es numricamente

    inestable.

    Fig. 2.11 Burbuja de gas dentro del acelermetro MEMS [2]

    25

  • 8/9/2019 mandos helicoptero

    32/138

    Otro tipo de MEMS para medir la aceleracin est formado de paredes paralelas que registra el

    movimiento entre cada una de ellas, dependiendo de la vibracin o aceleracin aplicada al

    dispositivo se obtiene la lectura. Estos sensores son muy delicados, susceptibles a degradacin por

    polvo, agua y a cualquier contacto fsico. Tales degradaciones se atenan cuando el dispositivo est

    encapsulado.

    Un acelermetro puede ser usado para determinar la actitud de una aeronave, en especial losngulos de navegacin pitch y roll.

    En la figura 2.12 se aprecia la gravedad en la flecha roja, y la flecha azul es la aceleracin que est

    sensando el dispositivo.

    Fig. 2.12 Demostracin de lectura de un acelermetro

    El ngulo theta entre el vector gravedad y el medido por el sensor, est relacionado con el ngulo

    de navegacin pitch, se puede calcular de la siguiente manera:

    ngulo Pitch = + 90

    Se conoce la gravedad, entonces se puede calcular el ngulo theta:

    Acelermetro = cos () * gravedad

    Entonces:

    = acos (acelermetro / gravedad )

    Para calcular el ngulo roll, se hace bsicamente lo mismo, solamente se necesita un acelermetro

    extra con un eje perpendicular al acelermetro del pitch.

    26

  • 8/9/2019 mandos helicoptero

    33/138

    Al tener la funcin coseno dos soluciones posibles para un mismo valor en el intervalo [-pi pi], es

    necesario determinar cul de ellas es la correcta de acuerdo con el marco de referencia.

    El problema del coseno inverso, es que no nos puede dar los 360 grados del ngulo de navegacin

    pitch, porque un plano que esta apuntando al cielo, y otro apuntando al suelo, nos dara una

    medicin de cero.

    Una solucin puede ser el uso de otro acelermetro de referencia para distinguir estos casos. La otra

    solucin es usar la tangente inversa de dos argumentos la cual nos dar el ngulo resultante dentro

    del cuadrante correcto:

    Pitch = atan2 ( acelermetro / gravedad , z / gravedad )

    Por ende, para poder calcular de manera correcta los ngulos de navegacin pitch y roll, se

    necesitan 3 acelermetros, 2 para cada plano de navegacin y el acelermetro Z para tenerlo de

    referencia para cada plano.

    Existe un problema con los acelermetros relacionado a la medicin de ngulos. Cuando el sensores desplazado experimenta una aceleracin debida al movimiento inercial. Esta aceleracin crea

    componentes sobre los ejes de referencia del acelermetro haciendo que el clculo se vuelva

    invlido. Por ejemplo, en una trayectoria circular, la aceleracin centrpeta acta en el sensor

    haciendo que estos pierdan la referencia y por ende una lectura incorrecta de orientacin adems

    de los problemas de vibracin. Estos problemas se resuelven en conjunto con los giroscopios,

    usando los datos provenientes de los giroscopios y de los acelermetros.

    Unidad de medicin inercial ( IMU )

    Los giroscopios y acelermetros en conjunto

    son la tecnologa adecuada para determinar

    la orientacin de una aeronave (figura 2.13).

    Soportan mejor las vibraciones y las

    condiciones ambientales adversas y en

    conjunto son ms precisos que cualquier

    otro dispositivo.

    Las unidades de medicin inercial son

    dispositivos electrnicos que miden la

    velocidad angular y la aceleracin que

    experimenta la aeronave, usando una

    combinacin de acelermetros y giroscopios.

    27

    Fig. 2.13 Orientacin espacial [1]

  • 8/9/2019 mandos helicoptero

    34/138

    Bsicamente las IMUs son sistemas que constan de diversos componentes elctricos y electrnicos

    montados en un circuito impreso (PCB). Los acelermetros y giroscopios son acondicionados con

    los dems componentes elctricos; para que funcionen correctamente y entreguen al sistema

    central las medidas analgicas de cada uno de ellos.

    Los hay de diferentes configuraciones, desde 3 Grados de

    libertad (DOF) hasta 9 DOF. El ms comn es el de 6 DOF

    que consta tres acelermetros y tres giroscopios (cada

    uno para un eje) lo que hace que se puedan obtener las

    mediciones exactas de los ngulos de navegacin pitch y

    roll; adems de poder tener una medicin no referenciada

    del nguloyaw.

    Para tener una medicin correcta del yawse requiere una

    referencia en el plano ortogonal al eje Z; lo cual solo lopuede ofrecer un magnetmetro. Este sensor mide la

    intensidad del campo magntico en tres ejes ortogonales,

    dos de estas mediciones se usan como referencia para

    corregir la velocidad angular del giroscopioyaw.

    Las IMUs son solamente un subsistema

    del sistema de navegacin. Otros

    sistemas ya sean de hardware osoftware son necesarios para corregir

    las inexactitudes que inevitablemente

    se presentan.

    Las primeras IMUs eran grandes y

    estorbosas ya que los acelermetros y

    g i roscop ios te nan que e star

    posicionados respecto al plano o eje

    que medan. Se presentan ejemplos en

    las figuras 2.14 y 2.15.

    Las ms modernas IMUs son planas,

    porque los nuevos sensores MEMS no

    necesitan estar en el plano que miden.

    Algunos ejemplos se muestran en las

    figuras 2.16 y 2.17.

    28

    Fig. 2.14 IMU 6DOF v4 [3]

    Fig. 2.15 Atomic IMU 6DOF [3]

  • 8/9/2019 mandos helicoptero

    35/138

  • 8/9/2019 mandos helicoptero

    36/138

    Unidad de medicin inercial

    Esta unidad IMU (Inertial Measurement Unit) no cuenta con regulacin de voltaje, por lo que se

    tiene que alimentar con un voltaje estable de 3.3 volts, contiene capacitores de filtrado, un filtro

    paso bajas, y otro paso altas. Se muestra el sensor en proporcin en la figura 2.18.

    Fig. 2.18 Vista frontal IMU 6DOF Razor [3]

    Acelermetro ADXL335

    El ADXL335 es un acelermetro MEMS de 3 ejes, de bajo consumo de energa, tamao reducido

    (4mm x 4mm x 1.45mm).

    Este producto mide aceleracin con un rango mnimo de escala total de +- 3g. Puede medir

    aceleracin esttica de la gravedad en aplicaciones de inclinacin, o aceleracin dinmica

    proveniente de movimiento, vibracin o golpes. Nos entrega informacin de aceleracin en cada

    uno de los ejes de medicin (x , y , z).

    Contiene un sensor de polisilicio micromaquinado (estructura de wafer-on-wafer) adems de

    circuitera de acondicionamiento de seal para implementarlo en una arquitectura de medicin de

    30

  • 8/9/2019 mandos helicoptero

    37/138

    aceleracin de lazo-abierto. Las

    seales de salida son voltajes

    a n a l g i c o s q u e s o n

    proporcionales a la aceleracin.

    Tal descripcin se aprecia en la

    figura 2.19.

    En la figura 2.20 se indican los

    e j e s d e r e f e r e n c i a d e l

    acelermetro con respecto a la

    o r i e n t a c i n e s p a c i a l d e l

    encapsulado. En la figura 2.21 se

    muestran ejemplos de diferentes

    posiciones del encapsulado y los valores obtenidos como resultado de la medicin de la aceleracin

    gravitatoria.

    Giroscopio LPR530AL - LY530AHL

    Estos dispositivos MEMS son giroscopios cuya funcin es detectar la razn de cambio en los ejes

    Roll, Pitch y Yaw. Son la combinacin de un actuador y un acelermetro en una estructura

    micromaquinada.

    31

    Fig. 2.19 Diagrama de funcionamiento [2]

    Fig. 2.20 Ejes de aceleracin [2] Fig. 2.21 Respuesta VS Orientacin [2]

  • 8/9/2019 mandos helicoptero

    38/138

    Incluye un elemento sensor compuesto de una masa movible, que se mantiene en movimiento de

    oscilacin continuo y es capaz de reaccionar cuando una razn de cambio angular es aplicada con

    el principio de Coriolis.

    Los giroscopios producen voltajes analgicos proporcionales a la razn del cambio angular.

    Si la rotacin es en sentido inverso a las manecillas del reloj, se producir un voltaje en sentido

    positivo, incrementndose respecto al voltaje en posicin estable.

    Si la rotacin es en sentido a las manecillas

    del reloj, se producir un voltaje en sentido

    negativo, decrementndose respecto al

    voltaje en posicin estable.

    En la figura 2.24 se aprecia el sentido

    positivo de la rotacin con respecto a los

    ejes de referencia del encapsulado.

    Provee una excelente estabilidad en

    diferentes rangos de temperaturas, siendo

    ms eficiente en el rango de -40 C a 85 C.

    En los diagramas de funcionamiento (figura 2.22 y 2.23) se aprecian los dispositivos involucrados en

    la medicin de la razn angular para cada eje X, Y y a Z. Ambos giroscopios integran filtros paso-

    bajas, consumen poca energa y tienen alta supervivencia a impactos y vibracin.

    !"#!$%&'((')*

    !'&!+'%,&-.-&-)!- /01,- *-)-&1%#&

    3&'4')* (1,,

    3-(#3+"1%#&

    !01&*-1(/"'.'-&

    ,5'%!0-3

    67#+% 8 9:;?>@AB

    "#5C/1,,

    !1/1!'%#&

    .'"%-&

    #EF:=

    .>=D@G

    "/

    *1')67

    .@@AH:IJ =EE@A+z ?>=D@G@A ELD

  • 8/9/2019 mandos helicoptero

    39/138

    !"#!$%&'((')*

    !'&!+'%,&-.-&-)!-

    /-(#/+"0%#&!10&*-0(2"'.'-&

    210,- *-)-&0%#&

    ,4'%!1-/

    56 #+% 7 89:;=?@A

    7BC

    "#4D20,,

    !020!'%#&

    .'"%-&

    /&'E')* (0,,

    F

    D

    /-(#/+"0%#&

    !10&*-0(2"'.'-&

    ,4'%!1-/

    56 #+% C 89:;=?@A

    "#4D20,,

    !020!'%#&

    .'"%-&

    #;G=HI9 1){

    filterVal = .99;

    }else if (filterVal

  • 8/9/2019 mandos helicoptero

    47/138

  • 8/9/2019 mandos helicoptero

    48/138

  • 8/9/2019 mandos helicoptero

    49/138

    acelermetros perpendiculares al giroscopio. La correccin que hacemos con el acelermetro es ne-

    cesaria por el efecto de deriva que tiene el giroscopio.

    Ahora bien, debemos recalcar que el ngulo no es posible obtenerlo de forma correcta a partir de

    solo acelermetros. Suena bien solo usar un par de acelermetros pero esto solo aplica cuando el

    cuerpo no tiene alguna aceleracin, es decir, si el cuerpo experimenta una aceleracin los aceler-

    metros la registran y por lo tanto la medicin que nos proporciona seria un ngulo incorrecto por-que una de las componentes utilizadas para medir el ngulo se vera influenciada.

    Continuando con la implementacin, formamos nuestro espacio de estados discreto el cual est

    formulado como [7]:

    Ecuacin 2.3

    El vector de estados son los valores de y biasque corresponden al ngulo y al valor de giroscopio

    en estado estacionario. La entrada u es el valor de giroscopio en el tiempo k y el diferencial dt nos

    indica el tiempo entre muestras.

    Ecuacin 2.4

    Por otro lado nuestra medicin proviene del ngulo calculado a travs del acelermetro. Los valores

    de varianza del sistema est expuesto en la matriz Q y de la medicin en el escalar R.

    En el contexto del microcontrolador se realiz una simplificacin de clculos. Se definen tres funcio-

    nes principales:

    Inicializacin de valores

    Coloca los valores inciales del vector de estado a cero y de la matriz de correlacin donde la diago-nal principal reflejan la autocorrelacin del error para cada componente del vector de estados que

    es igual a uno. Esto se ejecuta en la funcin kalmanInitState.

    Actualizacin del vector de estados

    Esta funcin representa la estimacin del vector de estado. Calcula el vector de estados y calcula la

    matriz de correlacin a priori. El nuevo valor del ngulo es realizado mediante la suma del valor an-

    43

  • 8/9/2019 mandos helicoptero

    50/138

    terior del ngulo ms el valor del giroscopio en la medicin actual (q_m) sin el trmino del valor de

    biasmultiplicado por dt. La funcin que realiza esta tarea es state_update.

    Correccin del vector de estados

    La correccin del vector de estados se realiza en la funcin kalman_update obteniendo el error del

    ngulo medido por el acelermetro con el ngulo estimado por el giroscopio. En el clculo de la ga-

    nancia de Kalman hay un trmino que se usa dos veces que es

    y es calculado como:

    PCt_0 = C_0 * p_kd->P[0][0];

    PCt_1 = C_0 * p_kd->P[1][0];

    Ecuacin 2.5

    Se omite el segundo valor de la matriz C (C_1) porque tiene un valor cero.

    Tambin se corrige la matriz de covarianza con el clculo anticipado del trmino para que

    solo sea calculado una vez y no dos veces.

    La ejecucin de estas dos ltimas funciones se realiza a intervalos con valor dtque es obtenido me-

    diante el temporizador cero el cual cuenta el nmero de milisegundos que posteriormente se trans-

    forman a segundos para utilizarlos en tales funciones.

    Lectura del canal PPM

    El canal Modulacin por Posicin de Pulsos (Pulse Position Modulation, PPM) es una manera de

    codificacin/decodificacin para modulacin de seal, es un tipo de modulacin en la cual una

    palabra R bits es codificada por la transmisin de un nico pulso que puede encontrarse en alguna

    de las 2^M posiciones posibles.

    Los sistemas PPM consisten en un marco de datos que contiene un pulso sincronizador seguido porun nmero de pulsos pequeos que son iguales al nmero de canales que tenga el radiocontrol.

    Esta estructura se muestra en la figura 2.33 donde vemos que cada canal es codificado a travs de la

    duracin del pulso.

    44

  • 8/9/2019 mandos helicoptero

    51/138

  • 8/9/2019 mandos helicoptero

    52/138

    La duracin del ciclo de trabajo codificado de cada seal es proporcional con la duracin del ciclo

    de trabajo de una Modulacin por ancho de Pulso (Pulse Width Modulation, PWM) para controlar un

    servomotor lo que hace transparente el manejo de estos valores. Esta proporcin fue determinada

    empricamente como la mitad de su valor.

    Esta es la manera mas eficiente y adecuada para poder obtener los canales de cualquier receptor

    comercial de radiocontrol, debido a la simplicidad.

    Para poder leer esta seal se sold un cable al pin

    nmero uno del registro de corrimiento del recep-

    tor [DS SHIFT REGISTER]mostrado en la figura 2.35 y

    se coloc en la entrada nmero cinco del Arduino.

    Nuestra tarea es poder identificar la duracin de los

    pulsos en bajo de las seales para conocer el valor

    que se envan a los servomotores.

    Para hacer las cosas mas eficientes, se recurri ausar uno de los 3 timers del Arduino, se usa el

    Timer1 para poder leer el canal PPM y obtener

    todos los canales del radiocontrol.

    Se utiliza el TIMER1 en modo de captura para pro-

    cesar la informacin cada vez que exista un flanco

    de subida en la seal que indica el final del ciclo de trabajo. Por cada flanco comprobamos si fue el

    inicio de marco o si fue el ciclo de trabajo de alguna de las seales. Por cada seal obtenida se escala

    a la mitad.

    De esta forma podemos conocer los valores de todos los canales a travs de uno solo, adems que

    no demanda gran tiempo de procesador ya que est sujeto al vector de interrupciones del Timer1.

    La funcion setup_timer1 (figura 2.36) lo que hace es configurar al Timer1, para que solamente

    funcione segn se requiera y desactivar las dems funciones que hacen uso del Timer1.

    46

    2Q3B

    Q1A

    Q0A

    DA

    Q2B 3

    4

    5

    6RESETA

    7

    8

    15

    14

    13

    12

    11

    10

    9VSS

    1CLOCKB

    DB

    VDD

    Q0B

    Q1B

    Q2B

    Q3A

    RESETB

    CLOCKA

    16

    Q3 Q2 Q1

    CL R D

    Q0

    CL R D

    Q0 Q1 Q2 Q3

    Fig. 2.35 Shift register

  • 8/9/2019 mandos helicoptero

    53/138

    47

    ----------//Configuracin del Timer1//----------

    void setup_timer1(){

    //Desactivar todas las interrupciones | disable al l interupts

    TIMSK1 &= ~( _BV(TOIE1) | _BV(ICIE1) | _BV(OCIE1A) | _BV(OCIE1B));

    //Fi jar modo del timer | set timer mode

    TCCR1A &= ~( _BV(WGM11) | _BV(WGM10) );

    TCCR1B &= ~( _BV(WGM12) | _BV(WGM13) | _BV(ICNC1));

    //Capturar flanco de subida | capture raising edge

    TCCR1B |= _BV(ICES1); //capture raising edge

    //Prescaler 1/8

    TCCR1B |= _BV(CS11);

    TCCR1B &= ~( _BV(CS12) | _BV(CS10) );

    //Desactivar salidas | disable outputs

    TCCR1A &= ~( _BV(COM1A0) | _BV(COM1A1) | _BV(COM1B0) | _BV(COM1B1));

    //Act ivar interrupcion de captura | enable captu re interrupt

    TIMSK1 |= (1

  • 8/9/2019 mandos helicoptero

    54/138

    Envo de datos a la estacin base

    Una de las funciones temporales del Arduino, es la envo de datos a la estacin base va puerto

    serial. Es una funcin temporal ya que slo funciona para depurar errores y mantenernos

    informados acerca del estado del sensor y del Arduino en la etapa de desarrollo.

    Nuestras necesidades de obtencin de informacin son las siguientes:

    Datos capturados directamente del sensor, 6 datos de voltajes analgicos ( 0 - 1024 por dato).

    El estado de los clculos del filtro Kalman, los ngulos calculados, la razn de cambio y el

    sesgo para cada ngulo.

    Los valores del radiocontrol de los canales 1, 2 y 5 (cclico lateral, cclico longitudinal e

    interruptor de activacin).

    Los valores calculados por el sistema difuso para el PWM controlado de los servomotores.

    Se tiene una cadena aproximadamente de 100 a 150 caracteres por mensaje. Se dise un sistema

    de mensajes que tuviera un inicio de mensaje representado por !!! y un final de mensaje

    representado por ***.

    En la figura 2.37 se muestra el cdigo del Arduino para enviar los mensajes a la estacin base, el cual

    se cre de tal manera que, para el caso de PRINT_ANALOGS sea igual a uno, se mande imprimir y si

    vale cero, no se mande a imprimir; es lo mismo para los dems casos. De esta manera se puede

    controlar fcilmente que mande y que no mande a la estacin base.

    Para la estacin base se escogi el software Labview (Laboratory Virtual Instrument Engineering

    Workbench) por su facilidad y versatilidad para hacer Interfaces mquina - humano (Human Machine

    Interfaces,HMIs).

    En la interfaz se exhiben de manera grfica y textual los datos que han sido recibidos por el puerto

    serial, que muestra en figura 2.38. En la parte inferior izquierda se aprecian los valores analgicos de

    la IMU o sea, los valores de los acelermetros y de los giroscopios para cada eje.

    En ea lado derecho se tienen dos pantallas estilo osciloscopio, en la superior aparecen las 3 seales

    del acelermetro y en la inferior las de los giroscopios; estos grficos tienen historia, de tal manera

    que podemos apreciar la vibracin u otros problemas que se vayan presentando de manera

    histrica.

    En la parte central de la interfaz, se muestran dos indicadores deslizantes para las posiciones del

    cclico lateral y longitudinal del radiocontrol del piloto. El cubo verde superior derecho sirve para la

    simulacin 3D y se utiliza para apreciar la orientacin espacial del helicptero.

    48

  • 8/9/2019 mandos helicoptero

    55/138

    ----------//Envo de datos por puerto serie//----------

    void printdata(void){

    Serial.print("!!!");

    #if PRINT_ANALOGS == 1

    Serial.print("AN0:");

    Serial.print(read_adc(0));

    Serial.print(",AN1:");

    Serial.print(read_adc(1));

    Serial.print(",AN2:");

    Serial.print(read_adc(2));Serial.print(",AN3:");

    Serial.print(read_adc(3));

    Serial.print(",AN4:");

    Serial.print(read_adc(4));

    Serial.print(",AN5:");

    Serial.print(read_adc(5));

    Serial.print (",");

    #endif

    #if PRINT_KALMAN == 1

    Serial.print("ANX:");

    Serial.print(ToDeg(xkaldata.angle));

    Serial.print(",ANY:");

    Serial.print(ToDeg(ykaldata.angle));

    Serial.print(",RTX:");

    Serial.print(ToDeg(xkaldata.rate));

    Serial.print(",RTY:");

    Serial.print(ToDeg(ykaldata.rate));

    Serial.print(",BSX:");

    Serial.print(ToDeg(xkaldata.q_bias));

    Serial.print(",BSY:");

    Serial.print(ToDeg(ykaldata.q_bias));

    Serial.print (",");

    #endif

    #if PRINT_RADIO == 1

    Serial.print("RC1:");

    Serial.print(serinp[0]);

    Serial.print(",RC2:");

    Serial.print(serinp[1]);

    Serial.print(",RC3:");

    Serial.print(serinp[4]);

    Serial.print (",");

    #endif

    #if PRINT_CONTROL == 1

    Serial.print("LAT:");

    Serial.print(lat);

    Serial.print(",LON:");

    Serial.print(lon);

    Serial.print (",");

    #endif

    Serial.println("***");

    }

    ----------//------------------//----------

    Fig. 2.37 Envo de datos por puerto serial

    49

  • 8/9/2019 mandos helicoptero

    56/138

    Finalmente, en la esquina inferior izquierda de la figura 2.38 aparecen los indicadores de los ngulos

    roll,pitchyyaw. En la figuras 2.39 y 2.40 se ilustra una parte del diagrama de bloques del VI principal

    de la interfaz grfica.

    50

    Fig. 2.38 Interfaz grfica de la estacin base

  • 8/9/2019 mandos helicoptero

    57/138

    ***

    AN2:

    AN3:

    AN4:

    AN5:

    ANY:

    RTX:

    ANX:

    AN1:

    AN0:

    RTY:

    BSX:

    GyroY

    GyroZ

    GyroX

    AcelX

    AcelY

    AcelZ

    Gyro X

    Gyro Y

    Gyro Z

    Accel Z

    Accel Y

    Accel X

    BSY:

    Pitch(Theta)

    Roll(Phi)

    30 7

    30 7

    30 7

    String

    ( x*3.1416)/180

    0

    1

    SceneObject

    AngleAngle

    AxisAxis

    Transformation.Set RotationTransformation.Set Rotation

    SceneObject

    AngleAngle

    AxisAxis

    Transformation.RotateTransformation.Rotate

    10

    ( x*3.1416)/180

    TT

    1

    0

    (-x*3.1416)/180

    Pitch(Theta)

    Yaw(Psi)Roll(Phi)

    18 0

    Cubo

    VI

    StateState

    ActivateActivate

    FP.OpenFP.Open

    Serial Terminal

    Hidden

    Standard

    Roll

    Pitch

    Rate X

    Rate Y

    Bias X

    Bias Y

    Grabar DatosRC1:

    RC2:

    RC 1

    RC 2

    LAT:

    LON:

    LAT

    LON

    RC3:

    RC 3

    SceneObject

    DrawableDrawable

    Set DrawableSet Drawable

    1

    VI

    StateState

    ActivateActivate

    FP.OpenFP.Open

    :Serial_server.vi

    Standard

    VI

    Exec.State

    VI

    Auto Dispose RefAuto Dispose Ref

    Wait Until DoneWait Until Done

    Run VIRun VI

    "Idle"

    :

    Fig. 2.39 Diagrama de bloques de la interfaz (parte 1)

    51

  • 8/9/2019 mandos helicoptero

    58/138

    Yaw(Psi)

    gz

    gx

    gy

    SceneObject

    AngleAngle

    AxisAxis

    ransformation.Rotateransformation.Rotate

    stop

    1

    Yaw

    3D Picture Control

    Acelerometros

    Giroscopios

    0

    0

    True

    s

    VI

    FP.State

    VI

    FP.CloseFP.Close

    "Standard"

    AlduxMac:Users:aldux:Documents:Escuela:Tesis:RUAV:Arduino:IMU Labview Kalman:Datos.txt

    replace or create

    Fig. 2.40 Diagrama de bloques de la interfaz (parte 2)

    52

  • 8/9/2019 mandos helicoptero

    59/138

    3.- Control

    Sistemas Neuro-Difusos

    Los sistemas neuro-difusos forman parte de una nueva tecnologa de computacin llamada

    computacin flexible (soft-computing), la cual tiene su origen en la teora de la inteligencia artificial.

    La computacin flexible engloba un conjunto de tcnicas que tienen en comn la robustez en el

    manejo de la informacin imprecisa e incierta que existe en los problemas relacionados con el

    mundo real [1].

    Las redes neuronales (RNAs) son la implementacin en hardware y/o software de modelos

    matemticos idealizados de las neuronas biolgicas. Las RNAs son interconectadas unas a otras y

    son distribuidas en capas de tal forma que emula en forma simple la estructura neuronal del

    cerebro. Cada modelo de neurona es capaz de realizar algn tipo de procesamiento a partir de

    estmulos de entrada y ofrecer una respuesta, por lo que las RNAs en conjunto funcionan comoredes de computacin paralelas y distribuidas similares a los sistemas cerebrales biolgicos. Las

    RNAs, tal como los sistemas cerebrales biolgicos, deben de ser entrenadas.

    La lgica difusa o borrosa es una tcnica de computacin flexible que le permite a una

    computadora clasificar informacin del mundo real en una escala infinita acotada por los valores

    falso y verdadero; tiene por objeto proporcionar un soporte matemtico formal al razonamiento

    basado en el lenguaje natural, el cual se caracteriza por tratarse de un razonamiento de tipo

    aproximado que hace uso de proposiciones que expresan informacin de carcter impreciso.

    Algunas de las caractersticas de la lgica difusa son:

    Su escalamiento es sencillo

    Es tolerante a datos imprecisos

    Puede ser construida sobre la informacin de la experiencia de los pilotos que manejan el

    helicptero

    53

    Sistemas Neuro-Difusos

  • 8/9/2019 mandos helicoptero

    60/138

    Est basada en el lenguaje utilizado por humanos (Reglas Lingsticas)

    Algunos modelos permiten que los conceptos matemticos empleados sean sencillos

    (Mximos, Mnimos, Ponderaciones)

    La lgica difusa debe de ser distinguida de la incertidumbre en el sentido en que la lgica difusa

    describe la ambigedad de un evento, mientras que la incertidumbre la ocurrencia de un evento.

    La lgica difusa y las redes neuronales tienen propiedades computacionales particulares que las

    hacen adecuadas para ciertos problemas particulares. Las redes neuronales ofrecen ventajas como

    el aprendizaje, adaptacin, tolerancia a fallas, paralelismo y generalizacin mientras que los

    sistemas difusos razonan con informacin imprecisa a travs de un mecanismo de inferencia bajo

    incertidumbre lingstica, son buenos explicando sus decisiones pero no pueden adquirir

    automticamente las reglas que usan para tomarlas.

    Los sistemas neuro-difusos combinan la capacidad de aprendizaje de las RNAs con el poder de

    interpretacin de los sistemas de inferencia difusos cuyas caractersticas son las siguientes:

    Aplicabilidad de los algoritmos de aprendizaje desarrollados para redes neuronales

    Posibilidad de promover la integracin de conocimiento (implcito que puede ser adquirido

    a travs del aprendizaje y explcito que puede ser explicado y entendido)

    La posibilidad de extraer conocimiento para una base de reglas difusas a partir de un

    conjunto de datos

    Redes Neuro-difusas

    El sistema neuro-difuso tiene como componentes un sistema difuso, el cual tiene la funcin de eva-

    luar las acciones a tomar dependiendo de las entradas recibidas a travs de varios mecanismos y de

    una red neuronal artificial MLP (multi layer perceptron), que tiene el propsito de ajustar los par-

    metros de las curvas de las funciones de membresa para la fuzificacin y los valores de los single-

    tons(en nuestro caso) para la construccin de valor numrico de la variable de salida [2].

    La justificacin para usar estos dos sistemas obedece a poder compensar las debilidades que tienecada uno.

    Las fortalezas del sistema difuso son que puedes tratar el problema mediante un lenguaje natural,

    definir conjuntos que permitan la estructuracin y clasificacin de la informacin de forma que

    cualquier humano que conozca el proceso lo pueda comprender.

    54

  • 8/9/2019 mandos helicoptero

    61/138

    Su debilidad radica en que se deben ajustar los parmetros que definen los conjuntos de informa-

    cin.

    Por otro lado las fortalezas de la red neuronal artificial reside en que la informacin es auto organi-

    zada lo que implica que automticamente la red tiene su propia representacin de la informacin;

    tiene un proceso de aprendizaje iterativo haciendo que cada vez reproduzca con mejor fidelidad el

    comportamiento que debe de tener ante una serie de estmulos y; por ltimo, la generalizacin dela respuesta que, ante estmulos no conocidos puede dar una respuesta asertiva [1].

    Una muy grande desventaja es que requiere que los datos de entrenamiento sean representativos,

    abundantes y sin ruido; adems, hay que definir la arquitectura de la red indicando el nmero de

    capas, nmero de neuronas por capa y las funciones de activacin de cada capa.

    Caractersticas de los sistemas neuro - difusos

    Los sistemas neuro - difusos trasladan el conocimiento a priorien una topologa de red donde exis-

    ten capas que representan las entradas, parmetros de las funciones de membresa, las reglas y la

    salida. Los sistemas difusos Takagi-Sugeno de orden cero (singleton) son los mejores para trabajar

    con redes neuronales artificiales. El entrenamiento de retropropagacin se usa para ajustar los pa-

    rmetros de las funciones de membresa, la suma de los mnimos cuadrados calcula los coeficientes

    polinomiales.

    Sinergizando las ventajas de cada una se obtienen una rpida convergencia debido al entrenamien-

    to usado, automticamente se realiza el ajuste fino del sistema difuso y se garantiza que la curva decontrol sea suave debido a las interpolaciones que hace el mecanismo de inferencia con las reglas.

    Su contraparte es que el nmero de reglas crece exponencialmente a razn de pnveces, donde p es

    el nmero de funciones de membresa por variable de entrada y n es el nmero de variables de en-

    trada. Existen oscilaciones alrededor de los puntos de la superficie de control debido a la alta canti-

    dad de particiones. El nmero de salidas est restringido a una variable.

    A grandes rasgos, los sistemas difusos proveen interpolacin y suavidad en la curva que define al

    control mientras que las redes neuronales artificiales agregan adaptabilidad de los parmetros del

    sistema difuso mediante el entrenamiento de retropropagacin [2].

    En la tabla 3.1 se observan las principales comparaciones que tienen la lgica difusa y las redes neu-

    ronales artificiales.

    55

  • 8/9/2019 mandos helicoptero

    62/138

    Lgica Difusa Redes Neuronales

    Permite utilizar el conocimiento

    disponible para optimizar el sistema

    directamente

    No existe un mtodo sencillo que

    permita modificar u optimizar la

    red, ya que esta se comporta como

    una caja negra

    Permite describir el

    comportamiento de un sistema a

    partir de sentencias si - entonces

    La seleccin del mtodo apropiado

    de red y el algoritmo de

    entrenamiento requiere de mucha

    experiencia

    Permite utilizar el conocimiento de

    un experto

    Permite hallar soluciones a partir de

    un conjunto de datos

    El conocimiento es esttico Son capaces de aprender y de auto-

    adaptarse

    Existen muchas aplicaciones

    comerciales

    Su aplicacin es mayormente

    acadmica

    Permiten encontrar soluciones

    sencillas con menor tiempo de

    diseo

    Requieren un enorme esfuerzo

    computacional

    Tabla 3.1 Comparacin de sistemas difusos y neuronales

    Sistemas difusos

    Las decisiones humanas son muy difciles de realizar mediante un sistema de cmputo debido a las

    diversas condiciones y circunstancias que afectan el procesamiento. La experiencia de un humano

    no puede ser modelada ya que ese conocimiento fue adquirido de forma emprica, para que una

    computadora pueda replicar las acciones de un humano debe aprender de forma emprica tales co-

    nocimientos.

    Los sistemas difusos son una forma de lograr este cometido, se basan en la teora de conjuntos difu-

    sos y lgica difusa para captar y aplicar el conocimiento.

    Nuestras vidas se estructuran en sistemas donde tenemos clasificaciones de los eventos que nos

    rodean. Estas clasificaciones nos proporcionan tener un conocimiento estructurado acerca de nues-

    tro entorno. Las clasificaciones que aplicamos son las definiciones de conjuntos, hay una situacin

    que debemos aclarar, Qu pasa cuando un evento tiene cierto grado de pertenencia a un conjun-

    to?, por ejemplo, se puede hablar del enunciado Los condones que ofrecen la mxima proteccin.

    Estamos seguros que ciertas marcas ofrecen mayor proteccin que otras pero no todas ofrecen el

    56

  • 8/9/2019 mandos helicoptero

    63/138

    100% o el 0% de proteccin por lo que existe un gradiente que indica que tanto un marca de con-

    dones satisface la premisa. As pues definimos los conjuntos difusos como aquellos en que sus ele-

    mentos tienen un grado de pertenencia siendo una generalizacin de los conjuntos determinados.

    La lgica difusa es una metodologa que proporciona una manera simple y elegante de obtener una

    conclusin a partir de informacin de entrada vaga, ambigua, imprecisa, con ruido o incompleta.

    Para poder aplicar un sistema difuso a un problema fsico es necesario hacer varias transformacionesa la informacin que nos proporciona el problema. Primero se tiene que definir cul es el dominio

    de las variables de entrada, es decir, cual es el rango de valores que adquieren las distintas variables.

    El universo del discurso consiste en definir los lmites de las variables de entrada.

    El conocimiento que adquiere un humano es siempre cualificado por lo que es necesario asignar

    etiquetas al grupo de valores que adquieren las variables. No hay lmite para el nmero de etique-

    tas; entre ms etiquetas tenga una variable mejor asertividad se logra pero con un costo de proce-

    samiento mayor. Generalmente con tres etiquetas es suficiente para iniciar.

    Ahora hay que establecer una manera de poder asignar la experiencia (informacin cualificada) endatos determinsticos (informacin cuantificada). Este proceso se hace mediante una funcin de

    membresa la cual define el grado de pertenencia que tiene un elemento del universo del discurso

    sobre un conjunto difuso. El conjunto difuso viene siendo la etiqueta que definimos previamente y

    el elemento es uno de los valores que puede adquirir la variable. Un elemento pude estar pertene-

    ciendo a ms de un conjunto difuso pero con diferente grado.

    La funcin de membresa es una funcin que tiene como imagen el rango [0,1] siendo cero ninguna

    pertenencia y uno total pertenencia al conjunto. Estas funciones tienen parmetros que configuran

    el rango del dominio. Cada etiqueta tiene asociada una funcin de membresa [3].

    Funciones de membresa

    Las primeras funciones de membresa son la triangular y trapezoidal. Estas funciones son fciles de

    calcular y se basan en el uso de segmentos de recta para definir la forma. La funcin triangular

    (ecuacin 3.1) se define mediante tres puntos; el primero indica inicio de la pendiente ascendente,

    el segundo es el pico del tringulo y el tercero el trmino de la pendiente descendente. La funcintrapezoidal (ecuacin 3.2) define un punto medio adicional para trazar una meseta en la parte supe-

    rior.

    57

  • 8/9/2019 mandos helicoptero

    64/138

    Fig. 3.1 Funciones triangular y trapezoidal [3]

    Ecuacin 3.1

    Ecuacin 3.2

    Basados en la distribucin gausiana, en la figura 3.2 se muestra la primera funcin de membresa,

    esta es simtrica teniendo como parmetros de construccin la desviacin estndar y valor prome-dio. La segunda funcin est definida por dos funciones gausianas, una por la izquierda y otra por la

    derecha las cuales, se unen en el punto central sin sobrepasar el valor de 1. La ltima es una distri-

    bucin de campana con los parmetros de desviacin estndar, ancho de la meseta y promedio. Se

    muestran las funciones en las ecuaciones 3.3 y 3.4.

    Fig. 3.2 Funciones gausianas [3]

    58

  • 8/9/2019 mandos helicoptero

    65/138

    Ecuacin 3.3

    Ecuacin 3.4

    Las funciones sigmoidales son asimtricas (figura 3.3), las ltimas dos son variantes de la primera. La

    segunda funcin es la diferencia de dos sigmoidales y la tercera es el producto de ellas. Se muestra

    en la ecuacin 3.3.

    La funcin sigmoidal se define mediante el punto de inflexin y la desviacin estndar.

    Fig. 3.3 Funciones sigmoidales [3]

    Ecuacin 3.5

    Todo lo anterior se engloba en un trmino llamando variable lingstica la cual se define mediante

    el vector de la ecuacin3.6.

    L=[ x, T, X, M ]

    Ecuacin 3.6

    De la ecuacin anterior, cada componente indica:

    59

  • 8/9/2019 mandos helicoptero

    66/138

    xes el nombre de la variable lingstica que es el equivalente del nombre de la variable de

    entrada.

    Tson las etiquetas en las que se representa los valores que adquiere la variable de forma cua-

    lificativa.

    X es el universo del discurso el cual contiene el dominio de la variable x el cual puede ser

    continuo o discreto.

    M son las funciones de membresa que asocia a las etiquetas T con los valores X del universo

    de discurso.

    Todo el anterior proceso se conoce como fuzzificacin que en resumidas palabras es la tarea de

    convertir los valores determinsticos a difusos en donde cada valor que adquiere la variable tiene un

    cierto grado de pertenencia a los conjuntos difusos definidos para tal variable. El grado de perte-

    nencia para cada conjunto difuso lo definen las reglas de membresa. Estas funciones deben ser

    continuas y se definen sobre el dominio de la variable.

    Para procesar las variables de entrada es necesario crear reglas que indiquen que acciones se tienen

    que tomar dada una serie de condiciones llamado antecedente. Las reglas tienen la siguiente es-

    tructura:

    SI ANTECEDENTE ENTONCES CONSECUENTE

    La formulacin de la regla es mediante la condicin SI, y est compuesta por el antecedente que

    consiste de las condiciones formuladas con operadores difusos sobre elementos pertenecientes a

    los conjuntos difusos. El resultado de la evaluacin del antecedente indica el grado de cumplimien-

    to de la regla y por lo tanto la influencia que tendr el consecuente en el valor de salida del sistema.

    El nmero de reglas est en funcin de las variables de entrada (m) y de los conjuntos difusos defi-

    nidos (n), la relacin es [4].

    Las operaciones de los conjuntos difusos definidos en el antecedente se realizan mediante los ope-

    radores lgicos difusos que son en esencia los mismos que los booleanos pero con una definicin

    de aplicacin ms generalizada:

    AND. Busca la interseccin de dos conjuntos, esta interseccin est definida de tres formas

    Algebraico. Multiplicacin de los valores

    Mnimo

    Mximo

    OR. Realiza la unin de dos conjuntos,

    60

  • 8/9/2019 mandos helicoptero

    67/138

    Probabilstico.

    Mnimo

    Mximo

    NOT. Devuelve el complemento del conjunto

    Fig. 3.4 Operadores lgicos difusos [3]

    El consecuente est compuesto por acciones que se realizan si se cumplen las condiciones del ante-

    cedente. La implementacin del consecuente depende del tipo de la mquina de inferencia; hable-

    mos pues del tipo Takagi-

    Sugeno. Sugeno establece

    usar funciones que de-

    penden de las variables de

    entrada, estas funcionespueden ser lineales o no

    lineales con la singularidad

    de poder usar en vez de

    funciones, un valor para

    cada regla; estos valores se

    conocen como singletonsy

    su dominio est sobre el

    dominio de la variable de

    salida.

    En este tipo de sistemas no existe la desfuzificacin porque los singletons tienen valores determina-

    dos, as que la etapa de agregacin solo se realiza mediante el promedio ponderado de las reglas

    con los singletons.

    61

    Fig. 3.5 Sistema Takagi-Sugeno [3]

  • 8/9/2019 mandos helicoptero

    68/138

    Ecuacin 3.7

    Por lo tanto el nmero de singletonses igual al nmero de reglas definidas.

    El uso de singletonses muy conveniente para implementar un sistema difuso en un microcontrola-

    dor porque no se requiere hacer un procesamiento fuerte.

    Redes Neuronales Artificiales (RNA)

    Las redes de neuronas artificiales son un paradigma de aprendizaje y procesamiento automtico

    inspirado en la forma en que funciona el sistema nervioso de los animales. Se trata de un sistema de

    interconexin de neuronas en una red que colabora para producir un estmulo de salida.

    Computadora RNA

    Procesador - Complejo

    - Alta Velocidad

    - Uno o pocos

    - Simple

    - Baja velocidad

    - Un gran numero

    Memoria - Separada del

    procesador

    - No es direccionable por

    el contenido

    - Integrada en el

    procesador

    - Direccionable por el

    contenido

    Computacin - Centralizado

    - Secuencial

    - Programas

    Almacenados

    -Distribuido paralelo

    - Auto-aprendizaje

    Confiabilidad - Muy vulnerable - Robusta

    Punto fuerte - Manipulaciones

    numricas y simblicas

    - Problemas de

    percepcin

    62

  • 8/9/2019 mandos helicoptero

    69/138

    Computadora RNA

    Ambiente operativo - Bien definido

    - Bien limitado

    - Pobremente definido

    - Ilimitado

    Tabla 3.2 Computadora Von Neumann vs Sistema Neuronal

    Una red neuronal se compone de unidades llamadas neuronas. Cada neurona recibe una serie de

    entradas a travs de interconexiones y emite una salida. Esta salida viene dada por tres funciones

    [5]:

    1.- Una funcin de propagacin, que por lo general consiste en la suma de cada entrada multiplica-

    da por el peso de su interconexin (valor neto). Si el peso es positivo, la conexin se denomina exci-

    tatoria; si es negativo, se denomina inhibitoria.

    2.- Una funcin de activacin, que modifica a la anterior. Puede no existir, siendo en este caso la sa-

    lida la misma funcin de propagacin.

    3.- Una funcin de transferencia, que se aplica al valor devuelto por la funcin de activacin. Se utili-

    za para acotar la salida de la neurona y generalmente viene dada por la interpretacin que quera-

    mos darle a dichas salidas. Algunas de las ms utilizadas son la funcin sigmoidal (para obtener va-

    lores en el intervalo [0,1]) y la tangente hiperblica (para obtener valores en el intervalo [-1,1]).

    Ventajas

    Aprendizaje adaptativo. Capacidad de aprender a realizar tareas basadas en un entrenamien-

    to o una experiencia inicial.

    Auto organizacin. Puede crear su propia organizacin o representacin de la informacin

    que recibe mediante una etapa de aprendizaje.

    Tolerancia a fallas. La destruccin parcial de una red conduce a una degradacin de su es-

    tructura; pero, algunas capacidades de la red se pueden retener.

    Flexibilidad.

    Tiempo real. Se disean y fabrican mquinas con hardware especial para obtener esta capa-

    cidad.

    63

  • 8/9/2019 mandos helicoptero

    70/138

    Clasificacin

    Las redes neuronales se clasifican en los siguientes aspectos:

    1. Topologa

    ! Capas

    ! Conexiones

    2. Mecanismo de aprendizaje

    ! Supervisado

    Correccin de error

    Por refuerzo

    Estocstico

    ! No supervisado

    Hebbiano

    Competitivo

    3. Asociacin y representacin de la informacin

    ! Heteroasociativas

    ! Autoasociativas

    4. Constitucin del las seales de entrada y salida

    ! Discreta

    ! Continua

    Esta clasificacin nos indica que son propiedades inherentes de una RNA. La topologa de una red

    consiste en la organizacin y disposicin de las neuronas formando capas, los parmetros funda-

    mentales son el nmero de capas, nmero de neuronas por capa, grado y tipo de conexiones entre

    neuronas.

    64

  • 8/9/2019 mandos helicoptero

    71/138

    Es importante destacar que a mayor nmero de neuronas se tiene ms posibilidades de encontrar

    una solucin, en particular, una red con una capa solo puede resolver problemas que sean lineal-

    mente separables y que las redes con ms de cuatro capas generan ruido en el procesamiento.

    El aprendizaje es el proceso por el cual la red modifica los pesos para que la salida est en funcin

    de la informacin de entrada. La regla de aprendizaje es un algoritmo que describe como realizar

    estas modificaciones. Esta regla puede ser supervisada o no supervisada.

    En el caso supervisado existe un agente externo a la red que controla su desempeo de aprendizaje

    y le indica cuales son las modificaciones. Una forma de hacerlo es ajustar los pesos de los vectores

    de entrada en funcin del error que hay entre los valores deseados y obtenidos de la red.

    Otra opcin es solo indicar si la salida es correcta con una seal de refuerzo, esto es til cuando no

    se tiene el patrn completo deseado pero es ms lento que el aprendizaje por correccin del error.

    Para ambos casos, la red tiene que realizar el proceso de generalizacin, dada una entrada que no

    fue parte del entrenamiento, la red pueda hacer una generalizacin en la salida aproximando la en-

    trada hacia una categora.

    La informacin que va aprendiendo la red se registra de forma distribuida en los pesos asociados a

    las conexiones entre neuronas, la forma de recuperar esta informacin se hace mediante una hete-

    ro-asociacin donde la red ha aprendido a identificar parejas de entrada ->salida; para este tipo de

    redes es preciso que haya como mnimo dos capas, una para captar y retener la informacin y otra

    para mantener la salida.

    Las redes autoasociativas aprenden cierta informacin de tal forma que cuando se presente un dato

    de entrada realizar una autocorrelacin, respondiendo con el dato almacenado ms parecido al dela entrada.

    Por ltimo, las salidas pueden presentarse en forma continua o discreta, es continua cuando tene-

    mos como funcin de activacin la funcin sigmoidal, lineal o tangente hiperblica y es discreta

    cuando es la funcin escaln.

    La red de retropropagacin

    Es una RNA formada por mltiples capas, esto le permite resolver problemas que no son linealmen-

    te separables como el reconocimiento de patrones. Esta red puede ser total o localmente conecta-

    da. En el primer caso cada salida de una neurona de la capa "i" es la entrada de todas las neuronas

    de la capa "i+1", mientras que el segundo, cada neurona de la capa "i" es la entrada de una serie de

    neuronas (regin) de la capa "i+1".

    65

  • 8/9/2019 mandos helicoptero

    72/138

    Las capas pueden clasificarse en tres tipos:

    Capa de entrada: Constituida por aquellas neuronas que introducen los patrones de entrada

    en la red. En estas neuronas no se produce procesamiento.

    Capas ocultas: Formada por aquellas neuronas cuyas entradas provienen de capas anteriores

    y las salidas pasan a neuronas de capas posteriores.

    Capa de salida: Neuronas cuyos valores de salida se corresponden con las salidas de toda la

    red.

    El entrenamiento de esta red es realizado por el algoritmo delta generalizada que utiliza una fun-

    cin de error asociada a la red, buscando el estado estable de mnima energa a travs del camino

    descendente de la superficie del error. La modificacin de los pesos se basa en el valor proporcional

    al gradiente decreciente de dicha funcin de error [1].

    Ecuacin 3.8

    En la ecuacin 3.8:

    si Ujes una neurona de salida y

    Ecuacin 3.9

    si Ujno es una neurona de salida

    Ecuacin 3.10

    wes la matriz de pesos

    es el factor de aprendizaje, e indica que tan rpido queremos que cambien los valores de los pe-

    sos. Est acotado de cero a uno. Es remarcable que con un factor de aprendizaje alto podemos llegar

    a un mnimo local de la funcin no converger al error mnimo. En el caso contrario los pesos semodifican ligeramente haciendo que la convergencia sea lenta

    es la cantidad de momento el cual evita oscilaciones cuando el factor de aprendizaje es alto.

    Tambin hace que el nmero de iteraciones se reduzca ya que toma en cuenta el gradiente actual

    haciendo que aumente la velocidad de cambio de pesos cuando el gradiente actual es del mismo

    signo que el nuevo cambio de pesos o que disminuya si es que son de signo contrario

    66

  • 8/9/2019 mandos helicoptero

    73/138

    jrepresenta la neurona de la capa de actual.

    irepresenta la neurona de la capa de anterior a la actual

    pes cada elemento del vector de entradas

    kes la neurona de alguna capa oculta

    El proceso de aprendizaje se desarrolla en dos fases, primero, se presenta un patrn en la entrada de

    la red y propagando a travs de las capas hasta llegar a la capa de salida.

    Una vez obtenidos los valores de salida se inicia la segunda fase, comparando estos valores con la

    salida esperada para obtener el error.

    Las funciones de transferencia de los elementos de procesado (neuronas) han de ser derivables. La

    ecuacin 3.11 es la derivada de la funcin de transferencia.

    Ecuacin 3.11

    Las ms comunes son la lineal (ecuacin 3.12) y la sigmoidal logstica (ecuacin 3.13).

    Ecuacin 3.12

    Ecuacin 3.13

    Estas funciones son de las formas mostradas en las figuras 3.8 a 3.10.

    Sigmoide logstica

    Fig. 3.6 Funcin sigmoide logstica [5]

    67

  • 8/9/2019 mandos helicoptero

    74/138

  • 8/9/2019 mandos helicoptero

    75/138

  • 8/9/2019 mandos helicoptero

    76/138

    Seal comandada al servomotor del cclico lateral

    Seal comandada al servomotor del cclico longitudinal

    Estos datos deben dividirse a su vez en tres bloques de datos, el primer bloque se usa para el entre-

    namiento de la red neuronal, el segundo bloque para la validacin del entrenamiento y el tercero

    para probar mediante simulacin.

    La divisin de estos datos se realiza de forma aleatoria conservando la siguiente proporcin:

    Entrenamiento: 60%

    Validacin: 20%

    Prueba: 20%

    Adems, se grafican los ngulos roll, pitch y las seales comandadas a los servomotores de cclico

    lateral y longitudinal. Esta grfica se almacena en el disco duro para su referencia posterior.

    La segunda seccin r