2.1 Fundamentos del vuelo de un helicópterobibing.us.es/proyectos/abreproy/70354/fichero... ·...

18
Capítulo 2: Contexto Blanca Rubio Díaz 4 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

Transcript of 2.1 Fundamentos del vuelo de un helicópterobibing.us.es/proyectos/abreproy/70354/fichero... ·...

Page 1: 2.1 Fundamentos del vuelo de un helicópterobibing.us.es/proyectos/abreproy/70354/fichero... · Figura 8: Plataforma de entrenamiento ubicada en la azotea del L1 2.2.1.3 Servomotores

Capítulo 2: Contexto Blanca Rubio Díaz

4

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

Page 2: 2.1 Fundamentos del vuelo de un helicópterobibing.us.es/proyectos/abreproy/70354/fichero... · Figura 8: Plataforma de entrenamiento ubicada en la azotea del L1 2.2.1.3 Servomotores

Capítulo 2: Contexto Blanca Rubio Díaz

5

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:

Page 3: 2.1 Fundamentos del vuelo de un helicópterobibing.us.es/proyectos/abreproy/70354/fichero... · Figura 8: Plataforma de entrenamiento ubicada en la azotea del L1 2.2.1.3 Servomotores

Capítulo 2: Contexto Blanca Rubio Díaz

6

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

Page 4: 2.1 Fundamentos del vuelo de un helicópterobibing.us.es/proyectos/abreproy/70354/fichero... · Figura 8: Plataforma de entrenamiento ubicada en la azotea del L1 2.2.1.3 Servomotores

Capítulo 2: Contexto Blanca Rubio Díaz

7

o Ancho total del fuselaje: 140 mm

o Altura total: 400 mm

o Diámetro del rotor principal: 1245 mm

o Diámetro del rotor de cola: 260 mm

o Relación de cambio (Gear Ratio): 1:9.56:4.57

o 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

Page 5: 2.1 Fundamentos del vuelo de un helicópterobibing.us.es/proyectos/abreproy/70354/fichero... · Figura 8: Plataforma de entrenamiento ubicada en la azotea del L1 2.2.1.3 Servomotores

Capítulo 2: Contexto Blanca Rubio Díaz

8

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

Page 6: 2.1 Fundamentos del vuelo de un helicópterobibing.us.es/proyectos/abreproy/70354/fichero... · Figura 8: Plataforma de entrenamiento ubicada en la azotea del L1 2.2.1.3 Servomotores

Capítulo 2: Contexto Blanca Rubio Díaz

9

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.

Page 7: 2.1 Fundamentos del vuelo de un helicópterobibing.us.es/proyectos/abreproy/70354/fichero... · Figura 8: Plataforma de entrenamiento ubicada en la azotea del L1 2.2.1.3 Servomotores

Capítulo 2: Contexto Blanca Rubio Díaz

10

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.

Page 8: 2.1 Fundamentos del vuelo de un helicópterobibing.us.es/proyectos/abreproy/70354/fichero... · Figura 8: Plataforma de entrenamiento ubicada en la azotea del L1 2.2.1.3 Servomotores

Capítulo 2: Contexto Blanca Rubio Díaz

11

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.

Page 9: 2.1 Fundamentos del vuelo de un helicópterobibing.us.es/proyectos/abreproy/70354/fichero... · Figura 8: Plataforma de entrenamiento ubicada en la azotea del L1 2.2.1.3 Servomotores

Capítulo 2: Contexto Blanca Rubio Díaz

12

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

Page 10: 2.1 Fundamentos del vuelo de un helicópterobibing.us.es/proyectos/abreproy/70354/fichero... · Figura 8: Plataforma de entrenamiento ubicada en la azotea del L1 2.2.1.3 Servomotores

Capítulo 2: Contexto Blanca Rubio Díaz

13

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:

Page 11: 2.1 Fundamentos del vuelo de un helicópterobibing.us.es/proyectos/abreproy/70354/fichero... · Figura 8: Plataforma de entrenamiento ubicada en la azotea del L1 2.2.1.3 Servomotores

Capítulo 2: Contexto Blanca Rubio Díaz

14

(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.

Page 12: 2.1 Fundamentos del vuelo de un helicópterobibing.us.es/proyectos/abreproy/70354/fichero... · Figura 8: Plataforma de entrenamiento ubicada en la azotea del L1 2.2.1.3 Servomotores

Capítulo 2: Contexto Blanca Rubio Díaz

15

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

Page 13: 2.1 Fundamentos del vuelo de un helicópterobibing.us.es/proyectos/abreproy/70354/fichero... · Figura 8: Plataforma de entrenamiento ubicada en la azotea del L1 2.2.1.3 Servomotores

Capítulo 2: Contexto Blanca Rubio Díaz

16

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

Page 14: 2.1 Fundamentos del vuelo de un helicópterobibing.us.es/proyectos/abreproy/70354/fichero... · Figura 8: Plataforma de entrenamiento ubicada en la azotea del L1 2.2.1.3 Servomotores

Capítulo 2: Contexto Blanca Rubio Díaz

17

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.

Page 15: 2.1 Fundamentos del vuelo de un helicópterobibing.us.es/proyectos/abreproy/70354/fichero... · Figura 8: Plataforma de entrenamiento ubicada en la azotea del L1 2.2.1.3 Servomotores

Capítulo 2: Contexto Blanca Rubio Díaz

18

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

Page 16: 2.1 Fundamentos del vuelo de un helicópterobibing.us.es/proyectos/abreproy/70354/fichero... · Figura 8: Plataforma de entrenamiento ubicada en la azotea del L1 2.2.1.3 Servomotores

Capítulo 2: Contexto Blanca Rubio Díaz

19

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.

Page 17: 2.1 Fundamentos del vuelo de un helicópterobibing.us.es/proyectos/abreproy/70354/fichero... · Figura 8: Plataforma de entrenamiento ubicada en la azotea del L1 2.2.1.3 Servomotores

Capítulo 2: Contexto Blanca Rubio Díaz

20

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.

Page 18: 2.1 Fundamentos del vuelo de un helicópterobibing.us.es/proyectos/abreproy/70354/fichero... · Figura 8: Plataforma de entrenamiento ubicada en la azotea del L1 2.2.1.3 Servomotores

Capítulo 2: Contexto Blanca Rubio Díaz

21

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.