Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Director
JUAN MANUEL NOGALES VIEDMAN
Ingeniero Mecatrónico con Maestría en ingeniería.
Jurado
A Juan Manuel Nogales, director de proyecto de grado, por su orientación, por ser
nuestra guía en el desarrollo de éste y por su incondicional compromiso con este
trabajo, aportando conocimiento, incentivando al trabajo en equipo y solucionando
contratiempos que se presentaron durante el desarrollo.
A Cesar Augusto Rodríguez, Coordinador del proyecto del simulador de vuelo, por
orientarnos al mundo laboral y enseñarnos este panorama que viviremos en un
futuro.
A Arlex Leyton, asesor en el área de mecánica, por siempre dirigir nuestro proyecto
de una manera excepcional, brindándonos conocimientos y solucionando
problemas presentados durante este proceso, por enseñarnos lo importante que es
ver el mundo desde otras perspectivas y siempre preguntarnos, ¿Qué pasaría sí?
4
CONTENIDO
pág.
RESUMEN 14
INTRODUCCIÓN 15
2. JUSTIFICACIÓN 19
3. OBJETIVOS 21
OBJETIVO GENERAL 21
OBJETIVOS ESPECÍFICOS 21
4. ALCANCES Y LIMITACIONES 22
5. ANTECEDENTES 23
6. MARCO TEÓRICO 30
REALIDAD VIRTUAL 30
CONTROL 30
SERVOMOTOR 33
SERVO-DRIVE 33
MECANISMOS DE PLATAFORMAS 34
5
6.5.2 Plataforma Por Sistema Articulado Bilateral 35
ANÁLISIS DINÁMICO 38
7. METODOLOGÍA 43
SOFTWARE UTILIZADOS 46
7.1.1 MATLAB 46
7.1.2 SOLIDWORKS 46
7.1.3 X- PLANE 11 47
DISEÑO DE LA PLATAFORMA 53
9. CINEMÁTICA DE MOVIMIENTO 58
DEFINICIÓN DE GEOMETRÍA 58
6
PERTURBACIONES EN Z 63
MOVIMIENTO PARÁSITO 64
MOVIMIENTOS COMBINADOS 65
VIBRACIONES 66
CARACTERIZACIÓN DE DATOS 67
SELECCIÓN DE ACTUADORES 73
SERVOMOTORES 74
SERVO-DRIVE 79
REDUCTOR 83
10.8.2 DISYUNTOR 89
12. CONCLUSIONES 97
BIBLIOGRAFÍA 100
7
ANEXOS 103
8
LISTA DE CUADROS
pág.
Cuadro 6. Distribuidores 74
9
LISTA DE FIGURAS
pág.
10
Figura 23. Diseño del sistema de movimiento 54
Figura 27. Longitudes iniciales entre los puntos de apoyo del conjunto
de actuación, dimensiones en mm 57
11
Figura 52. Cable de potencia 87
12
LISTA DE ANEXOS
pág.
13
RESUMEN
El problema fue abordado desde el software de simulación Xplane 11, el cual provee
la información al simulador de vuelo. De este software se tomaron los valores que
fueron representados por la plataforma de movimiento y, a través de un análisis en
MATLAB, se logran encontrar las fuerzas, potencias y demás componentes
mecánicas necesarias para la selección de los actuadores y el diseño.
También, se presenta el análisis cinemático que parte por referenciar los puntos
geométricos representativos de la plataforma. Se desarrolló una transformada
netamente rotacional y luego la ejecución de la suma vectorial en lazos cerrados.
Para la validación de la propuesta, se usó el plugin de Matlab que permite importar
mecanismos desarrollados en Solidworks y de esta manera se logró efectuar el
análisis cinemático sobre la plataforma propuesta.
14
INTRODUCCIÓN
Al inicio, los primeros simuladores de vuelo contaban con un piloto que subía a la
plataforma y era movida por dos o tres personas emulando los movimientos del
vuelo. Afortunadamente, la robótica apareció para ofrecer una alternativa perfecta
que ayudase en este trabajo repetitivo y fatigante. Aunque la disciplina de robótica
es moderna y está en crecimiento, desde sus inicios se han registrado la
construcción de artefactos que materializan el deseo humano de liberarse del
trabajo fatigoso. Trabajo que es inherente a los simuladores de vuelo, pues son
muchas las repeticiones del mismo vuelo para entrenar a cada piloto. En la
15
actualidad, según Izaguirre1, los mecanismos de los simuladores de vuelo y sus
movimientos pueden ser considerados como sistemas robóticos.
16
1. PLANTEAMIENTO DEL PROBLEMA
17
Según la norma y el alcance del proyecto, la plataforma debe tener mínimo tres ejes
de movimiento, los cuales son los más importantes en vuelo, son cabeceo, alabeo
y movimiento en el eje vertical, descritos en la figura 1. También debe considerar
los efectos debidos al empuje del motor, el aterrizaje y demás perturbaciones
comunes en la avioneta. Estas señales permitirán al piloto desarrollar un correcto
entrenamiento para mantener el control de la aeronave pues se trata de un sistema
retroalimentado por el mismo.
18
2. JUSTIFICACIÓN
Por otro lado, es importante mencionar que no hay simuladores de la FAC (Fuerza
Aérea Colombiana) que cuenten con la certificación respectiva del SECAD (Oficina
de Certificación Aeronáutica de la Defensa) y, por tanto, este proyecto apunta a
desarrollar un simulador que cumpla todos los requerimientos necesarios para ser
uno de los primeros a ser certificado.
3 SHAPPELL, Scott, et al. Human Error and Commercial Aviation Accidents: An Analysis Using the
Human Factors Analysis and Classification System.[en linea] En: SAGE Journals Human Factors. 2,
abril, 2007, vol. 49, p. 227–242. [Consultado: 10 de diciembre de 2018] Disponible en Internet:
https://doi.org/10.1518%2F001872007X312469
19
desarrollar y replicar todas las acciones simuladas en el software y llevarlas a la
realidad mediante los actuadores y sistema de movimiento acondicionados y
seleccionados de acuerdo a las necesidades Propias del mecanismo. En la
siguiente figura se muestra las funciones básicas de un dispositivo para
entrenamiento de vuelo (por sus siglas en ingles Flight Simulation Training Device,
FSTD). Note que la experiencia del piloto depende de la combinación del
subsistema visual y el de movimientos mezclados con los comandos y datos del
vuelo.
Note que los pilotos, en el simulador, deben interactuar con un entorno similar al
que encuentran en la aeronave. Deben tener contacto con el panel de comando que
indique las variables de vuelo, experimentar efectos visuales del entorno y sufrir los
efectos de las fuerzas y vibraciones consecuentes en cualquier vuelo real. Todos
estos efectos combinados deben aproximarse a la realidad, pues generan
sensaciones que pueden desorientar a los pilotos durante un vuelo real. La idea es
forzarlos a tomar decisiones en un ambiente controlado que les permitan aprender
cómo actuar ante situaciones adversas que se pueden presentar en la realidad.
20
3. OBJETIVOS
OBJETIVO GENERAL
OBJETIVOS ESPECÍFICOS
Es importante mencionar que para cumplir con los objetivos específicos se debe
primero realizar el análisis cinemático y dinámico para proceder con la selección de
los componentes electrónicos, actuadores y equipos de protección eléctrico
necesarios para el correcto funcionamiento del sistema de movimiento sugerido.
Pues, con los componentes seleccionados, se debe garantizar que la plataforma
cumple con los estándares internacionales definidos en la norma RAC 60.
21
4. ALCANCES Y LIMITACIONES
22
5. ANTECEDENTES
23
su origen todos los simuladores de vuelo han tenido la finalidad de entrenar a los
pilotos en el uso de los comandos principales de vuelo.
Al finalizar la guerra hubo avances significativos como los desarrollos del ‘Orientador
Ruggles’ (1917), Rougerie (1928), Roeder (1929), Johnson (1931), y Jenkins y
Berivn (1932). El diseño llamado ‘Orientador Ruggles’ se conforma de: un asiento
articulado en una suspensión Cardán la cual permitía que el piloto experimentarse
una rotación total en los 3 ejes y admitía un movimiento vertical. Este diseño tuvo
un gran direccionamiento a simular lo vivido o experimentado realmente en una
aeronave. Ya en este modelo, los movimientos son controlados por motores
eléctricos los cuales eran accionados mediante placas de vuelo y pedales de timón
simulados tanto por mandos del alumno como también del instructor quien hacía las
veces de turbulencia y situaciones adversas.
Sin embargo, el primer simulador de vuelo conocido y reconocido como tal, fue
mostrado ante el mundo en 1929. El constructor Edwin A. Link tenía el deseo
obsesivo de aprender a volar y vivir esta gran experiencia. Para cumplir su sueño,
construyó su propio simulador de vuelo con los pocos recursos que contaba. Como
resultado de su exploración, surgió el “Link Trainer”. Este simulador fue construido
con los materiales que Link obtuvo del negocio de la familia llamado ‘Link Piano and
Organ Company’ de Binghamton, Nueva York. Los componentes principales del
simulador de vuelo de Link incluían: fuelles neumáticos que se inflaban a través de
bombas de aire para simular los movimientos de cabeceo y banqueo. El movimiento
de guiñada era generado por un motor eléctrico acoplado a un sistema de
engranajes que giraban la plataforma. El diseño de Link mostrado en la Figura 5 fue
24
tan exitoso que se usó sin mayores cambios por más de 20 años y fue patentado
en 1931.
25
en pares a tres posiciones en la placa base de la plataforma, cruzando a tres puntos
de montaje en una placa superior. Estos actuadores lineales cuentan con una base
fija y una plataforma superior que es móvil y es donde los actuadores son inclinados
para que al combinar sus movimientos se logren seis GDL. (Ver figura 6)
26
Figura 7. ATR 72-600 Canarias 2017.
27
Figura 8. Simulador DCX con tecnología PFC.
28
del EMAVI. Fue así, como la escuela se ganó un reconocimiento por el esfuerzo,
dedicación y éxito que tuvo en el desarrollo de este proyecto.
Al igual que el simulador del T-37 el del T-41 incorporó para su movimiento una
plataforma de 3 grados de libertad, sin embargo, lo hizo implementando actuadores
rotacionales y no lineales, a través de un sistema de rodilla adherido a un
mecanismo compuesto por una biela y manivela la cual transmiten el movimiento
del motor. El trabajo de grado “Diseño de la plataforma móvil con tres grados de
libertad para el entrenador de vuelo de la aeronave T41D de la EMAVI” desarrollado
por Narváez y Obando4 muestra el proceso de selección entre actuadores que
culmina seleccionando motores rotacionales.
4 NARVÁEZ, AF. Juan y OBANDO, AF. Alejandro. Diseño de la plataforma móvil con tres grados de
libertad para el entrenador de vuelo de la aeronave T41D de la EMAVI [PDF] Trabajo de grado
Ingeniería Mecánica. Santiago de Cali: Escuela Militar de Aviación Marco Fidel Suárez. PIMEC.
2017. p. 43-58. [Consultado: 20 de agosto del 2018]. Disponible en: Repositorio biblioteca EMAVI.
29
6. MARCO TEÓRICO
REALIDAD VIRTUAL
CONTROL
5 ABEROUCH, Abdallah, et al. Simuladores de vuelo: historia y evolución [blog]. Realidad virtual
como método de entrenamiento. 22 de noviembre de 2008. Párrafo 4. [Consultado: 14 de septiembre
de 2018]. Disponible en: https://entrenamientovr. wordpress.com/2008/11/22/simuladores-de-vuelo-
historia-y-evolucion/
30
haciendo que su producción sea más económica” 6 La economía actual está basada
en gran medida en la automatización industrial y de gran variedad de procesos. Los
dos tipos principales de sistemas de control son: de lazo abierto y de lazo cerrado.
Las siguientes secciones explican más acerca de estos dos abordajes.
Los sistemas de control de lazo abierto son sistemas de control que se caracterizan
por carecer de sensores que informen al sistema del estado en el que se encuentra.
El proceso automatizado se hace siempre igual sin poder comprobar si finalmente
llegó al estado deseado.
31
el sistema. Finalmente, cuando el actuador efectúa la acción se ve reflejada en el
proceso o “planta” en cuestión, logrando así obtener una salida del sistema.
Los sistemas de control de lazo cerrado son sistemas de control que se caracterizan
por tener sensores que capturan las señales de salida del proceso automatizado
(por ejemplo, encender y apagar una farola en función de la luz ambiental o el
sistema de cierre que permite detener el llenado de un tanque cuando el agua ha
alcanzado una determinada altura). Dichos sensores ayudan a controlar la salida
del sistema al transmitir información acerca del estado del proceso.
Observe que, en el caso del control en lazo cerrado, se incluye un elemento más y
un lazo de realimentación el cual adjunta la señal de salida. La realimentación es un
método por el cual la señal de salida se redirige a la entrada, con objetivo de
compararla con el estado deseado del proceso y poder determinar el error. Una vez
identificado el error, el controlador envía las señales apropiadas a los actuadores
para ajustar el proceso. En la figura 12 se representa el diagrama de bloques en
lazo cerrado.
32
se llevará a cabo la codificación de la cinemática inversa de la plataforma calculando
las señales de control correspondientes a cada una de sus entradas principales
(posición angular, velocidad y aceleración angulares).
SERVOMOTOR
SERVO-DRIVE
33
servomotor para producir un movimiento proporcional a la señal de comando. La
señal de comando representa una velocidad deseada, también puede representar
un par o posición deseada. La escogencia de la señal de comando depende de la
aplicación del servomotor. El sensor debe ir conectado al servomotor para informar
del estado actual del motor al servo-drive, que luego compara el estado real del
motor con el estado indicado en el comando. Luego altera el voltaje, la frecuencia o
el ancho de pulso del motor para corregir cualquier desviación del estado ordenado.
MECANISMOS DE PLATAFORMAS
34
En la tesis de Smit7 podemos encontrar algunas ventajas:
Y desventajas:
Entre las ventajas de este tipo de plataforma, ver figura 15, según Smit8 se tiene:
7 SMIT, Philip Ethelbert. Development of a 3-DOF Motion Simulation Platform [PDF]. Thesis for the
degree of Master of Science in Engineering. Suramérica: Stellenbosh University, Department of
electrical and Electronic Engineering, marzo, 2010. p. 18-19. [Consultado: 10 de febrero de 2019].
Disponible en Internet:
https://scholar.sun.ac.za/bitstream/handle/10019.1/4155/smit_development_2010.pdf?sequence=1
&isAllowed=y
35
Por otro lado, sus desventajas son:
Esta plataforma, aunque es de las más modernas, según Smit9 tiene entre las
ventajas que:
36
Figura 16. Plataforma Stewart
37
EJES DE ROTACIÓN DE LA AERONAVE
Este eje se extiende a todo lo largo de la envergadura de las alas, es decir, de una
punta a la otra. El movimiento sobre el eje “Y” se denomina “cabeceo” y para
controlarlo se utiliza el timón de profundidad o elevadores, situados en la cola del
avión.
Este eje atraviesa la mitad del fuselaje. El movimiento sobre el eje vertical se
denomina “guiñada” y se controla por medio del timón de cola o dirección, situado
también en la cola del avión.
ANÁLISIS DINÁMICO
38
Figura 17. Cinemática en robot paralelo
Fuente: Miguel A. Díaz, et al. Dinámica directa de robots paralelos utilizando las
ecuaciones de Gibbs-Appell. Universidad de los Andes, La serena, Chile: Scielo,
2007, Vol. 18, N°4, p. 75-82. [Consultado: 17 de Julio de 2019]. DOI:
http://dx.doi.org/10.4067/S0718-07642007000400011. ISSN: 0718-0764
39
Figura 18. Movimiento parásito de plataforma 3-GDL.
12 GUNT HAMBURG. Conocimientos básicos Cinética y cinemática [en línea]. Alemania: 2019. párr.
1, 2, 3, 4. [Consultado: 12 de julio de 2019]. Disponible en internet:
https://www.gunt.de/images/download/Conocimientos-bsicos-cinemtica-y-cintica_spanish.pdf
40
provee señales por lo menos equivalentes a aquellas de un sistema de movimiento
de tres grados de libertad.
Todos los simuladores de vuelo han dado origen al concepto de FSTD, que es un
sistema robótico dirigido al entrenamiento de vuelo a través de la simulación
aproximada de la realidad que se vive dentro del avión para el cual se cursa. Consta
de un sistema de movimiento para generar una sensación de realismo que brinda
información vital al piloto sobre el estado del avión, además de los comandos, de
pantallas digitales y sensores propios del avión original, y de un sistema visual que
ambienta la locación del avión dentro de la simulación. En la Figura 11, se puede
apreciar un simulador hecho por Zall Letov Simulators el cual es un productor de
simuladores certificados por la EASA y la FAA.
41
Como se busca que el simulador a desarrollar cumpla con los requerimientos
exigidos por los reglamentos aeronáuticos de Colombia con la finalidad de realizar
el proceso de certificación. La RAC como normativa aeronauta se derivan varios
numerales, entre ellos se encuentra el 60, el cual es el conjunto de normas dirigidas
a los FSTD, éstas procuran seguridad y objetividad, certificando ante las entidades
gubernamentales, militares, internacionales y demás que el producto está evaluado
y aprobado de manera técnica y legal.
Estas normas nos entregan los requerimientos que debemos cumplir para obtener
la certificación entre las clases A, B, C o D. Actualmente, según la dirección del
proyecto se apunta a la certificación de clase B, la cual para el sistema de
movimiento tiene los siguientes requerimientos, según la Unidad Administrativa
Especial de Aeronáutica Civil13, los cuales se encuentran en la sección 5 de la tabla
1.1A de dicha norma.
42
7. METODOLOGÍA
Para alcanzar esta meta, se propone una estrategia adaptada al diseño concurrente
donde se tienen en cuenta todas las fases del ciclo de vida del producto, desde su
nacimiento como concepto hasta la entrega al cliente. Por tal motivo, el grupo
encargado de esta propuesta se vinculó a más etapas de las necesarias para
culminar este proyecto. Adquiriendo conocimientos más allá de la simulación y la
definición del control, se aprendieron conceptos de estructuras mecánicas, de
maniobras de vuelo y acerca de normativas que rigen en el ámbito de la aeronáutica
para este tipo de dispositivos. La intención de este esfuerzo extra fue poder alcanzar
de manera sistemática y gradual los objetivos inicialmente propuestos, como se
puede apreciar a continuación con las etapas del proyecto.
43
Para la fase del análisis cinemático, se desarrollaron diversos pasos, entre estos se
encuentra la obtención de datos a través del software de simulación de vuelo X-
plane 11. Para tal, fue necesario que un piloto certificador y pilotos aprendices
desarrollaran las maniobras críticas del entrenamiento. Como resultado de esta
fase, se logró recopilar los datos de movimiento de la aeronave a ser efectuados en
la plataforma. Estas simulaciones fueron desarrolladas con ayuda de un equipo
especializado con capacidades de renderizado en tiempo real y de un joystick
adaptado para funcionar como el mando de vuelo. La recopilación de datos entregó
un archivo de texto el cual se importó como tabla en MATLAB, esto permitió
organizar de mejor manera los datos para posteriormente realizar un análisis, ajuste
y normalización de los datos.
Base móvil
Base fija
44
En la tercera fase, se realizó todo el análisis dinámico mediante el software de
modelamiento CAD Solidworks modelando la plataforma como un ensamble
replicando varias singularidades del diseño. La simulación es desarrollada en un
computador a través de la herramienta de análisis de movimiento de Solidworks,
con la cual se añaden actuadores rotacionales en los ejes que se enlazan a los
datos desde MATLAB. Se encuentran las fuerzas necesarias para desarrollar los
movimientos y se toma los valores máximos, los cuales son un criterio necesario
para el diseño mecánico y la selección de actuadores.
45
la estructura móvil y los ángulos de los motores en la estructura fija. Estos resultados
fueron comparados con las respuestas teóricas para su validación.
SOFTWARE UTILIZADOS
7.1.1 MATLAB
7.1.2 SOLIDWORKS
14MONTBRUN, Andrés. Matlab [blog]. Eldish. Automatización, C.A: 1997. Párr 1. [Consultado: 14
de septiembre de 2018]. Disponible en Internet: http://www.eldish.net/hp/automat/matlab.htm
46
Es capaz de animar mecanismos en tiempo real y su principal característica es la
velocidad de diseño, su capacidad de corrección y actualización de los productos,
además produce vistas completas, detalladas, cortes, listado de partes y sus pesos.
7.1.3 X- PLANE 11
16LAMINAR RESEARCH. FLIGHT SIMULATOR X-PLANE 11 [en linea]. Columbia Carolina del Sur:
2019. [Consultado: 12 de julio de 2019]. Disponible en internet: https://www.x-plane.com/wp-
content/uploads/2017/04/Manual_X-plane11_sp_web.pdf
47
8. NECESIDADES, NORMATIVIDAD Y RESTRICCIONES
Permitir realizar las maniobras Viraje escarpado, Tráfico militar, Chandelle, Ocho
perezoso, estas son las más críticas del manual de tareas T-90,2016.
Tener un sistema visual que permita cubrir 180° y cumplir esta necesidad es
esencial, debido a que en el entrenamiento primario se realiza un vuelo visual,
obligando al alumno a que tome una serie de referencias en el entorno con un
campo de acción de 180°.
48
NORMAS Y RESTRICCIONES LEGALES
Teniendo en cuenta esta norma, existen los QPS (Estándares de Calificación del
Rendimiento) los cuales regulan la certificación y clasificación de los FFS (Simulador
de vuelo) y presentan los requisitos generales de simuladores como también las
pruebas subjetivas y objetivas del mismo con el fin de determinar todos los
requisitos para un nivel específico. En el Apéndice A de esta norma se encuentra
los requisitos generales de simuladores (Tabla 1.1A) y las pruebas subjetivas las
49
cuales el instructor o piloto chequeador debe estar calificado para el control en el
simulador (Tabla 1.1C). Estas tablas se dividen principalmente así:
50
Cuadro 2. Requisitos Generales de Simuladores
51
se deben simular están: los efectos de empuje, sacudidas durante el aterrizaje y
despegue, rozamientos en el suelo y las vibraciones del aire.
52
DISEÑO DE LA PLATAFORMA
Simplicidad, por la práctica se sabe que mientras más simple y sencillo sea un
sistema mecánico, este será más adecuado para la tarea (cabe resaltar que este
aspecto afecta al primer criterio ya que es el que determina la cinemática del
mecanismo).
19 BURBANO, Frank Y SANCHEZ, Diego. Diseño mecánico del simulador de vuelo de la aeronave
calima T90C para la escuela militar de aviación. Trabajo de grado Ingeniería mecánica. Santiago de
Cali. Universidad Autónoma de Occidente. Facultad de ingeniería. Departamento de mecánica. 2019.
53
Figura 22. Plataforma neumática con sistema tijera
54
DESCRIPCIÓN DEL MECANISMO SELECCIONADO
3 conjuntos servomotor-reductor.
55
Figura 25. Vista lateral de un movimiento de cabeceo puro
La figura 27 se muestra las distancias iniciales entre los puntos de apoyo de cada
conjunto de actuación en la plataforma.
56
Figura 27. Longitudes iniciales entre los puntos de apoyo del conjunto de
actuación, dimensiones en mm
57
9. CINEMÁTICA DE MOVIMIENTO
DEFINICIÓN DE GEOMETRÍA
Se parametrizan las coordenadas de la base fija (Estructura fija “A”) ver figura 28,
respecto del sistema de referencia fijo XYZ, Figura 29.
58
Figura 29. Parametrización de la base fija
59
Figura 30. Parametrización de la base móvil
Los puntos C no son fijos por ende no se pueden referenciar a XYZ o a X’Y’Z’. Sin
embargo, pueden ser encontrados a través de sumas vectoriales de los lazos
cerrados.
60
Figura 31. Parametrización de las piezas móviles
61
Figura 32. Lazos cerrados en las cadenas cinemáticas
62
Para el lazo delantero se añade el punto C4 y se desarrolla similar a los lazos
traseros.
En los lazos traseros se genera un triángulo, del cual conocemos todos sus lados,
de éstas podemos obtener el ángulo interno en el contacto del motor, el cual sumado
con el vector Li nos entrega el ángulo entre el vector Li y el eslabón 1.
PERTURBACIONES EN Z
63
desde X-plane la variable en Z, sin embargo, ésta mide la altura de la aeronave en
la simulación, que al escalarse pierde sensibilidad y en 0.15 [m] no es perceptible.
Por ende, se pretende recrear sólo los movimientos bruscos o en otras palabras
cuando tienen una pendiente o derivada alta. Al obtener la derivada de la elevación
se obtiene la siguiente figura 34.
MOVIMIENTO PARÁSITO
64
establecer los parámetros de corrección enviando los ajustes al ángulo visual
empleado por X-plane en el video.
MOVIMIENTOS COMBINADOS
65
Estas condiciones permiten que no se generen ángulos complejos como resultado
de posiciones inalcanzables por la cadena cinemática.
VIBRACIONES
66
10. ANÁLISIS DINÁMICO
CARACTERIZACIÓN DE DATOS
67
tiempos en que se desarrollan las maniobras, ya sea graficando la trayectoria del
vuelo en el espacio tridimensional o las variables vs el tiempo.
Se aplica un mapeo de datos, para escalar el rango de las variables, a 17° para los
ángulos y 0.15 [m] para elevación, como valores máximos. Se derivan las variables
a través del método de derivación numérica tipo central, con el objetivo de encontrar
las velocidades y aceleraciones de los movimientos, variables necesarias para el
análisis cinético desarrollado en Solidworks.
68
Figura 38. Posición Angular (rad) -Grados vs tiempo (s)
80
60
40
20
0
-20 0 200 400 600 800 1000 1200 1400
-40
-60
-80
alabeo cabeceo
80,00000
60,00000
40,00000
20,00000
0,00000
-20,00000 0 200 400 600 800 1000 1200 1400
-40,00000
-60,00000
-80,00000
walabeo wcabeceo
69
Figura 40. Aceleración Angular (rad/s^2) - Grados vs tiempo (s)
400,00000
300,00000
200,00000
100,00000
0,00000
-100,00000 0 200 400 600 800 1000 1200 1400
-200,00000
-300,00000
a.alabeo a.cabeceo
17 17
𝐹𝑎𝑐𝑡𝑜𝑟 𝑑𝑒 𝑒𝑠𝑐𝑎𝑙𝑎 = = = 0,239 (1)
𝑚á𝑥𝑖𝑚𝑜 𝑣𝑎𝑙𝑜𝑟 𝑎𝑛𝑔𝑢𝑙𝑎𝑟 71,19
Como se puede notar en el cuadro 3 y en las figuras anteriores, los valores máximos
de posición, velocidad y aceleración son los producidos por los movimientos de
alabeo, por tal motivo este será el principal parámetro de diseño y selección.
70
se seleccionan los datos de posición obtenidos entre los 143 s hasta los 391 s. En
la figura 41 se presenta la posición angular del rango seleccionado.
20
15
10
5
0
-5 0 50 100 150 200 250 300
-10
-15
71
Figura 43. Torsión (Nm) vs tiempo (s)
Torsión A1 Torsión A2
400
TORQUE (NM
300
200
)
100
0
0 50 100 150 200 250 300
TIEMPO (S)
70
60
50
40
30
20
10
0
-10 0 50 100 150 200 250 300
Velocidad A1 Velocidad A2
72
Finalmente, estas condiciones de operación obtenidas son sumamente importantes
ya que a partir de estos valores se realizará la selección de los actuadores más
acordes y necesarios para esta aplicación. También, es necesario conocer los
valores objetivos para direccionar la búsqueda más fácilmente.
SELECCIÓN DE ACTUADORES
En vista de las órdenes dadas por el grupo mecánico del proyecto, se nos delega la
realización de la investigación y selección de los componentes del sistema de
movimiento. Por ende, se parte del diseño mecánico de la plataforma seleccionado
por los ingenieros. Un análisis previo permitió concluir que el uso de actuadores
hidráulicos y neumáticos es inaPropiado porque el sistema de rodilla implementado
utiliza principalmente motores rotacionales. Además de tener estipulado el diseño
final de la plataforma y el uso de motores rotacionales, se establecen las
condiciones de operación de los motores las cuales permitirán la selección
adecuada de los componentes del sistema de movimiento.
73
servomotores. Particularmente, porque se necesita respuesta rápida de
movimiento, control sobre el sistema y su posición, además se prefiere tener
pequeños picos de movimientos en las aceleraciones y frenadas.
Cuadro 6. Distribuidores
Otra ventaja de los proveedores con convenio es el acceso oportuno a los catálogos
y manuales. Entre los distribuidores, Servelec Ltda. queda por fuera de la lista de
distribuidores porque sus tiempos de entrega no cumplen con los definidos por el
cronograma general del proyecto propuesto por los directivos.
SERVOMOTORES
Con ayuda de los catálogos de los servomotores de los dos distribuidores se realiza
la selección de los más indicados teniendo en cuenta las condiciones de operación
encontradas en los análisis previos. Al encontrar varias opciones que cumplen con
74
los requisitos, se procede a escoger según las ventajas que ofrezca cada proveedor.
Dado los rangos de movimiento y de velocidad tan particulares, es necesario realizar
los cálculos del reductor que sea más adecuado para cumplir con los parámetros
de operación. Los servomotores seleccionados y su caja reductora correspondiente
se encuentran en el cuadro 7.
75
OMRON es una empresa japonesa de electrónica con sede en Kioto, en esta casa
fabricante existe una familia de servomotores los cuales están actualizados, con
nuevas tecnologías y accesibles por medio de Multicontrol. La familia de
servomotores modernos son los Accurax G5, ideales para un control de movimiento
preciso, la tecnología del encoder y los polos del motor logra una reducción del 40%
del engatillado del motor. Los servomotores son unos 25% más ligeros y un 15%
más pequeños gracias al nuevo diseño del estator patentado PAC-Clamp, una
reducción del 40% de la pérdida de hierro y un encoder 15% más pequeño. Las
características principales de esta familia son:
El par máximo nominal dura la velocidad nominal dependiendo del modelo (s)
21 OMRON. Servomotores Accurax G5 [ en línea]. Japón. Servosistemas de c.a. 2019. p. 1-22. CAT.
No. I100E-ES-03. [Consultado: 4 de febrero de 2019]. Disponible en:
https://assets.omron.eu/downloads/datasheet/es/v2/i100e_r88m-
k_accurax_g5_servo_motors_datasheet_es.pdf
76
Cuadro 9. Datos técnicos del Servomotor
Así como los datos técnicos del servomotor es de gran importancia conocer el
comportamiento del torque del servomotor frente a la velocidad de trabajo. Como
se observa en la figura 45 en la región de funcionamiento continuo, el par nominal
es el par máximo que puede proporcionar el motor a velocidad mínima (e inferior).
En la región de funcionamiento momentáneo, el motor puede proporcionar el par
77
máximo a cualquier velocidad, pero únicamente durante 2 segundos si se pone a
trabajar en esta velocidad máxima:
78
Figura 46. Dimensiones Servomotor
Fuente: OMRON. Motores de 1000 rpm [Plano]. Servomotores Accurax G5. Japón.
Servosistemas de c.a. 2019. p. 12. CAT. No. I100E-ES-03. [Consultado: 4 de febrero
de 2019]. Disponible en:
https://assets.omron.eu/downloads/datasheet/es/v2/i100e_r88m-
k_accurax_g5_servo_motors_datasheet_es.en linea
SERVO-DRIVE
22 Ibid,. p. 1-22.
79
Cuadro 10. Servo-drivers asociados
Partiendo principalmente del costo de cada uno de ellos, se eligió para la aplicación
del control de la plataforma de movimiento el servo-drive de pulsos análogos
reduciendo el presupuesto y aumentando las diferentes alternativas para
implementar el código de control en: PLC, Arduino, Raspberry, Teensy, etc.
80
Cuadro 11. Características técnicas servo-drive
81
Área de visualización: Una pantalla LED de 6 dígitos de 7 segmentos muestra
el estado del servo-drive, alarma, códigos, parámetros, y otra información.
Es importante conocer las dimensiones del servo-drive para así mismo acondicionar
la caja de mando con los respectivos botones de encendido y los componentes de
seguridad industrial (disyuntor y contactor). Estas dimensiones se evidencian en la
figura 48:
82
Figura 45: Dimensiones del servo-drive
REDUCTOR
23 NORD. Reductores de Sinfin Serie Universal [en línea]. Barcelona. 2015. Mat. Nr. 6051 525.2908.
[Consultado: 4 de febrero de 2019]. Disponible en Internet:
https://www.nord.com/cms/media/documents/bw/G1035_60Hz_ES_2908.pdf
83
distribuidora con el fin de aprovechar el beneficio de acoplamiento entre los dos
mecanismos garantizando correcto funcionamiento. La referencia del reductor
escogido es SK1 SI 75 y tiene las siguientes características:
Los reductores del modelo SI, sinfín universal, y la etapa previa de engranaje
cilíndrico H10 son adecuados para todas las posiciones de montaje, principalmente
por la implementación de la cámara separada para cada etapa de reducción y el
diseño de la carcasa permitiendo la misma cantidad de aceite en todas las
posiciones.
Los pares máximos de salida representan los límites de carga bajo una carga
homogénea donde es importante superar el par nominal de las condiciones de
operación, por ende, este modelo ofrece un par nominal de 260 Nm.
Los reductores de sinfín vienen de fábrica lubricados de por vida con un aceite
sintético (360 ml) de larga duración y alta calidad con base de poliglicol. Esto, los
hace libres de mantenimiento, además esta referencia tiene un tapón de venteo de
aire para la puesta en servicio.
84
dimensionamiento de esta teniendo en cuenta los componentes involucrados en el
sistema de movimiento. Estas dimensiones se evidencian en la figura 49:
Los filtros de armónicos son equipos que se encargan de resolver los conflictos
generados por la distorsión armónica. El uso de los filtros de armónicos ayuda a
limitar las fluctuaciones de tensión y controlar el grado de contaminación armónica
en un sistema específico. La referencia que recomienda el fabricante a implementar
es R88A-FIK107-RE y tiene las siguientes dimensiones, se muestran en la figura
50:
85
Figura 50. Dimensiones filtro de armónicos
86
Figura 51. Cable de encoder
87
Figura 53: Conexiones de control
88
La segunda sección está principalmente direccionada a la seguridad eléctrica de los
componentes electrónicos como el servo-drive. Esta sección es importante en el
proceso ya que se asegura el correcto funcionamiento de todo el sistema y protege
de algún problema eléctrico presentado durante y después de su desarrollo, entre
estos componentes está el disyuntor, el cual cumple con la función de evitar que se
produzca u ocurra un exceso de corriente debido a un corto circuito o demás
factores externos. Además, está el contactor electromagnético el cual cumple con
la función de interrumpir o establecer la corriente eléctrica cuando exista algún sobre
paso de la misma, protegiendo a las personas y a los componentes conectados.
10.8.2 DISYUNTOR
24 OMRON. Motor protection circuit breaker J7MN [PDF en línea]. Japón. Kempstoncontrols. 2019.
p. 1-14. CAT. No. J08E-EN-03. [Consultado: 4 de febrero de 2019]. Disponible en Internet:
https://cdn.kempstoncontrols.com/files/1621dbc56a83dd8040d2a4bd565b878b/J7MN-3P-17.pdf
89
determinados instrumentos que serán compatibles entre ellos y no será necesario
ninguna etapa de potencia ni de enlace. Por ende, el disyuntor necesario para esta
aplicación compatible con el servo-drive tiene como referencia J7MN-3P-17 de
OMRON. Sus características técnicas se presentan en el cuadro 12.
Fuente: OMRON. Motor protection circuit breaker [Cuadro]. Motor protection circuit
breaker J7MN. Japón. Kempstoncontrols. 2019. p. 2. CAT. No. J08E-EN-03.
[Consultado: 4 de febrero de 2019]. Disponible en Internet:
https://cdn.kempstoncontrols.com/files/1621dbc56a83dd8040d2a4bd565b878b/J7
MN-3P-17.en linea
Fuente: OMRON. Motor protection circuit breaker [Cuadro]. Motor protection circuit
breaker J7MN. Japón. Kempstoncontrols. 2019. p. 2. CAT. No. J08E-EN-03.
[Consultado: 4 de febrero de 2019]. Disponible en Internet:
https://cdn.kempstoncontrols.com/files/1621dbc56a83dd8040d2a4bd565b878b/J7
MN-3P-17.en linea
90
detalladamente todos los sucesos o casos presentados en el control de la
plataforma de movimiento. Esté se muestra en la figura 54, 55 y 56.
91
permitidos y dañe el sistema. Las acciones principales que se llevará a cabo si
sucede esta alerta de emergencia, serán: frenar el motor, interrumpir la corriente
eléctrica, detener la recepción de datos y reiniciar la conexión del sistema
verificando que el sistema no esté en alguna posición nociva para él o las personas
a bordo, seguido de esto se debe calibrar los servomotores por medio del programa
que entrega el fabricante Cx-drive con el objetivo de direccionar los motores a los
ángulos esperados y seleccionados previamente; todo esto se podrá poner en
marcha si los servomotores vuelven a su posición de home y está todo controlado,
además debe de presionar el botón de encendido para regresar al caso 1.
92
Figura 57. Diagrama lógico. Parte B
93
11. SIMULACIÓN DEL SISTEMA DE CONTROL
Para la simulación se hace uso del plugin Simscape Multibody™ de MATLAB que
permite importar ensambles CAD desde Solidworks reconociendo las relaciones de
posición entre las partes y creando un esquema previo del ensamble en Simulink.
94
Figura 60. Simulación con Simscapes
95
en el análisis cinemático sin embargo éstos pueden ser corregidos a través de un
control en los servomotores.
96
12. CONCLUSIONES
Para cumplir con las normas que restringen esta propuesta, fue necesario realizar
el diseño detallado de todo el sistema lo que permitió determinar problemas e
inconsistencias y, como consecuencia, poder solucionarlos a tiempo y presentar un
diseño eficiente.
97
La interacción con los usuarios del producto, en este caso, los pilotos, permitió
enfocarse en lo que realmente era considerado importante para ellos y, esto a su
vez, favoreció la etapa donde se identificaron los puntos críticos de la plataforma.
98
13. RECOMENDACIONES PARA LA FUERZA AÉREA
99
BIBLIOGRAFÍA
100
JORGE. RAC (REGLAMENTO AERONÁUTICO COLOMBIANO) [blog]. Blogspot.
Bogotá. 28 de marzo del 2009. [Consultado: 20 de abril de 2019]. Disponible en:
http://esufac007.blogspot.com/2009/03/que-es-el-rac.html
NARVÁEZ, AF. Juan y OBANDO, AF. Alejandro. Diseño de la plataforma móvil con
tres grados de libertad para el entrenador de vuelo de la aeronave T41D de la
EMAVI [en linea] Trabajo de grado Ingeniería Mecánica. Santiago de Cali: Escuela
Militar de Aviación Marco Fidel Suárez. PIMEC. 2017. p. 43-58. [Consultado: 20 de
agosto del 2018]. Disponible en: Repositorio biblioteca EMAVI.
NORD. Reductores de Sinfin Serie Universal [en línea]. Barcelona. 2015. Mat. Nr.
6051 525.2908. [Consultado: 4 de febrero de 2019]. Disponible en Internet:
https://www.nord.com/cms/media/documents/bw/G1035_60Hz_ES_2908.en linea
101
OMRON. Servomotores Accurax G5 [en línea]. Japón. Servosistemas 2019. p. 1-
22. CAT. No. I100E-ES-03. [Consultado: 4 de febrero de 2019]. Disponible en:
https://assets.omron.eu/downloads/datasheet/es/v2/i100e_r88m-
k_accurax_g5_servo_motors_datasheet_es.en linea
102
ANEXOS
%% Carga de datos
clc;
clear;
cd('C:\Users\CITAE3\Dropbox\Dropbox Pasantia\CristianP\2019');
filename=fullfile('CristianP','2019','Data.txt');
Datos=readtable(filename);
numdatos=height(Datos);
Screen=get(0,'ScreenSize');
paso=100;
inicia=1;
finaliza=length(Datos.x_roll___deg);
[maxr,posmaxr]=max(Datos.x_roll___deg(inicia:finaliza));
[minr,posminr]=min(Datos.x_roll___deg(inicia:finaliza));
[maxp,posmaxp]=max(Datos.pitch___deg(inicia:finaliza));
[minp,posminp]=min(Datos.pitch___deg(inicia:finaliza));
[maxh,posmaxh]=max(Datos.x____Y_____m(inicia:finaliza));
[minh,posminh]=min(Datos.x____Y_____m(inicia:finaliza));
Datos.x____Y_____m=Datos.x____Y_____m-minh;
maxh=maxh-minh;
minh=0;
%% Derivadas discretas
clc;
%DerivaciOn numErica mediante diferencias finitas centrales
vR=zeros(1,numdatos);
vP=vR;
vH=vP;
SampleT=0.1;
for j=2:numdatos-1
vR(j)=(Datos.x_roll___deg(j+1)-Datos.x_roll___deg(j-1))/(2*SampleT);
vP(j)=(Datos.pitch___deg(j+1)-Datos.pitch___deg(j-1))/(2*SampleT);
vH(j)=(Datos.x____Y_____m(j+1)-Datos.x____Y_____m(j-1))/(2*SampleT);
end
% Aceleraciones angulares----------------------------------------
%DerivaciOn numErica mediante diferencias dinitar centrales de 2°
aR=zeros(1,numdatos);
aP=aR;
aH=aP;
for j=2:numdatos-1
aR(j)=(Datos.x_roll___deg(j+1)-2*Datos.x_roll___deg(j)+Datos.x_roll___deg(j-
1))/SampleT^2;
aP(j)=(Datos.pitch___deg(j+1)-2*Datos.pitch___deg(j)+Datos.pitch___deg(j-
1))/SampleT^2;
aH(j)=(Datos.x____Y_____m(j+1)-2*Datos.x____Y_____m(j)+Datos.x____Y_____m(j-
1))/SampleT^2;
103
end
[maxVr,posmaxVr]=max(vR(inicia:finaliza));
[minVr,posminVr]=min(vR(inicia:finaliza));
[maxVp,posmaxVp]=max(vP(inicia:finaliza));
[minVp,posminVp]=min(vP(inicia:finaliza));
[maxVh,posmaxVh]=max(vH(inicia:finaliza));
[minVh,posminVh]=min(vH(inicia:finaliza));
[maxAr,posmaxAr]=max(aR(inicia:finaliza));
[minAr,posminAr]=min(aR(inicia:finaliza));
[maxAp,posmaxAp]=max(aP(inicia:finaliza));
[minAp,posminAp]=min(aP(inicia:finaliza));
[maxAh,posmaxAh]=max(aH);
[minAh,posminAh]=min(aH);
subplot(3,3,2)
plot(Datos.x_totl__time(inicia:finaliza), Datos.pitch___deg(inicia:finaliza),'k')
title('Posición Angular de Pitch')
grid on
grid minor
xlabel('Time [s]')
ylabel('Pitch [°]')
text(Datos.x_totl__time(posmaxp+inicia-1), maxp,strcat('\leftarrow
Maxvalue(',num2str(maxp),'°)'))
text(Datos.x_totl__time(posminp+inicia-1), minp,strcat('\leftarrow
Minvalue(',num2str(minp),'°)'))
subplot(3,3,3)
plot(Datos.x_totl__time(inicia:finaliza),
Datos.x____Y_____m(inicia:finaliza),'k')
title('Posición en Z')
grid on
grid minor
xlabel('Time [s]')
ylabel('Altura [m]')
text(Datos.x_totl__time(posmaxh+inicia-1), maxh,strcat('\leftarrow
Maxvalue(',num2str(maxh),'[m])'))
text(Datos.x_totl__time(posminh+inicia-1), minh,strcat('\leftarrow
Minvalue(',num2str(minh),'[m])'))
subplot(3,3,4)
plot(Datos.x_totl__time(inicia:finaliza), vR(inicia:finaliza),'b')
title('Velocidad Angular de Roll')
grid on
104
grid minor
xlabel('Time [s]')
ylabel('vRoll [°/s]')
text(Datos.x_totl__time(posmaxVr+inicia-1), maxVr,strcat('\leftarrow
Maxvalue(',num2str(maxVr),'[°/s])'))
text(Datos.x_totl__time(posminVr+inicia-1), minVr,strcat('\leftarrow
Minvalue(',num2str(minVr),'[°/s])'))
subplot(3,3,5)
plot(Datos.x_totl__time(inicia:finaliza), vP(inicia:finaliza),'b')
title('Velocidad Angular de Pitch')
grid on
grid minor
xlabel('Time [s]')
ylabel('vPitch [°/s]')
text(Datos.x_totl__time(posmaxVp+inicia-1), maxVp,strcat('\leftarrow
Maxvalue(',num2str(maxVp),'[°/s])'))
text(Datos.x_totl__time(posminVp+inicia-1), minVp,strcat('\leftarrow
Minvalue(',num2str(minVp),'[°/s])'))
subplot(3,3,6)
plot(Datos.x_totl__time(inicia:finaliza), vH(inicia:finaliza),'b')
title('Velocidad en Z')
grid on
grid minor
xlabel('Time [s]')
ylabel('vZ [m/s]')
text(Datos.x_totl__time(posmaxVh+inicia-1), maxVh,strcat('\leftarrow
Maxvalue(',num2str(maxVh),'[m/s])'))
text(Datos.x_totl__time(posminVh+inicia-1), minVh,strcat('\leftarrow
Minvalue(',num2str(minVh),'[m/s])'))
subplot(3,3,7)
plot(Datos.x_totl__time(inicia:finaliza), aR(inicia:finaliza),'r')
title('Aceleración Angular de Roll')
grid on
grid minor
xlabel('Time [s]')
ylabel('aRoll [°/s^2]')
text(Datos.x_totl__time(posmaxAr+inicia-1), maxAr,strcat('\leftarrow
Maxvalue(',num2str(maxAr),'[°/s^2])'))
text(Datos.x_totl__time(posminAr+inicia-1), minAr,strcat('\leftarrow
Minvalue(',num2str(minAr),'[°/s^2])'))
subplot(3,3,8)
plot(Datos.x_totl__time(inicia:finaliza), aP(inicia:finaliza),'r')
title('Aceleración Angular de Pitch')
grid on
grid minor
xlabel('Time [s]')
ylabel('aPitch [°/s^2]')
text(Datos.x_totl__time(posmaxAp+inicia-1), maxAp,strcat('\leftarrow
Maxvalue(',num2str(maxAp),'[°/s^2])'))
text(Datos.x_totl__time(posminAp+inicia-1), minAp,strcat('\leftarrow
Minvalue(',num2str(minAp),'[°/s^2])'))
subplot(3,3,9)
plot(Datos.x_totl__time(inicia:finaliza), aH(inicia:finaliza),'r')
title('Aceleración en Z')
grid on
105
grid minor
xlabel('Time [s]')
ylabel('aZ [m/s^2]')
text(Datos.x_totl__time(posmaxAh+inicia-1), maxAh,strcat('\leftarrow
Maxvalue(',num2str(maxAh),'[m/s^2])'))
text(Datos.x_totl__time(posminAh+inicia-1), minAh,strcat('\leftarrow
Minvalue(',num2str(minAh),'[m/s^2])'))
%El nombre de las velocidades en el txt son Datos.x____P_rad_s Cambiando P por R
segUn sea Roll o Pitch
%% Mapeo y escalamiento
clc;
%El mapeo se debe realizar a 17° de pitch y a 17° de roll
ArefR=17;
ArefP=17;
DrefH=0.15;%Referencia de mAxima altura simulada en metros
escalaR=ArefR/70;escalaP=ArefP/70;
RollM=escalaR.*Datos.x_roll___deg;
PitchM=escalaP.*Datos.pitch___deg;
for i=1:numdatos
if RollM(i)>17
RollM(i)=17;
elseif RollM(i)<-17
RollM(i)=-17;
end
if PitchM(i)>17
PitchM(i)=17;
elseif RollM(i)<-17
PitchM(i)=-17;
end
end
for j=2:numdatos-1
vRm(j)=(RollM(j+1)-RollM(j-1))/(2*SampleT);
vPm(j)=(PitchM(j+1)-PitchM(j-1))/(2*SampleT);
end
for j=2:numdatos-1
aRm(j)=(RollM(j+1)-2*RollM(j)+RollM(j-1))/SampleT^2;
aPm(j)=(PitchM(j+1)-2*PitchM(j)+PitchM(j-1))/SampleT^2;
end
106
grid minor
xlabel('Time [s]')
ylabel('Roll [°]')
text(Datos.x_totl__time(posmaxr+inicia-1), RollM(posmaxr+inicia-
1),strcat('\leftarrow Maxvalue(',num2str(RollM(posmaxr+inicia-1)),'°)'))
text(Datos.x_totl__time(posminr+inicia-1), RollM(posminr+inicia-
1),strcat('\leftarrow Minvalue(',num2str(RollM(posminr+inicia-1)),'°)'))
subplot(3,2,2)
plot(Datos.x_totl__time(inicia:finaliza), PitchM(inicia:finaliza),'k')
title(strcat('Posición Angular de Pitch mapeada (Escala: ',num2str(escalaP),')'))
grid on
grid minor
xlabel('Time [s]')
ylabel('Pitch [°]')
text(Datos.x_totl__time(posmaxp+inicia-1), PitchM(posmaxp+inicia-
1),strcat('\leftarrow Maxvalue(',num2str(PitchM(posmaxp+inicia-1)),'°)'))
text(Datos.x_totl__time(posminp+inicia-1), PitchM(posminp+inicia-
1),strcat('\leftarrow Minvalue(',num2str(PitchM(posminp+inicia-1)),'°)'))
subplot(3,2,3)
plot(Datos.x_totl__time(inicia:finaliza), vRm(inicia:finaliza),'b')
title('Velocidad Angular de Roll mapeada')
grid on
grid minor
xlabel('Time [s]')
ylabel('vRoll [°/s]')
text(Datos.x_totl__time(posmaxVr+inicia-1), vRm(posmaxVr+inicia-
1),strcat('\leftarrow Maxvalue(',num2str(vRm(posmaxVr+inicia-1)),'[°/s])'))
text(Datos.x_totl__time(posminVr+inicia-1), vRm(posminVr+inicia-
1),strcat('\leftarrow Minvalue(',num2str(vRm(posminVr+inicia-1)),'[°/s])'))
subplot(3,2,4)
plot(Datos.x_totl__time(inicia:finaliza), vPm(inicia:finaliza),'b')
title('Velocidad Angular de Pitch mapeada')
grid on
grid minor
xlabel('Time [s]')
ylabel('vPitch [°/s]')
text(Datos.x_totl__time(posmaxVp+inicia-1), vPm(posmaxVp+inicia-
1),strcat('\leftarrow Maxvalue(',num2str(vPm(posmaxVp+inicia-1)),'[°/s])'))
text(Datos.x_totl__time(posminVp+inicia-1), vPm(posminVp+inicia-
1),strcat('\leftarrow Minvalue(',num2str(vPm(posminVp+inicia-1)),'[°/s])'))
subplot(3,2,5)
plot(Datos.x_totl__time(inicia:finaliza), aRm(inicia:finaliza),'r')
title('Aceleración Angular de Roll mapeada')
grid on
grid minor
xlabel('Time [s]')
ylabel('aRoll [°/s^2]')
text(Datos.x_totl__time(posmaxAr+inicia-1), aRm(posmaxAr+inicia-
1),strcat('\leftarrow Maxvalue(',num2str(aRm(posmaxAr+inicia-1)),'[°/s^2])'))
text(Datos.x_totl__time(posminAr+inicia-1), aRm(posminAr+inicia-
1),strcat('\leftarrow Minvalue(',num2str(aRm(posminAr+inicia-1)),'[°/s^2])'))
subplot(3,2,6)
plot(Datos.x_totl__time(inicia:finaliza), aPm(inicia:finaliza),'r')
title('Aceleración Angular de Pitch mapeada')
grid on
107
grid minor
xlabel('Time [s]')
ylabel('aPitch [°/s^2]')
text(Datos.x_totl__time(posmaxAp+inicia-1), aPm(posmaxAp+inicia-
1),strcat('\leftarrow Maxvalue(',num2str(aPm(posmaxAp+inicia-1)),'[°/s^2])'))
text(Datos.x_totl__time(posminAp+inicia-1), aPm(posminAp+inicia-
1),strcat('\leftarrow Minvalue(',num2str(aPm(posminAp+inicia-1)),'[°/s^2])'))
%% DefiniciOn de la geometrIa
clc;
Ay=1.4;Ax=1-0.12;By=Ay;Bx=Ax;d1=0.2;d2=0.2;e1=0.2;e2=0.2;c1=0.1;c2=By/3;%
PosiciOn estable o cero
subplot(3,1,2)
plot(Datos.x_totl__time(inicia:finaliza), vH(inicia:finaliza),'b')
hold on
plot(Datos.x_totl__time(inicia:finaliza),10*ones(1,finaliza-inicia+1),'--k')
plot(Datos.x_totl__time(inicia:finaliza),-10*ones(1,finaliza-inicia+1),'--k')
title('Velocidad en Z')
grid on
grid minor
xlabel('Time [s]')
ylabel('vZ [m/s]')
text(Datos.x_totl__time(posmaxVh+inicia-1), maxVh,strcat('\leftarrow
Maxvalue(',num2str(maxVh),'[m/s])'))
text(Datos.x_totl__time(posminVh+inicia-1), minVh,strcat('\leftarrow
Minvalue(',num2str(minVh),'[m/s])'))
subplot(3,1,3)
plot(Datos.x_totl__time(inicia:finaliza), aH(inicia:finaliza),'r')
title('Aceleración en Z')
grid on
grid minor
xlabel('Time [s]')
ylabel('aZ [m/s^2]')
108
text(Datos.x_totl__time(posmaxAh+inicia-1), maxAh,strcat('\leftarrow
Maxvalue(',num2str(maxAh),'[m/s^2])'))
text(Datos.x_totl__time(posminAh+inicia-1), minAh,strcat('\leftarrow
Minvalue(',num2str(minAh),'[m/s^2])'))
%% Perturbaciones en Z
clc;
pZ=zeros(1,finaliza-inicia+1);
poscero=0;
vZ=vH(inicia:finaliza);
Z=0.15*Datos.x____Y_____m(inicia:finaliza)/max(Datos.x____Y_____m(inicia:finaliza
));
for i=1:length(Z)
if abs(vZ(i))>10
pZ(i)=Z(i)-Z(poscero);
else
pZ(i)=0;
poscero=i;
end
end
Z=pZ+0.4;
subplot(2,1,1)
plot(Datos.x_totl__time(inicia:finaliza), Z,'k')
title('Posición en Z')
grid on
grid minor
xlabel('Time [s]')
ylabel('Altura [m]')
text(Datos.x_totl__time(posmaxh+inicia-1), maxh,strcat('\leftarrow
Maxvalue(',num2str(maxh),'[m])'))
text(Datos.x_totl__time(posminh+inicia-1), minh,strcat('\leftarrow
Minvalue(',num2str(minh),'[m])'))
subplot(2,1,2)
plot(Datos.x_totl__time(inicia:finaliza), vH(inicia:finaliza),'b')
hold on
plot(Datos.x_totl__time(inicia:finaliza),10*ones(1,finaliza-inicia+1),'--k')
plot(Datos.x_totl__time(inicia:finaliza),-10*ones(1,finaliza-inicia+1),'--k')
title('Velocidad en Z')
grid on
grid minor
xlabel('Time [s]')
ylabel('vZ [m/s]')
text(Datos.x_totl__time(posmaxVh+inicia-1), maxVh,strcat('\leftarrow
Maxvalue(',num2str(maxVh),'[m/s])'))
text(Datos.x_totl__time(posminVh+inicia-1), minVh,strcat('\leftarrow
Minvalue(',num2str(minVh),'[m/s])'))
%% CinemAtica inversa
clc;
%Movimientos Combinados
Pitch=PitchM(inicia:finaliza).*(1-(0.8/17).*abs(RollM(inicia:finaliza)));
Roll=RollM(inicia:finaliza).*(1-(0.2/17).*abs(PitchM(inicia:finaliza)));
P=[0 0 0.6]';
O=[0 0 0]';
E1=0.2;
E2=0.6;
MaxP=By*sin(deg2rad(17))/2+Z;
109
MaxR=Bx*sin(deg2rad(17))/2+Z;
MinP=Z-By*sin(deg2rad(17))/2;
MinR=Z-Bx*sin(deg2rad(17))/2;
RangP=MaxP-MinP;
RangR=MaxR-MinR;
AngM1=zeros(1,finaliza-
inicia+1);AngM2=AngM1;AngM3=AngM2;MagA1=AngM3;MagA2=MagA1;MagA3=MagA2;
L1=zeros(3,finaliza-inicia+1);L2=L1;L3=L2;
for n=1:finaliza-inicia+1
M=[cosd(Roll(n)),0,sind(Roll(n));
-sind(Roll(n))*sind(Pitch(n)),cosd(Pitch(n)),cosd(Roll(n))*sind(Pitch(n));
-cosd(Pitch(n))*sind(Roll(n)),-
sind(Pitch(n)),cosd(Roll(n))*cosd(Pitch(n))];
L1(:,n)=P+M*B1-A1;
L2(:,n)=P+M*B2-A2;
L3(:,n)=P+M*B3-A3;
MagA1(n)=norm(L1(:,n));
MagA2(n)=norm(L2(:,n));
MagA3(n)=norm(L3(:,n));
Alpha1=acos(((E2)^2-(MagA1(n)^2)-(E1)^2)/(-2*E1*MagA1(n)));
AngM1(n)=pi/2-Alpha1;
Alpha2=acos(((E2)^2-(MagA2(n))^2-(E1)^2)/(-2*E1*MagA2(n)));
AngM2(n)=pi/2-Alpha2;
Alpha3=acos(((E2)^2-(MagA3(n))^2-(E1)^2)/(-2*E1*MagA3(n)));
AngM3(n)=pi/2-Alpha3;
end
%% GraficaciOn
clc;
Screen=get(0,'ScreenSize');
fig=get(figure('position',[1 40 Screen(3) (Screen(4)-84-40)], 'Name',
'Animación'),'Number');
for n=1:finaliza-inicia+1
figure(fig)
q1T=L1(:,n)+A1;
q2T=L2(:,n)+A2;
q3T=L3(:,n)+A3;
110
plot3([q1T(1) q2T(1) q3T(1) q1T(1)],[q1T(2) q2T(2) q3T(2) q1T(2)],[q1T(3)
q2T(3) q3T(3) q1T(3)],'-k','linewidth',1.5)
plot3([A1(1) p1E1(1) q1T(1)],[A1(2) p1E1(2) q1T(2)],[A1(3) p1E1(3) q1T(3)],'-
k','linewidth',1.5)
plot3([A2(1) p2E1(1) q2T(1)],[A2(2) p2E1(2) q2T(2)],[A2(3) p2E1(3) q2T(3)],'-
k','linewidth',1.5)
plot3([A3(1) p3E1(1) q3T(1)],[A3(2) p3E1(2) q3T(2)],[A3(3) p3E1(3) q3T(3)],'-
k','linewidth',1.5)
grid on
grid minor
axis equal
axis([-Ax/2-0.1,Ax/2+0.1,-Ay/2-E1-0.1,Ay/2+E1+0.1,-E1-0.1,2*E1+E2+0.1])
hold off
pause(0.01)
end
%% plots Angulos
figure('position',[1 40 Screen(3) (Screen(4)-84-40)],'Name', 'Validación')
plot(Datos.x_totl__time(inicia:finaliza),rad2deg(AngM1),'-b');
hold on
grid on
grid minor
plot(Datos.x_totl__time(inicia:finaliza),rad2deg(AngM2),'-r');
plot(Datos.x_totl__time(inicia:finaliza),rad2deg(AngM3),'-k');
plot(Datos.x_totl__time(inicia:finaliza),90*ones(1,finaliza-inicia+1),'--k');
plot(Datos.x_totl__time(inicia:finaliza),-30*ones(1,finaliza-inicia+1),'--k');
legend('AngM1','AngM2','AngM3')
%% plots mags
figure('position',[1 40 Screen(3) (Screen(4)-84-40)],'Name', 'Validación')
plot(Datos.x_totl__time(inicia:finaliza),MagA1,'-b');
hold on
grid on
grid minor
plot(Datos.x_totl__time(inicia:finaliza),MagA2,'-r');
plot(Datos.x_totl__time(inicia:finaliza),MagA3,'-k');
plot(Datos.x_totl__time(inicia:finaliza),MaxR*ones(1,finaliza-inicia+1),'--k');
plot(Datos.x_totl__time(inicia:finaliza),MinR*ones(1,finaliza-inicia+1),'--k');
plot(Datos.x_totl__time(inicia:finaliza),MaxP*ones(1,finaliza-inicia+1),'--r');
plot(Datos.x_totl__time(inicia:finaliza),MinP*ones(1,finaliza-inicia+1),'--r');
%% Simscapes
clc;
%cd('C:\Users\User\Dropbox\Dropbox Pasantia\CristianP\2019\SmPMvto')
cd('C:\Users\CITAE3\Dropbox\Dropbox Pasantia\CristianP\2019\SmPMvto')
t=0:SampleT:(finaliza-inicia)*SampleT;
AngM1=[t' AngM1'];%Ejecutar una sola vez
AngM2=[t' pi-AngM2'];
AngM3=[t' pi-AngM3'];
%% ValidaciOn
clc;
RollS=rad2deg(RRoll)+(Roll(1)-rad2deg(RRoll(1)));
RollT=downsample(Roll,round(length(Roll)/length(RollS)));
ErrorAbs=RollT-RollS;
figure('position',[1 40 Screen(3) (Screen(4)-84-40)],'Name', 'Validación')
subplot(2,1,1)
plot(RollT,'-b','linewidth',2)
hold on
plot(RollS,'-k','linewidth',2)
hold off
grid on
grid minor
111
legend('Respuesta teórica','Respuesta simulada')
ylabel('Ángulo de Alabeo [°]')
subplot(2,1,2)
plot(ErrorAbs,'-k','linewidth',2)
grid on
grid minor
ylabel('Error Absoluto [°]')
xlabel('Muestras [N]')
112