Capítulo 2

Anuncio
Capítulo 2: Contexto
Blanca Rubio Díaz
2 CONTEXTO
2.1 Fundamentos del vuelo de un helicóptero
Antes de entrar en los detalles del proyecto Hermes veremos unas nociones para entender el
vuelo de un helicóptero. Un helicóptero es una aeronave que es sustentada y propulsada por
uno o más rotores horizontales, cada uno de ellos formado por dos o más palas. Puesto que la
la rotación de dichas palas se produce alrededor de un eje vertical, los helicópteros se
clasifican como aeronaves de alas giratorias para distinguirlos de las aeronaves de ala fija.
El control de un helicóptero consta de seis grados de libertad: las coordenadas x, y y z, que
definen su posición, y los ángulos roll, pitch y yaw, que definen su actitud u orientación.
Figura 2: Ángulos de pitch, yaw y roll del helicóptero
El vuelo de un helicóptero está definido por los cuatro mandos básicos que maneja el piloto:

Colectivo. El control del ángulo del colectivo cambia el ángulo de paso de todas las
palas del rotor principal simultáneamente, o colectivamente, de ahí su nombre. Una
elevación del colectivo se traduce en un incremento simultáneo y de igual magnitud
del ángulo de paso de las palas del rotor principal; de igual forma, el descenso del
colectivo produce la disminución del ángulo de paso.
Los cambios en el ángulo de paso suponen cambios en el ángulo de ataque de las
palas, con los consiguientes cambios de la resistencia aerodinámica, lo que afecta a la
velocidad de giro del rotor principal: al crecer el ángulo de paso, crece el ángulo de
4
Capítulo 2: Contexto
Blanca Rubio Díaz
ataque, y también la resistencia, lo que provoca un decremento en la velocidad de
giro; por el contrario, al disminuir el ángulo de paso, tanto el ángulo de ataque como la
resistencia se ven reducidos, mientras que la velocidad del rotor se incrementa.
Figura 3: Efecto de los cambios en el ángulo de paso colectivo
Para que el rotor mantenga una velocidad constante de giro, circunstancia esencial en
las operaciones de un helicóptero, se deben aplicar cambios proporcionales en la
alimentación del motor que compensen los cambios de resistencia.



Palanca de gases o throttle. Controla la alimentación del motor, cuya misión es la de
regular la velocidad de giro del motor. Funciona conjuntamente con el control del
colectivo para lograr movimientos verticales.
Rotor de cola. Su objetivo principal es el de contrarrestar el efecto torque del rotor
principal. Puesto que el torque varía con los cambios en la alimentación del rotor, el
empuje del rotor de cola debe variar de forma proporcional. De este modo, se evita
que el cuerpo del aparato gire sobre sí mismo. Además de su velocidad de giro, el rotor
de cola permite modificar su inclinación, lo que se traduce en cambios en el ángulo del
yaw.
Cíclico. Controla la inclinación del disco del rotor principal, cambiando el ángulo de
paso de las palas del rotor en determinadas posiciones de giro, lo que provoca los
movimientos longitudinales y laterales del aparato.
Figura 4: Efecto de los cambios en el ángulo de paso cíclico
Para que queden más claros los conceptos de colectivo y cíclico vamos a fijarnos en la Figura 5.
Los ángulos de ataque se varían subiendo o bajando lo que en la imagen inicial hemos llamado
barras de control. El movimiento de estas barras está gobernado por los actuadores, que
funcionan de la siguiente manera:
5
Capítulo 2: Contexto


Blanca Rubio Díaz
Uno de los tres actuadores hace que el plato oscilante suba o baje, con lo que se varía
por igual el ángulo de ataque de las dos palas colectivamente (actuador colectivo).
Los otros dos actuadores inclinan el plato oscilante, por lo que el paso de la pala varía
cíclicamente en el mismo punto. Uno de ellos (actuador cíclico longitudinal) lo
inclina hacia delante o atrás, y el otro (actuador cíclico lateral) hacia la izquierda o la
derecha.
Estos dos mandos (cíclico y colectivo) se pueden conjugar entre sí. El plato oscilante puede
subir y bajar a la vez que se inclina hacia donde queramos, lo que da lugar al conjunto de
valores posibles de las distintas variables de vuelo.
Figura 5: Detalle colectivo y cíclico
2.2 Estado de avance del Proyecto Hermes
En este apartado haremos un breve repaso del estado en que se encontraba el proyecto
Hermes en el momento de nuestra incorporación. Esto quiere decir que los componentes
hardware y software que detallamos a continuación ya estaban operativos al comienzo de
nuestro trabajo, por lo que describen el punto de partida de la nueva fase del proyecto.
2.2.1 Contexto tecnológico
2.2.1.1 Helicóptero de radiocontrol
El modelo de helicóptero de radiocontrol con que se cuenta en el proyecto Hermes está
definido por las siguientes características:



Marca: Thunder Tiger
Modelo: Raptor R30
Características físicas:
o Longitud total del fuselaje: 1150 mm
6
Capítulo 2: Contexto
o
o
o
o
o
o
Blanca Rubio Díaz
Ancho total del fuselaje: 140 mm
Altura total: 400 mm
Diámetro del rotor principal: 1245 mm
Diámetro del rotor de cola: 260 mm
Relación de cambio (Gear Ratio): 1:9.56:4.57
Peso con equipamiento completo: 3000 g
Figura 6: Thunder Tiger Raptor 30
2.2.1.2 Plataforma de vuelo
Para las primeras pruebas con el helicóptero se dispone de una plataforma de entrenamiento
ubicada en la azotea del edificio L1 de los Laboratorios de la Escuela Superior de Ingenieros de
Sevilla. Gracias a esta plataforma, fabricada por Active Scale Model, se podrán realizar todo
tipo de excitaciones y se podrán aplicar todos los controladores que se deseen sin riesgo
alguno de accidente.
Figura 7: Plataforma de entrenamiento original
La plataforma está realizada en aluminio y consta de un brazo articulado principal que tiene
movimientos rotatorios sobre el eje vertical y sobre el eje horizontal. En el extremo de este
brazo hay una plataforma con giro sobre los ejes vertical y horizontal, donde irá el helicóptero,
además de una rueda para su apoyo en el suelo. Mediante este sistema quedarán libres los 6
7
Capítulo 2: Contexto
Blanca Rubio Díaz
grados de libertad, aunque algunos de ellos podrán limitarse si la naturaleza de las pruebas lo
requiere.
Además, a la estructura original se le ha hecho una pequeña modificación, dotándola de un
anillo de aluminio en su base, que servirá como apoyo para el extremo del brazo donde se
sitúa el helicóptero.
Figura 8: Plataforma de entrenamiento ubicada en la azotea del L1
2.2.1.3 Servomotores
Un servomotor de modelismo (conocido generalmente como servo) es un dispositivo actuador
que tiene la capacidad de ubicarse en cualquier posición dentro de su rango de operación, y de
mantenerse estable en dicha posición. Está formado por un motor de corriente continua, una
caja reductora y un circuito de control, y su margen de funcionamiento generalmente es de
menos de una vuelta completa.
Dependiendo del modelo del servo, la tensión de alimentación puede estar comprendida entre
los 4 y 8 voltios. El control de un servo se reduce a indicar su posición mediante una señal
PWM (del inglés pulse-width modulation), que no es más que una señal cuadrada periódica
cuyo duty cycle (relación entre el tiempo en que la señal está a nivel alto y su periodo) se
modifica para codificar el ángulo de ubicación del motor.
Cada servo, dependiendo de la marca y el modelo utilizado, tiene sus propios márgenes de
operación. Por ejemplo, para algunos servos la señal puede estar a nivel alto durante un
tiempo comprendido entre 1 y 2 ms; éstos son los valores que posicionan al motor en ambos
8
Capítulo 2: Contexto
Blanca Rubio Díaz
extremos de giro (0° y 180°, respectivamente). Los valores de tiempo a nivel alto para ubicar el
motor en otras posiciones se hallan mediante una relación completamente lineal: el valor de
1,5 ms indica la posición central, y otros valores de duración del pulso colocan el motor en la
posición proporcional a dicha duración.
Figura 9: Ejemplos de señales PWM
Para bloquear el servomotor en una posición es necesario enviarle continuamente la señal con
la posición deseada. De esta forma, el sistema de control sigue operando, y el servo conserva
su posición, a pesar de la existencia de posibles fuerzas externas que intenten cambiarlo de
posición. Si los pulsos no se envían, el servomotor puede quedar liberado, y cualquier fuerza
externa puede cambiarlo de posición fácilmente.
2.2.1.4 Computador de vuelo
El computador de vuelo original era la placa Hercules EBX (modelo HRC400) de Diamond
Systems, que posee un microprocesador a 400MHz, una flash disk de 128Mb donde va alojado
el Sistema Operativo y una memoria RAM de 128Mb.
Figura 10: Computador de vuelo Hercules EBX
Los canales de entrada y salida de esta CPU incluían 4 puertos serie (RS-232 y RS-485), además
de un circuito de adquisición de datos (DAQ) que permitía tener 32 E/S analógicas y 40 E/S
digitales (de las cuales 4 son canales PWM).
Otra característica importante era el driver de la placa (DSCud 5.7), el cual nos daba la
funcionalidad para el uso y control de la placa, de sus puertos y de funciones muy útiles como
el control del ancho del pulso PWM o la generación de interrupciones.
9
Capítulo 2: Contexto
Blanca Rubio Díaz
Una de las desventajas que esta placa presentaba era la escasa capacidad de memoria de la
flash disk (128 Mb), donde había que alojar tanto el sistema operativo como los programas.
Esto obligaba al uso de un disco duro externo como entorno de desarrollo, del que había que
prescindir en vuelo por problemas derivados del exceso de peso y de las vibraciones generadas
por el rotor. Por la misma razón, el resto de periféricos (monitor, teclado, ratón) también
debían ser desconectados durante las pruebas en la plataforma.
El sistema operativo instalado era la versión Debian 3.0 Woody (r4.0) en su forma mínima, que
ocupaba únicamente 90 Mb en disco duro. Esta versión tan liviana se consiguió tras un proceso
consistente en limpiar todos los módulos de la versión completa de los que se podía prescindir
en el proyecto [2].
Puesto que la Hercules EBX no disponía de conexión Wi-Fi, para evitar conexiones físicas entre
el computador de vuelo y el ordenador de tierra para teleoperación, se hacía uso de un puente
inalámbrico Wi-Fi (Modelo DWL-G810 de DLink) conectado a la interfaz Ethernet (RJ-45) de la
placa Hercules. Aunque su configuración era muy sencilla, el principal problema que
presentaba era que añadía aproximadamente 500 g de peso al conjunto formado por la caja
aviónica, la placa y el cableado.
2.2.1.5 Sensores
Los sensores implementados hasta el momento persiguen la monitorización de las distintas
variables de vuelo del helicóptero. Pueden clasificarse en tres grupos:



Sensores para medida de la actitud. La orientación de la aeronave será proporcionada
por una unidad de medida inercial instalada en el interior de la caja aviónica.
Sensores para medida de la posición. Como por ahora todas las pruebas se realizarán
en vuelo axial sobre la plataforma, para conocer la posición del helicóptero nos
bastará con medir su altura. Para tal fin se hace uso de un potenciómetro y de un
sensor de ultrasonidos.
Sensores para medida de otras variables de interés. Hay otros parámetros que
necesitamos conocer para lograr controlar el vuelo axial de la aeronave; tal es el caso
de la velocidad de giro del rotor principal y el ángulo de paso colectivo, para cuya
medida se emplean un sensor óptico y un potenciómetro, respectivamente.
 Unidad de Medida Inercial
Una unidad de medida inercial o IMU (del inglés inertial measurement unit) es un dispositivo
electrónico que mide e informa acerca de la velocidad, la orientación y las fuerzas
gravitacionales de un aparato, usando una combinación de acelerómetros y giróscopos.
El modelo 3DM-GX1 de Microstrain utilizado en el proyecto está compuesto de tres
acelerómetros y tres giróscopos y se conecta a la placa Hercules a través del puerto RS-232.
Aunque su misión principal va a ser la de suministrarnos la orientación de la aeronave, en
general puede informarnos acerca de los parámetros siguientes:



Timer ticks (tiempos de muestreo).
Temperatura en el interior del sensor.
Ángulos de Euler: Pitch, Roll y Yaw.
10
Capítulo 2: Contexto


Blanca Rubio Díaz
Velocidades angulares.
Matriz de quaternions y matriz de orientación.
Figura 11: Unidad de Medida Inercial 3DM-GX1 de Microstrain
 Potenciómetro para medida de la altura
Aprovechando la variación lineal del voltaje de salida de los potenciómetros rotatorios al girar
su eje, se hace uso de un potenciómetro alimentado a 10 V fijado convenientemente a la
plataforma para medir a qué altura sobre la misma se sitúa el helicóptero.
Figura 12: Medida de la altura a partir del potenciómetro fijado a la estructura
A la vista de la Figura 12, no tenemos más que aplicar la relación trigonométrica
para extraer la altura del helicóptero a partir del ángulo que forma el brazo de la plataforma
con la horizontal. El ángulo es precisamente el que se le aplica al eje del potenciómetro, por
lo que tenemos una relación directa entre la tensión suministrada por el potenciómetro y la
altura del helicóptero.
11
Capítulo 2: Contexto
Blanca Rubio Díaz
Figura 13: Colocación del potenciómetro para medida de la altitud
Aproximando
por y tomando un conjunto de pares altura-voltaje podemos construir
una recta de regresión que nos permita la conversión inmediata de la tensión dada por el
potenciómetro a una altura.
 Potenciómetro para medida del ángulo del colectivo
En este caso, empleamos un potenciómetro de forma análoga al altímetro del apartado previo
para medir el ángulo del colectivo. Para ello, se ha construido una pieza que permite hacer
solidarios el eje del potenciómetro y el del servo que controla el ángulo del colectivo de las
palas. De esta forma, tenemos una tensión de salida por cada posición del servo, que a su vez
está directamente asociada a un ángulo del colectivo.
Figura 14: Detalle de la estructura de fijación del potenciómetro al helicóptero
12
Capítulo 2: Contexto
Blanca Rubio Díaz
En este caso también podemos construir una recta de regresión que relacione directamente el
voltaje a la salida del potenciómetro con un ángulo del colectivo.
 Sensor de ultrasonidos para medida de la altura
Ante la necesidad de contar con al menos dos medidas de la altura del helicóptero, se decidió
utilizar un sensor de ultrasonidos que, colocado en el extremo del brazo de la plataforma
donde se sitúa el helicóptero, mida la altura desde éste hasta el anillo de aluminio, que se
toma como suelo.
Figura 15: Posición del sensor de ultrasonido en la plataforma
El principio básico de funcionamiento de este tipo de sensores consiste en lanzar una onda
ultrasónica y captarla tras rebotar en el objeto cuya distancia queremos medir. Si el sensor de
ultrasonidos trabaja por tiempo de vuelo, como es nuestro caso, la salida generada por el
sensor tras detectar la onda indicará el tiempo que ha tardado la señal en llegar hasta el
objeto, rebotar y volver.
Figura 16: Principio de funcionamiento del sensor de ultrasonido
A la hora de realizar el cálculo de la distancia hay que tener en cuenta que el tiempo total que
mide el sensor será en realidad el tiempo correspondiente al doble de la distancia. Esto quiere
decir que debemos utilizar la siguiente expresión para despejar la distancia:
13
Capítulo 2: Contexto
Blanca Rubio Díaz
(Ecuación 2.1)
La velocidad del sonido se ve fuertemente afectada por factores ambientales. Una expresión
empírica que tiene en cuenta la temperatura ambiente en grados Celsius es:
(Ecuación 2.2)
El modelo de sensor adquirido es el SRF05, desarrollado por la firma Devantech Ltd.
Figura 17: Sensor de ultrasonido modelo SRF05 de Devantech Ltd.
Para proteger la circuitería del sensor se cuenta con una carcasa protectora, tal como puede
observarse en la Figura 18. Las dimensiones del conjunto son de 55x105x35mm y en total pesa
120 g.
Figura 18: Detalle de la estructura de fijación del sensor de ultrasonidos a la plataforma
 Sensor óptico para medida de la velocidad de giro del rotor principal
Para la medida de la velocidad de giro del rotor principal se optó por un sensor óptico, que
basa su medición en la recepción de un estímulo luminoso que él mismo genera. Emite
constantemente un haz de luz que se refleja cuando la superficie sobre la que incide es
propicia para ello. El receptor recibe el haz y lo convierte en una señal eléctrica. Para provocar
una reflexión lo más intensa posible se coloca una tira reflectante en la superficie de reflexión.
El modelo de sensor OMRON EE-SF5 empleado, de diseño compacto (13 x 8 x 5.4 mm),
presenta un circuito eléctrico como el de Figura 19 y se basa en el efecto fotoeléctrico que se
produce tanto en el LED (Light Emitting Diode) o fotodiodo como en el fototransistor receptor.
El LED emite luz siempre que haya una corriente eléctrica entre su ánodo y cátodo. Esta luz
emitida se refleja en una superficie que la devuelve al sensor, haciéndola incidir sobre el
fototransistor. El fototransistor, sensible a la luz recibida, genera una corriente eléctrica de
valor proporcional a la intensidad de la luz que sale por el terminal emisor del mismo. El
resultado es una corriente eléctrica de un valor conocido (a partir de las especificaciones del
transistor), generada cada vez que se produce una reflexión.
14
Capítulo 2: Contexto
Blanca Rubio Díaz
Figura 19: Circuito interno del sensor OMRON EE-SF5
La tira reflectante debe tener mismo tamaño y forma que la cara sensible del sensor y debe
situarse sobre la superficie de la corona del rotor principal, a una distancia entre 3 y 5 mm de
dicha cara.
Figura 20: Fijación del sensor óptico al helicóptero
Según acabamos de explicar, el sensor óptico genera un pico de corriente cuando recibe una
reflexión. Este pico de corriente ha de transformarse a un nivel de tensión compatible con la
lógica TTL de los circuitos de adquisición de datos de la Hercules. Para este acondicionamiento
de señal se recurre al dispositivo Throttle Jockey.
El Throttle Jockey es un regulador digital de la velocidad de giro del motor diseñado
específicamente para helicópteros de aeromodelismo. En función del canal de entrada auxiliar
se pueden configurar dos modos de funcionamiento:


Modo regulador activado. Su función es mantener la velocidad de giro del rotor en el
régimen que le indique la emisora, es decir, el piloto. El dispositivo enviará al servo de
la palanca de gases una señal PWM calculada internamente mediante la aplicación de
un algoritmo feed-forward que mantiene el régimen de revoluciones.
Modo regulador desactivado. En este caso, la salida al servo envía pulsos rectificados y
filtrados cuyo ancho es exactamente el periodo entre reflexiones y, por lo tanto, la
inversa de la velocidad de giro del eje.
El acondicionamiento de señal que realizan los circuitos auxiliares del Throttle Jockey en el
segundo modo de funcionamiento cubre perfectamente nuestras necesidades. Así, a la salida
15
Capítulo 2: Contexto
Blanca Rubio Díaz
del Throttle Jockey tendremos una señal PWM con pulsos cuyo ancho informa de la velocidad
de giro del rotor principal.
Figura 21: Conexiones del Throttle Jockey
A partir del ancho del pulso, el diámetro de la corona del rotor principal y el tamaño de la tira
reflectante, el cálculo de la velocidad de giro es inmediato.
Figura 22: Cálculo de la velocidad de giro del rotor principal
(Ecuación 2.3)
(Ecuación 2.4)
(Ecuación 2.5)
(Ecuación 2.6)
2.2.1.6 Ordenador de tierra
Las características del ordenador de tierra no son más que las propias de un PC convencional.
En nuestro caso, disponemos de un procesador Intel Core 2 Duo con el sistema operativo
Windows XP Professional con una versión de Matlab instalada compatible con la interfaz
gráfica de usuario ya implementada.
2.2.1.7 Batería
Durante el vuelo, la caja aviónica debe alimentarse al completo mediante baterías. En el
momento de nuestra incorporación al proyecto Hermes se disponía de una batería de Li-Po
16
Capítulo 2: Contexto
Blanca Rubio Díaz
modelo NanoPack 3S2P de RCMaterial, con unas dimensiones de 185 x 50 x 23 mm y un peso
de 381 g.
La capacidad de la batería era de 11.1 V y 3400 mAh, y debía cubrir las siguientes necesidades
eléctricas:






Placa Hercules: 5-28 VDC, 12 W
IMU: 5.2-12 VDC, 90 mA
Potenciómetros: 10 V
Sensor de ultrasonido: 5 V
Sensor óptico: 5 V
Puente Ethernet: 12 VDC
Dadas estas especificaciones de consumo, con este modelo de batería se tenían hasta 3 horas
de autonomía, lo que era suficiente teniendo en cuenta que el depósito de combustible del
helicóptero dura aproximadamente 20 minutos.
2.2.2 Contexto software
En el momento de nuestra incorporación al proyecto Hermes, se contaba con una aplicación
en C para captura de los datos de los dos altímetros y la IMU. Estos datos podían enviarse a
tierra bien en tiempo real o bien en bloque en un archivo de datos a través de la comunicación
cliente-servidor implementada. En el ordenador de tierra se contaba con una aplicación gráfica
que permitía configurar el conjunto de parámetros que caracterizan un experimento con el
helicóptero, recibir los datos correspondientes a los experimentos y procesarlos.
Además, se habían desarrollado códigos en C para los sensores de velocidad de giro del rotor
principal y de ángulo de paso colectivo, pero quedaba pendiente su integración con el resto de
la aplicación en C, así como su consideración en la interfaz gráfica.
2.2.2.1 Aplicación de vuelo
 Lenguaje de programación
El lenguaje de programación del software en la Hercules es C. Además, como ya hemos
adelantado, se cuenta con las librerías del driver de la placa, DSCud v5.7, que facilitan en gran
medida funciones como la creación de interrupciones de usuario, las operaciones de
entrada/salida y la toma de tiempos.
Como compilador se hace uso de GCC de Linux. GCC es un compilador integrado del proyecto
GNU para C, C++, Objective C y Fortran. Es capaz de recibir un programa fuente en cualquiera
de estos lenguajes y generar un programa ejecutable binario en el lenguaje de la máquina
donde ha de correr.
Para compilar nuestros programas hacemos uso de la utilidad make. Esta herramienta se usa
para las labores de creación de ficheros ejecutables o programas, para su instalación, para la
limpieza de los archivos temporales en la creación de ficheros, etc.
17
Capítulo 2: Contexto
Blanca Rubio Díaz
 Funciones
La aplicación de vuelo se encarga, entre otras cosas, de las siguientes tareas:










Inicializar los parámetros básicos de la Hercules y de la IMU.
Configurar las interrupciones temporales en la placa y otros datos importantes para la
ejecución de los experimentos.
Aplicar una secuencia de excitación sobre los actuadores.
Iniciar o detener las interrupciones temporales.
Iniciar o detener la captura de los datos de los sensores.
Pasar los datos registrados en la cola al disco de la Hercules, en un archivo llamado
datos.dat.
Detener la grabación de los datos en disco.
Enviar el archivo de los datos grabados en el experimento al ordenador de tierra.
Eliminar el archivo de los datos del experimento.
Finalizar el programa.
Todas estas funciones menos la primera se realizan tras una orden del control de tierra. La
configuración de datos del experimento se realiza cada vez que se recibe desde tierra una
trama de inicialización, mientras que el resto de funciones se llevan a cabo según el valor de
una variable global de control, n_control, también enviada desde el ordenador de tierra.
 Estructura
La aplicación de vuelo hace uso de la programación concurrente, en la que intervienen hilos,
semáforos e interrupciones de usuario. El hilo principal de ejecución genera otros cuatro hilos
para el envío de datos tierra-helicóptero y viceversa, cuyas tareas se realizarán
simultáneamente.
Gracias a la utilización de semáforos, hay tres hilos encargados de recibir órdenes desde tierra
que pueden quedarse a la espera sin bloquear la ejecución del resto de tareas del programa.
Por su parte, el cuarto hilo se dedica a grabar los datos recogidos a lo largo del experimento en
un archivo, que será enviado a tierra cuando el usuario así lo decida.
La comunicación helicóptero-tierra se realiza mediante sockets, que no son más que un
concepto abstracto por el cual dos programas pueden intercambiar cualquier flujo de datos.
2.2.2.2 Estructura de la aplicación de tierra
 Lenguaje de programación
La aplicación de tierra está desarrollada en Matlab. A parte de las ventajas por todos conocidas
que presenta esta plataforma, el motivo principal que nos hizo inclinarnos por ella fue la
existencia de GUIDE, un entorno de desarrollo destinado a la creación de interfaces gráficas de
usuario (GUIs, Graphical User Interfaces).
Hay dos formas de crear GUIs mediante GUIDE:

Con el editor de GUIDE podemos diseñar la GUI añadiendo componentes típicos (ejes,
paneles, botones, campos de texto, barras deslizantes, etc.) de forma gráfica. Desde el
18
Capítulo 2: Contexto

Blanca Rubio Díaz
mismo editor se pueden realizar un gran número de operaciones adicionales sobre
estos componentes: redimensionar, cambiar su apariencia, alinear entre sí, etc.
GUIDE genera automáticamente un archivo .m que controla el funcionamiento de la
GUI. Este archivo .m provee de código para inicializar la GUI y establece una estructura
para las callbacks (rutinas que se ejecutan cuando un usuario interactúa con un
componente de la GUI). Mediante el editor de archivos .m se puede añadir código a las
callbacks para obtener el funcionamiento deseado.
 Funciones
Las principales tareas de las que se encarga la aplicación de tierra son:








Configurar las variables que caracterizan un experimento con el helicóptero.
Configurar los datos de red.
Iniciar y detener experimentos y capturas de datos de los sensores.
Ordenar el paso de los datos de los experimentos desde la cola hasta un archivo de
texto.
Ordenar el envío a tierra del fichero de datos de experimento.
Representar los datos recibidos gráficamente o mediante tablas.
Visualizar los datos recibidos en tiempo real.
Finalizar la ejecución del programa en el ordenador de a bordo.
 Estructura
A la vista de las funciones anteriores, la GUI se ha organizado en los siguientes bloques
funcionales:







Módulo de inicialización.
Módulo de configuración de datos de red.
Módulo de realización de experimentos.
Módulo de manipulación de datos y archivos registrados.
Módulo de representación de los datos importados.
Módulo de recepción de datos en tiempo real.
Otras funcionalidades.
19
Capítulo 2: Contexto
Blanca Rubio Díaz
Módulo de Configuración Inicial
Módulo de
Realización de
Experimentos
Módulo de
Gestión de
Datos y
Archivos
Módulo de
Visualización
de Datos en
Tiempo Real
Módulo de Representación de
Resultados
Monitorización del Estado del
Helicóptero
Importación de Informe de
Errores
Módulo de Configuración de
Datos de Conexión
Figura 23: Módulos que conforman la aplicación gráfica de tierra
2.2.2.3 Códigos en C para sensor de velocidad de giro del rotor principal y
sensor de ángulo de paso colectivo
Como parte del proyecto Hermes, ya hemos comentado que se habían implementado un
sensor de velocidad de rotación del rotor principal mediante un sensor óptico y un sensor de
ángulo del colectivo mediante un potenciómetro acoplado al servo correspondiente. No
obstante, los códigos de configuración y captura de las medidas de estos sensores aún no
habían sido integrados con el resto de la aplicación.
Tanto uno como otro código estaban escritos en C y seguían la misma estructura:





Inicialización de la placa Hercules.
Inicialización de la lectura analógica (potenciómetro del colectivo) o digital (sensor
óptico para R.P.M.).
Captura de orden del usuario para comienzo de interrupciones periódicas.
Inicialización de interrupciones temporales, en las cuales se realiza la lectura
correspondiente.
Captura de orden del usuario para detención de interrupciones temporales.
20
Capítulo 2: Contexto
Blanca Rubio Díaz
2.3 Objetivos
De acuerdo con los objetivos generales del proyecto Hermes, nos marcamos el siguiente
conjunto de objetivos para este Trabajo Fin de Máster:



Integración en la aplicación general de sensores de ángulo de paso colectivo y
velocidad de giro del rotor principal.
Implementación de mecanismo para conmutar el modo de control del helicóptero de
manual a automático y viceversa.
Realizar todos los cambios necesarios en la implementación original para cumplir con
los requisitos de funcionamiento general (frecuencia de actuación sobre sensores,
supresión/minimización de esperas activas, etc), a fin de solventar los problemas que
puedan surgir tras la integración de todas las tecnologías.
En definitiva, este conjunto de tareas supondrá avanzar lo suficiente como para poder
empezar las primeras pruebas sobre la plataforma monitorizando todas las variables de vuelo
relevantes de cara al primer hito importante que se plantea el proyecto Hermes: el control del
helicóptero en vuelo axial. En el Capítulo 8 se recogerá un informe con los experimentos
realizados con el sistema real, del que podremos extraer conclusiones respecto al
cumplimiento de nuestro objetivo.
No obstante, al comienzo de nuestra participación en el proyecto Hermes, la placa Hercules
EBX sufrió una avería irreparable. Esto obligó a la sustitución de la placa, con el consiguiente
retraso en la consecución de los objetivos antes citados. Por este motivo, antes de comenzar
con nuevas implementaciones, nos marcamos los siguientes objetivos:



Adquisición de placa sustituta de la antigua Hercules EBX.
Puesta en marcha de nueva placa.
Migración de la antigua aplicación.
En los siguientes capítulos se detalla el desarrollo de todas estas tareas.
21
Descargar