Upload
hector-siza
View
252
Download
0
Embed Size (px)
Citation preview
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