Está en la página 1de 123

DISEÑO DE UNA ARQUITECTURA ELECTRÓNICA PARA EL CONTROL DE UN ROV DE

PEQUEÑAS DIMENSIONES

Tesis

QUE PARA OBTENER EL GRADO ACADÉMICO DE

MAESTRO EN CIENCIA Y TECNOLOGÍA EN LA ESPECIALIDAD DE


MECATRÓNICA

PRESENTA

ING. FERNANDO FONSECA NAVARRO

DIRIGIDA POR

DR. TOMÁS SALGADO JIMÉNEZ

DR. LUCIANO NAVA BALANZAR

DR. LUIS GOVINDA GARCÍA VALDOVINOS

Santiago de Querétaro, Qro., México, Enero de 2017


Página dejada intencionalmente en blanco
Hoja de aceptación y revisión de tesis (rmada por los revisores)
Página dejada intencionalmente en blanco
Agradecimientos

A mis padres que siguen mis pasos día a día dándome su incondicional apoyo, así como a Lourdes

y Felipe que soportan mis locuras y humor inglés. A Santi por ser la alegría constante en casa.

A mis asesores: Dr. Tomás, Dr. Luciano y Dr. Govinda por siempre brindarme de los medios y

el conocimiento para el desarrollo de este proyecto aveces más allá de lo común. Siempre es y será

un placer trabajar con ustedes.

A Trini por ser esa nueva motivación, inspiración y apoyo en mi vida, alguien que siempre ha

creído en mi y su comprensión, cercanía y ayuda fueron fundamentales para terminar este trabajo.

Con todo mi corazón gracias .

Al maestro Salvador Pérez-Arce Silva, apoyándome a mi y a nuestros compañeros del programa

de posgrado inmediatamente y de forma incondicional. Lo vamos a extrañar.

A mis amigos Mariela, Isa, Jaque que siempre me ayudaron en el laboratorio y aguantaron

tenerme a un lado.

½½Muchas gracias!!

i
DEDICATORIA

Dedico este trabajo a esa persona que apareció al nal de este proceso y me hizo ver el futuro

de un modo distinto, este logro también es tuyo. Gracias Trini por todo.

iii
Resumen

Los vehículos submarinos tele operados tipo ROV (Remotely Operated Vehicle por sus siglas

en inglés) han aumentado su utilidad con el tiempo ya que son capaces de realizar tareas debajo

del agua donde un ser humano podría no llegar o seria riesgoso. Algunos ROVs son voluminosos

y requieren un cable de considerable diámetro por lo que su despliegue requiere altos costos de

operación. Debido a que existen diversos tipos de ROV para diversas tareas, es necesario que estos

vehículos sean modulables, lo que quiere decir, que sean capaces de que se les adapten diferentes tipos

de herramientas. En este trabajo se presenta el desarrollo de una arquitectura electrónica para un

ROV de inspección de pequeñas dimensiones que puede ser operado de modo manual o auto piloto.

Esta arquitectura fue probada y validada mediante la implementación de algoritmos avanzados de

control auto sintonizables que permiten la modulabilidad del submarino para dos grados de libertad:

profundidad (z ) y dirección (ψ ). El ROV es controlado mediante una interfaz gráca realizada en

LabVIEW que se comunica en tiempo real con un micro controlador ubicado dentro de la cámara

de presión del vehículo el cual interpreta órdenes de los actuadores y recibe señales de sensores que

manda de vuelta a la PC del centro de control desplegando la información al operador.

Palabras calve

ROV, Arquitectura Electrónica, PID, Red Neuronal, Control, Modulabilidad.

v
Abstract

Remotely Operated Vehicles (ROV) are being increasing their utility by the time because this

kind of underwater vehicles are capable to perform tasks that would be risky or impossible for humans

to do. Some ROVs are bulky and need thick tethers, so the deployment and operation of them is

expensive. Because there are dierent types of ROV vehicles for various tasks, it is necessary that

these vehicles be modulable, which means, being capable of the adaptation of dierent kinds of tools.

This document explains the development of an inspection small sized ROV electronic architecture

which can be operated manually or in autopilot mode. Such architecture was tested and validated

by the implementation of advanced auto-tuned control algorithms that allows the modulability of

the underwater vehicle in two degrees of freedom: depth (z ) and heading (ψ ). The ROV is controlled

by a graphic interface designed in LabVIEW which is in continuous communication with the ROV's

micro-controller placed inside its pressure chamber. When the micro-controller reads the incoming

data, it sends orders to the vehicle's thrusters and then it reads the sensor values and send them

back to the control PC where they are displayed.

Keywords
ROV, Electronic Architecture, PID, Neural Networks, Control, Modulability.

vii
Índice general

Resumen v

Abstract vii

Índice de tablas xiii

Índice de guras xvii

1. Introducción 1

1.1. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.1.1. Objetivo General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.1.2. Objetivos Especícos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2. Hipótesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.3. Justicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.4. Planteamiento del Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.5. Metodología . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.6. Alcances y Limitaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.6.1. Alcances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.6.2. Limitaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.7. Organización de Tesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2. Estado del Arte 9

2.1. ROVs de pequeñas dimensiones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.1.1. Orobotix Seadrone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

ix
ÍNDICE GENERAL

2.1.2. VideoRay Pro 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.1.3. Subsea Tech Guardian 2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.1.4. Teledyne SeaBotix LBV300-5 . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.1.5. BlueRobotics BlueROV 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.2. Control para vehículos submarinos tipo ROV. . . . . . . . . . . . . . . . . . . . . . . 16

2.3. Resultado de la revisión del estado del arte . . . . . . . . . . . . . . . . . . . . . . . 19

3. Arquitectura Electrónica del ROV Nu' ukul Ja 21


3.1. Diseño mecánico del Nu' ukul Ja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.2. Arquitectura Electrónica del ROV . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.2.1. Micro-controlador Arduino DUE . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.2.2. Sensor de presión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.2.3. AHRS PNI TCM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.2.4. Sensor de Humedad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.2.5. Sensor de Voltaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3.2.6. Sensor de corriente Pololu ACS711 . . . . . . . . . . . . . . . . . . . . . . . . 32

3.2.7. Propulsores Seabotix modelo BTD150 . . . . . . . . . . . . . . . . . . . . . . 33

3.2.8. Driver para motor de CD Pololu VNH5019 . . . . . . . . . . . . . . . . . . . 34

3.2.9. XBee S1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3.2.10. Cámara IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

3.3. Software y programación del Nu' ukul Ja . . . . . . . . . . . . . . . . . . . . . . . . 40

3.3.1. Programación en Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

3.3.2. Interfaz gráca y programación en LabVIEW . . . . . . . . . . . . . . . . . 43

4. Algoritmos de control para pruebas y validación de la arquitectura electrónica 49


4.1. Redes Neuronales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

4.2. Control PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

4.3. Control PID auto sintonizable por red neuronal . . . . . . . . . . . . . . . . . . . . . 56

5. Experimentación y Resultados 61
5.1. Control de profundidad PID auto sintonizado vs PID convencional . . . . . . . . . . 62

5.2. Control de dirección o heading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

x
ÍNDICE GENERAL

6. Conclusiones, aportes y trabajos a futuro 75


6.1. En cuanto a la arquitectura electrónica . . . . . . . . . . . . . . . . . . . . . . . . . . 75

6.2. En cuanto al control aplicado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

6.3. Aportes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

6.4. Trabajos a futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

Bibliografía 81

Apéndice A 85

Apéndice B 89

Apéndice C 94

Apéndice D 99

xi
Índice de tablas

2.1. Limitaciones de los algoritmos de control [2] . . . . . . . . . . . . . . . . . . . . . . . 19

3.1. Características TCM XB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.2. Características XBee S1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

4.1. Notación del movimiento de vehículos marinos de acuerdo a la SNAME 1950 . . . . 50

xiii
Índice de guras

1.1. ROV Poodle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2. Logo del Laboratorio de Robótica Submarina CIDESI . . . . . . . . . . . . . . . . . 3

1.3. Metodología de solución. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.1. Bluen Robotics AUV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.2. Sistema de Winch y LARS de Seaeye . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.3. Seadrone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.4. VideoRay Pro 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.5. Guardian 2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.6. LBV 300-5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.7. BlueROV 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.8. Movimientos del ROV desarrollado por Sakagami y Kanayama . . . . . . . . . . . . 18

3.1. Logo Nu' ukul Ja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.2. Rack donde se aloja la electrónica del ROV . . . . . . . . . . . . . . . . . . . . . . . 23

3.3. Elementos mecánicos y centros de otación y gravedad del Nu' Ukul Ja . . . . . . . 24

3.4. Vistas frontal y lateral del ROV Nu' ukul Ja en operación . . . . . . . . . . . . . . . 24

3.5. Diagrama de arquitectura electrónica del ROV y centro de control . . . . . . . . . . 26

3.6. Arduino DUE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.7. Blue Robotics Bar30 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.8. AHRS TCM XB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.9. Sensor de humedad genérico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.10. Sensor de Voltaje y esquemático electrónico del sensor . . . . . . . . . . . . . . . . . 32

xv
ÍNDICE DE FIGURAS

3.11. Sensor de Corriente ACS711 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.12. Propulsor Seabotix modelo BTD 150 . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3.13. Driver VNH5019 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3.14. XBee S1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.15. Cámara del fabricante FOSCAM modelo FI9816P . . . . . . . . . . . . . . . . . . . 37

3.16. Vistas lateral y superior de rack con arquitectura electrónica integrada. . . . . . . . 39

3.17. Paquete de datos enviados del micro-controlador a la computadora del centro de

control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3.18. Frame enviado de la PC al ROV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

3.19. Panel Frontal de Interfaz gráca que visualiza el piloto. . . . . . . . . . . . . . . . . 46

3.20. Separación de frame de datos recibidos por puerto serial . . . . . . . . . . . . . . . . 47

4.1. Marcos de referencia para un submarino. . . . . . . . . . . . . . . . . . . . . . . . . . 50

4.2. Red neuronal multicapa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

4.3. Red neuronal de retropropagación . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

4.4. Diagrama a bloques de controlador PID . . . . . . . . . . . . . . . . . . . . . . . . . 54

4.5. Diagrama a bloques de el PID auto-sintonizable por red neuronal conectado al sistema. 57

4.6. Red neuronal recurrente para la sintonización del PID. . . . . . . . . . . . . . . . . . 57

5.1. Prototipo de pruebas preliminares y banco de pruebas en laboratorio . . . . . . . . . 62

5.2. Alberca de pruebas del Laboratorio de Robótica Submarina de CIDESI . . . . . . . 63

5.3. Pesas utilizadas durante experimentos de control de profundidad z. . . . . . . . . . . 64

5.4. ROV con pesa (izquierda arriba), removiendo la pesa (derecha arriba) y sin pesa (abajo) 65

5.5. Control de profundidad o z mediante PID convencional y PID auto sintonizado . . . 66

5.6. Comparación de Raíz del Error Cuadrático medio para el control de profundidad en

PID Convencional vs PID Neuronal . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

5.7. Experimento por fases del PID convencional . . . . . . . . . . . . . . . . . . . . . . . 67

5.8. Experimento por fases del PID neuronal . . . . . . . . . . . . . . . . . . . . . . . . . 68

5.9. RMSE por fase para experimento con PID convencional . . . . . . . . . . . . . . . . 68

5.10. RMSE por fase para experimento con PID neuronal . . . . . . . . . . . . . . . . . . 69

5.11. Experimentación en heading, izquierda, ROV direccionado a 30° derecha ROV direc-

cionado a 180° . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

xvi
ÍNDICE DE FIGURAS

5.12. Experimentación de control de dirección con PID Convencional (izquierda) y PID

Neuronal (derecha) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

5.13. RMSE de experimento para el control de heading del PID convencional vs PID Neuronal 72

xvii
Página dejada intencionalmente en blanco
Capítulo 1

Introducción

La mayoría de la supercie Terrestre está cubierta con agua; dos terceras partes del planeta son

océanos que cuentan con recursos naturales de gran riqueza e importancia para la humanidad. Para

poder explotar estos recursos, el ser humano siempre ha echado mano de su ingenio y su deseo de

explorar lugares desconocidos y recónditos donde existen barreras físicas que impiden la subsistencia

de la vida humana. Los ríos, lagos y mares, por otra parte, han sido el medio de transporte y vía de

comercialización desde las primeras civilizaciones de la historia.

La exploración de estos cuerpos de agua requiere del uso de tecnologías que aunque primitivas

permitieron inmersiones en el agua con submarinos tripulados, existiendo siempre el riesgo de morir

en caso de alguna falla en el funcionamiento del vehículo. Es por lo anterior que el desarrollo de

vehículos tele-operados tipo ROV (Remotely Operated Vehicle) se dio lugar hasta a mediados del

siglo XX; de hecho, se sabe que el primer ROV en conocerse fue el Poodle creado por Dimitri

Rebiko en 1953 (ver gura 1) y desde entonces se han logrado diseñar vehículos cada vez más

robustos, con funciones y capacidades variadas.

Según la Sociedad de Tecnología Marina (MTS por sus siglas en inglés) un ROV es un robot sub-

marino que permite a su operador permanecer en un ambiente confortable mientras que el vehículo

tele-operado realiza el trabajo debajo del agua. Un cordón umbilical proveerá de alimentación y

datos al submarino así como al operador datos del estatus del vehículo. Existe una gran variedad de

vehículos de este tipo, que pueden ser utilizados en diferentes tareas, no obstante, la tarea principal

de estos robots es la de inspección visual.

1
Figura 1.1: ROV Poodle

Algunos de los inconvenientes principales de los ROV es que son voluminosos, necesitan un cable

de diámetro entre 12 mm a 22 mm por el cual se alimenta la potencia y se transmiten los datos,

requieren de un barco nodriza que transporte el ROV y su operador (piloto) a el sitio donde tendrán

lugar los trabajos.

Es preciso mencionar que la adquisición o renta de un barco nodriza, así como la transportación,

contratación de personal calicado y carga-descarga de los equipos necesarios para el despliegue de los

robots precisa un alto presupuesto para la realización de las misiones, lo que hace más complicado el

alcance a este tipo de tecnologías para la realización de tareas especícas que pudieran ser complejas

o de alto riesgo para un buzo.

El Centro de Ingeniería y Desarrollo Industrial (CIDESI) cuenta con un laboratorio de Robótica

Submarina en el cual se desarrollan tecnologías submarinas para resolver necesidades puntuales en

el territorio nacional y para realizar aportes cientícos como leyes de control y conguraciones de

vehículos no tripulados. Esta tesis, desarrollada en dicho laboratorio, trata del desarrollo de una

arquitectura electrónica que es validada con algoritmos de control ya existentes de distintos tipos,

en un ROV prototipo de pequeñas dimensiones de arquitectura abierta que sienta las bases para el

desarrollo en un futuro de un robot comercial portable que sea económico en su operación y pueda

realizar misiones de diferentes tipos contando con algoritmos de control adaptables a cambios en la

arquitectura y entorno del ROV.

2
CAPÍTULO 1. INTRODUCCIÓN

Figura 1.2: Logo del Laboratorio de Robótica Submarina CIDESI

1.1. Objetivos

1.1.1. Objetivo General

Proponer y probar la arquitectura electrónica para un ROV de pequeñas dimensiones. Las prue-

bas se realizarán en alberca y se implantarán técnicas avanzadas de control en dos grados de libertad.

. Este algoritmo de control deberá soportar cambios en la dinámica del sistema debidos a cambios

de herramientas.

1.1.2. Objetivos Especícos

Selección de dispositivos comerciales para arquitectura electrónica del mini ROV.

Pruebas en Alberca de arquitectura con operador cerrando el lazo.

Implementación del Control para 2 grados de libertad z y ψ (yaw o heading) en el ROV

construido.

Comparación de resultados de control PID convencional con PID-Neuronal en dos grados de

libertad.

3
1.2. HIPÓTESIS

1.2. Hipótesis

Es factible realizar la arquitectura electrónica para un ROV de pequeñas dimensiones para la

implementación de un control auto sintonizable conocido en 2 grados de libertad (z y ψ) para

soportar cambios en la dinámica del sistema debido a la modulabilidad (cambio de herramienta) del

vehículo, sin tener que ajustar parámetros del control.

1.3. Justicación
CIDESI desarrolla tecnologías que resuelven problemas de necesidad nacional; es por esto que en

el Laboratorio de Robótica Submarina de este centro de investigación es de interés el desarrollo de

un ROV de pequeñas dimensiones el cual sea modulable y permita la experimentación de diferentes

algoritmos de control de acuerdo a la aplicación en la que se aplicará dicho robot. Lo anterior se

traduce en un aporte cientíco y un aporte tecnológico si se ve este proyecto como punto de partida

para el desarrollo de un sistema comercial de bajo costo de operación.

1.4. Planteamiento del Problema

Existen robots tipo ROV que son de gran ayuda para realizar la exploración en cuerpos de agua y

realizar tareas especícas, sin embargo, es costoso su despliegue y operación por lo que el desarrollo

de un ROV prototipo de pequeñas dimensiones es oportuno. Dado que los ROV son modulables,

ya que pueden realizar tareas diferentes, estos requieren tener la facilidad de instalar herramientas

especícas; lo que conlleva a una variación en los parámetros del modelo cuando esto ocurre y

por consiguiente si el robot cuenta con algoritmos de control que ayuden a la operación del robot,

las ganancias de los controladores deben ser re sintonizadas. Por lo anterior se requiere diseñar la

arquitectura electrónica de un robot tipo ROV de pequeñas dimensiones y de arquitectura abierta

que permita la implementación de un control automático adaptable a cambios en el modelo dinámico

del robot debido a la modulabilidad natural del mismo.

4
CAPÍTULO 1. INTRODUCCIÓN

1.5. Metodología

Para el correcto desarrollo del proyecto y obtención de mejores resultados, se toma en cuenta

para realización de la metodología el Método Cientíco Experimental, como puede observarse en la

gura 1.3.

Figura 1.3: Metodología de solución.

1.6. Alcances y Limitaciones


De acuerdo a la naturaleza del proyecto se acotan las condiciones de experimentación y entrega

de resultados para esta tesis.

5
1.6. ALCANCES Y LIMITACIONES

1.6.1. Alcances

Se propondrá, integrará y probará la arquitectura electrónica de un ROV de pequeñas dimen-

siones.

Se implementará un algoritmo de control PID lineal al ROV con la arquitectura propuesta y

se realizarán pruebas en un banco de pruebas en laboratorio.

Se realizarán pruebas de tele-operación de el ROV con el operador cerrando el lazo de control;

estas pruebas se realizarán en una alberca.

Se realizarán la implementación de un algoritmo de control auto sintonizable conocido para

controlar 2 grados de libertad (z y ψ) .

Publicación de resultados y entrega de tesis.

1.6.2. Limitaciones

Se realizarán pruebas en banco de pruebas y en alberca bajo condiciones controladas.

La arquitectura electrónica del submarino será resultado de una integración de dispositivos

comerciales.

El algoritmo de control a aplicar deberá ser conocido.

Se controlarán únicamente 2 grados de libertad (z y ψ ).

Los cambios de herramientas se simularán con pesos para demostrar la auto-sintonización en

z.

Las perturbaciones para demostrar la auto-sintonización en el control de ψ, serán las propias

del medio donde se realizarán los experimentos (cordón umbilical y alberca de pruebas).

6
CAPÍTULO 1. INTRODUCCIÓN

1.7. Organización de Tesis

La organización de este trabajo de tesis se encuentra de esta manera:

En el Capítulo 1 se realiza la introducción al mismo así como se muestran los objetivos, justi-

cación, hipótesis y metodología del tema.

En el Capítulo 2 se encuentra la revisión del estado del arte tanto de vehículos ROV de pequeñas

dimensiones así como de controles adaptables o auto sintonizables aplicados a este tipo de vehículos

submarinos.

El Capítulo 3 explica las características de la arquitectura electrónica del ROV desarrollado.

El cuarto capítulo explica que es un PID y cómo funciona el control tipo PID neuronal auto

sintonizable.

El Capítulo 5 explica la experimentación y los resultados, así como la comparación de resultados

entre un PID convencional y un PID neuronal auto sintonizable.

Finalmente se muestran las conclusiones del trabajo realizado, los aportes del mismo y el trabajo

a futuro.

7
Capítulo 2

Estado del Arte

Los vehículos submarinos se clasican en función de su nivel de autonomía; existen robots comple-

tamente autónomos y otros que deben ser controlados continuamente por un operador; de manera

general se conocen como AUVs (Autonomous Underwater Vehicle) y ROVs (Remotely Operated

Vehicle).

Un AUV es un vehículo submarino no conectado y no tripulado que es capaz de auto propul-

sarse; así como otros vehículos submarinos son plataformas móviles de instrumentación que tienen

actuadores, sensores e inteligencia a bordo para completar con éxito una misión de muestreo con

la mínima o nula supervisión humana, un ejemplo de AUV se muestra en la gura 2.1. Algunas de

las principales tareas de estos robots submarinos pueden ser las de mapeo en el fondo del cuerpo

de agua donde operan así como el muestreo e investigación de la columna de agua donde operan,

midiendo variables como la temperatura, salinidad, pH, oxigenación entre otros datos oceanográcos

de interés [4] y [13].

9
Figura 2.1: Bluen Robotics AUV

Por otra parte los vehículos submarinos operados remotamente (ROV), están conectados a la

supercie mediante un cordón umbilical (un conjunto de cables unidos), el cual permite el intercambio

de datos y la alimentación de energía al robot. A través de una interfaz gráca del ordenador situado

en la supercie, el usuario dene los comandos que el robot deberá ejecutar y también ahí mismo

se despliegan las señales de la instrumentación con la que el robot cuente. Actualmente la industria

petrolera de extracción marítima se vale del uso ROVs para diversas tareas así como la inspección. Las

exigencias del trabajo realizado en estructuras submarinas son altas, ya que requieren de inspección

frecuente e intervención para realizar las operaciones de perforación, manipular válvulas, reparar o

remplazar componentes submarinos [22]. El uso de ROVs ha ido aumentando debido a la necesidad

de extraer cada ves más recursos naturales del océano requiriendo ir a aguas cada vez más profundas.

Existe una gran variedad de ROV para diferentes tareas, no obstante la tarea de inspección

visual es la principal en estos robots. Algunos de los inconvenientes principales de los ROV es que

son voluminosos y necesitan un cordón umbilical de diámetro entre 12 mm a 22 mm por lo que

su operación requiere de una tripulación de más de una persona para su despliegue además de

una embarcación con capacidades, dimensiones y equipamiento extra como un malacate (winch en

inglés) y sistema de lanzamiento y recuperación LARS (Launch and Recovery System) del vehículo

que encarece el presupuesto de cualquier misión. En la gura 2.2 se puede observar el equipamiento

mínimo necesario para el despliegue de un ROV desde la cubierta de un barco.

10
CAPÍTULO 2. ESTADO DEL ARTE

Figura 2.2: Sistema de Winch y LARS de Seaeye

Una alternativa para realizar misiones submarinas (sobre todo de inspección) con un ROV es el

uso de vehículos de pequeñas dimensiones, los cuales se describirán en la siguiente sección en este

capítulo.

2.1. ROVs de pequeñas dimensiones.

Para resolver el problema de costos de despliegue de un ROV como los mencionados anterior-

mente, algunas compañías, sobretodo compañías dedicadas a la producción de instrumentos ocea-

nográcos se han dado a la tarea de desarrollar ROVs de pequeñas dimensiones para inspección y

algunos equipados con instrumentación para mediciones oceanográcas y/o manipuladores. Cabe

mencionar que la arquitectura electrónica no es especicada por el fabricante a detalle por razones

de propiedad intelectual, sin embargo, se citarán algunos de los más conocidos en el mercado.

2.1.1. Orobotix Seadrone

Con una masa de 5 kg y dimensiones de 30 × 30 × 27 cm es un robot de inspección modulable

en su instrumentación y en la conguración de propulsores; cuenta con baterías de 22 Vcc a bordo

11
2.1. ROVS DE PEQUEÑAS DIMENSIONES.

del submarino por lo que su cordón umbilical puede ser más delgado y su largo puede ser de hasta

250m (gura 2.3). El protocolo de comunicación que utiliza es el UDP (User Datagram Protocol).

El Seadrone puede llegar a sumergirse hasta 100 m y tiene una autonomía de operación de hasta 3

horas. Lo interesante de este ROV es que cuenta con una computadora re programable en lenguaje

C++ que permite al usuario ajustar parámetros de control de profundidad y de heading con los que

cuenta el vehículo. Los propulsores que este vehículo utiliza son brushless (sin escobillas) propios de

la compañía que lo fabrica [23].

Figura 2.3: Seadrone

2.1.2. VideoRay Pro 4

El ROV VideoRay Pro 4 es una plataforma muy popular de alto costo para uso profesional

(gura 2.4). Es portable y puede ser acondicionada con instrumentos para realizar tareas especícas;

cuenta con una interfaz que se comunica por medio de un protocolo RJ-485 a la consola del operador

mediante un cordón umbilical de hasta 600m que también transmite poder al submarino requiriendo

de 100 a 240 Vac; pesa cerca de 6 kg, con dimensiones de 37 × 29 × 22 cm y puede sumergirse a

una profundidad de 300m. Es un vehículo robusto para uso industrial con la que se pueden realizar

12
CAPÍTULO 2. ESTADO DEL ARTE

tareas mayormente de inspección, tiene la opción mediante un software adicional de control en el

que se mantiene la posición de el vehículo bajo el agua (Station-Keeping) pero siempre y cuando se

utilice este software y las herramientas aprobadas por la compañía que lo produce. Este submarino

cuenta con una conguración de 2 propulsores brushless laterales y uno vertical [21].

Figura 2.4: VideoRay Pro 4

2.1.3. Subsea Tech Guardian 2.1

Con dimensiones de 47 × 24 × 16 cm, un peso de 4.5 kg y una capacidad de inmersión de hasta

150 m, es un submarino de inspección que contiene un sonar de pequeñas dimensiones, 2 cámaras

a color, sensor de profundidad y temperatura. Al igual que los mencionados anteriormente se le

pueden adaptar diferentes herramientas (es modulable). Requiere alimentación de 110 o 240 Vac, a

través de un cordón umbilical que puede llegar a medir hasta 200m. Este vehículo no cuenta con

una arquitectura abierta en hardware o software, ni algún tipo de control automático. Cuenta con 5

propulsores de modelo o fabricante no especicados [28].

13
2.1. ROVS DE PEQUEÑAS DIMENSIONES.

Figura 2.5: Guardian 2.1

2.1.4. Teledyne SeaBotix LBV300-5

Esta es la versión más pequeña de la línea de ROVs comerciales de SeaBotix; mide 52×44×26 cm

y pesa 13 kg cuenta con 5 propulsores de tipo DC BD-150 que permiten la operación del submarino

en 4 grados de libertad (gura 2.6). Cuenta con un protocolo de comunicación RS-232 con un puerto

libre para datos que el usuario quiera transmitir por medio de un cordón umbilical que puede alcanzar

hasta 250 m. La alimentación de este robot es desde tierra y va de forma opcional desde 110 hasta

240 Vac. Este ROV puede ser equipado con diferentes clases de herramientas y cuenta con funciones

automáticas de profundidad y control de dirección (heading). La accesibilidad a una arquitectura

de software abierta no está especicada, sin embargo se asume que al contar con un puerto RS-232

de repuesto es factible hacer algún tipo de programación al submarino para transmitir datos de la

instrumentación [29].

14
CAPÍTULO 2. ESTADO DEL ARTE

Figura 2.6: LBV 300-5

2.1.5. BlueRobotics BlueROV 2

BlueRobotics es una compañía estadounidense formada en 2014, incursionando en el mercado de

hobistas e investigadores oceanográcos fabricando partes para botes y submarinos tele operados de

bajo costo. Después de casi 2 años realizaron la integración de un ROV de pequeñas dimensiones

llamado BlueROV 2 (gura 2.7) el cual cuenta con una arquitectura abierta programable con una

computadora embebida interna 3DR Pixhawk que tiene capacidad de ser programada a gusto del

operador del submarino, cuenta también con sensor de profundidad de bajo costo que soporta hasta

30 bares de presión (Bar30 pressure sensor), compás, luces y puertos de expansión para equipar el

submarino con más sensores. El cordón umbilical puede tener hasta 300m. El submarino se puede

sumergir hasta 100m y cuenta con una conguración de propulsores vectorizada (4 propulsores dia-

gonales) y dos verticales. La alimentación del submarino se encuentra en el vehículo con una batería

de 14 Vcc (esta se puede sustituir con alimentación mediante el cordón umbilical). El submarino

mencionado tiene unas dimensiones de 45 × 34 × 25 cm pesando hasta 11 kg.

15
2.2. CONTROL PARA VEHÍCULOS SUBMARINOS TIPO ROV.

Figura 2.7: BlueROV 2

Los submarinos de pequeñas dimensiones mencionados en esta sección son los más relevantes a

estudiar y son tomados en cuenta para la realización de la arquitectura electrónica del submarino a

desarrollar para esta tesis.

2.2. Control para vehículos submarinos tipo ROV.

Resulta de interés el estudio de un ROV desde el punto de vista del control automático; diferentes

técnicas de control se han propuesto y aplicado en orden de resolver retos provenientes de la no

linealidad, propia de este tipo de sistemas. Existen diferentes técnicas empleadas en controlar uno o

más grados de libertad en un submarino; un panorama amplio de las principales técnicas de control

para un vehículo submarino se puede encontrar en [12], sin embargo diversos autores se han dado a

la tarea de realizar diseños de control lineales como no lineales. Las técnicas lineales recurren al PID

de forma muy común sin embargo estas no garantizan la estabilidad en la posición del sistema [30]

y además no son robustas a perturbaciones o cambios a la dinámica del vehículo debido al cambio

16
CAPÍTULO 2. ESTADO DEL ARTE

de herramientas. Lo anterior genera que el control tenga que ser re sintonizado fuera de línea y que

se requiera detener la tarea que el vehículo realiza para cambiar las constantes del mismo.

De acuerdo a lo mencionado anteriormente, se realizó el estudio del estado del arte de autores

que buscan controlar uno o más grados de libertad en submarinos de pequeñas dimensiones:

En 2008 Liu y Zhenbang controlaron la dirección (ψ , yaw en inglés) de un ROV en simulación

con un control Deslizante Neuronal. La red neuronal que se utilizó fue de tipo RBF (Robust Basic

Function) teniendo éxito en el control de dicho grado de libertad y capacidad de robustez a per-

turbaciones de corrientes, aunque el autor menciona que las pruebas en condiciones no controladas

deben ser realizadas como trabajo futuro. Esta técnica de control no aborda la modulabilidad (es

decir los cambios de herramientas) del ROV [18].

En 2009 Bagheri y Javadi desarrollaron una combinación de controles; en este caso implemen-

taron un control Neuro Sliding Mode Escalar (SMNNS por sus siglas en inglés) donde controlan 4

grados de libertad (x, y, z, ψ) en simulación utilizando un ROV de pequeñas dimensiones, mostran-

do la factibilidad de su control y mejores resultados que el control FLSMC (Fuzzy Logic Sliding

Mode Control), sin embargo el SMNNS requiere un modelo matemático del submarino y resulta ser

complejo [3].

Durante 2010 Javadi y Bagheri desarrollaron e implementaron en simulación un control Adaptable

Neuro Difuso Genético Deslizante (ANFSGACS) con el cual controlaron 4 grados de libertad (x, y,

z, ψ) y se adapta a perturbaciones en línea. Esta técnica de control tiene el inconveniente de ser

compleja y a su vez no abordar el tema de modulabilidad del ROV [15].

En 2010, Sakagami, Kanayama y su equipo de trabajo controlaron el pitch y el roll (θ y φ) de un

ROV que cuenta con otadores que al desplazarse del centro de gravedad del submarino cambian

los ángulos del mismo (2.8). Este control demuestra ser efectivo contra corrientes y perturbaciones

del medio donde se encuentra mas no puede cambiar su dinámica ya que si llegara a tomar algo del

lecho marino con alguno de sus manipuladores o se le cambiara algo a su arquitectura, los otadores

deberían re-diseñarse para mantener su centro de otabilidad y de gravedad en la misma relación

de distancia [27].

17
2.2. CONTROL PARA VEHÍCULOS SUBMARINOS TIPO ROV.

Figura 2.8: Movimientos del ROV desarrollado por Sakagami y Kanayama

Para 2011, Chin y Lum realizaron un control con la nalidad evasión de obstáculos, en un

submarino que modica supercies de control para lograr modicar su trayectoria controlando x, y

y ψ mediante un control sliding de primer orden teniendo como resultado la minimización del error

de acuerdo a la señal de referencia, pero no toma en cuenta perturbaciones dadas al vehículos ni

cambios a su dinámica [5].

Con el trabajo realizado por Fernandes, Sorensen publicado en 2015 y su equipo, se puede ver

que un PID de múltiples entradas y múltiples salidas es efectivo en el control de 4 grados de libertad

que tiene actuados el ROV con el que probaron su trabajo, (x, y , z , ψ ), sin embargo el robot no

podría ser controlado con los mismos parámetros de control sugeridos cuando se agrega algún módulo

herramental al vehículo ya que el mismo autor menciona que la sintonización debe ser eurística de

acuerdo al comportamiento del mismo [10].

También por su parte en 2015 Maalouf, Chemori y Creuze, desarrollaron una técnica de control

nueva llamada L1 la cual se realiza mediante el modelado clásico que propone Fossen [12], controlando

z y ψ. El autor describe en su publicación que obtiene resultados precisos y que son robustos a

incertidumbres siempre presentes en este tipo de vehículos, sin embargo tampoco aborda el hecho de

que su robot pueda soportar un cambio de herramienta sin modicar los parámetros en su modelo

[19].

18
CAPÍTULO 2. ESTADO DEL ARTE

2.3. Resultado de la revisión del estado del arte

Con el estudio del estado del arte tanto de robots de pequeñas dimensiones como de sus técnicas

de control se puede entonces proponer una arquitectura para un ROV de pequeñas dimensiones

que tenga actuados los grados de libertad de interés con propulsores verticales y laterales en una

conguración parecida a la de VideoRay Pro 4, donde se pueda medir la profundidad z con un sensor

de presión y la dirección (ψ , yaw o heading), con un compás electrónico.

De acuerdo a lo mencionado por Azis y Aras en 2012 [2], las técnicas de control puras no son

efectivas compensando incertidumbres y no linealidades propias de un sistema submarino, el autor

menciona que, como se ve en el cuadro 2.1, cada técnica de control tiene diferentes desventajas al

ser implementadas por si solas para controlar un grado de libertad determinado.

Método de Control Limitaciones


No compensa dinámicamente fuerzas hidrodinámicas no
PID conocidas (incertidumbres) o disturbios relacionados a los
parámetros del control (Cambios a la dinámica del vehículo).

Tiene el efecto de vibración o chattering que puede llevar a una


Sliding imprecisión del control no deseada y efectos secundarios en el
hardware.

Dicultad para establecer y sintonizar las reglas tipo difusas


Difuso
propias de este control.

Puede ser muy lenta para considerarse aceptable su respuesta.


Redes Neuronales
En algunos casos se requiere el entrenamiento fuera de línea.

Tabla 2.1: Limitaciones de los algoritmos de control [2]

Del estudio del estado del arte de ROVs de pequeñas dimensiones para este trabajo se propone

el uso de una ley de control combinada: PID Neuronal Auto Sintonizable, ya que toma la precisión

y sencillez de un PID y la combina con la adaptabilidad de una red neuronal, de forma que se

reducen las desventajas inherentes del PID y de las redes neuronales de forma particular. Esta ley

de control se desarrolló en el Centro de Ingeniería Industrial [14] y su funcionamiento se explicará

en el Capítulo 4.

19
Capítulo 3

Arquitectura Electrónica del ROV


Nu' ukul Ja

Uno de los alcances de esta tesis es el diseño y la integración de la arquitectura electrónica de

un ROV de pequeñas dimensiones; en este capítulo se describe la arquitectura del ROV (Remotely

Operated Vehicle) de pequeñas dimensiones prototipo diseñado en CIDESI de nombre Nu' ukul Ja,

que en lenguaje maya signica Instrumento del Agua.

En la gura siguiente (3.1) se muestra el logotipo de identicación del submarino, en el centro

se ilustra la vista frontal del ROV con los colores de la bandera Mexicana al fondo. Debajo del

submarino se encuentra el símbolo maya del agua (Ja) , a babor y estribor del submarino aparecen

los logos de CIDESI y de CONACYT que es la institución otorgante de los recursos para este

proyecto. Al rededor de los elementos descritos se encuentran los apellidos de los involucrados en la

asesoría, diseño y construcción del ROV Nu' ukul Ja.

21
3.1. DISEÑO MECÁNICO DEL NU' UKUL JA

Figura 3.1: Logo Nu' ukul Ja

A continuación se describirán por sección el diseño mecánico del Nu' ukul Ja, la arquitectura

electrónica que conforma al sistema y al software que permite el funcionamiento sincronizado de los

dispositivos que se integraron en la arquitectura electrónica.

3.1. Diseño mecánico del Nu' ukul Ja

El diseño mecánico no es tema de desarrollo de este trabajo, sin embargo se menciona para dar

al lector una idea clara de la construcción física del ROV.

Como cualquier vehículo submarino este ROV cuenta con una cámara de presión o casco cilíndrico

de aluminio con dos bridas a los extremos; se extiende en su longitud a lo largo del eje x del vehículo

con respecto al marco de referencia del cuerpo. En la parte frontal o proa la cámara de presión

está sellada con una cúpula de acrílico transparente y con un empaque tipo o-ring que se encuentra

alojado en un canal maquinado sobre la brida ya mencionada.

La parte posterior o popa de la cámara de presión está sellada con una tapa de aluminio plana

con otro empaque tipo o-ring la cual cuenta con 8 penetradores de marca BlueRobotics. Estos

22
CAPÍTULO 3. ARQUITECTURA ELECTRÓNICA DEL ROV NU' UKUL JA

penetradores permiten la entrada de los cables exteriores que alimentan y controlan: los propulsores,

cordón umbilical, montaje del sensor de presión y un puerto externo de programación. A inicios del

proyecto el submarino operaba con una tapa plástica en la parte posterior la cual se muestra en los

modelos 3D de la (gura 3.3), la placa de aluminio fue una mejora posterior que evitaba el riesgo

de fugas a la cámara de presión.

A los costados izquierdo y derecho (babor y estribor) del casco del submarino se encuentran

atornillados los propulsores laterales y verticales con sus soportes de aluminio para mantenerlos

jos al cuerpo del mismo. En la parte inferior cuenta con un marco de cuatro puntos de apoyo que

mantiene de forma vertical al submarino cuando está fuera del agua.

Dentro de la cámara de presión del submarino se encuentra la electrónica e instrumentación

que le permite operar, la cual se está ja en un rack de plástico (gura 3.1) donde algunas de sus

partes fueron impresas en 3D y ensamblada mediante tornillos con el objetivo de poder realizar la

manipulación de la electrónica fuera del submarino en caso de ser necesario un ajuste o adaptación.

Figura 3.2: Rack donde se aloja la electrónica del ROV

Es importante mencionar que cuando el vehículo se encuentra en el agua, éste debe mantener su

posición vertical, esto se logra teniendo el centro de gravedad del vehículo siempre abajo del centro

23
3.1. DISEÑO MECÁNICO DEL NU' UKUL JA

de otación e idealmente justo en el cruce de los ejes X y Y para que se mantengan estables los

ángulos θ (pitch) y φ (roll) estables. Es por lo anterior que el submarino cuenta con unos contrapesos

en el marco inferior para que el centro de gravedad del submarino siempre quede por debajo del

centro de otación y el vehículo se mantenga estable en estos ángulos. Con esto se garantiza que si

el ROV por si solo recobre su posición original [6]. Para mejor visualización, véase guras 3.3 y 3.4.

Figura 3.3: Elementos mecánicos y centros de otación y gravedad del Nu' Ukul Ja

Figura 3.4: Vistas frontal y lateral del ROV Nu' ukul Ja en operación

24
CAPÍTULO 3. ARQUITECTURA ELECTRÓNICA DEL ROV NU' UKUL JA

3.2. Arquitectura Electrónica del ROV

El ROV Nu' ukul Ja tiene la capacidad de ser operado en tele operación, mediante comandos

enviados por el piloto a través de un dispositivo de interfaz humana, o bien en modo auto piloto,

por medio de controles automáticos implementados en dos grados de libertad z y ψ, por lo tanto

el diseño de la arquitectura electrónica de este vehículo cuenta con sensores y actuadores que están

conectados a un micro controlador, el cual a su vez envía datos al operador por medio del cordón

umbilical del vehículo y que son desplegados en una interfaz hecha en LabVIEW.

En la gura 3.5 se muestra un mapa general de la interconexión y protocolos de comunicación

del sistema completo que hace llegar la información del operador al ROV y viceversa en tiempo real.

25
3.2. ARQUITECTURA ELECTRÓNICA DEL ROV

Figura 3.5: Diagrama de arquitectura electrónica del ROV y centro de control

A continuación se realizará una descripción de cada componente que conforma su arquitectura.

26
CAPÍTULO 3. ARQUITECTURA ELECTRÓNICA DEL ROV NU' UKUL JA

3.2.1. Micro-controlador Arduino DUE

Tarjeta de desarrollo que contiene un micro-controlador Atmel SAM3X8E ARM Cortex-M3 CPU.

La arquitectura ARM es una arquitectura de bajo consumo de 32 bits la cual trabaja con un reloj

a 84 MHz, cuenta con una memoria ash de 512 Kb, la cual, puede ser usada para el almacenaje

del código de usuario. Cabe mencionar que este controlador viene precargado de fábrica con un

bootloader almacenado en una memoria tipo ROM dedicada. El bootloader es un código precargado

de fábrica para tener la facilidad de programar el ARM desde el ambiente de programación estándar

de Arduino vía USB y usando librerías con funciones preestablecidas.

La tarjeta Arduino Due puede ser encendida por medio de un puerto USB o por una fuente

externa de alimentación. Dicha alimentación debe ser de entre 7 a 12 Vcc. Los pines de alimentación

de la tarjeta por medio de una fuente externa son, Vin, para la entrada positiva de voltaje (7 a 12

Vcc) y GND para la señal de referencia de tierra. La tarjeta cuenta con 2 salidas reguladas de 3.3

Vcc y 5 Vcc respectivamente que son recomendados para un bajo consumo de corriente, no más de

800 mA cada uno.

En cuanto a las entradas y salidas el Arduino Due cuenta con hasta 54 puertos de entrada/salida

digitales con un nivel lógico de 3.3 Vcc y resistencias pull up que pueden ser activadas por progra-

mación. Algunos de estos pines cuentan con funciones especícas; 8 pueden ser usadas directamente

como salidas PWM (pines 2 al 13), 4 puertos de comunicación UART (1 y 0, 14 y 15, 16 y 17, 18 y

2
19) , 2 puertos I C (SCA y SCL) y un puerto SPI.

Por otra parte la tarjeta cuenta con 12 entradas analógicas (A0 a A11), con un ADC que puede

tener hasta 12 bits de resolución, aunque de inicio cada ADC trabaja con una resolución de 10 bits

(0 a 1023 valores). Las entradas analógicas deben de tener una tensión mínima de 0 a una máxima

3.3 Vcc.

La programación del Arduino DUE se realiza vía USB por medio del puerto de programación

que cuenta con un chip ATmega16U2 el cual sirve como conversor de comunicación USB que puede

ser leído como un puerto COM por una computadora.

27
3.2. ARQUITECTURA ELECTRÓNICA DEL ROV

Figura 3.6: Arduino DUE

3.2.2. Sensor de presión

El sensor de presión modelo Bar30 Blue Robotics es una integración de esta compañía que

consiste en el sensor MS5837-30BA fabricado por Measure Specialties y un regulador de voltaje

de alimentación a 3.3 Vcc. Todo esto encapsulado a prueba de agua en un penetrador de aluminio

como los que se puede ver en la gura 3.7. Este sensor resulta práctico al uso ya que por medio

2
del protocolo I C de comunicación entrega valores de presión absoluta en milibares y valores de

temperatura en grados centígrados, esto en un nivel lógico de comunicación de 3.3 Vcc por lo que es

compatible inmediatamente (sin convertidores de nivel) con el micro-controlador utilizado.

La resolución de este dispositivo puede llegar a ser de hasta 2 mbar lo que en agua salada y dulce

(a bajas profundidades) equivale a 2 mm de profundidad. La resolución de temperatura es de ±1°C.

Figura 3.7: Blue Robotics Bar30

La hoja de datos del sensor de presión se muestra en el Apéndice A.

Resulta importante para este trabajo la explicación de la relación entre presión y profundidad

debajo del agua. Teniendo como punto de partida la fórmula de la presión ejercida sobre un cuerpo

rodeado por un uido estático, se tiene que:

28
CAPÍTULO 3. ARQUITECTURA ELECTRÓNICA DEL ROV NU' UKUL JA

P = ρgh

donde:

P= Presión de un uido estático.

ρ= Densidad del uido.

g =aceleración de la gravedad.

h=profundidad del líquido.

Sabiendo que el sensor nos entrega un valor de presión, requerimos despejar la altura o profun-

didad h por debajo de el agua a la que se encuentra el submarino, por lo que quedaría:

P
h= (3.1)
ρg

m
El valor de la aceleración de la gravedad es constante (9.81
s2 ), y el de la densidad del uido

puede variar entre agua salada y agua dulce, para agua salada de la alberca del Laboratorio de

kg
Robótica Submarina es de 1028
m3 mientras que para nes prácticos se considera que para el agua
kg
dulce es de 1000
m3 .

Suponiendo que el sensor toma una medida de presión diferencial con la presión atmosférica de

N
100 m bar, si se aplica la fórmula 3.1tomando en cuenta la conversión de que 1 bar = 100 000
m2 y

en agua salada el resultado en profundidad sería de .991603 m, mientras que si se realiza la misma

medición pero en agua dulce el resultado sería de 1.019 m. De lo anterior se puede inferir que 1 m bar

equivale a 1 cm de profundidad en agua salada. De esta forma se realizaron todos los experimentos

que tienen que ver con la profundidad del ROV Nu' ukul Ja.

3.2.3. AHRS PNI TCM

Por sus siglas en inglés Attitude Heading and Reference System, un AHRS es un dispositivo

electrónico digital capaz de entregar diversas magnitudes que son de interés para conocer la orienta-

ción del vehículo de acuerdo al marco de referencia del cuerpo. Estos dispositivos suelen contar con

acelerómetros en 3 ejes (X , Y y Z) y un magnetómetro para determinar la orientación del vehículo

con respecto al norte (ψ o heading).

29
3.2. ARQUITECTURA ELECTRÓNICA DEL ROV

Figura 3.8: AHRS TCM XB

El compás del fabricante PNI, modelo TCM en su versión XB puede sensar de forma precisa

los ángulos de θ, φ y el ψ del vehículo mediante sensores magnético-inductivos y acelerómetros

patentados por PNI. Gracias a un algoritmo de calibración propio de la compañía, son compensadas

distorsiones y ruido electromagnético generado por agentes externos. Esta gama de compases es

ampliamente usada en robótica submarina comercial y de investigación.

Algunas de las características más interesantes de este AHRS son: (3.1)

Característica Unidad
Dimensiones 3.5 × 4.3 × 1.3cm
Comunicación UART
Frecuencia de muestreo 30 Hz
Alimentación 3.6-5 Vcc
Consumo 16 mA
Resolución ψ 0.1°
θ
Resolución y φ .01°
Rango ψ 0° - 360°
Rango θ ±90°
Rango φ ±180°

Tabla 3.1: Características TCM XB

El software para realizar la calibración del dispositivo se conecta directamente a una computadora

por medio de algún dispositivo de interfaz TTL a USB. También en ese software se pueden congurar

algunos parámetros de manejo del dispositivo como son la velocidad de transmisión (baud rate),

muestreos por segundo e incluso se puede congurar un ltro FIR a las señales, lo que resulta útil

ya que estas señales por su naturaleza son susceptibles a ruidos e interferencias aleatorias.

30
CAPÍTULO 3. ARQUITECTURA ELECTRÓNICA DEL ROV NU' UKUL JA

Otro aspecto a considerar recomendado por el fabricante es que la calibración de el dispositivo

debe realizarse montado en el vehículo y con los sistemas que rodeen al sensor funcionando para

que de otra manera pueda realizar la compensación de ruidos electromagnéticos inducidos por los

mismos sistemas, e incluso por los materiales con los que está construido el vehículo ya que los

metales ferromagnéticos también pueden afectar las mediciones del instrumento.

3.2.4. Sensor de Humedad

Para detectar posibles fugas de agua al interior de la cámara de presión del ROV, se integraron

dos sensores de humedad con dimensiones de 6.5 × 2 × 8 cm. Estos sensores aumentan su valor de

salida dado en volts conforme la cantidad de agua que está en contacto con el sensor (ver gura 3.9).

Los sensores de humedad de este tipo son fabricados por varios proveedores como Sparkfun y Pololu

sin embargo, por su simpleza, existen sensores genéricos con el mismo principio de operación.

La alimentación de este sensor debe ser de 3 a 5 Vcc, con un consumo nominal ( a 5 Vcc) de

menos de 20 mA, la salida de la lectura de este sensor es analógica dependiendo del nivel o cantidad

de agua que esté en contacto con el sensor.

Ya que el objetivo de este sensor es el detectar agua o no dentro de el submarino, sólo se tomaría

en cuenta un simple cambio de valor en la lectura del submarino en caso de haber fuga; por lo tanto,

no debe existir ninguna variación en el valor de lectura de estos sensores durante la operación del

vehículo.

Figura 3.9: Sensor de humedad genérico

31
3.2. ARQUITECTURA ELECTRÓNICA DEL ROV

3.2.5. Sensor de Voltaje

Al igual que el sensor de humedad mencionado anteriormente el sensor de voltaje integrado al

submarino es un sensor de voltaje genérico el cual está compuesto por dos resistencias; una de 30

KΩ y otra de 7.5 KΩ (ver esquemático en gura 3.10 ) lo que básicamente lo convierte en un divisor

de voltaje con una relación 5:1. Esto quiere decir que del voltaje conectado a el pin de lectura del

sensor (S), mediante el divisor de voltaje, entregará una salida proporcional atenuada 5 veces.

El objetivo de haber considerado la instalación de un sensor de voltaje en el submarino es que

por el hecho de que se le transmite voltaje desde fuera del agua, por el largo del cordón umbilical

pudiera haber caídas de voltaje que pueden impactar en la alimentación de el micro-controlador

principal, además de que si el submarino se opera con algún tipo de batería es importante saber si

la alimentación al mismo se mantiene nominal durante la operación del ROV.

Figura 3.10: Sensor de Voltaje y esquemático electrónico del sensor

3.2.6. Sensor de corriente Pololu ACS711

El propósito de este sensor es darle al operador del ROV una lectura de la demanda de corriente

eléctrica en Amperes del submarino. El sensor ACS711 de Pololu cuenta con un chip que por efecto

hall que sensa el ujo de corriente presente en las terminales del sensor cuando este se conecta en

serie con la carga (en este caso la alimentación eléctrica principal del vehículo). Este dispositivo

puede medir hasta 25 Amperes y la señal de salida del sensor es analógica en el orden de los 55

mV por Ampere cuando el sensor está alimentado a 3.3 Vcc, o 83 mV por Ampere cuando está

alimentado a 5V.

32
CAPÍTULO 3. ARQUITECTURA ELECTRÓNICA DEL ROV NU' UKUL JA

El fabricante menciona que tiene un error de hasta 5 % que para un sensor de corriente es

aceptable (considerando que la medición de corriente mediante este tipo de sensores es siempre muy

ruidosa) y también tiene la ventaja de que por ser un sensor de efecto hall mantiene aislada la

medición de potencia con la señal entregada al micro-controlador.

Figura 3.11: Sensor de Corriente ACS711

3.2.7. Propulsores Seabotix modelo BTD150

De Teledyne Seabotix, los propulsores BTD 150 (ver gura 3.12) cuentan con un motor de

corriente directa con escobillas (brushed). Pueden tener una alimentación de hasta 20 Vcc para

alcanzar su máxima aceleración pudiendo tener una demanda de hasta 4.25 Amperes. Cuentan

también con un diseño mecánico hermético el cual tiene capacidad de sumergirse hasta los 150m y

hacerlo en agua dulce o salada.

Estos propulsores son de los más populares en el mercado de robótica submarina para vehículos

de pequeñas dimensiones ya que además de sus características anteriores, cuentan con un peso fuera

del agua de 700g, y para sus dimensiones reducidas (VER ANEXO) tienen una potencia bastante

aceptable con respecto a otros propulsores en el mercado, 4.85 lb/pie. Además tienen la ventaja de

tener la conguración de cualquier motor de corriente directa con escobillas, es decir sólo se requiere

de algún controlador (driver) comercial para motor CD o puente H para poderlos controlar por

medio de PWM en ambos sentidos.

33
3.2. ARQUITECTURA ELECTRÓNICA DEL ROV

Figura 3.12: Propulsor Seabotix modelo BTD 150

3.2.8. Driver para motor de CD Pololu VNH5019

Tomando en cuenta el tipo de propulsores que se integraron a la arquitectura electrónica del Nu'

ukul Ja, es necesario un controlador que mediante señales de control actúe los propulsores en una

etapa de potencia y además sea capaz de realizare cambios de dirección y velocidad a los mismos,

por lo cual el controlador de Pololu VNH5019 resulta ser el más adecuado para esta tarea (gura

3.13).

Estos drivers pueden entregar una corriente de 12 Amperes de forma continua además de operar

en su parte de potencia de 5 a 24 Vcc, lo que es suciente para los propulsores de nuestro ROV. En

la etapa de control el driver debe ser alimentado con un voltaje de 3.3 a 5 Vcc; requiere también de

una señal PWM que puede tener una frecuencia de hasta 20 kHz y dos pines digitales de dirección,

los cuales deben estar en niveles lógicos opuestos para que el motor gire a un sentido o al otro.

Cuenta también con un pin de salida analógica que entrega un voltaje proporcional a la corriente

demandada por el motor conectado en la etapa de potencia del controlador. El sensor de corriente

de este dispositivo entrega 140 mV por Ampere.

34
CAPÍTULO 3. ARQUITECTURA ELECTRÓNICA DEL ROV NU' UKUL JA

Figura 3.13: Driver VNH5019

En dispositivos de potencia, la integridad del equipo es prioridad, es por esto que además de las

ventajas de desempeño del dispositivo se tomaron en cuenta aspectos de robustez que este producto

ofrece, estos aspectos son:

Protección contra voltaje en reversa de hasta -16 Vcd.

Soporta picos de voltaje en la etapa de potencia de hasta 41 Vcd.

Apagado automático por sobre voltaje o voltaje bajo.

Apagado automático por sobre temperatura.

Protección de corto a tierra y corto a voltaje.

3.2.9. XBee S1

XBee es el nombre comercial de un conjunto de soluciones de conexión inalámbrica fabricados

por Digi International. XBee (gura 3.14) trabaja con comunicación ZigBee, el cual es un protocolo

de comunicación inalámbrico basado en el estándar de comunicaciones IEEE 802.15.4. Este proto-

colo está siendo utilizado para permitir comunicación inalámbrica conable, con bajo consumo de

35
3.2. ARQUITECTURA ELECTRÓNICA DEL ROV

energía y bajas tasas de transmisión para aplicaciones de monitoreo y control. ZigBee permite que

dispositivos electrónicos de bajo consumo puedan realizar sus comunicaciones inalámbricas.

Figura 3.14: XBee S1

Para la aplicación de este trabajo los módulos XBee fueron congurados para trabajar en modo

transparente, lo que signica que todo lo que ingresa por el pin de entrada TTL (Data in), es

guardado en el buer de entrada y luego transmitido por radio mientras que todo lo que ingresa

como paquete RF, es guardado en el buer de salida y luego enviado por el pin TTL de transmisión

(Data out). Este modo de comunicación de los XBee es el que por defecto tienen congurados estos

dispositivos, sólo hay que ajustar parámetros como direcciones de envío y velocidad de transmisión

de datos (baud rate). Este tipo de operación es el más característico en la comunicación punto a

punto de dos radio transmisores.

Otras características interesantes de este tipo de módulos se muestran en la tabla :

Característica Cantidad
Distancia máxima de transmisión/recepción 90 m
Velocidad máxima de datos transmitidos por RF 250000 bps
Consumo TX/RX máximo 45 mA / 50 mA
Voltaje de operación 3.3 Vcc
Potencia de transmisión 1 mW

Tabla 3.2: Características XBee S1

36
CAPÍTULO 3. ARQUITECTURA ELECTRÓNICA DEL ROV NU' UKUL JA

3.2.10. Cámara IP

Un ROV de inspección debe tener como instrumento de medición una cámara capaz de enviar

al operador en tiempo real imágenes lo sucientemente nítidas para que este determine la situación,

ubicación y proximidad del vehículo a algunos objetos o bien el reconocimiento de un área a explorar.

Figura 3.15: Cámara del fabricante FOSCAM modelo FI9816P

Ubicada en el extremo frontal del rack de electrónica del Nu' ukul Ja, se encuentra una cámara

de comunicación IP conectada directamente a un módem WiFi en supercie por medio del cordón

umbilical multi conductor del ROV. Estas cámaras pueden ser operadas desde cualquier computadora

conectada a la misma red que el módem accesando a la dirección IP de la cámara.

La cámara modelo FI9816P cuenta con movimientos de pan y tilt (movimiento horizontal y

vertical), resolución HD de 1280x720 pixeles, velocidad de toma de video de hasta 23 cuadros por

segundo, un ángulo diagonal de vista de 75°, capacidad de cobertura de 300° de forma horizontal (pan)

y 120° (con tilt), LEDs infrarrojos para iluminación en la obscuridad, dimensiones de 110 × 103 × 127

cm con una alimentación a 5Vcc y una demanda de corriente máxima de 1.5 Amperes.

Un aspecto a tomar en cuenta es que se requirió el uso de reguladores de voltaje que alimentaran

los sensores y actuadores a los valores requeridos ya que no todos los componentes fueron alimentados

al mismo valor por sus especicaciones técnicas. También se instaló una tarjeta de fusibles diseñada

para la protección contra corto circuito en los circuitos de control y de potencia del submarino. Los

diseños de los circuitos impresos se muestran en el Apéndice D.

37
3.2. ARQUITECTURA ELECTRÓNICA DEL ROV

En las secciones anteriores se explicaron cada uno de los componentes del vehículo además que

la interconexión de los mismos se muestra en la gura 3.5. A continuación en la gura 3.2.10 se

muestra la integración completa del rack donde físicamente están alojados todos los componentes de

la arquitectura electrónica del vehículo excepto los propulsores y los módulos XBee que se encuentran

fuera del casco del submarino. Es posible apreciar que debido al espacio reducido de la cámara de

presión los componentes que conforman la electrónica deben tener un acomodo estratégico para que

sus conexiones tengan orden.

38
CAPÍTULO 3. ARQUITECTURA ELECTRÓNICA DEL ROV NU' UKUL JA

Figura 3.16: Vistas lateral y superior de rack con arquitectura electrónica integrada.

39
3.3. SOFTWARE Y PROGRAMACIÓN DEL NU' UKUL JA

3.3. Software y programación del Nu' ukul Ja


Teniendo en cuenta el hardware a utilizar es oportuno realizar la explicación al lector del funcio-

namiento a nivel software de los sistemas para entender la integración de los sensores y actuadores

además del envío y recepción de datos entre el submarino y la terminal del usuario. Para dar una idea

mejor de lo que se explicará en esta sección conviene revisar de nuevo la parte izquierda de la gura

3.5 donde se muestra un joystick conectado a una computadora que a su vez tiene conectados una

tarjeta inalámbrica de comunicación WiFi y un radiotransmisor y receptor XBee. También se expli-

cará la composición y descomposición de los paquetes de datos utilizados por el micro-controlador

del ROV para la obtención y envío de información con la computadora donde se encuentra la interfaz

gráca con la que el piloto opera al vehículo.

Para nes prácticos se divide este capítulo en dos partes, la programación en el Arduino y la

programación de la interfaz realizada en el software de National Instruments LabVIEW.

3.3.1. Programación en Arduino

La función principal del micro-controlador embebido en la tarjeta de desarrollo Arduino DUE

es adquirir, mandar datos y escribir en actuadores las órdenes que el operador envía desde el centro

de control. Para realizar esto la programación del Arduino realiza la declaración de variables, pos-

teriormente un procedimiento único de instalación y a continuación repite tres pasos principales de

forma continua.

1. Conguración de inicio: Esta es la primer sección del programa del micro-controlador, en la

cual se inicializan los puertos seriales 0, 2 y 3 de la tarjeta (para comunicar la XBee y el

TCM respectivamente) a una velocidad de 57600 baudios. De la misma manera se inicializa

2
la librería de comunicación I C del sensor de profundidad dando el comando de una sola

lectura de presión del sensor, la cual se almacenará en una variable de referencia para realizar

la diferencia de presión a que esté en operación el submarino pudiendo con esta diferencia

estimar la profundidad del mismo. Por último en esta primera parte del programa se declaran

los pines digitales de dirección de salida, así como los pines digitales de salida actuados por 6

botones del joystick a los que por el momento no está conectado nada pero que sin embargo

quedaron de repuesto en caso de que en algún trabajo a futuro se requieran.

40
CAPÍTULO 3. ARQUITECTURA ELECTRÓNICA DEL ROV NU' UKUL JA

2. Lectura de puertos analógicos y conversión de presión a profundidad: Esta es la primer parte

del programa que se estará repitiendo de forma continua. Los 6 sensores conectados a los pines

analógicos del micro-controlador (A1 - A6), cada lectura a su vez se almacena en una variable

de tipo entero. A continuación se lee el sensor de presión almacenándola en una variable

y se realiza la diferencia entre esta lectura y la guardada al inicio del programa (parte de

conguración), el resultado de esta diferencia entrega el valor de profundidad del vehículo en

centímetros, almacenado también en una variable designada para profundidad. Cabe mencionar

que la librería utilizada para este sensor permite la lectura directa de temperatura, la cual se

lee y corresponde a la temperatura del agua donde se encuentra el submarino.

3. Lectura de parámetros de TCM y escritura de valores de sensores a puerto serial: Como se había

mencionado en la sección anterior de este capítulo el AHRS TCM tiene comunicación serial

de tipo UART y se encuentra conectada al puerto serial 3 del Arduino DUE. Este dispositivo

requiere que se le envíe un comando en hexadecimal el cual pide los datos de roll, pitch, yaw y

temperatura de la tarjeta, los cuales son enviados por el puerto serial al micro-controlador con

formato hexadecimal de la misma forma. Lo anterior es realizado en la librería tcm.h, esta

librería también cambia el formato de los datos obtenidos de formato hexadecimal a decimal.

De esta forma cual resulta un formato comprensible a la lectura que puede ser guardado en

variables respectivas a las magnitudes obtenidas. Por otra parte se llama una función en el

programa que tiene el propósito de escribir en el puerto serial 2. Los valores de cada una de las

variables almacenadas separadas por comas que se enviarán a la computadora del centro de

control la cual desplegará estos datos en la interfaz gráca. Los paquetes o frames de datos que

están compuestos como lo indica la gura 3.17. Cabe mencionar que la función Serial.print

realiza la transformación de los datos numéricos de las variables a datos de tipo caracter o

string.

41
3.3. SOFTWARE Y PROGRAMACIÓN DEL NU' UKUL JA

Figura 3.17: Paquete de datos enviados del micro-controlador a la computadora del centro de control.

4. Lectura de comandos del piloto: Un paquete de datos similar al descrito en el paso anterior,

es recibido desde la computadora del centro de control por medio del XBee a través del el

puerto serial 2. Este paquete recibido contiene los valores de aceleración de los propulsores,

dirección de los mismos y estados lógicos de pines digitales de repuesto. Una vez almacenado

todo el paquete recibido en una variable de tipo cadena el Arduino realiza la separación de

datos de divididos por comas asignando cada conjunto de datos que encuentra entre comas

a una variable. Esto se realiza utilizando comandos de tratamiento de cadenas de datos, uno

que genera un índice contando caracteres antes de un símbolo denido, en este caso la coma

y otro que toma solo los caracteres especicados por el índice almacenándolos en una variable

de tipo cadena. El paquete de datos recibidos contiene valores de aceleración y dirección de

los propulsores además del estado lógico de los pines digitales de repuesto que se dejaron sin

conectar en el micro-controlador. Este frame de datos se puede ver en la gura 3.18.

La aceleración de los propulsores se regula mediante una señal PWM que tiene una longitud

de hasta 28 bits y que su valor máximo representaría la aceleración total del motor, los valores

requeridos para cambiar la dirección de giro de los motores son el 0 y el 1 numérico y de la

misma manera para los pines de salida digital. Por esta razón al nal de la sección de lectura

42
CAPÍTULO 3. ARQUITECTURA ELECTRÓNICA DEL ROV NU' UKUL JA

de datos de tipo cadena, una vez separados y almacenados en variables de tipo cadena se

deben convertir a variables numéricas enteras para poder generar las señales mencionadas. En

el Apéndice C se encuentra el código del programa del Arduino para una mayor referencia.

3.3.2. Interfaz gráca y programación en LabVIEW

Este programa se encuentra cargado en la PC o centro de control donde el operador tendrá

desplegados los datos de forma gráca o numérica. Todos los programas hechos en este software

de National Instruments son llamados VI (Instrumento Virtual) y son conformados por dos partes

principales: el panel frontal, que es básicamente una interfaz humano máquina (HMI) y un diagrama

a bloques este último es una ventana oculta al usuario nal que es donde se encuentra la programación

lógica para que el panel frontal funcione.

Figura 3.18: Frame enviado de la PC al ROV

En la gura 3.19 se puede apreciar el panel frontal de la interfaz del ROV Nu' ukul Ja, la cual

muestra la pantalla de operación donde en la parte superior están tres indicadores que marcan la

velocidad de los propulsores verticales y de forma independiente de los laterales (babor y estribor).

En el costado izquierdo se muestran dos agujas indicadoras del nivel de agua que los sensores de

humedad podrían detectar en caso de inundación, en la parte derecha de los niveles de humedad se

muestra un control numérico con una barra de nivel que muestra de forma incremental la profundidad

43
3.3. SOFTWARE Y PROGRAMACIÓN DEL NU' UKUL JA

deseada por el operador, el valor puede ser introducido con la echa de la barra o bien introduciendo

el valor en centímetros en el control de forma directa. En la parte central del panel frontal se muestran

dos cuadros de grácas, el superior muestra una gráca de la profundidad deseada establecida por el

operador y el valor de profundidad medido por el submarino; a medida que el tiempo va pasando la

gráca se actualiza en línea. El cuadro de gráca inferior indica la dirección (heading) del submarino

en grados y el heading establecido por el usuario, ambas magnitudes también se van actualizando

con respecto al tiempo mostrando la dirección del submarino en tiempo real.

Del lado derecho de las grácas mencionadas, se encuentra una barra indicadora de la profundidad

que mide el sensor de presión del ROV. A su vez del lado derecho de la barra de nivel mencionada, se

encuentra un compás gráco que indica la dirección medida por el TCM y junto a esta se encuentra

un control numérico para que el operador pueda introducir el valor deseado de direccionamiento

del submarino o heading con respecto al norte magnético de la tierra. Abajo de estos controles e

indicadores de heading, se encuentra lo que se conoce como horizonte articial en aeronáutica, este

instrumento indica el nivel de pitch y roll del vehículo de forma gráca y en línea , el funcionamiento

de este instrumento se vale de los datos entregados pro el compás TCM.

Teniendo ubicados los controles e indicadores del panel frontal y la lógica de recepción y envío

de paquetes de datos del micro-controlador del ROV, se puede entender de manera simple la lógica

de programación del diagrama de bloques del programa para el control del submarino.

El diagrama a bloques se puede dividir para su explicación en 5 cuadros secuenciales que se repiten

continuamente y una sección de control donde se realizan las operaciones de control y se obtiene una

señal de salida que es enviada al robot. Se debe tomar en cuenta que al iniciar el programa, antes

del funcionamiento de estos cuadros, se inicializan sub VIs de comunicación serial y la adquisición

de datos del joystick, estos sub VIs se encuentran incluidos en las librerías de LabVIEW.

Primer Cuadro: Mencionado anteriormente, la comunicación entre la PC y el submarino es vía

serial por lo que en este primer cuadro se asegura que el puerto serial (COM) de la computadora

no tenga datos en cola del ciclo anterior o de alguna otra aplicación mediante un retardo de 5

ms, de esta forma se tiene limpio el puerto serial a utilizarlo.

Segundo Cuadro: En este cuadro se capturan datos del joystick de los ejes Y (para movimiento

hacia adelante y hacia atrás del submarino) y Z (para posicionamiento manual de heading),

44
CAPÍTULO 3. ARQUITECTURA ELECTRÓNICA DEL ROV NU' UKUL JA

se procesan en ciclos de programación lógicos que cuando el valor de alguno de los ejes del

joystick es mayor a cierto número, el submarino ignora la señal de control para heading y

actúa los propulsores laterales al mando del operador. Es importante mencionar que el rango

de valores que el joystick leído directamente por la computadora en cada uno de sus ejes es de

-32768 (máximo valor hacia atrás) hasta 32768 (máximo valor hacia adelante), por lo que este

rango debe ser dividido proporcionalmente al valor que se envía al submarino para actuar a los

10
propulsores ( 2 bits) y se debe establecer de acuerdo al signo del valor del joystick la dirección

de giro de los propulsores, en otras palabras, el valor en reversa máximo de aceleración de un

propulsor es -255 y el valor en directo máximo es de 255. También en este cuadro se capturan

los valores lógicos de los botones del joystick 1 cuando está presionado o 0 cuando el botón

está en su estado normal.

En este cuadro también se realiza la construcción del paquete a enviar al micro controlador por

puerto serial (paso 4 de programación en Arduino), antes de construir el frame se convierten

los valores numéricos tanto de la aceleración de cada propulsor como de los valores digitales de

los botones y la dirección de los propulsores a valores de tipo cadena para poder ser enviados

como caracteres por el puerto serial. Posteriormente, por medio de un bloque de LabVIEW

llamado concatenate strings se arma el frame de envío con cada valor de aceleración de los

propulsores, dirección y valores lógicos de los pines digitales separados todos estos por comas.

Para una mejor visualización de la construcción de este frame ver la gura 3.18. Finalmente

se envía este frame cuando ya se encuentra armado por medio del bloque de escritura del

puerto serial al puerto COM de la PC y a su vez es transmitido por medio de la XBee por

radiofrecuencia.

45
3.3. SOFTWARE Y PROGRAMACIÓN DEL NU' UKUL JA

Figura 3.19: Panel Frontal de Interfaz gráca que visualiza el piloto.

Tercer Cuadro: Para nes de estabilidad de la comunicación del sistema, en este cuadro solo

se encuentra un retardo de 5ms.

Cuarto Cuadro: La tarea principal de este cuadro es leer el puerto serial de la computadora

del centro de control que recibe la información de la XBee. Como se mencionó anteriormente

(gura 3.17) los datos tomados por cada uno de los sensores del Nu' ukul Ja, son acomodados

en un paquete de datos separados por comas. Una vez que en el puerto serial se tiene un

frame completo (desde el primer caracter hasta el salto de línea, se procede a realizar la

separación de esta cadena por medio de los bloques de programación de LabVIEW search/split

string y string subset, ver gura 3.20, haciendo que cada valor se vuelva independiente y

se pueda convertir posteriormente en numérico para su tratamiento en el algoritmo de control

y alimentación de valores de indicadores y grácas en el panel frontal.

46
CAPÍTULO 3. ARQUITECTURA ELECTRÓNICA DEL ROV NU' UKUL JA

Figura 3.20: Separación de frame de datos recibidos por puerto serial

Quinto Cuadro: Cada vez que entran en función secuencial los cuatro cuadros anteriores un

cierto número de veces se realiza una limpieza del puerto, esto es por si algunos bits quedan en

el buer del puerto serial, evitando un desborde del puerto de la computadora y por lo tanto

conictos en la operación del ROV.

Sección de control: Fuera de los cuadros que se mencionan anteriormente se realiza el procesa-

miento del algoritmo de control para los dos grados de libertad mencionados anteriormente (z

y ψ ). En el siguiente capítulo se explicará el funcionamiento del control como tal, sin embargo

a nivel programación en esta sección es preciso indicar que ambos grados de libertad z y ψ,

son controlados por dos PID Neuronales que están implementados en dos partes cada uno: el

PID discreto programado en un nodo fórmula de LabVIEW que es alimentado en cada una de

sus variables por los datos obtenidos en la separación del paquete de datos recibido y también

por la red neuronal que es un sub VI implementado en la misma parte del programa. Este sub

VI requiere de valores del nodo fórmula y también de la lectura de los sensores de profundidad

y dirección para su funcionamiento.

Los cálculos del algoritmo de control se realizan de forma simultánea a la ocurrencia o pro-

cesamiento de los cuadros secuenciales, por lo que a un ciclo de secuencia de los cuadros

existe una salida de control en cada uno de los grados de libertad, actuando los propulsores

correspondientes una vez que es enviado el nuevo frame de datos.

47
3.3. SOFTWARE Y PROGRAMACIÓN DEL NU' UKUL JA

Es de esta forma que interactúan vehículo y operador resultando de esto una operación que

aparenta ser inmediata ya que no existen tiempos notables de latencia. Lo anterior es una ventaja ya

que la carga computacional que implica el funcionamiento del submarino con algoritmos de control

reside en la PC y no a bordo del submarino, dando así menor lugar a fallas y la posibilidad de

conictos en el ujo de información entre dispositivos. Se puede apreciar en el Apéndice C partes

de la estructura de este programa para que el elector tenga una idea más amplia de su lógica de

programación.

48
Capítulo 4

Algoritmos de control para pruebas y


validación de la arquitectura
electrónica

Cuando se analiza el movimiento de vehículos marinos en 6 grados de libertad, es conveniente

denir dos sistemas de coordenadas como se indican en la gura 4.1. El marco de referencia móvil

X0 Y0 Z0 se encuentra jo al vehículo y es llamado marco de referencia ja al cuerpo. El origen O del

marco de referencia jo al cuerpo usualmente coincide con el centro de gravedad cuando se encuentra

en el principal plano de simetría o en algún otro punto convenientemente elegido si el anterior no

fuera el caso.

Para vehículos marinos, los ejes del marco de referencia del cuerpo X0 , Y0 y Z0 coinciden con los

principales ejes de inercia que son usualmente denidos como:

X0 - eje longitudinal (de popa a proa)

Y0 - eje transversal (dirigido a estribor)

Z0 - eje normal (dirigido de arriba a abajo)

El movimiento del marco de referencia del cuerpo se describe relativo al marco de referencia

inercial, este marco de referencia se encuentra jo a algún punto en la Tierra, XY Z [11].

49
Figura 4.1: Marcos de referencia para un submarino.

En navegación marítima y en robótica submarina existe la convención de la SNAME (Society

of Naval Architects and Marine Engineers) para expresar la posición, orientación del vehículo y las

fuerzas que se ejercen sobre él. Ver Cuadro 4.1 [23].

Movimiento Nombre en Español Nombre en Inglés Posición Velocidad Fuerza


Traslación en x Avance Surge x u X
Traslación en y Desvío Sway y v Y
Traslación en z M. Vertical Heave z ω Z
Rotación en x Alabeo Roll φ p K
Rotación en y Cabeceo Pitch θ q M
Rotación en z Guiñado, Dirección Yaw, Heading ψ r N

Tabla 4.1: Notación del movimiento de vehículos marinos de acuerdo a la SNAME 1950

Para probar la arquitectura electrónica propuesta en este trabajo se propone la implementación

de un control con características demandantes de tal forma que pongan a prueba la arquitectura

propuesta. Este capítulo trata acerca del algoritmo de control implementado al ROV en dos grados

de libertad ( z y ψ) por medio de un PID auto-sintonizado por una red neuronal. Cabe aclarar

que esta ley de control fue diseñada previamente en CIDESI como tesis doctoral, sin embargo el

propósito del uso de este algoritmo de control en este trabajo fue realizar pruebas en tiempo real

por primera vez en un robot submarino para el análisis de su funcionamiento en vehículos de este

tipo y probar la arquitectura electrónica propuesta en el Capítulo 3.

50
CAPÍTULO 4. ALGORITMOS DE CONTROL PARA PRUEBAS Y VALIDACIÓN DE LA
ARQUITECTURA ELECTRÓNICA

4.1. Redes Neuronales

El cerebro posee millones de neuronas conectadas entre si, formando redes con las cuales pueden

transmitir órdenes y sensaciones desde y hasta el cerebro, además de realizar tareas de pensamiento

y memorización. El ser humano al darse cuenta del funcionamiento de sus neuronas a través de

los años, creó las redes neuronales articiales (RNA) que pueden tener aplicaciones distintas con un

funcionamiento similar a las naturales y darle cierta inteligencia a sistemas. El funcionamiento de las

RNA consiste en la interconexión de 2 o más neuronas para generar un intercambio de información

entre las entradas con sus salidas y así lograr un aprendizaje para realizar una tarea deseada. Algunas

de las ventajas de las redes neuronales son [20]:

Aprendizaje adaptativo: Son capaces de aprender a realizar tareas basadas en la experiencia

previa.

Tolerancia a fallos: La destrucción parcial de una red conduce a una degradación de su estruc-

tura; sin embargo, algunas capacidades de la red se pueden retener. Esta propiedad es debida

a la naturaleza distribuida de la información almacenada o procesada en la red neuronal.

Operación en tiempo real: El cómputo neuronal puede ser realizado en paralelo, y se diseñan

y fabrican máquinas con hardware especial para obtener esta capacidad.

En todo modelo articial de una neurona se tienen cuatro elementos básicos:

1. Un conjunto de conexiones o sinapsis que pueden determinar el comportamiento de la neurona

ya que estas conexiones pueden ser excitadoras o inhibidoras de acuerdo a su signo; también

son conocidas como pesos.

2. Un sumador encargado de sumar todas las entradas multiplicadas por las respectivas sinapsis.

3. Una función de activación que es generalmente no lineal y limita la amplitud de la salida de

la neurona.

51
4.1. REDES NEURONALES

4. Un umbral exterior que determina en que punto la neurona llega a su activación.

Un sistema o red neuronal está compuesto por múltiples capas con un número determinado de

neuronas, a este tipo de redes se les conoce como redes multicapa. Estas capas son: capa de entradas

o capa sensorial, que recibe la información de fuentes externas, capa oculta o capa de procesamiento,

son internas a la red y no tienen contacto directo con el entorno exterior; el número de neuronas puede

ser cero o un número elevado. Estas neuronas pueden estar interconectadas de distintas maneras, lo

que determina, junto con su número, las distintas tipologías de redes neuronales y por último la capa

de salidas, que transere la información hacia la red exterior. Para entender mejor la interconexión

de una red neuronal multicapa se muestra una en la gura 4.2 señalando cada uno de sus niveles.

Figura 4.2: Red neuronal multicapa

Según el tipo de conexiones entre sus neuronas una red neuronal puede ser no recurrente, donde

la propagación de la señal se produce solo en un sentido por lo que se dice que este tipo de estructuras

no tienen memoria, mientras que las redes neuronales recurrentes cuenta lazos de retroalimentación

que pueden ser entre neuronas de diferentes capas o de la misma capa. Este tipo de conguración

de conexiones entre capas hace a la red neuronal capás de tener memoria, por lo que este tipo de

redes son usadas frecuentemente para estudiar la dinámica de sistemas no lineales como lo son los

robots submarinos.

Como se había mencionado anteriormente las redes neuronales son útiles por su capacidad para

aprender, este aprendizaje sucede cuando los coecientes de peso son modicados en base a las

entradas de la red, estos se modican según la respuesta que se desee obtener a la salida, cuando los

pesos dejan de oscilar y se mantienen estables, se dice que la red ha aprendido. Existen dos tipos

52
CAPÍTULO 4. ALGORITMOS DE CONTROL PARA PRUEBAS Y VALIDACIÓN DE LA
ARQUITECTURA ELECTRÓNICA

de aprendizaje de una red neuronal, el supervisado y el no supervisado. El aprendizaje supervisado

lo realiza un agente externo y regula los pesos de acuerdo a la señal que va saliendo de la red, por

lo general este aprendizaje es fuera de línea del sistema. El aprendizaje no supervisado, mediante

un algoritmo, tiene una señal de referencia dada y se determina la diferencia entre esta y la señal

obtenida a la salida de la red. El aprendizaje supervisado puede ser por refuerzo, en el cual la salida

deseada se compara con la referencia la cual, si no es igual se realiza un ajuste. También este tipo

de aprendizaje puede ser por corrección donde se compara la salida con la referencia y se obtiene

una magnitud de error lo que determina que tanto cambian los pesos.

La retropropagación es un algoritmo de redes neuronales basado en la generalización de la regla

delta, se puede aplicar en modelos de redes con más de dos capas de neuronas, el procesamiento que

realiza la capa oculta o intermedia para conseguir que con los datos de la capa de entrada se generen

resultados deseados en la capa de salida es una de la principales características de este algoritmo,

ya que tiene la capacidad de auto adaptar los coecientes de peso para generar un aprendizaje (ver

gura 4.3). Como se mencionó anteriormente el funcionamiento de este algoritmo se basa en la regla

delta generalizada, es decir, los pesos se actualizan de forma proporcional a la delta, o deferencia

entre la salida deseada y la obtenida [8].

Figura 4.3: Red neuronal de retropropagación

Consistente con lo anteriormente mencionado en este trabajo realiza la implementación de una

red neuronal de retropropagación o recurrente; este tipo de redes neuronales se utilizan amplia-

53
4.2. CONTROL PID

mente en vehículos submarinos como se muestra en [16, 9], así como sistemas lineales con grandes

incertidumbres en el ambiente que los rodea [1, 17].

4.2. Control PID

El controlador PID (Proporcional, Integral y Derivativo) es un controlador con retroalimentación

cuyo propósito es hacer que el error en estado estacionario, entre la señal de referencia y la señal

de salida de la planta o sistema, sea cero de manera asintótica en el tiempo. Su representación

característica lo muestra la gura 4.2.

Figura 4.4: Diagrama a bloques de controlador PID

Este algoritmo funciona gracias a tres acciones de control, proporcional (P), integral (I) y deri-

vativa (D), a continuación se describirán cada una de ellas:

Acción Proporcional: En el caso de un control proporcional puro, la ley de control se reduce a:

u(t) = Kp e(t) (4.1)

Donde Kp es una ganancia proporcional que multiplica al error e(t), lo que hace la acción de

control proporcional al error calculado en el tiempo (dado por e(t) = ref erencia − salida). Si

solo se usara un controlador proporcional en un sistema, el error estacionario será diferente de

cero.

54
CAPÍTULO 4. ALGORITMOS DE CONTROL PARA PRUEBAS Y VALIDACIÓN DE LA
ARQUITECTURA ELECTRÓNICA

Acción Integral: La función principal de la acción integral es asegurar que la salida tenga una

aproximación en el tiempo del error a cero. La característica más importante de este tipo de

control es que la acción correctora se efectúa mediante la integral del error: el control integral

proporciona una señal que está en función del comportamiento del error a lo largo del tiempo.

La acción integral se puede representar como en la ecuación (4.2), donde Ki es la ganancia

integral [26].
ˆt
u(t) = Ki e(t)dt (4.2)

Acción derivativa: Se dice que esta señal de control es anticipativa ya que por medio de la

derivación del error, esta acción de control genera una corrección antes de que el error sea

excesivo. Un aspecto importante a tomar en cuenta con la acción derivativa es que como esta

reacciona a cambios en la salida del sistema; cuando se llega a producir un cambio abrupto en

esta señal la acción derivativa es proporcional a este cambio, lo que quiere decir que si llegara

a existir algún tipo de ruido y la ganancia proporcional Kp no se encuentra bien sintonizada,

el sistema podría desestabilizarse o saturar los actuadores del control dañándolos. La ecuación

característica de esta acción de control es:

de(t)
u(t) = Kd (4.3)
dt

Conociendo las expresiones matemáticas de las acciones que hacen funcionar al controlador PID, se

puede entonces expresar este controlador de forma matemática (con respecto al tiempo continuo)

como se ve en la ecuación (4.4) ya que como se mencionó anteriormente un PID es la suma de

estas acciones. La sintonización de estos controladores, consiste en la determinación del ajuste de

sus constantes Kp , Ki y Kd para lograr un desempeño adecuado de acuerdo al sistema a controlar.

ˆt
de(t)
u(t) = Kp e(t) + Ki e(t)dt + Kd (4.4)
dt
0

55
4.3. CONTROL PID AUTO SINTONIZABLE POR RED NEURONAL

Cuando un PID se implementa en un sistema de tipo digital, este debe ser discreto ya que esta

clase de sistemas no son continuos en el tiempo, en otras palabras, la medición, procesamiento y

envío de señales a los elementos nales de control (actuadores) se realiza en ciclos de instrucciones

programadas en el micro-controlador o PC. Por lo anterior es que para este trabajo se utiliza un

PID de tipo discreto ya que el procesamiento de señales del ROV se realiza en un sistema digital

implementado en un micro-controlador y la PC en el centro de control.

De acuerdo con lo que dice [7], el controlador PID discreto se puede expresar como:

τ (n) = τ (n − 1) + Kp (e(n) − e(n − 1)) + Ki e(n) + Kd (e(n) − 2e(n − 1) + e(n − 2)) (4.5)

donde:

τ (n) = señal de control

τ (n − 1) = señal de control en tiempo anterior

e(n) = error

e(n − 1) = error en tiempo anterior

e(n − 1) = error en dos tiempos anteriores

n = instante de tiempo

4.3. Control PID auto sintonizable por red neuronal

Siguiendo la estructura de control presentada por [Hendookolaei2012], el control aplicado en este

trabajo al ROV Nu' ukul Ja en dos grados de libertad profundidad y dirección tiene la estructura

presentada en la gura 4.5. En esta gura se puede ver como una señal de error (e(n)) calculada por

e(n) = ηd − η , donde ηd es la señal de referencia y η es la señal de salida del sistema, es introducida

al PID discreto ecuación (4.5) y a su vez a la red neuronal que sintoniza al PID modicando las

ganancias Kp , Ki y Kd . La señal de control del PID τ (n) es enviada también a la red neuronal y al

sistema (ROV) el cual tiene perturbaciones constantes y desconocidas que obligan a la red neuronal

a modicar las constantes del PID de forma dinámica. También η y ηd son introducidos a la red

neuronal como señales de entrada.

56
CAPÍTULO 4. ALGORITMOS DE CONTROL PARA PRUEBAS Y VALIDACIÓN DE LA
ARQUITECTURA ELECTRÓNICA

Figura 4.5: Diagrama a bloques de el PID auto-sintonizable por red neuronal conectado al sistema.

El bloque de la red neuronal mostrado en la gura 4.5 puede ser representado a detalle como lo

muestra la gura 4.3. Esta red cuenta con 7 neuronas de la capa de entrada, 3 neuronas de la capa

oculta y 3 de la capa de salida que corresponden a las ganancias del PID.

Figura 4.6: Red neuronal recurrente para la sintonización del PID.

57
4.3. CONTROL PID AUTO SINTONIZABLE POR RED NEURONAL

donde:

u(n) y u(n − 1) son las señales de referencia actual y en un tiempo anterior respectivamente.

y(n) y y(n − 1) son las señales de salida del sistema actual y en un tiempo anterior respectiva-

mente (en nuestro caso señales de sensores que indican la profundidad y dirección actual del ROV

respectivamente).

C(n) y C(n−1) son las señales de salida de control actual y en un tiempo anterior respectivamente

(salidas del PID discreto).

wji representa los pesos de la capa oculta.

νji representa los pesos de la capa de salida.

La función de activación para la red neuronal recurrente implementada es la sigmoide, una función

real sc : R ⇒(0, 1), denida por la expresión:

1
hj = (4.6)
1 + e−Sj

La salida de la capa oculta j se puede calcular por medio de:

3
X
Sj = wji xi (4.7)
i=1

La forma de la sigmoide cambia de acuerdo al valor de hj . Al mismo tiempo la neurona de la

capa de salida es calculada por medio de:

1
u(n) = (4.8)
1 + e−r

donde r toma el valor de:

3
X
r= νj hj (4.9)
i=1

El criterio de minimización de error utilizado es el propuesto por [25] y [24] donde explica que la

combinación de pesos que minimizan la función del error es considerado una solución al problema

del aprendizaje de la red y se representa matemáticamente por:

t
1X
E(n) = ey (k)2 (4.10)
2
k=1

58
CAPÍTULO 4. ALGORITMOS DE CONTROL PARA PRUEBAS Y VALIDACIÓN DE LA
ARQUITECTURA ELECTRÓNICA

donde ey (k) = yr (n) − y(n).

El proceso de minimización de error consiste en un movimiento en dirección al gradiente negativo

de la función (4.10) con respecto a los coecientes de peso υji y wji . El gradiente de E(n) es un

∂E(n) ∂E(n)
vector multidimensional cuyos componentes son las derivadas parciales
w
∂νji , ∂ ji .

El coeciente de pesos para la capa oculta es:

∂E(n) ∂ey
= δ 1 hj (4.11)
∂νji ∂eu

Y el de la capa de salida está dado por:

∂E(n) ∂ey
= −δj2 xi (4.12)
∂ wji ∂eu

Usando las ecuaciones 4.11 y 4.12, los ajustes de los ajustes de pesos vji ecuación (4.13) y wji

ecuación (4.14) pueden realizarse por medio de las expresiones [24]:

∂ey 1
νji (n + 1) = νji (n) + (a )δ hj (4.13)
∂eu

∂ey 2
wji (n + 1) = wji (n) + (a )δ xi (4.14)
∂eu j

donde a es el coeciente de aprendizaje, wji (n + 1) es un vector de pesos de la capa oculta,

∂ey
νji (n + 1) el vector de pesos de la capa de salida y la ganancia equivalente
∂eu que es desconocida.

Debido a que el diseño de la red neuronal se realizó en otro trabajo así como pruebas en simulación

del control en 6 grados de libertad de un robot submarino por medio de el PID auto sintonizado

por red neuronal, la implementación de este control al submarino fue exactamente la implementada

por el autor original de este control con el n de probar su efectividad en cuanto a la adaptabilidad

de el control a un cambio de parámetros en la dinámica del submarino, que en la práctica pudiera

darse como un cambio de herramienta o de masa si el submarino tomara algún cuerpo del lecho del

cuerpo de agua donde esté realizando la misión (también llamado anteriormente modulabilidad).

La experimentación y los resultados de la implementación de este control en el ROV de pequeñas

dimensiones se abordan en el siguiente capítulo.

59
Capítulo 5

Experimentación y Resultados

Una vez integrada la arquitectura electrónica en el ROV Nu' ukul Ja y revisando fuera del agua

su funcionamiento en tele operación (con el operador cerrando el lazo de control), se pudo proceder

a la implementación del control de profundidad y posteriormente añadiendo el control de dirección

o heading mediante el algoritmo de control propuesto en el capítulo anterior.

Es importante mencionar que durante el proceso de integración de la electrónica, se hicieron

pruebas de funcionamiento de un control de profundidad PD discreto lineal que fue implementado

en un prototipo que funcionaba en un banco de pruebas en laboratorio. Este prototipo tenía una

arquitectura electrónica similar al submarino desarrollado para este trabajo (ver gura 5.1) de forma

que en caso de fallas no se comprometía la integridad del Nu' ukul Ja. Estas pruebas fueron esenciales

para comenzar a validar parte de la arquitectura electrónica nal presentada en este trabajo y la

viabilidad de la implementación de un control más robusto el cual requería una capacidad de cómputo

mayor en comparación a la simple tele operación con el piloto cerrando el lazo de control (no un

control automático).

61
5.1. CONTROL DE PROFUNDIDAD PID AUTO SINTONIZADO VS PID CONVENCIONAL

Figura 5.1: Prototipo de pruebas preliminares y banco de pruebas en laboratorio

5.1. Control de profundidad PID auto sintonizado vs PID con-


vencional

Ya que se integró y se puso a punto la arquitectura electrónica del Nu' ukul Ja, se procedió a

realizar la implementación del control en un grado de libertad: profundidad o z . La experimentación

62
CAPÍTULO 5. EXPERIMENTACIÓN Y RESULTADOS

con el ROV se desarrolló en su mayoría en la alberca de pruebas del Laboratorio de Robótica

Submarina de CIDESI (ver gura 5.2), la cual cuenta con dimensiones de 2.5 m de largo, 3 m de

kg
ancho y 2.5 m de altura. Esta alberca está llena con agua salada que tiene una densidad de 1028
m3

y resulta un lugar idóneo para realizar pruebas de control con el ROV debido a que no hay variables

externas que no se puedan controlar y que afecten la experimentación.

Figura 5.2: Alberca de pruebas del Laboratorio de Robótica Submarina de CIDESI

Físicamente el ROV Nu' ukul Ja es positivamente otante, lo que quiere decir que la masa

del volumen de agua que desplaza siendo sumergido es mayor a la masa propia del mismo o en

otras palabras, en conjunto, el ROV es menos denso que el agua si se le ve como una unidad. Al

tomar en cuenta esta característica, para el lector es conveniente saber que si se busca la inmersión

del submarino es necesario que este active sus propulsores verticales (ver gura 3.3) a una cierta

velocidad generando un impulso constante que venza la fuerza de otación del vehículo. Por otra

parte, si se le agrega una masa al vehículo y haciendo esto la masa de agua que desplaza el ROV

es menor a la suya el submarino tenderá a hundirse sin ningún impulso por lo que mantenerlo a

ote requerirá activar los propulsores verticales de forma inversa a la suposición anterior generando

un impulso que compense la atracción de la gravedad al submarino evitando este vaya al fondo del

cuerpo de agua donde se encuentra.

Es verdad que el propósito de la implementación de algún algoritmo de control al ROV desarro-

63
5.1. CONTROL DE PROFUNDIDAD PID AUTO SINTONIZADO VS PID CONVENCIONAL

llado validaría la arquitectura electrónica del mismo, sin embargo como se mencionó en capítulos

anteriores, se buscaba atacar el problema de modulabilidad de un robot submarino, lo que quiere

decir, que si se llegase a modicar algún parámetro hidrodinámico al ROV este deberá ser capaz de

adaptar sus parámetros de control de forma automática (sin tener que detener su operación para

resintonizarlo). Es por lo anterior que se realizó la implementación del control PID auto sintonizable

o neuronal y se comparó con un control PID convencional en las mismas condiciones de operación

del submarino realizando el mismo experimento, con los dos algoritmos de control.

El experimento para evaluar los controles se realizó dando una referencia de 100 centímetros de

profundidad al ROV. Una vez que el vehículo se encontraba estable a esta profundidad se comenzaba

a tomar datos cada 150 mili segundos durante 3 minutos. En los primeros 60 segundos (Fase 1) el

submarino mantenía la profundidad deseada de forma estable. Al comenzar el segundo minuto (Fase

2) al ROV se le ponía un pesa de plomo de 400g sobre el casco como las que se muestran en la gura

5.3, generando de esta forma una perturbación en el control afectando al parámetro de masa del

submarino. Al iniciar el tercer minuto (Fase 3) se quitaba la pesa de nuevo y se tomaron datos de

un minuto más mientras se seguían capturando datos de profundidad y la señal de control de forma

paralela. Como dato adicional es interesante saber que en su conguración completa de operación el

ROV pesa 8.5 kg, por lo que el agregarle los 400g de peso en las pruebas representa agregar un 5 %

de su masa total.

Figura 5.3: Pesas utilizadas durante experimentos de control de profundidad z.

64
CAPÍTULO 5. EXPERIMENTACIÓN Y RESULTADOS

Las ganancias de sintonización del PID convencional (Kp , Ki y Kd ) fueron obtenidas a partir de

las ganancias que la red neuronal entregaba haciendo funcionar al ROV con el PID auto neuronal

enviando al vehículo a un metro de profundidad y esperando a que las ganancias se estabilizaran, a

continuación, estas ganancias eran tomadas e introducidas a las ganancias del control PID convencio-

nal. Es importante remarcar que una vez que las constantes de este tipo de control son establecidas,

estas quedan jas a pesar de existir perturbaciones externas a diferencia del PID auto sintonizado

que busca adaptar estas constantes para minimizar el error y mejorar el desempeño del controlador.

Figura 5.4: ROV con pesa (izquierda arriba), removiendo la pesa (derecha arriba) y sin pesa (abajo)

En la gura 5.5 se muestran las grácas del experimento. Del lado izquierdo se muestra el

comportamiento del PID convencional contra el PID neuronal del lado derecho; las grácas de

arriba muestran las señales de control en volts que se iba escribiendo a los propulsores verticales del

submarino para mantener la profundidad. En las grácas de abajo, en la misma escala de tiempo, se

puede apreciar la referencia o setpoint dada por el operador de 100 cm (línea azul sólida) y la señal

de profundidad obtenida por el sensor (línea punteada roja).

65
5.1. CONTROL DE PROFUNDIDAD PID AUTO SINTONIZADO VS PID CONVENCIONAL

Figura 5.5: Control de profundidad o z mediante PID convencional y PID auto sintonizado

Las grácas de la gura anterior (5.5) se encuentran divididas en las tres fases experimentales

previamente explicadas. Se puede apreciar que la señal de control del PID auto sintonizado se muestra

más activa que la del PID convencional, teniendo un valor ecaz de 8.7688, mientras que la señal

de control del PID convencional tiene un valor ecaz de 7.4247. Si bien se requiere más energía

en el PID neuronal con respecto al PID convencional, la aproximación del sistema a la referencia

(aproximación del error a cero) es mejor con el algoritmo auto sintonizable como se puede ver en

la gura 5.6, donde se muestra un error RMSE (Raíz del Error Cuadrático Medio en inglés) con

respecto a la referencia dada de 2.47 cm mientras que con el PID convencional es de 3.51 cm.

66
CAPÍTULO 5. EXPERIMENTACIÓN Y RESULTADOS

Figura 5.6: Comparación de Raíz del Error Cuadrático medio para el control de profundidad en PID
Convencional vs PID Neuronal

A pesar de los datos obtenidos y la ligera diferencia que existe entre ambos controles, no se puede

dar una conclusión de las ventajas y/o desventajas de un control con ganancias jas u otro auto

sintonizable. Es por esto que con el n de un mejor análisis del funcionamiento del control ante un

cambio en la masa del submarino, se muestra en las guras 5.7 y 5.8 las grácas del experimento

realizado y explicado en párrafos anteriores pero ahora dividido en cada uno de sus fases, donde se

puede comparar minuto a minuto el PID convencional contra el PID neuronal.

Figura 5.7: Experimento por fases del PID convencional

67
5.1. CONTROL DE PROFUNDIDAD PID AUTO SINTONIZADO VS PID CONVENCIONAL

Figura 5.8: Experimento por fases del PID neuronal

De lo anterior se realizó el cálculo del RMSE para cada una de las fases y para los dos controles.

En la gura 5.9 se puede ver que en la primer fase del experimento con el control PID convencional,

se tiene un RMSE de 2.13 cm, durante la segunda fase que es cuando se pone la pesa al submarino,

la raíz del error cuadrático medio es de 4.80 cm y nalmente cuando la pesa se remueve, el RMSE

es de 1.709 cm.

Mientras tanto los RMSE de cada fase del experimento con el PID convencional implementado

al ROV (ver gura 5.10), tiene valores de: 2.80 cm para la primer fase, 2.56 cm para la segunda fase

y 1.76 cm para la tercer fase.

Figura 5.9: RMSE por fase para experimento con PID convencional

68
CAPÍTULO 5. EXPERIMENTACIÓN Y RESULTADOS

Figura 5.10: RMSE por fase para experimento con PID neuronal

Con estas pruebas se cumple con la implementación de un control conocido que permita al

ROV adaptarse a cambios en la dinámica de su sistema además de validar el funcionamiento de

gran parte de la arquitectura electrónica. La validación del resto de la arquitectura electrónica se

realizará mediante la implementación del control de dirección.

5.2. Control de dirección o heading

Uno de los objetivos especícos de este trabajo es la implementación de un control conocido en

dos grados de libertad, z y ψ . Esta sección habla de la experimentación que se realizó al implementar

el control de dirección (ψ ) al Nu' ukul Ja, realizando un esquema comparativo similar al de la sección

anterior entre un PID convencional y el PID neuronal para analizar resultados.

Tomando en cuenta la conguración de los propulsores laterales del ROV (ver gura 3.3), estos

se pueden actuar de forma que funcionando en direcciones inversas (uno hacia adelante y otro hacia

atrás) generarán vectores de fuerza con respecto al centro de gravedad del vehículo ocasionando que

el mismo gire con respecto a su eje Z cambiando de esta forma su ángulo ψ o heading. Este es

el principio de funcionamiento del control de dirección implementado, con el cual una vez que se

genera la señal de control de salida, esta es enviada a los dos propulsores laterales del submarino en

sentido opuesto tomando en cuenta el signo del error. El signo del error es usado para que de forma

automática el submarino sepa hacia qué dirección debe girar, si en sentido a las manecillas del reloj

69
5.2. CONTROL DE DIRECCIÓN O HEADING

o al sentido opuesto, de acuerdo a que el ROV siempre se mueva a la dirección donde quede más

cerca la señal de referencia y el error se aproxime a cero.

Como se menciona en el capítulo 3 de esta tesis la implementación de los algoritmos de control

para el submarino se realiza en el diagrama a bloques de LabVIEW, especícamente en la sección

de control. Esto se menciona por que la implementación del control de dirección se encuentra fun-

cionando independientemente del control de profundidad siendo estos dos procesos distintos y que

funcionan de forma simultánea.

El elemento de medición de dirección del submarino es el TCM, el cual funciona por medio de la

detección del norte magnético de la Tierra, el cual aveces puede ser más débil que el campo magnético

generado por los propulsores al entrar en funcionamiento. Es por eso que se debe de calibrar este

dispositivo previamente a la operación del submarino para que compense de forma autónoma la

mayoría de esas desviaciones de medición por agentes externos.

Para la experimentación del control de dirección del submarino (ver gura 5.11), se realizó primero

la implementación del control PID auto sintonizable o neuronal y de la misma manera que con el de

profundidad se tomaron las ganancias que ajustó la red neuronal y se pusieron en el PID convencional.

El procedimiento para probar ambos controles fue como se numera a continuación:

1. Por medio del control PID neuronal se establece la profundidad del submarino a 100 cm;

simultáneamente se le da al submarino una referencia o setpoint de 110° con respecto al norte.

2. Una vez que se estabilicen ambos grados de libertad se procede a comenzar la captura de datos

del compás cada 100 milisegundos, durante 2 minutos.

3. Se cambia la señal de referencia a 45° y se registra la reacción del submarino por 2 minutos.

4. Se modica el setpoint a 80° durante 2 minutos más.

5. Se cambia la referencia por última vez a 180° y se toman datos hasta pasar 2 minutos luego

del cambio de referencia concluyendo la prueba en un total de 6 minutos por cada uno de los

controles.

70
CAPÍTULO 5. EXPERIMENTACIÓN Y RESULTADOS

Figura 5.11: Experimentación en heading, izquierda, ROV direccionado a 30° derecha ROV direc-
cionado a 180°

Así como los datos de referencia y los tomados por el compás fueron capturados, también se

capturó para su análisis y comparación la señal de control generada en ambos casos. Las grácas

mencionadas se pueden ver en la gura 5.2.

Figura 5.12: Experimentación de control de dirección con PID Convencional (izquierda) y PID
Neuronal (derecha)

Si se realiza el cálculo de valor ecaz de la señal de control en ambos experimentos, se tiene que

el valor ecaz en el PID convencional es de 2.9899 mientras que para el PID neuronal se obtuvo

1.7077 representando un 40 % de diferencia entre un control y otro. Otro aspecto que se comparó

71
5.2. CONTROL DE DIRECCIÓN O HEADING

es el RMSE de la referencia contra el valor medido en grados por el compás en ambos controles. La

representación gráca de estos errores se muestra en la gura 5.2.

Figura 5.13: RMSE de experimento para el control de heading del PID convencional vs PID Neuronal

El RMSE que arrojó el experimento con el control PID Convencional es de 10.623, mientras que

el obtenido con el PID Neuronal es de 13.134, representando una diferencia de 2.51°.

Para el control de dirección no se realizó ningún cambio de los parámetros hidrodinámicos del

ROV ya que no hubo forma directa de afectar el grado de libertad ψ de marera controlada pudiendo

estar seguros de la magnitud del cambio aplicado al vehículo en este grado de libertad, sin embargo

existe un factor que no fue posible controlar durante la experimentación: las fuerzas producidas por

el cordón umbilical del Nu' ukul Ja.

Estas fuerzas no pueden ser controladas debido a que la magnitud de estas depende de la posición

del cordón umbilical dentro del agua y de la posición de otadores instalados en el mismo con el n de

evitar que la masa del cordón hunda al submarino y que el arrastre del mismo sea lo más ligero posible

ya que este acompaña siempre los movimientos del ROV. Para lograr que la experimentación fuera

válida los experimentos del control PID convencional y neuronal se desarrollaron de forma simultánea

de forma que la posición del cordón umbilical fuera la misma y la ubicación de los otadores en el

cable estuvieran iguales durante ambos experimentos y por lo tanto siempre existieran las mismas

condiciones de experimentación.

En el capítulo siguiente se encuentran redactadas las conclusiones generadas por el autor en base

72
CAPÍTULO 5. EXPERIMENTACIÓN Y RESULTADOS

a los datos obtenidos en cada uno de los experimentos de control tanto el de profundidad como el

de dirección, sin embargo conviene recalcar que el hecho de haber podido realizar la implementación

de un control lineal y uno que hace que el ROV adapte el control a parámetros nuevos generados

por la modulabilidad del sistema o perturbaciones desconocidas propias del medio en el que se está

probando.

73
Capítulo 6

Conclusiones, aportes y trabajos a


futuro

En esta tesis se abordó desde el diseño de la electrónica par un ROV de pequeñas dimensiones, su

funcionamiento, hasta la aplicación de un control auto sintonizable en dos grados de libertad que fue

comparado con un control lineal de ganancias jas. En este capítulo se muestran las conclusiones de

los trabajos realizados en esta tesis así como las aportaciones y trabajo a futuro para este proyecto.

6.1. En cuanto a la arquitectura electrónica

El diseño de la arquitectura electrónica interna del Nu' ukul Ja fue conformada en su mayoría por

la integración de dispositivos comerciales de bajo costo. Los sensores analógicos, por su simplicidad

en funcionamiento, permitían entregar datos puntuales al usuario en el momento que se requiriera así

2
como los sensores digitales (I C y UART), los cuales, cuentan con frecuencias de muestreo sucientes

para la medición de variables ya que estos datos deben de ser virtualmente inmediatos para que

el control automático programado pueda funcionar adecuadamente y no reaccionar tarde ante una

perturbación o cambio en la referencia por el operador.

Para el diseño y construcción de un prototipo académico es importante tener una buena relación

entre el costo del vehículo y el desempeño del mismo, debido a que los presupuestos para un proyecto

75
6.1. EN CUANTO A LA ARQUITECTURA ELECTRÓNICA

de este tipo son limitados. Esta es otra razón de haber utilizado dispositivos comerciales de uso para

hobistas en general, excepto por el compás TCM y los propulsores del ROV. Otra decisión tomada

en el diseño de la arquitectura para hacerla económica y con buen desempeño fue haber utilizando

el micro controlador como tarjeta de adquisición de datos, ya que como se menciona en el capítulo

3, solo se obtienen las señales que se traducen a datos numéricos y se ordenan en un paquete para

ser enviados a ser procesados por la PC, que tiene mayor capacidad de cómputo y envía una señal

nal de operación al submarino (ya sea que se genere por el control o dada por el operador) para que

este realice la tarea deseada. Lo anterior reduce la carga en un sistema que puede ser limitado, que

complique la programación de leyes avanzadas de control y que pudiera volverse inestable durante

la operación. Para ver más fotografías de las pruebas en laboratorio y campo que se realizaron con

el Nu' ukul Ja ver el Apéndice B.

Una característica valiosa de el diseño de este ROV es que cuenta con una arquitectura abierta,

es decir que, permite que de forma sencilla se le añadan instrumentos o actuadores al vehículo sin

necesidad de cambiar toda la electrónica del mismo, realizar una resintonización del control o bien

reemplazarlo por otro algoritmo; siendo esta una ventaja para trabajos que se realicen a futuro

que puedan tomar como punto de partida a este vehículo como plataforma de experimentación.

Es importante mencionar que si fuera necesario modicar por alguna necesidad especíca la ley

de control o agregar un proceso que ocupe datos obtenidos por el vehículo, estas modicaciones se

pueden realizar desde la PC sin necesidad de modicar el programa del micro controlador alojado en

el submarino. Sin embargo, si se llegara a requerir modicar la programación en el submarino durante

una misión para hacer un ajuste, se puede hacerse esto por el puerto externo de programación a

prueba de agua, con la ventaja de que no es necesario quitar las tapas de la cámara de presión, lo

que ahorra tiempo y reduce el riesgo de fugas.

Si bien se trata poco acerca del video que transmite el submarino al centro de control, es preciso

mencionar que es por que no se le realiza ningún tratamiento a esta señal, sin embargo durante la

operación del submarino resulta práctico tenerla funcionando, ya que gracias a sus funciones de pan y

tilt es posible realizar misiones de inspección además de que el ángulo de tilt máximo permite revisar

debajo del agua por dentro del casco del submarino si existiera alguna fuga en caso de sospechas de

que esto haya ocurrido.

76
CAPÍTULO 6. CONCLUSIONES, APORTES Y TRABAJOS A FUTURO

6.2. En cuanto al control aplicado

Es una realidad que los ROVs son modulables, ya sean de tipo Work Class o de pequeñas dimen-

siones, comerciales o prototipos académicos. En este caso el Nu' ukul Ja es un prototipo académico

de arquitectura abierta al que posiblemente en trabajos a futuro se le adaptará hardware nuevo o

se le pruebe en condiciones de campo donde las perturbaciones sean desconocidas y el robot tenga

que adaptarse para mantener su posición y realizar la misión que se esté desarrollando con éxito.

Este fue el propósito de la implementación del control auto sintonizable, con el cual se realizaron

experimentos en dos grados de libertad: profundidad (z ) y dirección o heading (ψ ).

De las pruebas con el control de profundidad se puede ver que ante un cambio de masa en el

vehículo en la segunda fase de los experimentos entre controles (ver guras 5.9 y 5.10), que es cuando

se añadieron 400g al submarino, el error con respecto a la referencia (RMSE) es mucho mas grande

en el PID convencional que en el PID neuronal, siendo esto una ventaja ya que en un escenario real

de una misión, por ejemplo de toma de muestras, al tomar una muestra con una masa determinada

el submarino podrá mantener la precisión en su profundidad. Un aspecto importante a tomar en

cuenta es que la presión de referencia que marca el cero en profundidad al submarino debe ser tomada

estrictamente en la supercie del agua o fuera de ella al encender el submarino, en caso de no ser

así la medición real con la indicada por el submarino van a diferir teniendo un oset determinado.

El escenario de experimentación fue diferente cuando se hicieron las pruebas del control de

heading. Para modicar el valor en este grado de libertad, como se había mencionado en el capítulo

anterior, se deben encender los propulsores laterales en sentidos opuestos generando un momento

de rotación sobre el eje Z con respecto al marco de referencia del cuerpo del vehículo. Esto hace

que al mínimo impulso de los propulsores el submarino se mueva de forma rápida, hecho que de no

tener bien sintonizado el control del submarino (con un Kd o Kp grandes) se podría generar una

des estabilización del sistema haciendo que el submarino gire sin control debido a los sobre impulsos

dados por los propulsores. Es por lo anterior que las salidas de la red neuronal fueron aproximadas

mediante una multiplicación pro un factor determinado de forma experimental, haciendo que en las

primeras iteraciones en las que la red va aprendiendo ya se tengan un valores cercanos a los deseados

que por cierto son muy pequeños.

Otro factor a tomar en cuenta para el control de profundidad es que cuando se desea ponerlo a

77
6.3. APORTES

funcionar de forma simultánea con el control de profundidad, el ruido electromagnético generado por

los actuadores afecta la medición del compás y hace que el control pierda precisión. La acción que

se tomó fue limitar los propulsores verticales a una cuarta parte de su capacidad de aceleración y

solo hacia un sentido aprovechando que el submarino es naturalmente otante, de modo que el ruido

electromagnético disminuyó mucho a comparación del presentado inicialmente y permitió realizar

las pruebas de forma correcta.

Cuando se obtuvo el RMSE de la experimentación entre controles se obtuvo un error de 2.5°

mayor en el experimento del PID Neuronal lo que es una diferencia despreciable entre los controles

en cuanto a diferencias en la exactitud que pueden alcanzar uno contra el otro. Lo que resulta

interesante de la respuesta de un control contra el otro es en el valor ecaz de las señales de control

del PID convencional en comparación con la del PID Neuronal. El PID convencional tiene un valor

ecaz de mas de 1 volt de diferencia, lo que representa un mayor consumo de energía así como un

desgaste mayor a los actuadores ya que se excitan de forma más abrupta.

6.3. Aportes
El aporte de este proyecto puede dividirse en el aporte técnico y al aporte técnico-cientíco. El

aporte técnico de este proyecto fue el desarrollo de la arquitectura de un ROV de pequeñas dimen-

siones, el cual cuenta con una arquitectura abierta y puede funcionar como plataforma experimental

para proyectos a desarrollar o trabajo a futuro de esta tesis, siendo esta arquitectura fácil de modi-

car o de integrar instrumentación nueva permitiendo al vehículo versatilidad para la realización de

tareas especícas.

El aporte técnico-cientíco de este trabajo fue la prueba de un control auto sintonizable diseñado

en CIDESI por primera vez en un ROV. Este hecho permitió generación cientíca con la publicación

[14] en un journal de reconocimiento internacional.

6.4. Trabajos a futuro


Del desarrollo de este trabajo, se identicaron tareas posibles a realizar que enriquecerían a este

trabajo y que por cuestiones de tiempo o de costos no fue posible realizar.

78
CAPÍTULO 6. CONCLUSIONES, APORTES Y TRABAJOS A FUTURO

Como trabajo a futuro se sugiere la instalación de un cordón umbilical apropiado para ROVs, ya

que con el que se cuenta genera un arrastre muy grande así como momentos de torsión que afectan

el desplazamiento del submarino o el poder conservar la dirección establecida por el operador. Se

recomienda para esto el uso de un cordón umbilical comercial, estos cuentan con características de

otabilidad neutra y mayor exibilidad que hacen que el submarino ocupe menos energía para su

desplazamiento y que daría una mayor eciencia a los controles.

Otro aspecto posible a realizar sería realizar el procedimiento de calibración de el compás TCM sin

tener que desconectarlo del micro controlador, además sería bueno generar un archivo de calibración

y poder leerlo cada vez que el submarino se enciende. Esto representaría una ventaja ya que existen

momentos en que el instrumento pierde su calibración y comienza a dar datos erróneos.

Sería también interesante añadir algún manipulador al vehículo para poder realizar tareas donde

se pueda probar el control auto sintonizable ya en el cumplimiento de alguna misión en especíco.

79
Bibliografía

[1] V. Aggarwal, M. Mao, and U.-m. O. Reilly,  A Self-Tuning Analog Proportional-Integral-

Derivative ( PID ) Controller, Proceedings of the First NASA/ESA Conference on Adaptive

Hardware and Systems, Istanbul, pp. 1219, 2006.

[2] F. a. Azis, M. S. M. Aras, M. Z. a. Rashid, M. N. Othman, and S. S. Abdullah,

 Problem identication for Underwater Remotely Operated Vehicle (ROV): A case

study, Procedia Engineering, vol. 41, no. Iris, pp. 554560, 2012. [Online]. Available:

http://dx.doi.org/10.1016/j.proeng.2012.07.211

[3] A. Bagheri and J. J. Moghaddam,  Simulation and tracking control based on neural-network

strategy and sliding-mode control for underwater remotely operated vehicle, Neurocomputing,

vol. 72, no. 7-9, pp. 19341950, 2009.

[4] J. Bellingham,  Autonomous Underwater Vehicles, in MIT Sea Grant, N. Cruz, Ed.

InTech, oct 2011, pp. 212216. [Online]. Available: http://www.intechopen.com/books/

autonomous-underwater-vehicles

[5] C. S. Chin and S. H. Lum,  Rapid modeling and control systems prototyping of a marine robotic

vehicle with model uncertainties using xPC Target system, Ocean Engineering, vol. 38, no. 17-

18, pp. 21282141, 2011. [Online]. Available: http://dx.doi.org/10.1016/j.oceaneng.2011.09.035

[6] R. D. Christ and R. L. Wernli, The ROV manual : a user guide for remotely operated vehicles,

rst edit ed., Butterworth-Heinemann, Ed. Oxford, UK: Elsevier Ltd, 2007.

[7] H. Cordova and A. F. Wijaya,  Self-Tuning Pid Neural Network Controller to Control Nonlinear

Ph Neutralization in Waste, IPTEK, The Journal for Technology and Science, vol. 18, no. 3,

pp. 17, 2008.

81
[8] B. del Brío and A. Sanz, Redes Neuronales y Sistemas Borrosos. Ed. Alfaomega, 2007.

[9] E. Dong, S. Guo, X. Lin, X. Li, and Y. Wang, A neural network-based self-tuning

PID controller of an autonomous underwater vehicle, Mechatronics and Automation

(ICMA), 2012 International Conference on, pp. 898903, 2012. [Online]. Available:

http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=6283262

[10] D. D. a. Fernandes, A. J. Sørensen, K. Y. Pettersen, and D. C. Donha,  Output feedback

motion control system for observation class ROVs based on a high-gain state observer:

Theoretical and experimental results, Control Engineering Practice, vol. 39, pp. 90102, 2015.

[Online]. Available: http://linkinghub.elsevier.com/retrieve/pii/S0967066114002780

[11] T. I. Fossen, Guidance and Control of Ocean Vehicles. Great Britain: John Wiley & Sons,

1994, vol. 32, no. 8.

[12] , Marine control systems: guidance, navigation and control of ships, rigs and underwater

vehicles, M. C. AS, Ed. Trondheim Norway: Springer, 2002.

[13] A. G. González, T. L. Maestre, J. G. Cervera, J. García-vidal, A. Z. Ayala, and I. G. Reolid,

 Vehículo Submarino Autónomo para trabajos oceanográcos en aguas costeras, Jornadas

SARTECO, 2012.

[14] R. Hernández-alvarado, L. G. García-valdovinos, T. Salgado-jiménez, A. Gómez-espinosa,

and F. Fonseca-navarro,  Neural Network-Based Self-Tuning PID Control for Underwater

Vehicles, Sensors, vol. 16, no. 9, pp. 118, 2016. [Online]. Available: http://www.mdpi.com/

1424-8220/16/9/1429

[15] J. Javadi-Moghaddam and a. Bagheri,  An adaptive neuro-fuzzy sliding mode based

genetic algorithm control system for under water remotely operated vehicle, Expert

Systems with Applications, vol. 37, no. 1, pp. 647660, 2010. [Online]. Available:

http://dx.doi.org/10.1016/j.eswa.2009.06.015

[16] M. Kawafuku, M. Sasaki, and S. Kato,  Self-Tuning PID Control of a Flexible Micro-Actuator

Using Neural Networks, Proceedings of the IEEE International Conference on Systems, Man

and Cybernetics, San Diego, CA, USA, pp. 30673072, 1998.

82
[17] J.-s. Kim, J.-h. Kim, J.-m. Park, S.-m. Park, W.-y. Choe, and H. Heo,  Auto Tuning PID

Controller based on Improved Genetic Algorithm for Reverse Osmosis Plant, Computer Engi-

neering, pp. 532537, 2008.

[18] H. Liu, Z. Gong, and M. Li,  Sliding Mode Control of ROV Based on RBF Neural Networks

Adaptive Learning, 3rd International Conference on Intelligent System and Knowledge Engi-

neering, pp. 15, 2008.

[19] D. Maalouf, A. Chemori, and V. Creuze,  L1 Adaptive depth and pitch control of an

underwater vehicle with real-time experiments. Ocean Engineering, vol. 98, pp. 6677, 2015.

[Online]. Available: http://linkinghub.elsevier.com/retrieve/pii/S0029801815000219

[20] A. Maren, C. Harston, and R. Pap, Handbook of Neural Computing Applications. Academic

Press, 1990.

[21] D. Michel,  Remotely Operated Vehicles, Marine Technology Society Journal, vol. 39, no. 3,

pp. 128128, 2005.

[22] H. A. Moreno Ávalos,  Modelado , Control y Diseño de Robots Submarinos de Estructura

Paralela con Impulsores Vectorizados, Ph.D. dissertation, Universidad Politécnica de Madrid,

2013.

[23] E. Moreno and S. Y. Chung,  SeaDrone: A modular and recongurable underwater robot

for task optimization, OCEANS 2014 - TAIPEI, pp. 17, 2014. [Online]. Available: http:

//ieeexplore.ieee.org/stamp/stamp.jsp?tp={&}arnumber=6964420{&}isnumber=6964280

[24] A. N. Ponce, A. A. Behar, A. O. Hernández, and V. R. Sitar,  Neural Networks for Self-tuning

Control Systems, Acta Polytechnica, vol. 44, no. 1, pp. 4952, 2004.

[25] R. Rojas, Neural Networks a Systematic Introduction. Berlin: Springer, 1996, vol. 7, no. 1.

[Online]. Available: http://page.mi.fu-berlin.de/rojas/neural/index.html.html

[26] G. Ronquillo,  Manual del participante ingenieria en control automático, Querétaro, México,

p. 203, 2014.

[27] N. Sakagami, T. Kanayama, T. Ueda, H. Hashizume, M. Shibata, H. Onishi, S. Murakami, and

S. Kawamura,  Design and development of an attitude control system for a human-sized ROV,

83
11th International Conference on Control, Automation, Robotics and Vision, ICARCV 2010,

no. December, pp. 21412146, 2010.

[28] SubseaTech,  Guardian 2.1 Datasheet, pp. 01. [Online]. Available: https://www.inspectahire.

com/media/brochures/SubseaTechGuardianEN.pdf

[29] Teledyne,  LBV300-5 Datasheet, 2015. [Online]. Available: http://www.teledynemarine.com/

Lists/Downloads/SeaBotix{_}LBV300-5{_}Data{_}Sheet{_}2015-032715.pdf

[30] O. Yildiz, A. E. Yilmaz, and B. Gokalp,  State-of-the-art system solutions for unmanned un-

derwater vehicles, Radioengineering, vol. 18, no. 4, pp. 590600, 2009.

84
Apéndice A : Hojas de Datos

Hoja de datos del sensor de presión incluido en la integración


Bar30 del fabricante Blue Robotics.

MS5837-30BA
Ultra Small Gel Filled Pressure Sensor

SPECIFICATIONS
Ceramic - metal package, 3.3 x 3.3 x 2.75mm
High-resolution module 0.2 mbar
Fast conversion down to 0.5 ms
Low power, 0.6 µA (standby < 0.1 µA at 25°C)

Supply voltage 1.5 to 3.6 V


Operating range: 0 to 30 bar, -20 to +85 °C
2
I C interface
No external components (Internal oscillator)
Excellent long term stability
Hermetically sealable for outdoor devices
Sealing designed for 1.8 x 0.8mm O-ring

The MS5837-30BA is a new generation of high resolution


2
pressure sensors with I C bus interface for dept h
measurement systems with a water depth resolution of 2 mm.
The sensor module includes a high linearity pressure sensor
and an ultra-low power 24 bit ADC with int ernal factory
calibrated coefficients. It provides a precise digit al 24 Bit
pressure and temperature value and different operation modes
that allow the user to optimize for conversion speed and
current consumption. A high resolution temperature output
allows the implementation in depth measurement systems and
thermometer function without any additional sensor. The
MS5837-30BA can be interfaced to virtually any
microcontroller. The communication protocol is simple, without
the need of programming internal registers in the device. The
gel protection and antimagnetic stainless steel cap make the
module water resistant. This new sensor module generation is
based on leading MEMS technology and latest benefits from
MEAS Switzerland proven experience and know-how in high
volume manufacturing, which has been widely used for over a
decade.

SENSOR SOLUTIONS /// MS5837-30BA 03/12/2015 1

85
MS5837-30BA
Ultra Small Gel Filled Pressure Sensor

PERFORMANCE SPECIFICATIONS

ABSOLUTE MAXIMUM RATINGS


Parameter Symbol Conditions Min. Typ. Max Unit
Supply voltage VDD -0.3 +4 V
Storage temperature TS -40 +85 °C
Overpressure Pmax ISO 22810 50 Bar
Maximum Soldering
Tmax 40 sec max 250 °C
Temperature
Human Body
ESD rating -2 +2 kV
Model
JEDEC standard
Latch up -100 +100 mA
No 78

ELECTRICAL CHARACTERISTICS
Parameter Symbol Conditions Min. Typ. Max Unit
Operating Supply voltage VDD 1.5 3.0 3.6 V
Operating Temperature T -20 +25 +85 °C
8192 20.09
4096 10.05
Supply current 2048 5.02
IDD OSR µA
(1 sample per sec.) 1024 2.51
512 1.26
256 0.63
Peak supply current during conversion 1.25 mA
Standby supply current at 25°C 0.01 0.1 µA
VDD Capacitor From VDD to GND 100 470 nF

ANALOG DIGITAL CONVERTER (ADC)


Parameter Symbol Conditions Min. Typ. Max Unit
Output Word 24 Bit
8192 14.8 16.44 18.08
4096 7.40 8.22 9.04
2048 3.72 4.13 4.54
Conversion time (1) tc OSR ms
1024 1.88 2.08 2.28
512 0.95 1.06 1.17
256 0.48 0.54 0.60

(1): Maximum values must be applied to determine w aiting times in I2C communication

SENSOR SOLUTIONS /// MS5837-30BA 03/12/2015 2

MS5837-30BA
Ultra Small Gel Filled Pressure Sensor

PERFORMANCE SPECIFICATIONS (CONTINUED)

PRESSURE OUTPUT CHARACTERISTICS (V DD = 3 V, T = 25°C UNLESS OTHERWISE NOTED )


Parameter Conditions Min. Typ. Max Unit
Operating Pressure Range Prange Full Accuracy 0 30 Bar
-50 +50
Absolute Accuracy (1),
-100 +100 mbar
-200 +200
-100 +100
Absolute Accuracy (1),
-200 +200 mbar
Temperature range: -
-400 +400
Maximum error with supply
VDD ±30 mbar
voltage (2)
Long-term stability ±30 mbar/year
8192 0.20
4096 0.28
2048 0.38
Resolution RMS OSR mbar
1024 0.54
512 0.84
256 1.57
IPC/JEDEC J-STD-020D.1
Reflow soldering impact (See application note AN808 -8 mbar
on http://meas -spec.com)
Recovering time after reflow (3) 7 Days
(1) With autozero at one pressure point
(2) With autozero at 3V point
(3) Time to recover at least 66% of the reflow impact.

TEMPERATURE OUTPUT CHARACTERISTICS (V DD = 3 V, T = 25°C UNLESS OTHERWISE NOTED)


Parameter Conditions Min. Typ. Max Unit
-1.5 +1.5
Absolute Accuracy -2.0 +2.0 °C
-20..85°C -4.0 +4.0
Maximum error with supply
VDD ± 0.3 °C
voltage
8192 0.0022
4096 0.0026
2048 0.0033
Resolution RMS OSR °C
1024 0.0041
512 0.0055
256 0.0086

SENSOR SOLUTIONS /// MS5837-30BA 03/12/2015 3

86
Hoja de datos de AHRS TCM

<

<
<

87
Hoja de datos del propulsor BTD 150

88
Apéndice B: Fotos de operación y
pruebas de ROV

Pruebas en Laboratorio

89
90
Pruebas de Campo en el Río Pánuco.

91
92
93
Apéndice C: Programación

Programa en Arduino

#include <string.h> int val1 = 0;


#include <ctype.h> int val2 = 0;
#include <Wire.h> int val3 = 0;
#include <tcm.h> int val4 = 0;
#include <MS5837.h> int val5 = 0;
int val6 = 0;
TCM tcm; int val7 = 0;

int digital1;
int ledPin = 13; int digital2;
int digital3;
int digpin1 = 23; //salidas digitales int digital4;
int digpin2 = 25; int digital5;
int digpin3 = 27; int digital6;
int digpin4 = 29;
int digpin5 = 31;
int digpin6 = 33; // int sensorValue0; // Valor del sensor sensor x
int sensorValue1; // Valor del sensor de humedad
int sensorValue2; // Valor del sensor de humedad 2
int pindir1 = 52; int sensorValue3; // Valor del sensor de voltaje
int pindir2 = 53;//_________sea botix 1 LSTBD int sensorValue4; // Valor del sensor de corriente 1
int pindir3 = 48; int sensorValue5; // Valor del sensor de corriente 2
int pindir4 = 49;//_________sea botix 2 LPORT int sensorValue6; // Valor del sensor de corriente 3
int pindir5 = 44;
int pindir6 = 45;//_________prof 1 VSTBD String dat_gps;
int pindir7 = 40; String dat_imu;
int pindir8 = 41;//_________prof 2 VPORT String dat_pwms;

int PWM2 = 2; // select PWM2 LSTBD void setup() {


int PWM3 = 3; // select PWM3 LPORT
int PWM6 = 6; // select PWM6 VSTBD delay (2000);
int PWM7 = 7; // select PWM7 VPORT tcm.begin(3);
Serial.begin(57600);
int ind1; Serial2.begin(57600);
int ind2;
int ind3; Wire.begin();
int ind4;
int ind5; sensor.init();
int ind6; sensor.setFluidDensity(1029); // kg/m^3 (997
int ind7; freshwater, 1029 for seawater)
int ind8; sensor.read();

int ind11; Serial.setTimeout(3);


int ind12; Serial2.setTimeout(3);
int ind13; Serial3.setTimeout(3);
int ind14;
int ind15;
int ind16; pinMode(ledPin, OUTPUT);
int ind17;
pinMode(pindir1, OUTPUT);
int ind21; pinMode(pindir2, OUTPUT);
int ind22; pinMode(pindir3, OUTPUT);
int ind23; pinMode(pindir4, OUTPUT);
int ind24; pinMode(pindir5, OUTPUT);
int ind25; pinMode(pindir6, OUTPUT);
int ind26; pinMode(pindir7, OUTPUT);
int ind27; pinMode(pindir8, OUTPUT);
int ind28;
int ind29;
int ind30;
int ind31; pinMode(digpin1, OUTPUT);
int ind32; pinMode(digpin2, OUTPUT);
int ind33; pinMode(digpin3, OUTPUT);
pinMode(digpin4, OUTPUT);
MS5837 sensor; pinMode(digpin5, OUTPUT);
pinMode(digpin6, OUTPUT);
float pres, presini, prof;
float depth; delay (1500);
float exttemp;
float alt; presini = sensor.pressure();

String info1;
String times; }
String roll;
String pitch; void loop()
String yaw; {
String heading;
String check; digitalWrite(ledPin, HIGH);
delay(10);
String duty1; digitalWrite(ledPin, LOW);
String duty2; delay(10);
String duty3;
String duty4; tx_datos();
String duty5;
String duty6; sensor.read();
String duty7;
pres = sensor.pressure(); //mbar
String dig1; prof = pres - presini;
String dig2; depth = sensor.depth(); //meters
String dig3; exttemp = sensor.temperature(); //in
String dig4; celcious
String dig5; alt = sensor.altitude(); //in
String dig6; meters above sea level

sensorValue1 = analogRead(A1);

94
sensorValue2 = analogRead(A2); if (val6 == 1) {
sensorValue3 = analogRead(A3); digitalWrite(pindir3, HIGH);
sensorValue4 = analogRead(A4); digitalWrite(pindir4, LOW);
sensorValue5 = analogRead(A5); } else {
sensorValue6 = analogRead(A6); digitalWrite(pindir3, LOW);
digitalWrite(pindir4, HIGH);
if (Serial2.available() >= 2) }
{ analogWrite(PWM6, val1);
dat_pwms = Serial2.readStringUntil('\n'); analogWrite(PWM7, val1);
if (val2 == 1) {
ind21 = dat_pwms.indexOf(','); //finds location of digitalWrite(pindir5, HIGH); digitalWrite(pindir6,
first , LOW);
duty1 = dat_pwms.substring(0, ind21); //captures digitalWrite(pindir7, HIGH); digitalWrite(pindir8,
first data String // PWM6 & PWM7 LOW);
ind22 = dat_pwms.indexOf(',', ind21 + 1); //finds } else {
location of first, digitalWrite(pindir5, LOW); digitalWrite(pindir6,
duty2 = dat_pwms.substring(ind21 + 1, HIGH);
ind22); // dir3 digitalWrite(pindir7, LOW); digitalWrite(pindir8,
ind23 = dat_pwms.indexOf(',', ind22 + 1); //finds HIGH);
location of first, }
duty3 = dat_pwms.substring(ind22 + 1,
ind23); // PWM1 if (digital1 == 1) {
ind24 = dat_pwms.indexOf(',', ind23 + 1); //finds digitalWrite(digpin1, HIGH);
location of first, } else {
duty4 = dat_pwms.substring(ind23 + 1, digitalWrite(digpin1, LOW);
ind24); // dir1 }
ind25 = dat_pwms.indexOf(',', ind24 + 1); //finds if (digital2 == 1) {
location of first, digitalWrite(digpin2, HIGH);
duty5 = dat_pwms.substring(ind24 + 1, } else {
ind25); // PWM2 digitalWrite(digpin2, LOW);
ind26 = dat_pwms.indexOf(',', ind25 + 1); //finds }
location of first, if (digital3 == 1) {
duty6 = dat_pwms.substring(ind25 + 1, digitalWrite(digpin3, HIGH);
ind26); // dir2 } else {
ind27 = dat_pwms.indexOf(',', ind26 + 1); //finds digitalWrite(digpin3, LOW);
location of first, }
dig1 = dat_pwms.substring(ind26 + 1, ind27); if (digital4 == 1) {
///////////////////////////// bot 1 digitalWrite(digpin4, HIGH);
ind28 = dat_pwms.indexOf(',', ind27 + 1); //finds } else {
location of first, digitalWrite(digpin4, LOW);
dig2 = dat_pwms.substring(ind27 + 1, }
ind28); // bot 2 if (digital5 == 1) {
ind29 = dat_pwms.indexOf(',', ind28 + 1); //finds digitalWrite(digpin5, HIGH);
location of first, } else {
dig3 = dat_pwms.substring(ind28 + 1, digitalWrite(digpin5, LOW);
ind29); // bot 3 }
ind30 = dat_pwms.indexOf(',', ind29 + 1); //finds if (digital6 == 1) {
location of first, digitalWrite(digpin6, HIGH);
dig4 = dat_pwms.substring(ind29 + 1, } else {
ind30); // bot 4 digitalWrite(digpin6, LOW);
ind31 = dat_pwms.indexOf(',', ind30 + 1); //finds }
location of first, }
dig5 = dat_pwms.substring(ind30 + 1, }
ind31); // bot 5
ind32 = dat_pwms.indexOf('\n', ind31 + 1); //finds void tx_datos()
location of first, {
dig6 = dat_pwms.substring(ind31 + 1, tcm.requestData();
ind32); // bot 6 Serial2.print(tcm.yaw); //yaw
Serial2.print(",");
Serial2.print(tcm.pitch); //pitch
Serial2.flush(); Serial2.print(",");
Serial2.print(tcm.roll); //roll
val1 = duty1.toInt(); //prof1 y prof2 Serial2.print(",");
val2 = duty2.toInt(); //dir-brushed3 Serial2.print(exttemp); //temperatura externa
val3 = duty3.toInt(); //brushed1 Serial2.print(",");
val4 = duty4.toInt(); //dir-brushed1 Serial2.print(prof); //profundidad en cm
val5 = duty5.toInt(); //brushed2 Serial2.print(",");
val6 = duty6.toInt(); //dir-brushed2 Serial2.print(tcm.temp); //temperatura del
agua
digital1 = dig1.toInt(); //boton1 Serial2.print(",");
digital2 = dig2.toInt(); //boton2 Serial2.print(sensorValue1); //humedad
digital3 = dig3.toInt(); //boton3 Serial2.print(",");
digital4 = dig4.toInt(); //boton4 Serial2.print(sensorValue2); //humedad2
digital5 = dig5.toInt(); //boton5 Serial2.print(",");
digital6 = dig6.toInt(); //boton6 Serial2.print(sensorValue3); //voltaje
Serial2.print(",");
Serial2.print(sensorValue4); //corriente1
analogWrite(PWM2, val3); Serial2.print(",");
if (val4 == 1) { Serial2.print(sensorValue5); //corriente2
digitalWrite(pindir1, HIGH); Serial2.print(",");
digitalWrite(pindir2, LOW); Serial2.println(sensorValue6); //corriente3
} else { // delay(33);
digitalWrite(pindir1, LOW); }
digitalWrite(pindir2, HIGH);
}
analogWrite(PWM3, val5);

95
Programa en LabVIEW

96
97
Apéndice D: Tarjeta de fusibles y
circuitos reguladores de voltaje

Tarjeta de fusibles

99
Tarjeta reguladora a 20Vcc

Tarjeta reguladora a 5Vcc

100
Tarjeta reguladora a 3.3Vcc

101

También podría gustarte