PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ MAESTRÍA EN INGENIERÍA DE CONTROL Y AUTOMATIZACIÓN GENERACIÓN Y CONTROL DE TRAYECTORIA PARA EMBARCACIONES MARINAS EN AGUAS POCO PROFUNDAS Y ESPACIOS CONFINADOS Tesis en opción al grado de Magister en Ingeniería de Control y Automatización Autor: Cayetano Juan Cáceres Mendoza Asesor de Tesis: PhD Antonio Morán Cárdenas 2016 Dedicado a mi esposa Evelyn y a mis Padres, por su paciencia y apoyo incansable para lograr este sueño, a mi asesor el Dr. Antonio Moran por las enseñanzas y experiencias dadas durante la maestría. i Agradecimientos Me gustaría agradecer a todos los miembros de mi familia, en especial a mi esposa Evelyn y a mi hija Alessia, puesto que la elaboración y redacción de esta tesis ha signicado sacricar tiempo valioso con ellas, agradezco por sus sonrisas y su buen ánimo siempre conmigo, siempre tengo claro que ustedes son las que motivan mi vida. También quiero agradecer a mis padres Auria y Vidal, por su apoyo incon- dicional, sus consejos y sueños que también son los míos, ha sido muy grato compartir este tiempo con ustedes, espero que siempre tengan ese ánimo y esa fuerza progresista que los caracteriza. A mi hermano Jorge, decir o escribir mil veces gracias seria insuciente para agradecer tu apoyo durante este proyecto. Esta tesis no hubiera sido posible sin el apoyo de la Sra. Angelica y Wilson, muchas gracias por su ayuda, siempre estaré innitamente agradecido con ustedes por su ayuda. A la Ing. Liliana Asalde por conar en mi gracias por su apoyo desde el inicio de este sueño, siempre tendré presente su amistad y apoyo. A mis queridos amigos Rubén y Nelson, espero algún día poder ayudarlos, como ustedes lo han hecho a través de sus ánimos. A todos mis amigos de la maestría, que siempre fueron de mucha ayuda para enfrentar algunos cursos complicados, a mi buen amigo Neil que siempre alentó seguir en la elaboración de esta tesis. A todos los profesores que nos enseñaron y guiaron a través de los cursos en el desarrollo de las diversas teorías de control. A los miembros del CONCYTEC y de la PUCP que conaron en mi persona e hicieron posible cumplir este sueño. ii Resumen El capítulo 1, presenta una introducción y estado del arte del planeamiento y seguimiento de trayectorias en espacios connados. En el capítulo 2, se presenta el desarrollo completo del modelo matemático general de una embarcación mari- na, considerando los 6 grados de libertad para posteriormente particularizar este modelo a un modelo de 3 grados de libertad que es el que se va analizar en esta tesis. El propósito del capítulo 3, consiste en realizar el diseño mediante simulación de un sistema de planeamiento, guía y seguimiento de trayectoria para una em- barcación marina subactuada con dos hélices, a partir del modelo matemático de barco de 3 grados de libertad, obtenido en el capítulo 2. En este capítulo se divide en 3 partes, el planeamiento de trayectoria, estrategia de control y sínte- sis de planeamiento y seguimiento de trayectoria para embarcaciones marinas en espacios connados. En la primera parte, se da a conocer la estrategia utilizada para realizar el planeamiento de trayectoria partiendo de un espacio determina- do caracterizado por su geometría y obstáculos. Para esta tarea se hace uso del diagrama de Voronoi, el algoritmo de Dijkstra, y un algoritmo de tal manera que ltramos algunos puntos para evitar los cambios de dirección innecesarios, también consideramos una tolerancia de tal manera que la embarcación pueda circular por lugares estrechos con cierta holgura. En la segunda parte, se presen- ta la teoría de control backstepping, que es aplicada para sistemas dinámicos no lineales, se comenta sus ventajas respecto a la técnica de feedback lineariza- tion . Se muestra el desarrollo de la técnica aplicada al control de embarcaciones marinas, considerando la dinámica del barco. Se desarrolla el sistema de guía del barco para lograr el seguimiento de trayectoria, con las consideraciones especiales que implican controlar un sistema subactuado. En el capítulo 4, se desarrolla la simulación para dos entornos diferentes, el primero corresponde a un canal en forma senoidal por el cual el barco se desplazará, se realizará el planeamiento y control de la ruta, el segundo entorno corresponde a una aplicación más real, pues se toma como mapa referencia el mar Báltico, al cual se le aplican las técnicas desarrolladas en esta tesis. iii Índice general 1. Introducción y estado del arte de generación y seguimiento de trayectorias para embarcaciones marinas en espacios connados 1 1.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3. Objetivo general . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4. Objetivos especícos . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.5. Estado del Arte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.6. Solución propuesta . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.6.1. Breve descripción de la solución propuesta . . . . . . . . . 15 1.6.2. Contribución de la tesis . . . . . . . . . . . . . . . . . . . 15 2. Modelo Matemático 18 2.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.2. Dinámica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.2.1. Sistemas de referencia: . . . . . . . . . . . . . . . . . . . . 19 2.2.2. Dinámica del centro de gravedad . . . . . . . . . . . . . . 21 2.2.3. Dinámica del punto CO . . . . . . . . . . . . . . . . . . . 24 2.2.4. Representación del modelo en forma matricial . . . . . . . 26 2.2.5. Fuerzas actuantes sobre la embarcación marina . . . . . . 27 2.2.5.1. Fuerzas de empuje por parte de los actuadores . . 28 2.2.5.2. Helice con timon para direccionamiento . . . . . 28 2.2.5.3. Propulsor azimutal . . . . . . . . . . . . . . . . . 28 2.2.5.4. Otras conguraciones . . . . . . . . . . . . . . . . 28 2.2.6. Fuerzas hidrodinámicas . . . . . . . . . . . . . . . . . . . . 30 2.2.6.1. Desplazamiento de masa de agua . . . . . . . . . 30 2.2.6.2. Amortiguación . . . . . . . . . . . . . . . . . . . 30 2.2.7. Fuerzas hidrostáticas . . . . . . . . . . . . . . . . . . . . . 31 2.2.8. Fuerzas del ambiente . . . . . . . . . . . . . . . . . . . . . 31 2.2.9. Otras fuerzas . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.3. Modelo de referencia . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.3.1. Modelo de simulación . . . . . . . . . . . . . . . . . . . . . 33 2.3.1.1. Parámetros Dinámicos . . . . . . . . . . . . . . . 33 2.3.2. Radio de giro del barco . . . . . . . . . . . . . . . . . . . . 35 2.3.3. Pruebas con el modelo de referencia . . . . . . . . . . . . . 35 2.4. Conclusiones preliminares . . . . . . . . . . . . . . . . . . . . . . 37 iv Índice general v / 152 3. Desarrollo de un sistema de planeamiento y seguimiento de ruta de un barco de dos hélices en espacio connado 39 3.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3.2. Planeamiento de trayectoria . . . . . . . . . . . . . . . . . . . . . 40 3.2.1. Terminología . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.2.2. Planeamiento de movimiento . . . . . . . . . . . . . . . . . 42 3.2.2.1. Diagrama de Voronoi . . . . . . . . . . . . . . . . 43 3.2.2.2. Algoritmo de Dijsktra . . . . . . . . . . . . . . . 43 3.2.2.3. Obstáculos . . . . . . . . . . . . . . . . . . . . . 45 3.2.2.4. Eliminación de puntos no necesarios . . . . . . . 45 3.2.3. Generación de ruta . . . . . . . . . . . . . . . . . . . . . . 46 3.2.3.1. Generación de ruta usando polinomio cúbico de Hermite . . . . . . . . . . . . . . . . . . . . . . . 48 3.2.3.2. Generación de ruta usando Espiral de Fermat . . 49 3.3. Sistema de guiado . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 3.3.1. Linea de visión - Basado en 3 puntos . . . . . . . . . . . . 52 3.3.1.1. Cálculo de ángulo LOS ψlos para embarcaciones marinas . . . . . . . . . . . . . . . . . . . . . . . 53 3.3.1.2. Cálculo de posición LOS plos para embarcaciones marinas . . . . . . . . . . . . . . . . . . . . . . . 53 3.3.2. Sistema de referencia móvil . . . . . . . . . . . . . . . . . 58 3.4. Sistema de control . . . . . . . . . . . . . . . . . . . . . . . . . . 59 3.4.1. Control Backstepping . . . . . . . . . . . . . . . . . . . . . 59 3.4.2. Diseño de ley control MIMO backstepping para barcos . . 61 3.5. Conclusiones Preliminares . . . . . . . . . . . . . . . . . . . . . . 64 4. Simulación 66 4.1. Simulación en canal senoidal . . . . . . . . . . . . . . . . . . . . . 66 4.1.1. Planeamiento de movimiento y trayectoria . . . . . . . . . 66 4.1.2. Determinación de puntos de ruta WayPoints. . . . . . . . 67 4.1.3. Determinación de ruta paramétrica. . . . . . . . . . . . . . 68 4.1.3.1. Polinomio cúbico de hermite . . . . . . . . . . . . 68 4.1.3.2. Espiral de Fermat . . . . . . . . . . . . . . . . . 68 4.1.4. Seguimiento de trayectoria y control de embarcación . . . 71 4.1.4.1. Resultados de simulación . . . . . . . . . . . . . 71 4.2. Simulación en el mar Báltico . . . . . . . . . . . . . . . . . . . . . 74 4.2.1. Planeamiento de movimiento y trayectoria en el mar Báltico 74 4.2.2. Determinación de puntos de ruta WayPoints en el mar Báltico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 4.2.3. Determinación de ruta paramétrica en el mar Báltico . . . 76 4.2.3.1. Polinomio cubico de hermite en el mar Báltico . . 79 4.2.3.2. Espiral de Fermat en el mar Báltico . . . . . . . 79 4.2.4. Seguimiento de trayectoria y control de embarcación en el mar Báltico . . . . . . . . . . . . . . . . . . . . . . . . . . 82 4.2.4.1. Resultados de simulación en el mar Báltico . . . 82 4.3. Conclusiones Preliminares . . . . . . . . . . . . . . . . . . . . . . 84 Conclusiones 87 Cayetano Cáceres, PUCP Índice general vi / 152 Recomendaciones 88 Bibliografía 89 Anexo A. Script en MATLAB para control de barco 93 Anexo B. Script en MATLAB para eliminar puntos no ncesarios 99 Anexo C. Script en MATLAB para generar Rutas con el Polinomio Cúbico de Hermite 101 Anexo D. Script en MATLAB para generar Rutas con la espiral de Fermat 105 Anexo E. Propuesta de implentación de barco para monitoreo de variables marinas 110 E.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 E.2. Propuesta de instrumentación . . . . . . . . . . . . . . . . . . . . 112 E.2.1. Selección de sensores/transmisores . . . . . . . . . . . . . 112 E.2.1.1. Sensor de Inercia (IMU) . . . . . . . . . . . . . . 113 E.2.1.2. Sensor de viento . . . . . . . . . . . . . . . . . . 113 E.2.1.3. Sensor de humedad y temperatura de ambiente . 113 E.2.1.4. Sensor de temperatura del agua . . . . . . . . . . 113 E.2.1.5. Sensor de presión . . . . . . . . . . . . . . . . . 115 E.2.1.6. Sensor de salinidad (Conductividad) . . . . . . . 115 E.2.1.7. Sensor de PH . . . . . . . . . . . . . . . . . . . . 115 E.2.1.8. Módulo XBee . . . . . . . . . . . . . . . . . . . . 117 E.2.2. Actuadores . . . . . . . . . . . . . . . . . . . . . . . . . . 117 E.2.2.1. Motores y hélices . . . . . . . . . . . . . . . . . . 117 E.2.3. Sistema de Control . . . . . . . . . . . . . . . . . . . . . . 117 E.2.3.1. Raspberry PI . . . . . . . . . . . . . . . . . . . . 118 E.2.3.2. Arduino R3 uno . . . . . . . . . . . . . . . . . . 118 E.2.3.3. Computador de monitoreo . . . . . . . . . . . . . 119 E.3. Propuesta de implementación del controlador desarrollado . . . . 120 E.4. Propuesta de sistema de control y monitoreo . . . . . . . . . . . . 121 E.5. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Anexo F. Echo Boat RC 123 Anexo G. Sensor de Inercia IMU 126 Anexo H. Sensor de Viento 131 Anexo I. Sensor de Humedad y temperatura de ambiente 134 Anexo J. Sensor de temperatura del agua 137 Anexo K. Sensor de Presión 140 Anexo L. Sensor de Salinidad 142 Cayetano Cáceres, PUCP Índice general vii / 152 Anexo M.Sensor de PH 145 Anexo N. Módulo de comunicación inalámbrica Xbee 148 Anexo Ñ. Motor de hélices 151 Cayetano Cáceres, PUCP Abreviaturas κmax Curvatura máxima que puede realizar el barco ψ ángulo en dirección del eje Z del sistema body ψlos Ángulo LOS CG Centro de gravedad DOF Grados de libertad (Degrees of freedom) DP Posicion Dinamica (Dynamic Positioning) E Posición Este, asociada al eje Y ECDIS Visualizador de cartas de navegación electrónicas, (Electronic Chart Display). GPS Sistema de Posicionamiento Global IMU Unidad de Medición Inercial Lpp Longitud de embarcación marina. LOS Line of sight - Linea de visión N Posición Norte, asociada al eje X plos Posición LOS PP Sistema de referencia paralelo a la ruta. r velocidad rotacional en dirección del eje Z del sistema body u velocidad en dirección del eje X del sistema body v velocidad en dirección del eje Y del sistema body WP Puntos de ruta (Waypoint). viii Capítulo 1 Introducción y estado del arte de generación y seguimiento de trayectorias para embarcaciones marinas en espacios connados 1.1. Introducción En la actualidad, la navegación de navíos tiene su principal interés en el tema de la seguridad, por lo cual se vienen desarrollando proyectos de ciencia y tec- nológica enfocados en este tema, se desarrollan investigaciones de planeamiento de trayectorias seguras, ó autopilotaje de navíos basado en sistemas inteligentes, para de esta manera frente a alguna perturbación se puedan tomar las mejores decisiones a n de evitar algún incidente o accidente como por ejemplo colisión, encallamiento, etc. Además se debe tener especial cuidado en la navegación que se da cerca a archipiélagos, puertos o canales debido a que se presentan menos espacios para realizar maniobras seguras y el margen de error es menor que en alta mar. El tema de seguridad es mucho más estricto puesto que errores de ma- niobra pueden generar colisiones entre navíos, contra muelles y con alguna roca o isla, o frente a algún fenómeno climatológico. En la Maritime Transport Con- ference en el 2012 se presenta nuevos enfoques de programación de movimiento en buques (Mironenko, 2012b), basados en experiencias y estas representadas de forma aproximada por modelos matemáticos. En el pasado, los sistemas de navegación de embarcaciones eran basadas en controlar la dirección del barco hacia una dirección deseada por medio de un gi- roscopio, Skjetne (2003). Con los nuevos sensores que se encuentran disponibles en el mercado y con el conocimiento de técnicas de control no lineal avanzado, hoy es posible realizar maniobras complicadas mediante control automático, Fossen (2011). Esto irá incrementando la funcionalidad y conabilidad de los sistemas 1 1.2. Antecedentes 2 / 152 comerciales de control automático de embarcaciones. Por estos días, las embarcaciones marinas son equipadas con modernos dis- positivos como sensores, propulsores y motores de alta eciencia,Kurowski et al. (2013). Con estos nuevos avances en los actuadores y tecnología de control la maniobrabilidad de las embarcaciones se ha incrementado substancialmente. Ma- niobras especiales, como atracar el barco en el muelle o una serie de maniobras, pueden ser realizadas sin la necesidad de usar barcos de remolque, vientos o an- clas. Además, se debe considerar que la conabilidad de la información de posición especialmente en puertos o otras áreas críticas, que son de nuestro interés, han sido mejorados por sistemas auxiliares, Korte et al. (2015). Al tener el usuario datos de posición conables, puede realizar el control con alta grado de seguridad de forma automática, en especial en caso de decremento de visibilidad. La deciencia de estos días en los sistemas de seguimiento de trayectorias es el método de planeamiento de rutas y en especial para lugares connados, como canales o cercanía a puertos donde la cantidad de obstáculos es mayor, Mironenko (2013). La generación de valores de entrada para el sistema de control por parte del ocial de navegación, especialmente en modos de baja velocidad, donde el sistema se torna más inestable sigue siendo un problema,Mironenko (2012b). Con el propósito de hacer frente a esto, nuevos algoritmos de maniobra han sido desarrollados y agregados a entornos de simulación a n de analizar sus resultados y encontrar los mejores, en esta tesis se presentaran algunos de ellos y se analizarán los resultados. 1.2. Antecedentes El control de ruta de embarcaciones empezó con la invención del giroscopio, que fue el primer sensor de realimentación del sistema, esto se remonta a 1908 cuando el Dr. Kaempfe desarrolló el primer giroscopio,Skjetne (2003). Esto des- encadenó en una serie de mejoras para que nalmente Elmer Sperry use este y genere un piloto automático, giropiloto, para el direccionamiento automático de un barco, recién en 1922 estuvo disponible comercialmente. El giropiloto, hoy conocido como autopiloto convencional, que es un sistema de control de simple entrada simple salida (SISO), donde la dirección es medida por un giroscopio y el error en dirección es compensado por acción del timón del barco. Debido a su fácil conguración este tipo de control ha sido ampliamente usado y aun sigue siendo usado en algunos casos. Sin embargo, con los avances tecnológicos y la introducción de nuevos sistemas de medición más precisos, conables, en especial el sistema de posicionamiento global (GPS) que nos permite ubicar un cuerpo Cayetano Cáceres, PUCP 1.2. Antecedentes 3 / 152 alrededor del mundo, y la necesidad de mejorar la eciencia y conabilidad de las maniobras a n de evitar accidentes sobre todo en espacios de difícil tránsito, donde la generación y seguimiento deben ser precisas,Mironenko (2013), hacen que se abran nuevas posibilidades y direcciones de investigación. Como resultado de esto en 1960 se logró realizar control de Posición dinámica (DP), esto se logró con la implementación de tres controladores PID desacoplados,Fossen (2002). El sistema DP, es un sistema múltiple-entrada, múltiple-salida con tres grados de libertad, avance, deriva y guiñada (surge, sway and yaw),Skjetne (2003), que son controlados por propulsores. El modelo base para controlar DP, es un modelo hidrodinámico avanzando no lineal, derivado de los principios fundamentales, que posteriormente es simplicado a un sistema lineal aprovechando que la velocidad es casi cero para estas aplicaciones. Tomando como referencia la teoría desarro- llada para lograr el control DP, ahora la nueva dirección de investigación está en el seguimiento de trayectorias a alta velocidad y la generación de rutas,Skjetne (2005). La generación de trayectorias en espacios connados es considerada como cru- cial y complicada, (Bowditch, 1995), por lo cual este campo de la ciencia marina se está orientando a trasladar ciertas tareas, que antes realizaba la tripulación, a sistemas de control y/o inteligencia articial. Existen sistemas actuales que ge- neran trayectorias pero durante esta generación obvian ciertas leyes de la física, no consideran el ángulo de deslizamiento del navío, cuando hay alguna curva se reemplaza directamente por arcos de círculos, Mironenko (2013), esto degenera en un salto de un ángulo de guiñada cero hacia un valor constante que a la postre se reeja en un pico en la señal de control. Luego de realizar la generación de ruta se tendrá que aplicar técnicas de control a n de poder lograr que el navío cumpla con la trayectoria deseada. Debido a que las embarcaciones circulan por lugares muy cercanos a zonas peligrosas como, zonas superciales, con alto tráco, bajo inuencia de fuerte oleaje, lugares estrechos, etc. todos estos problemas han terminado en colisiones o encallamientos, como se puede ver todos estos problemas se pueden mejorar directamente con la generación de una ruta óptima y un seguimiento de trayec- torias preciso, Mironenko (2013). La variedad de factores que pueden inuenciar en la generación de trayectorias son diversos por lo cual para hallar las óptimas se deberán realizar pruebas. Básicamente las trayectorias se denen a partir del conocimiento de los tripulantes apoyados en sus instrumentos de navegación con los cuales corrigen posibles desviaciones, pero estos no son de alta precisión. La importancia de la solución del problema radica en la mejora de la seguridad de navegación, actualmente se busca que los sistemas inteligentes puedan reem- Cayetano Cáceres, PUCP 1.3. Objetivo general 4 / 152 plazar la operación manual consiguiendo con esto eciencia y mejores tiempos de respuesta frente a perturbaciones. Anteriormente las maniobras por parte de las embarcaciones eran realizadas totalmente por los tripulantes, la respuesta y resultados dependían en gran ma- nera de la experiencia del capitán y de la tripulación en sí. En el pasado, las soluciones venían dadas por capacitar a la tripulación con simuladores de estos fenómenos, para medir el tiempo de respuesta y las decisiones que se tomaban bajo ciertas circunstancias. Las simulaciones básicamente eran para mostrar a los operadores como manejar el barco en situaciones de mucha proximidad a los problemas planteados. La solución que se quiere plantear es realizar las trayectorias aprovechando los nuevos dispositivos de medición que son más precisos y conables, a n de poder describir una trayectoria deseada segura, continua y suave. Además, se espera que este método pueda ser implementado en sistemas de navegación moderno y pueda servir para desarrollar nuevos esquemas de navegación así como centros de simulación. En un sistema convencional de seguimiento basado en puntos de ruta, sola- mente el ángulo de guiñada (dirección) es controlado, tomando el barco desde un punto a otro, usando el algoritmo de línea de visión (LOS). La manera más fácil de convertir este problema en un problema de seguimiento de ruta es conectando las líneas rectas entre cada punto mediante círculos inscritos, como se muestran en la Figura 1.1. Como han señalado varios autores, la ruta con distancia más corta entre 2 puntos es una línea recta y segmentos de arco. Sin embargo, como la ruta no es factible porque al cambiar de recta a circulo se da un salto en el ángulo de guiñada deseado. Para tener un mejor resultado la ruta que una dos puntos debe ser una curva que sea diferenciable al menos dos veces. 1.3. Objetivo general El presente trabajo tiene como objetivo general el desarrollo de un generador y seguidor de trayectorias para embarcaciones marinas en espacios connados, canales y lugares de alto tráco de tal forma que se obtengan trayectorias con- tinuas, suaves y que se puedan seguir con un pequeño margen de error que no ponga en peligro la seguridad de la embarcación ni la de su tripulación. 1.4. Objetivos especícos Los objetivos especícos de este proyecto son los siguientes: Cayetano Cáceres, PUCP 1.4. Objetivos especícos 5 / 152 Figura 1.1: Mapa digital donde la ruta es construida a partir de puntos mediante líneas rectas y círculos, también se presenta una alternativa usando una curva suave,Skjetne (2003) • Obtener un modelo matemático de una embarcación marina considerando las fuerzas dinámicas actuantes • Realizar el planeamiento de movimiento a partir de un mapa digital consi- derando obstáculos o formas especiales • Relacionar los parámetros cinemáticos a funciones que puedan dar conti- nuidad y suavidad a las rutas generadas • Relacionar los parámetros cinemáticos a funciones que puedan dar conti- nuidad y suavidad a las rutas generadas. • Generar rutas paramétricas al menos por dos métodos, comparar sus ven- tajas y desventajas frente a seguimiento de trayectoria basada en puntos de ruta. • Generar rutas paramétricas deseadas a partir de coordenadas de posición, orientación y lograr su seguimiento a través de sistemas de control no lineal avanzado. • Demostrar el mejoramiento en el control de trayectoria, comparando los índices respectivos para los casos: sistema de control considerando fuerzas dinámicas, sistema de control sin considerar fuerzas dinámicas. • Realizar una propuesta de implementación económica para la aplicación de monitoreo de variables marinas. Cayetano Cáceres, PUCP 1.5. Estado del Arte 6 / 152 Hipótesis, en este trabajo se parte de la hipótesis de que es posible generar y seguir trayectorias para embarcaciones marinas en espacios connados. 1.5. Estado del Arte En el presente, en el área de planeamiento de rutas para vehículos marinos, existen diferencias entre métodos de planeamiento de rutas navales que puedan ser usadas con los sistemas estándar de planeamiento de trayectoria respecto de los algoritmos de planeamiento de rutas para aplicaciones de mar abierto así co- mo para vehículos de alta dinámica, como los vehículos autónomos superciales y pequeñas embarcaciones, Kurowski et al. (2013). En la navegación comercial, la generación de la ruta de referencia está a cargo del ocial responsable. Por ello, idénticos métodos de planeamiento de ruta son usados para un amplio rango de vehículos desde los barcos largos y lentos hasta los más agiles barcos multipropó- sito, con sus particulares requerimientos de maniobra,Breivik (2003). Es por esta razón que los métodos de planeamiento que son usados son muy conservadores, porque luego estos tendrán que ser adaptados con algunos cambios de paráme- tros al barco respectivo que puede ser grande o pequeño. Pero muy a pesar del cuidado con los algoritmos, es posible generar alguna que no sea ejecutable por cierto vehículo, esto porque cada vehículo tiene particularidades en su dinámica como su radio de giro, Korte et al. (2015). Esto deriva que el sistema de guiado para el seguimiento de ruta genere grandes valores en las leyes de control o genere riesgos en la embarcación. De ahí que muchos métodos en la actualidad son solo aplicables para realizar maniobras en áreas de mar abierto con suciente espacio para realizar dichas maniobras. Ahora revisaremos los métodos de planeamiento usados con los sistemas de guiado estándar que se manejan en la actualidad para el seguimiento de ruta. Esto se reere al campo de los métodos de planeamiento por puntos de ruta, Fossen (2011). Por tanto, un número nito de puntos son indicados y conectados con líneas rectas. Los arcos circulares son integrados a la ruta automáticamente en cada punto, para denir así los círculos de giro para cada punto de ruta. Para estos casos el mínimo radio de giro es denido como radio de circunferencia en cada punto, esto con el n de poder tener la maniobrabilidad suciente y poder seguir la ruta sin problemas. Esta metodología puede ser exitosa debido a la mul- tiplicidad de la mayoría de barcos que solamente cambian muy condicionalmente. Además, se debe tener en cuenta que la maniobrabilidad del vehículo marino cambia signicativamente con la variación de la velocidad. Un parámetro entero sería necesario para mapear estos efectos, Kurowski et al. (2013). Cayetano Cáceres, PUCP 1.5. Estado del Arte 7 / 152 Figura 1.2: Reproducción de una maniobra manual de encallamiento del ferry M/V Mecklenburg-Vorpommern, (Kurowski et al., 2013) Cayetano Cáceres, PUCP 1.5. Estado del Arte 8 / 152 Por esta razón los problemas se dan cuando uno hace planeamiento de rutas en canales o espacios connados, considerando que los vehículos particularmente en estos lugares tienen baja velocidad y por ende su maniobrabilidad es menor. Para esclarecer esta parte vemos que en Kurowski et al. (2013), una ruta fue planeada con un sistema industrial de guía estándar para seguimiento de ruta. La ruta planeada muestra una rutina de maniobra para acercar el ferry al terminal de Rostock, como vemos en la Figura 1.2 que muestra la ruta generada, podemos apreciar que el radio mínimo de giro no fue lo suciente para calcular la curvatura de la ruta, especialmente en la parte nal de la aproximación al puerto como se ve en la Figura 1.3. Figura 1.3: Maniobra de atracamiento en el puerto con un sistema de guiado estándar para seguimiento de ruta, (Kurowski et al., 2013) Lo que se debió hacer, es un análisis para determinar si la maniobrabilidad del barco es suciente, para seguir la ruta de referencia con la velocidad planeada y con los actuadores que se tiene. Cayetano Cáceres, PUCP 1.5. Estado del Arte 9 / 152 El sistema de posición dinámica (DP) ofrece métodos de planeamiento más ecientes, debido a los modos de operación que presenta. Uno de estos modos es el modo autotrack, el cual es usado para seguir una ruta dada. La ruta también se basa en puntos de camino predenidos, donde la velocidad y el ángulo de guiñada pueden ser seteados independientemente. Los arcos de circunferencia serán usados en caso de dirección en los puntos de ruta. Adicional a esto también el radio de giro es denido manualmente o calculado automáticamente. En el caso de navegación dentro de canales o espacios connados, la denición de ruta de referencia es realizada por la denición de par de puntos en un mapa electrónico de rio. Estas coordenadas pueden ser asignadas con un parámetro de corrida tomado desde la curvatura del rio. Los datos guardados dados serán interpolados usando funciones cubicas. Estos resultados son generados fuera de línea, para luego ser cargados al sistema de guiado,(Wahl and Gilles, 2003). La arquitectura actual para este tipo de sistemas se presenta en la Figura 1.4. Figura 1.4: Arquitectura usada para el control de embarcaciones, (Korte et al., 2015) Otro campo de la investigación son métodos capaces de generar rutas de forma automática, esto para ser aplicados a vehículos marinos no tripulados o un grupo de vehículos. El área de movimiento de estos vehículos, es mayormente regiones limitadas y sin considerable impacto de navegación comercial o de potencial pe- ligro. Además las maniobras tienen lugar en el rango de visión de un operador, una esquema frecuentemente usado se muestra en la Figura 1.5, donde se pue- den diferenciar los diversos procesos que interactuan, para lograr seguir una ruta deseada. Un grupo de investigadores han desarrollado diferentes procedimientos para la generación de ruta. Zizzari et al. (2010), que desarrolla generación de ruta con- siderando restricciones dinámicas, mientras Pedersen and Fossen (2012), se basan en ujo de potencial para la generación de rutas, este método sirve para calcular rutas automáticamente en entornos desordenados. En todos estos casos el ocial responsable de la navegacion del barco está incluido solo de forma condicional. De allí que, la realización práctica de estos métodos aun no son ampliamente acep- Cayetano Cáceres, PUCP 1.5. Estado del Arte 10 / 152 tados. Debido al estado actual de la tecnología computacional, otros métodos de planeamiento de ruta obtienen cada vez más importancia, como el desarrollado por Benedict et al. (2010), donde se presenta un software que es capaz de simular y ser usado como una herramienta de predicción para visualizar la ruta obteni- da inmediatamente. Con este tipo de algoritmos y software es posible predecir maniobras, estos métodos usan conocimiento experto de ociales de navegación, pero de una manera que se requiere alto consumo de tiempo. Figura 1.5: Diagrama esquemático del planeamiento de maniobra y sistema de guiado, (Kurowski et al., 2013) Como hace referencia Breivik (2003), la factibilidad de realizar un ruta por parte de la embarcación es denida por propiedades particulares de cada bar- co, su mínimo radio de giro y su respuesta dinámica. Según Breivik, no tiene que ver la forma de la ruta con el proceso de diseño de control, por lo cual él de- ne el objetivo de control como el problema de maniobra que se divide en dos: Tarea geométrica: fuerza y torque necesaria para que el barco converja y siga la ruta deseada. Tarea dinámica: hacer que el barco se mueva a la velocidad deseada, o dado como un perl de velocidad a lo largo de la ruta, o ingresada por el piloto de la Cayetano Cáceres, PUCP 1.5. Estado del Arte 11 / 152 embarcación. Esta separación de tareas se hace referencia en Breivik (2003), Alessandretti et al. (2013), y nos hace ver claramente cuáles son los objetivos de control. Ade- más, se observa claramente que hay una diferencia que existe entre seguimiento de ruta y seguimiento de trayectoria. Problema seguimiento de trayectoria.- Tiene como entrada la trayectoria deseada en función del tiempo. pd(t) y el objetivo es calcular la ley de control de tal manera que ‖p(t)− pd(t)‖ = 0, grácamente se puede observar la Figura 1.6. Figura 1.6: Problema de seguimiento de trayectoria, (Alessandretti et al., 2013) Problema seguimiento de ruta.- Tiene como entrada una ruta deseada parametrizada pd(θ), parámetro de velocidad θ y el objetivo es calcular la ley de control de tal manera que ‖p(t) − pd(θ(t))‖ = 0 y ‖θ̇(t) − θ̇d‖ = 0, grácamente se puede observar la Figura 1.7. Figura 1.7: Problema de seguimiento de ruta,(Alessandretti et al., 2013) Debido a que los problemas de maniobra signican controlar 3DOF, que es ambas posiciones y el ángulo de guiñada, para lograr esto se requieren actuadores que sean capaces de brindar fuerza y torque de tal manera que se pueda cumplir con los objetivos deseados. En Skjetne (2003), se explica el uso de las coordenadas de Serret-Frenet en estas aplicaciones, ver Figura 1.8, donde se observar que se pueden caracterizar dos tipos de error, uno perpendicular y otro tangencial a la trayectoria, además hacen referencia que el timón puede encargarse de compen- sar el error perpendicular mientras que el error de velocidad deseada puede ser compensando por las hélices o propulsores. Fossen (2011), Skjetne et al. (2001) y Triantafyllou and Hover (2003), se ha- ce referencia que uno de los modelos más conocidos y aplicados para realizar el Cayetano Cáceres, PUCP 1.5. Estado del Arte 12 / 152 Figura 1.8: Barco con marco inercial y ruta deseada (Línea azul), los respectivos ejes de Serret-Frenet,(Skjetne, 2003) control de embarcaciones (autopilotaje), son los modelos de Nomoto. En Fossen (2011) y Triantafyllou and Hover (2002), se hace referencia a los modelos de embarcaciones de forma general, y se puede ver que los modelos dependen de una ecuación cinemática y dinámica, las cuales son derivadas del análisis de la dinámica de cuerpo rígido y de las fuerzas hidrodinámicas. Los modelos de alta velocidad presentan algunos problemas como por ejemplo: • La matriz de inercia del sistema no es simétrica. • No se ha especicado como modelar las fuerzas que se generan por navegar cerca de obstáculos o aguas poco profundas. • La distribución de actuadores, es particular para cada embarcación. De ahí que, para realizar el control se asigna un nuevo caso a cada barco. Además de estos problemas, se debe considerar que las ecuaciones cinemáticas y dinámicas son muy complicadas y además derivan en un análisis matemático muy difícil. Si la distribución entre actuadores se hace de tal manera que se gene- ran fuerza y torque de tal manera que se puede realizar el control de cada uno de los grados de libertad, se dice que es un barco totalmente actuado. Por otro lado, si existen fuerzas y momentos cercanos al punto de operación que no pueden ser realizados por el sistema actuador del barco, se dice que el barco es sub-actuado. Como se ve en Fossen (2011), Skjetne (2003) y Skjetne et al. (2001), para realizar el control se asume que la matriz de inercias es simétrica entre estribor Cayetano Cáceres, PUCP 1.5. Estado del Arte 13 / 152 y babor, con esto se logrará desacoplar la velocidad de avance del barco, con lo cual un control independiente se encarga de mantener la velocidad en la velocidad deseada. Esta es una de las bases de diseño en Skjetne (2003). Las consideraciones generales para el control de ruta de un barco, se presentan en Skjetne et al. (2001), donde se hace referencia que dado una ruta deseada realizable, los errores de tipo radial y en la orientación son descompuestas en el sistema coordenado Serret-Frenet. (Ver Figura 1.8). De acuerdo los objetivos de control son los siguientes: primero, que la velocidad deseada sea alcanzanda y controlada por el sistema de control desacoplado, en segundo lugar, que el timan sea usado de tal manera que se elimine el error radial que se presente respecto de la ruta deseada. Como resultado se obtiene que la embarcación se mueva sobre la ruta deseada. En Skjetne et al. (2001), se plantea un esquema de control general donde se muestran los sistemas necesarios para el control de embarcaciones, se puede diferenciar los sistemas de guiado, control y navegación (Ver Figura 1.9 ). Además, se tiene un módulo de entradas externas, que podría ser reemplazado por un sistema de planeamiento de movimiento. Figura 1.9: Sistemas que interactúan para el control de embarcaciones, (Skjetne, 2003). Líneas arriba se dijo que los sistemas pueden ser tratados como totalmente actuados, así como sub-actuados, en Zhang et al. (2015) se explica con mayor detalle lo referido a sub-actuados, que es lo que se aplicará en esta tesis. Además de esto se desarrolla la idea de Barco virtual, que se muestra en la Figura 1.10, y a partir de esta se desarrolla una ley de orientación original, partiendo de que la referencia de ruta generada son puntos de camino dados, además se observa Cayetano Cáceres, PUCP 1.5. Estado del Arte 14 / 152 que el diseño del control adaptivo es independiente de la planta. Figura 1.10: Esquema de barco virtual, (Zhang et al., 2015). En Lekkas et al. (2014b), se muestra como minimizar los errores en los ejes radiales y tangenciales respecto a una ruta deseada, considerando que la embar- cación es sub-actuada. Esto a través del desarrollo del sistema de guiado, para esto usan la técnica línea de visión (LOS), que se usa para minimizar el error per- pendicular a la ruta. En Lekkas et al. (2014a), se muestra la generación de ruta usando los polinomios, teniendo como entrada puntos de camino, obtenidos por el planeamiento de movimiento, luego muestran el sistema de guiado que usa la ley de guiado LOS, se puede ver que esta técnica trae como resultado una maniobra de comportamiento más exible que contribuye a que se alcance la ruta deseada de forma más rápida y segura. En Bibuli et al. (2014), se presentan resultados experimentales y además se presentan la modicación del método LOS para cal- cular la ley del sistema de guiado, la modicación viene dada por la integral que se agrega, siendo esta para compensar cualquier perturbación o corriente no deseada. Para la generación de ruta paramétricas, si bien se muestran diferentes técni- cas y herramientas, lo que se debe garantizar al momento de generar las ecuaciones de ruta paramétricas es que tenga suavidad en los puntos de camino, por ello ge- neralmente se busca que las ecuaciones de ruta tenga segunda derivada continua, en Lekkas et al. (2013) se muestra la generación de ruta paramétrica haciendo uso de la espiral de Fermat, se aprovecha de esta técnica por sus características parte con una curvatura igual a cero y va creciendo gradualmente a medida que va avanzando, esta es una propiedad muy provechosa si lo que se requiere es conectar con un línea recta sin generar discontinuidades. Candeloro et al. (2013), presenta la metodología para la generación de rutas a partir de un mapa, usando líneas rectas y curvas denidas por la espiral de Fermat, el planeamiento de movimiento Cayetano Cáceres, PUCP 1.6. Solución propuesta 15 / 152 se da mediante el diagrama de Voronoi. 1.6. Solución propuesta 1.6.1. Breve descripción de la solución propuesta La solución para el problema de generación y seguimiento de trayectoria, par- tirá de realizar el planeamiento de movimiento, tomando como punto de partida un mapa, este se pasará a una simplicación poligonal, luego se aplicará la técni- ca de Diagrama de Voronoi para obtener como resultado los posibles puntos que denirán la trayectoria. Luego para obtener la trayectoria más corta se aplicará el algoritmo de Dijkstra, que es siempre capaz de dar proporcionar la mejor solución en un tiempo razonable y ademas no se requiere una conguración especial para aplicarlo, seguidamente se realizará un ltrado de los puntos que hacen que el curso cambie indebidamente. Finalmente con los puntos obtenidos se realizará la generación de ecuaciones paramétricas de ruta a seguir. Con la ruta denida se realiza el seguimiento de la misma aplicando el sistema de guiado línea de visión (LOS) ó de marco de referencia móvil se deniría el tema de ángulo de guiñada deseado para poder alcanzar la ruta de referencia. Para lograr seguir la ruta deseada se implementará un controlador no lineal avanzado de tal manera que se pueda seguir la ruta a la velocidad deseada. 1.6.2. Contribución de la tesis La enfoque principal de esta tesis esta en el planeamiento y seguimiento de rutas en espacios connados como archipiélagos, canales, ríos y zonas cercanas a puertos. Una contribución importante será es el uso de un modelo y controlador no lineal para lograr el seguimiento de ruta deseada por la interpolación polinómica de Hermite y la espiral de Fermat, su comparación y su comportamiento. Otras contribuciones vienen dadas por: • Uso de técnica de planeamiento de movimiento usada en la robótica, en aplicaciones marítimas. • Revisión de técnicas de planeamiento de ruta y temas de continuidad de curvas paramétricas. Cayetano Cáceres, PUCP 1.6. Solución propuesta 16 / 152 • Desarrollo y explicación de los algoritmos de generación de rutas, sistema de guiado y control no lineal. • Simulación y resultados de la evaluación de las rutas propuestas y compa- ración del performance que se consigue con cada método. Cayetano Cáceres, PUCP Capítulo 2 Modelo Matemático 2.1. Introducción A continuación se presenta el procedimiento para obtener el modelo matemá- tico, el cual nos servirá para determinar, simular el comportamiento dinámico del barco, y también para realizar el diseño del controlador. El modelamiento matemático es importante para el diseño de control debido a que los controladores son implementados en software. El diseño del controlador es posible a través de aproximaciones una vez que el modelo matemático está disponible. Para aplicaciones marinas es obtener la fuerza y torque necesario, que se traduce en velocidad de hélices y diferencia de velocidades, para que el barco tenga el comportamiento deseado. El comporta- miento deseado se puede reejar a través de posición, velocidad o aceleración deseada ó la combinación de estos. Prueba de simulación de controladores, para su realización también se hace uso de modelos matemáticos. La simulación permite darle al controlador las entradas para realizar el cálculo de ley de control, de forma segura, sin consumo de tiempo, sin costo ni peligro innecesario. Otra de las ventajas es la reproductibilidad que se puede alcanzar. El modelo es siempre una simplicación, es prácticamente imposible e inne- cesario describir cada fuerza o fenómeno que interactúa con la planta que se está analizando. Además, se conoce que algunas leyes o ecuaciones físicas pueden ser simplicadas, lo único que se requiere es representar el comportamiento, por ello muchas veces los comportamientos son determinados solamente a través de datos experimentales a partir de lo cual se aprovecha sus particularidades para poder traducirlos en formas matemáticas conocidas. La precisión necesaria del modelo depende naturalmente del uso que se le va a dar. Para realizar el diseño de los controladores es solamente necesario incluir las 18 2.2. Dinámica 19 / 152 principales propiedades físicas, Sorensen 2012 (22), caso diferente se da cuando la necesidad es realizar una simulación del comportamiento de la planta, en ese caso si se requiere la mayor precisión y delidad posible para poder conocer el comportamiento del modelo. Teniendo en cuenta que, nuestro objetivo es generar una ruta segura y hacer que se siga con escaso margen de error en aplicaciones de espacios connados, es necesario realizar un correcto diseño de controlador y poder simular de tal manera que se pueda mostrar el comportamiento más real posible a n de evitarnos riesgos innecesarios al hacer pruebas reales. Cuando se habla de modelos matemáticos de embarcaciones marinas, se tie- nen que considerar la aplicaciones a las que va a ser sometido el modelo, hay aplicaciones como Dynamic Position que ameritan tener solo modelos para baja velocidad,Fossen (2011) y Fossen et al. (2003) , mientras otras como en embar- caciones de alta velocidad donde sí debería considerarse todas las ecuaciones dinámicas y tener un modelo completo. Para nuestro caso se ha considerado tener el modelo de 3 grados de libertad considerando todos los parámetros dinámicos y cinemáticos, a partir del cual se realizarán acorde a pruebas la deducción de las aproximaciones necesarias a n de no restringir algún comportamiento dinámico importante. 2.2. Dinámica Para estudiar la dinámica dividimos dicha tarea en dos partes, según (Fossen, 2011) • Cinemática, que trata solamente aspectos geométricos y de movimiento. • Cinética, que analiza las fuerzas que causan el movimiento. En esta sección se resume la cinemática y cinética necesaria para determinar un modelo matemático según la referencia vista en Fossen (2011, Cap. 2 y Cap. 3). 2.2.1. Sistemas de referencia: Para denir el movimiento de una embarcación marina, es necesario denir seis coordenadas independientes que denan la posición y orientación, las tres primeras corresponder a su posición y traslación a lo largo de los ejes x, y y z, mientras que los tres últimos corresponden a su orientación y rotación, para el caso de embarcaciones marinas se ha desarrollada un estandar que se presenta en la tabla 2.1. Cayetano Cáceres, PUCP 2.2. Dinámica 20 / 152 EIC: es un sistema de referencia inercial, generalmente se usa para navega- ción terrestre, en las cuales las leyes de Newton se pueden considerar y trabajar. El origen de este sistema está en el centro de la tierra y por lo general lo usan los sistemas de navegación inercial. ECEF: Tiene origen en el centro de la tierra, pero los ejes rotan relativamente al sistema inercial. La velocidad de rotación es ωe = 7.2921105 rad . Para sistemas s con baja velocidad relativa se puede considera r como inercial, este sistema se muestra en la Figura 2.1. Figura 2.1: Diferentes sistemas inerciales,(Fossen, 2011) NED: Es un sistema denido en base a la referencia de elipsoide terrestre. Se encuentra relacionado con el sistema ECEF mediante la longitud y latitud y tambien se muestra en la Figura 2.1. BODY: Es un marco referencial móvil que está jado a la embarcación. La posición y orientación de la embarcación son descritas relativamente respecto del marco de referencia inercial. El origen OB es elegido usualmente con el punto medio de las embarcaciones en la línea del agua, esta se puede referencial con el punto CO, ver Figura 2.2. Donde: • CG - Centro de gravedad. • CB - Centro de otabilidad. • CF - Centro de otation (localizada a una distacion LCF desde el CO en la dirección X). Cayetano Cáceres, PUCP 2.2. Dinámica 21 / 152 Figura 2.2: Punto de referencia jados al cuerpo Como la gran mayoría de cuerpos dinámicos, se consideran seis grados de li- bertad los cuales serán 3 de posición y 3 de rotación, estos denen 6 movimientos en el barco los cuales se pueden ver en la Tabla 2.1. Tabla 2.1: Tabla que contiene los estados de un vehículo marino (η y υ) y sus descripciones,(Moe, 2013). Vector Vector Var Nombre Denición x Surge Posición en la dirección X en NED ( ) P n b/n y Sway Posición en la dirección Y en NED n z Heave Posición en la dirección Z en NED η ηb/n φ Roll Rotación en la dirección Y en NED Θnb θ Pitch Rotación en la dirección Y en NED ψ Yaw Rotación en la dirección Z en NED u Vel.surge Velocidad en la dirección x en BODY ( ) υbb/n v Vel. sway Velocidad en la dirección y en BODY n w Vel. heave Velocidad en la dirección z en BODY ν νb/n p Vel. roll Velocidad angular sobre el eje-x en BODY ωbb/n q Vel. pitch Velocidad angular sobre el eje-y en BODY r Vel. yaw Velocidad angular sobre el eje-z en BODY Para nuestro caso consideramos 3 grados de libertad o 3 movimientos que serán surge, sway y yaw, en base a esto realizaremos el modelo matemático. 2.2.2. Dinámica del centro de gravedad Para lograr tener la dinámica del barco realizamos la dinámica del centro de gravedad para luego realizar un traslado y tener la dinámica de cualquier punto dentro del mismo. Tomando como vectores unitarios del sistema coordenado NED Î , Ĵ , K̂ y del sistema coordenado BODY î, ĵ, k̂, se tiene que: Cayetano Cáceres, PUCP 2.2. Dinámica 22 / 152 { [ ] [ ][ ] î = cos (ψ) Î + sin (ψ) Ĵ î cos (ψ) sin (ψ) Î → = (2.1) ĵ = −sin (ψ) Î + cos (ψ) Ĵ ĵ − sin (ψ) cos (ψ) Ĵ [ ] [ ][ ] Î cos (ψ) −sin (ψ) î → = (2.2) Ĵ sin (ψ) cos (ψ) ĵ Luego simpleme{nte calculamos la razón de cambio de los vectores: d î = − sin (ψ) ψ̇Î + cos (ψ) ψ̇Ĵ = ĵψ̇ d t (2.3) d ĵ = − cos (ψ) ψ̇Î − sin (ψ) ψ̇Ĵ = −îψ̇ d t Aplicamos las leyes de Newton para un sistema de referencia inercial: Primera condición de equilibri∑o dinámico: →− F = m→−a (2.4) Segunda condición de equilibrio∑dinámico: →−τ = I→−α (2.5) Para la primera condición ecuación (2.4) , es la sumatoria de fuerzas aplicadas sobre el cuerpo en el centro de gravedad sobre el cuerpo,m es la masa del cuerpo y →−a es la aceleración lineal del centro de gravedad del cuerpo; para la ecuación (2.5) es la sumatoria de torques aplicados en el centro de gravedad del cuerpo, I es la matriz de inercias del cuerpo respecto al centro de gravedad y→−α es la aceleración angular del cuerpo. Se considera que I y m no varían ya que estamos trabajando con un cuerpo rígido. Para el caso de tres dimensiones que se está planteando, las condiciones de equilibrio dinámico que[dar]ían expresadas por: ⇀ ⇀ N̈ F = ma = m ︸︷Ë︷︸ = mp̈g (2.6) p̈g τG = IGα = IGψ̈ (2.7) ⇀ Donde F es un vector libre de la suma de fuerzas, p̈G es el vector de aceleración del centro de gravedad respecto al sistema inercial, τG es la suma de torques sobre el centro de gravedad (considerando que se encuentra paralela al eje z), IG la inercia respecto al centro de gravedad y ψ̈ la aceleración angular del cuerpo. Tomando el vector de posición del centro de gravedad en el sistema inercial: Cayetano Cáceres, PUCP 2.2. Dinámica 23 / 152 pg = NÎ + EĴ (2.8) Derivando respecto del tiempo: ṗg = Ṅ Î + ĖĴ (2.9) La velocidad puede ser descompuesta en cualquier sistema coordenado ya que es un vector libre. Escogiendo el sistema BODY. ṗg = Ṅ Î + ĖĴ = pgx î+ pgy ĵ (2.10) Llamando pgx = ug, pgy = vg, se tiene: ṗg = Ṅ Î + ĖĴ = pgx î+ pgy ĵ = ug î+ vg ĵ (2.11) Derivando respecto al tiempo: d ĵ d ĵ p̈g = u̇g î+ ug + v̇g ĵ + vg = u̇g î+ ug ĵψ + v̇g ĵ + vg(−îψ̇) (2.12) d t d t Llamando a ψ̇ = r: p̈g = (u̇g − vgr)̂i+ (v̇g + ugr)ĵ (2.13) De donde las ecuaciones de equilibrio dinámico quedarían como: ⇀ F = mp̈g = m(u̇g − vgr)̂i+m(v̇g + ugr)ĵ (2.14) τG = IGṙ (2.15) ⇀ Proyectando el vector de fuerza F en en los ejes x e y, las ecuaciones quedarían: FG = m(u̇g − vgr)̂iX FG = m(v̇g + ugr)ĵ (2.16) Y τG = IGṙ Luego de tener este resultado y a n de tener el control en el punto CO (Ver Figura 2.3), prácticamente se realizará un traslado de puntos el cual estará afectado por todas las derivadas y demás, esto se desarrollará en la siguiente sección a considerar. Cayetano Cáceres, PUCP 2.2. Dinámica 24 / 152 Figura 2.3: Denición de origen de coordenadas de centro y gravedad, (Fossen, 2011). 2.2.3. Dinámica del punto CO La posición del centro de gravedad puede ser expresada en función a la posición del centro CO con respecto al sistema inercial: pg = po = xg î (2.17) Donde xg es la distancia medida desde el centro CO hacia el centro de gravedad y pO es un vector libre de posición del centro O con valor po = xg Î + ygĴ (x e y no son los mismos referidos a los ejes coordenados). Derivando respecto al tiempo: d î ṗg = ṗo + ẋg Î + ẋgĴ + xg = ṗo + xgĴ ψ̇ (2.18) d t Considerando, ẋg = 0 ya que el barco es un cuerpo rígido y sin variaciones en sus distancias internas. Se puede descomponer la velocidad del centro O (pO ) en el sistema BODY, teniéndose ṗ0 = u0̂i + v0ĵ usando la explicación análoga a la descomposición de la velocidad del centro de gravedad. ṗg = u0̂i+ v0ĵ + xg ĵr (2.19) Derivando respecto al tiempo: d î d ĵ d ĵ p̈g = u̇0̂i+ v̇0ĵ + u0 + v0 + xg r + xg ĵṙ (2.20) d t d t d t Cayetano Cáceres, PUCP 2.2. Dinámica 25 / 152 p̈ 2 g = (u̇0 − v0r − xgr )̂i+ (v̇0 + u0r + xgṙ)ĵ (2.21) Reemplazando p̈g en las ecuaciones de equilibrio dinámico: ⇀ F = mp̈g = m(u̇0 − v0r − x r2g )̂i+m(v̇0 + u0r + xgṙ)ĵ (2.22) τG = IGṙ Descomponiendo el vector de fuerza en sus proyecciones en los ejes x e y, las ecuaciones quedarían como: FG = m(u̇0 − v0r − x r2) X g FG = m(v̇0 + u0r + xgṙ) (2.23) Y τG = IGṙ Dado que se trabajará directamente sobre el centro O, se quiere tener las fuerzas y el torque referidos al mismo. Trasladando las fuerzas al centro O: FO = FG , ya que la fuerza lineal no cambia según sea el punto de aplicación. X X FO = FG , de la misma forma que el punto anterior. τO = τG + τF , ya que Y Y OY el torque τG se traslada sin modicaciones, la fuerza FO = FG no genera X X torque ya que pasa por el centro O y la fuerza FO = FG genera un torque Y Y τF = xgFG = xgFO al ser trasladada al punto O. OY Y Y Expresando las fuerzas y torque respecto al centro O, de la ecuación (2.22) : τG + τF = IGṙ + (xgFOy )→ τO = IGṙ + xgm(v̇o + uor + xgṙ)OY (2.24) = (IG + x2gm)ṙ + xgm(v̇o + uor) Por el teorema de Steiner, la inercia respecto al centro O sería la inercia respecto al centro de gravedad sumada con la masa del cuerpo por el cuadrado de la distancia entre el centro O y el centro de gravedad, esto es IO = I 2 G +xg m. Entonces: τO = IOṙ + xgm(v̇o + uor) (2.25) Renombrando a las variables, FG = Fu, FG = F X Y v, uO = u, vO = v, se tiene:  Fu = m(u̇+ vr + x 2 gr )  Fv = m(v̇ + ur + xgṙ) τo = Ioṙ + xgm(v̇ + ur) (2.26) Como las ecuaciones están referidas a la velocidad del barco en el sistema Cayetano Cáceres, PUCP 2.2. Dinámica 26 / 152 BODY, se deben calcular las velocidades en el sistema NED para que puedan ser usadas para el cálculo posterior de posiciones (mediante las ecuaciones di- ferenciales obtenidas), para eso hacemos uso de la ecuación (2.2), la cual nos permitirá expresar un vector del sistema BODY hacia el sistema NED. Utilizan- do pO = xÎ + yĴ → ṗO =[ ẋ]Î + ẏ[Ĵ se tiene: ][ ] ẋ cos (ψ) − sin (ψ) u = (2.27) ẏ sin (ψ) cos (ψ) v Añadiendo la igualdad de velocidad rotacional entre el sistema BODY y el sistema NED, ψ̇ = r, se tiene:ẋ     cos (ψ) − sin (ψ) 0u ẏ = sin (ψ) cos (ψ) 0v (2.28) ψ̇ ︸ 0 ︷︷ 0 1 ︸ r J(ψ) Donde J(ψ) vendría a ser la matriz de rotación para pasar del sistema BODY al sistema NED. 2.2.4. Representación del modelo en forma matricial A efectos de realizar los cálculos respectivos así como las simulaciones se hace de suma importancia lograr poner las ecuaciones de forma matricial, por lo cual a continuación se reordenará y dará la forma de tal manera que se logré tener la forma matricial del modelo. Del sistema: Partiendo de la ecuación (2.26) se reordenarán las ecuaciones para realizar un agrupamiento. Posteriormente se agruparán aceleraciones y velocidades como sigue: Fu        mu̇   −mvr −mxgrr  Fv = mv̇ + xgmṙ + mur  (2.29) τo Ioṙ + xgmv̇ mvu+ xgmru−muv Reordenando las velocidades y aceleraciones para formar matrices: Cayetano Cáceres, PUCP 2.2. Dinámica 27 / 152       X Fu m 0 0 Y = Fv = 0 m xgmu̇v̇+ ︸ ︷ N︷ ︸ ︸ ︷τ︷o ︸ ︸ 0 xg︷m︷ IO ︸ ︸︷ṙ︷︸ FR FR M B B R ν̇B     0 0 −mv −mxgru 0 0 mu v (2.30) ︸mv +mxgr −m︷︷u 0 ︸ ︸︷r︷︸ CRB(ν) ν A partir de la ecuación (2.30) se obtiene el modelo: FRB = τ = MRB ν̇ + CRB(ν)ν (2.31) Se considera que el subíndice RB (Rigid Body) denota las ecuaciones que se obtuvieron considerando al barco como un cuerpo rígido y que no se inclu- yeron componentes de otra naturaleza, tales como parámetros inducidos por la interacción con el mar y otros, todos se verán en la siguiente sección. Estas matrices tienen interesantes propiedades para el diseño de control. • M T RB es simétrica, MRB = MRB, • MRB es también positivia denida, cuando su determinante es det(MRB) = m2(I −m(x2 + y2o o)), es positiva. • CRB es simétrica CRB = −CT RB. El modelo basado en la ecuacion (2.31) va ser usado en esta tesis. 2.2.5. Fuerzas actuantes sobre la embarcación marina En esta sección se trabajará la explicación de las fuerzas actuantes sobre el barco representadas por el lado derecho luego de reordenar la ecuación (2.31): MRB ν̇ + CRB(ν)ν = FRB = τ (2.32) Las fuerzas de empuje son el principal medio para llevar el barco al comporta- miento deseado, mientras la principal fuerza disipadora es la fuerza amortiguadora hidrodinámica, también se presentará las fuerzas hidrostáticas, así como fuerzas que se ejercen por fenómenos ambientales, y otras fuerzas más que se puedan sumar. τ = τpropuls + τhidrodin + τhidrost + τambiente + τotros (2.33) Cayetano Cáceres, PUCP 2.2. Dinámica 28 / 152 2.2.5.1. Fuerzas de empuje por parte de los actuadores Las fuerzas de empuje, son las fuerzas de propulsión y direccionamiento com- binado, es la forma principal de poder controlar una embarcación marina, es parte fundamental al momento de hacer el diseño del sistema de control. La controlabilidad del barco depende claramente de la conguración de actua- dores. Existen diferencias claras entre los barcos totalmente actuados y subactua- dos, las diferencias se dan en la conguración de actuadores. Existen diferentes tipos de conguración entre las cuales podemos destacar: 2.2.5.2. Helice con timon para direccionamiento Es la conguración más simple y común que se puede encontrar, para un ejemplo se puede ver la Figura 2.4: Figura 2.4: Hélice con timón para direccionamiento, (Dahl, 2013) 2.2.5.3. Propulsor azimutal Esta constituido por una hélice, que se puede orientar girando sobre un eje vertical y generar impulso en cualquier dirección perpendicular al eje. Este gi- ro puede ser hasta de 360◦, lo que mejora la maniobrabilidad haciendo incluso innecesario el timón, ver la Figura 2.5. 2.2.5.4. Otras conguraciones Adicional a estas dos presentadas, existen otras conguraciones como las im- pulsadas por agua, hélices aéreas, dos propulsores con tunel de propulsión, ver Figura 2.6 y modernas versiones de veleros aéreos como se muestra en la Figu- ra 2.7. Cayetano Cáceres, PUCP 2.2. Dinámica 29 / 152 Figura 2.5: Conguración de propulsor azimutal, (Dahl, 2013) (a) Dos propulsores y tunel (b) Hélices tipo Voith-Schneider Figura 2.6: Otras conguraciones de propulsores (Dahl, 2013) Figura 2.7: Propulsor moderno usando paracaádas, (Dahl, 2013) Cayetano Cáceres, PUCP 2.2. Dinámica 30 / 152 2.2.6. Fuerzas hidrodinámicas Dentro de la navegación, muchos fenómenos hidrodinámicos afectan al barco, inclusive muchos de ellos aun no han podido ser explicados del todo. Considerando un modelo simplicado tenemos lo siguiente: τHidrodinamica = −(MAν̇r + CA(νr)νr)−D(νr)νr (2.34) Este modelo es lo sucientemente preciso para diferentes aplicaciones donde νr es la velocidad relativa del barco respecto de la corriente, generalmente se asume que la componente giratoria no presenta velocidad en la corriente. 2.2.6.1. Desplazamiento de masa de agua El movimiento del barco sobre un uido, causa el movimiento del mismo. Como se indica en Fossen (2011). El uido debe moverse al lado y luego cerca al barco. La energía cinética es aquella agregada al uido. La correspondiente energía debe ser disipada desde el barco. Para representar este fenómeno, Fossen hace uso del concepto de masa agre- gada y se representa a través de esta matriz.   −Xu̇ 0 0 MA = 0 −  Yv̇ −Yṙ (2.35) 0 −Nv̇ −Nṙ Para representar el mismo fenómeno, pero correspondiente a la matriz de masa agregada por fuerzas de Coriolis y centrifugas.   0 0 Yv̇vr + Yṙr CA(νr) =  0 0 −Xu̇ur  (2.36) −(Yv̇vr + Yṙr) Xu̇ur 0 Los coecientes de estas matrices representan las derivadas parciales efectos hidrodinámicas respecto a las aceleraciones respectivas. Se debe tener en cuenta que las derivadas hidrodinámicas no se encuentran disponibles directamente, diferente de los componentes de masa del cuerpo rígi- do, que usan los parámetros físicos propios del barco. Para obtenerlos se hacen aproximaciones numéricas así como técnicas de identicación a n de tenerlos. 2.2.6.2. Amortiguación La energía es disipada del barco de muchas formas diferentes a la vista en la sección anterior. Fossen (2011), hace una lista de potencial de amortiguación, Cayetano Cáceres, PUCP 2.2. Dinámica 31 / 152 fricción, fuerza de amortiguamiento por olas, debido al efecto vortex y fuerzas de elevación. Como resultado de todas estas fuerzas se obtiene un matriz de amortiguamiento D(νr). Tomando como referencia a Fedyaevsky and Sobolev (1964) y Norrbin , pro- ponen el uso de modelos de segundo orden: D(νr) = Dl +Dq(νr) (2.37) Donde:   −Xu 0 0  Dl = 0 −Yv −Yr (2.38) 0 −Nv −Nr La ecuación (2.38) representa el modelo lineal de amortiguamiento.   −X|u|u |ur| 0 0  Dq(ν_r) =  0 −Y|v|v |vr| − Y|r|v |r| −Y|v|r |vr| − Y|r|r |r|  (2.39) 0 −N|v|v |vr| −N|r|v |r| −N|v|r |vr| −N|r|r |r| La ecuación (2.38), representa el amortiguamiento cuadrático. Todos los coe- cientes presentados son derivadas hidrodinámicas. Como se dijo anteriormente estas no son obtenidas directamente. 2.2.7. Fuerzas hidrostáticas Las fuerzas hidrostáticas vienen dadas por el peso y el empuje (otabilidad) propio del cuerpo. Juntas estas fuerzas son llamadas las fuerzas de restauración según Fossen (2011). τHidrostatico = −(g(η) + gO) (2.40) Donde el primer término representa las fuerzas de restauración mientras el segundo término es una constante dada por la fuerza debido al lastre del equi- po. Para el modelo de barco con tres grados de libertad, ó planar, las fuerzas hidrostáticas pueden ser ignoradas ya que actúan en la dirección vertical. 2.2.8. Fuerzas del ambiente El ambiente actúa de muchas formas sobre el barco, por ejemplo a través de las olas, viento y corriente marina, etc. Incluir todas las fuerzas no es algo práctico, porque lo único que se haría es agregar más variables que quizás no tengan tanta Cayetano Cáceres, PUCP 2.3. Modelo de referencia 32 / 152 incidencia en la dinámica. Comúnmente se incluyen las fuerzas dadas por las olas, corriente marina y viento. τ ambiente = τ olas + τ corriente + τ viento (2.41) 2.2.9. Otras fuerzas Algunas fuerzas de control, no vienen dadas por los actuadores comunes como hélices o propulsores, sino más bien por algunos particulares como aletas, que sirven para aplicaciones particulares como estabilización del cabeceo para mejorar el confort y seguridad de un barco de pasajeros,Perez (2006). 2.3. Modelo de referencia Para realizar las simulaciones y diseño del controlador no lineal, se tomará como referencia los parámetros de un modelo que ha sido usado para diferentes simulaciones en los artículos cientícos revisados,Fossen et al. (2003), Moe (2013), Breivik et al. (2004),Skjetne (2005), Breivik (2003), además de ser un modelo va- lidado y basado en la teoría de modelamiento desarrollado en el presente capítulo. Este modelo es de un barco prototipo de pruebas y muy parecido a los usados para el tema de monitoreo de variables marinas, por tanto es una referencia ideal para poder desarrollar el planeamiento y control del mismo. El modelo de referen- cia será el CyberShip II (Figura 2.8), que es una réplica de 1:70 de un barco real. La longitud de este es de 1.25m de largo, tiene una conguración de actuadores de tal manera que resulta un barco totalmente actuado. Figura 2.8: Barco a escala CyberShip II,(Corneliussen, 2003) Cayetano Cáceres, PUCP 2.3. Modelo de referencia 33 / 152 Este barco ha sido extensivamente estudiado y usado en experimentos en la Universidad Noruega de Ciencia y Tecnológica. En esta sección se resumirá los parámetros del CyberShip II, modelo basado en las siguientes referencias, Linde- gaard (2003), Corneliussen (2003), Skjetne et al. (2004). Además se analizará el valor máximo de radio de curvatura que se puede alcanzar, que será una restric- ción y entrada para el sistema de generación de ruta. 2.3.1. Modelo de simulación El CyberShip II, es implementado como modelo de simulación de la siguiente forma: η̇ = R(ψ)ν (2.42) Mν̇ = τ −C(ν)ν −D(ν)ν (2.43) Donde las matricesM de masa, C(ν) de coreolis yD(ν) de amortiguamiento, serán presentadas con mayor detalle más adelante. La entrada para el sistema viene dada por el vector de fuerzas y torque τ . Se asume que el sistema de control es implementando de tal manera que el empuje τ , se consiga instantáneamente. Se debe considerar que ninguna fuerza ambiental o de alguna corriente de viento, es considerada en el modelo. 2.3.1.1. Parámetros Dinámicos La matriz de masa es:   m−Xu̇ 0 0  M = 0 m− Yv̇ mxg − Yṙ (2.44) 0 mxg −Nv̇ Iz −Nṙ Esto corresponde a: M = MRB +MA (2.45) Donde MRB es la matriz de inercia de cuerpo rigido y MA la matriz de masa agregada. La matriz de centrifuga−coriolis, viene dada por: Cayetano Cáceres, PUCP 2.3. Modelo de referencia 34 / 152   C(ν) =  0 0 c13 0 0 c23 (2.46) −c13 −c23 0 Donde: c13 = −(m− Yv̇)v − (mxg − Yṙ)r c23 = (m−Xu̇)u (2.47) Este corresponde a: C(ν) = CRB(ν) +CA(ν) (2.48) Donde análogamente a la matriz de masa, aparecen las matrices asociadas al cuerpo rígido y a la masa agregada. La matriz de amortiguamiento es:   d11 0 0  D(ν) = 0 d22 d23 (2.49) 0 d32 d33 Donde los elementos de la matriz vienen dados por: d 2 11 = −Xu −X|u|u |u| −Xuuuu d22 = −Yv − Y|v|v |v| − Y|r|v |r| d23 = −Yr − Y|v|r |v| − Y|r|r |r| (2.50) d32 = −Nv −N|v|v |v| −N|r|v |r| d33 = −Nr −N|v|r |v| −N|r|r |r| Esto corresponde a los términos de amortiguamiento, pero con un término extra de tercer orden en surge, agregado por Skjetne. Parámetros usados, algunos se obtienen directamente a través de las pro- piedades físicas como la masa, longitud, ancho, otros parámetros son estimados. Lindegaard (2003), obtiene una primera estimación para los parámetros de amor- tiguamiento para la aplicación de posición dinámica (DP), aunque todos estos son términos lineales. Este modelo considerando amortiguamiento lineal se pue- de utilizar para trabajos a baja velocidad, para casos de maniobra a mayores velocidades se requiere modelos más completos. A continuación se presentan los parámetros usados en el modelo de referencia obtenido por,Lindegaard (2003) Cayetano Cáceres, PUCP 2.3. Modelo de referencia 35 / 152 Parámetros directamente obtenidos: m = 23.8000 Iz = 1.7600 xg = 0.0460 Parámetros, primera estimación: Xu̇ = −2.0 Yv̇ = −10.0 Nv̇ = −0.0 Yṙ = −0.0 Nṙ = −1.0 Parámetros obtenidos por identicación: Xu = −0.72253 Yv = −0.88965 Nv = 0.03130 X|u|u = −1.32742 Y|v|v = −36.47287 N|v|v = 3.95645 Xuuu = −5.86643 Parámetros obtenidos por estimación adaptativa: Yr = −7.250 Nr = −1.900 Y|r|v = −0.805 N|r|v = 0.130 Y|v|r = −0.845 N|v|r = 0.080 Y|r|r = −3.450 N|r|r = 0.750 2.3.2. Radio de giro del barco Uno de los temas centrales cuando se hace planeamiento de trayectorias es el radio de giro. Los sistemas tienen un mínimo radio de giro que pueden alcanzar (La Valle, 2006), teniendo el mínimo radio de giro se puede obtener la máxima curvatura posible. 1 κmax = (2.51) R Donde: κmax: Curvatura máxima que puede describir la embarcación. R: Ra- dio de giro de barco. La restricción de curvatura es un tema central, cuando se diseña rutas me- diante técnicas que usan círculos como referencias al momento de hacer los giros. Se tiene como referencia que el CyberShip II alcanza un radio de giro mínimo de aproximadamente 2.5 m, por tanto tiene una curvatura máxima de 0.4m−1. 2.3.3. Pruebas con el modelo de referencia Para probar el modelo matemático realizaremos algunas pruebas de simu- lación, considerando entradas que nos den resultados lógicos, por ejemplo si le Cayetano Cáceres, PUCP 2.3. Modelo de referencia 36 / 152 damos solo fuerza en surge y torque en yaw sin fuerza en la dirección sway debería- mos conseguir, una trayectoria circular. Luego de realizar pruebas para obtener los torques aproximados que generen esta trayectoria circular los resultados se muestran en la Figura 2.10 y los torques se muestran en la Figura 2.9. Figura 2.9: Fuerza y torque aplicado, tau1=0.2N y tau3=0.01N.m Figura 2.10: Respuesta del sistema a entradas (Línea azul). Como era lógico al usar la fuerza y el torque mencionadas líneas arriba se ha conseguido una trayectoria circular, de tal manera que se puede, de alguna ma- nera, comprobar que el modelo esta correcto, ya que se ha obtenido un resultado lógico. Cayetano Cáceres, PUCP 2.4. Conclusiones preliminares 37 / 152 2.4. Conclusiones preliminares • Se obtuvo un modelo matemático de tres grados de libertad considerando la dinámica del cuerpo rígido y fuerzas que interactúan con el barco, don- de se puede observar que los parámetros mecánicos como longitud, masa, distancia al origen de referencia son determinantes para el comportamiento dinámico. • Se pudo ver que existen fuerzas que no se pueden considerar para el modela- do, así que sólo se consideran las que tienen mayor inuencia en la dinámica del sistema. • Al buscar implementar un barco autónomo a n de probar los algoritmos, se investigó y determinó que el CyberShip II, es el prototipo mas cercano al deseado, por lo cual se tomará sus parámetros dinámicos como referencia. Este prototipo es ampliamente usados en muchas investigaciones. • Se comprobó que el modelo de referencia elegido trabaja correctamente, al obtener un resultado lógico frente a entradas conocidas de fuerza τ1 = 0.2N y torque τ1 = 0.01N.m. • La curvatura máxima κmax = 0.4m−1 sera tomada en cuenta en la genera- ción de trayectoria, a n de que el barco no sea forzado a realizar trayectorias imposibles. Cayetano Cáceres, PUCP Capítulo 3 Desarrollo de un sistema de planeamiento y seguimiento de ruta de un barco de dos hélices en espacio connado 3.1. Introducción El propósito del presente capítulo consiste en realizar el diseño mediante simu- lación de un sistema de planeamiento, guía y seguimiento de trayectoria para una embarcación marina subactuada con dos hélices a partir del modelo matemático de barco de 3 grados de libertad, obtenido en el capítulo anterior. Este capítulo se divide en 3 partes, el planeamiento de trayectoria, estrategia de control y síntesis de planeamiento y seguimiento de trayectoria para embar- caciones marinas en espacios connados. En la primera parte se da a conocer la estrategia utilizada para realizar el planeamiento de trayectoria partiendo de un espacio determinado caracterizado por su geometría y obstáculos que se puedan presentar. Para esta tarea se hace uso del diagrama de Voronoi y con un algoritmo de ltrado se consigue las posibles trayectorias a seguir, luego con estos puntos y posibles trayectorias obtenidas aplicamos algoritmos de optimización de trayec- torias a n de obtener la más corta, aquí aplicamos el algoritmo de Dijkstra, a partir del cual se obtienen puntos que unen la trayectoria más corta. Finalmen- te aplicamos un algoritmo de tal manera que ltramos los puntos que no sean necesarios para evitar los cambios de dirección innecesarios, también considera- mos una tolerancia de tal manera que la embarcación pueda circular por lugares estrechos, con cierta holgura. En la segunda parte, se presenta la teoría de control backstepping, que fue 39 3.2. Planeamiento de trayectoria 40 / 152 desarrollada por Petar Kokotovic en los 1990, y es aplicada para sistemas di- námicos no lineales, se comenta sus ventajas respecto a la técnica de feedback linearization. Se muestra el desarrollo de la técnica aplicada al control de embar- caciones marinas, considerando la dinámica del barco. Se desarrolla el sistema de guía del barco para lograr el seguimiento de trayectoria, con las consideraciones especiales que implican controlar un sistema subactuado. En la tercera parte, se desarrolla la simulación de todo el sistema, partimos del espacio de navegación denido por el mapa que posteriormente simplicamos mediante puntos, luego aplicamos todo lo desarrollado en la parte de planeamien- to para nalmente obtener puntos o trayectorias de acuerdo a la técnica de guía que se requiera usar. Se presenta el modelo matemático usado para las simula- ciones, con los parámetros del modelo conocidos se desarrolla el controlador y se presentan las simulaciones respectivas. 3.2. Planeamiento de trayectoria Para realizar el control o guía de una embarcación es necesario tener co- mo entrada una descripción matemática del movimiento deseado. El movimiento deseado puede ser obtenido de diferentes maneras, puede ser calculado automáti- camente basado en tareas de alto nivel, o podrían ser descritas manualmente con mayores detalles. Estos, podrían ser líneas que deberían ser seguidas o puntos de interés que deben ser alcanzados a n de evitar obstáculos o tener la trayectoria más óptima posible. En esta sección se presentarán las herramientas matemáticas usadas a n de obtener el planeamiento de trayectoria deseado. 3.2.1. Terminología Como se describe en LaValle (2006), el planeamiento es inherentemente inter- disciplinario y comprende los campos de la robótica, ciencias computacionales, teoría de control y matemáticas entre otras. Para nuestra aplicación que viene a ser referida a control de embarcaciones, Fossen (2011) dene: La conguración del espacio n-dimensional es el espacio de posibles posiciones y orientaciones que una embarcación puede tener, sujeta posiblemente a restricciones externas. En consecuencia la conguración puede ser descrita: Cayetano Cáceres, PUCP 3.2. Planeamiento de trayectoria 41 / 152     N  E N n3DOF = E   D n6DOF =   (3.1) φ ψ  θ  ψ Donde: n3DOF : espacio de 3 dimensiones. n6DOF : espacio de 6 dimensiones. Esto se da cuando operamos en el plano horizontal, 3 grados de libertad ó cuando operamos en los 6 grados de libertad, Ecuación (3.1). La mayoría de las embarcaciones marinas son subactuadas y sus componentes de conguración, N , E, D, φ, θ y ψ no puede ser variados independientemente. La terminología ajustada para aplicaciones marinas es propuesta. La Figura 3.1 resume la terminología y relación entre pasos a seguir hasta obtener la trayectoria deseada. Figura 3.1: Pasos para la generación de trayectoria. Planeamiento de movimiento, Encuentra una secuencia de posiciones per- mitidas, de aquí se obtienen waypoints. En el caso de barcos subactuados, es nece- sario dejar algún grado de liberta libre debido a que no se pueden controlar todos los grados de libertad. Para una embarcación subactuada por ejemplo el angulo Cayetano Cáceres, PUCP 3.2. Planeamiento de trayectoria 42 / 152 de cabeceo ψ, no puede ser controlado en un eje jo y el objetivo de control es comúnmente limitado a la posición (N ,E). Generación de ruta, como resultado nos da una ruta. Esta ruta es un con- junto continuo de posiciones en el espacio geométrico. Generación de trayectoria, convierte la ruta a una función del tiempo. Según Fossen (2011), Una trayectoria describe el movimiento de un objeto mo- viéndose a través del espacio como una función del tiempo. La diferencia entre planeamiento y generación, es separada a propósito para enfatizar que ruta y trayectoria mayormente se consiguen implícitamente a partir de los resultados del planeamiento de movimiento y la aplicación de restricciones. La principal decisión elaborada es hecha en el planeamiento del mo- vimiento. 3.2.2. Planeamiento de movimiento Frecuentemente como salida del planeamiento de movimiento se obtienen pun- tos. Estos son usualmente puntos en el espacio físico. Estos puntos implícitamente describen líneas rectas que el barco debe seguir, por ejemplo hoja de ruta para dejar el puerto, en estos casos la embarcación no pasa necesariamente por los puntos obtenidos. En algunos casos no es necesario algoritmos ni uso de las ma- temáticas, esto se da cuando un operador humano dene los puntos de ruta a seguir, desde el inicio hasta el nal, considerando que no haya riesgo de colisión. Para lograr el planeamiento de movimiento a partir de datos de mapas, se debe realizar algunas simplicaciones a polígonos como sugiere LaValle (2006) y como se puede observar en la Figura 3.2. Depende del grado de simplicación del mapa, que la creación de obstáculos poligonales pueda perder mucha data. Figura 3.2: Izquierda mapa y a la derecha su simplicación poligonal. A continuación se presenta el método de mapeo usado en esta tesis para la obtención de los posibles puntos de ruta. Cayetano Cáceres, PUCP 3.2. Planeamiento de trayectoria 43 / 152 3.2.2.1. Diagrama de Voronoi El diagrama de Voronoi es llamado así debido a su creador el matemático Voronoi en 1908. Básicamente este método puede verse con la partición de una región determinada en base a unos conjuntos de puntos, su visualización en su forma simple se ve en la Figura 3.3, donde se ha aplicado para un número de puntos aleatorios. Figura 3.3: Diagrama de Voronoi para puntos aleatorios. El diagrama de Voronoi se basa en un conjunto nito de puntos contenidos en un espacio de trabajo que denimos, de tal manera que la distancia del diagrama hacia los puntos es la mínima, respecto de otro punto. d(x, p) = ı́nf {d(x, p)| p ∈ P} (3.2) La idea del diagrama de Voronoi es expandida hacia obstáculos poligonales: cada obstáculo tiene un subespacio perteneciente de todos los puntos que están más cerca de este obstáculo. Una conectividad gráca es creada, donde los ejes son los bordes de estos subespacios. Los vértices son la intercepción de dos o más bordes. Una ruta a través del gráco es elegida, como se puede ver en la Figura 3.4. 3.2.2.2. Algoritmo de Dijsktra Este algoritmo es muy conocido por sus diversas aplicaciones en el campo de la busca de la ruta más corta en los métodos grácos. Este algoritmo fue desarrollado en 1959. Este método asigna a cada nodo en la gráca un valor de distancia, inicialmente es seteada cada distancia a innito y el nodo de inicio es seteado a cero. El algoritmo considera todos los nodos excepto el inicial en una condición de no-vistado, y congura el nodo de inicio como el nodo actual. El algoritmo consiste en calcular la distancia tentativa, entre el nodo inicial y demás nodos no-visitados de la vecindad, y compararlo con el valor previo y actualizar Cayetano Cáceres, PUCP 3.2. Planeamiento de trayectoria 44 / 152 Figura 3.4: Diagrama de Voronoi aplicado. si el valor calculado es menor y el nodo que genere este valor menor debe ser tomado como el nuevo nodo actual. Esto se va desarrollando hasta que el nodo de destino (Punto nal) es visitado o no existe ninguna conexión entre los nodos visitados y no-visitados. En la Figura 3.5, vemos que tenemos un punto inicial a y un punto objetivo b, que esta unidos a través de lineas las cuales simbolizar el peso o distancia entre cada punto de ruta, el algoritmo de Dijsktra inicia una búsqueda de la menor ruta según el procedimiento descrito lineas arriba, al iniciar tiene 3 opciones las cuales se prueban y continúan hasta obtener la mejor ruta, en este caso vendría dada por los nodos 1-3-6-5. Figura 3.5: Algoritmo de Dijsktra. Una vez obtenidos los puntos, gracias al diagrama de Voronoi, se procede a utilizar el algoritmo de Dijsktra para poder obtener los puntos que hagan menor el recorrido desde un punto hacia otro evitando los obstáculos. Cayetano Cáceres, PUCP 3.2. Planeamiento de trayectoria 45 / 152 3.2.2.3. Obstáculos La representación de obstáculos en este trabajo será hecha por polígonos en dos dimensiones, siendo fácilmente extensible esto hacia obstáculos 3D. Natu- ralmente lo que se busca es evitar los obstáculos para llegar del punto inicial hacia el punto nal. Una de las ventajas de trabajar con polígonos es que son fáciles de incrementar en tamaño y se puede fácilmente asignar una distancia de tolerancia.(Ver Figura 3.6b) (a) Sin considerar tolerancia (b) Considerando tolerancia Figura 3.6: Representación de obstáculos grácamente y consideración de tole- rancia Al tener los obstáculos como guras geométricas se pueden aprovechar algunas funciones del software de simulación MATLAB. Para nuestro caso hemos usado las funciones polyxpoly, la cual comprueba si existen intersecciones entre polígonos y la función inpolygon , que determina que valores de los puntos están dentro y fuera o sobre un eje de una región poligonal. 3.2.2.4. Eliminación de puntos no necesarios Luego de tener la ruta con menor recorrido por la aplicación del diagrama Voronoi y el algoritmo de Dijsktra, a se procede a realizar la implementación de un algoritmo que consiste simplemente en remover los puntos que causan cambio de ruta innecesaria y que esta no implique la colisión, también se toma en cuenta un valor de tolerancia de distancia respecto a los obstáculos. En la Figura 3.7a, se muestra un entorno al cual se le aplicó el diagrama de Voronoi, teniendo como partida el punto verde y como llegada el punto rojo, a partir de este diagrama se aplicará el algoritmo de Dijsktra y se obtendrá la mejor ruta considerando los punto del dados por el diagrama de Voronoi, luego se aplicará el algoritmo de eliminación de puntos innecesarios, para obtener una mejor ruta y Cayetano Cáceres, PUCP 3.2. Planeamiento de trayectoria 46 / 152 evitar los cambios de orientación (ángulo del cabeceo) innecesarios, este algoritmo se implementa en MATLAB, ver Anexo B (a) Diagrama de Voronoi con obstácu- (b) Ruta inicial y ruta reducida libre de los obstáculos Figura 3.7: Eliminacion de puntos no necesarios Finalmente como resultado del planeamiento del movimiento tenemos un con- junto de puntos de ruta que nos garantizan una trayectoria libre de obstáculos y con el menor cambio orientación. 3.2.3. Generación de ruta Como resultado de la generación de ruta tendremos una ruta con consideracio- nes geométricas, estas consideraciones deben estar relacionadas con la dinámica del barco. La entrada para obtener la ruta es el conjunto de puntos obtenidos en el planeamiento de movimiento. Debido a la complejidad de la dinámica del barco, la ruta solamente respeta la dinámica del barco hasta cierto punto. Esto puede ser trasladado en conside- raciones geométricas y otros criterios de evaluación. Antes de seguir debemos denir de una forma precisa a que se reere con ruta. Una ruta es un conjunto que puede ser expresado de la siguiente manera: P , {p ∈ Rn|p = pp($)∀$ ∈ X} (3.3) Donde $ es la variable escalar de parametrización y pp($) es la posición de un punto correspondiente sobre la ruta. El intervalo X dene el dominio de pp($). Para naves de supercie, al menos 2 dimensiones (n=2) son necesarias. Cayetano Cáceres, PUCP 3.2. Planeamiento de trayectoria 47 / 152 [ ] Np($) p ($) = ∈ R2 p (3.4) Ep($) La notación dada es hecha en Skjetne et al. (2001), Skjetne (2005), Breivik (2003) y Fossen (2011). Otras notaciones son Pd(q) usdas en Breivik et al. (2004). Para muchas formas de curva, las ecuaciones paramétricas aproximadas pue- den ser derivadas, por ejemplo por la serie de Taylor, Fourier o por interpolación polinomial. Sin embargo, una curva simple no puede representar formas complejas sin alta complejidad, como si dice en Haugen and Breivik (2010). Haugen and Breivik (2010), propone construir un ruta a partir de una com- binación de sub-rutas. La ruta puede ser expresada. m P = U Pi (3.5) i=1 Donde las sub-rutas serán denidas: Pi , {pi ∈ Rn|pi = pp,i($)∀$ ∈ Xi} (3.6) Donde Pi, es la ecuación paramétrica para la curva correspondiente a la sub- ruta i. Un mínimo requerimiento es que las trayectorias subsecuentes sean conec- tadas. Es importante notar que si una ruta se paremetriza respecto a una variable w esta no necesita tener algún signicado físico. En general, estas no denotan la distancia a lo largo de la ruta ni el tiempo el cual se llega a un punto pp($). Antes de presentar algunos de los algoritmos de creación de trayectorias, es bueno revisar cuales son las consideraciones que se deben tener en cuenta al mo- mento de crear estas curvas. Estos criterios son explicados en Dahl (2013), entre los cuales tenemos los siguientes: • Suavidad de la ruta paramétrica: Descripción de la velocidad a la cual la curva es trazada. • Suavidad geométrica: Descripción del comportamiento geométrico de la ru- ta. • Longitud de la ruta: La longitud de la ruta a ser recorrida por el barco. • Tolerancia de ruta: Término conocido como la desviación respecto del desea- do. • Trazabilidad: el grado en el cual la ruta puede ser cambiada localmente. Cayetano Cáceres, PUCP 3.2. Planeamiento de trayectoria 48 / 152 • Complejidad del algoritmo: Consideraciones sobre los recursos necesarios para correr el algoritmo y su arquitectura lógica. 3.2.3.1. Generación de ruta usando polinomio cúbico de Hermite La construcción de rutas usando polinomios no es un tema reciente, y se han considerado para crear formas geométricas primitivas. Sin embargo, es también posible usar estos polinomios para describir rutas complejas mediante el uso de funciones, Lekkas et al. (2014a). El número de sub-rutas es reducido a n − 1, siendo n el número de puntos que denen la trayectoria. Figura 3.8: Curvas de generación de ruta entre puntos,(Lekkas, 2014). La función de una curva polinomial debe soportar una inexión. El polinomio de menor grado que cumple con estas condiciones es un polinomio cúbico, además la curva puede ser parametriza[da como sigue: ] aN$ 3 + bN$ 2 + cN$ + dN pcubica = (3.7) a 3 E$ + bE$ 2 + cE$ + dE Donde a, b, c y d son los coecientes del polinomio. El problema de diseño de sub-ruta se convierte en la obtención de estos coecientes. Los coecientes son determinados de tal manera que satisfacen las condiciones de nal de punto, y las condiciones de nales de derivadas (tangentes). Por tanto los coecientes del polinomiocubico de Hermite son:    aT T  i 2 −2 1 1 wpti b T i    −3 3 −2 −1 = cT 0 0 1 0    T wpt  i+1 (3.8) i tTi  dT T i 1 0 0 0 ti+1 En la Figura 3.9, se muestran los resultados obtenidos cuando se aplica la técnica de polinomio cúbico de hermite, las dos primeras curvas nos muestran las posiciones X y Y obtenidas a partir de los puntos dados, la tercera curva muestra el ángulo de curso, mientras la última gráca corresponde a la curvatura se observa ligeros saltos que nos dicen que la curva no es totalmente suave. Cayetano Cáceres, PUCP 3.2. Planeamiento de trayectoria 49 / 152 Figura 3.9: Propiedades geométricas de la ruta generada por polinomio cúbico de Hermite. 3.2.3.2. Generación de ruta usando Espiral de Fermat La espiral de Fermat presenta una curvatura suave que va desde cero hasta un valor deseado. Esta puede usarse para suavizar y reejar una curva, como una opción alternativa a otras como las polinomicas ó Clotoide, Dahl (2013). Para realizar la curva mediante el espiral de Fermat, se debe trazar 2 grácas donde una es el reejo de la otra. Para la primera mitad de la curva, se elige la siguiente parametrización: [ √ ] N0 + κ√$θfinal cos (ρ$θfinal + χ0) pFermat = (3.9) E0 + κ $θfinal sin (ρ$θfinal + χ0) Donde p0 = [N T 0, E0] , es el punto de inicio para la trayectoria, κ es una escala constante, θfinal corresponde al ángulo polar correspondiente al nal de la curva, ρ es la dirección de rotación y χ0 es el ángulo de curso inicial. La curva simétrica tiene la siguiente parametrización: [ √ ] Nfinal + κ√θfinal −$θfinal cos (ρ($θfinal − θfinal) + χ0) pFermat = (3.10) Efinal + κ θfinal −$θfinal sin (ρ($θfinal − θfinal) + χ0) Cayetano Cáceres, PUCP 3.3. Sistema de guiado 50 / 152 Donde P T final = [Nfinal, Efinal] , es el punto nal. Se debe tener en cuenta que la espiral de Fermat, nos sirve para unir las par- tes donde hay cambio de ruta y las demas deben ser unidas por lineas rectas. Tomando como base esta parametrización evaluamos los puntos dados y obtene- mos el resultado que se muestra en la Figura 3.10, de igual manera que en los resultados mostrados en la Sección 3.2.3.1. Las dos primeras curvas corresponden a la posición X-Y, donde se ve claramente la parte denida por lineas y curvas de Fermat, podemos ver que se presenta curvas mas suaves, respecto a la gráca de cambios de curso no tienen cambios abruptos, mientras la gráca de curvatura muestra claramente un mejor comportamiento respecto a la curvatura dada en la Sección 3.2.3.1. Figura 3.10: Espiral de Fermat y sus características geométricas. Aquí solo se han presentado dos métodos que se pueden usar para la generación de rutas, se debe tener en cuenta que existen más técnicas como los que usan rectas y círculos, spline, espirales de clothoid, funciones sigma, etc. 3.3. Sistema de guiado En esta sección se describe los dos métodos para el diseño de sistema de guiado de embarcaciones marinas, el sistema de guiado es denido por Shneydor (1998) como El proceso de guiado de la ruta de un objeto a través de un punto dado, que generalmente puede estar moviendose. De acuerdo a Fossen (2011), el sistema de guiado en su forma simple, en lazo abierto son usados para generar Cayetano Cáceres, PUCP 3.3. Sistema de guiado 51 / 152 trayectorias de referencia variantes en el tiempo ó, alternativamente, rutas para hacer seguimiento de rutas invariantes en el tiempo. El sistema de control de movimiento del barco trabajar de forma muy cercana con el sistema de guiado a n de que el móvil cumpla con lo deseado, la estructura se puede ver en la Figura 3.11. Figura 3.11: Sistema de guiado en lazo cerrado (Lineas punteadas) los estados se realimentan mientras en lazo abierto solo usan señales de sensores y referencias de entrada Fossen (2011) Para cualquier barco o submarino, el sistema de guiado y control usualmente constan de dos subsistemas: • Sistema de control de posición. • Sistema de conrol de seguimiento de ruta. De forma sencilla se puede decir que, el sistema control de posición es un au- topiloto de curso,donde los ángulos de roll y pitch son regulados a cero o dejados sin control. La principal función de sistema de control de curso es mantener al barco dentro de la ruta deseada sin importar aspectos dinámicos como veloci- dad o aceleración. Mientras que la tarea del sistema de control de seguimiento, es mantener a la embarcación sobre la ruta preestablecida a una determinada velocidad. Una ley de control es necesaria para seguir una ruta. De acuerdo a lo estu- diado en secciones anteriores, la ruta puede o no ser estrictamente geométrica o puede ser una trayectoria parametrizada por el tiempo. Equivalentemente la ley de control variará de acuerdo al objetivo. El seguimiento de ruta demanda solamente que el controlador asegure que la embarcación se mantenga sobre su ruta geométrica. No existen requerimientos sobre cuando el barco deba estar en una posición dada. Asimismo, la velocidad a lo largo de la ruta podría variar independientemente, por ejemplo el barco podría ser controlado a una velocidad a lo largo de la ruta surge acorde a las necesidades de maniobra. Cayetano Cáceres, PUCP 3.3. Sistema de guiado 52 / 152 A continuación se describirá dos métodos de guiado, el primero será basado en tres puntos de ruta a partir del algoritmo de linea de visión, teniendo en cuenta que para cambiar y avanzar al siguiente punto de ruta se utiliza el criterio de circulo de aceptación, el segundo será basado en la generación de ruta usando la técnica de lineas rectas unidas a través de la espiral de Fermat, la cual nos facilita la continuidad hasta la segunda derivada, para de esta manera poder tener rutas y señales de control mas suaves. 3.3.1. Linea de visión - Basado en 3 puntos Es la aproximación menos precisa para seguir una ruta implícita denida por un conjunto de puntos de ruta, el curso del barco es controlado a través de un punto en el tiempo. Se aplica un criterio de aceptación de tal forma que se pueda cambiar de referencia y avanzar hacia el siguiente punto de ruta, una representación gráca de este método se puede ver en la Figura 3.12. Figura 3.12: Representación de algoritmo, con circulo de aceptación (Breivik, 2003) El guiado por principio de linea de visión es un forma intuitiva de entender el comportamiento del barco y de la acción del piloto. El problema principal de este método viene dado por si el barco es capaz de mantener su curso alineado con el angulo de linea de visión ψlos, convergiendo a la posición deseada y alcanzada. Toda estas propiedades se hacen mucho mas interesantes cuando trabajamos con- trolando barcos subactuados, debido a que se debe reducir las variables de salida, una posición con 3 GDL (Posición XY y curso ψ) partiendo de 2 GDL (curso ψ y velocidad surge u). Cayetano Cáceres, PUCP 3.3. Sistema de guiado 53 / 152 El concepto de angulo LOS (ψlos), puede ser ser explicado utilizando los tér- minos vector LOS y posición LOS. El vector LOS es una vector que apunta desde la posición actual hacia la posición deseada a lo largo de la ruta deseada, también llamada posición LOS (p T LOS = [xlos, ylos] ), se puede vericar los términos en la Figura 3.12. La obtención de la posición se puede hacer de muchas maneras. 3.3.1.1. Cálculo de ángulo LOS ψlos para embarcaciones marinas Considerando que la posición actual es p = [x, y]T y la posición LOS viene dada por p T LOS = [xlos, ylos] , esto sugiere que el angulo LOS deseado deberá ser seleccionado como: ψlos = atan2(ylos − y, xlos − x) (3.11) Donde [x, y]T es la posición obtenida a traves de satélites de navegación o GPS. Al usar la función atan2, aseguramos que el dominio de la función tangente varíe entre: − π ≤ atan2(x, y) ≤ π (3.12) Podemos ver que la Ecuación (3.11) se aplica independientemente del cálculo de la posición LOS (plos). De acuerdo a lo expuesto por Breivik (2003) existen tres diferentes métodos para obtener plos. 3.3.1.2. Cálculo de posición LOS plos para embarcaciones marinas En esta sección, se revisan los tres enfoques dados por Breivik (2003), de forma breve. 1. La ruta a seguir consiste únicamente de puntos de ruta en una tabla, la posición plos, es simplemente el punto de ruta actual denotado por pk. Por tanto, no se realiza cálculo alguno. 2. De igual manera, solo se cuenta con un tabla de puntos de ruta, con la diferencia que en este método la posición plos se ubica a lo largo de un recta que une dos puntos de la tabla denotadas por pk−1 y pk. La Figura 3.13 muestra este principio. El principio se basa en considerar una circunferencia de radio n veces la longitud del barco (nLpp) alrededor de la posición. Este circulo interceptara a la línea que une puntos en dos puntos de ruta, se se- lecciona el punto que esta más cerca al siguiente punto de ruta. Se requieren 2 ecuaciones que se deducen fácilmente de la Figura 3.13. A continuación se presentan las ecuaciones. Cayetano Cáceres, PUCP 3.3. Sistema de guiado 54 / 152 ylos − yk−1 yk − yk−1 = = tan (αk−1) (3.13) xlos − xk−1 xk − xk−1 (xlos − x)2 + (y 2 2 los − y) = (nLpp) (3.14) Se debe tener en cuenta que el sub-indice k representa el actual punto de ruta mientras k − 1 representa el punto de ruta anterior. Vemos que la primera Ecuación (3.13) representa la pendiente constante que se da entre dos puntos de ruta, mientras la Ecuación (3.14) 3. La ruta deseada es una ruta geométrica parametrizada, donde la variable de parametrización es un escalar denotado por θ, la ruta deseada es dada por pd(θ), la representación de este enfoque se puede ver Figura 3.14. Figura 3.13: Ángulo LOS obtenido a partir de resolución de dos ecuaciones. (Brei- vik, 2003) . Para los dos primeros enfoques, es necesario tener un criterio de cambio de punto de ruta. Un criterio para la selección del siguiente punto de ruta pk+1 = [xk+1, y T k+1] viene dado por considerar un circulo de aceptacioón, en la que en algún instante se satisfaga la siguiente ecuación. (xk − x)2 + (yk − y)2 ≤ R 2 k (3.15) Este radio de aceptación puede ser único para todos los puntos de ruta o puede variar para cada punto, de acuerdo a las restricciones geométricas necesarias. Cayetano Cáceres, PUCP 3.3. Sistema de guiado 55 / 152 Figura 3.14: Ángulo LOS usando la teoria de maniobra. (Breivik, 2003) . En esta tesis se aplica la técnica basada en el segundo enfoque , por lo cual se hace necesario desarrollar las ecuaciones que nos permitan obtener los valores desconocidos plos = [xlos, y T los] , por lo cual las Ecuaciones (3.13) y (3.14). Notar que, la diferencia entre la posición x e y de dos puntos de ruta viene dada por 4x = xk+1−xk y 4y := yk+1−yk, respectivamente. Las ecuaciones son resueltas de forma analítica considerando como primer caso 4x > 0, y como segundo caso 4x = 0. Caso 1: 4x > 0 De la Ecuación (3.13) tenemo(s que:) 4x ylos = (xlos − xk) + yk (3.16) 4y Para evitar tantas variables, hacemos los siguientes reemplazos: ( ) d = 4y 4 e = xk−1 f = y x k−1 Insertamos esto en la parte izquierda de la Ecuación (3.14), obtenemos: (x 2 los − x) + (ylos − y)2 = x2 2 los − 2xxlos + x + y2los − 2yylos + y2 (3.17) Primero se considera el termino y2los, y se inserta en la Ecuación (3.16), y Cayetano Cáceres, PUCP 3.3. Sistema de guiado 56 / 152 tenemos: (( ) )2 2 4y ylos = (x 4 los − xk−1) + yk−1 x = (dxlos + (f − de))2 = (dx 2 los + g) = d2x2 2 los + 2dgxlos + g (3.18) Donde la siguiente abreviación ha sido usada. ( ) − 4y g = f de = yk−1 − x 4 k−1 x Se considera el termino 2yylos, del cual obtenemos: 2yylos = 2y(dxlos + g) = 2dyxlos + 2gy (3.19) De aquí utilizando las Ecuaciones (3.18) y (3.19) en (3.17), obtenemos: (1 + d2)x2los + 2(dg − dy − x)x 2 los + (x + y2 + g2 − (nLpp) 2 − 2gy) = 0 (3.20) Que es una ecuación general de segundo orden, que fácilmente puede ser resuel- ta. A n de hacer mas clara la ecuación, realizamos algunos cambios de variables convenientemente. a = 1 + d2 b = 2(dg + dy − x) c = x2 + y2 + g2 − (nLpp) 2 − 2gy Siendo la solución general a esta ecuación, xlos la siguiente: √ −b± b2 − 4ac xlos = (3.21) 2a Para elegir cual de las posibles soluciones tomar, se usa el siguiente criterio. √ • 4 −b+ b2Si x > 0 entonces −4ac 2a √ • 2 Si 4x < 0 entonces −b− b −4ac 2a Una vez obtenido xlos, es fácil obtener ylos, a partir de la Ecuación (3.16). Se debe tener en cuenta que cuando 4y = 0, ylos = yk−1(= yk). Cayetano Cáceres, PUCP 3.3. Sistema de guiado 57 / 152 Caso 2: 4x = 0 Si 4x = 0, solamente la Ecuación (3.14) es valida, por tanto: (ylos − y)2 = (nL 2 pp) (3.22) Teniendo como resultado: ylos = y ± nLpp (3.23) En base a esto se escoge entre dos posibles soluciones: • Si 4y > 0 entonces ylos = y + nLpp • Si 4y < 0 entonces ylos = y − nLpp En este caso adquirimos xlos de xlos = xk−1(= xk) ya que 4x = 0. Ahora pondremos a prueba el sistema de guiado, basado en el algoritmo de linea de visión, para lo cual se tomaran puntos arbitrarios, y se aplicara dicha técnica, vale decir que la etapa de control aun no esta ajustada plenamente por ello no se logra un seguimiento con error cero, como se puede ver en la Figura 3.15 donde vemos la trayectoria de la embarcación. Figura 3.15: Resultado de aplicación de algoritmo linea de visión. En la Figura 3.16 se puede ver el ángulo LOS obtenido, que es el curso que sigue el barco a n de cumplir la ruta deseada. Cayetano Cáceres, PUCP 3.3. Sistema de guiado 58 / 152 Figura 3.16: Curso de barco obtenido, ψlos 3.3.2. Sistema de referencia móvil Esta sección se desarrolla la ley de guiado, requerida para resolver problema de seguimiento de ruta planar, caso 2D. Tomando como referencia a Breivik et al. (2004), denimos un sistema de referencia local en pd(x, y) y lo llamamos sistema paralelo a la ruta (PP). Acorde a la Figura 3.17, este sistema es rotado un ángulo χt, relativo al sistema de referencia inercial. Debido a esto, la trayectoria deseada se convierte en una linea recta y no en una ruta curva, con esto tenemos que χt es una constante. El sistema de referencia PP, es tangente a la ruta geométrica deseada y ademas pd es la posición deseada del vehiculo. El error expresado en un vector 2D a partir de la diferencia entre la posición actual del vehículo p respecto a la posición deseada pd expresada en el sistema PP es dado por: ε = RT p (χt) (p− pd) (3.24) Donde: [ ] T cos (χt) − sin (χt) Rp = ∈ SO(2) (3.25) sin (χt) cos (χt) Como resultado del desarrollo de esta técnica que se puede ver en Breivik et al. (2004), y realizando las consideraciones propias de nuestro modelo y téc- nica de control se plantea una ruta paramétrica senoidal obtienen los resultados mostrados en las Figura 3.18 y Figura 3.19. En la Figura 3.18, podemos observar que el barco logra seguir la ruta deseada Cayetano Cáceres, PUCP 3.4. Sistema de control 59 / 152 Figura 3.17: Representación de marco móvil, (Breivik et al., 2004) sin problemas a pesar de tener una geometría especial como es la senoidal, al no tener perturbaciones no se generan cambios de dirección forzados. El sistema de guiado es presentado en la Figura 3.19, donde los ángulos presentados son los que se muestran en la Figura 3.17, vemos que β ≈ 0 debido a que al no presentarse perturbaciones no hay deslizamiento considerable, también se puede observar el ángulo generado por la ruta paramétrica donde se ve a t ≈ 70segundos, el ángulo del barco logra converger a este valor y luego permanece estable y realizando el correspondiente seguimiento a pesar de los cambios de dirección, nalmente vemos que χr que esta asociado al ángulo de rotación del marco móvil, vemos que cuando los ángulos χp y ψLOS se igualan, entonces χr ≈ 0 debido a que no existe rotación entre el los sitemas del barco y la ruta. 3.4. Sistema de control A continuación se presentará la estrategia de control aplicada para lograr el seguimiento de la ruta obtenida en la sección anterior. 3.4.1. Control Backstepping Backstepping es una metodología de diseño para la construcción de una ley de control por realimentación a través de la construcción recursiva de una función de control Lyapunov. Los diseños por backstepping no lineal son fuertemente rela- cionados con la técnica de feedback linearization, pero ambos tienen diferencias Cayetano Cáceres, PUCP 3.4. Sistema de control 60 / 152 Figura 3.18: Resultado de prueba aplicando Marco móvil, Referencia (líneas pun- teadas), Resultado obtenido (Linea continua). Figura 3.19: Curso de barco obtenido, ψlos, por el método Marco Móvil. Cayetano Cáceres, PUCP 3.4. Sistema de control 61 / 152 marcadas. Mientras el método de feedback linearization, cancela todas las no linealidades en el sistema se mostrará que cuando se aplica backstepping se ten- drá más exibilidad en el diseño. En particular el diseñador podrá aprovechar las buenas no linealidades del sistema, mientras las malas no linealidades pueden ser dominadas. Por ello, una robustez adicional es obtenida, las cuales son muy importantes en los sistemas de control industrial, debido a que para conseguir la cancelación de todas las no linealidades es necesario tener un modelo muy preciso que difícilmente es conseguido en la práctica. 3.4.2. Diseño de ley control MIMO backstepping para bar- cos Los sistemas convencionales de control de barcos, trabajan bajo la presunción de que las ecuaciones cinemáticas puedes ser linealizadas de tal manera que se puedan aplicar técnicas de ganancia programada y teoría de control óptimo Fossen (1994). Esta no es una buena asunción puesto que la dirección surge, sway y yaw deben ser controladas simultáneamente. Para lograr esto según Fossen (2002), es necesario linealizar la matriz de yaw en 36 puntos de operación para lograr una precisión adecuada. Consideramos que la señal de control enla dirección sway es subactuada.  τ = τ10 (3.26) τ3 Que representa la conguración de actuador para nuestro caso. Debido a que τ2 no es posible de implementar, los términos requeridos para la dirección sway,la dinámica puede ser impuesta sobre la correspondiente función de estabilización de tal manera que se cumpla la ley de control. Partimos del modelo de una embarcación marina de supercie. La cinemática y cinética para 3 grados de libertad pueden ser representadas como: η̇ = R(ψ)ν (3.27) [ M ν̇]+ C(ν)ν +D(ν)ν = τ +R(ψ)Tb (3.28) T Donde η = x y ψ , representa la posición y orientación del barco , re- presentan las velocidades. R(ψ), representa la matriz de rotación desde el marco jo hacia el marco de referencia del cuerpo de la embarcación. M es la matriz Cayetano Cáceres, PUCP 3.4. Sistema de control 62 / 152 de inercia, C la matriz centrifuga de coreolis, D la matriz de amortiguamiento hidrodinámico, τ la matriz de fuerza y torque por parte del barco, b describe todas las fuerzas y momentos del ambiente, por ejemplo efectos causados por el viento, corrientes del océano y carga por olas de segundo orden, se asume que estos efectos varían de forma muy lenta en comparación con la dinámica del barco de tal manera que, se puede considerar que la derivada es cero, ḃ ≈ 0, esta es una suposición valida. Empezamos por denir la proyección del vector h: [ ]T h = 0 0 1 (3.29) Luego denimos las variables de error z1 ∈ R y z2 ∈ R3, de acuerdo a: z = ψ − ψ = hT 1 d η − ψd (3.30) [ ] [ z2 =] z2,1 z2,2 z2,3 = ν −α (3.31) Donde α = α1 α2 α ∈ R3 3 es un vector de la función de estabilización a ser especicado después. Paso 1: Se dene la primera función de control de Lyapunov como: 1 V = z21 1 > 0 (3.32) 2 Diferenciando V1 con respecto del tiempo considerando la dinámica de z1, se obtiene: V̇1 = z1ż1 (3.33a) V̇1 = z1(h T η̇ − ψ̇d) (3.33b) V̇1 = z1(h Tν − ψ̇d) (3.33c) Dado que η̇ = R(ψ)νy hT η̇ = hTR(ψ)ν, de donde obtenemos: V̇ = z (hT1 1 (z2 + α)− ψ̇d) (3.34a) V̇1 = z1h Tz2 + z T 1(h α− ψ̇d) (3.34b) V̇1 = z1h Tz2 + z1(α3 − ψ̇d) (3.34c) Con esto escojemos la función de estabilización α3 como: Cayetano Cáceres, PUCP 3.4. Sistema de control 63 / 152 α3 = −k1z1 + ψ̇d (3.35) Donde k1 > 0, lo cual resulta en: V̇1 = −k1z21 + z1h Tz2 (3.36) Con esto se concluye la parte 1. Paso 2: Aumentando la primera función de control de lyapunov obtenemos: 1 1 T V2 = V T 1 + z2Mz2 + b Γb > 0 (3.37) 2 2 Donde b ∈ R3 es un error de adaptación denido como: b = b̂ − b , consi- derando al vector b̂ como el estimado del vector de perturbación ambiental b, además consideramos una variación muy lenta de tal manera que ḃ = 0 para efectos practicos, esto quiere decir que ˙̂ ḃ = b y Γ = ΓT > 0, que es la matriz de ganancia de adaptación. De igual manera derivamos V2, respecto del tiempo sobre las trayectorias z1, z2 y b, obtenemos: T ˙̂ V̇2 = −k z21 1 + z T 1h z2 + zT −1 2Mż2 + b Γ b (3.38) A partir de: ˙̂ M = MT y ḃ = b, tenemos que: Mż2 = M(ν̇ − α̇) (3.39a) Mż2 = τ +RTb−C(ν)ν −D(ν)ν −Mα̇ (3.39b) Reemplazando esta equivalencia en la Ecuacion (3.38) tenemos lo siguiente: 2 T T T ˙̂ V̇2 = −k1z1 + z2 (hz1 + τ +R b−C(ν)ν −D(ν)ν −Mα̇) + b Γ−1b (3.40) Reescribiendo C(ν) = C y D(ν) = D para abreviar la notación, utilizando ν = z2 +α y b = b̂− b podemos obtener: V̇ = −k z2 − z TCz − z T T ˙̂ 2 1 1 2 2 2 Dz2 + z T 2 (hz1 + τ +RT b̂−Cα−Dα−Mα̇) + b Γ−1(b− ΓRz2) (3.41) Donde zT2Cz2 = 0 debido a que C es skew-simetrica, de donde tenemos: Cayetano Cáceres, PUCP 3.5. Conclusiones Preliminares 64 / 152 τ = Mα̇+Cα+Dα−RT b̂− hz1 −K2z2 (3.42) Donde: K2 = diag(k2,1, k2,2, k2,3) > 0, y seleccionando: ˙̂ b = ΓRz2 (3.43) Finalmente obtenemos: V̇2 = −k1z21 − z2(D +K2)z2 ≤ 0 [ (3.44) ] De donde tenemos que las funciones de estabilizaciónα = ud α2 −k1z1 + ψ̇d Donde α2, es hallado a partir de la dinámica para el sistema subactuado. 3.5. Conclusiones Preliminares • Se estudió el planeamiento de movimiento basado en el algoritmo de Voronoi para luego aplicar el Dijstrak y de esta manera obtener los punto de ruta necesarios para que el barco logre el objetivo. • Al generar una ruta con los metodos estudiados en la Sección 3.2.3.1 y 3.2.3.2, se puede apreciar que el primero genera un mayor recorrido al tener una longitud total de ruta de 134 metros mientras el segundo 121 metros, esto debido que el segundo solo usa la curvatura en los cambios de curso, luego usa lineas rectas que haces mas eciente la ruta. Tabla 3.1: Longitud de ruta generada por ambos métodos Polinomio Cúbico de Hermite Espiral de Fermat Longitud de Ruta [m] 134 121 • El control Backstepping propuesto, presenta una metodología que podría ser aplicada a otros sistemas dinámicos subactuados. Puesto que se contro- lan tres variables con únicamente 2 variables de control • La forma planteada para procesar planos reales, es a través de la simplica- ción poligonal, se debe tener en cuenta que mientras esta simplicación sea mas detallada se obtendrán mejores resultados con el diagrama de Voronoi. Cayetano Cáceres, PUCP Capítulo 4 Simulación En el presente capítulo se desarrolla la simulación y aplicación de técnicas estudias, para lo cual hacemos uso del software MATLABr, en el cual se im- plementan los algoritmos de planeamiento, guiado y control de rutas. Asimismo, se presentan dos simulaciones, una corresponde a un canal senoidal mientras que el otro corresponde a un mapa tomado de Google (2015), que corresponde al mar Báltico, en ambos se aplican las desarrolladas en esta tesis. Cabe resaltar que al momento de realizar la simulación del mar Báltico no se consideran me- didas reales, puesto que, lo que se requiere en las simulaciones, son las formas particulares de un entorno real. A continuación se detallan las consideraciones hechas para simular: • Los parámetros y modelos dinámicos del sistema son conocidos. • Para realizar el control, se considera que todos los estados son medidos. La posición puede ser medida por un sistema de posicionamiento global (GPS). Las velocidades se pueden obtener a partir de la integración de velocidades obtenidos con la unidad de medición inercial (IMU). • Los valores medidos de posición, velocidad y aceleración, son considerados libres de ruido. • Se asume que se puede dar un control ideal. 4.1. Simulación en canal senoidal 4.1.1. Planeamiento de movimiento y trayectoria En esta sección se trabajará el planeamiento partiendo de un mapa, al cual se aplicará una simplicación poligonal y a partir del cual se realizará el trabajo de planeamiento de movimiento. 66 4.1. Simulación en canal senoidal 67 / 152 A partir de este mapa lo que sea hará es la simplicación poligonal del mismo para de esta manera aplicarle las técnicas revisadas respecto al planeamiento de movimiento. Para poder visualizar esto se plantea un canal senoidal que se presenta en la Figura 4.1a antes de aplicar la simplicación y después de aplicar la simplicación, Figura 4.1b. (a) Mapa de canal en forma senoidal. (b) Mapa de canal con simplicación Figura 4.1: Mapa antes y después de la aplicar la simplicación poligonal. (a) Aplicando diagrama de Voronoi. (b) Aplicando el algoritmo de Dijstrak. Figura 4.2: Se obtiene la ruta deseada continuando con el planeamiento de movi- miento. Luego aplicamos el diagrama de Voronoi a n de obtener los posibles pun- tos para generar la ruta deseada.(ver Figura 4.2a). A n de obtener la mejor ruta partiendo del diagrama de Voronoi, aplicamos el algoritmo de Dijsktra (ver Figura 4.2b) 4.1.2. Determinación de puntos de ruta WayPoints. A n de evitar los cambios de dirección innecesarias aplicamos un algoritmo de tal forma que obtenemos los puntos de ruta necesarios para trazar la trayectoria, teniendo como resultado la Figura 4.3. Cayetano Cáceres, PUCP 4.1. Simulación en canal senoidal 68 / 152 Figura 4.3: A partir de los puntos obtenidos por el algoritmo, determinamos los puntos que producen menor ángulo de cabeceo. 4.1.3. Determinación de ruta paramétrica. Tomando como base los puntos de ruta, se procede a la generación de ruta paramétrica usando las técnicas de polinomios de Hermite y el espiral de Fermat revisadas en las Secciones 3.2.3.2 y 3.2.3.1, para esto se implementa un programa generador de trayectoria en MATLAB. A continuación se presentará los resultados obtenidos, para nuestro canal de forma senoidal, se mostrará la ruta obtenida así como la gráca de cada compo- nente respecto a la longitud recorrida. 4.1.3.1. Polinomio cúbico de hermite Aplicando la Ecuación (3.7), a partir de los puntos obtenidos en la sección anterior obtenemos los siguientes resultados, la ruta en X-Y, Figura 4.4, y los componentes de la ruta respecto de la longitud recorrida, Figura 4.5: 4.1.3.2. Espiral de Fermat Aplicando las Ecuaciones (3.9) y (3.10), a partir de los puntos de ruta obte- nidos en la sección anterior tenemos como resultado la ruta en X-Y, Figura 4.6, y los componentes de ruta respecto de la longitud recorrida, Figura 4.7. Cayetano Cáceres, PUCP 4.1. Simulación en canal senoidal 69 / 152 Figura 4.4: Ruta generada por polinomio de Hermite (magenta) Figura 4.5: Componentes de ruta vs longitud recorrida Cayetano Cáceres, PUCP 4.1. Simulación en canal senoidal 70 / 152 Figura 4.6: Ruta paramétrica generada por espiral de Fermat Figura 4.7: Componentes de la ruta paramétrica por espiral de Fermat vs longitud recorrida Cayetano Cáceres, PUCP 4.1. Simulación en canal senoidal 71 / 152 4.1.4. Seguimiento de trayectoria y control de embarcación A partir de los resultados de la sección anterior se obtuvieron puntos de ruta, estos son los que se usarán para la simulación obtener la guía y control de la embarcación. 4.1.4.1. Resultados de simulación Luego de realizar la simulación a partir de los puntos de ruta obtenidos, siste- ma de guiado y control, además considerando la dinámica del barco, por un lapso de a lo largo de 200 segundos obtenemos la trayectoria de barco mostrada en la Figura 4.8. Figura 4.8: Posición de barco incluyendo la dinámica a través del canal (Trayec- toria en rojo) Se puede apreciar claramente que el barco logra atravesar el canal sin proble- mas de colisión, todo esto a partir del buen planeamiento de movimiento y del funcionamiento correcto del sistema de guiado y control que realiza el seguimiento de trayectorias sin problemas. En la Figura 4.9 se presenta la ley de control dada por fuerza y torque, vemos que el valor de fuerza necesario es constante e igual a τ1 = 0.2N y que se presentan picos en el torque cuando se hace necesario realizar el cambio de dirección, τ3pico = 0.12N.m. Las velocidades alcanzadas a lo largo de la ruta se pueden ver en la Figura 4.10, vemos que la velocidad a lo largo de la ruta surge, se mantiene constante en un valor ud = 0.1m/s, valor asignado por el capitán del navío o dado por un perl de velocidad predeterminado, mientras que la velocidad sway, tiene valores cercanos Cayetano Cáceres, PUCP 4.1. Simulación en canal senoidal 72 / 152 a cero v −3 max ≈ 2.10 , lo cual es lógico, para garantizar que el barco siga la ruta deseada y no tenga deslizamiento respecto de la ruta deseada, ademas podemos comprobar que la velocidad de giro cambia cada vez que se presenta un cambio de dirección, alcanzando valores pico aproximados de rpico ≈ .015rad/seg. Los errores de estado se presentan en la Figura 4.11, el error z1 que corresponde al error en el angulo yaw, vemos que presenta un tiempo de estabilización de aproximadamente 10 segundos cuando luego de realizar un cambio de dirección, y tiene un error en estado estacionario z1 ≈ 0, hasta que se produce un cambio en el curso del navío. Respecto al error de la variable de velocidad surge z21, podemos ver que el error en estado estacionario es cero z21 = 0 quiere decir que a lo largo de la ruta se ha logrado alcanzar y mantener la velocidad deseada, el error de velocidad sway presenta valores pico de z −6 22pico ≈ 0.5x10 prácticamente cero y nalmente el error de la variable de velocidad rotacional yaw tiene valores pico de z23pico ≈ 2.5x10−5 muy próximo al cero. El angulo de cabeceo o curso del navío, es presentado en la Figura 4.12, que presenta tres curvas. La primera curva es el ángulo ψLOS obtenido a través del algoritmo línea de visión, la segunda curva es este mismo ángulo ψLOS obtenido a partir de un modelo de referencia de segundo orden, con el n de poder alimentar al sistema de control, puesto que este requiere la segunda derivada para el calculo de la ley de control, nalmente la tercera curva es el ángulo yaw obtenido ψobtenido. Figura 4.9: Ley de control del sistema subactuado, fuerza y torque Cayetano Cáceres, PUCP 4.1. Simulación en canal senoidal 73 / 152 Figura 4.10: Velocidad del sistema body (surge, sway and yaw) durante la simu- lación Figura 4.11: Error de estados, cabeceo, velocidad en surge, velocidad en sway y velocidad en yaw Cayetano Cáceres, PUCP 4.2. Simulación en el mar Báltico 74 / 152 Figura 4.12: Resultado de ángulo de cabeceo deseado a partir del sistema de guía basado en Línea de Visión 4.2. Simulación en el mar Báltico En esta sección, se realizará la simulación del sistema con el n de poner a prueba lo desarrollado, para lo cual se usó un mapa real, obtenido de Google Maps, Google (2015), con las características de espacio connado, toda la simulación se ha realizado en MATLAB. El mapa corresponde al mar Báltico que se encuentra al norte de Europa, se muestra en detalle en la Figura 4.13, este será el punto de partida para realizar la simplicación poligonal, para posteriormente aplicar las demás herramientas desarrolladas. 4.2.1. Planeamiento de movimiento y trayectoria en el mar Báltico Luego de aplicar simplicación poligonal se procede a aplicar el diagrama de Voronoi, para de esta manera tener el mar caracterizado por posibles puntos de ruta. A continuación lo que se debe realizar el elegir un punto de partida y llegada, en el primer caso se plantea que el barco se dirija desde Alemania hacia Finlandia, con estos datos aplicamos el algoritmo de Dijkstra, como se puede ver en la Figura 4.14 se obtiene la posible ruta representada en color verde. Cayetano Cáceres, PUCP 4.2. Simulación en el mar Báltico 75 / 152 Figura 4.13: Mapa real Navegación localizado el norte de Europa,(Google, 2015) Figura 4.14: Aplicación de herramientas para navegación de Alemania hacia Fin- landia Cayetano Cáceres, PUCP 4.2. Simulación en el mar Báltico 76 / 152 4.2.2. Determinación de puntos de ruta WayPoints en el mar Báltico Luego de aplicar Dijkstra, tenemos una posible ruta, la cual en ciertos casos hace cambios de dirección innecesarios, para evitar esfuerzos de control innecesa- rios se plantea un algoritmo de ltrado, y este a la vez considera una tolerancia respecto a lo cerca que se puede pasar de un obstáculo, en la Figura 4.15 se pueden ver rectángulos de color cyan, que representan los puntos de ruta donde no se cumple ni con el ltrado ni la tolerancia respecto a la orilla, por lo cual en estos puntos se da un cambio de orientación de forma necesaria. 4.2.3. Determinación de ruta paramétrica en el mar Báltico También se pueden ver dos curvas, una amarilla y una magenta que están prácticamente superpuestas, estas corresponden a las rutas generadas, la primera a usando la técnica de polinomio cúbico de Hermite, y la segunda usando la técnica de espiral de Fermat, se puede ver que ambas logran el objetivo, con la diferencia de que una demanda mayor recorrido que la otra, en este caso la que se basa en el espiral de Fermat es la que usa mayor longitud de recorrido. Se presenta una cambio en la ruta, ahora la designada será hacia un puerto en Estonia, para realizar nuevamente obtener los resultados lo único que se debe ha- cer es cambiar el punto de llegada, y hacer una corrida del algoritmo, obteniendo el resultado presentado en la Figura 4.16. Cayetano Cáceres, PUCP 4.2. Simulación en el mar Báltico 77 / 152 Cayetano Cáceres, PUCP Figura 4.15: Generación de ruta, lugares donde ocurre no se cumple la tolerancia (cyan), referencia (Negro), ruta por polinomio cúbico (Amarillo) y ruta por espiral de Fermat (Magenta) 4.2. Simulación en el mar Báltico 78 / 152 Cayetano Cáceres, PUCP Figura 4.16: Generación de ruta para viaje de Alemania hacia Estonia 4.2. Simulación en el mar Báltico 79 / 152 En el espacio connado cerca a Estonia se realiza un movimiento especial, el cual se muestra en detalle en la Figura 4.17. Se puede observar que para lograr mejor disposición de los puntos de camino, la simplicación poligonal del mapa debe ser lo más precisa posible, porque de esta dependen los puntos generados por el diagrama de Voronoi. Como se puede ver en la Figura 4.17 se hace un recorrido algo ineciente para llegar al punto nal, precisamente el antepenúltimo punto es el que trae problemas, si se plantea un sistema híbrido de control de ruta manual- automático, el capitán podría corregir este error a n de tener una longitud de ruta eciente. Figura 4.17: Detalle de ruta deseada cerca a Estonia, ruta por polinomio cúbico (Amarillo) y ruta por espiral de Fermat (Magenta) 4.2.3.1. Polinomio cubico de hermite en el mar Báltico Aplicando la Ecuación (3.7), a partir de los puntos obtenidos en la sección anterior obtenemos los siguientes resultados, la ruta en X-Y, Figura 4.18, y los componentes de la ruta respecto de la longitud recorrida, Figura 4.19: 4.2.3.2. Espiral de Fermat en el mar Báltico Aplicando las Ecuaciones (3.9) y (3.10), a partir de los puntos de ruta obte- nidos en la sección anterior tenemos como resultado la ruta en X-Y, Figura 4.20, y los componentes de ruta respecto de la longitud recorrida, Figura 4.21. Cayetano Cáceres, PUCP 4.2. Simulación en el mar Báltico 80 / 152 Figura 4.18: Ruta generada por polinomio de Hermite (magenta) en el mar Báltico Figura 4.19: Componentes de ruta vs longitud recorrida en el mar Báltico Cayetano Cáceres, PUCP 4.2. Simulación en el mar Báltico 81 / 152 Figura 4.20: Ruta paramétrica generada por espiral de Fermat en el mar Báltico Figura 4.21: Componentes de la ruta paramétrica por espiral de Fermat vs lon- gitud recorrida en el mar Báltico Cayetano Cáceres, PUCP 4.2. Simulación en el mar Báltico 82 / 152 Tabla 4.1: Longitud de ruta en el mar Báltico Polinomio Cúbico de Hermite Espiral de Fermat Longitud de Ruta [m] 1121 1118 Con esto vemos claramente que la longitud de ruta desarrollada por el uso del Polinomio de Hermite es mayor a la usada con la espiral de Fermat. 4.2.4. Seguimiento de trayectoria y control de embarcación en el mar Báltico A partir de los resultados de la sección anterior se obtuvieron puntos de ruta, estos son los que se usarán para la simulación obtener la guía y control de la embarcación. 4.2.4.1. Resultados de simulación en el mar Báltico Una vez determinada la ruta deseada, se procede a realizar el seguimiento de la misma haciendo uso del sistema de guiado y control, todo esto a partir de los puntos obtenidos, teniendo como resultado la ruta mostrada en la Figura 4.22. El tiempo total de simulación hasta que se llega al punto nal es de aproximadamente 650 segundos. Los parámetros considerados en esta simulación vienen dados por dos velocidades deseadas, una cerca a los puertos ud1 = 0.5m/s y otra cuando se esta en mar abierto ud2 = 1m/s, ver Figura 4.25. A partir de estas consideraciones se puede ver claramente en la Figura 4.24, que a los 100 segundos la fuerza τ1 cambio de un valor generándose un pico de aproximadamente τ1 = 5N , mientras que a los 510 segundos la fuerza se reduce al valor inicial, esto esta relacionado claramente con el cambio de velocidad que se hace cerca a los puerto de partida y llegada. Todo lo contrario ocurre con el momento τ3, que tiene valores cercanos a cero τ3 ≈ 0. El resultado del sistema de guiado se muestra en la Figura 4.23, de donde se observa la curva deseada obtenida en rojo ψd, la curva por parte del sistema de referencia verde, esta sirve para tener las derivadas necesarias a n de ingresar los valores al sistema de control, Fossen (2011), nalmente se muestra la curva del ángulo obtenido como resultado de la simulación, en negro. A n de obtener un seguimiento de trayectoria más preciso se procede a rea- lizar un cambio de velocidad en surge, a n de partir y llegar con baja velocidad, esto se puede mostrar en la Figura 4.25, respecto a las velocidad sway se puede ver que su tendencia es cero, esto garantiza que no hay un desplazamiento por parte de la embarcación respecto a la ruta deseada y la velocidad de rotación Cayetano Cáceres, PUCP 4.2. Simulación en el mar Báltico 83 / 152 Figura 4.22: Ruta obtenida luego de aplicar el control a la embarcación Figura 4.23: Resultado de ángulo de cabeceo deseado a partir del sistema de guía basado en Línea de Visión Cayetano Cáceres, PUCP 4.3. Conclusiones Preliminares 84 / 152 Figura 4.24: Ley de control del sistema subactuado, fuerza y torque yaw, que de igual manera presenta ciertos cambios en los puntos donde hay un cambio de dirección pero de igual manera su valor es prácticamente cero. En la Figura 4.26, se muestran las variables de error, si analizamos z1 que es el error del angulo yaw vemos que es prácticamente cero z1 ≈ 0 durante toda la simulación, z21 que es el error de la velocidad surge se puede observar que a lo largo de la simulación el valor es cero z21 ≈ 0, inclusive en los momentos donde ocurre el cambio de velocidad, nalmente z22 y z23 que son los errores de la velocidad sway y velocidad de rotación yaw respectivamente, ambos errores tienen valores prácticamente cero, lo que nos dice que no ocurre desplazamiento respecto de la ruta deseada y que el curso del barco siempre es muy cercano al deseado. 4.3. Conclusiones Preliminares • Acorde a la Tabla 4.1, podemos concluir que el método de polinomio cubico de hermite desarrolla mayor longitud de recorrido para llegar al mismo objetivo, por lo cual se podría concluir que el método de espiral del Fermat es mas eciente. • En la simulación en el mar Báltico se realiza un cambio de velocidad surge de u = 0.5m/s hasta u = 1.25m/s, demostrando lo robusto del control ya que este cambio no afecto el seguimiento de ruta, esto se puede ver claramente en las curvas de variables de error, respecto a la ley de control Cayetano Cáceres, PUCP 4.3. Conclusiones Preliminares 85 / 152 Figura 4.25: Velocidad del sistema body (surge, sway and yaw) durante la simu- lación Figura 4.26: Error de estados, cabeceo, velocidad en surge, velocidad en sway y velocidad en yaw Cayetano Cáceres, PUCP 4.3. Conclusiones Preliminares 86 / 152 τ1 vemos que llega a un valor aproximado de τ1 ≈ 5N cuando se eleva la velocidad y τ1 ≈ −1.25N cuando la velocidad se reduce. • En la simulación del mar Báltico los valores mostrados en la Figura 4.26, muestran que los valores de los errores prácticamente son cero en todos los casos, a pesar de haber existido un cambio de velocidad. Cayetano Cáceres, PUCP Conclusiones • Se obtuvo un modelo matemático no lineal para desarrollar las simulaciones, en el modelo se consideraron las fuerzas que interactúan con la embarcación, respecto a los parámetros se tomó como referencia el barco CyberShip II. • Se estudiaron dos métodos diferentes a n de obtener la ruta partiendo de puntos, concluyendo que el método mas eciente, es el que usa la espiral de Fermat y lineas rectas, para las simulaciones realizadas se pudo comprobar esto, puesto que como resultado siempre genera menor ruta a recorrer. • Las variables de error, en todas las simulaciones siempre tienen valores ≈ 0, garantizando un adecuado seguimiento de ruta. • El sistema de guiado basado en la estrategia línea de visión, muestra un comportamiento adecuado toda vez que la variable de error asociada z1 siempre tiende a cero z1 ≈ 0. • Se realizó el diseño del controlador aplicando la técnica de backstepping para el sistema subactuado (3 variables a controlar, 2 variables de control). La ley de control es mostrada a través de τ1 y τ3, respecto al primero que es la fuerza de empuje, se puede concluir que esta directamente relacionada con la velocidad surge, pues al aumentar dicha velocidad desde u = 0.5m/s hasta u = 1.25m/s presenta un sobreimpulso llegando hasta un valor pico de τ1pico = 5N . • En la Sección 4.2.3, se muestra un cambio de ruta, donde comprobamos que el sistema implementado cambia de inmediato el curso, para esto se ha cambiado el punto de destino y se ha tomado como punto inicial el punto actual. 87 Recomendaciones • Considerar el modelo de 6 DOF, a n de poder evaluar el efecto dinámico que causa navegar por lugares cercanos a la orilla ó de poca profundidad. • Simular el sistema considerando perturbaciones, como fuerzas debido a co- rrientes de aire o marinas, analizar el comportamiento de las mismos. • Implementar el sistema de guiado usando métodos diferentes a linea de visión, a n de tener otros resultados en ambientes con perturbaciones. • Simular situaciones donde no se puedan medir todas las variables de estado y sea necesario desarrollar observadores no lineales, implementar y probar su ecacia en alta velocidad y baja velocidad. • Implementar el sistema desarrollado en un barco autónomo para aplica- ciones en aguas peruanas, inclusive se podría pensar realizar transporte autónomo en los ríos de la selva, donde se transporta carga por medios uviales. • Desarrollar el control aplicando otras técnicas para probar la eciencia de la técnica backstepping y ver si se puede mejorar el tiempo de procesamiento. • Revisar otras técnicas de planeamiento de movimiento, a n de establecer la mas eciente para la aplicación. • Investigar otras técnicas para generación de rutas, con el n de reducir la carga computacional y obtener el mejor comportamiento dinámico del barco. • Aplicar técnicas de indenticación a n de obtener los parámetros reales del barco autónomo a implementar. 88 Bibliografía A. Alessandretti, A. P. Aguiar, and C. Jones. Trajectory-tracking and path- following controllers for constrained underactuated vehicles using model pre- dictive control. In 2013 European Control Conference (ECC), number EPFL- CONF-199227, pages 13711376. IEEE, 2013. K. Benedict, M. Gluch, M. Kirchho, S. Fischer, S. Klaes, and M. Baldauf. Ap- plication of fast time simulation technologies for enhanced ship manoeuvring operation. In Control Applications in Marine Systems, pages 7984, 2010. M. Bibuli, W. Caharija, K. Y. Pettersen, G. Bruzzone, M. Caccia, and E. Zereik. Ilos guidance-experiments and tuning. In World Congress, volume 19, pages 42094214, 2014. N. Bowditch. The american practical navigator, washington, 1995. M. Breivik. Nonlinear maneuvering control of underactuated ships, 2003. M. Breivik, T. Fossen, et al. Path following for marine surface vessels. In OCEANS'04. MTTS/IEEE TECHNO-OCEAN'04, volume 4, pages 22822289. IEEE, 2004. M. Candeloro, A. Lekkas, A. Soerensen, and T. I. Fossen. Continuous curva- ture path planning using voronoi diagrams and fermat's spirals. In Control Applications in Marine Systems, volume 9, pages 132137, 2013. J. Corneliussen. Implementation of a guidance system for cybership II. PhD thesis, Master’s thesis, NTNU, Trondheim, 2003. A. R. Dahl. Path planning and guidance for marine surface vessels. 2013. K. Fedyaevsky and G. Sobolev. Control and stability in ship design. 1964. 89 Bibliografía 90 / 152 T. I. Fossen. Guidance and control of ocean vehicles. John Wiley & Sons Inc, 1994. T. I. Fossen. Marine control systems: guidance, navigation and control of ships, rigs and underwater vehicles. 2002. T. I. Fossen. Handbook of marine craft hydrodynamics and motion control. John Wiley & Sons, 2011. T. I. Fossen, M. Breivik, and R. Skjetne. Line-of-sight path following of unde- ractuated marine craft. Proceedings of the 6th IFAC MCMC, Girona, Spain, pages 244249, 2003. Google. Google maps, 2015. URL https://www.google.com.pe/ maps/place/Baltic+Sea/@57.542676,15.8017743,6z/data=!4m2!3m1! 1s0x46f4d7d988201b2b:0xb43097ae8474cb3?hl=en&hl=en. Accedido 17-12-2015. J. Haugen and M. Breivik. A speed control algorithm for planar path maneu- vering. In Proc. 8th IFAC Conference on Control Applications in Marine Systems, pages 219224, 2010. L. Kobylinski. 15. capabilities of ship handling simulators to simulate shallow water, bank and canal eects. Navigational Systems and Simulators: Marine Navigation and Safety of Sea Transportation, page 115, 2011. H. Korte, O. Koeckritz, and M. Kurowski. Precise maneuver planning for berth- to-berth navigation of modern ships. at-Automatisierungstechnik, 63(5):368 379, 2015. M. Kurowski, H. Korte, et al. Full-state manoeuvre planning system for marine vehicles. In Control Applications in Marine Systems, volume 9, pages 144149, 2013. S. M. LaValle. Planning algorithms. Cambridge university press, 2006. A. M. Lekkas. Guidance and path-planning systems for autonomous vehicles. 2014. A. M. Lekkas and T. I. Fossen. Trajectory tracking and ocean current estimation for marine underactuated vehicles. In Control Applications (CCA), 2014 IEEE Conference on, pages 905910. IEEE, 2014. A. M. Lekkas, A. R. Dahl, M. Breivik, and T. I. Fossen. Continuous-curvature path generation using fermat. 2013. Cayetano Cáceres, PUCP Bibliografía 91 / 152 A. M. Lekkas, T. Fossen, et al. Integral los path following for curved paths based on a monotone cubic hermite spline parametrization. Control Systems Technology, IEEE Transactions on, 22(6):22872301, 2014a. A. M. Lekkas, T. Fossen, et al. Minimization of cross-track and along-track errors for path tracking of marine underactuated vehicles. In Control Conference (ECC), 2014 European, pages 30043010. IEEE, 2014b. K.-P. Lindegaard. Acceleration feedback in dynamic positioning. 2003. Z. Liu, L. Liu, and J. Zhang. Nonlinear path tracking control of underactuated surface vessel by lssvm-based identication. In Industrial Electronics Society, IECON 2014-40th Annual Conference of the IEEE, pages 209214. IEEE, 2014. A. Mironenko. Construction of the program trajectory of maneuvering of the vessel at mooring. Expluatatsiya morskogo transporta, 4:2529, 2009. A. Mironenko. The dynamic synthesis of ship’s programmed track. Explua- tatsiya morskogo transporta, 67:711, 2012a. A. Mironenko. The new approach to vessel’s program. International confe- rence on maritime transport, 5:12351244, 2012b. A. Mironenko. Methodology of vessel's route program motion on the basis of sigma function. In Control Applications in Marine Systems, volume 9, pages 138143, 2013. S. Moe. Path following of underactuated marine vessels in the presence of ocean currents. 2013. M. D. Pedersen and T. I. Fossen. Marine vessel path planning and guidance using potential ow. In Manoeuvring and Control of Marine Craft, volume 9, pages 188193, 2012. T. Perez. Ship motion control: course keeping and roll stabilisation using rudder and ns. Springer Science & Business Media, 2006. N. A. Shneydor. Missile guidance and pursuit: kinematics, dynamics and control. Elsevier, 1998. R. Skjetne. Ship maneuvering: The past, the present and the future. Sea Tech- nology, 2003. R. Skjetne. The maneuvering problem. These de doctorat, Department of Engi- neering Cybernetics, Norwegian University of Science and Technology, Trond- heim, Norway, 2005. Cayetano Cáceres, PUCP Bibliografía 92 / 152 R. Skjetne, T. Fossen, et al. Nonlinear maneuvering and control of ships. In OCEANS, 2001. MTS/IEEE Conference and Exhibition, volume 3, pages 1808 1815. IEEE, 2001. A. J. Sørensen. Marine control systems propulsion and motion control of ships and ocean structures lecture notes. 2012. B. S. Thomas and P. D. Sclavounos. Optimal-control theory applied to ship maneuvering in restricted waters. Journal of Engineering Mathematics, 58(1- 4):301315, 2007. M. S. Triantafyllou and F. S. Hover. Maneuvering and control of marine vehi- cles. Department of Ocean Engineering, Massachussets Institute of Technology, Cambridge, USA, 2002. M. S. Triantafyllou and F. S. Hover. Maneuvering and control of marine vehicles. Cambridge, Massachusetts, USA: edited by authors, 2003. A. Wahl and E.-D. Gilles. Optimale regelverfahren zur automatischen bahn- führung von binnenschien (automatic track-keeping on waterways using op- timal control). atAutomatisierungstechnik/Methoden und Anwendungen der Steuerungs-, Regelungs-und Informationstechnik, 51(6/2003):255264, 2003. G. Zhang, X. Zhang, and Y. Zheng. Adaptive neural path-following control for underactuated ships in elds of marine practice. Ocean Engineering, 104:558 567, 2015. A. A. Zizzari, P. Pedone, and G. Indiveri. A path following controller for the dynamic model of a marine surface vessel. In Intelligent Autonomous Vehicles, volume 7, pages 157162, 2010. Cayetano Cáceres, PUCP Anexo A Script en MATLAB para control de barco 93 %Programa para control segun la x=-10; tesis y=3; clear all, close all, clc psi=0.785; %Parametros del barco n=1; u=0.25; %Parametros Disponibles v=0; directamente r=0; L=1.255; R_k=n*L;%criteria de aceptacion nu=[u m=23.8;%Masa v x_g=0.0425; r]; Iz=1.76; eta=[x %Estimados aproximados y X_du=-2; psi]; Y_dv=-10; Y_dr=0; alpha_1=ud; N_dv=0; alpha_2=0; N_dr=-1; alpha_3=0; %Identificados experimentalmente X_u=-2; Y_v=-7; R_psi=[cos(psi) -sin(psi) 0 Y_r=-0.1; sin(psi) cos(psi) 0 N_v=-0.1; 0 0 1]; N_r=-0.5; h=[0,0,1]'; %% ud=0.25; %Algoritmo Angulo %psi=0; %Tiempo accumulation=0; dt=0.001; psi_last=0; ttt=0:dt:450; state=0; tt=0; %% %% %Matrices de modelo de barco %Generacion de trayectoria m11=m-X_du; A=10; m22=m-Y_dv; lambda=15; m23=m*x_g-Y_dr; bb=0*[-1;1;0]; m32=m*x_g-Y_dr; bb_hat=[0;0;0]; m33=Iz-N_dr; R=5; x0=0; c13=-(m-Y_dv)*v-(m*x_g-Y_dr)*r; y0=0; c23=(m-X_du)*u; theta= 0; deltatheta_max=3*L;%Coeficiente d11=-X_u de amortiguamiento d22=-Y_v deltatheta_min=L; d23=-Y_r K_deltatheta=1; d32=-N_v %We=[1 0 d33=-N_r % 0 1]; %gamma=10.0; u=0.000; n11=-X_u; n22=-Y_v; %% n23=m*u-Y_r; %Condiciones iniciales de n32=m*u-Y_r; simulacion %n32=-N_v; %Condiciones iniciales n33=m*x_g*u-N_r; Mz=[Mz11 Mz12 % u=0.1; Mz21 Mz22]; M=[m11 0 0 %% 0 m22 m23 %Bucle de control 0 m32 m33] for i=1:1:length(ttt) C=[0 0 c13 %Angulos implicados 0 0 c23 beta=atan2(v,u); -c13 -c23 0] betav(i)=beta; D=[d11 0 0 0 d22 d23 theta_ast=newtonr2(0,theta,1e- 0 d32 d33] 6,1000,x,y); N_nu=[n11 0 0 0 n22 n23 xd_ast=A*sin(theta_ast/lambda); 0 n32 n33]; yd_ast=theta_ast; i=1; dxd_ast=(A/lambda)*cos(theta_ast/ %% lambda); dyd_ast=1; %Parametros del modelo de referencia %Angulo PSI ddxd_ast=- wc=1.5; (A/lambda^2)*sin(theta_ast/lambda dddpsi_d=0; ); ddpsi_d=0; ddyd_ast=0; dpsi_d=0; psi_d=0; Chip=atan2(dyd_ast,dxd_ast); %Velocidad surge Chipv(i)=Chip; wcu=0.5; ddu_d=0; % du_d=0; R_chip=[cos(Chip) -sin(Chip) u_d=0.1; sin(Chip) cos(Chip)]; % varepsilon=Rp_chit'*[x- %% xd;y-yd]; %Parametros del controlador cc=0.75; Alon_Cros_e = R_chip'*[x- k_1=20; xd_ast;y-yd_ast]; k_2=20; k_3=1; % s=varepsilon(1); % e=varepsilon(2); K=diag([k_1;k_2;k_3]); % x_e=Alon_Cros_e(1); GAMMA_MTR=0.5*eye(3); y_e=Alon_Cros_e(2); Mz11=-cc; deltatheta=(deltatheta_max- Mz12=h'; deltatheta_min)*exp(- Mz21=-inv(M)*h; K_deltatheta*y_e^2)+deltatheta_mi Mz22=-inv(M)*K; n; %Chir=atan2(-e,deltatheta); else % remainder~=0 Chir=atan2(-y_e,deltatheta); if( sign(remainder)>0 ) % Chirv(i)=Chir; sign(remainder)==1 psi_mapped = psi_d - tt=tt+dt; (n+1)*pi; t(i)=tt; else % sign(remainder)<0, XYPSI(:,i)=eta; sign(remainder)==-1 nuv(:,i)=nu; psi_mapped = psi_d - (n- 1)*pi; end end psi_los=Chip+Chir-beta; psi_d=psi_mapped; psi_now=psi_los; psidv(i)=psi_los; %% %Mapping angle from to <0;2pi> %% %Para el controlador %REFERENCE MODEL if(psi_d<0) %Angulo PSI psi_mapped = psi_d + 2*pi; dddpsi_d=-3*wc*ddpsi_d- else 3*wc^2*dpsi_d- psi_mapped = psi_d; wc^3*psi_d+wc^3*psi_los; end ddpsi_d=ddpsi_d+dt*dddpsi_d; drd=ddpsi_d; %psi_d=psi_mapped; dpsi_d=dpsi_d+dt*ddpsi_d; rd=dpsi_d; %% psi_d=psi_d+dt*dpsi_d; %Controlador psi_dv(i)=psi_d; z1=psi-psi_d; z21=u-u_d; z22=v-alpha_2; %Velocidad surge z23=r-alpha_3; ddu_d=-2*wcu*du_d- wcu^2*u_d+wcu^2*ud; Z=[z1 du_d=du_d+dt*ddu_d; z21 u_d=u_d+dt*du_d; z22 u_dv(i)=u_d; z23]; Zv(:,i)=Z; %% %Mapping angle from to % dZ=Mz*Z; % Z=Z+dt*dZ; if( sign(psi_d)>0 ) % sign(psi)==1 %Vector de control Alpha n = floor(psi_d/pi); alpha_1=u_d; elseif( sign(psi_d)<0 ) % alpha_3=-cc*z1+rd; sign(psi)==-1 dalpha_3=-cc*(r-rd)+drd; n = ceil(psi_d/pi); else n = 0; end remainder = rem(n,2); dalpha_2=(1/m22)*(- n22*alpha_2+(k_2-n22)*z22- if( remainder==0 ) m23*dalpha_3-n23*r- psi_mapped = psi_d - n*pi; (bb_hat(1)*sin(psi)- title('Posición X-Y') bb_hat(2)*cos(psi))); xlabel('Este [m]') alpha_2=alpha_2+dt*dalpha_2; ylabel('Norte [m]') grid on tau_1= m11*du_d+n11*u-k_1*(u- plot(XYPSI(2,:),XYPSI(1,:),'r','L u_d)- ineWidth',1.5) (bb_hat(1)*cos(psi)+bb_hat(2)*sin legend('Ruta de referencia','Ruta (psi)); obtenida') tau_3= m32*dalpha_2+m33*dalpha_3+n32*v+n %Parametros del barco 33*r-k_3*(r-alpha_3)-z1- La=2;%metros bb_hat(3); L1=La/3;%metros L2=La/6;%metros dbb_hat=GAMMA_MTR*R_psi*Z(2:4,1); bb_hat=bb_hat+dt*dbb_hat; nk=length(t); for k = 1:50000:nk tau=[tau_1;0;tau_3]; x = XYPSI(2,k); y = XYPSI(1,k); fi1 = pi-XYPSI(3,k); tauv(:,i)=tau; x1 = x - L2*cos(fi1); y1 = y - L2*sin(fi1); %Modelo del barco x2 = x1 + L1*cos(fi1); y2 = dnu=inv(M)*(- y1 + L1*sin(fi1); N_nu*nu+tau+R_psi'*bb); nu=nu+dt*dnu; xA = x2 - La/2*sin(fi1); %nuv(:,i)=nu; yA = y2 + La/2*cos(fi1); xB = x2 + La/2*sin(fi1); R_psi=[cos(psi) -sin(psi) 0 yB = y2 - La/2*cos(fi1); sin(psi) cos(psi) 0 xC = x1 + La/2*sin(fi1); 0 0 1]; yC = y1 - La/2*cos(fi1); xD = x1 - La/2*sin(fi1); deta=R_psi*nu; yD = y1 + La/2*cos(fi1); eta=eta+dt*deta; xE = x + 1.5*La/2*sin(fi1); yE = y - 1.5*La/2*cos(fi1); u=nu(1); v=nu(2); xcab = [ xA; xB; xE; xC; xD; r=nu(3); xA; ]; ycab = [ yA; yB; yE; yC; yD; x=eta(1); yA; ]; y=eta(2); %plot(xE,yE,'gx'); psi=eta(3); plot(xcab,ycab,'- b','LineWidth',2) %pause(0.5); %plot(xcab,ycab,'- end w','LineWidth',2) %% end %%Graficos figure(3) figure(2) plot(t,(180/pi)*psidv,'r','LineWi plot(0:0.1:40*pi,A*sin((0:0.1:40* dth',2),hold on pi)/lambda),'--k','LineWidth',4) plot(t,(180/pi)*psi_dv,'-- hold on g','LineWidth',2),hold on %plot(y_losv,x_losv,'--r'),hold plot(t,(180/pi)*XYPSI(3,:),'k','L on ineWidth',2) %axis([-7 7 -2 10]) %plot(t,(180/pi)*Chitv,'b','LineW idth',2) plot(t,(180/pi)*betav,'m','LineWi dth',2) plot(t,(180/pi)*Chirv,'y','LineWi dth',2) plot(t,(180/pi)*Chipv,'c','LineWi dth',2) title('Ángulos de guiado') %legend('PSI-LOS','PSI-LOS REFERENCE MODEL','PSI- OBTENIDO','Chit','SideSlip','Chir ','Chip') legend('\psi_{REF} Ángulo yaw de referencia','\psi_{MREF} Ángulo yaw con modelo de referencia','\psi_{LOS} Ángulo yaw obtenido','\beta Ángulo de deslizamiento','\chi_r Ángulo rotación de marco móvil','\chi_p Ángulo tangencial paramétrico') %legend('PSI-LOS REFERENCE MODEL','PSI- OBTENIDO','Chit','SideSlip','Chir ') grid on xlabel('Tiempo [s]') ylabel('Ángulo [grad]') figure(4) subplot(411) plot(t,Zv(1,:)),grid on title('Z (z1,z21,z22,z23)') subplot(412) plot(t,Zv(2,:)),grid on subplot(413) plot(t,Zv(3,:)),grid on subplot(414) plot(t,Zv(4,:)),grid on figure(5) subplot(211) plot(t,tauv(1,:)),grid on title('\tau (tau1,tau3)') subplot(212) plot(t,tauv(3,:)),grid on figure(6) subplot(311) plot(t,nuv(1,:)),grid on,hold on plot(t,u_dv,'g') title('\nu (u,v,r)') subplot(312) plot(t,nuv(2,:)),grid on subplot(313) plot(t,nuv(3,:)),grid on Anexo B Script en MATLAB para eliminar puntos no ncesarios 99 100 / 152 Q=[Vx(p),Vy(p)];%Puntos X-Y Pf(k,:)=Pini;%Punto inicial for i=1:length(p)-3 Q1=Q(k,:); Q2=Q(i+2,:); %P=Q(i+1,:); %if(norm(Q1-Q2)) [xrr,yrr]=LineOffset([Q1(1) Q2(1)],[Q1(2) Q2(2)],1);%Tolerancia if(polyxpoly(xrr',yrr',x,y,'unique') ~= 0) k=k+1; plot(xrr,yrr,'c','LineWidth',1) else Q(k,:)=Q1; Q(k+1,:)=Q2; end end Q(k+1,:)=Q2; Q(k+2,:)=Pfin;%Punto Final Cayetano Cáceres, PUCP Anexo C Script en MATLAB para generar Rutas con el Polinomio Cúbico de Hermite 101 102 / 152 %POlINOMIO CUBICO DE HERMITE clear all; close all; clc; load('WayPoints') yh=Wpt(:,1)'; xh=Wpt(:,2)'; nWpt=length(Wpt(:,1)); figure(2) hold on plot(yh,xh,'-*k','LineWidth',1.5); t=xh(1):0.1:xh(length(xh)); PP=pchip(xh,yh,t); PPs=spline(xh,yh,t); %Matriz Hermita MH=[2 -2 1 1 -3 3 -2 -1 0 0 1 0 1 0 0 0]; MHa=[2*eye(2) -2*eye(2) 1*eye(2) 1*eye(2) -3*eye(2) 3*eye(2) -2*eye(2) -1*eye(2) 0*eye(2) 0*eye(2) 1*eye(2) 0*eye(2) 1*eye(2) 0*eye(2) 0*eye(2) 0*eye(2)]; for k=1:(nWpt-2) vin=(Wpt(k+1,:)-Wpt(k,:))/norm(Wpt(k+1,:)-Wpt(k,:),2); vinv(k,:)=vin; vout=(Wpt(k+2,:)-Wpt(k+1,:))/norm(Wpt(k+2,:)-Wpt(k+1,:),2); voutv(k,:)=vout; end tannv(1,:)=vinv(1,:); tannv(nWpt,:)=voutv(nWpt-2,:); for k=1:(nWpt-2) tann=(vinv(k,:)+voutv(k,:))/norm(vinv(k,:)+voutv(k,:),2); tannv(k+1,:)=tann; end omegav=0:0.001:1; thetav=0:0.001:(nWpt-1); inte=0;x1=0;x2=0;y1=0;y2=0; Cayetano Cáceres, PUCP 103 / 152 for k=1:(nWpt-1) coef=MHa*[Wpt(k,:)';Wpt(k+1,:)';tannv(k,:)';... tannv(k+1,:)']; coefy(k,:)=(MH*[Wpt(k,1)';Wpt(k+1,1)';tannv(k,1)';... tannv(k+1,1)'])'; coefx(k,:)=(MH*[Wpt(k,2)';Wpt(k+1,2)';tannv(k,2)';... tannv(k+1,2)'])'; end for k=1:length(thetav) theta=thetav(k); if theta==0 i=1; else i=ceil(theta); end omega=theta-(i-1); yp(k)=polyval(coefy(i,:),omega); xp(k)=polyval(coefx(i,:),omega); x2=xp(k); y2=yp(k); inte=inte+sqrt((x2-x1)^2+(y2-y1)^2); intev(k)=inte; x1=x2; y1=y2; end intev=intev-1; %% plot(yp,xp,'m','LineWidth',2) title('Posición X-Y') xlabel('Y [m]'); ylabel('X [m]'); legend('Ruta deseada','Ruta generada') grid on axis equal figure(4) subplot(211) plot(intev,xp,'LineWidth',2) title('Ruta en X') Cayetano Cáceres, PUCP 104 / 152 ylabel('X [m]'); xlabel('Longitud de ruta [m]') grid on subplot(212) plot(intev,yp,'LineWidth',2) title('Ruta en Y') ylabel('Y [m]'); xlabel('Longitud de ruta [m]') grid on Cayetano Cáceres, PUCP Anexo D Script en MATLAB para generar Rutas con la espiral de Fermat 105 106 / 152 %Espiral de Fermat clear all; close all; clc; load('WayPoints') yh=Wpt(:,1)'; xh=Wpt(:,2)'; nWpt=length(Wpt(:,1)); R1=4; kappa_max=1/R1; w_theta=0:0.1:1; w_theta1=0:0.1:1; figure(2) plot(yh,xh,'-*k','LineWidth',1.5); hold on for k=1:(length(Wpt)-2) vin=(Wpt(k+1,:)-Wpt(k,:))/norm(Wpt(k+1,:)-Wpt(k,:),2); vinv(k,:)=vin; Chi_ini=atan2(vin(1),vin(2)); Chi_iniv(k)=Chi_ini; vout=(Wpt(k+2,:)-Wpt(k+1,:))/norm(Wpt(k+2,:)-Wpt(k+1,:),2); voutv(k,:)=vout; Chi_end=atan2(vout(1),vout(2)); Chi_endv(k)=Chi_end; delta_Chi=acos(dot(vin,vout)); delta_Chiv(k)=delta_Chi; rho=-sign(vin(1)*vout(2)-vin(2)*vout(1)); rhov(k)=rho; tann=(vin+vout)/norm(vin+vout,2); tannv(k,:)=tann; tannL=rho*[tann(2) -tann(1)]; tannLv(k,:)=tannL; cent=Wpt(k+1,:)+R1*tannL; centv(k,:)=cent; %plotcirc(cent(1),cent(2),R1) tic theta_end=halley(delta_Chi/2,pi/8,1e-5,100); toc theta_endv(k)=theta_end; Cayetano Cáceres, PUCP 107 / 152 theta_kmax=min(theta_end,sqrt(sqrt(7)/2-5/4)); K_param=(1/kappa_max)*2*sqrt(theta_kmax)*(3+4*theta_kmax^2)... /(1+4*theta_kmax^2)^(3/2); K_paramv(k)=K_param; alpha=(pi-delta_Chi)/2; LL1=K_param*sqrt(theta_end)*cos(theta_end); hh=K_param*sqrt(theta_end)*sin(theta_end); LL2=hh/tan(alpha); LL=LL1+LL2; PP1=Wpt(k+1,:)-LL*vin; PP2=Wpt(k+1,:)+LL*vout; Wptff(3*k-1,:)=PP1; Wptff(3*k,:)=PP2; Wptff(3*k+1,:)=PP2; %plot(PP1(1),PP1(2),'g*') theta=theta_end*w_theta; theta1=theta_end*w_theta1; FS1=[PP1(1)+K_param*sqrt(theta).*sin(rho*theta+Chi_ini); PP1(2)+K_param*sqrt(theta).*cos(rho*theta+Chi_ini)]; %plot(FS1(1,:),FS1(2,:),'-k') FS2=[PP2(1)-K_param*sqrt(theta_end-theta1).*sin(rho*... (theta1-theta_end)+Chi_end); PP2(2)-K_param*sqrt(theta_end-theta1).*cos(rho*(theta1... -theta_end)+Chi_end)]; %plot(FS2(1,:),FS2(2,:),'-k') end nWptff=3*nWpt-4; Wptff(1,:)=Wpt(1,:); Wptff(nWptff,:)=Wpt(nWpt,:); for k=1:(nWptff-1) vlinff=(Wptff(k+1,:)-Wptff(k,:)); vlinffv(k,:)=vlinff; end thetav=0:0.001:(nWptff-1); inte=0;x1=0;x2=0;y1=0;y2=0; for k=1:length(thetav) theta=thetav(k); if theta==0 i=1; Cayetano Cáceres, PUCP 108 / 152 else i=ceil(theta); end omega=theta-(i-1); dpar=(i+2)/3-floor((i+2)/3); dtri=(i+1)/3-floor((i+1)/3); if dpar==0 yp(k)=Wptff(i,1)+omega*vlinffv(i,1); xp(k)=Wptff(i,2)+omega*vlinffv(i,2); elseif dtri==0 omega=omega*theta_endv((i+1)/3); ufe=sqrt(omega); yp(k)=Wptff(i,1)+K_paramv((i+1)/3)*ufe*sin(rhov((i+1)/3)*ufe^2... +Chi_iniv((i+1)/3)); xp(k)=Wptff(i,2)+K_paramv((i+1)/3)*ufe*cos(rhov((i+1)/3)*ufe^2... +Chi_iniv((i+1)/3)); else omega=omega*theta_endv(i/3); yp(k)=Wptff(i,1)-K_paramv(i/3)*sqrt(theta_endv(i/3)-omega)... *sin(rhov(i/3)*(omega-theta_endv(i/3))+Chi_endv(i/3)); xp(k)=Wptff(i,2)-K_paramv(i/3)*sqrt(theta_endv(i/3)-omega)... *cos(rhov(i/3)*(omega-theta_endv(i/3))+Chi_endv(i/3)); end x2=xp(k); y2=yp(k); %inte=inte+(x2-x1)*(y1+y2)/2; inte=inte+sqrt((x2-x1)^2+(y2-y1)^2); intev(k)=inte; x1=x2; y1=y2; end intev=intev-1; plot(yp,xp,'m','LineWidth',2) %legend('lineas','pchip','spline','cubic hermite') title('Posición X-Y') xlabel('Y [m]'); ylabel('X [m]'); legend('Ruta deseada','Ruta generada') grid on Cayetano Cáceres, PUCP 109 / 152 axis equal figure(4) subplot(211) plot(intev,xp,'LineWidth',2) title('Ruta en X') ylabel('X [m]'); xlabel('Longitud de ruta [m]') grid on subplot(212) plot(intev,yp,'LineWidth',2) title('Ruta en Y') ylabel('Y [m]'); xlabel('Longitud de ruta [m]') grid on Cayetano Cáceres, PUCP Anexo E Propuesta de implentación de barco para monitoreo de variables marinas 110 E.1. Introducción 111 / 152 E.1. Introducción En este anexo se analizará una propuesta de implementación, para realizar las pruebas de los algoritmos y darle una aplicación real al sistema, que vendría a ser monitorear las variables marinas del litoral en todo momento (régimen 24/7), como primera fase se realizará las pruebas de funcionamiento en un ambiente controlado, por ejemplo una piscina, por lo cual el alcance de este anexo será únicamente implementar esta primera fase, una fase posterior sería integrar el barco a un sistema satelital para hacer un mapeo de todo el litoral y realizar todo el procesamiento en un computadora dentro de la embarcación. Las ventajas de tener un sistema autónomo, tienen que ver con la seguridad, tener data constante y ahorros económicos, debido a que actualmente para la toma de datos se usan barcos grandes y al menos dos personas conforman la tripulación por embarca- ción, personal que claramente no puede cumplir con el régimen 24/7. Además por estos tiempos la seguridad en las operaciones ha tomado un gran papel en las decisiones, por lo que frente a un fenómeno que tenga cierto grado de peli- grosidad será poco probable enviar un equipo de personas a revisar las áreas en mención, diferente a enviar un robot autónomo, que a lo más puede causar gastos materiales pero no exponer al peligro vidas humanas. Para lograr este objetivo y luego de un análisis económico/técnico se ha seleccionado un barco prototipo de nombre Echo Boat RC (Ver Anexo F). El Echo Boat RC suministrado por la compañía SEAFLOOR, es un barco básico que solo cuenta con los actuadores, por lo que la implementación de los sensores y sistema control para monitoreo serán seleccionados, instalados y probados in-house. A continuación se muestra una propuesta básica-práctica para la primera fase de implementación del barco autónomo, para control y monitoreo de variables marinas, Echo-Boat RC. (Ver Figura E.1). Los objetivos de la primera fase son los siguientes: • Dar a conocer la lógica de funcionamiento del sistema. • Proponer sensores y actuadores necesarios para el trabajo de monitoreo- autónomo. • Proponer sistemas embebidos capaces de realizar el control y lectura de los sensores. Para la implementación se establecerá comunicación a bajo nivel entre los sistemas embebidos y el barco de monitoreo. Se tendrá un acceso a los datos a través de la computadora principal, que estará en la estación remota de control. Cayetano Cáceres, PUCP E.2. Propuesta de instrumentación 112 / 152 Figura E.1: Echo boat RC, barco de monitoreo (Seaoor) E.2. Propuesta de instrumentación Para realizar la instrumentación del barco de monitoreo, se requiere la iden- ticación de variables que requieren monitorear. En tal sentido el sistema deberá tener los siguientes componentes: • Un sensor inercial, para determinar la aceleración del sistema. • Un sensor de viento, para monitorear la velocidad del viento en determinado punto. • Un sensor de humedad y temperatura. • Un sensor de presión barométrica. • Un sensor de PH. • Controladores embebidos Arduino y Raspberry. • Una antena Wireless, para la comunicación remota entre el barco y la esta- ción de control. (Xbee) • Motores. E.2.1. Selección de sensores/transmisores Como sabemos la utilidad de los sensores en la embarcación a implementar será para realizar el control de posición y monitoreo de variables marinas, por lo cual se determinó los rangos dentro de los que debía trabajar así como su compatibilidad con las tarjetas embebidas que servirán para realizar el control. Los sensores que se usarán para la implementación serán los siguientes: Cayetano Cáceres, PUCP E.2. Propuesta de instrumentación 113 / 152 E.2.1.1. Sensor de Inercia (IMU) Este sensor nos servirá para realizar el control del barco de monitoreo. El sensor de inercia, mide aceleración y velocidad angular. Este sensor está com- puesto por acelerómetros, giroscopios y magnetómetros. Cabe resaltar que para utilizar este sensor se debe pasar por una etapa de calibración. Para mayores de- talles de presenta la cha técnica en el Anexo G y una foto referencial, Figura E.2. Figura E.2: Foto sensor inercial IMU E.2.1.2. Sensor de viento Sensor meteorológico que mide la velocidad y dirección del viento, este será un dato recolectado por el barco. La hoja técnica del sensor seleccionado se puede ver en el Anexo H. E.2.1.3. Sensor de humedad y temperatura de ambiente Una de las variables que se deben monitorear es la humedad relativa del área. Para esto se usará el sensor RHT03 que es un sensor de humedad y temperatura de muy bajo costo con un solo cable de interfaz. El sensor viene calibrado por lo cual no es necesario realizar alguna acción adicional. Para mayores detalles se deja la hoja técnica del mismo en el Anexo I y una foto referencial, Figura E.3. E.2.1.4. Sensor de temperatura del agua Para realizar esta labor se usará el sensor DS18B20. Este sensor es un sen- sor que se comunica en forma digital, para lo cual consta de 3 terminales, 2 de alimentación y 1 para los datos. Su interacción con los sistemas embebidos es muy sencilla. Para mayores detalles revisar la hoja técnica que se presenta en el Anexo J y una foto referencial se muestra en la Figura E.4. Cayetano Cáceres, PUCP E.2. Propuesta de instrumentación 114 / 152 Figura E.3: Sensor de humedad seleccionado RHT03 (Sparkfun) Figura E.4: Sensor de temperatura DS18B20-Spark Fun Cayetano Cáceres, PUCP E.2. Propuesta de instrumentación 115 / 152 E.2.1.5. Sensor de presión Otra de las variables que se requieren medir es la presión para lo cual se usara el sensor de presión MPL3115A2, sensor de bajo costo y de alta resolución, la salida del sensor nos muestra el valor de presión en pascales, también nos puede entregar un valor de altura en metros. Ademas, cuenta con comunicación I2C que hace más fácil su integración con Arduino, se presenta una foto referencial en la Figura E.5 y las principales características se muestran en su hoja técnica mostrada en el Anexo K . Figura E.5: Sensor de presión MPL3115A2-Sparkfun E.2.1.6. Sensor de salinidad (Conductividad) Una de las variables de monitoreo importante es la salinidad del agua, para ello se usará un sensor de conductividad, este sensor nos medirá la conductividad en microSiemens. Siemens es una unidad internacional que nos sirve para medir conductancia que es simplemente la inversa de la resistencia de un elemento, esto puede decirnos mucho de una sustancia en particular. Para poner en funciona- miento este kit, mostrado en la Figura E.6, solo basta con realizar las conexiones indicadas en la hoja de datos que se presenta en el Anexo L. E.2.1.7. Sensor de PH Para el registro del PH, se usará un kit,mostra en la Figura E.7, el cual contará con un punta de prueba y soluciones buer para la calibración del sensor, además se tendrá una tarjeta que brindará la libertad de conectar el sensor con cual- quier microcontrolador de forma directa. Para ver las principales características y conexiones, se sugiere de revisar el Anexo M. Cayetano Cáceres, PUCP E.2. Propuesta de instrumentación 116 / 152 Figura E.6: Kit de sensor de conductividad-Sparkfun Figura E.7: Kit de sensor de PH-Sparkfun Cayetano Cáceres, PUCP E.2. Propuesta de instrumentación 117 / 152 E.2.1.8. Módulo XBee Es un módulo de comunicación inalámbrica hecha por la empresa Digi. Es- te módulo es una solución embebida que provee conexión libre de cables hacia dispositivos, usa el protocolo de red IEEE 802.15.4 para comunicación punto- multipunto ó punto a punto. Esta desarrollado para aplicaciones de alto rendi- miento que requieren baja latencia y tiempo de comunicación conable, son idea- les para aplicación de bajo consumo o bajo costo, las conexiones con el raspberry se muestran en la Figura E.8 y las principales características y especicaciones son presentadas en el Anexo N Figura E.8: Conexión típica, Raspberry PI + Xbee E.2.2. Actuadores E.2.2.1. Motores y hélices El barco de monitoreo consta de 2 motores idénticos, los motores serán motores DC sin escobillas, de modelo LBP56110 – 640KV, ver Anexo Ñ. Estos motores conectados mediante un eje a hélices servirán como actuadores en el barco de monitoreo, Figura E.9, de acuerdo a la conguración propia estos servirán para que el barco se desplace hacia adelante dándole la misma velocidad a los motores, mientras que para girar el barco se tendrá que asignar velocidades diferentes a los motores. Cabe resaltar que la etapa de potencia viene con los motores, por lo cual lo único que se requiere para activarlos es enviar señal de control del tipo ppm. E.2.3. Sistema de Control Respecto al controlador, para este caso al necesitar un sistema de bajo con- sumo de energía y capaz de realizar el control y adquisición de datos, se usará un computador de placa reducida (Sistema embebido), este será conectado a un sistema de radiocomunicación inalámbrica Xbee para tener comunicación con una computadora maestra que será el centro de control. Para la comunicación de bajo Cayetano Cáceres, PUCP E.2. Propuesta de instrumentación 118 / 152 Figura E.9: Actuadores de barco de monitoreo nivel que será para los sensores y actuadores se trabajará con la placa de desa- rrollo Arduino. A continuación se detallará más sobre los elementos asociados al sistema de control. E.2.3.1. Raspberry PI Es un computador de placa reducida, de bajo costo creado con el n de esti- mular la enseñanza en ciencias de la computación. Esta placa cuenta con puertos de entrada, salida digitales, puertos usb, además puede soportar comunicación CAN, I2C. Es de fácil programación y por su gran difusión, se pueden encontrar muchos programas y librerías desarrolladas para aplicaciones como comunicación con sensores ó comunicación con las PC, en la Figura E.10, se muestra la versión Raspberry PI B+. Para nuestra aplicación el Raspberry será conectado a un computador, que hará de estación de remota de control, a través de un Xbee. Además, el Raspberry será conectado a dos arduinos a n de poder recibir la información de los sensores y enviar acciones con los actuadores a través de comunicación y no de cableado duro, esto con el n de distribuir las funciones y no sobrecargar el sistema en un solo sistema embebido. E.2.3.2. Arduino R3 uno Es una plataforma de hardware libre, que posee un micro-controlador Atmel AVR, que tiene un entorno capaz de conectarse a diferentes sensores o actua- dores, y hacer posible desarrollar proyectos electrónicos multidisciplinarios. En Cayetano Cáceres, PUCP E.2. Propuesta de instrumentación 119 / 152 Figura E.10: Tarjeta Raspberry PI + nuestra aplicación se usarán 2 placas arduino, la primera será para conectarse con los sensores de monitoreo (Temperatura, Presión, IMU, etc.) y poder tomar datos que serán enviados al Raspberry PI, la segunda será para accionar los ac- tuadores (motores) a través de una señal de tipo ppm, que le dirá a los motores la velocidad a la que deben moverse. En la Figura E.11, se puede ver un Arduino 1. Figura E.11: Placa arduino E.2.3.3. Computador de monitoreo Se implementará una estación remota de control. Para enviar y recibir datos desde el controlador Raspberry a través del Xbee. Con este se podrá leer y alma- cenar los valores de las variables, además de poder tomar acción sobre el barco de monitoreo. Será posible frente a una situación de emergencia pasar a modo manual, y poder maniobrar desde el computador el barco de monitoreo. Cayetano Cáceres, PUCP E.3. Propuesta de implementación del controlador desarrollado 120 / 152 E.3. Propuesta de implementación del controla- dor desarrollado La implementación del controlador desarrollado se realizará en la tarjeta Rasp- berry PI, para esto se realizará la programación del controlador no lineal teniendo como entradas las señales adquiridas por el sensor inercial para determinar las aceleraciones y un sistema mediante cámaras para determinar la posición, para lo demás será necesario implementar un observador capaz de estimar la velocidad. Luego de realizar el cálculo a partir de estos valores se procederá a obtener una señal de control que será enviada como referencia a la tarjeta Arduino, está a su vez enviar dicha referencia de velocidad a los motores de tal manera que el barco logre alcanzar los estados adecuados, el esquema se muestra en la Figura E.12. El sistema de mayor nivel jerárgico , computadora, se encargara de enviar la referencia de posición y velocidad al barco, a través del modulo Xbee. Figura E.12: Sistemas embebidos, sensores y actuadores que son partes del control autónomo del barco Cayetano Cáceres, PUCP E.4. Propuesta de sistema de control y monitoreo 121 / 152 E.4. Propuesta de sistema de control y monitoreo Para la implementación de sistema de control, se hará uso de los sistemas em- bebidos Raspberry PI y Arduino, así como de un computador que hará de sistema de monitoreo. La arquitectura que se seguirá será la presentada en la Figura E.13). Figura E.13: Arquitectura del sistema de control y monitoreo E.5. Conclusiones • Se seleccionaron los sensores necesarios para realizar el control de la embar- cación y el monitoreo de las variables marinas deseadas. Se detallaron uno a uno y se presentaron los sistemas embebidos que se usaran para el control y recolección de datos del sistema de monitoreo. • Para la implementación práctica se propuso sensores y sistemas embebidos de bajo costo y de bajo consumo de energía a n de hacer más viable la implementación. Además se debe considerar que hay librerías y programas desarrollados para integrar los sensores con los sistemas embebidos uno a uno, lo que se debe hacer es replantear a n de lograr la conexión del sistema integral. Cayetano Cáceres, PUCP E.5. Conclusiones 122 / 152 • Se propone que el monitoreo del barco sea mediante una PC remota, además se debe considerar que el sistema debe constar de una opción para control manual, para poder guiar al barco por si ocurre algún problema con el control autónomo del barco. Cayetano Cáceres, PUCP Anexo F Echo Boat RC 123 SeafloorTM Hoja de datos EchoBoat-RCVtm Beneficios • Instrumentación personalizada a requisito del cliente. • Acceso a creas remotas • Operacion llave en mano. Acerca de Embarcación EchoBoat levantando en un río. El sistema EchoBoat-RCV es una platforma cuente el cliente. Asimismo se puede incluir de estudios hidrograficos contralada un cableado personalizado, aceptando remotamente. El control remoto de la equipos existentes de GPS, GNSS, y RTK. embarcación de levantamiento es sencillo, Para un sistema llave en mano con calidad utilizando la posición GPS y rumbo en tiempo hidrográfica, es el EchoBoat-RCV puede real, visible en la orilla a través de la aplicación ser equipado con haz sencillo, multihaz, y de escritorio remoto. El control remoto de sistemas de sonar de barrido lateral. alto poder tiene hasta 1 Km de alcance y la embarcación proporciona hasta 8 horas de El EchoBoat-RCV es compatible con software operación con un solo paquete de baterías. de adquisición de datos hidrográficos como HYPACK, HYDROpro, y OINSY, y utiliza el Para estudios hidrográficos profesionales, formato de datos NMEA estándar para interfaz el EchoBoat-RCV puede cumplir con las de datos. especificaciones particulares del cliente. La embarcación se puede adquirir con la ecosonda preinstalada, o ser preparada para recibir uno de los equipos con los que Datos de ADCP (Perfilador Doppler) de levantamiento en río. Levantamiento de río con ecosonda multihaz Rev 06/09/2015 Especificaciones Velocidad típica de levantamiento ……………………… 3 kts (1.5 m/s) Velocidad máxima ……………………………………… 10 kts (5 m/s) Eslora ……………………………………………………… 180 cm Manga …………………………………………………… 90 cm Duración de la batería (Velocidad máxima) …………… 90 min = aprox 3 millas Duración de la batería (velocidad de crucero) ……… 240 min = approx 5 millas Carga útil ………………………………………………… 40 libras/18 kg Energía de batería ……………………………………… 12v LiFe P04 12v (1) Motor ……………………………………………………… DC sin escobillas outdrive Material de casco de la embarcación ………………… ABS resistente a UV Peso del casco …………………………………………… 23 kg / 46 libras Herrajes …………………………………………………… Acero inoxidable Control remoto …………………………………………… Futaba 2.4 GHz Antena …………………………………………………… Omni-direccional Rango de control remoto………………………………… 1,000 m GPS ……………………………………………………… Especificado por el clienteo Comunicaciones ………………………………………… Radio modem Bluetooth/900 MHZ radio ……………………………………………………………… modem de amplio espectro Montaje del transductor ………………………………… A través del casco Instrumentación SONDA GPS AUXILIAR Ecosonda Multihaz RTK/GNSS SVS Ecosonda de haz sencillo DGPS/ADCP SVP ADCP CTD Sonar de barrido lateral Levantamiento de ecosonda multihaz de Puente sumergido. Imagen de sonar de barrido lateral. Seafloor Systems, Incorporated 3941 Park Drive, Suite 20-218 · El Dorado Hills, CA 95762 · USA (530) 677–1019 · info@seafloorsystems.com · www.seafloorsystems.com Rev 06/09/2015 Anexo G Sensor de Inercia IMU 126 Document Number: PS-MPU-9150A-00 MPU-9150 Product Specification Revision: 4.3 Release Date: 9/18/2013 5 Features 5.1 Gyroscope Features The triple-axis MEMS gyroscope in the MPU-9150 includes a wide range of features:  Digital-output X-, Y-, and Z-Axis angular rate sensors (gyroscopes) with a user-programmable full- scale range of ±250, ±500, ±1000, and ±2000°/sec  External sync signal connected to the FSYNC pin supports image, video and GPS synchronization  Integrated 16-bit ADCs enable simultaneous sampling of gyros  Enhanced bias and sensitivity temperature stability reduces the need for user calibration  Improved low-frequency noise performance  Digitally-programmable low-pass filter  Factory calibrated sensitivity scale factor  User self-test 5.2 Accelerometer Features The triple-axis MEMS accelerometer in MPU-9150 includes a wide range of features:  Digital-output 3-Axis accelerometer with a programmable full scale range of ±2g, ±4g, ±8g and ±16g  Integrated 16-bit ADCs enable simultaneous sampling of accelerometers while requiring no external multiplexer  Orientation detection and signaling  Tap detection  User-programmable interrupts  High-G interrupt  User self-test 5.3 Magnetometer Features The triple-axis MEMS magnetometer in MPU-9150 includes a wide range of features:  3-axis silicon monolithic Hall-effect magnetic sensor with magnetic concentrator  Wide dynamic measurement range and high resolution with lower current consumption.  Output data resolution is 13 bit (0.3 µT per LSB)  Full scale measurement range is ±1200 µT  Self-test function with internal magnetic source to confirm magnetic sensor operation on end products 5.4 Additional Features The MPU-9150 includes the following additional features:  9-Axis MotionFusion via on-chip Digital Motion Processor (DMP) 2  Auxiliary master I C bus for reading data from external sensors (e.g., pressure sensor) 2  Flexible VLOGIC reference voltage supports multiple I C interface voltages  Smallest and thinnest package for portable devices: 4x4x1mm LGA  Minimal cross-axis sensitivity between the accelerometer, gyroscope and magnetometer axes  1024 byte FIFO buffer reduces power consumption by allowing host processor to read the data in bursts and then go into a low-power mode as the MPU collects more data  Digital-output temperature sensor  User-programmable digital filters for gyroscope, accelerometer, and temp sensor  10,000 g shock tolerant Proprietary and Confidential 9 of 50 Document Number: PS-MPU-9150A-00 MPU-9150 Product Specification Revision: 4.3 Release Date: 9/18/2013 2  400kHz Fast Mode I C for communicating with all registers  MEMS structure hermetically sealed and bonded at wafer level  RoHS and Green compliant 5.5 MotionProcessing  Internal Digital Motion Processing™ (DMP™) engine supports 3D MotionProcessing and gesture recognition algorithms  The MPU-9150 collects gyroscope, accelerometer and magnetometer data while synchronizing data sampling at a user defined rate. The total dataset obtained by the MPU-9150 includes 3-Axis gyroscope data, 3-Axis accelerometer data, 3-Axis magnetometer data, and temperature data.  The FIFO buffers the complete data set, reducing timing requirements on the system processor by allowing the processor burst read the FIFO data. After burst reading the FIFO data, the system processor can save power by entering a low-power sleep mode while the MPU collects more data.  Programmable interrupt supports features such as gesture recognition, panning, zooming, scrolling, tap detection, and shake detection  Digitally-programmable low-pass filters.  Low-power pedometer functionality allows the host processor to sleep while the DMP maintains the step count. 5.6 Clocking  On-chip timing generator ±1% frequency variation over full temperature range  Optional external clock inputs of 32.768kHz or 19.2MHz Proprietary and Confidential 10 of 50 Document Number: PS-MPU-9150A-00 MPU-9150 Product Specification Revision: 4.3 Release Date: 9/18/2013 6 Electrical Characteristics 6.1 Gyroscope Specifications Typical Operating Circuit of Section 7.2, VDD = 2.375V-3.465V, VLOGIC= 1.8V±5% or VDD, TA = 25°C PARAMETER CONDITIONS MIN TYP MAX UNITS NOTES GYROSCOPE SENSITIVITY Full-Scale Range FS_SEL=0 ±250 º/s FS_SEL=1 ±500 º/s FS_SEL=2 ±1000 º/s FS_SEL=3 ±2000 º/s Gyroscope ADC Word Length 16 bits Sensitivity Scale Factor FS_SEL=0 131 LSB/(º/s) FS_SEL=1 65.5 LSB/(º/s) FS_SEL=2 32.8 LSB/(º/s) FS_SEL=3 16.4 LSB/(º/s) Sensitivity Scale Factor Tolerance 25°C -3 +3 % Sensitivity Scale Factor Variation Over -40°C to +85°C ±0.04 %/°C Temperature Nonlinearity Best fit straight line; 25°C 0.2 % Cross-Axis Sensitivity ±2 % GYROSCOPE ZERO-RATE OUTPUT (ZRO) Initial ZRO Tolerance Component level (25°C) ±20 º/s ZRO Variation Over Temperature -40°C to +85°C ±20 º/s GYROSCOPE NOISE PERFORMANCE FS_SEL=0 Total RMS Noise DLPFCFG=2 (92Hz) 0.06 º/s-rms Rate Noise Spectral Density At 10Hz 0.005 º/s/√Hz GYROSCOPE MECHANICAL FREQUENCIES X-Axis 30 33 36 kHz Y-Axis 27 30 33 kHz Z-Axis 24 27 30 kHz LOW PASS FILTER RESPONSE Programmable Range 5 256 Hz OUTPUT DATA RATE Programmable 4 8,000 Hz GYROSCOPE START-UP TIME DLPFCFG=0 ZRO Settling to ±1º/s of Final 30 ms Proprietary and Confidential 11 of 50 Document Number: PS-MPU-9150A-00 MPU-9150 Product Specification Revision: 4.3 Release Date: 9/18/2013 6.2 Accelerometer Specifications Typical Operating Circuit of Section 7.2, VDD = 2.375V-3.465V, VLOGIC= 1.8V±5% or VDD, TA = 25°C PARAMETER CONDITIONS MIN TYP MAX UNITS NOTES ACCELEROMETER SENSITIVITY Full-Scale Range AFS_SEL=0 ±2 g AFS_SEL=1 ±4 g AFS_SEL=2 ±8 g AFS_SEL=3 ±16 g ADC Word Length Output in two’s complement format 16 bits Sensitivity Scale Factor AFS_SEL=0 16,384 LSB/g AFS_SEL=1 8,192 LSB/g AFS_SEL=2 4,096 LSB/g AFS_SEL=3 2,048 LSB/g Initial Calibration Tolerance ±3 % Sensitivity Change vs. Temperature AFS_SEL=0, -40°C to +85°C ±0.02 %/°C Nonlinearity Best Fit Straight Line 0.5 % ZERO-G OUTPUT Initial Calibration Tolerance X and Y axes ±80 mg Z axis ±150 mg Change over specified temperature – X & Y Axis ±0.75 mg/°C Component level -25°C to 85°C Z Axis mg/°C ±1.50 NOISE PERFORMANCE Power Spectral Density X, Y & Z Axes, @10Hz, 400 g/√Hz AFS_SEL=0 & ODR=1kHz Total RMS Noise AFS = 0 @100Hz 4 mg-rms LOW PASS FILTER RESPONSE Programmable Range 5 260 Hz OUTPUT DATA RATE Programmable Range 4 1,000 Hz INTELLIGENCE FUNCTION INCREMENT 32 mg/LSB Proprietary and Confidential 12 of 50 Anexo H Sensor de Viento 131 Weather Sensor Assembly p/n 80422 Imported by Argent Data Systems Usage Notes This kit includes a wind vane, cup anemometer, and tipping bucket rain gauge, with associated mounting hardware. These sensors contain no active electronics, instead using sealed magnetic reed switches and magnets to take measurements. A voltage must be supplied to each instrument to produce an output. Assembly The wind sensor arm mounts on top of the two-piece metal mast and supports the wind vane and anemometer. A short cable connects the two wind sensors. Plastic clips on the underside of the arm hold this cable in place. Screws are provided to secure the sensors to the arm. The rain gauge may be mounted lower on the mast using its own mounting arm and screw, or it may be mounted independently. Rain Gauge The rain gauge is a self-emptying tipping bucket type. Each 0.011” (0.2794 mm) of rain causes one momentary contact closure that can be recorded with a digital counter or microcontroller interrupt input. The gauge’s switch is connected to the two center conductors of the attached RJ11-terminated cable. Anemometer The cup-type anemometer measures wind speed by closing a contact as a magnet moves past a switch. A wind speed of 1.492 MPH (2.4 km/h) causes the switch to close once per second. The anemometer switch is connected to the inner two conductors of the RJ11 cable shared by the anemometer and wind vane (pins 2 and 3.) Wind Vane The wind vane is the most complicated of the three sensors. It has eight switches, each connected to a different resistor. The vane’s magnet may close two switches at once, allowing up to 16 different positions to be indicated. An external resistor can be used to form a voltage divider, producing a voltage output that can be measured with an analog to digital converter, as shown below. The switch and resistor arrangement is shown in the diagram to the right. Resistance values for all 16 possible positions are given in the table. Resistance values for positions between those shown in the diagram are the result of two adjacent resistors connected in parallel when the vane’s magnet activates two switches simultaneously. Direction Resistance Voltage (Degrees) (Ohms) (V=5v, R=10k) 0 33k 3.84v 22.5 6.57k 1.98v 45 8.2k 2.25v 67.5 891 0.41v 90 1k 0.45v 112.5 688 0.32v 135 2.2k 0.90v 157.5 1.41k 0.62v Example wind vane interface 180 3.9k 1.40v circuit. Voltage readings for a 202.5 3.14k 1.19v 5 volt supply and a resistor 225 16k 3.08v value of 10k ohms are given in 247.5 14.12k 2.93v the table. 270 120k 4.62v 292.5 42.12k 4.04v 315 64.9k 4.78v 337.5 21.88k 3.43v Anexo I Sensor de Humedad y temperatura de ambiente 134 Your specialist in innovating humidity & temperature sensors Digital relative humidity & temperature sensor RHT03 1. Feature & Application: *High precision *Outstanding long-term stability *Capacitive type *Extra components not needed *Full range temperature compensated *Long transmission distance, up to 100 meters *Relative humidity and temperature measurement *Low power consumption *Calibrated digital signal *4 pins packaged and fully interchangeable 2. Description: RHT03 output calibrated digital signal. It applys exclusive digital-signal-collecting-technique and humidity sensing technology, assuring its reliability and stability. Its sensing elements is connected with 8-bit single-chip computer. Every sensor of this model is temperature compensated and calibrated in accurate calibration chamber and the calibration-coefficient is saved in type of programme in OTP memory, when the sensor is detecting, it will cite coefficient from memory. Small size & low consumption & long transmission distance(100m) enable RHT03 to be suited in all kinds of harsh application occasions. Single-row packaged with four pins, making the connection very convenient. 3. Technical Specification: Model RHT03 Power supply 3.3-6V DC Output signal digital signal via MaxDetect 1-wire bus Sensing element Polymer humidity capacitor Operating range humidity 0-100%RH; temperature -40~80Celsius Accuracy humidity +-2%RH(Max +-5%RH); temperature +-0.5Celsius Resolution or sensitivity humidity 0.1%RH; temperature 0.1Celsius Repeatability humidity +-1%RH; temperature +-0.2Celsius - 1 - MaxDetect Technology Co., Ltd. http://www.humiditycn.com ----------------------------------------- Thomas Liu (Sales Manager) Email: thomasliu198518@yahoo.com.cn , sales@humiditycn.com Your specialist in innovating humidity & temperature sensors Humidity hysteresis +-0.3%RH Long-term Stability +-0.5%RH/year Interchangeability fully interchangeable 4. Dimensions: (unit----mm) 5. Electrical connection diagram: 6. Operating specifications: (1) Power and Pins Power's voltage should be 3.3-6V DC. When power is supplied to sensor, don't send any instruction to the sensor within one second to pass unstable status. One capacitor valued 100nF can be added between VDD and GND for wave filtering. (2) Communication and signal MaxDetect 1-wire bus is used for communication between MCU and RHT03. ( MaxDetect 1-wire bus is specially designed by MaxDetect Technology Co., Ltd. , it's different from Maxim/Dallas 1-wire bus, so it's incompatible with Dallas 1-wire bus.) Illustration of MaxDetect 1-wire bus: Data is comprised of integral and decimal part, the following is the formula for data. DATA=8 bit integral RH data+8 bit decimal RH data+8 bit integral T data+8 bit decimal T data+8 bit check-sum - 2 - MaxDetect Technology Co., Ltd. http://www.humiditycn.com ----------------------------------------- Thomas Liu (Sales Manager) Email: thomasliu198518@yahoo.com.cn , sales@humiditycn.com Anexo J Sensor de temperatura del agua 137 PRELIMINARY DS18B20 Programmable Resolution 1-Wire® Digital Thermometer www.dalsemi.com FEATURES PIN ASSIGNMENT  Unique 1-Wire interface requires only one BOTTOM VIEW port pin for communication DALLAS  Multidrop capability simplifies distributed DS1820 temperature sensing applications 1 2 3  Requires no external components 1 2 3  Can be powered from data line. Power supply range is 3.0V to 5.5V  Zero standby power required DS18B20 To-92  Measures temperatures from -55°C to Package +125°C. Fahrenheit equivalent is -67°F to +257°F NC 1 8 NC  ±0.5°C accuracy from -10°C to +85°C  Thermometer resolution is programmable NC 2 7 NC from 9 to 12 bits V 3 6 NC  Converts 12-bit temperature to digital word in DD 750 ms (max.) DQ 4 5 GND  User-definable, nonvolatile temperature alarm settings DS18B20Z  Alarm search command identifies and 8-Pin SOIC (150 mil) addresses devices whose temperature is outside of programmed limits (temperature PIN DESCRIPTION alarm condition) GND - Ground  Applications include thermostatic controls, DQ - Data In/Out industrial systems, consumer products, VDD - Power Supply Voltage thermometers, or any thermally sensitive NC - No Connect system DESCRIPTION The DS18B20 Digital Thermometer provides 9 to 12-bit (configurable) temperature readings which indicate the temperature of the device. Information is sent to/from the DS18B20 over a 1-Wire interface, so that only one wire (and ground) needs to be connected from a central microprocessor to a DS18B20. Power for reading, writing, and performing temperature conversions can be derived from the data line itself with no need for an external power source. Because each DS18B20 contains a unique silicon serial number, multiple DS18B20s can exist on the same 1-Wire bus. This allows for placing temperature sensors in many different places. Applications where this feature is useful include HVAC environmental controls, sensing temperatures inside buildings, equipment or machinery, and process monitoring and control. 1 of 27 050400 GND DQ VDD DS18B20 DETAILED PIN DESCRIPTION Table 1 PIN PIN 8PIN SOIC TO92 SYMBOL DESCRIPTION 5 1 GND Ground. 4 2 DQ Data Input/Output pin. For 1-Wire operation: Open drain. (See “Parasite Power” section.) 3 3 VDD Optional VDD pin. See “Parasite Power” section for details of connection. VDD must be grounded for operation in parasite power mode. DS18B20Z (8-pin SOIC): All pins not specified in this table are not to be connected. OVERVIEW The block diagram of Figure 1 shows the major components of the DS18B20. The DS18B20 has four main data components: 1) 64-bit lasered ROM, 2) temperature sensor, 3) nonvolatile temperature alarm triggers TH and TL, and 4) a configuration register. The device derives its power from the 1-Wire communication line by storing energy on an internal capacitor during periods of time when the signal line is high and continues to operate off this power source during the low times of the 1-Wire line until it returns high to replenish the parasite (capacitor) supply. As an alternative, the DS18B20 may also be powered from an external 3 volt - 5.5 volt supply. Communication to the DS18B20 is via a 1-Wire port. With the 1-Wire port, the memory and control functions will not be available before the ROM function protocol has been established. The master must first provide one of five ROM function commands: 1) Read ROM, 2) Match ROM, 3) Search ROM, 4) Skip ROM, or 5) Alarm Search. These commands operate on the 64-bit lasered ROM portion of each device and can single out a specific device if many are present on the 1-Wire line as well as indicate to the bus master how many and what types of devices are present. After a ROM function sequence has been successfully executed, the memory and control functions are accessible and the master may then provide any one of the six memory and control function commands. One control function command instructs the DS18B20 to perform a temperature measurement. The result of this measurement will be placed in the DS18B20’s scratch-pad memory, and may be read by issuing a memory function command which reads the contents of the scratchpad memory. The temperature alarm triggers TH and TL consist of 1 byte EEPROM each. If the alarm search command is not applied to the DS18B20, these registers may be used as general purpose user memory. The scratchpad also contains a configuration byte to set the desired resolution of the temperature to digital conversion. Writing TH, TL, and the configuration byte is done using a memory function command. Read access to these registers is through the scratchpad. All data is read and written least significant bit first. 2 of 27 Anexo K Sensor de Presión 140 Freescale Semiconductor Document Number: MPL3115A2 Data Sheet: Advance Information Rev 2.2, 07/2012 An Energy Efficient Solution by Freescale I2C Precision Altimeter 2 MPL3115A2 The MPL3115A2 employs a MEMS pressure sensor with an I C interface to 50 to 110 kPa provide accurate Pressure/Altitude and Temperature data. The sensor outputs are digitized by a high resolution 24-bit ADC. Internal processing removes compensation tasks from the host MCU system. Multiple user-programmable, power saving, interrupt and autonomous data acquisition modes are available, including programmed acquisition cycle timing, and poll-only modes. Typical active supply current is 40 A per measurement-second for a stable 30 cm output resolution. Pressure output can be resolved with output in fractions of a Pascal, and Altitude can be resolved in fractions of a meter. The MPL3115A2 is offered in a 5 mm by 3 mm by 1.1 mm LGA package and specified for operation from -40C to 85C. Package is surface mount with a stainless steel lid and is RoHS compliant. Features LGA PACKAGE • 1.95V to 3.6V Supply Voltage, internally regulated by LDO 5.0 mm by 3.0 mm by 1.1 mm • 1.6V to 3.6V Digital Interface Supply Voltage • Fully Compensated internally • Direct Reading, Compensated Top View – Pressure: 20-bit measurement (Pascals) – Altitude: 20-bit measurement (meters) – Temperature: 12-bit measurement (degrees Celsius) VDD 1 8 SCL • Programmable Events CAP 2 7 SDA • Autonomous Data Acquisition • Resolution down to 1 ft. / 30 cm GND 3 6 INT1 • 32 Sample FIFO V 4 5 INT2 • Ability to log data up to 12 days using the FIFO DDIO • 1 second to 9 hour data acquisition rate • I2C digital output interface (operates up to 400 kHz) Pin Connections Application Examples • High Accuracy Altimetry • Smartphones/Tablets • Personal Electronics Altimetry • GPS Dead Reckoning • GPS Enhancement for Emergency Services • Map Assist, Navigation • Weather Station Equipment ORDERING INFORMATION # of Ports Pressure Type Digital Device Name Package Options Case No. None Single Dual Gauge Differential Absolute Interface MPL3115A2 Tray 2153 • • • MPL3115A2R1 Tape & Reel (1000) 2153 • • • This document contains information on a new product. Specifications and information herein are subject to change without notice. © 2011-2012 Freescale Semiconductor, Inc. All rights reserved. Anexo L Sensor de Salinidad 142 Conductivity Circuit TM EZO TM class EZO embedded electrical conductivity circuit v1.6 This is an evolving document check back for updates. Features Reads • Conductivity • Total dissolved solids • Practical salinity units • Specific gravity of sea water • E.C. readings +/- 2 µs/cm • Full E.C. range from 0.55 µs/cm to 500,000+ µs/cm • Temperature dependent or temperature independent readings • Flexible calibration protocol supports single point or dual point calibration • Calibrate to any E.C. value Two data protocols • UART asynchronous serial connectivity (RX/TX voltage swing 0-VCC) • I2C (default I2C address 0x64) • Operating voltage: 3.3V to 5V • Works with any off-the-shelf two conductor conductivity probe • Works with any K value from K=0.1 to K=10 Sleep mode power consumption • 0.4mA* at 3.3V Patent pending TM Description The Atlas Scientific™ EZO™ class embedded electrical conductivity circuit is our 6th generation embedded electrical conductivity circuit. The EC-EZO™ electrical conductivity circuit can work with any off-the-shelf two conductor conductivity probe from K=0.1 to K=10. This includes any value between K=0.1 and K=10 such as K=0.66 or K=4.78. This device reads electrical conductivity from an E.C. probe/sensor/electrode. This device does not include an E.C. probe/sensor/electrode. Atlas-Scientific.com Copyright © Atlas Scientific LLC All Rights Reserved 1 Conductivity Circuit EZO TM Pin out GND Return for the DC power supply Vcc Operates on 3.3V – 5.5V TX / SDA All EZO™ class circuits can operate in eitherUART mode or I2C mode The default state is UART mode. In UART mode, this pin acts as the transmit (TX) line. The default baud rate is 38400, 8 bits, no parity, no flow control, one stop bit. If standard RS232 voltage levels are TM desired, connect an RS232 converter such as a MAX232. If the device is in I2C mode, this pin acts as the Serial Data Line (SDA). The I2C protocol requires an external pull up resistor on the SDA line (resistor not included). RX / SCL All EZO™ class circuits can operate in either UART mode, or I2C mode. The default state is UART mode. In UART mode, this pin acts as the receive (RX) line. If the device is in I2C mode, this pin acts as the Serial Clock Line (SCL). The I2C protocol requires an external pull up resistor on the SCL line (resistor not included). PRB Two pins are marked PRB. These pins are to be connected to an E.C. probe. It makes no difference which lead of the E.C. probe is connected to the two probe pins. TM TM A B B A A B BOTH ARE A B CORRECT Atlas-Scientific.com Copyright © Atlas Scientific LLC All Rights Reserved 5 Anexo M Sensor de PH 145 pH Circuit EZO TM EZO TM class embedded pH circuit V 1.3 This is an evolving document check back for updates. Features • Full range pH reading from .001 to 14.000 • Accurate pH readings down to the thousands place (+/- 0.02) • Temperature dependent or temperature independent readings • Flexible calibration protocol supports single point, 2 point, or 3 point calibration • Calibration required only once per year with Atlas Scientific pH probe • Single reading or continuous reading modes • Data format is ASCII Two data protocols • UART asynchronous serial connectivity • (RX/TX voltage swing 0-VCC) • I2C (default I2C address 0x63) • Compatible with any microprocessor that supports UART, or I2C protocol • Operating voltage: 3.3V to 5V • Works with any off-the-shelf pH probe Sleep mode power consumption • 0.995mA at 3.3V Patent pending TM Description The Atlas Scientific™ EZO™ class embedded pH circuit, is our 6th generation embedded pH circuit. This EZO class pH circuit, offers the highest level of stability and accuracy. With proper configuration the EZO class pH circuit, can meet, or exceed the accuracy and precision found in most bench top laboratory grade pH meters. The pH-EZO™ pH circuit, can work with any off-the-shelf pH probe/ sensor/electrode. This device reads pH from a pH probe/sensor/electrode. This device does not include a pH probe/sensor/electrode. Atlas-Scientific.com Copyright © Atlas Scientific LLC All Rights Reserved 1 pH Circuit EZO TM Pin Out GND Return for the DC power supply Vcc Operates on 3.3V – 5.5V TX / SDA All EZO™ class circuits can operate in either UART mode, or I2C mode The default state is UART mode. In UART mode, this pin acts as the transmit (TX) line. The default baud rate is 38400, 8 bits, no parity, no flow control, one stop bit. If standard RS232 voltage levels are desired, connect an RS232 converter such as a MAX232. If the devices is in I2C mode, this pin acts as the Serial Data Line (SDA). The I2C protocol requires an external pull up resistor on the SDA line (resistor not included). RX / SCL All EZO™ class circuits can operate in either UART mode, or I2C mode. The default state is UART mode. In UART mode, this pin acts as the receive (RX) line. If the devices is in I2C mode, this pin acts as the Serial Clock Line (SCL). The I2C protocol requires an external pull up resistor on the SCL line (resistor not included). PRB This pin connects to the output lead of a pH probe/ sensor/electrode PGND This pin connects to the ground lead of a pH probe/ sensor/electrode This pin is not ground. Do not tie this pin to system ground Atlas-Scientific.com Copyright © Atlas Scientific LLC All Rights Reserved 5 Anexo N Módulo de comunicación inalámbrica Xbee 148 1. XBee®/XBee‐PRO® RF Modules The XBee and XBee-PRO RF Modules were engineered to meet IEEE 802.15.4 standards and support the unique needs of low-cost, low-power wireless sensor networks. The modules require minimal power and provide reliable delivery of data between devices. The modules operate within the ISM 2.4 GHz frequency band and are pin-for-pin compatible with each other. Key Features Long Range Data Integrity Low Power XBee XBee • Indoor/Urban: up to 100’ (30 m) • TX Peak Current: 45 mA (@3.3 V) • Outdoor line-of-sight: up to 300’ (90 m) • RX Current: 50 mA (@3.3 V) • Transmit Power: 1 mW (0 dBm) • Power-down Current: < 10 µA • Receiver Sensitivity: -92 dBm XBee-PRO XBee-PRO • TX Peak Current: 250mA (150mA for international variant) • Indoor/Urban: up to 300’ (90 m), 200' (60 m) for International variant • TX Peak Current (RPSMA module only): 340mA (180mA for international variant • Outdoor line-of-sight: up to 1 mile (1600 m), 2500' (750 m) for International variant • RX Current: 55 mA (@3.3 V) • Transmit Power: 63mW (18dBm), 10mW • Power-down Current: < 10 µA (10dBm) for International variant ADC and I/O line support • Receiver Sensitivity: -100 dBm Analog-to-digital conversion, Digital I/O RF Data Rate: 250,000 bps I/O Line Passing Advanced Networking & Security Easy-to-Use Retries and Acknowledgements No configuration necessary for out-of box DSSS (Direct Sequence Spread Spectrum) RF communications Each direct sequence channels has over Free X-CTU Software 65,000 unique network addresses available (Testing and configuration software) Source/Destination Addressing AT and API Command Modes for Unicast & Broadcast Communications configuring module parameters Point-to-point, point-to-multipoint Extensive command set and peer-to-peer topologies supported Small form factor Worldwide Acceptance FCC Approval (USA) Refer to Appendix A [p64] for FCC Requirements. Systems that contain XBee®/XBee-PRO® RF Modules inherit Digi Certifications. ISM (Industrial, Scientific & Medical) 2.4 GHz frequency band Manufactured under ISO 9001:2000 registered standards XBee®/XBee-PRO® RF Modules are optimized for use in the United States, Canada, Australia, Japan, and Europe. Contact Digi for complete list of government agency approvals. © 2009 Digi International Inc.      4 XBee®/XBee‐PRO®  RF Modules ‐ 802.15.4 ‐ v1.xEx [2009.09.23] Specifications Table 1‐01. Specifications of the XBee®/XBee‐PRO®  RF Modules Specification XBee XBee-PRO Performance Indoor/Urban Range Up to 100 ft (30 m) Up to 300 ft. (90 m), up to 200 ft (60 m) International variant Outdoor RF line-of-sight Range Up to 300 ft (90 m) Up to 1 mile (1600 m), up to 2500 ft (750 m) international variant Transmit Power Output (software selectable) 1mW (0 dBm) 63mW (18dBm)* 10mW (10 dBm) for International variant RF Data Rate 250,000 bps 250,000 bps Serial Interface Data Rate 1200 bps - 250 kbps 1200 bps - 250 kbps (software selectable) (non-standard baud rates also supported) (non-standard baud rates also supported) Receiver Sensitivity -92 dBm (1% packet error rate) -100 dBm (1% packet error rate) Power Requirements Supply Voltage 2.8 – 3.4 V 2.8 – 3.4 V 250mA (@3.3 V) (150mA for international variant) Transmit Current (typical) 45mA (@ 3.3 V) RPSMA module only: 340mA (@3.3 V) (180mA for international variant) Idle / Receive Current (typical) 50mA (@ 3.3 V) 55mA (@ 3.3 V) Power-down Current < 10 µA < 10 µA General Operating Frequency ISM 2.4 GHz ISM 2.4 GHz Dimensions 0.960” x 1.087” (2.438cm x 2.761cm) 0.960” x 1.297” (2.438cm x 3.294cm) Operating Temperature -40 to 85º C (industrial) -40 to 85º C (industrial) Antenna Options Integrated Whip, Chip or U.FL Connector, RPSMA Integrated Whip, Chip or U.FL Connector, RPSMA Connector Connector Networking & Security Supported Network Topologies Point-to-point, Point-to-multipoint & Peer-to-peer Number of Channels (software selectable) 16 Direct Sequence Channels 12 Direct Sequence Channels Addressing Options PAN ID, Channel and Addresses PAN ID, Channel and Addresses Agency Approvals United States (FCC Part 15.247) OUR-XBEE OUR-XBEEPRO Industry Canada (IC) 4214A XBEE 4214A XBEEPRO Europe (CE) ETSI ETSI (Max. 10 dBm transmit power output)* Japan R201WW07215214 R201WW08215111 (Max. 10 dBm transmit power output)* Austraila C-Tick C-Tick * See Appendix A for region‐specific certification requirements. Antenna Options: The ranges specified are typical when using the integrated Whip (1.5 dBi) and Dipole (2.1 dBi) anten- nas. The Chip antenna option provides advantages in its form factor; however, it typically yields shorter range than the Whip and Dipole antenna options when transmitting outdoors.For more information, refer to the "XBee Antennas" Knowl- edgebase Article located on Digi's Support Web site Mechanical Drawings Figure 1‐01. Mechanical drawings of the XBee®/XBee‐PRO® RF Modules (antenna options not shown) © 2009 Digi Internatonal, Inc.      5 Anexo Ñ Motor de hélices 151 152 / 152 Cayetano Cáceres, PUCP