Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PEQUEÑAS DIMENSIONES
Tesis
PRESENTA
DIRIGIDA POR
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á
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.
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
ROV de inspección de pequeñas dimensiones que puede ser operado de modo manual o auto piloto.
control auto sintonizables que permiten la modulabilidad del submarino para dos grados de libertad:
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
Palabras calve
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
Keywords
ROV, Electronic Architecture, PID, Neural Networks, Control, Modulability.
vii
Índice general
Resumen v
Abstract vii
1. Introducción 1
1.1. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2. Hipótesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3. Justicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5. Metodología . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.6.1. Alcances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.6.2. Limitaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
ix
ÍNDICE GENERAL
3.2.9. XBee S1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2.10. Cámara IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5. Experimentación y Resultados 61
5.1. Control de profundidad PID auto sintonizado vs PID convencional . . . . . . . . . . 62
x
ÍNDICE GENERAL
6.3. Aportes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Bibliografía 81
Apéndice A 85
Apéndice B 89
Apéndice C 94
Apéndice D 99
xi
Índice de tablas
xiii
Índice de guras
2.3. Seadrone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.7. BlueROV 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
xv
ÍNDICE DE FIGURAS
3.14. XBee S1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.5. Diagrama a bloques de el PID auto-sintonizable por red neuronal conectado al sistema. 57
5.4. ROV con pesa (izquierda arriba), removiendo la pesa (derecha arriba) y sin pesa (abajo) 65
5.6. Comparación de Raíz del Error Cuadrático medio para el control de profundidad en
5.11. Experimentación en heading, izquierda, ROV direccionado a 30° derecha ROV direc-
cionado a 180° . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
xvi
ÍNDICE DE FIGURAS
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
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
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
1
Figura 1.1: ROV Poodle
Algunos de los inconvenientes principales de los ROV es que son voluminosos, necesitan un cable
requieren de un barco nodriza que transporte el ROV y su operador (piloto) a el sitio donde tendrán
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
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
2
CAPÍTULO 1. INTRODUCCIÓN
1.1. Objetivos
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.
construido.
libertad.
3
1.2. HIPÓTESIS
1.2. Hipótesis
soportar cambios en la dinámica del sistema debido a la modulabilidad (cambio de herramienta) del
1.3. Justicación
CIDESI desarrolla tecnologías que resuelven problemas de necesidad nacional; es por esto que en
traduce en un aporte cientíco y un aporte tecnológico si se ve este proyecto como punto de partida
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
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
gura 1.3.
5
1.6. ALCANCES Y LIMITACIONES
1.6.1. Alcances
siones.
1.6.2. Limitaciones
comerciales.
z.
del medio donde se realizarán los experimentos (cordón umbilical y alberca de pruebas).
6
CAPÍTULO 1. INTRODUCCIÓN
En el Capítulo 1 se realiza la introducción al mismo así como se muestran los objetivos, justi-
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 cuarto capítulo explica que es un PID y cómo funciona el control tipo 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
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).
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
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
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
10
CAPÍTULO 2. ESTADO DEL ARTE
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.
Para resolver el problema de costos de despliegue de un ROV como los mencionados anterior-
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.
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
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
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].
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
13
2.1. ROVS DE PEQUEÑAS DIMENSIONES.
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
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
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
15
2.2. CONTROL PARA VEHÍCULOS SUBMARINOS TIPO ROV.
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
Resulta de interés el estudio de un ROV desde el punto de vista del control automático; diferentes
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:
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
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
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].
Neuro Difuso Genético Deslizante (ANFSGACS) con el cual controlaron 4 grados de libertad (x, y,
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
de distancia [27].
17
2.2. CONTROL PARA VEHÍCULOS SUBMARINOS TIPO ROV.
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
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
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
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 acuerdo a lo mencionado por Azis y Aras en 2012 [2], las técnicas de control puras no son
menciona que, como se ve en el cuadro 2.1, cada técnica de control tiene diferentes desventajas al
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
en el Capítulo 4.
19
Capítulo 3
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,
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
21
3.1. DISEÑO MECÁNICO DEL 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
El diseño mecánico no es tema de desarrollo de este trabajo, sin embargo se menciona para dar
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
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
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
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.
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
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.
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
26
CAPÍTULO 3. ARQUITECTURA ELECTRÓNICA DEL ROV NU' UKUL JA
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
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
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
27
3.2. ARQUITECTURA ELECTRÓNICA DEL ROV
El sensor de presión modelo Bar30 Blue Robotics es una integración de esta compañía que
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
La resolución de este dispositivo puede llegar a ser de hasta 2 mbar lo que en agua salada y dulce
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
28
CAPÍTULO 3. ARQUITECTURA ELECTRÓNICA DEL ROV NU' UKUL JA
P = ρgh
donde:
g =aceleración de la gravedad.
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.
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
29
3.2. ARQUITECTURA ELECTRÓNICA DEL ROV
El compás del fabricante PNI, modelo TCM en su versión XB puede sensar de forma precisa
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
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°
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
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
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
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.
31
3.2. ARQUITECTURA ELECTRÓNICA DEL ROV
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.
por el hecho de que se le transmite voltaje desde fuera del agua, por el largo del cordón umbilical
principal, además de que si el submarino se opera con algún tipo de batería es importante saber si
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
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
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
33
3.2. ARQUITECTURA ELECTRÓNICA DEL ROV
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
34
CAPÍTULO 3. ARQUITECTURA ELECTRÓNICA DEL ROV NU' UKUL JA
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
3.2.9. XBee S1
por Digi International. XBee (gura 3.14) trabaja con comunicación ZigBee, el cual es un protocolo
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
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
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
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.
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
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
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
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
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
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
del ROV para la obtención y envío de información con la computadora donde se encuentra la interfaz
Para nes prácticos se divide este capítulo en dos partes, la programación en el Arduino y la
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-
forma continua.
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
40
CAPÍTULO 3. ARQUITECTURA ELECTRÓNICA DEL ROV NU' UKUL JA
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
y se realiza la diferencia entre esta lectura y la guardada al inicio del programa (parte de
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
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
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
los propulsores además del estado lógico de los pines digitales de repuesto que se dejaron sin
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
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.
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
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
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
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.
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
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
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
En este cuadro también se realiza la construcción del paquete a enviar al micro controlador por
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
Tercer Cuadro: Para nes de estabilidad de la comunicación del sistema, en este cuadro solo
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
46
CAPÍTULO 3. ARQUITECTURA ELECTRÓNICA DEL ROV NU' UKUL JA
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
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
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
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
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
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
fuera el caso.
Para vehículos marinos, los ejes del marco de referencia del cuerpo X0 , Y0 y Z0 coinciden con los
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.
of Naval Architects and Marine Engineers) para expresar la posición, orientación del vehículo y las
Tabla 4.1: Notación del movimiento de vehículos marinos de acuerdo a la SNAME 1950
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
50
CAPÍTULO 4. ALGORITMOS DE CONTROL PARA PRUEBAS Y VALIDACIÓN DE LA
ARQUITECTURA ELECTRÓNICA
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
entre las entradas con sus salidas y así lograr un aprendizaje para realizar una tarea deseada. Algunas
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
Operación en tiempo real: El cómputo neuronal puede ser realizado en paralelo, y se diseñan
ya que estas conexiones pueden ser excitadoras o inhibidoras de acuerdo a su signo; también
2. Un sumador encargado de sumar todas las entradas multiplicadas por las respectivas sinapsis.
la neurona.
51
4.1. REDES NEURONALES
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.
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
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.
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
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
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
cuyo propósito es hacer que el error en estado estacionario, entre la señal de referencia y la señal
Este algoritmo funciona gracias a tres acciones de control, proporcional (P), integral (I) y deri-
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
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.
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
el sistema podría desestabilizarse o saturar los actuadores del control dañándolos. La ecuación
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)
ˆ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
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
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:
e(n) = error
n = instante de tiempo
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
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
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
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
La función de activación para la red neuronal recurrente implementada es la sigmoide, una función
1
hj = (4.6)
1 + e−Sj
3
X
Sj = wji xi (4.7)
i=1
1
u(n) = (4.8)
1 + e−r
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
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
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 .
∂E(n) ∂ey
= δ 1 hj (4.11)
∂νji ∂eu
∂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
∂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
∂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
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).
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
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
Ya que se integró y se puso a punto la arquitectura electrónica del Nu' ukul Ja, se procedió a
62
CAPÍTULO 5. EXPERIMENTACIÓN Y RESULTADOS
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
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
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
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.
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
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
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
67
5.1. CONTROL DE PROFUNDIDAD PID AUTO SINTONIZADO VS PID CONVENCIONAL
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
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
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
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
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
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
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.
1. Por medio del control PID neuronal se establece la profundidad del submarino a 100 cm;
2. Una vez que se estabilicen ambos grados de libertad se procede a comenzar la captura de datos
3. Se cambia la señal de referencia a 45° y se registra la reacción del submarino por 2 minutos.
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
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
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
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
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
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.
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
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
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
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
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
76
CAPÍTULO 6. CONCLUSIONES, APORTES Y TRABAJOS A FUTURO
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
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
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
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
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
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
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-
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
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
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
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
Sería también interesante añadir algún manipulador al vehículo para poder realizar tareas donde
79
Bibliografía
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,
[4] J. Bellingham, Autonomous Underwater Vehicles, in MIT Sea Grant, N. Cruz, Ed.
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-
[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,
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
(ICMA), 2012 International Conference on, pp. 898903, 2012. [Online]. Available:
http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=6283262
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.
[11] T. I. Fossen, Guidance and Control of Ocean Vehicles. Great Britain: John Wiley & Sons,
[12] , Marine control systems: guidance, navigation and control of ships, rigs and underwater
SARTECO, 2012.
Vehicles, Sensors, vol. 16, no. 9, pp. 118, 2016. [Online]. Available: http://www.mdpi.com/
1424-8220/16/9/1429
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
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-
[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-
[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.
[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,
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.
[26] G. Ronquillo, Manual del participante ingenieria en control automático, Querétaro, México,
p. 203, 2014.
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,
[28] SubseaTech, Guardian 2.1 Datasheet, pp. 01. [Online]. Available: https://www.inspectahire.
com/media/brochures/SubseaTechGuardianEN.pdf
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-
84
Apéndice A : Hojas de Datos
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)
85
MS5837-30BA
Ultra Small Gel Filled Pressure Sensor
PERFORMANCE SPECIFICATIONS
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
(1): Maximum values must be applied to determine w aiting times in I2C communication
MS5837-30BA
Ultra Small Gel Filled Pressure Sensor
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
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;
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
100
Tarjeta reguladora a 3.3Vcc
101