CAPÍTULO IV ANALISIS DE LOS RESULTADOS

27
CAPÍTULO IV ANALISIS DE LOS RESULTADOS En este capitulo se explicaran los resultados obtenidos en el desarrollo de esta investigación para alcanzar los siete objetivos específicos. Aquí se presentan las respuestas a las interrogantes formuladas en el inicio por el investigador. Fase 1: Descripción del proceso de vuelo del mini helicóptero UAV e identificación de las variables y parámetros de control. 4.1. PROCESO DE VUELO DE UN MINI HELICÓPTERO UAV En este apartado se va a dar una breve descripción de las capacidades de vuelo de un helicóptero, así como las acciones que un piloto debe ejercer para lograr que el vehículo responda según el modo de vuelo. A diferencia de un aeroplano común que únicamente puede realizar vuelos hacia adelante, un helicóptero puede permanecer inmóvil en el aire (vuelo estacionario), además de realizar vuelos hacia atrás, translaciones laterales, ascensiones y descensos sin desplazamiento horizontal así como giros sobre su eje vertical. Esta capacidad de maniobra requiere de un pilotaje más complejo. 85

Transcript of CAPÍTULO IV ANALISIS DE LOS RESULTADOS

Page 1: CAPÍTULO IV ANALISIS DE LOS RESULTADOS

CAPÍTULO IV

ANALISIS DE LOS RESULTADOS

En este capitulo se explicaran los resultados obtenidos en el desarrollo

de esta investigación para alcanzar los siete objetivos específicos. Aquí se

presentan las respuestas a las interrogantes formuladas en el inicio por el

investigador.

Fase 1: Descripción del proceso de vuelo del mini helicóptero UAV e

identificación de las variables y parámetros de control.

4.1. PROCESO DE VUELO DE UN MINI HELICÓPTERO UAV

En este apartado se va a dar una breve descripción de las

capacidades de vuelo de un helicóptero, así como las acciones que un piloto

debe ejercer para lograr que el vehículo responda según el modo de vuelo.

A diferencia de un aeroplano común que únicamente puede realizar

vuelos hacia adelante, un helicóptero puede permanecer inmóvil en el aire

(vuelo estacionario), además de realizar vuelos hacia atrás, translaciones

laterales, ascensiones y descensos sin desplazamiento horizontal así como

giros sobre su eje vertical. Esta capacidad de maniobra requiere de un

pilotaje más complejo.

85

Page 2: CAPÍTULO IV ANALISIS DE LOS RESULTADOS

86

Como se menciono en el Capitulo II, un aeroplano tradicional necesita

para volar cierta velocidad de avance. Ésta se produce mediante una hélice o

un turborreactor. La velocidad de avance hace que los planos de

sustentación reciban una presión de aire y produzcan una fuerza de ascenso

aerodinámica que es capaz de sostener al avión en el aire. En un helicóptero

no sucede lo mismo. Aquí no es necesario que todo el aparato alcance una

velocidad de avance determinada, puesto que puede permanecer inmóvil en

el aire. A diferencia del aeroplano, cuyas alas están unidas al fuselaje de

manera rígida, en el helicóptero las alas están montadas en forma de una

gran hélice, asentada de manera que puede girar sobre su eje.

En los helicópteros la fuerza de propulsión disponible no se emplea

para el movimiento de avance, sino que se utiliza solamente para hacer girar

las propias palas de sustentación. Mediante la rápida rotación de las alas de

sustentación, éstas experimentan la presión del aire en el que están girando

y debido a su perfil aerodinámico, producen una fuerza de ascenso capaz de

elevar al helicóptero. Así, éste puede permanecer suspendido sobre un punto

determinado sin una velocidad de avance propia.

Habitualmente, el sistema de propulsión de las palas es a través de la

propulsión en el eje del rotor principal. La misma fuerza que hace girar el eje

del rotor y con ello el rotor principal produce una fuerza de reacción en el

fuselaje exactamente de la misma magnitud pero en la dirección de giro

opuesta.

Page 3: CAPÍTULO IV ANALISIS DE LOS RESULTADOS

87

Para compensar el momento de rotación producido por dicho rotor, se

utilizan habitualmente turbinas u otros pequeños rotores conocidos como

rotores de cola.

Ahora bien, para pilotar un helicóptero de radio control se utilizan

emisoras electrónicas programables con capacidad de transmitir vía radio

una serie de instrucciones o señales de referencia a los actuadores que

están en el helicóptero que suelen ser servos, rápidos y bastante precisos.

Utilizando varillas u otros elementos mecánicos, estos actuadores o servos,

transmiten los movimientos adecuados al plato oscilante que controla la

orientación de las palas del rotor principal tal y como se puede observar en la

Figura 26.

Figura 26: Actuadores (servos) del rotor principal Fuente: De Pool y Gutiérrez (2010)

Desde el punto de vista estructural, el modelo a escala dispone de

mecanismos que básicamente cumplen con funciones similares a la de los

Page 4: CAPÍTULO IV ANALISIS DE LOS RESULTADOS

88

helicópteros tripulados, pero gracias al uso de la programación de

movimientos coordinados de varios servos a través de la emisora, se permite

al piloto controlar el helicóptero utilizando solo cuatro ordenes de control

diferentes, determinados por dos palancas de dos grados de libertad cada

una. Si bien los mandos son programables, habitualmente el mando derecho

suele adaptarse en cuanto a su funcionalidad a la que tiene la palanca de

mando de un helicóptero de tamaño real. Por otro lado, los pedales se

traducen en el grado de libertad de movimiento horizontal de la palanca de la

mano izquierda. El otro grado de libertad de la palanca izquierda realiza

acciones sobre los servos encargados de ampliar el paso colectivo de las

palas del rotor principal y el mando sobre el motor en un solo desplazamiento

de palanca.

Así, cuando se incremente el paso colectivo se aumentará también el

número de revoluciones del motor, con objeto de contrarrestar el efecto de

frenado con el aire que sufren las palas al tener un mayor ángulo de ataque.

De esta forma, se consigue desacoplar los movimientos de traslación y el

control vertical en cuanto a los mandos se refiere.

4.2 VARIABLES ASOCIADAS AL PROCESO DE VUELO

ESTACIONARIO. De acuerdo al modelo planteado en el capitulo II, sección 2.2.4 las

variables que deben ser consideradas en el proceso de vuelo de un mini

helicóptero por ser un sistema M.I.M.O. son en su mayoría magnitudes

Page 5: CAPÍTULO IV ANALISIS DE LOS RESULTADOS

89

vectoriales las cuales agrupan las diferentes propiedades aerodinámicas de

este.

En este sentido, la tabla 5 muestra de forma resumida la composición

de estos vectores, así como la descripción de cada variable que lo conforma.

Magnitud vectorial Vector Componentes Descripción de la variable

Entrada de control u

latu Entrada de control de lateral

longu Entrada de control longitudinal

colu Entrada de control colectivo

pedu Entrada de control del timón

Velocidad de traslación con respecto al aire V

u Velocidad longitudinal en relación con el aire

v Velocidad lateral en relación con el aire

w Velocidad vertical en relación con el aire

Velocidad angular ω p Roll – alabeo q Pitch – cabeceo r Yaw – Guiñada

Actitud Θ φ Ángulo de alabeo

θ Ángulo de cabeceo ψ Ángulo de guiñada

Tabla 5: Variables vectoriales del helicóptero Fuente: Gutiérrez (2010)

Dentro de las variables manejadas en el modelo del he licóptero

también existen magnitudes escalares, como lo son: s1β y c1β las cuales

representan al ángulo lateral de aleteo y el ángulo longitudinal de aleteo,

respectivamente.

Page 6: CAPÍTULO IV ANALISIS DE LOS RESULTADOS

90

Por otro lado, tenemos que de acuerdo al modelo no lineal (figura 23),

las variables manipuladas están representadas por el vector

u=( latu , longu , colu , pedu ), por cuanto son estas las que se deben modificar

a fin de influir sobre las variables controladas a través de la dinámica del

proceso.

En cuanto a las variables controladas, tenemos que las mismas están

representadas por los vectores V=(u ,v , w ), ω =(p,q,r) y Θ =(φ ,θ ,ψ ).

El rango de operación de las variables involucradas en el proceso de

vuelo de un mini helicóptero se puede apreciar en la tabla 6.

Rango de operación

u v w

sm /10.1 3−±

p q r

)/º10(/10.175 3 ssrad ±± −

φ

θ ψ

)º5(10.87 3 ±± − rad

s1β

c1β )º15(10.262 3 ±± − rad

Tabla 6: Rango de Operación de las Variables Fuente: Bajers (2005)

Fase 2: Descripción del modelo matemático del proceso de vuelo

estacionario del mini helicóptero UAV.

Page 7: CAPÍTULO IV ANALISIS DE LOS RESULTADOS

91

4.3 DESCRIBIR EL MODELO MATEMÁTICO DEL PROCESO DE VUELO ESTACIONARIO DEL MINI HELICÓPTERO UAV.

Las ecuaciones mencionadas en el capitulo II, sección 2.2.4.3. se

utilizan para formar un modelo lineal en Espacio de Estado del sistema (por

cuanto es la forma más fácil de trabajar con sistemas M.I.M.O). La

aceleración del rotor de cola no es posible representarla directamente en un

modelo lineal en Espacio de Estado. Por lo tanto esta aceleración se

considerara constante y es tomada como una perturbación en el sistema.

El sistema quedaría representado por las siguientes ecuaciones:

+=++=

)()()()()()()(

tuDtxCtytdBtuBtxAtx

ss

dss (29)

Donde sA , sB , sC , sD son las matrices del sistema, dB es la matriz de

perturbaciones, )(td es la perturbación introducida al sistema por el rotor de

cola y )(tx es el vector de estado, el cual esta dado por:

Tcs ttttttrtqtptwtvtutx )]()()()()()()()()()()([)( 11 ββψθφ= (30)

y u(t) es el vector de entrada:

[ ]Tpedcollonglat uuuutu =)( (31)

Al introducir los parámetros respectivos del mini helicóptero empleado

en este modelo se obtienen las siguientes matrices:

Page 8: CAPÍTULO IV ANALISIS DE LOS RESULTADOS

92

−−

=

078.01

0000000000

0078.01

000000000

00000100000000000100000000000100000000000000

54.83427.1000000000453.47.26000000000000000000000081.90081.900000081.90081.90000000

sA

(32)

−−−

=

0010

00010000

00000000

2723.0000

00000000

06.2290002253.0162.200

0000

sB

(33)

=

00100000000000001000000000001000000000001000000000001000000000001000000000001

sC (34)

y 0=sD . Las perturbaciones introducidas al sistema en el punto de

funcionamiento solo afecta a v . En consecuencia, la matriz dB quedaría

definida de la siguiente forma:

[ ]TdB 00000000010= (35)

Page 9: CAPÍTULO IV ANALISIS DE LOS RESULTADOS

93

Fase 3: Diseño de la estrategia de control por reubicación de polos para el

vuelo estacionario del mini helicóptero UAV.

4.4 ESTRATEGIA DE CONTROL POR REUBICACIÓN DE POLOS

PARA EL VUELO ESTACIONARIO DEL MINI HELICÓPTERO UAV. El objetivo de la estrategia de control es el conducir al helicóptero para

que logre su equilibrio, es decir, lograr que las velocidades de traslación sean

cero, y los ángulos de Euler constantes. De esta manera, el helicóptero se

estabiliza en una maniobra de vuelo estacionario. Así, el control tiene que

llevar al sistema a un estado donde los valores se correspondan con los de

equilibrio.

La estrategia de control a emplear en esta investigación para lograr

regular el vuelo estacionario de un mini helicóptero UAV, es la reubicación

de polos la cual fue descrita en el capitulo II.

En esta estrategia al igual que otras, una vez que se determina que el

sistema es observable y controlable, se puede hacer que este sea estable (o

desestabilizarlo según el caso); para ello podemos comenzar introduciendo

un control simple a través de una ganancia de retroalimentación negativa.

Esta retroalimentación compensa la entropía del sistema, es decir, la

tendencia que tiende el sistema (a converger, a divergir u oscilar);

introduciendo entropía negativa por medio de la retroalimentación, se puede

controlar al mismo siempre y cuando éste sea un sistema controlable.

En el control por ubicación de polos la selección de estos en lazo

Page 10: CAPÍTULO IV ANALISIS DE LOS RESULTADOS

94

cerrado o de la ecuación característica deseada, dependerá del efecto

esperado; pudiendo éste ser basado en la velocidad de respuesta,

amortiguación deseada, minimización de efectos adversos, ruidos, entre

otros.

La determinación de la matriz de ganancia de realimentación K

constituye el paso fundamental para esta estrategia de control. La misma

puede obtenerse por distintos métodos, de forma que los autovalores del

sistema sean los polos en lazo cerrado (polos del sistema dentro del espacio

de estados).

Con el modelo obtenido en la sección anterior, se procedió a través del

programa CRPE.m de MATLAB (ver anexo A), a transformar el sistema a

Espacios de Estados, también se llevo de tiempo continua a discreto, así

como se analizo si el sistema era controlable y observable, para de esta

manera determinar el valor de K en función de los polos. Con cada ejecución

del programa se generaron diferentes polos y matrices de ganancia de

realimentación K.

Cabe destacar, la utilización del comando place de MATLAB para la

reubicación de polos, y así obtener la matriz de ganancia K; este comando

engloba distintos métodos y comandos entre los que destacan el Método de

Ackermann para sistemas S.I.S.O. y la ecuación de Sylvester de Chen para

los M.I.M.O.

En cuanto a la estrategia de control la misma fue desarrollada en

SIMULINK (ver figura 27) y tomó como valores de entrada los resultados

Page 11: CAPÍTULO IV ANALISIS DE LOS RESULTADOS

95

obtenidos de ejecutar el programa CRPE.m.

Figura 27: Esquema de control por reubicación de polos a lazo cerrado.

Fuente: De Pool y Gutiérrez (2010) A continuación se presenta un ejemplo del producto de la ejecución

del programa y de la simulación:

Page 12: CAPÍTULO IV ANALISIS DE LOS RESULTADOS

96

Estos resultados corresponden con el vector de polos que se

encuentran dentro del círculo unitario, y su respectiva matriz de

realimentación de ganancia K.

Figura 28: Respuesta escalón para la variable velocidad de traslación

Fuente: De Pool y Gutiérrez (2010)

Se puede observar a través de la figura 28 una respuesta estable para

las variables relacionada con la velocidad de traslación (velocidad

longitudinal, lateral y vertical), la cual representa una magnitud vectorial, con

un tiempo de respuesta de 20 segundos para el sistema a lazo cerrado, lo

que representa un excelente resultado. Tanto la velocidad longitudinal como

la lateral son las que demoran más en estabilizar, mientras que la velocidad

vertical lo hace en un menor tiempo

Page 13: CAPÍTULO IV ANALISIS DE LOS RESULTADOS

97

Figura 29: Respuesta escalón para la variable velocidad angular

Fuente: De Pool y Gutiérrez (2010)

Para la variable vectorial velocidad angular se puede apreciar el

mismo comportamiento. La figura 29 muestra el comportamiento de las

componentes que conforman este vector, y que están dadas por el alabeo,

cabeceo y guiñada respectivamente. El tiempo de respuesta para la

estabilización de esta variable es de 25 segundos.

En cuanto a la tercera variable, el vector actitud el cual esta

conformado por los ángulos de alabeo, cabeceo y guiñada, su tiempo de

respuesta fue de 30 segundos. La figura 30 muestra la estabilización de

estas variables.

Page 14: CAPÍTULO IV ANALISIS DE LOS RESULTADOS

98

Figura 30: Respuesta escalón la variable actitud

Fuente: De Pool y Gutiérrez (2010)

Con esto queda demostrado, que la estrategia de control diseñada

estabiliza las principales variables relacionadas con el vuelo estacionario del

mini helicóptero.

Por otro lado, se procedió a verificar el desempeño del controlador

introduciendo para ello como variable de entrada, la data de un vuelo

estacionario de un mini helicóptero UAV, realizado por un piloto experto en

un simulador de vuelo.

En este sentido, se sustituyeron los “step” en la entrada del programa

en Simulink por la matriz que contenía la data, esta modificación se puede

apreciar en la figura 31.

Page 15: CAPÍTULO IV ANALISIS DE LOS RESULTADOS

99

Figura 31: Esquema de control por reubicación de polos a lazo cerrado.

Fuente: De Pool y Gutiérrez (2010) Los resultados de esta verificación se muestran a continuación:

Figura 32: Respuesta a la data para la variable velocidad de traslación.

Fuente: De Pool y Gutiérrez (2010)

Page 16: CAPÍTULO IV ANALISIS DE LOS RESULTADOS

100

Figura 33: Respuesta a la data para la variable velocidad angular.

Fuente: De Pool y Gutiérrez (2010)

Figura 34: Respuesta a la data para la variable actitud.

Fuente: De Pool y Gutiérrez (2010)

Observando las graficas 32, 33 y 34 se puede apreciar que el

controlador estabiliza las variables de salida relacionadas con el vuelo

estacionario del mini helicóptero UAV. Esto ratifica el resultado obtenido

Page 17: CAPÍTULO IV ANALISIS DE LOS RESULTADOS

101

anteriormente y por ende valida la efectividad del mismo.

Ahora queda por verificar si esta estrategia de control puede ser

implementada de forma embebida.

Fase 4: Especificación de los requisitos de software del SE.

4.5. REQUISITOS DE SOFTWARE DEL SE.

La primera actividad para el diseño del software embebido es

especificar sus requisitos. Entendiendo esta fase como una descripción

completa de los elementos que nuestro sistema debe satisfacer.

Tal y como se mencionó en la sección 2.2.1.6., no se dispone de

recursos ilimitados sino que la cantidad de memoria es escasa, la capacidad

de calculo y dispositivos externos será limitada. Entonces, para el caso del

desarrollo del software embebido, el cual tendrá como función principal el

control del proceso de vuelo estacionario del mini helicóptero UAV, se deben

satisfacer los siguientes requisitos:

Estar diseñado para trabajar en tiempo real, por cuanto no todos los

software están diseñados para minimizar el tiempo de respuesta ante la

presencia de alguna alteración de sus condiciones.

Poder interactuar con otros sistemas informáticos y dispositivos.

Ser mantenible y permitir realizar modificaciones y/o correcciones.

Escalabilidad, por cuanto debe permitir la posibilidad de extender el

margen de operaciones sin perder calidad, es decir, la presente investigación

Page 18: CAPÍTULO IV ANALISIS DE LOS RESULTADOS

102

contempla el vuelo estacionario del helicóptero, pero se debe preveer las

otras fases del vuelo (crucero, despegue y aterrizaje) las cuales serán

incluidas en futuras investigaciones.

Su tamaño no debe exceder la capacidad de almacenamiento en la

memoria EEPROM del dsPIC donde será instalado.

Cuando el software se este ejecutando no debe ocupar la totalidad de la

memoria RAM disponible.

Establecer niveles de prioridad en la ejecución de procesos, para de

esta manera garantizar la ejecución de las actividades prioritarias para

mantener en vuelo de forma segura al mini helicóptero.

Adicionalmente a estos requisitos, todo software que sea diseñado para

una aeronave debe cumplir con las normas internacionales DO-178B, las

cuales establecen los requisitos mínimos de operatividad y seguridad que

deben ser cubiertos en las diferentes fases del desarrollo del software. Cabe

destacar que estas normas se aplican en función del objetivo para el cual

esta diseñada la aeronave.

En la presente investigación, aunque no se aplicara ninguno de los

niveles para lograr la certificación del software bajo las normas DO-178B, el

mismo cumplirá con los requisitos estructurales para su futura aplicación. Es

decir, se llevaran a cabo las fases sugeridas por la norma, las cuales son:

Diseño de software basado en especificaciones, generación de código,

verificación, validación y la documentación.

Page 19: CAPÍTULO IV ANALISIS DE LOS RESULTADOS

103

Fase 5: Definición de la arquitectura del software del SE

4.6. ARQUITECTURA DEL SOFTWARE DEL SE.

La Arquitectura del software está definida muchas veces por el tipo de

tecnología a la cual se enfrenta el programador o grupo de programadores,

por lo cual algunos tipos de arquitectura son más recomendables que otras

para ciertas tecnologías.

Las técnicas metodológicas desarrolladas con el fin de facilitar la

programación se engloban dentro de la llamada arquitectura de software o

arquitectura lógica. Esta se refiere a un grupo de abstracciones y patrones

que nos brindan un esquema de referencia útil para guiarnos en el desarrollo

de software dentro de un sistema informático.

Así, los programadores, diseñadores, ingenieros y analistas pueden

trabajar bajo una línea común que les posibilite la compatibilidad necesaria

para lograr el objetivo deseado.

Para el caso de los sistemas embebidos en los cuales se emplean los

dsPIC se recomienda que la arquitectura del software este representada por

módulos, los cuales separan las diferentes actividades que deben ser

realizadas por estos. La representación de esta arquitectura se hace

mediante el uso de diagramas de bloques en los cuales se representa cada

modulo y las interacciones que ocurren entre estos. Así para la presente

investigación la arquitectura del software se puede apreciar en la figura 35.

Page 20: CAPÍTULO IV ANALISIS DE LOS RESULTADOS

104

Figura 35: Arquitectura del software embebido

Fuente: De Pool y Gutiérrez (2010)

4.6.1. MÓDULOS DEL SOFTWARE

De acuerdo con lo establecido en la figura 31, el software estará

compuesto por un módulo selector del tipo de maniobra de vuelo, 4 módulos

que constituirán el sistema de navegación o de movimientos básicos del mini

helicóptero UAV y por último un módulo de control de los niveles de energía.

La descripción de cada uno de estos módulos se puede apreciar en la tabla

7.

Page 21: CAPÍTULO IV ANALISIS DE LOS RESULTADOS

105

Módulo Función Entradas Salidas

Selector de la maniobra de vuelo

Permite determinar el control adecuado en función del tipo de vuelo que va a realizar el helicóptero.

Señal de los sensores.

Señal de activación para el módulo con el tipo de vuelo a realizar.

Control de despegue

Permite controlar la maniobra de despegue del helicóptero.

Señal de activación del modulo selector de la maniobra de vuelo. Señal de los sensores.

Señales a los actuadores (servos) del helicóptero.

Control de vuelo estacionario

Permite controlar la maniobra de vuelo estacionario del helicóptero.

Señal de activación del modulo selector de la maniobra de vuelo. Señal de los sensores.

Señales a los actuadores (servos) del helicóptero.

Control de vuelo crucero

Permite controlar la maniobra de vuelo crucero del helicóptero.

Señal de activación del modulo selector de la maniobra de vuelo. Señal de los sensores.

Señales a los actuadores (servos) del helicóptero.

Control de aterrizaje

Permite controlar la maniobra de aterrizaje del helicóptero.

Señal de activación del modulo selector de la maniobra de vuelo. Señal de los sensores.

Señales a los actuadores (servos) del helicóptero.

Control de niveles de energía

Permite controlar que los niveles de energía se encuentren en los parámetros óptimos funcionamiento.

Señal de la instrumentación instalada para determinar los niveles de energía.

Señal al módulo selector del tipo de vuelo.

Tabla 7: Descripción de los Módulos del Software Fuente: De Pool y Gutiérrez (2010)

Page 22: CAPÍTULO IV ANALISIS DE LOS RESULTADOS

106

Cabe destacar, que en la presente investigación solamente fue tratado

el módulo de control de vuelos estacionario, dejando para futuras

investigaciones el desarrollo de los otros.

4.6.2. LENGUAJE DE PROGRAMACIÓN

En cuanto a los lenguajes de programación empleados para

desarrollar el software embebido, con la estrategia de control por reubicación

de polos, fue necesaria la utilización de varios programas. Estos fueron: el

editor de archivos de MATLAB 7.0. Simulink, MPLAB IDE v8.60 y C. Es

necesario resaltar, que el software embebido podía ser desarrollado

completamente en lenguaje C, pero sería un proceso largo, complicado y

costoso, por cuanto requeriría de programadores expertos en esta

herramienta y especialistas en área de electrónica, específicamente en

dsPIC para lograr integrar el hardware con el software elaborado.

4.6.3. CODIFICACIÓN DEL PROGRAMA COMPUTACIONAL CON LA

ESTRATEGIA DE CONTROL SELECCIONADA. El proceso de codificación del programa se realizo en varias etapas,

empleando diferentes herramientas de programación tal y como se menciona

en la sección anterior.

En primer lugar, se elaboro el programa CRPE.m (ver anexo A) con el

editor de MATLAB 7.0. el cual generaría todas las variables necesarias para

alimentar el modelo en Simulink incluyendo el cálculo de la matriz de

Page 23: CAPÍTULO IV ANALISIS DE LOS RESULTADOS

107

ganancia de realimentación K en función de los polos. Tomando estas

variables como punto de partida se diseño en Simulink la estrategia de

control por reubicación de polos obteniendo como resultado el programa

CRP_E.mdl (ver figura 27).

Luego de demostrar que el control planteado estabilizaba al sistema,

se procedió a compilar en lenguaje C el programa CRP_E.mdl. Esto se logro

a través de la aplicación de los bloques de Simulink de la “Embedded Target

for Microchip® dsPIC”. Estos bloques se pueden apreciar en la figura 36.

Figura 36: Bloques de Simulink empleados para generar el código en

lenguaje C. Fuente: De Pool y Gutiérrez (2010)

Al ejecutar la simulación y hacer doble clic sobre el bloque “Compile

for dsPIC” se genero el directorio “CRP_accel_rtw” el cual contenía una serie

de archivo que se pueden apreciar en la figura 33. Este procedimiento tiene

su basamento en el hecho de que una vez se ha creado un modelo dinámico

en Simulink, se puede invocar el generador de código-C que permite

Page 24: CAPÍTULO IV ANALISIS DE LOS RESULTADOS

108

convertir el diagrama de bloques implementado en un código C. Este puede

ser útil para varios propósitos: puede ser usado para control en tiempo real,

simulación en tiempo real o simulación acelerada en tiempo no real. Sus

aplicaciones pueden ser control de movimiento, control de procesos,

sistemas automotores, equipos médicos, robótica, entre otras.

El código-C es diseñado tal que puede ser ejecutado en tiempo real.

No requiere ser escrito manualmente por un programador pues es creado a

nivel de diagramas de bloques en Simulink. El código generado puede correr

sobre un amplio rango de hardware ubicado en estaciones de trabajo, PC o

microprocesadores.

Figura 37: Archivos contenidos en el directorio “CRP_accel_rtw” Fuente: Gutiérrez (2010)

En la figura 37, se pueden observar diferentes extensiones para los

archivos generados, estas representan una identificación que permite

determinar a que programa pertenece o que función cumple dentro de un

Page 25: CAPÍTULO IV ANALISIS DE LOS RESULTADOS

109

aplicación particular. Dicho esto, se puede apreciar que las extensiones que

se destacan son “.c” y “.h” que son propios del lenguaje C, el “.mk” de

Makefile el cual involucra herramientas para la compilación cruzada, y los

“.obj” los cuales son archivos objetos necesarios para la compilación. En el

anexo B se pueden apreciar los diferentes códigos generados en esta fase.

Posteriormente a la generación de estos archivos (los cuales

contienen la estrategia de control diseñada y el modelo seleccionado) se

procedió a la apertura de los mismos en MPLAB IDE v8.60, facilitando de

esta forma incorporar (embeber) dichos archivos en el dsPIC.

Fase 6: Validación del software embebido

4.7. VALIDAR EL SOFTWARE DEL SE.

La fase de validación es el proceso de establecer las pruebas

documentadas que proveen un alto grado de garantía de que el sistema logro

los requisitos y cumplió con las limitaciones previstas en la sección 4.5.

En este sentido, se puede observar que el tamaño de los diferentes

programas que conforman el software embebido es de 30KB (tomando en

cuenta solamente los archivos del lenguaje C), no superando de esta forma

la capacidad de almacenamiento en memoria del dsPIC que es de 144KB.

Permitiendo de esta forma que el programa incorpore más funciones a futuro,

necesarias para los otros módulos de vuelo del software. Es decir, se

garantiza la escalabilidad del mismo.

Page 26: CAPÍTULO IV ANALISIS DE LOS RESULTADOS

110

Por otro lado, tenemos que la primera prueba realizada, fue la de

funcionamiento de la estrategia de control, la cual se realizo en la sección

4.4. donde se demostró con la ayuda de MATLAB y Simulink, que el control

por reubicación de polos estabilizaba las variables de salida del proceso de

vuelo estacionario del mini helicóptero UAV.

Ahora bien, tomando como referencia las pruebas realizadas en

Simulink, se procedió a simular el código generado en C con la ayuda de

MPLAB. Para ello se cargaron los archivos en el dsPIC30F1010 del

simulador, configurándole como entrada una matriz de 4x240 que representa

la data de un mini helicóptero en vuelo estacionario durante 6 minutos. Esta

matriz se obtuvo con el simulador RealFlight. La salida se configuro de forma

tal, que fueran almacenas en una hoja de cálculo, para que posteriormente

con la ayuda Matlab estas variables fueron agrupadas en función de la

magnitud vectorial que representan y se graficaron con la ayuda del comando

“Plot”, los resultados se muestran a continuación:

Figura 38: Respuesta de MPLAB a la variable velocidad de traslación

Fuente: De Pool y Gutiérrez (2010)

Page 27: CAPÍTULO IV ANALISIS DE LOS RESULTADOS

111

Figura 39: Respuesta de MPLAB a la variable velocidad angular

Fuente: De Pool y Gutiérrez (2010)

Figura 40: Respuesta de MPLAB relacionada con la variable actitud

Fuente: De Pool y Gutiérrez (2010) Comparando las figuras 28, 29 y 30 de la simulación del controlador

en Matlab, con las figuras 38, 39 y 40 de la simulación del software embebido

en MPLAB, respectivamente, se puede observar en términos generales, que

aunque existe discrepancia en las gráficas, relacionadas principalmente con

el tiempo de respuesta y el punto de estabilización, se puede decir que existe

similitud en los resultados obtenidos y por ende el software embebido

funciona.