$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
1. Opzet van de softwareomgeving
Een op Linux gebaseerd werkstation met Ubuntu 20.04 en het Robot Operating System (ROS) Noetic werd gebruikt als het primaire ontwikkelplatform voor het implementeren van onderwater zelflokalisatiesystemen17. Het systeem werd geïnitialiseerd door een catkin-werkruimte aan te maken met mkdir -p ~/catkin_ws/src en deze vervolgens te initialiseren met catkin_init_workspace. De uuv_simulator- en aruco_ros-pakketten werden gekloond in de bronmap en gecompileerd met het catkin_make-commando ter ondersteuning van onderwaterinterventiemodellering.
De connectiviteit tussen de ROS-middleware en de Gazebo 9-simulator werd geverifieerd door een standaard onderwaterwereld te starten en actieve communicatie te bevestigen via het rostopische lijstcommando. De beeldverwerkings- en poseschattingsnodes werden geïmplementeerd met Python 3.8 en geïntegreerde ArUco-bibliotheken om relatieve pose te berekenen met OpenCV. De ROS-omgeving was geconfigureerd om afhankelijkheden te beheren en realtime datacommunicatie mogelijk te maken, waardoor de robot zichzelf kon lokaliseren ten opzichte van meerdere kunstmatige markers18. Deze opstelling maakte ook evaluatie van de markeringsdetectieprestaties onder wisselende omstandigheden mogelijk. Figuur 1 illustreert communicatie tussen de simulatie-, waarnemings- en visualisatieknooppunten in de ROS–Gazebo-omgeving.
2. UUV-model en hydrodynamische parameterisatie
Het RexRov2-voertuigmodel werd verkregen uit het uuv_descriptions-pakket en gelanceerd in Gazebo met behulp van het Unified Robot Description Format (URDF) bestand5. Het voertuigmodel bestond uit verbindingen en gewrichten, met een droge massa van 1.863 kg en een volumeverplaatsing van 1,838 m³, wat overeenkomt met bijna-neutraal drijfvermogen in water met een dichtheid van 1.000 kg/m³.
Hydrodynamische effecten werden gemodelleerd met behulp van de uuv_underwater_object_plugin, waaronder lineaire en kwadratische dempingskrachten. De toegevoegde massa-surge-coëfficiënt werd ingesteld op 779,79 en de dempingsparameters werden gekalibreerd op basis van de gerapporteerde RexRov2-eigenschappen om realistische voertuigbeweging19 te simuleren. Figuur 2 toont de algemene simulatiearchitectuur.

Figuur 2: Algemene architectuur van de simulatieomgeving. De figuur toont de integratie van het UUV-model, sensorinvoer, waarnemingspijplijn en besturingsmodules die worden gebruikt voor pose-schatting en navigatie. Klik hier om een grotere versie van deze figuur te bekijken.
3. Camera-, marker- en omgevingsopstelling
Een monoculaire camera was bevestigd aan het rexrov2/camera_link frame. De cameraparameters waren ingesteld op 1280 × 720 pixels en 30 Hz. Intrinsieke parameters werden gedefinieerd in het cameraconfiguratiebestand met een brandpuntsafstand van 554,25 pixels en een hoofdpunt op (640,5, 360,5).
Een vaste verticale ArUco-markering met een zijlengte van 0,5 m, geselecteerd uit het 6×6_250-woordenboek (ID: 582), was geplaatst op coördinaten (20.0, 0.0, -10.0). De gesimuleerde omgeving werd geconfigureerd met een waterdiepte van 10 m en een constante stroomsnelheid van 0,1 m/s in de X-richting met behulp van de /uuv_simulation_app/set_current_velocity ROS-service. Een lichtintensiteit van 0,8 werd gebruikt om de zichtbaarheid van de marker9 te garanderen. Figuur 3 toont de gesimuleerde onderwateromgeving.

Figuur 3: Gesimuleerde onderwateromgeving in Gazebo 9. De omgeving omvat de RexRov2 UUV, virtuele ArUco-markers en gecontroleerde omgevingscondities zoals waterdiepte, verlichting en stroom. Klik hier om een grotere versie van deze figuur te bekijken.
4. Houdingsschatting en navigatiecontrole
De markerdetectiepijplijn werd gestart met behulp van de ArUco ROS-node, die zich abonneerde op het onderwerp /rexrov2/forward_camera/image_raw. De houding van het voertuig werd geschat met behulp van de Perspective-n-Point (PnP) methode om de rotatiematrix (R) en translatievector (t) ten opzichte van de bekende 3D-markergeometrie te berekenen.
De geschatte pose werd getransformeerd van het cameraframe naar het globale referentiekader met behulp van een statische transformatie-uitgever. Een PID-controller werd gebruikt om de voertuigbeweging te regelen door snelheidscommando's te sturen naar het /rexrov2/thruster_manager/input-onderwerp. De proportionele winsten (Kp) voor de surge en heave-assen werden respectievelijk ingesteld op 1500 en 2000 om stabiele trackingprestatieste garanderen.
5. Evaluatie en vergelijking van grondwaarheden
De overeenstemming tussen de op het zicht gebaseerde houdingsschattingen en de gesimuleerde traject werd geëvalueerd met behulp van het onderwerp /rexrov2/pose_gt dat door de uuv_gazebo_ros_p3d-plugin wordt aangeboden. De geschatte pose uit de op ArUco gebaseerde pijplijn werd vergeleken met ground-truth odometriegegevens om de stabiliteit en consistentie van het systeem te beoordelen.
De evaluatie werd uitgevoerd door trajectvergelijking en realtime visualisatie, waarbij positie (X, Y, Z) en oriëntatie (rol, pitch, yaw) werden gemonitord met Rviz en rqt_plot. Dit maakte observatie van afwijkingen mogelijk onder zowel nominale als door verstoring veroorzaakte omstandigheden.
De studie richt zich op kwalitatieve en vergelijkende evaluatie. Kwantitatieve evaluatie met behulp van Root Mean Square Error (RMSE) wordt geïdentificeerd als toekomstig werk, waarbij meerdere simulatieruns worden gebruikt om positie- en oriëntatiefouten te beoordelen.
6. Resultaatgeneratie en visualisatie
Rviz werd gebruikt als een 3D-visualisatietool om het UUV-traject en de houding te monitoren. De /rexrov2/camera_link en /aruco_marker_frame coördinatenframes werden gevisualiseerd om de ruimtelijke relatie tussen het voertuig en de marker2 te beoordelen.
De rqt_plot-tool werd gebruikt om realtime plots van de voertuighouding (roll, pitch, yaw) te genereren met behulp van de onderwerpen /rexrov2/pose_gt en /aruco_pose. Het rosbag-recordcommando werd gebruikt om simulatiegegevens, waaronder videostromen en controle-invoer, vast te leggen voor kwalitatieve analyse.
De simulatie werd uitgevoerd onder ideale visuele omstandigheden, met goede verlichting en lage troebelheid. Men ging ervan uit dat de ArUco-markering onbelemmerd bleef. Hydrodynamische dempingseffecten werden gemodelleerd met vereenvoudigde coëfficiënten, en sensorruis werd niet meegenomen.