En los artículos anteriores, hemos explorado el diseño hidrodinámico, la estructura modular, el sistema de propulsión y la fuente de energía de nuestro AUV Ai-Apaec. Ahora, es el momento de que profundicemos en el corazón y cerebro de la nave: el cilindro de la electrónica de control del AUV, donde reside el sistema que dará vida y autonomía a nuestro submarino.
Este artículo detalla los componentes clave de la electrónica de control y cómo se integran para permitir que el Ai-Apaec navegue, mantenga su profundidad y ejecute sus misiones de forma autónoma.
Este artículo es parte del proyecto AUV Ai Apaec – [ver el proyecto completo].
Los Componentes Esenciales del Sistema de Control
Para lograr un control robusto y preciso, hemos seleccionado una combinación de hardware potente y fiable:
Raspberry Pi
Actúa como el ordenador de misión principal. La Raspberry Pi se encarga de tareas de alto nivel como la ejecución de algoritmos de navegación, el procesamiento de datos de sensores (como la cámara o el sonar, si se implementan en el futuro), la comunicación con la superficie y la toma de decisiones complejas. Su versatilidad y capacidad de procesamiento la hacen ideal para la inteligencia del AUV.

Pixhawk
Este controlador de vuelo de código abierto es la unidad de control de vuelo/piloto automático. En nuestro AUV, el Pixhawk gestiona las operaciones de bajo nivel, como la estabilización, el control de la posición y la interfaz directa con los propulsores. Recibe comandos de la Raspberry Pi y los traduce en acciones precisas para los ESCs, asegurando un control de movimiento suave y eficiente. Su robustez y sus capacidades de sensor integradas (acelerómetro, giroscopio, magnetómetro) son cruciales para el rendimiento submarino.

ESC Bidireccionales de 35A/6S (3 unidades)
Los Electronic Speed Controllers (ESC) son los intermediarios entre el Pixhawk y los motores de los propulsores. Hemos optado por ESC bidireccionales, lo que permite que los propulsores giren en ambas direcciones (adelante y atrás), ofreciendo un control de empuje mucho más versátil y permitiendo maniobras avanzadas como el frenado o el movimiento inverso. La capacidad de 35A y 6S asegura que pueden manejar la potencia requerida por nuestros motores de propulsión de manera eficiente y segura.

Sensor de Profundidad MS5837
La profundidad es una de las variables más críticas para un AUV. El MS5837 es un sensor de presión de alta precisión diseñado para entornos submarinos, capaz de medir profundidades de hasta 300 metros (30 bar). Este sensor proporciona datos fiables al Pixhawk (o directamente a la Raspberry Pi, según la configuración de la interfaz) permitiendo al AUV mantener una profundidad deseada o realizar perfiles de inmersión específicos con gran exactitud.

Servomotor de Alto Torque Impermeable (D30)
Como ya mencionamos en el artículo del cono posterior, el Ai-Apaec incorpora servomotores para el control de sus superficies hidrodinámicas. Específicamente, estamos utilizando el Servomotor D30, un servomotor de alto torque y diseño impermeable. Su robustez y resistencia al agua son esenciales para manipular las aletas o timones que permiten al AUV controlar los ángulos de roll y pitch, optimizando su estabilidad y dirección bajo el agua. Este componente es vital para la maniobrabilidad del AUV.

Módulo GPS
Aunque la señal GPS no puede penetrar el agua, el módulo UBX NEO-M9N es un añadido estratégico a la electrónica de control. Su función principal es obtener la posición geográfica precisa del AUV cuando se encuentra en la superficie. Esto es invaluable para registrar el punto de inicio de una misión, marcar ubicaciones durante maniobras en superficie o recuperar el AUV al finalizar una inmersión. Proporciona una referencia de posicionamiento inicial y final crucial para la navegación autónoma del AUV.

Arquitectura de Conectividad en la Electrónica del AUV
Para comprender mejor cómo interactúan todos estos componentes, hemos preparado el siguiente esquema de conexión. Este diagrama detalla visualmente el flujo de energía y datos dentro del cilindro estanco de electrónica y sus conexiones externas.

Desglosemos las principales conexiones mostradas:
Fuente de energía
La energía principal (en líneas rojas) proviene del cilindro de baterías, alimentando todo el sistema.
Distribución de energía y regulación:
- La línea principal de la batería se conecta a un Medidor de Voltaje, que envía una señal al Raspberry Pi para monitorear el estado de carga de la batería.
- La energía se distribuye a dos UBEC. Estos reguladores de voltaje son cruciales: uno proporciona la alimentación de 5-6V para la Raspberry Pi, y el otro, una alimentación de 7-8V, crucial para el funcionamiento de los Servomotores.
- Los 3 ESC también reciben directamente la energía desde la batería, ya que son los encargados de alimentar y controlar los Propulsores.
Comunicación entre el cerebro y sensores:
- La Raspberry Pi y el Pixhawk se comunican a través de una conexión UART, permitiendo el intercambio de comandos de alto nivel y datos de telemetría.
- El Pixhawk envía señales de control a los 3 ESCs (línea negra), que a su vez controlan la velocidad y dirección de los Propulsores.
- De manera similar, el Pixhawk controla los Servomotores (línea negra) para el movimiento de las superficies de control.
Conexiones de sensores externos:
- El Sensor de Profundidad MS5837 se conecta al Pixhawk a través de la interfaz I2C, proporcionando datos precisos de profundidad.
- La Antena de GPS se conecta al Pixhawk, permitiendo la adquisición de la posición geográfica cuando el AUV se encuentra en superficie.
Este esquema ilustra de forma clara y concisa la intrincada red de conexiones que dan vida a la electrónica de control del AUV Ai-Apaec, asegurando que cada componente trabaje en sincronía para la operación autónoma del submarino.
Integración y Montaje en el Cilindro de Electrónica
Todos estos componentes de la electrónica de control serán cuidadosamente montados dentro del cilindro estanco, diseñado para protegerlos del entorno submarino. En el siguiente post se mostrará la optimización de la disposición interna para maximizar el espacio y simplificar el cableado, aspectos críticos para la fiabilidad a largo plazo.
Por el momento y para hacer pruebas, he realizado el montaje de los componentes:

Programación y Calibración: Primeros Pasos del Sistema
Con la fase de integración física en una versión de prueba, el siguiente hito crucial ha sido la programación y calibración de los componentes electrónicos. Esta etapa es fundamental para que el Ai-Apaec pueda operar de manera autónoma y segura, traduciendo el hardware en un sistema funcional e inteligente.
Los pasos clave que ya hemos completado incluyen:
Carga y Configuración del Firmware en el Pixhawk:
Hemos configurado y cargado el firmware ArduPilot en el Pixhawk, utilizando QGroundControl. Este firmware es la base del piloto automático, proporcionando las capacidades de estabilización y control de bajo nivel. Adicionalmente, durante este proceso, se llevó a cabo una exhaustiva calibración de todos los sensores internos del Pixhawk: el acelerómetro, el giroscopio y el magnetómetro. Una calibración precisa es vital para asegurar que el AUV tenga una lectura correcta de su orientación y pueda navegar con precisión. También se configuraron los rangos de los ESC y servomotores.
Un aspecto fundamental de nuestra implementación fue la modificación directa del código fuente de ArduSub. Dada la configuración única de nuestro AUV, que combina dos propulsores principales para avance y guiñada, un tercer propulsor para cabeceo, y dos servomotores configurados como elevons para el control de cabeceo y alabeo, fue necesario definir un SUB_FRAME_CUSTOM personalizado. Esta modificación en el firmware nos permitió especificar exactamente cómo cada actuador (propulsores y elevons) contribuye a los seis grados de libertad del vehículo.

Inicialmente, nos enfrentamos a desafíos significativos en el modo Stabilize, donde los comandos de alabeo afectaban el cabeceo y viceversa. Este problema se resolvió ajustando la definición de mezcla de los elevones en nuestro SUB_FRAME_CUSTOM y afinando el parámetro AHRS_ORIENTATION para asegurar que el Pixhawk interpretara correctamente su orientación física. Como resultado, logramos un control manual completo y preciso del AUV, con todos los ejes (avance, guiñada, cabeceo y alabeo) respondiendo de manera correcta al joystick. Actualmente, el AUV reacciona correctamente en Stabilize, aunque observamos una respuesta algo lenta, que abordaremos en la siguiente fase de afinación.
Pueden revisar el firmware aquí.
Instalación del Sistema Operativo en la Raspberry Pi
La Raspberry Pi, como ordenador de misión, requería la instalación de un sistema operativo ligero y eficiente. Hemos optado por una distribución de Linux optimizada, como Raspberry Pi OS, que proporciona un entorno robusto para ejecutar los scripts de navegación y los algoritmos de toma de decisiones. Además, se configuraron los servicios necesarios para la comunicación serial con el Pixhawk y con la Estación Base.
Establecimiento de Comunicación con la Estación Base
Un aspecto crítico para el desarrollo y las pruebas es la capacidad de comunicarnos y controlar el AUV desde una estación base en superficie. Hemos establecido un enlace de comunicación robusto, a través de Mavlink que permite a la Raspberry Pi y al Pixhawk transmitir datos de telemetría (posición, estado de la batería, etc.) y recibir comandos de control desde un ordenador terrestre mientras el AUV esté en superficie. Si quisiéramos mantener la comunicación durante la misión, seguramente necesitaríamos algo de inversión adicional para equipos de comunicación submarinos.
Con la programación y calibración ya realizadas, el cerebro del Ai-Apaec está listo para comenzar a procesar datos y enviar comandos, lo que nos acerca un paso más a las pruebas operativas en agua.
Conclusiones y Próximos Pasos
La integración de la Raspberry Pi, el Pixhawk y demás componentes ha establecido el cerebro de nuestro AUV Ai-Apaec, permitiendo la implementación de un control robusto. La selección de cada elemento ha sido clave para garantizar la fiabilidad en el exigente entorno submarino.
Con el hardware montado y la programación básica realizada, el siguiente desafío crucial se centra en la afinación avanzada de los controladores PID y la implementación de la lógica de control para la navegación hidrodinámica. Dada la configuración de torpedo del Ai-Apaec y su dependencia de las superficies de control para el cambio de profundidad, requerimos un enfoque específico.
Nuestros próximos pasos clave incluyen:
- Desarrollo de Modos de Vuelo Personalizados: Crearemos un modo de vuelo específico para el Ai-Apaec que gestione eficientemente la relación entre la velocidad de avance, el ángulo de cabeceo y el control de profundidad, optimizando su rendimiento submarino.
- Ensamblaje Final y Sellado: Completaremos el montaje y aseguraremos el sellado hermético del cilindro de electrónica.
- Pruebas en Seco y Funcionales: Verificaremos el correcto funcionamiento de todos los subsistemas antes de la inmersión.
- Primeras Pruebas en Agua y Afinación del Nuevo Modo: Evaluaremos el comportamiento del AUV y ajustaremos los parámetros del modo de vuelo personalizado en un entorno acuático controlado.
¡Mantente atento a nuestras próximas publicaciones, donde profundizaremos en el desarrollo y las primeras pruebas en agua de nuestro AUV Ai-Apaec!