SciELO - Scientific Electronic Library Online

 
vol.42 número1Controlador IMC-PID con filtro de orden fraccionario de un tramo de un canal principal de riegoMetodología y algoritmo de validación para identificar modelos de una unidad manejadora de aire. índice de autoresíndice de materiabúsqueda de artículos
Home Pagelista alfabética de revistas  

Servicios Personalizados

Revista

Articulo

Indicadores

  • No hay articulos citadosCitado por SciELO

Links relacionados

  • No hay articulos similaresSimilares en SciELO

Compartir


Ingeniería Electrónica, Automática y Comunicaciones

versión On-line ISSN 1815-5928

EAC vol.42 no.1 La Habana ene.-abr. 2021  Epub 17-Mayo-2021

 

Artículo original

Desarrollo de plataforma autopiloto para robot subacuático

Development of autopilot platform for underwater robot

Anabel Sánchez Moya1  * 
http://orcid.org/0000-0003-1154-9982

Brayan Rodríguez Rueda1  ** 
http://orcid.org/0000-0003-1877-9895

1Centro de Investigación Naval, La Habana, Cuba

RESUMEN

El desarrollo de sistemas de control para robótica subacuática es un tema de gran interés para la comunidad científica internacional. La velocidad de avance de los dispositivos electrónicos de alta escala de integración, conjuntamente con el desarrollo tecnológico de nuestro país, hace novedosa la búsqueda de arquitecturas hardware-software para la implementación de soluciones dedicadas al gobierno de vehículos subacuáticos. El presente documento detalla un sistema embebido de desarrollo propio, tecnológicamente realizable, eficiente y de bajo costo, capaz de garantizar el control y gestión de un medio autónomo naval de fabricación nacional. En el contenido se exponen los requerimientos para el diseño de un sistema de control para vehículo subacuático, se describe la estructura de la plataforma diseñada en sus componentes hardware y software, y se presentan los resultados obtenidos en pruebas de campo que permiten validar su funcionamiento.

Palabras claves: robot subacuático autónomo; sistemas de control; arquitectura de hardware; arquitectura de software

ABSTRACT

The development of control systems for underwater robotic is a topic of great interest to the international scientific community. The advance speed of high-scale integration electronic devices, together with the technological development of our country, makes novel the search of hardware-software architectures for implementation of solutions dedicated to the handling of underwater vehicles. This document details a self-developed, technologically feasible, efficient and low-cost embedded system capable of guaranteeing the control and management of an autonomous naval vehicle of national manufacture. During the content are presented the requirements for the design of a control system for an underwater vehicle, the designed platform structure is described in its hardware and software components, and the obtained results in field tests that allow to validate its operation.

Keywords: autonomous underwater robot; control systems; hardware architecture; software architecture

1. -Introducción

La robótica submarina, es una rama de la tecnología que ha alcanzado grandes avances desde su surgimiento. Los trabajos en esta área se han orientado tanto a estudios científicos, como al desarrollo de sistemas versátiles, capaces de realizar una gran variedad de tareas subacuáticas. Ejemplares como los vehículos autónomos de la familia HUGIN han mostrado su validez en diversas aplicaciones [1].

Las primeras exploraciones científicas en la profundidad de los mares se llevaron a cabo mediante vehículos subacuáticos tripulados por humanos. Recientemente, los robots subacuáticos han comenzado a revolucionar la exploración del fondo marino [2]. Unos de los desarrollos ampliamente utilizados para estos fines lo constituyen los vehículos autónomos subacuáticos (AUV, por sus siglas del término en inglés: Autonomous Underwater Vehicle). Estos son vehículos que navegan bajo el agua sin tripulación y sin conexión física con el operador que puede encontrarse a bordo de un barco o en un centro de control en tierra. Son vehículos auto-guiados y auto-propulsados [3]. Contienen sofisticadas computadoras y sensores a bordo que les permiten seguir trayectorias programadas y ejecutar comportamientos secuenciales programados mediante la interfaz de planificación de misión [4].

En nuestro país, el Centro de Investigación Naval (CIDNAV) ha mostrado gran interés en el tema. Actualmente cuenta con la experiencia en la construcción mecánica y naval de vehículos subacuáticos para la realización de tareas de exploración y supervisión del lecho marino. Inicialmente, para uno de sus vehículos, utilizó como sistema de control un piloto automático comercial del tipo SIMRAD AP24 [5]. Este autopiloto está concebido para aplicaciones tripuladas y presenta las siguientes limitaciones: configuración de forma manual, el ángulo de rumbo entre dos puntos debe ser inferior a 30º, generación de alarmas que necesitan de la intervención de un operador durante la navegación, y alta sensibilidad ante las perturbaciones marinas.

Como antecedentes, se destaca el trabajo realizado junto al Grupo de Automática Robótica y Percepción (GARP) de la Universidad Central “Martha Abreu” de las Villas, donde se ha desarrollado una plataforma de control para dotar de capacidades autónomas a un vehículo para investigaciones submarinas, basadas en una PC industrial y un sistema embebido propio, con microcontrolador DsPIC como elemento de procesamiento central [6]. Ambas instituciones continúan trabajando en cooperación en la actualidad.

Los costos de adquisición y explotación de los pilotos automáticos para AUV en el mercado internacional son elevados. Además, las posibilidades de modificación para acometer tareas distintas a las originales para las que fueron concebidos requiere la intervención de la empresa que los diseñó, ya que la arquitectura de hardware y software, así como las estrategias de control son cerradas al usuario final [7].

Si bien es cierto que se han dado algunos pasos en la creación de soluciones hardware-software para el control de vehículos autónomos en nuestro país, aún quedan alternativas por explorar para obtener una arquitectura sostenible y eficiente en nuestras condiciones, por lo que el problema científico se define como:

No se cuenta con una plataforma electrónica robusta y flexible, de bajo costo y fabricación nacional, capaz de garantizar la interacción con los subsistemas del vehículo y que asegure el requerimiento de tiempo real para los controladores discretos de movimiento del vehículo subacuático.

El objetivo principal de esta investigación consiste en desarrollar una plataforma hardware-software para gestión y control de un vehículo autónomo subacuático que garantice robustez, flexibilidad y un grado elevado de independencia tecnológica.

  1. Las contribuciones científicas fundamentales que se logran en este trabajo son:

  2. Desarrollo de un procedimiento de diseño de sistema embebido para control automático de vehículo subacuático.

  3. Obtención de una arquitectura hardware-software para operación de un vehículo autónomo subacuático.

  4. Desarrollo de una plataforma electrónica basada en FPGA+DSP para gestión y control de AUV.

  5. Desarrollo de un algoritmo en co-diseño hardware-software para el trabajo de la plataforma electrónica diseñada.

  6. Validación práctica del resultado con experimentos reales de navegación.

En el presente artículo se abordan las características que definen un sistema de control para robot subacuático, así como los requerimientos a tener en cuenta para su diseño. Además, se describe la estructura del robot sumergible en cuestión y se desarrolla la plataforma propuesta, tanto el componente hardware como software. Finalmente, se presentan los resultados de validación del funcionamiento de la solución propuesta, obtenidos durante la ejecución de un experimento de mar.

2.- Sistema de control para robots subacuáticos

El Sistema de Control de Misión (MCS, por Mission Control System) es el conjunto de programas responsables de que un robot subacuático lleve a cabo la tarea encomendada, donde se destacan los subsistemas de Guiado, Control y Navegación del robot (GNC, por sus siglas en inglés). El MCS está usualmente equipado con una interfaz gráfica que permite al operador comandar diferentes acciones que componen la misión [2].

  • Adicionalmente, estos robots se caracterizan por contar con un sistema sensorial que brindará al MCS las variables medidas para la realización de los cálculos necesarios. Estos sensores se pueden clasificar en tres grupos:

  • Sensores de navegación, permiten estimar la posición del vehículo.

  • Sensores de misión, proveen información del entorno.

  • Sensores de sistema, brindan información del vehículo en sí. Estos sensores están estrechamente relacionados a las operaciones de diagnóstico y seguridad.

Por tanto, el gobierno del robot, depende del estado del propio vehículo y de las condiciones ambientales (ver Figura 1)

Fig. 1 Sistema de control de un robot subacuático. 

La unidad de procesamiento central (CPU, por sus siglas en inglés) es la responsable de acceder a los sensores, procesar sus datos y conformar las salidas de control para el gobierno de los actuadores y el cumplimiento de la misión. Se han considerado diversos sistemas para esta unidad donde se destaca el uso de sistemas embebidos basados en microprocesadores, arreglos de compuertas programables por campos (FPGA) o pequeñas computadoras de escritorio [8].

Diversas arquitecturas se basan en placas con procesadores digitales de señales (DSP) de baja potencia o microprocesadores tales como módulos arduinos y kits de desarrollo. Estas soluciones poseen una potencia de procesamiento mínima, se usan generalmente en sistemas específicos que no requieren la atención de muchos periféricos, ni la realización de cálculos complejos [9-12].

Los sistemas basados en microprocesadores, principalmente con tecnología ARM 1, son diseños de bajo costo, tamaño y requisitos de potencia. Permiten una fácil interacción con los sensores, tanto analógicos como digitales, motores y otros actuadores. La potencia de procesamiento y localizaciones de memoria de esos procesadores son más que suficientes cuando se requiere una tarea de control simple, pero tendrían dificultades con la atención de un gran número de sensores o tareas de procesamiento tales como el tratamiento de imágenes [8].

Se reportan además soluciones que utilizan sistemas completos de placa base (del inglés full motherboards systems), sin hardware dedicado para los algoritmos de procesamiento de señales y controladores de bajo nivel. La solución más popular la constituye la placa PC-104, dependiente de algún sistema operativo. Sobre ella se han diseñado diversos sistemas de control para estos tipos de vehículos. Todas siguen el mismo principio de diseño básico: sensores externos y un hardware con un sistema de computación estándar simple [13-16].

En publicaciones más recientes se consideran las ventajas del procesamiento paralelo y la reconfigurabilidad de los FPGA, utilizando placas de desarrollo comerciales como computador central del sistema de control [17, 18]. Los FPGA son extremadamente efectivos para problemas bien delimitados, sencillos, de alta velocidad y repetitivos, que requieran flexibilidad de datos y paralelismo. Tal es el caso del empleo de un FPGA de la familia Altera Stratix III para la solución de un método de detección de obstáculos durante el proceso de navegación de un AUV [19].

En la práctica, la dificultad de programar estos dispositivos para aplicaciones con cálculos de punto flotante puede incrementar grandemente el time-to-market2. Aunque una función de procesamiento digital de señales implementada en FPGA consume dos o tres veces más potencia en comparación con un DSP [20], las potencialidades de operación en paralelo hacen que gran número de investigadores utilicen este tipo de componentes y cada día se extienda más su empleo.

Cuando una aplicación requiere tanto la flexibilidad del FPGA como las capacidades de procesamiento de señales avanzadas de un DSP de punto flotante, el problema resulta entonces ¿qué tecnología utilizar? Muchas veces, un diseño híbrido que incluya las bondades de ambos tipos de componentes (FPGA y DSP), resulta la mejor solución [21]. El desafío consiste entonces en integrar dos tecnologías completamente diferentes, de forma eficiente y efectiva para que el sistema final funcione como una entidad única [20].

En la actualidad el uso de procesadores embebidos en FPGA (tanto hardware como software), permite integrar las ventajas de ambos elementos en un mismo dispositivo. Existen evidencias de sistemas de control que utilizan estos tipos de elementos [4, 22], donde a pesar de resultar novedosos, es necesario destacar el trabajo sobre kits de desarrollo, no precisándose diseños propios de prototipos empleando esta tecnología, factor de importancia en la concepción del sistema que se propone.

3.- Estructura del robot y requerimientos para el diseño de la plataforma de hardware

El robot objeto de la investigación presenta configuración tipo torpedo, consistente en un cuerpo hidrodinámico con superficies de propulsión y control en la popa, considerada una de las configuraciones más comunes en los AUV [3]. Los parámetros geométricos y másicos más importantes son: longitud máxima= 8m, diámetro=0.8m, peso máximo= 4100kg.

El sistema energético y de propulsión está compuesto por los siguientes elementos:

  • Banco de baterías recargables.

  • Diésel generador.

  • Rectificador controlado.

  • Motor eléctrico más una hélice de tres aspas en tobera.

La arquitectura hardware propuesta en nuestra investigación se divide en dos segmentos: el segmento de a bordo, ubicado en el vehículo, y el segmento remoto, ubicado en tierra o a bordo de un buque móvil.

Para garantizar el control del robot es necesario contar con las mediciones de variables que indican el estado del robot y su entorno. El grupo sensorial y la configuración de subsistemas se muestran en la Figura 2. Las señales de salida de cada captador en particular tienen características diferentes, y deben ser tomadas en cuenta para el diseño del sistema electrónico. Es necesario destacar que los sensores sonar y cámara, no se encuentran operacionales en las primeras pruebas de mar presentadas en esta investigación, se prevé su incorporación en una etapa posterior, así como el enlace de datos mediante modem acústico.

Fig. 2 Arquitectura de hardware del robot objeto de la investigación. 

Para determinar la posición, orientación, velocidad y aceleración del robot subacuático se instalan los denominados sensores de navegación, ellos son:

  • Sensor Compás magnético C100: sensor digital de rumbo del tipo fluxgate3. Permite determinar el rumbo magnético del vehículo con alta precisión. Usa protocolo de comunicación RS-232.

  • Sistema de referencia de orientación y dirección, AHRS (de sus siglas en inglés, attitude and heading reference system): grupo sensorial compuesto por arreglos 3D de acelerómetros, giróscopos y magnetómetros, conocido también como IMU (Inertial measurement unit). Usado para determinar con precisión la orientación del vehículo en tiempo real. Los datos se brindan mediante protocolo de comunicación RS-232.

  • Sistema de posicionamiento global (GPS, por sus siglas en inglés): del tipo LEA-6S, de UBLOX. Brinda información precisa del posicionamiento (latitud, longitud), rumbo geográfico y velocidad del vehículo, mediante protocolo RS-232.

  • Sensor de presión (Cerabar PMP21): salida analógica estándar 4-20mA. Utilizado para la determinación de la profundidad de navegación.

Para determinar el estado de cada uno de los subsistemas del vehículo, con el fin de detectar alguna anomalía en su funcionamiento se instalan los siguientes sensores de sistema:

  • Sensores de fuga o de presencia de agua: sensores digitales empleados para detectar fugas de agua, se encuentran localizados en el fondo del casco tanto en la proa como en la popa.

  • Sensor de presión de aceite: sensor resistivo propio del diésel generador, permite la determinación de la presión de aceite en el mismo a partir de la variación de la resistencia.

  • Sensor de temperatura de agua: sensor resistivo propio del diésel generador, permite la determinación de la temperatura del agua de enfriamiento del motor.

  • Sensor de corriente (CYHCT-D6C-U300A-5): salida analógica estándar 4-20mA. Se utiliza para el monitoreo de la corriente de consumo del motor propulsor.

  • Sensor de revoluciones por minutos (1GT101DC): Sensor digital que provee las revoluciones del motor principal (rpm).

Otros sensores comúnmente empleados en este tipo de medios acuáticos son los sensores de aplicación siguientes:

  • Sonar, para la determinación de la profundidad a la que se encuentra el fondo marino.

  • Cámara de video para el monitoreo visual, acompañada de luces de iluminación que permitan una correcta grabación de imágenes.

3.1.- Exigencias técnicas para el diseño

La propia estructura del medio a controlar, su dinámica de movimiento, generalmente asociada a los parámetros geométricos y másicos, así como las misiones para las que se concibe, conforman los requerimientos a cumplir por el sistema electrónico de a bordo.

Se identifican las siguientes exigencias para el diseño de la plataforma de control:

  • Cálculo y ejecución de los algoritmos de control automático para la navegación autónoma en tiempo real del vehículo.

  • Capacidad de ajuste de los parámetros de los controladores en línea, este requisito presupone la creación de estructuras hardware-software flexibles durante las etapas de pruebas experimentales.

  • Capacidad de monitoreo y control del subsistema energético y de propulsión, por lo que la atención a diferentes tipos de sensores es un elemento importante a considerar.

  • Capacidad de comunicación inalámbrica de datos para la supervisión y control a distancia.

  • Manipulación de actuadores de tipo lineales eléctricos.

  • Dimensiones restringidas a espacios destinados para este fin durante la fabricación del vehículo.

  • Flexibilidad para garantizar la incorporación de nuevos elementos, tanto hardware como software, así como diseño modular que permita el recambio del sistema con facilidad de operación.

  • Robustez mecánica ante vibraciones causadas por el sistema de propulsión y ante condiciones ambientales del entorno marino.

La operación básica que cumple el sistema electrónico de control consiste en la adquisición de datos de los diversos sensores conectados, así como los recibidos de la estación remota de supervisión y control, el procesamiento de los mismos y la ejecución de dos tipos de acciones fundamentales:

  • Acciones de control: corresponden a la salida de los controladores, son señales de mandos proporcionales que se entregan a los elementos de acción final (timones de dirección).

  • Acciones de operación: corresponden a señales digitales de gestión y control (arranque, parada, conmutaciones de regímenes de trabajos, etc.). Constantemente el sistema electrónico deberá muestrear el estado técnico de distintos elementos como pueden ser: estado de la propulsión, presencia de agua en el interior, sobrecargas o cortocircuitos, y ante ellos emitir alarmas o ejecutar paradas por emergencias.

4.- Concepción de la plataforma

Una arquitectura híbrida con un FPGA de la familia Cyclone II y un procesador DsPIC de la Microchip, es la escogida para la concepción de la plataforma. Esta decisión se fundamenta primeramente en la necesidad de fabricar prototipos tecnológicamente independientes, flexibles, de bajo costo y realizables en nuestro país, por lo que los encapsulados disponibles juegan un papel fundamental. Se pudo constatar que aquellos circuitos integrados que soportan algún tipo de procesador embebido en el silicio (Hard Core Processor) poseen alguna de las variantes de encapsulados del tipo BGA; los ejemplos revisados que emplean esta tecnología utilizan placas de desarrollo previamente diseñadas y fabricadas. Por otra parte, el uso de algún procesador genuino está asociado a la popularidad existente en los procesadores digitales de señales y microcontroladores que inundaron inicialmente el mercado de dispositivos programables y por esta razón existe experiencia en el trabajo con los mismos y sus ambientes de desarrollo. El desafío y novedad consiste entonces en realizar la integración coherente de estas dos tecnologías donde se logre sacar el máximo provecho a las ventajas que aportan cada una de ellas.

La ejecución del diseño se realiza bajo el seguimiento estricto de las fases para la concepción de sistemas embebidos de tiempo real; la Figura 3 muestra su ciclo de vida, donde esencialmente se definen dos caminos a seguir en forma paralela: el primero dedicado al componente hardware y un segundo dedicado al componente software, para luego realizar la integración de ambos.

Fig. 3 Fases para el diseño del sistema embebido.[23]  

4.1.- Componente hardware

El hardware puede dividirse en dos subconjuntos: hardware fijo y reconfigurable. El hardware fijo corresponde a los módulos electrónicos analógicos y digitales no programables, necesarios para el funcionamiento del sistema, mientras el reconfigurable se refiere a las funciones de aplicaciones específicas creadas en algún lenguaje de descripción de hardware para dispositivos programables.

4.1.1.- Arquitectura de hardware fijo

Contiene tres bloques fundamentales:

  1. Bloque de alimentación: Conformado por una tarjeta de alimentación que garantiza los niveles de tensión, debidamente estabilizados y filtrados, para el correcto trabajo del sistema. Además de soportar el sensor GPS, contiene el acondicionamiento de las señales para la manipulación del sistema electroenergético.

  2. Bloque de acondicionamiento: Compuesto por una tarjeta electrónica que contiene los circuitos acopladores de señales, tanto analógico, como digitales, personalizados para cada sistema sensorial. Se diseña con características particulares para cumplir con las exigencias planteadas.

    • Entradas analógicas de tipo simples con acondicionamiento por seguidor de voltaje y filtro RC antialiasing.

    • Entradas analógicas para señales diferenciales con acondicionamiento por amplificadores operacionales de bajo nivel de ruido en configuración diferencial.

    • Entradas digitales con conversión de nivel de 26V a LVTTL 3.3V aisladas por etapas ópticamente acopladas, evitando así la introducción de ruidos innecesarios al sistema de cómputo.

    • Señales de salida con niveles 26V mediante la utilización de relés de estado sólido.

    • Salidas analógicas nivel 0-10V para la manipulación de los actuadores.

    • Alimentaciones secundarias necesarias para el trabajo del módulo completo.

  3. Bloque de procesamiento digital: Sus elementos principales son un FPGA de la familia ALTERA Cyclone II tipo EP2C8T144C8N como elemento de lógica programable, y un DSP tipo dsPIC33FJ128MC804 de Microchip, esta familia posee una extensiva funcionalidad para el procesamiento digital de señales basado en una arquitectura de alta ejecución de 16 bits, además las herramientas necesarias y librerías para su programación y depuración son de fácil adquisición. El DSP se emplea como coprocesador matemático o unidad de punto flotante y se interconecta directamente al módulo conversor digital-analógico para entregar las señales de dirección a los actuadores. Adicionalmente, se definen interfaces de comunicación, para la adquisición de datos de los sensores con diferentes normas de comunicación serie, ya sea tipo RS-232, RS-485, como RS-422. Además, se incluyen 3 conversores analógicos-digitales (ADS8344) y un conversor digital-analógico (AD5648) de 8 canales cada uno, que permiten la lectura sensorial y la manipulación de los actuadores eléctricos, con las precisiones requeridas. En el proceso de desarrollo se tiene en cuenta una posible expansión del proyecto, mediante la incorporación de nuevos periféricos, tanto en cantidad como tipo de señal. La Figura 4 muestra un esquema simplificado de esta arquitectura.

4.1.2 Arquitectura reconfigurable sobre dispositivo FPGA

La síntesis digital del FPGA se realiza sólo a nivel hardware, empleando el lenguaje VHDL, uno de los más populares para el diseño digital sobre dispositivos programables. La Figura 5 muestra los bloques implementados en esta unidad, así como su interrelación. En esencia se definen como actividades a resolver por hardware todas aquellas relacionadas con la gestión electrónica del circuito, como son: comunicaciones digitales de tipo SPI4 y UART5, módulos de atención a sensores digitales y módulos de atención a periféricos tales como conversores A/D y D/A. Como elemento fundamental del sistema, se establecen los temporizadores principales.

El FPGA atiende de forma paralela todos los sensores y almacena posteriormente en una memoria los datos adquiridos. Los bloque SPI y UART son módulos de Propiedad Intelectual propios, que permiten la comunicación con algunos periféricos del sistema. Además, se establece una comunicación SPI entre los dispositivos de cómputo FPGA-DSP así como un enlace FPGA-estación de control remota mediante módems de radio conectados por interfaces RS-485. De la memoria se extrae la información requerida para la manipulación del sistema electro energético.

Fig. 4 Capacidades de trabajo con periféricos del computador de a bordo. 

Fig. 5 Representación en bloques del hardware sintetizado en el FPGA. 

Se emplea un 53% del total de elementos lógicos del FPGA, haciendo uso eficiente de los bloques de memorias M4K para la implementación de arreglos de almacenamiento, siendo necesario el uso del 21% del total de memoria interna del FPGA. Se utiliza un PLL interno como herramienta para la implementación de la frecuencia de reloj del sistema, y no se utiliza ningún multiplicador interno debido a la no implementación de cálculos dentro del dispositivo. Aún es posible incluir nuevas funciones resultantes del desarrollo futuro, garantizando así el requerimiento de plataforma flexible.

4.2.- Componente software

La propiedad fundamental de la arquitectura propuesta consiste en descargar al DSP de todas las funciones de atención a periféricos y dedicarlo solamente al cálculo de punto flotante, la liberación de tareas adicionales facilita la no utilización de un sistema operativo en tiempo real (RTOS, por sus siglas en inglés).

El DSP intercambia información con el FPGA por una vía serie sincrónica SPI. Esta comunicación se realiza utilizando un protocolo de enlace con la siguiente estructura:

Fig. 6 Estructura general de las tramas de comunicación SPI FPGA-DSP. 

La activación de tareas se ejecuta por el modo dirigido por tiempo (del inglés time-triggered systems), se genera una subordinación MAESTRO - ESCLAVO donde el DSP funge como ESCLAVO o coprocesador de cálculo. La repartición de las tareas entre los elementos de procesamiento se resume en la siguiente tabla:

Tabla 1 Distribución de tareas entre los elementos de procesamiento 

FPGA DSP

  • Lectura y almacenamiento de los datos de los sensores.

  • Encendido/apagado de carga de las baterías de alimentación al piloto automático.

  • Ejecución de las secuencias de encendido y apagado del diésel generador, rectificador y motor propulsor.

  • Comunicación con DSP.

  • Comunicación con software de supervisión.

  • Filtrado digital de la señal de rumbo (filtro digital pasa-bajos de primer orden).

  • Cálculo del controlador PI-D para el canal de rumbo.

  • Planificación de trayectoria de navegación.

  • Cálculo de los algoritmos de guiado.

  • Manipulación de los actuadores que operan los timones del vehículo.

La Figura 7 muestra el diagrama temporal de la ejecución de las tareas del sistema, donde quedan debidamente definidas las que se ejecutan de forma concurrente, y cuáles de forma secuencial, se presenta la atención a eventos asincrónicos y el tratamiento para la sincronización de los datos.

La arquitectura de software en el DSP está conformada por un proceso principal y dos subprocesos o rutinas de atención a interrupciones. La Figura 8 muestra los diagramas de flujos correspondientes de cada uno. Estos procesos son totalmente secuenciales y están organizados según su nivel de prioridad, en todos los casos se ejecutan de forma periódica, debido a la necesidad de respetar el periodo de muestreo (T) que garantiza el trabajo del controlador discreto implementado.

El proceso principal se ejecuta cuando se conecta el procesador, comienza con la configuración de los principales componentes del sistema, se inicializan todas las variables relacionadas con cada proceso y se configuran los módulos de periféricos que se emplean. Una vez finalizada la inicialización se activa la interrupción de recepción de datos por el canal SPI interconectado con el FPGA, quedando a la espera de la llegada de los datos desde el dispositivo MAESTRO. Adicionalmente se ubica una medida de tolerancia a fallos empleando el WDT6, el uso de este temporizador garantiza un reinicio del DSP ante la existencia de una entrada sin salida de algún evento, ocasionado por la modificación de datos, aunque las probabilidades de ocurrencia son muy bajas por la cercanía con la que se encuentran ambos componentes.

Fig. 7 Diagrama temporal del sistema de tiempo real. 

Fig. 8 Ejecución de tareas en la unidad DSP. 

La recepción de datos enviados por el FPGA vía SPI activa la interrupción del módulo SPI1. En este subproceso se realiza la verificación de datos válidos de la trama recibida, mediante el chequeo de los bytes de cabecera y checksum7. Una vez validada la trama se realiza el procesamiento de las variables.

La subrutina de temporización se activa 10 ms después de haber recibido por SPI1 una trama con cabecera válida, tiempo suficiente que permite acceder a los datos recibidos por el maestro ya procesados. En este subproceso se implementa el sistema GNC del vehículo, que sólo ejecutará los cálculos en caso de haber recibido una trama válida en el tiempo adecuado. Se realiza un filtrado digital de las variables medidas por el grupo sensorial para ser usadas en la ejecución de los algoritmos de guiado y control del vehículo. Además, se lleva a cabo la atención a alarmas y paradas de emergencias. Los resultados son enviados directamente hacia dos canales del conversor D/A enlazado con el módulo SPI2 del procesador, para la manipulación de los actuadores del robot. Los datos resultantes de interés necesitan ser transmitidos nuevamente hacia el FPGA para su posterior envío hacia el supervisor de misión.

4.3.- Diseño detallado

Durante la fase de diseño detallado se realizaron prototipos que permitieron ajustar el diseño electrónico, así como optimizar los programas de hardware reconfigurable en el FPGA y depurar cada rutina del software sobre el DSP.

Fig. 9 Prototipo creado en la fase de diseño detallado empleado en la depuración hardware y software. 

4.4.- Integración hardware-software

En la fase de integración hardware-software se realiza la unión de todos aquellos componentes hardware que poco a poco fueron concebidos y desarrollados, así como las subrutinas de software creadas y previamente depuradas. Finalmente se obtiene la plataforma electrónica para el control del robot subacuático, denominado el conjunto “sistema autopiloto” (ver Figura 10). Es posible apreciar además la distribución del hardware fijo y específicamente en la placa de procesamiento (a la derecha de la Figura) se observan los componentes FPGA y DSP que conforman la arquitectura híbrida concebida.

Fig. 10 Vista interior del autopiloto. 

5.- CONCEPCIÓN DEL EXPERIMENTO Y RESULTADOS OBTENIDOS

Para la validación del sistema propuesto, una vez finalizadas las pruebas de laboratorio, se concibe un experimento de mar, que en esencia consiste en la integración de la plataforma hardware-software con el resto de los subsistemas que componen el vehículo en operación bajo condiciones reales. La Figura 11 muestra las pautas de control a tener en cuenta en el experimento.

Fig. 11 Descripción del proceso de validación del sistema propuesto. 

De forma más detallada se describen en la Figura 12 las variables que intervienen en el experimento.

Fig. 12 Planificación del experimento y distribución de las variables del sistema. 

Las pruebas de mar realizadas tuvieron dos objetivos fundamentales:

  1. Validar la estabilidad de los algoritmos de guiado y control implementados para largas distancias y la robustez de los mismos ante las perturbaciones marinas.

  2. Validar la robustez del sistema electrónico implementado en condiciones complejas de explotación.

Aunque la orientación del primer objetivo asegura certificaciones de los algoritmos de guiado y control, ambos garantizan la validación de la plataforma electrónica que se propone.

La Figura 13 muestra una de las trayectorias ejecutadas, se observa el funcionamiento adecuado del proceso de planificación (línea azul) y el cumplimiento de la ruta por el robot (línea roja), los errores en cada punto vencido fueron inferiores a 2 metros. Estos elementos aseguran el funcionamiento correcto de las acciones de control. Se ejecutaron sin fallos las acciones de operación: arranques, paradas, alarmas, asociadas a cada sistema previamente programado.

La distancia recorrida mostrada es de 35.45km, ejecutada en un tiempo aproximado de 2:30h. Durante toda la trayectoria el sistema electrónico funcionó sin interrupciones, entregando por telemetría todas las variables asociadas al experimento con un 95% de tramas válidas, lo que permite aseverar la estabilidad del funcionamiento del sistema electrónico y la ejecución sin paralizaciones de los algoritmos creados en el componente software.

El sistema diseñado permitió la modificación y ajustes en línea de los coeficientes de control, durante el proceso de validación de los algoritmos de guiado y control. La temperatura de la placa de circuito impreso no superó los 40ºC coexistiendo con el sistema electroenergético y propulsor. Las variables salinidad, vibraciones ocasionadas por la propulsión y las perturbaciones marinas no impidieron el funcionamiento estable del sistema electrónico diseñado.

Durante la etapa experimental, se realizaron varios ejercicios de navegación con distancias no menores a 70Km y duraciones superiores a las 5 horas, que permitieron evaluar con suficientes muestras el tiempo de trabajo sin fallo del sistema.

Fig. 13 Navegación por puntos: recorrido de 35.45 km. 

6.- Conclusiones

La solución híbrida FPGA+DSP para autopiloto obtenida durante la investigación posibilita la gestión y el control estable de un robot subacuático, garantizando la ejecución de navegaciones por rutas previamente programadas.

La ejecución de navegaciones prolongadas estables, como parte de los experimentos de mar, validan la robustez del diseño electrónico propuesto, los algoritmos de tiempo real implementados para el control y gestión del vehículo y los protocolos de comunicaciones diseñados como parte de la solución software.

La estructura del hardware fijo obtenida que contiene componentes, interfaces y circuitos de acondicionamiento genéricos, así como el co-diseño FPGA+DSP desarrollado, posibilitan la incorporación o modificación de nuevos sensores, periféricos o funciones durante el avance de la investigación.

La solución propuesta constituye una alternativa nacional de bajo costo, que permite la disminución de gastos e importaciones. La obtención de un sistema autóctono, garantiza la realización de modificaciones, el mantenimiento y soporte, y las actualizaciones tecnológicas pertinentes.

Referencias

1. Kongsberg Maritime A. Autonomous Underwater Vehicle-AUV: The HUGIN Family. 2009. [ Links ]

2. Moreno HA, Saltarén R, Puglisi L, Carrera I, Cárdenas P, Álvarez C. Robótica submarina: Conceptos, elementos, modelado y control. Revista Iberoamericana de Automática e Informática industrial. 2014;11(1):3-19. [ Links ]

3. Bellingham J. Autonomous underwater vehicles (AUVs). Encyclopedia of Ocean Sciences, edited by: Steele, H, Academic Press, San Diego. 2001:212-6. [ Links ]

4. Cadena A, editor. A Modular Hardware-Software Architecture of an Autonomous Underwater Vehicle for Deep Sea Exploration. Proceedings of the World Congress on Engineering; 2017. [ Links ]

5. SIMRAD. Manual de Funcionamiento. Simrad AP24 Piloto Automático. . 2018. [ Links ]

6. Santana LH, Labrada LAB, La Guardia AM, Medina YV, Garcia DG, Sosa YS, et al. Piloto Automático para Vehículo Subacuático Autónomo con Rumbo y Profundidad Controlada. Anales de la Academia de Ciencias de Cuba. 2015;5(3). [ Links ]

7. Martinez A, Rodriguez Y, Hernandez L, Guerra C, Lemus J, Sahli H. Diseño de AUV. Arquitectura de hardware y software. Revista Iberoamericana de Automática e Informática industrial. 2013;10(3):333-43. [ Links ]

8. Wang W, Engelaar R, Chen X, Chase J. The state-of-art of underwater vehicles-theories and applications. Mobile Robots - State of the Art in Land, Sea, Air, and Collaborative Missions. 2009:129-52. [ Links ]

9. Bokser V, Oberg C, Sukhatme GS, Requicha A. A small submarine robot for experiments in underwater sensor networks. IFAC Proceedings Volumes. 2004;37(8):239-44. [ Links ]

10. Busquets J, Busquets JV, Tudela D, Pérez F, Busquets-Carbonell J, Barberá A, et al., editors. Low-cost AUV based on Arduino open source microcontroller board for oceanographic research applications in a collaborative long term deployment missions and suitable for combining with an USV as autonomous automatic recharging platform. 2012 IEEE/OES Autonomous Underwater Vehicles (AUV); 2012. [ Links ]

11. Shamsi UA, Paracha MA, Rais S. Design and Development of an Autonomous Underwater Vehicle: NUST-PNEC. [ Links ]

12. de Barros EA, Freire LO, Dantas JL. Development of the Pirajuba AUV. IFAC Proceedings Volumes. 2010;43(20):102-7. [ Links ]

13. Gomáriz S, Prat J, Gaya P, Sole J. An autonomous vehicle development for submarine observation. Journal of Maritime Research. 2009;6(2):23-36. [ Links ]

14. McGann C, Py F, Rajan K, Thomas H, Henthorn R, McEwen R, editors. T-rex: A model-based architecture for auv control. 3rd Workshop on Planning and Plan Execution for Real-World Systems; 2007. [ Links ]

15. Gomáriz S, González J, Arbos A, Masmitja I, Masmitja G, Prat J, editors. Design and construction of the GUANAY-II autonomous underwater vehicle. OCEANS 2011 IEEE-Spain; 2011. [ Links ]

16. Zhang L, Jiang D-p, Zhao J-x, Ma S. An AUV for ocean exploring and its motion control system architecture. The open mechanical engineering journal. 2013;7(1):40-7. [ Links ]

17. Cadena A, Ponguillo R, editors. Development of an Autonomous Underwater Vehicle for Census of Antarctic Marine Life. Proceedings of the World Congress on Engineering; 2016. [ Links ]

18. Gupta A, Gupta P, Chakraborty K. Autonomous underwater robot using FPGA. International Journal of Science, Engineering and Technology. 2014:476-82. [ Links ]

19. Karabchevsky S, Kahana D, Guterman H, editors. Acoustic real-time, low-power FPGA based obstacle detection for AUVs. 2010 IEEE 26-th Convention of Electrical and Electronics Engineers in Israel; 2010. [ Links ]

20. Huizen R. FPGA/DSP hybrid architectures: Satisfying the reconFigurability requirements of the military. Military Embedded Systems (MES). 2007. [ Links ]

21. Wenzhi L, Haibo L, Xiufen Y, Hanwen Z, Hong L, Jun H, et al. Autonomous Underwater Vehicles for the 2019 RoboSub Competition. [ Links ]

22. Cadena A, Teran P, Reyes G, Lino J, Yaselga V, Vera S, editors. Development of a hybrid autonomous underwater vehicle for benthic monitoring. 20184thInternational Conference on Control, Automation and Robotics (ICCAR); 2018. [ Links ]

23. Berger AS. Embedded Systems Design: An Introduction to Processes, Tools, and Techniques. 2002. [ Links ]

6789101112

Recibido: 14 de Noviembre de 2020; Aprobado: 13 de Abril de 2021

*Correo: anabel.sm@nauta.cu

** brayanr19@nauta.cu.

No existe conflicto de intereses entre los autores con la institución a la que están afiliados, ni con ninguna otra institución.

Anabel Sánchez Moya participó en la conceptualización de la solución propuesta. Encargada de ejecutar el proceso de investigación, específicamente en el desarrollo de la arquitectura obtenida, en sus componentes hardware y software. Además, realizó la programación de los dispositivos programables (FPGA y DSP), simulaciones computacionales, y puesta en marcha del sistema final a nivel electrónico. Es responsable de la curación de datos y el análisis formal de los mismos. Participó en las etapas de validación y verificación de los resultados, así como en la preparación, creación y presentación del trabajo publicado.

Brayan Rodríguez Rueda participó en la conceptualización de la solución propuesta. Responsable de la gestión, coordinación, planificación y ejecución de las actividades de investigación y desarrollo vinculadas al proyecto, así como de la adquisición del apoyo financiero y provisión de recursos y otras herramientas de análisis para el mismo. Condujo el proceso de investigación, desde el nivel conceptual hasta el detallado. Participó en las etapas de validación y verificación de los resultados y en la preparación, creación y presentación del trabajo publicado.

Anabel Sánchez Moya, Ingeniera en Telecomunicaciones y Electrónica, graduada en 2012. Ocupa el cargo de Investigador Agregado en el Centro de Investigación Naval, La Habana, Cuba. Actualmente realiza investigaciones sobre el desarrollo de sistemas embebidos para aplicaciones específicas.

Brayan Rodríguez Rueda, Ingeniero Radioelectrónico, graduado en 2004. Máster en Automática, en el año 2018. Ocupa el cargo de Jefe de Grupo de Automática y Electrónica del Centro de Investigación Naval, La Habana, Cuba. Actualmente realiza investigaciones sobre el desarrollo de sistemas embebidos para aplicaciones de control automático de movimiento.

Creative Commons License Este es un artículo publicado en acceso abierto bajo una licencia Creative Commons