Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tema:
Ambato – Ecuador
2018
A la Unidad Académica de Titulación de la Facultad de Ingeniería en Sistemas,
Electrónica e Industrial.
El Tribunal receptor del Trabajo de Investigación presidido por la Ingeniera Elsa Pilar
Urrutia Urrutia, Mg., e integrado por la Ingeniera Rosa Estefanía Almache
Hernández, Mg., Ingeniero Marcelo Vladimir García Sánchez Dr., Ingeniero Carlos
Diego Gordón Gallegos, Dr., e designados por la Unidad Académica de Titulación de
la Universidad Técnica de Ambato, para receptar el Trabajo de Investigación con el
tema: “Modelación matemática y simulación 3D de la navegación autónoma y tele
operación para un vehículo submarino no tripulado”, elaborado y presentado por el
Ingeniero Leandro Tomás Núñez Cuesta, para optar por el Grado Académico de
Magister en Automatización y Sistemas de Control; una vez escuchada la defensa oral
del Trabajo de Investigación el Tribunal aprueba y remite el trabajo para uso y
custodia en las bibliotecas de la UTA.
____________________________
___________________________________
I
Miembro del Tribunal
___________________________________
_________________________________
ii
AUTORÍA DEL TRABAJO DE INVESTIGACIÓN
______________________________
Ing. Leandro Tomás Núñez Cuesta
CC: 180387466-6
AUTOR
_______________________________
Ing. Patricio Germán Encalada Ruiz MSc.
CC: 180388193-5
DIRECTOR
iii
DERECHOS DE AUTOR
Cedo los Derechos de mi trabajo, con fines de difusión pública, además apruebo
la reproducción de este, dentro de las regulaciones de la Universidad.
______________________________
Ing. Leandro Tomas Núñez Cuesta
CC: 180387466-6
AUTOR
iv
DEDICATORIA
v
AGRADECIMIENTO
vi
ÍNDICE GENERAL DE CONTENIDOS
PORTADA………………………………………………………………………...i
A LA UNIDAD ACADÉMICA DE TITULACIÓN...……………………………ii
AUTORÍA DEL TRABAJO DE INVESTIGACIÓN............................................ iii
DERECHOS DE AUTOR ..................................................................................... iv
DEDICATORIA ..................................................................................................... v
AGRADECIMIENTO ........................................................................................... vi
ÍNDICE GENERAL DE CONTENIDOS ............................................................. vii
ÍNDICE DE FIGURAS .......................................................................................... xi
ÍNDICE DE TABLAS .......................................................................................... xv
RESUMEN EJECUTIVO .................................................................................... xvi
EXECUTIVE SUMMARY................................................................................ xviii
INTRODUCCIÓN ................................................................................................ xx
1. CAPÍTULO I................................................................................................... 1
EL PROBLEMA ..................................................................................................... 1
1.1. Tema de investigación .............................................................................. 1
1.2.1. Contextualización.............................................................................. 1
1.2.2. Árbol del problema ........................................................................... 2
1.2.3. Análisis crítico .................................................................................. 2
1.2.4. Prognosis ........................................................................................... 3
1.2.5. Formulación del problema ................................................................ 3
1.2.6. Preguntas directrices ......................................................................... 4
1.2.7. Delimitación del problema ................................................................ 4
1.3. Justificación .............................................................................................. 4
vii
2.2. Categorías fundamentales......................................................................... 9
4. CAPITULO IV .............................................................................................. 40
ANÁLISIS E INTERPRETACIÓN DE RESULTADOS..................................... 40
4.1. Estudio de la Modelación matemática.................................................... 40
viii
4.1.3. Modelado de comunicación submarina........................................... 48
4.2. Estudio de la simulación de sistemas físicos .......................................... 50
5. CAPÍTULO V ............................................................................................... 60
CONCLUSIONES Y RECOMENDACIONES .................................................... 60
5.1. Conclusiones .......................................................................................... 60
6. CAPÍTULO VI .............................................................................................. 62
LA PROPUESTA ................................................................................................. 62
6.1. Tema de la propuesta .............................................................................. 62
ix
6.6.2. Factibilidad Operativa ..................................................................... 64
6.6.3. Factibilidad Económica................................................................... 64
6.7. Fundamentación científico-técnica ......................................................... 65
x
ÍNDICE DE FIGURAS
xi
Fig. 4.6 Entorno de simulación de V-rep .............................................................. 52
Fig. 4.7 Tipos de Joystick ..................................................................................... 55
Fig. 6.1 Esquema general de control de movimiento ............................................ 66
Fig. 6.2 Respuesta oscilante de un sistema en lazo cerrado. ................................. 68
Fig. 6.3 Esquema de navegación autónoma .......................................................... 69
Fig. 6.4 Esquema de tele-operación ...................................................................... 70
Fig. 6.5 Sistema de referencia del submarino. ...................................................... 71
Fig. 6.6 Parámetros de simulación del modelo cinemático. .................................. 73
Fig. 6.7 Evolución cinemática el ángulo .......................................................... 73
Fig. 6.8 Velocidad lineal del modelo cinemático ........................................... 74
Fig. 6.9 Velocidad lineal del modelo cinemático ........................................... 74
Fig. 6.10 Movimiento cinemático del submarino ................................................. 74
Fig. 6.11 Parámetros dinámicos del submarino .................................................... 75
Fig. 6.12 Parámetros de simulación del modelo dinámico ................................... 78
Fig. 6.13 Perturbación randomica ................................................................. 79
Fig. 6.14 Perturbación randomica ................................................................. 79
Fig. 6.15 Aceleración del submarino .............................................................. 80
Fig. 6.16 Aceleración del submarino .............................................................. 80
Fig. 6.17 Evolución de la velocidad del modelo dinámico. ............................. 81
Fig. 6.18 Evolución de la velocidad del modelo dinámico. ............................. 81
Fig. 6.19 Velocidad lineal del modelo dinámico ............................................ 82
Fig. 6.20 Velocidad lineal del modelo dinámico ............................................ 82
Fig. 6.21 Evolución del ángulo del modelo dinámico. ..................................... 82
Fig. 6.22 Movimiento de submarino debido a la respuesta dinámica ................... 83
Fig. 6.23 Parámetros de simulación del modelo dinámico de restitución............. 84
Fig. 6.24 Perturbación randómica ................................................................... 85
Fig. 6.25 Aceleración del submarino ................................................................ 85
Fig. 6.26 Evolución de la velocidad del modelo dinámico vertical. ................. 85
Fig. 6.27 Movimiento vertical de submarino debido a la respuesta dinámica ...... 86
Fig. 6.28 Esquema del canal de comunicación ..................................................... 87
Fig. 6.29 Distribuciones gamma de latencia. ........................................................ 87
xii
Fig. 6.30 Retardos generados por el modelo de comunicación respecto a la
distancia................................................................................................................. 88
Fig. 6.31 Parámetros de la navegación autónoma del submarino ......................... 89
Fig. 6.32 Velocidad lineal del submarino determinada por el control de
navegación............................................................................................................. 90
Fig. 6.33 Velocidad angular del submarino determinada por el control de
navegación............................................................................................................. 90
Fig. 6.34 Movimiento del submarino debido al control de navegación ................ 91
Fig. 6.35 Esquema de la compensación PID de velocidades ................................ 91
Fig. 6.36 Torque de la sintonización del PID.................................................. 92
Fig. 6.37 Velocidad de respuesta en la sintonización del PID ......................... 93
Fig. 6.38 Velocidad de respuesta con el controlador PID ................................ 93
Fig. 6.39 Velocidad de respuesta con el controlador PID ................................ 94
Fig. 6.40 Fuerza generada por el controlador PID ........................................... 94
Fig. 6.41 Torque generado por el controlador PID ......................................... 95
Fig. 6.42 Errores de velocidad .............................................................................. 95
Fig. 6.43 Respuesta de profundidad del submarino para sintonizar el PID. ...... 96
Fig. 6.44 Respuesta de profundidad del submarino con el control PID................ 97
Fig. 6.45 Cambios de masa generados por el controlador de profundidad ........... 97
Fig. 6.46 Esquema de tele operación unilateral propuesto.................................... 98
Fig. 6.47 Esquema de acomodación activa remota ............................................... 99
Fig. 6.48 Respuesta de velocidad lineal del submarino aplicando la acomodación
activa remota. ........................................................................................................ 99
Fig. 6.49 Respuesta de velocidad angular del submarino aplicando la
acomodación activa remota. ................................................................................ 100
Fig. 6.50 Diagrama de Nyquist de la respuesta en la velocidad lineal del
submarino. ........................................................................................................... 101
Fig. 6.51 Diagrama de Nyquist de la respuesta en la velocidad angular del
submarino. ........................................................................................................... 101
Fig. 6.52 Submarino de 3D ................................................................................. 103
Fig. 6.53 Entorno virtual ..................................................................................... 103
Fig. 6.54 Joystick Logitech Extreme 3D Pro ...................................................... 104
xiii
Fig. 6.55 Cámara ubicada en el submarino virtual.............................................. 104
Fig. 6.56 Vista de la trasmisión de imagen al sitio local..................................... 105
Fig. 6.57 Simulación virtual de la navegación autónoma del submarino. .......... 105
Fig. 6.58 Ruta de submarino en la navegación autónoma................................... 106
Fig. 6.59 Fuerza de empuje lineal del submarino en la navegación autónoma... 106
Fig. 6.60 Torque de rotación del submarino en la navegación autónoma........... 107
Fig. 6.61 Aceleración lineal del submarino en la navegación autónoma. ........... 107
Fig. 6.62 Aceleración angular del submarino en la navegación autónoma. ........ 108
Fig. 6.63 Velocidad lineal del submarino en la navegación autónoma. .............. 108
Fig. 6.64 Velocidad angular del submarino en la navegación autónoma............ 108
Fig. 6.65 Simulación virtual de la tele-operación del submarino. ...................... 109
Fig. 6.66 Fuerza de empuje lineal del submarino en la tele-operación. .............. 110
Fig. 6.67 Torque de rotación del submarino en la tele-operación. ...................... 110
Fig. 6.68 Aceleración lineal del submarino en la tele-operación. ....................... 111
Fig. 6.69 Aceleración angular del submarino en la tele-operación. .................... 111
Fig. 6.70 Velocidad lineal del submarino en la tele-operación. .......................... 112
Fig. 6.71 Velocidad angular del submarino en la tele-operación. ....................... 112
Fig. 6.72 Velocidad lineal del submarino en la tele-operación. .......................... 112
Fig. 6.73 Velocidad angular del submarino en la tele-operación. ....................... 113
Fig. 6.74 Profundidad del submarino en la tele-operación. ................................ 113
Fig. 6.75 Latencia de la comunicación en la tele-operación del submarino. ...... 114
Fig. 6.76 Relación de la salinidad y la densidad del agua de mar....................... 115
Fig. 6.77 Respuestas de velocidad lineal del submarino con diferentes valores de
densidad............................................................................................................... 115
Fig. 6.78 Acercamiento a las respuestas de velocidad lineal del submarino con
cambios de densidad. .......................................................................................... 116
Fig. 6.79 Respuestas de velocidad angular del submarino con diferentes valores de
densidad............................................................................................................... 116
Fig. 6.80 Acercamiento a las respuestas de velocidad angular del submarino con
cambios de densidad ........................................................................................... 117
Fig. 6.81 Control autónomo vs tele operado 1: Movimiento del submarino ...... 118
Fig. 6.82 Control autónomo vs tele operado 1: velocidad lineal del submarino. 118
xiv
Fig. 6.83 Control autónomo vs tele operado 1: velocidad angular del submarino.
............................................................................................................................. 119
Fig. 6.84 Control autónomo vs tele operado 2: Movimiento del submarino ...... 119
Fig. 6.85 Control autónomo vs tele operado 1: velocidad lineal del submarino. 120
Fig. 6.86 Control autónomo vs tele operado 2: velocidad angular del submarino
............................................................................................................................. 120
ÍNDICE DE TABLAS
xv
UNIVERSIDAD TÉCNICA DE AMBATO
TEMA:
MODELACIÓN MATEMÁTICA Y SIMULACIÓN 3D DE LA NAVEGACIÓN
AUTÓNOMA Y TELE OPERACIÓN PARA UN VEHÍCULO SUBMARINO
NO TRIPULADO
RESUMEN EJECUTIVO
xvi
los retardos de comunicación entre el sitio local en la superficie y el sitio remoto
en el área subacuática.
xvii
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS ELECTRÓNICA E
INDUSTRIAL /DIRECCIÓN DE POSGRADO
MAESTRÍA EN AUTOMATIZACIÓN Y SISTEMAS DE CONTROL
THEME:
MATHEMATICAL MODELING AND 3D SIMULATION OF THE
AUTONOMOUS NAVIGATION AND TELEOPERATION FOR A NOT
TRIPULATE SUBMARINE VEHICLE
AUTHOR: ING. LEANDRO TOMÁS NÚÑEZ CUESTA
DIRECTED BY: ING. PATRICIO GERMÁN ENCALADA RUIZ MSC.
DATE: SEPTEMBER, 2018
EXECUTIVE SUMMARY
With the growing development of national and international research in the field
of control systems and robotics, the development of mathematical models and the
implementation of simulators become important and useful tools to contribute to
the foundations of new research results.
xviii
The mathematical models are used to design controllers with two primary
objectives, autonomous navigation and teleoperation of the submarine, for which
a position control is developed through the inverse kinematics of the submarine
robot and a PID controller to regulate the vehicle speeds underwater. For this,
proportional, integral, and derivative constants are obtained by tuning by the
Ziegler and Nichols method.
xix
INTRODUCCIÓN
xx
1. CAPÍTULO I
EL PROBLEMA
1.2.1. Contextualización
1
de robots podría disminuir considerablemente el costo que involucra enviar
personal humano a la supervisión de averías en cables o estructura física
dependiendo de la aplicación. Puntualmente en el área local a modo de ejemplo, el
monitoreo de represas hidroeléctricas se realiza frecuentemente vaciando
completamente los reservorios para detectar anomalías estructurales.
2
construcción de este tipo de vehículos parte de un análisis previo de todas las
características y parámetros que influyen en el modelo matemático que lo
describe. Al no contar con este punto de partida, la implementación de un
prototipo físico puede tener resultados no satisfactorios cuando se trate de
implementar controladores autónomos.
1.2.4. Prognosis
3
1.2.6. Preguntas directrices
1.3. Justificación
4
robótica puede facilitar el entendimiento del control de vehículos terrestres, aéreos
o submarinos, ya que no requiere de una construcción física de los prototipos.
1.4. Objetivos
5
1.4.2. Objetivos específicos
6
2. CAPÍTULO II
MARCO TEÓRICO
(Bhopale P. S., Bajaria, Kazi, & Singh, 2016) analizan todos los parámetros que
influyen en el modelo matemático de un USV, considerando un control basado en
desigualdad matricial lineal. Las pruebas llevadas a cabo no contienen la
simulación de entornos ni del vehículo propuesto. Similarmente, (Vervoort, 2008)
incluye un análisis matemático de la cinemática de un vehículo submarino. A
pesar de no contar con resultados experimentales ni simulados, la base teórica se
muestra de gran soporte para el entendimiento del comportamiento del vehículo.
De manera aplicativa, (West, Schmidt, & Spears, 2015) presentan el desarrollo de
un vehículo submarino no tripulado pequeño y modular, dotado de sensores y
cámaras para el estudio de especies en la Antártica. Aunque se presentan
7
resultados de capturas de imagen de este proyecto, no se muestra sustento
matemático para navegación autónoma ya que la orientación es completamente
tele operada. De igual manera, (Bryson, Johnson-Roberson, Pizarro, & Williams,
2015) presentan la aplicación de este tipo de robots para reconstrucción de
escenarios 3D de vida marina, considerando corrección de color para mejorar la
formación de modelos de imagen acuática. El trabajo se centra mayormente en el
mejoramiento de captura de imagen, teniendo al vehículo como un medio de
adquisición de información. En el mismo ámbito, el artículo científico de
(Encarnacao & Pacoal, 2000) se centra un buscar un controlador para el
seguimiento autónomo de un vehículo submarino. El trabajo se centra en obtener
un modelo cinemático equivalente del vehículo, adicional de parámetros
dinámicos dimensionados para el tema de investigación. Los resultados del
controlador basado en Lyapunov se muestran detalladamente, considerando
condiciones ideales para la navegación. La modelación cinemática y dinámica es
considerada en el trabajo de (Red Calvo, 2015), donde se presenta el diseño de un
simulador con distintos tipos de vehículos submarinos. Sin embargo, no se
presentan resultados concisos de las respuestas del controlador frente al
seguimiento de una trayectoria dada ni se incluyen métodos de control tele-
operado.
8
2.2. Categorías fundamentales
Modelación
Navegación autónoma y
matemática y
tele operada de un USV
simulación
9
Fig. 2.3: Constelación de ideas de la Variable dependiente
Elaborado por: Tomás Núñez
10
para controlar su comportamiento. La teoría y la práctica del control tienen un
amplio rango de aplicaciones en los campos de la ingeniería aeronáutica, química,
mecánica, ambiental, civil y eléctrica, así como en muchas otras disciplinas no
ingenieriles. Las ventajas del control eficiente en la industria son inmensas, e
incluyen mejoras en la calidad de los productos, reducción en el consumo de
energía, minimización del material de desecho, mayores niveles de seguridad y
reducción de la contaminación.
Los sistemas lineales son los que poseen ecuaciones de modelo lineales. Una
ecuación diferencial es lineal si sus coeficientes son constantes o funciones
únicamente de la variable independiente, por concepto matemático un sistema
lineal cuenta con propiedades de superposición y homotecia, en la práctica no
existen este tipo de sistemas ya que los sistemas físicos son no lineales en cierto
grado.
Los sistemas no lineales son aquellos que cuentan con ecuaciones no lineales. En
estos sistemas no se aplica el método de superposición, en general los
procedimientos para hallar soluciones de problemas que involucran sistemas no
lineales, son extremadamente complejos.
11
a) b) c)
Fig. 2.5: Tipos de estabilidad en sistemas: a) estable, b) estabilidad limitada y c)
totalmente inestable
Fuente: Teoría de Estabilidad y Control (Garcia, 2005)
2.2.4. Robótica
12
móviles aéreos, terrestres o acuáticos, espaciales, según el medio por el que se
desplacen. (Martín Hernández Ordoñez, 2015)
Los robots acuáticos o marinos (Fig. 2.9) son capaces de desarrollar tareas en
entornos acuáticos, dentro de este campo de la robótica tenemos algunos tipos de
robot como los: ROV (Remotely Operated Vehicle) vehículo acuático físicamente
ligado a la superficie, es de tipo semi-autónomo. El AUV (Autonomous
Underwater Vehicles) es un tipo de robot totalmente autónomo, UUV (Unmanned
Underwater Vehicles), es de nivel avanzado de los UAV, y los UVMS
(Underwater Vehicle-Manipulator System) este tipo de robot incluyen
manipuladores para interactuar con el entorno. Cada uno de estos robots tienen
tareas específicas que pueden cumplir dentro del agua, permitiendo la detección,
13
rescate, exploración, transporte o manipulación de objetos, entre otras, sin tener
problemas al momento de sumergirse o trasladarse en el agua (Oliviera, 2017).
a)
b)
14
interactúa con el entorno. Un ejemplo seria recoger imágenes con una o más
cámaras de video, cuando el robot está navegando en el entorno subacuático. En la
práctica se utilizan para revisión de instalaciones submarinas, como son
construcciones metálicas, tuberías, cables, y otros.
15
B. Por su Autonomía
Los sistemas de propulsión son los actuadores que hacen que los vehículos
submarinos se desplacen por el medio acuático. Siendo parte del sistema de
propulsión, los componentes que producen fuerzas y los elementos que modifican
la dirección de dichas fuerzas.
Impulsores de Hélice
16
-Impulsor y superficies de control.- Estos sistemas de propulsión son los
mayormente usados para submarinos de gran tamaño y submarinos autónomos. Se
basan en aletas que poseen un grado de libertad para lograr los movimientos pitch,
yaw y roll. Aunque estos sistemas son muy simples su maniobrabilidad es
limitada, aún más en bajas velocidades.
Planeador Acuático
Impulsor de Inyección
Los robots submarinos que tiene un sistema de propulsión por inyección, recogen
y retienen el agua en un depósito, para usar una bomba y expulsar el agua, la cual
es inyectada usando una embocadura colocada en un tubo. El agua sale a una alta
presión y la fuerza de empuje es equivalente a la reacción de dicha presión, con lo
que se obtiene el movimiento del vehículo. Para direccionar la fuerza de empuje
se debe rotar el tubo que inyecta el agua.
17
2.2.5.2. Sensores
A. Sensores Propioseptivos.
B. Sensores Internos
Son los sensores que se utilizan para conocer detalles del agua externa, las
variables de interés pueden ser: conductividad, densidad, pH, turbulencia del
agua, oxígeno disuelto, temperatura externa, detección de materiales y otros.
18
D. Trayectoria
E. Camino
F. Posición
Posicionamiento del vehículo con una orientación establecida en algún punto del
espacio. Cuando el vehículo alcanza el punto deseado, las acciones de control
tratan de mantenerlo estático sobre el grupo de coordenadas deseadas.
Un sistema tele operado está conformado por una estación de tele operación, un
sistema de comunicación y un esclavo robótico. El esclavo robótico es el sistema
que se encuentra en un entorno remoto y es controlado a distancia, donde el
operario obtiene información del ambiente mediante sensores y ejecuta acciones
de control para poder llevar a cabo la tarea establecida. (Siciliano B. S., 2009)
19
2.2.7. Modelación matemática de sistemas físicos
20
A. Procedimientos para la obtención de un modelo
Aunque varían dependiendo del modelador, frecuentemente los pasos para obtener
un modelo matemático son los mostrados a continuación:
21
bloques, entre otros. Para el caso de sistemas no lineales existen maneras
complejas de solucionar estos sistemas, por ejemplo, analizando el
comportamiento desde la parte cinemática del sistema o la dinámica del mismo
(Ordoñez, 2015).
2.2.8.1. Cinemática
A. Cinemática directa
B. Cinemática inversa
22
se puede encontrar configuraciones que no son factibles, es decir, que no son
alcanzables, configuraciones singulares que requieren una dirección de
movimiento no-holónoma o incluso soluciones múltiples, típicamente soluciones
de codo arriba o codo abajo en los brazos robots articulados.
C. Matriz Jacobiana
Es una matriz conformada por los derivados parciales de primer orden de una
función. La aplicación de esta matriz permite aproximar linealmente a la función
en un punto, en este caso representa la derivada de una función multi-variable.
Dependiendo de la cinemática con que se esté trabajando, la matriz Jacobiana
puede tener distinto significado:
23
diseño asistido por ordenador para animar y simular los ensambles basados en
datos de posición. El conjunto se modela como eslabones rígidos conectados por
articulaciones que se definen como compañeros o restricciones geométricas (Fig.
2.11) (Maraver, 2015).
24
procesos y productos. En este sentido una de las técnicas de mayor impacto es la
simulación.
25
Forma experimental e iterativa de probar modelos o sistemas.
Es costosa en términos de mano de obra y tiempo computacional.
Proporciona soluciones sub óptimas.
26
menos realistas, gratuitos o de pago, más sencillos o más difíciles de manejar para
el usuario (Elena López, 2007)
a) b)
Fig. 2.10: Entornos de simulación: a) Simulación de posicionamiento, b)
detección de obstáculos
Fuente: Player, Stage (Playerstage, 2017)
27
STAGE: Simula robots móviles en el plano bidimensional (también usado como
biblioteca automática). Proporciona varios modelos de sensores y actuadores,
incluyendo sensores del tipo sonar e infrarrojos. Stage ha sido diseñado para
apoyar la investigación en sistemas autónomos de múltiples agentes, proporciona
modelos sencillos de una gran cantidad de dispositivos simultáneamente en lugar
de intentar emular cualquiera de ellos con gran fidelidad (Fig. 2.12). Además, se
diseñó de manera suficientemente realista para permitir a los usuarios usar los
mismos programas de control entre los robots de Stage (creados por el usuario en
el programa) y los del mundo real, y a la vez que sea posible simular con
velocidad suficiente grandes conjuntos de robots. (Vaughan, 2009)
Al ser una aplicación de Microsoft, los lenguajes que utiliza son los que desarrolla
en sus propios entornos de desarrollo (Visual Studio). Los lenguajes con los que
trabaja son C#, VB.NET, Microsoft Iron Python y otros lenguajes desarrollados
por usuarios ajenos a la empresa basados en la arquitectura de servicios de
Microsoft Robotics Studio.
a)
b)
28
Para desarrollar aplicaciones robóticas, tanto simuladas como reales, Microsoft
Robotics Studio incluye una aplicación llamada Microsoft Visual Programming
Language (VPL). Se trata de un entorno de desarrollo basado en un modelo de
flujo de datos gráfico. Este modelo resulta especialmente útil para programación
distribuida. Al ser gráfico resulta más sencillo para programadores no expertos. El
VPL permite crear programas con sólo arrastrar y soltar bloques que representan
servicios, además, como se ha podido observar, incluye código de modelos
genéricos de motores, sensores, algún modelo estándar de robot como el “Arcos
Core” o varios modelos de “Lego”, etc. El VPL incorpora la tecnología
“Concurrency and Coordination Runtime” (CCR) gracias a la cual se simplifica la
escritura de programas para controlar sensores, motores, entre otros (Fig. 2.14)
(Elena López, 2007).
a)
b)
29
c)
D. Matlab
30
sistema computación se puede experimentar controladores con algoritmos
complejos propuestos. Simulink nos da la posibilidad de estructurar nuestro
sistema (Robot), en cuanto entradas, salidas, señales, motores, sensores y ver
cómo se comportan y se realimentan sin tener que usar el hardware.
a)
b)
c)
31
El problema del simulador de sistemas que nos proporciona Matlab es genérico,
no está especializado en robot. La aplicación de Matlab en los robots móviles
suele ser muy específica. Carece de una interface para simulación de estas
aplicaciones limitado. Además, si queremos usar de la potencia algorítmica de
Matlab para comunicar datos al robot hace falta de otros sistemas de captura de
datos. (MathWorks, 2014).
2.2.10. Tele-robótica
32
robótica en aplicaciones ambiciosas como telemedicina, donde los pacientes
puedan estar en lugares tan alejados como plataformas petrolíferas en alta mar,
otro continente o inclusive estaciones espaciales.
2.2.11. Tele-operación
33
Dependiendo de la aplicación, algunos sistemas maestro-esclavo proveen fuerzas
de retroalimentación para proveer información del entorno al usuario ejecutor, por
tanto, el robot maestro no solo permite inyectar velocidades al robot tele-operado
sino también generar fuerzas hacia el usuario, obteniéndose un control bilateral
(Emmanuel Nuño Ortega, 2004).
2.3. Hipótesis
34
3. CAPITULO III
METODOLOGÍA
35
3.4. Población y muestra
36
3.5. Operacionalización de variables
38
3.6. Recolección de información
El estado del arte del trabajo servirá de base investigativa para desarrollar el presente
proyecto. Una vez adquirida toda la información necesaria, la fundamentación
matemática y de programación para elaborar la modelación y el simulador se estima
estarán acorde a la resolución del problema. De esta manera, los resultados serán
interpretados en base al marco teórico para contrastar con la hipótesis establecida. Las
conclusiones y recomendaciones están ligadas directamente con los resultados y su
análisis definirá si se han logrado o no los objetivos propuestos.
39
4. CAPITULO IV
Pregunta directriz: ¿Cuáles son las maneras con las cuales se puede obtener un modelo
matemático?
En este método de expresión las ecuaciones tienen al lado izquierdo de la ecuación las
variables con mayor grado de la ecuación diferencial y al lado derecho el resto de
componentes de la ecuación diferencial. En la ecuación 4.1 se puede observar un
ejemplo generalizados de la representación por la configuración del modelo.
(4.1)
40
4.1.1.2. Representación en matrices de segundo orden
(4.2)
Pregunta directriz: ¿Cuáles son los pasos para obtener el modelo matemático del
USV?
41
4.1.2.1. Sistema de referencia Inercial
X
Z
El sistema de referencia inercial se utiliza para expresar la ubicación lineal y angular del
submarino, así como para determinar las posiciones de todos los elementos que conformen el
sistema a controlar.
Este sistema de referencia está fijo y ubicado en el robot submarino, en algún lugar a
conveniencia del modelo, es útil para expresar sus velocidades lineales y angulares. En
forma general se hace coincidir el origen del sistema de referencia local con el centro de
gravedad o con el punto de control, donde se ubica un manipulador o cámara.
La dirección de los ejes de referencia debe coincidir con los del sistema inercial, para
mayor comodidad el eje de longitud del submarino es el eje (de la cola a la frente); el
eje es transverso (de un lado hacia el otro); y, el eje hacia abajo. En la figura 4.2 se
observa la ubicación del sistema de referencial local sobre la forma común del
submarino.
42
Este sistema de referencia local generalmente sirve para expresar las velocidades
lineales y angulares del submarino, así también, las fuerzas y torque que se producen
respecto a este marco de referencia, de esta manera el posible analizar su
comportamiento cinemático-dinámico y posicionarlo en el tiempo.
X
Z
Las matrices de rotación son ampliamente utilizadas para describir el movimiento de un cuerpo
en el espacio, pero, a nivel de modelación matemática, las matrices de rotación son aplicadas
para realizar transformaciones lineales entre espacios vectoriales. Estas matrices se definen
matemáticamente según las ecuaciones de 4.4, 4.5 y 4.6.
(4.4)
(4.5)
(4.6)
43
Recordemos que un submarino en movimiento posee un sistema de referencial local que se
encuentra desplazado de forma lineal y angular respecto al sistema de referencia global o
inercial. Por lo cual, una matriz de rotación que considere los grados de libertad del submarino
puede describir esta transformación de variables. La figura 4.3 presenta las rotaciones respecto a
los 3 ejes del sistema de referencia local.
(4.7)
Donde cada matriz o vector contiene una parte del comportamiento dinámico de
submarino, así:
1
Fuerzas generada por el movimiento de un cuerpo debido a la rotación en un sistema de referencia dado.
44
, es la matriz que contiene las fuerzas hidrodinámicas de viscosidad;
, es el vector que contiene las fuerzas de restitución que se compone de las acciones
, es el vector de fuerza que realiza el control de lastre3, es decir, controlar los cambios
, son fuerzas externas que perturban la dinámica del submarino, pueden ser, olas o
corrientes marinas.
, contiene las fuerzas generadoras de impulso para cada grado de libertad del robot,
(4.8)
Donde,
A. Fuerzas Inerciales
Son aquellas fuerzas descritas por la segunda ley de newton para cuerpos rígidos, estas
fuerzas son el resultado de la aceleración y velocidad del submarino (sistema de
referencia local) respecto al sistema de referencia inercial, se representan en la ecuación
4.9.
(4.9)
2
Fuerza producida por el efecto que se presenta en un sistema de referencia en rotación cuando un cuerpo
se encuentra en movimiento respecto de dicho sistema de referencia.
3
Consiste en el control de nivelación y profundidad del submarino.
45
Con las matrices de la ecuaciones 4.10 y 4.11:
(4.10)
(4.11)
Donde,
(4.12)
46
sumergido, en general las matrices de masa añadida se presentan en las ecuaciones 4.13
y 4.14. (Moreno Avalos, 2013)
(4.13)
(4.14)
(4.15)
(4.16)
C. Fuerzas viscosas
Son las fuerzas que resultan de la fricción producida entre el fluido viscoso y la
superficie del cuerpo rígido sumergido, de manera semejante a las fuerzas de masa
añadida tienen alta complejidad y solo se puede asegurar mediante experimentación, sin
embargo, es posible obtener un modelo aproximado de la ecuación 4.17 de Morrison.
(Moreno Avalos, 2013)
(4.17)
Donde,
, es el coeficiente arrastre,
(4.18)
47
D. Fuerzas de restitución
(4.19)
(4.20)
(4.21)
Donde,
(4.22)
Pregunta directriz: ¿Cuáles son los pasos para obtener el modelo de la comunicación?
Es importante resaltar que este trabajo únicamente buscar el modelo de los retardos de
comunicación producidos en el entorno submarino, más no la modelación integral de un
sistema de comunicación, por lo cual se realiza un estudio de los factores que inciden en
48
la latencia de comunicación y se analiza una posible solución al modelo mediante
herramientas estocásticas o probabilísticas.
Según (I. Akyildiz, 2005), el problema del canal inalámbrico de comunicación radica en
las características físico-químicas del medio, la temperatura, salinidad, densidad,
inestabilidad temporal y de espacio, por lo que la transmisión de datos acuática requiere
considerar los siguientes factores básicos:
(4.23)
49
Complementado con las ecuaciones 4.24 y 4.25.
(4.24)
(4.25)
Donde,
es el retardo de la comunicación,
es la función gamma de ;
y es la densidad de probabilidad.
En este estudio es necesario resaltar cuales son los tipos de ambiente simulados en
entornos virtuales y seleccionar una software de simulación que favorezca el desarrollo
de la propuesta.
En simulación de sistemas físicos podemos distinguir tres ambiente de mayor relevancia para
analizar comportamientos cinemáticos y dinámicos, así tenemos:
Sistemas terrestres
Sistemas aéreos
Sistemas acuáticos
50
potencia de motores y de periscopio. En la figura 4.6 se observa el simulador de submarino
ADICTACSUB.
4.2.2.1. Gazebo
51
4.2.2.2. V-rep
52
4.3. Estudio de la validación de un modelo
Pregunta directriz: ¿Qué parámetros son requeridos para obtener un modelo matemático
equivalente del sistema?
Un modelo matemático requiere los valores de todas las constantes y ganancias que lo
conforman, por lo que se puede diferenciar estos parámetros según el modelo que los requiere.
Estos parámetros esta relacionados con la geometría del modelo y son generalmente distancias o
longitudes de los eslabones o partes del sistema mecánico que conforman el sistema robótico,
además, los modelos cinemático pueden requerir ángulos de desfase entre mecanismos, así
como, condiciones iniciales necesarias para la evolución del simulador.
Estos parámetros son más complejos que los parámetros dinámicos, y están relacionados con la
física de modelo, generalmente son masas, momentos de inercia, constantes físicas y de
ganancia que conforman el sistema robótico, además, los modelos dinámicos pueden requerir
fuerzas de constante o variables que impulsan el sistema, así como, condiciones iniciales
necesarias para la evolución del simulador.
Existen dos principales forma de evaluar un modelo matemático de robot, pero están limitados
por los requerimientos y las características del sistema.
Es la forma más eficiente de validar un modelo y consiste en realizar pruebas reales con
el sistema robótico modelado, para luego medir las variables de comportamiento y
posteriormente comparar los resultados con el modelo obtenido.
53
necesarias, y por otra parte el ambiente debe ser controlado para evitar fallos en el
sistema.
Todo modelo requiere ser validado por simulación, incluso cuando se tiene lo necesario
para validar experimentalmente un modelo es necesario primero simular los resultados,
consiste en realizar pruebas mediante un ambiente simulado y observa las posible
respuesta obtenidas, y mediante análisis de las respuestas validar dicho modelo.
Pregunta directriz: ¿Cuáles son los parámetros que se deben tomar en cuenta antes de
simular el entorno de trabajo?
El entorno de trabajo de un simulador son todos los elementos que necesita el robot
submarino para desenvolverse o funcionar, por esto el término implica componentes
externos e internos, podemos resumir los parámetros de un entono de simulación virtual
en tres:
El simulador requiere órdenes del operador para evalúa la tele operación del submarino,
por lo es necesario un dispositivo de entrada que comande el robot, en una primera
instancia este dispositivo puede ser el mouse o teclado del computador que aloja el
simulador virtual, sin embargo, para efectos de realismo es necesario utilizar un
dispositivo de mando o joystick, para lo que existe una gran variedad de equipos
54
comerciales en el mercado. La figura 4.9 muestra algunos dispositivos de control tipo
joystick que pueden ser usados en el simulador.
El robot submarino necesita un espacio virtual de trabajo que sea realista y genere
comodidad al operador de la simulación, por estas razones es importante construir un
ambiente acuífero que incluya algunos detalles de un paisaje submarino agradable al
operador, sin que esto implique perdidas computacionales que servirían en el
procesamiento de datos del objetivo principal del simulador.
Es el dispositivo visual de salida que permite monitorear los movimientos del vehículo
submarino, está vinculado con las cámaras virtuales que se han implementado en el
ambiente de simulación para captar los movimientos del robot y los detalles de la
experiencia virtual.
55
4.4.2. Simulación de un vehículo submarino no tripulado
El submarino virtual debe proveer a la estación de control todos los datos necesarios
para cerrar el lazo de control y monitorear su estado de funcionamiento. En el simulador
debe entregar toda su edometría, es decir, medir los datos de posición y velocidad del
robot. Adicional, debe obtener los datos agentes externos, como son posibles colisiones,
para corregir sus movimientos.
56
hablando lo que se invierte es la matriz que contenga la transformación lineal de las
variables de control. Así, un robot submarino necesita invertir las matrices de rotación
que modelan su comportamiento cinemático para lograr que el vehículo subacuático
logre sus objetivos de control.
A pesar de obtener los valores necesarios para realizar la tarea de control mediante la
inversión de modelo, aún existen efectos no deseados propios de la dinámica del robot,
para ello es necesario aplicar técnicas de corrección de error que aseguren el
funcionamiento del sistema de control. Una técnica muy popular es el controlador PID
que es una solución viable a la corrección de errores.
4.26
Pregunta directriz: ¿Cuáles son los requisitos para un control tele operado?
57
submarina estos elementos se localizan en la superficie terrestre y deben cumplir con las
condiciones necesarias para que el operador realice su trabajo de manera correcta.
4.5.1.2. Canal
Este trabajo requiere verificar la hipótesis mediante estudiar y determinar si existen los
componentes científicos y técnicos para diseñar e implementar un simulador 3D para la
navegación autónoma y el control remoto de un vehículo submarino, por lo cual se han
revisado trabajos de investigación que analizan dichos componentes y son compatibles
como el desarrollo de este proyecto.
Los elementos que demuestran la hipótesis: “El análisis de la cinemática incluyendo los
retardos de comunicación en el entorno de trabajo del robot permite obtener un modelo
matemático equivalente del sistema y simularlo a través de un software de
programación”, se presentan a continuación:
58
a) La cinemática de un vehículo submarino puede analizarse mediante matrices de
rotación, que permiten modelar las velocidades del robot (sistema de referencia
local) respecto al sistema de referencia global.
b) Los retardos de comunicación para vehículos submarino pueden ser modelados
mediante la densidad de probabilidad, estos es a través de una distribución gamma
que determina la probabilidad mediante la media y la varianza de la latencia.
c) El comportamiento del robot submarino puede analizarse mediante un simulador
virtual en 3D, que incluya los modelos matemáticos inherentes a su respuesta
cinemática y dinámica.
59
5. CAPÍTULO V
CONCLUSIONES Y RECOMENDACIONES
5.1. Conclusiones
60
Para evaluar un sistema de control y tele-operación de un vehículo submarino se
necesita implementar un simulador 3D, mediante la instalación de un sitio local,
la programación de un canal de comunicación y la construcción de un entorno de
simulación virtual.
5.2. Recomendaciones
61
6. CAPÍTULO VI
LA PROPUESTA
Responsables:
Ing. Tomás Núñez (Investigador)
Ing. Patricio Encalda (Tutor)
62
Impulsores Vectorizados” (Moreno, 2013), donde se estudia el robot submarino Remo2
de estructura paralela, partiendo de la modelación matemática que se utiliza para
diversos esquemas de control, y se validan usando paquetes informático avanzados.
6.4. Justificación
6.5. Objetivos
63
6.5.2. Objetivos Específicos
Esta propuesta tiene factibilidad de ejecución debida que existen los recursos técnicos,
operativos y económicos para desarrollarlo.
Esta propuesta requiere costos mínimos para su ejecución, por lo que el investigador
autofinancia su implementación.
64
6.7. Fundamentación científico-técnica
El modelo cinemático diferencial está conformado por tres elementos: , los estados de
velocidades lineales y/o angulares del robot; , los estados de velocidades lineales y/o
que relaciona los dos estados anteriores, conocida como matriz Jacobiana. La ecuación
6.1 muestra la expresión que los relaciona.
(6.1)
Este modelo permite obtener la posición de un robot en todo instante de tiempo, lo que
es importante para simular sus movimientos a partir de las velocidades que experimenta
el robot, pero para propósitos de control se necesita calcular la velocidades del robot a
partir de las velocidad deseadas (navegación autónoma y operada remotamente), lo que
puede encontrase con la inversa de la cinemática, ecuación 6.2, para lo cual es una
matriz invertible.
(6.2)
de , por lo que el control del robot se logra modificando los estados de los actuadores
del robot. El método de control coordinado implica que todas las velocidades del robot
65
se produzcan para un objetivo en común, esto se obtiene mediante la cinemática inversa,
y podemos resumir este proceso en cuatro etapas:
Si bien la cinemática inversa está definida por el modelo matemático del robot, el
controlador tiene la difícil tarea de compensar lo requerimiento de velocidad para que el
robot cumpla con el objetivo del sistema de control. Para ello se puede utilizar un
controlador PID, el cual es ampliamente utilizado en la robótica y se ha demostrado su
efectividad.
66
Proporcional. - realiza la compensación para que el estado actual de la variable a
controlar alcance los valores deseado. Se obtiene mediante una constante proporcional
multiplicada por el error.
del error.
Sabiendo el propósito de los elementos de un controlador PID, es necesarios determinar
un método para encontrar los valores de las contantes de compensación, para lo cual una
solución eficiente es la sintonización, que requiere de aplicar reglas que logran los
objetivos deseados. A continuación, se exponen las reglas de sintonización de un
controlador PID usando el método de Ziegler y Nichols.
67
Fig. 6.2 Respuesta oscilante de un sistema en lazo cerrado.
Una vez hallados estos valores se procede aplicar la tabla de sintonización, que permite
encontrar las constantes del controlador por el método de sintonización de Ziegler y
Nichols y según el tipo de compensación a utilizar.
6.8. Metodología
68
Fig. 6.3 Esquema de navegación autónoma
69
Fig. 6.4 Esquema de tele-operación
70
sistema se reproducen en el simulador virtual y se adquieren imágenes desde una
cámara montada sobre el submarino, esta información junto con los estados del robot
son transmitidos hacia el sitio local para cerrar el ciclo de tele-operación.
neta cuando los dos impulsores generar las misma velocidad, y que es la velocidad
angular de giro para el submarino, la cual se genera cuando existe una diferencia de
velocidades en los impulsores, muy similar a los robots móviles.
Es común que este tipo de submarino no tenga velocidades lineales de control en el eje
Z debido a que se puede manejar mediante el control de lastre, que se revisa en el
análisis dinámico del submarino.
71
Definidos los grados de libertad del submarino propuesto, se tiene su plano XY de
acción a una altura definida en el eje Z, podemos modelar la cinemática del submarino
mediante matrices de rotación como se tienen en las matrices de las ecuaciones (4.4),
requiriendo una matriz de rotación en el eje Z como se muestra en la ecuación (6.3).
(6.3)
Donde,
global.
(6.4)
(6.5)
(6.6)
ecuación 6.7.
(6.7)
Simulación
72
Fig. 6.6 Parámetros de simulación del modelo cinemático.
y 0m 0.025 rad/s
0 rad
La figura 6.7 muestra la evolución del ángulo de submarino , la figura 6.8 y 6.9
0.8
0.6
0.4
0.2
0
0 10 20 30 40
tiempo [segundos]
0.03
0.025
0.02
0.015
0.01
0.005
0 10 20 30 40
tiempo [segundos]
74
6.8.1.2. Modelo dinámico del submarino
Para obtener el modelo dinámico se utiliza las ecuaciones determinadas por (Fossen,
2002) que fueron analizadas en el capítulo 4 sección 4.1.2.4, en la figura 6.11 se puede
observar los parámetros dinámicos para el modelo.
Fuerzas inerciales
(6.8)
(6.9)
(6.10)
75
(6.11)
Para obtener las matrices de masa añadida se utilizan las ecuaciones de masa añadida de
un cuerpo sumergido descritas por (Moreno Avalos, 2013), donde se analiza la masa
añadida de una esferoide prolato, que es la forma características de un submarino
común.
(6.12)
figura 6.10.
(6.13)
(6.14)
(6.15)
(6.16)
76
Combinando las matrices de fuerzas inerciales y las matrices de masa añadida podemos
obtener las matrices y de la dinámica del vehículo submarino, según se tiene en
(6.17)
(6.18)
Fuerzas viscosas
(6.19)
Donde las áreas son determinadas según las ecuaciones 6.20 y 6.21.
(6.20)
(6.21)
Modelo completo
Usando las ecuaciones 6.17. 6.18 y 6.19 que conforman el modelo dinámico, podemos
obtener la expresión matricial de la ecuación 6.20 que representa la dinámica del robot
submarino propuesto. Las fuerza y torque de es generada por los actuadores del
(6.20)
Donde,
77
, contiene la matriz de fuerzas viscosas del submarino.
Para lo cual los vectores son los definidos en las ecuaciones 6.21, 6.22, 6.23 y 6.24.
(6.21)
(6.22)
(6.23)
(6.24)
Simulación
78
Tabla 6-2: Parámetros de simulación del modelo dinámico
Condiciones iniciales Fuerzas Constantes
x 0m 0.1 N a 0.32 m
0 rad m 30 Kgr
1027
79
Las figuras 6.15 y 6.16 presentan las aceleraciones para las velocidades del submarino
, respectivamente, las figuras 6.17 y 6.18 muestran la evolución dinámica de las
Además, la figura 6.21 muestra la evolución del ángulo de submarino y la figura 6.22
80
v1 [m/s]
La figura 6.17 muestra la respuesta de la velocidad lineal del submarino, donde se observa una
respuesta suave debido al amortiguamiento de la viscosidad de agua, y la figura 6.18presenta la
respuesta de la velocidad angular del submarino, la cual indica un sobre amortiguamiento sin
oscilación significativa, lo que implica una respuesta que necesita una compensación que regule
este comportamiento.
81
0.04
0.02
-0.02
-0.04
0 10 20 30 40
tiempo [segundos]
82
Fig. 6.22 Movimiento de submarino debido a la respuesta dinámica
Fuerzas de restitución
(6.25)
de lastre.
(6.26)
Simulación
83
que la velocidad se estabiliza luego de periodo, ver el Anexo C, la figura 6.23 presenta
los parámetros para la simulación de la dinámica de restitución y la tabla 6-3 contiene
los valores de condiciones iniciales, fuerzas y constantes de la simulación.
z -5 m 0N m 30 Kgr
1027
84
Fig. 6.24 Perturbación randómica
La figura 6.25 muestra la aceleración vertical del submarino generada por respuesta
respuesta es algo sub amortiguada lo que facilita su control, y la figura 6.27 permite observar el
movimiento vertical del submarino generado por la dinámica del sistema.
85
h=1.6
Fuerzas impulsoras
(6.27)
(6.28)
Citando el trabajo doctoral de (Vega, 2012): “El modelado del canal puede realizarse
por métodos deterministas basados en los principios físicos de la propagación de ondas
acústicas, o a partir de medidas experimentales de las que se extraen parámetros
estadísticos para construir un modelo estocástico”, por esta razón el modelo a utilizar
en el canal de comunicación utiliza técnicas estocásticas.
86
Sitio Local Canal Sitio Remoto
Control Parámetros:
Media:
Desviación:
Distancia:
Retroalimentación (Posición e imagen)
; y, b) con y .
2
x
0
0 0.5 1 1.5 2
xt [segundos]
a) b)
Fig. 6.29 Distribuciones gamma de latencia.
87
(6.29)
Donde,
es la distancia de la comunicación, y
Simulación
En la simulación del canal comunicación (ver Anexo D) se utilizan dos condiciones del
ambiente, estos dependen de los factores del agua y el área de trabajo. La Figura 6.29
muestra los resultados para ambos parámetros del modelo de comunicación, según se
describe a continuación:
1) La curva de color azul muestra los resultados para una media de latencia de 350ms y
una desviación estándar 25ms, se propone una densidad acumulada de probabilidad
mínima del 10% y una distancia máxima de comunicación de 200 m, para generar los
posibles retardos se considera que el submarino se desplaza de 50 a 150m de la base o
estación local.
2) La curva de color rojo muestra los resultados para una media de latencia de 450ms y
una desviación estándar 35ms, se propone una densidad acumulada de probabilidad
mínima del 15% y una distancia máxima de comunicación de 500 m, para generar los
posibles retardos se considera que el submarino se desplaza de 50 a 150m de la base.
88
6.8.2. Control de Submarino
(6.30)
(6.31)
(6.32)
89
Además, se incluye la constante de ganancia que regula las velocidades deseadas,
(6.33)
Simulación
Fig. 6.32 Velocidad lineal del submarino determinada por el control de navegación.
Fig. 6.33 Velocidad angular del submarino determinada por el control de navegación.
90
y[m]
Para regular la dinámica del submarino se propone un controlador PID que considere
los errores de velocidad presentes en el submarino, la ecuación 6.34 muestra el
91
controlador PID propuesto. Para determinar las contantes de PID se propone la
sintonización por el método de Ziegler y Nichols de la tabla 6-4.
(6.34)
(6.35)
Además, el robot submarino modifica sus velocidades a partir de las aceleraciones que
se determinan por la inversa del modelo dinámico en la ecuación 6.20, presentado en la
ecuación 6.36.
(6.36)
Simulación
Se realiza la simulación del controlador PID en dos etapas, la primera permite sintonizar
las contantes del PID, y en la segunda se verifican estas contantes.
Sintonización
92
De la figura 6.36 se obtiene el tiempo de oscilación de la respuesta de velocidad
segundos, y aplicando la tabla 6-4 se encuentra las contantes del PID para
que para asignar los valores de las constantes PID para la velocidad lineal se usa
constantes similares a los anteriores, pero se intensifica el valor de la constante
proporcional, obteniendo las contantes .
v2 [rad/s]
Verificación
En la simulación de control PID (ver Anexo F) se realiza un programa que mantiene los
parámetros dinámicos fijados en la simulación del modelo dinámico, y se aplican las
constantes de PID determinada en la sintonización. Para la verificación del controlador
de velocidades se fijan consignas de .
93
La figura 6.37 presenta la velocidad lineal del submarino controlada por el PID,
observando un correcto seguimiento de velocidad, y la figura 6.38 muestra el
seguimiento de la velocidad angular regulada por el PID.
Velocidad v 2 [rad/s]
Las figuras 6.39 y 6.40 permiten observar las acciones de control generadas por el
controlador PID, en esta figura se presentan la fuerza de empuje y el torque de giro
de submarino, respectivamente.
Los resultados muestran un adecuado funcionamiento del contralor PID, observando los
errores de velocidad de la figura 6.41, donde la curva de color azul son los errores en la
velocidad y la curva de color rojo son los errores en la velocidad , ambos se hacen
94
Fig. 6.41 Torque generado por el controlador PID
0.06
0.04
0.02
-0.02
-0.04
0 1 2 3 4 5 6
Tiempo [segundos]
(6.37)
En este trabajo no es estudia el comportamiento del ingreso o expulsión del líquido del
contenedor interno, debido a que esta propuesta se enfoca en la respuesta del submarino,
95
para cual se propone un control PID expresado en la ecuación 6.38 mediante la
variación de masa.
(6.38)
Donde,
, es la constante proporcional.
, es la constante integral.
, es la contante derivativa.
, es el error de profundidad.
(6.39)
Simulación
En la simulación del control de profundidad (ver Anexo G), se sintoniza las constante
del PID mediante el método de Ziegler y Nichols, para lo cual se obtiene la excitación
del sistema en lazo cerrado, ver la figura 6.42, donde se obtiene las constantes de
sintonización segundos.
96
Aplicando la tabla 6-1 para sintonizar el PID se obtienes las contantes
. En la figura 6.43 se observa los resultados del
97
realimentación de señal alguna desde el esclavo hacia el maestro. Es decir, en el control
el maestro genera las señales de referencia de velocidad. Se puede decir que el esclavo
posee un sistema de control independiente, pero las señales de referencia las recibe
generadas por el mando del maestro. La figura 6.45 muestra el esquema de tele
operación propuesto.
Objetivo
Operador Mando Comunicación Submarino Entorno
Video
Simulación
0.6
Velocidad v 1 [m/s]
0.4
0.2
v
1
v
1d
0
0 5 10 15 20 25 30
Tiempo [segundos]
Fig. 6.48 Respuesta de velocidad lineal del submarino aplicando la acomodación activa remota.
Una respuesta bastante similar se obtiene en la velocidad angular del submarino como
se presenta en la figura 6.48, se consigue un adecuado seguimiento de las órdenes
deseadas de velocidad angular.
99
Fig. 6.49 Respuesta de velocidad angular del submarino aplicando la acomodación activa
remota.
Es recomendable saber por cuánto es pasivo un sistema de tele operación, por lo que es
importante medir el exceso o la falta de pasividad, y aquí es donde se requiere un
análisis de pasividad, el diagrama Nyquist garantiza pasividad cuando en el dominio de
la frecuencia cuando el grafico se encuentra en la parte real positiva.
Diagrama de Nyquist
Para obtener las gráficas de los diagramas de Nyquist se utiliza la ayuda de Matlab que
genera automáticamente las figuras gracias a los toolbox, la figura 6.49 muestra el
diagrama de Nyquist de la respuesta de velocidad lineal y la figura 6.50 de la velocidad
angular. Donde se observa que las curvas se mantienen en el eje real positivo denotando
pasividad en el sistema de tele operación si se mantiene el retardo de 100 milisegundos.
100
Imaginary Axis
101
Índices de pasividad
Para cuantificar la pasividad del sistema de tele operación con corrección de retardo
temporal se utilizan los índices de pasividad, para ello se utiliza el toolbox de sistemas
de control de Matlab, Control System Toolbox. Los datos utilizados son las respuestas
de tele operación de las velocidades lineal y angular del submarino de las figuras 6.47 y
6.48, donde se tiene un retardo promedio 0.1 segundos.
102
El submarino virtual de la figura 6.51 se construye en Solidwork (ver Anexo I), tiene
forma similar a la de un esferoide prolato y cuenta con dos impulsores como se ha
diseñado en esta propuesta.
103
6.8.5.2. Operación del simulador
Además, el operador debe visualizar las imágenes transmitidas desde el sitio remoto
(entorno virtual), por lo que se instala una cámara sobre el submarino virtual (ver las
figura 6.54), esta cámara transmite la información y es mostrado en una ventana con un
retardo generado por el modelo comunicación. La figura 6.55 muestra una vista de la
trasmisión de imagen desde el entorno virtual.
104
Fig. 6.56 Vista de la trasmisión de imagen al sitio local.
; ; y .
La figura 6.56 muestra las imágenes del simulador virtual en la prueba de navegación
autónoma de submarino, en esta se puede visualizar las posiciones alcanzadas por el
submarino en el desarrollo de la simulación.
105
y [m]
La figura 6.57 permite observar la ruta de movimientos del submarino, que sigue en la
navegación autónoma, y se diferencia la posición inicial de las posiciones deseadas
mediantes sus respectivas etiquetas. Además, se indica el porcentaje de error para cada
posición deseada, logrando corregir el error con bajos residuos y obteniendo valores
entre el 0.39% y 0.66%, lo que demuestra un correcto funcionamiento del sistema.
4
Fuerza f v1 [N]
-1
0 200 400 600 800 1000
Tiempo [segundos]
106
[Nm]
Torque v2
0.2
Aceleración de v1 [m/s 2 ]
0.15
0.1
0.05
-0.05
0 200 400 600 800 1000
Tiempo [segundos]
107
Fig. 6.62 Aceleración angular del submarino en la navegación autónoma.
0.15
0.1
0.05
-0.05
0 200 400 600 800 1000
Tiempo [segundos]
108
6.8.6.2. Prueba de tele-operación
Se realiza una prueba de todos los componentes del simulador para la tele-operación del
submarino, para ello se consideran todos los parámetros establecidos en el desarrollo de
los modelos matemáticos y controladores. Las órdenes de control son realizadas
mediante el joystick de la figura 6.53 mediante velocidades deseadas para el submarino,
donde se regulan estas velocidades con el controlador PID.
La figura 6.64 muestra las imágenes del simulador virtual en la prueba de tele-operación
del submarino, en esta se puede visualizar las posiciones alcanzadas por el submarino en
el desarrollo de la simulación, además, se observa las imágenes transmitidas por la
cámara virtual ubicada en el submarino.
109
La figura 6.65 y 6.66 presentan la fuerza de empuje y el torque de rotación ejercidos en
el submarino por las acciones de control del PID para lograr el seguimiento de las
velocidades ordenadas por el dispositivo de mando en el sitio local, estos resultados
muestran un máximo de 4 [N] de fuerza y un máximo de 0.085 [N.m] de torque
producidos en el submarino para lograr los movimientos requeridos en la tele-
operación.
La figura 6.67 y 6.68 presentan las aceleraciones determinadas por la dinámica del
sistema, donde se observa la aceleración lineal y la aceleración angular de submarino,
respectivamente.
110
Fig. 6.68 Aceleración lineal del submarino en la tele-operación.
Las velocidades nos permiten comparar los datos enviados por el joystick con la
respuesta del submarino, como se muestra en la figura 6.71 a. y b., donde se observa el
desplazamiento entre la velocidad lineal ordenada (rojo) y la generada por el submarino
(azul), además, la figura 6.72 a. y b. presenta esta diferencia para la velocidad angular.
111
0.15
v1
v
d1
0.1
0.05
-0.05
0 500 1000 1500
Tiempo [segundos]
0.15
0.1
0.05
0 v1
v d1
-0.05
451 452 453 454
Tiempo [segundos]
a) b)
Fig. 6.72 Velocidad lineal del submarino en la tele-operación.
112
Velocidad v 2 [rad/s]
a) b)
Fig. 6.73 Velocidad angular del submarino en la tele-operación.
-20
-22
-24
-26
113
Fig. 6.75 Latencia de la comunicación en la tele-operación del submarino.
6.8.6.3. Comparaciones
Cambios de salinidad
Analizando el modelo dinámico del submarino se puede observar que la densidad es una
variable influyente, por lo que se proponen pruebas del control de velocidad con los
siguientes valores de densidad:
114
Fig. 6.76 Relación de la salinidad y la densidad del agua de mar.
La figura 6.76 presenta las respuestas de velocidad lineal con diferentes valores de
densidad en el agua. Debido a que los cambios en las respuestas difieren de forma
limitada no es posible observar grandes cambios, para lo cual la figura 6.77 muestra un
acercamiento que permite verificar las diferencias en las respuestas de velocidad lineal
del submarino.
0.1
1
0.05
2
5
0
0 10 20 30 40 50
Tiempo [segundos]
Fig. 6.77 Respuestas de velocidad lineal del submarino con diferentes valores de densidad
115
Fig. 6.78 Acercamiento a las respuestas de velocidad lineal del submarino con cambios de
densidad.
La figura 6.78 presenta las respuestas de velocidad angular con diferentes valores de
densidad en el agua. Debido a que los cambios en las respuestas difieren de forma
limitada no es posible observar grandes cambios, para lo cual la figura 6.79 muestra un
acercamiento que permite verificar las diferencias en las respuestas de velocidad lineal
del submarino.
v2[rad/s]
Fig. 6.79 Respuestas de velocidad angular del submarino con diferentes valores de densidad
116
v2 [rad/s]
Fig. 6.80 Acercamiento a las respuestas de velocidad angular del submarino con cambios de
densidad
Debido a que los cambios en la salinidad del agua no producen cambios significativos
en la densidad del agua, se observa que producen una limitada influencia en la dinámica
del sistema.
a) Comparación 1
La figura 6.80 muestra el movimiento del submarino en el caso de las dos pruebas, la
curva azul es el movimiento del submarino debido al control autónomo y la curva roja
son los movimientos realizado por un operador para alcanzar la posición deseada.
Notando que el control autónomo alcanza su objetivo luego de 5.29 minutos y el control
tele operado se demora 11.32 minutos en lograr el mismo propósito.
117
-10
-20
-25
-10 -5 0 5 10 15
x [m]
Fig. 6.81 Control autónomo vs tele operado 1: Movimiento del submarino
Las figuras 6.81 y 6.82, muestran las velocidades lineales y angulares del submarino,
respectivamente, para alcanzar la posición deseada mediante el control autónomo y tele
operado. Observando que el control autónomo es más eficiente aplicando las
velocidades para lograr su objetivo, y al control tele operado le toma más tiempo llegar
a la posición deseada.
0.2
0.15
0.1
0.05
0
Autonomo
Teleoperado
-0.05
0 100 200 300 400 500 600 700
Tiempo [segundos]
Fig. 6.82 Control autónomo vs tele operado 1: velocidad lineal del submarino
118
Fig. 6.83 Control autónomo vs tele operado 1: velocidad angular del submarino.
b) Comparación 2
La figura 6.83 muestra el movimiento del submarino en el caso de las dos pruebas, la
curva azul es el movimiento del submarino debido al control autónomo y la curva roja
son los movimientos realizado por un operador para alcanzar la posición deseada.
Notando que el control autónomo alcanza su objetivo luego de 2.83 minutos y el control
tele operado se demora 6.12 minutos en lograr el mismo propósito.
119
Las figuras 6.84 y 6.85, muestran las velocidades lineales y angulares del submarino,
respectivamente, para alcanzar la posición deseada mediante el control autónomo y tele
operado. Observando que el control autónomo es más eficiente aplicando las
velocidades para lograr su objetivo, y al control tele operado le toma más tiempo llegar
a la posición deseada.
v 1 [m/s]
Fig. 6.85 Control autónomo vs tele operado 1: velocidad lineal del submarino
Fig. 6.86 Control autónomo vs tele operado 2: velocidad angular del submarino
120
6.9. Administración
Software Matlab
Software V-rep.
Para implementar el simulador se requiere adquirir los recursos que se han mencionado,
la tabla 6-5 muestra los costos para implementar este simulador virtual.
121
6.10. Conclusiones y recomendaciones
6.10.1. Conclusiones
Objetivo 1:
Objetivo 2:
122
Las velocidades deseadas que se calculan en el controlador por cinemática
inversa o se generan por tele-operación son reguladas por un controlador PID,
sintonizando sus ganancias proporcional, integral y derivativa por el método de
Ziegler y Nichols, donde se utiliza la dinámica del sistema para obtener los
parámetros. Este mismo método es aplicado al control de lastre que permite
regular la profundidad del submarino en la dinámica gravitacional del submarino
con un tiempo de estabilización aproximado de 5 segundos.
La dinámica del submarino es cambiante entre una simulación y otra, debido a la
complejidad de sus componentes físicos, además, un factor determinante son las
perturbaciones del sistema que modifican de manera significativa la respuesta
del submarino.
Objetivo 3:
Objetivo 4:
123
6.10.2. Recomendaciones
124
REFERENCIAS
Barrientos, A., Peñin, L. F., Balaguer, C., & Aracil, R. (2007). Fundamentos de
Robótica. España: McGraw-Hill.
Bhopale, P. S., Bajaria, P. K., Kazi, F. S., & Singh, N. M. (2016). LMI Based Depth
Control for Autonomous Underwater Vehicle. International Conference on
Control, Instrumentation, Communication and Computational Technologies, 477-
481.
Bhopale, P., Bajaria, P., Singh, N., & Kazi, F. (2017). Enhancing Reduced Order Model
Predictive Control for Autonomous Underwater Vehicle. Advanced
Computational Methods for Knowledge Engineering, 60-71.
Bryson, M., Johnson-Roberson, M., Pizarro, O., & Williams, S. B. (2015). True Color
Correction of Autonomous Underwater Vehicle Imagery. Journal of Field
Robotics, 1-22.
125
Encarnacao, P., & Pacoal, A. (2000). 3D Path Following for Autonomous Underwater
Vehicle. Conference on Decision and Control.
Esfandiari, R. S., & Lu, B. (2014). Modeling and Analysis of dynamics system. Boca
Raton: CRC Press.
126
Moreno Avalos, H. (2013). Modelado, Control y Diseño de Robots Submarinos de
Estructura Paralela con Impulsores Vectorizados. Escuela Técnica Superior de
Ingenieros Industriales.
Nägeli, T., Meier, L., Domahidi, A., Alonso-Mora, J., & Hilliges, O. (2017). Real-time
planning for automated multi-view drone cinematography. ACM Transactions on
Graphics (TOG), 1-14.
127
Playerstage. (14 de 11 de 2017). Gazebo: 3D multiple robot simulator with dynamics.
Obtenido de http://playerstage.sourceforge.net/gazebo/gazebo.html
Pshikhopov, K., Medvedev, Y., & Gurenko, B. (2014). Homing and Docking Autopilot
Design for Autonomous Underwater Vehicle. Applied Mechanics and Materials,
700-707.
Tsingas, C., Aramco), M. A., Walker, C., Bunting, T., Postic, E., Rokkan, A., . . .
Brizard, T. (2017). SpiceRack™: An autonomous underwater vehicle for efficient
seabed seismic acquisition. SEG International Exposition and 87th Annual
Meeting, 5953-5957.
128
Vega, F. R. (2012). Eficiencia y control de potencia en canales de comunicaciones
acústicas subacuáticas. Málaga: Tesis Doctoral RIUMA.
West, M. E., Schmidt, B., & Spears, A. (2015). Autonomous underwater vehicle for
advanced exploration of polar environments. SPIE Newsroom, 10(1), 1-3.
129
ANEXOS
130
Anexo A: Código en Matlab del modelo cinemático
%% ANEXO A
clc
clear all
close all
%Velocidades
v1=0.025;%m/s
v2=0.025;%rad/s
%Constantes
a=0.32;%m
tm=0.1; % tiempo de discretización
t=0:tm:45; % tiempo de simulación
%Condiciones iniciales
qz=0;%rad
xo=0;% metros
yo=0;% metros
%Lazo de simulación
for i=2:length(t)
qz(i)=qz(i-1)+v2*tm; %integral de la velocidad angular
R=[cos(qz(i)) -a*sin(qz(i));sin(qz(i)) a*cos(qz(i))]; % Matriz del
modelo
v=[v1;v2];
%Cinemática
PGp=R*v;
pgxp(i-1)=PGp(1);
pgyp(i-1)=PGp(2);
% integral de las velocidades
x(i-1)=xo+trapz(pgxp)*tm;
y(i-1)=yo+trapz(pgyp)*tm;
% graficar el submarino
submarine(x(i-1),y(i-1),0,qz(i-1),.1)
axis([-.35 1.2 -.35 1.2])
pause(0.001)
end
% posicion inicial
hold on
plot(x,y)
submarine(xo,yo,0,qz(1),.1)
title('Submarino en movimiento')
xlabel('x[m]')
ylabel('y[m]')
axis([-.35 1.2 -.35 1.2])
%% velocidad en x
t(end)=[];
figure
plot(t,pgxp),grid on
xlabel('tiempo [segundos]')
ylabel('Velocidad X [m/s]')
%% velocidades en y
figure
plot(t,pgyp),grid on
xlabel('tiempo [segundos]')
ylabel('Velocidad Y[m/s]')
%% ángulo del submarino
131
qz(end)=[];
figure
plot(t,qz),grid on
xlabel('tiempo [segundos]')
ylabel('\theta_z [rad]')
132
Anexo B: Código en Matlab del modelo dinámico
%% Anexo B
clc
clear all
close all
%constantes
a=0.32;%m
c=0.15;%m
p=1027;%kgr/m3
Cd=0.42;%coeeficiente de arrastre
Av1=pi*c^2;
Av2=pi*a*c;
e=sqrt(1-(c/a)^2); %ecxentricidad
alpha0=2*(1-e^2)/e^3*(1/2*log((1+e)/(1-e))-e);
beta0=1/e^2-(1-e^2)/(2*e^3)*log((1+e)/(1-e));
m=30;%kgrs
ms=4/3*pi*p*a*c^2;
%condiciones iniciales
v1=0;%m/s
v2=0;%rad/s
fx=0.1;%N
tz=0.025;%N*m
w=[0;0];
qz=0;%rad
tm=0.1;
t=0:tm:45; % tiempo de simulación
xo=0;
yo=0;
zo=0;
v=[v1;v2];
%lazo de simulación
for i=2:length(t)
%Matrices Dinamicas
M=[m-alpha0*ms/(2-alpha0) 0;0 ...
m/5*(a^2+c^2)-ms/5*(((c^2-a^2)*(alpha0-beta0))/(2*(c^2-
a^2)+((c^2+a^2)*(alpha0-beta0))))];
C=[0 -a*m*v2(i-1);a*m*v2(i-1) 0];
D=1/2*p*[Cd*Av1*abs(v1(i-1)) 0;0 Cd*2*Av2*a^3*abs(v2(i-1))];
T=[fx;tz];
wt=[rand-0.5;rand-0.5]/2000;%perturbaiones
w=w+wt; % perturbacion creciente (acumula)
% separa las perturbaciones para graficar
w1(i)=w(1);
w2(i)=w(2);
%Modelo Dinámico
vp=inv(M)*(T+w-C*v-D*v);
v1p(i)=vp(1);
v2p(i)=vp(2);
%integral de las aceleraciones
v1(i)=v1(1)+trapz(v1p)*tm;
v2(i)=v2(1)+trapz(v2p)*tm;
v=[v1(i);v2(i)];
%Cinematica
qz(i)=qz(i-1)+v2(i)*tm;
R=[cos(qz(i)) -a*sin(qz(i));sin(qz(i)) a*cos(qz(i))];
PGp=R*v;
pgxp(i-1)=PGp(1);
133
pgyp(i-1)=PGp(2);
x(i-1)=xo+trapz(pgxp)*tm;
y(i-1)=yo+trapz(pgyp)*tm;
%GRaficar submarino
submarine(x(i-1),y(i-1),0,qz(i-1),.1)
axis([-.35 1.2 -.35 1.2])
pause(0.001)
end
%Posicion Inicial
hold on
plot(x,y)
submarine(xo,yo,0,qz(1),.1)
submarine(x(end),y(end),0,qz(end),.1)
title('Submarino en movimiento')
xlabel('x[m]')
ylabel('y[m]')
axis([-1.5 1.5 -.35 2.5]),grid on
%% velocidad 1
figure
plot(t,v1),grid on
xlabel('tiempo [segundos]')
ylabel('Velocidad v_1 [m/s]')
%% velocidad 2
figure
plot(t,v2),grid on
xlabel('tiempo [segundos]')
ylabel('Velocidad v_2 [rad/s]')
%% aceleracion 1
figure
plot(t,v1p),grid on
xlabel('tiempo [segundos]')
ylabel('Aceleración de v_1 [m/s]')
%% aceleracion 2
figure
plot(t,v2p),grid on
xlabel('tiempo [segundos]')
ylabel('Aceleración de v_2 [rad/s^2]')
%
%% velocidad en x
t(end)=[];
figure
plot(t,pgxp),grid on
xlabel('tiempo [segundos]')
ylabel('Velocidad X [m/s]')
%% velocidad en y
figure
plot(t,pgyp),grid on
xlabel('tiempo [segundos]')
ylabel('Velocidad Y[m/s]')
%% angulo del submarino
qz(end)=[];
figure
plot(t,qz),grid on
xlabel('tiempo [segundos]')
ylabel('\theta_z [rad]')
134
Anexo C: Código en Matlab del modelo de restitución
%% Anexo C
clc
clear all
close all
%constantes
a=0.32;%m
c=0.15;%m
p=1027;%kgr/m3
m=30;%kgrs
g=9.8;%m/s2
V=4/3*pi*c^2*a;
Az=pi*a*c;
Cdz=0.82;
wz=0.01;
B=p*g*V;
W=m*g;
go=0;
mo=0;
tm=0.1;
t=0:tm:5; % tiempo de simulación hasta que se estabiliza la velocidad
%Condiciones iniciales
vz=0;%m/s
fz=0.0;%N
wz=0;
zo=-5;
z=zo;
% Lazo de simulación
for i=2:length(t)
go=-mo*g;
wz(i)=(rand-0.5)/10+wz(i-1);%perturbación
% modelo de restitución
az(i)=(fz+go+wz(i)-(W-B)-1/2*p*Cdz*Az*abs(vz(i-1))*vz(i-1))/m;
vz(i)=vz(i-1)+az(i)*tm;
z(i)=zo+trapz(vz)*tm;
end
%Posicion inicial
hold on
plot3(z*0,z*0,z)
submarine(0,0,zo,0,.1)
submarine(0,0,z(end),0,.1)
title('Submarino en movimiento')
% xlabel('x[m]')
axis([-1.5 1.5 -.35 2.5]),grid on
%% aceleración z
figure
plot(t,az),grid on
xlabel('tiempo [segundos]')
ylabel('a_z [m/s]')
%% velocidad z
figure
plot(t,vz),grid on
xlabel('tiempo [segundos]')
ylabel('v_z [m/s]')
135
Anexo D: Código en Matlab del modelo de comunicación
%% Anexo D
clc
clear all
close all
% Parametros
s=0.025;
xm=0.35;
b=s/xm; % parametro b
a=xm^2/s; % parametro a
grid on
%distancias
d=50:150;
% densidad acumulada incial
po=0.1;
%maxima distancia
dm=200;
for i=1:length(d)
% densidad de probabilidad
p=po+d(i)/(dm);
% inversa de la distribución gamma
xt=gaminv(p+rand/100,a,b);
l(i)=xt;%latencia
end
% Grafico de latencia
figure,plot(l,d);grid on
xlabel('x_t[segundos]');ylabel('d[m]');
136
Anexo E: Código en Matlab del control de posición por cinemática inversa
%% Anexo E
clc
clear all
close all
%Constantes
a=0.32;%m
tm=0.1;
t=0:tm:120;
%Condiciones Iniciales
qz=0;%rad
xo=0;
yo=0;
zo=0;
x=xo;
y=xo;
v2=0;
%Posicion deseada
xd=3;
yd=3;
%Ganacias del control por cinematica inversa
Ke1=.1;
Ke2=.04;
%lazo de simulación
for i=2:length(t)
qz(i)=qz(i-1)+v2(i-1)*tm;
% Matriz cinemática
R=[cos(qz(i)) -a*sin(qz(i));sin(qz(i)) a*cos(qz(i))];
%Errores
ex=xd-x(i-1);
ey=yd-y(i-1);
E=[Ke1*ex;Ke2*ey];
%Cinematica Inversa
v=inv(R)*E;
v1(i)=v(1);
v2(i)=v(2);
%Cinematica DIrecta
v=[v1(i);v2(i)];
PGp=R*v;
pgxp(i-1)=PGp(1);
pgyp(i-1)=PGp(2);
%Integral de las velocidades
x(i)=xo+trapz(pgxp)*tm;
y(i)=yo+trapz(pgyp)*tm;
%Graficar submarino
submarine(x(i),y(i),0,qz(i),.1)
axis([-.35 4 -.35 4])
pause(0.001)
end
%Posición Inicial
hold on
plot(x,y)
submarine(xo,yo,0,qz(1),.1)
title('Submarino en movimiento')
xlabel('x[m]')
ylabel('y[m]')
axis([-.35 4 -.35 4])
137
%% Velocidad 1
figure
plot(t,v1),grid on
xlabel('tiempo [segundos]')
ylabel('v_1 [m/s]')
%% Velocidad 2
figure
plot(t,v2),grid on
xlabel('tiempo [segundos]')
ylabel('v_2 [m/s]')
138
Anexo F: Código en Matlab del control PID de velocidades
%% Anexo F
clc
clear all
close all
%Constantes
a=0.32;%m
c=0.15;%m
p=1027;%kgr/m3
Cd=0.42;%coeeficiente de arrastre
Av1=pi*c^2;
Av2=pi*a*c;
e=sqrt(1-(c/a)^2);
alpha0=2*(1-e^2)/e^3*(1/2*log((1+e)/(1-e))-e);
beta0=1/e^2-(1-e^2)/(2*e^3)*log((1+e)/(1-e));
m=30;%kgrs
ms=4/3*pi*p*a*c^2;
%Condiciones Iniciales
w=[0;0];
qz=0;%rad
tm=0.1;
t=0:tm:6;
xo=0;
yo=0;
zo=0;
v1=0;%m/s
v2=0;%rad/s
v=[v1;v2];
v1d=0.08;
v2d=0.04;%rad/s
%Ganancias PID
Kp=diag([14*4,14]);
Ki=diag([47;47]);
Kd=diag([1;1]);
%Lazo de simulacion
for i=2:length(t)
%constantes dinámicas
M=[m-alpha0*ms/(2-alpha0) 0;0 ...
m/5*(a^2+c^2)-ms/5*(((c^2-a^2)*(alpha0-beta0))/(2*(c^2-
a^2)+((c^2+a^2)*(alpha0-beta0))))];
C=[0 -a*m*v2(i-1);a*m*v2(i-1) 0];
D=1/2*p*[Cd*Av1*abs(v1(i-1)) 0;0 Cd*2*Av2*a^3*abs(v2(i-1))];
%Errores de velocidad
ev1(i-1)=v1d-v1(i-1);
ev2(i-1)=v2d-v2(i-1);
ev=[ev1(i-1);ev2(i-1)];
% Integral del error
ie1=trapz(ev1)*tm;
ie2=trapz(ev2)*tm;
ie=[ie1;ie2];
% derivada del error
de1=diff(ev1)/tm;
de2=diff(ev2)/tm;
de=[de1;de2];
if isempty(de)
de=[0;0];
else
de=de(:,end);
139
end
%PID
T_PID=M*(Kp*ev+Ki*ie+Kd*de)+C*v+D*v;
T_PID=Kp*ev+Ki*ie+Kd*de;
fv1(i-1)=T_PID(1);
tv2(i-1)=T_PID(2);
%Perturbaciones
wt=[rand-0.5;rand-0.5]/2000;
w=w+wt;
w1(i)=w(1);
w2(i)=w(2);
%DInamica
vp=inv(M)*(T_PID+w-C*v-D*v);
v1p(i)=vp(1);
v2p(i)=vp(2);
v1(i)=v1(1)+trapz(v1p)*tm;
v2(i)=v2(1)+trapz(v2p)*tm;
v=[v1(i);v2(i)];
%Cinemática
qz(i)=qz(i-1)+v2(i)*tm;
R=[cos(qz(i)) -a*sin(qz(i));sin(qz(i)) a*cos(qz(i))];
PGp=R*v;
pgxp(i-1)=PGp(1);
pgyp(i-1)=PGp(2);
x(i-1)=xo+trapz(pgxp)*tm;
y(i-1)=yo+trapz(pgyp)*tm;
%Graficar el submarino
submarine(x(i-1),y(i-1),0,qz(i-1),.1)
axis([-.35 1.2 -.35 1.2])
pause(0.001)
end
%POsicion inicial
hold on
plot(x,y)
submarine(xo,yo,0,qz(1),.1)
submarine(x(end),y(end),0,qz(end),.1)
title('Submarino en movimiento')
xlabel('x[m]')
ylabel('y[m]')
axis([-1.5 1.5 -.35 2.5]),grid on
%% Velocidad 1
figure
plot(t,v1),grid on
xlabel('Tiempo [segundos]')
ylabel('Velocidad v_1 [m/s]')
%% Velocidad 2
figure
plot(t,v2),grid on
xlabel('Tiempo [segundos]')
ylabel('Velocidad v_2 [rad/s]')
%% aceleración 1
figure
plot(t,v1p),grid on
xlabel('Tiempo [segundos]')
ylabel('Aceleración de v_1 [m/s^2]')
%% aceleración 2
figure
plot(t,v2p),grid on
140
xlabel('Tiempo [segundos]')
ylabel('Aceleración de v_2 [rad/s^2]')
%% fuerza
t(end)=[];
figure
plot(t,fv1),grid on
xlabel('Tiempo [segundos]')
ylabel('Fuerza f_v_1 [N]')
%% torque
figure
plot(t,tv2),grid on
xlabel('Tiempo [segundos]')
ylabel('Torque t_v_2 [Nm]')
%% errores de velocidad
figure
plot(t,ev1),grid on
xlabel('Tiempo [segundos]')
ylabel('Error v_1 [m/s]')
figure
plot(t,ev2),grid on
xlabel('Tiempo [segundos]')
ylabel('Error v_2 [m/s]')
141
Anexo G: Código en Matlab del control de lastre
%% Anexo G
clc
clear all
close all
%constantes
a=0.32;%m
c=0.15;%m
p=1027;%kgr/m3
m=30;%kgrs
g=9.8;%m/s2
V=4/3*pi*c^2*a;
Az=pi*a*c;
Cdz=0.82;
wz=0.01;
B=p*g*V;
W=m*g;
tm=0.1;%seg
t=0:tm:50;
%Condiciones iniciales
vz=0;%m/s
fz=0;%N
wz=0;%N
zo=-5;%m
z=zo;
go=0;
mo=0;
zd=-2;
%Ganancias
kc=2.5;
Kpm=kc*0.59;
tc=9;
Kim=1.18*kc/tc;
Kdm=0.074*kc*tc;
% Lazo de simulacion
for i=2:length(t)
%Error de profundidad
ez(i-1)=zd-z(i-1);
%Integral del error
iez=trapz(ez)*tm;
%derivada del error
dez=diff(ez)/tm;
if isempty(dez)
dez=0;
end
dez=dez(end);
%PID
dm(i-1)=Kpm*ez(i-1)+Kim*iez+Kdm*dez;
mo=mo+dm(i-1);
go=mo*g;
%Perturbaciones
wz(i)=(rand-0.5)/1000+wz(i-1);
%Modelo de resitución
az(i)=(fz+go+wz(i)-(W-B)-1/2*p*Cdz*Az*abs(vz(i-1))*vz(i-1))/m;
vz(i)=vz(i-1)+az(i)*tm;
z(i)=zo+trapz(vz)*tm;
end
142
%Posición inicial
hold on
plot3(z*0,z*0,z)
submarine(0,0,zo,0,.1)
submarine(0,0,z(end),0,.1)
title('Submarino en movimiento')
axis([-1.5 1.5 -.35 2.5]),grid on
%% aceleración z
figure
plot(t,az),grid on
xlabel('tiempo [segundos]')
ylabel('a_z [m/s]')
%% velocidad z
figure
plot(t,vz),grid on
xlabel('tiempo [segundos]')
ylabel('v_z [m/s]')
%% posición z
figure
plot(t,z),grid on
xlabel('tiempo [segundos]')
ylabel('z [m]')
143
Anexo H: Conexión entre Matlab y V-rep
A continuación se describe el procedimiento para conectar Matlab con v-rep.
1. Configuración de Matlab
Copiar los archivos de la figura H.1 que se encuentran en la ruta C:\Program Files\V-
REP3\V-REP_PRO_EDU\programming\remoteApiBindings\matlab\matlab.
Fig. H.1
Fig. H.2
2. Configuración de V-REP
Esta configuración debe realizarse cada vez que se cree un nuevo entorno de simulación
en v-rep:
144
Fig. H.3
- Con esta opción se abre una ventana que contiene todos los scripts de la actual
simulación. Ver la figura H.4.
Fig. H.4
-después, se debe crear un nuevo script mediante la opción ‘Insert new script’, y del
tipo ‘Child script (threaded)’ como se muestra en la Figura H.5.
Fig. H.5
145
- A este nuevo script se debe modificar en la opción “Associated Object” al
objeto DefaultCamera, ver la figura H.6.
Fig. H.6
3. Verificación en Matlab
vrep=remApi('remoteApi');
clientID=vrep.simxStart('127.0.0.1',19999,true,true,5000,5)
vrep.simxFinish(clientID);
La figura H.7 muestra que la conexión entre las dos aplicaciones es correcta.
Fig. H.7
146
Anexo I: Construcción del Submarino en 3D
A continuación se describe el proceso de construcción del submarino en 3D, realizado
en el software SolidWorks:
Fig I.1
Eje de
revolució
Fig I.2
147
3. Creamos un nuevo croquis en la parte trasera del submarino para crear las hélices,
ver la figura I.3.
Fig I.3
Fig I.4
CROQUIS
148
Fig I.5
Fig I.6
Fig I.7
149
Fig I.8
Fig I.9
10. En la figura I.10 se muestra un nuevo croquis creado en el eje de revolución del
submarino, este croquis es para la aletas.
Fig I.10
11. Se procede a extrudir bidireccionalmente las aletas como se muestra en la figura I.11
dada 5 milímetros
150
Fig I.11
12. Se procede a realizar la aleta superior creando un nuevo croquis como se muestra en
la figura I.12.
Fig I.12
Fig I.13
14. Se redonda la esquinas vivas de las aletas como se muestra en la figura I.14
151
Fig I.14
Fig I.15
16. Se procede a crear un nuevo croquis en la parte frontal del submarino para crear la
salida de los cañones, ver la figura I.16.
Fig I.16
17. Se procede a extrudir en corte 213 milímetros como se muestra en la figura I.17.
Fig I.17
152
Finalmente, en la figura I.18 se muestra el submarino terminado desde diferentes vistas.
Fig I.18
153