$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
1. Configuración del entorno de software
Se utilizó como plataforma principal de desarrollo una estación de trabajo basada en Linux con Ubuntu 20.04 y el Sistema Operativo Robot (ROS) Noetic para implementar sistemas de autolocalizaciónsubmarina 17. El sistema se inicializaba creando un espacio de trabajo catkin con mkdir -p ~/catkin_ws/src y luego inicializándolo con catkin_init_workspace. Los paquetes uuv_simulator y aruco_ros fueron clonados en el directorio fuente y compilados usando el comando catkin_make para soportar el modelado de intervención submarina.
La conectividad entre el middleware ROS y el simulador Gazebo 9 se verificó lanzando un mundo submarino predeterminado y confirmando la comunicación activa mediante el comando rostopic list. Los nodos de procesamiento de imágenes y estimación de poses se implementaron usando Python 3.8 y bibliotecas integradas de ArUco para calcular la pose relativa usando OpenCV. El entorno ROS estaba configurado para gestionar dependencias y permitir la comunicación de datos en tiempo real, permitiendo al robot localizarse en relación con múltiples marcadoresartificiales 18. Esta configuración también permitía evaluar el rendimiento de detección de marcadores bajo condiciones variables. La Figura 1 ilustra la comunicación entre los nodos de simulación, percepción y visualización en el entorno ROS–Gazebo.
2. Modelo UUV y parametrización hidrodinámica
El modelo de vehículo RexRov2 se obtuvo del paquete uuv_descriptions y se lanzó en Gazebo utilizando su archivo5 en Formato Unificado de Descripción de Robots (URDF). El modelo del vehículo consistía en eslabones y juntas, con una masa en seco de 1.863 kg y un desplazamiento volumétrico de 1,838m3, lo que correspondía a una flotabilidad casi neutra en agua con una densidad de 1.000 kg/m3.
Los efectos hidrodinámicos se modelaron usando el uuv_underwater_object_plugin, incluyendo fuerzas de amortiguamiento lineales y cuadráticas. El coeficiente de sobretensión de masa añadido se estableció en 779,79, y los parámetros de amortiguamiento se calibraron en función de las características reportadas del RexRov2 para simular un movimiento realistadel vehículo 19. La Figura 2 muestra la arquitectura general de la simulación.

Figura 2: Arquitectura general del entorno de simulación. La figura muestra la integración del modelo UUV, las entradas de sensores, la tubería de percepción y los módulos de control utilizados para la estimación de poses y la navegación. Por favor, haz clic aquí para ver una versión ampliada de esta figura.
3. Configuración de cámara, marcador y entorno
Se acopló una cámara monocular al marco rexrov2/camera_link. Los parámetros de la cámara se establecieron a 1280 × 720 píxeles y 30 Hz. Los parámetros intrínsecos se definieron en el archivo de configuración de la cámara con una distancia focal de 554,25 píxeles y un punto principal en (640,5, 360,5).
Un marcador vertical fijo de ArUco con una longitud lateral de 0,5 m, seleccionado del diccionario 6×6_250 (ID: 582), se posicionaba en coordenadas (20,0, 0,0, -10,0). El entorno simulado se configuró con una profundidad de agua de 10 m y una velocidad de corriente constante de 0,1 m/s en dirección X utilizando el servicio ROS /uuv_simulation_app/set_current_velocity. Se utilizó una intensidad de luz de 0,8 para asegurar la visibilidaddel marcador 9. La Figura 3 muestra el entorno submarino simulado.

Figura 3: Entorno submarino simulado en el Cenador 9. El entorno incluye el UUV RexRov2, marcadores virtuales ArUco y condiciones ambientales controladas como la profundidad del agua, la iluminación y la corriente. Por favor, haz clic aquí para ver una versión ampliada de esta figura.
4. Estimación de la postura y control de navegación
La canalización de detección de marcadores se iniciaba usando el nodo ROS de ArUco, que se suscribía al tema /rexrov2/forward_camera/image_raw. La pose del vehículo se estimó utilizando el método de Perspectiva-n-Punto (PnP) para calcular la matriz de rotación (R) y el vector de traslación (t) en relación con la geometría conocida del marcador 3D.
La pose estimada se transformó del fotograma de la cámara al marco de referencia global usando un editor de transformadas estáticas. Se utilizaba un controlador PID para regular el movimiento del vehículo enviando comandos de velocidad al tema /rexrov2/thruster_manager/entrada. Las ganancias proporcionales (Kp) para los ejes de aumento y levantamiento se fijaron en 1500 y 2000, respectivamente, para asegurar un rendimiento de seguimiento estable20.
5. Evaluación y comparación de la verdad del terreno
El acuerdo entre las estimaciones de pose basadas en la visión y la trayectoria simulada se evaluó usando el tema /rexrov2/pose_gt proporcionado por el plugin de uuv_gazebo_ros_p3d. La postura estimada de la tubería basada en ArUco se comparó con datos de odometría basados en el terreno para evaluar la estabilidad y consistencia del sistema.
La evaluación se realizó mediante comparación de trayectorias y visualización en tiempo real, donde se monitorizaron la posición (X, Y, Z) y la orientación (alabeo, cabeceo, guiñada) utilizando Rviz y rqt_plot. Esto permitió observar desviaciones tanto en condiciones nominales como inducidas por perturbaciones.
El estudio se centra en la evaluación cualitativa y comparativa. La evaluación cuantitativa utilizando el Error Cuadrático Medio Raíz (RMSE) se identifica como trabajo futuro, donde se utilizarán múltiples simulaciones para evaluar el error de posición y orientación.
6. Generación y visualización de resultados
Rviz se utilizó como herramienta de visualización 3D para monitorizar la trayectoria y actitud del UUV. Se visualizaron los marcos de coordenadas /rexrov2/camera_link y /aruco_marker_frame para evaluar la relación espacial entre el vehículo y el marcador2.
La herramienta rqt_plot se utilizó para generar gráficos en tiempo real de la actitud del vehículo (alabeo, cabeceo, guiñada) usando los temas /rexrov2/pose_gt y /aruco_pose. El comando rosbag record se utilizaba para capturar datos de simulación, incluyendo flujos de vídeo y entradas de control, para análisis cualitativos.
La simulación se realizó en condiciones visuales ideales, asumiendo buena iluminación y baja turbidez. Se suponía que el marcador de ArUco permanecía sin obstáculos. Los efectos de amortiguamiento hidrodinámico se modelaron usando coeficientes simplificados, y no se incluyó el ruido del sensor.