$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
1. Einrichtung der Softwareumgebung
Eine Linux-basierte Workstation mit Ubuntu 20.04 und dem Robot Operating System (ROS) Noetic wurde als primäre Entwicklungsplattform für die Implementierung von Unterwasser-Selbstlokalisierungssystemen17 verwendet. Das System wurde initialisiert, indem ein Catkin-Arbeitsbereich mit mkdir -p ~/catkin_ws/src erstellt und dann mit catkin_init_workspace initialisiert wurde. Die uuv_simulator- und aruco_ros-Pakete wurden in das Quellverzeichnis geklont und mit dem Befehl catkin_make kompiliert, um Unterwasserinterventionsmodellierung zu unterstützen.
Die Verbindung zwischen der ROS-Middleware und dem Gazebo 9-Simulator wurde durch das Starten einer Standard-Unterwasserwelt und die Bestätigung der aktiven Kommunikation über den Befehl rosopische Listen bestätigt. Die Bildverarbeitungs- und Pose-Schätzungsknoten wurden mit Python 3.8 und integrierten ArUco-Bibliotheken implementiert, um die relative Pose mit OpenCV zu berechnen. Die ROS-Umgebung wurde so konfiguriert, dass sie Abhängigkeiten verwaltet und Echtzeit-Datenkommunikation ermöglicht, sodass sich der Roboter relativ zu mehreren künstlichen Markierungenlokalisieren konnte. Dieses Setup ermöglichte auch die Bewertung der Markererkennungsleistung unter unterschiedlichen Bedingungen. Abbildung 1 zeigt die Kommunikation zwischen den Simulations-, Wahrnehmungs- und Visualisierungsknoten in der ROS–Gazebo-Umgebung.
2. UUV-Modell und hydrodynamische Parametrisierung
Das RexRov2-Fahrzeugmodell wurde aus dem uuv_descriptions-Paket gewonnen und im Gazebo mit der Unified Robot Description Format (URDF)-Datei5 gestartet. Das Fahrzeugmodell bestand aus Gelenken und Gelenken mit einer Trockenmasse von 1.863 kg und einer Volumenverdrängung von 1,838 m³, was einer nahezu neutralen Auftriebskraft im Wasser mit einer Dichte von 1.000 kg/m³ entspricht.
Hydrodynamische Effekte wurden mit der uuv_underwater_object_plugin modelliert, einschließlich linearer und quadratischer Dämpfungskräfte. Der zusätzliche Massenstoßkoeffizient wurde auf 779,79 gesetzt, und die Dämpfungsparameter wurden auf Basis der gemeldeten RexRov2-Eigenschaften kalibriert, um realistische Fahrzeugbewegung19 zu simulieren. Abbildung 2 zeigt die gesamte Simulationsarchitektur.

Abbildung 2: Gesamtarchitektur der Simulationsumgebung. Die Abbildung zeigt die Integration des UUV-Modells, der Sensoreingaben, der Wahrnehmungspipeline und der Steuerungsmodule, die für die Posenschätzung und Navigation verwendet werden. Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzusehen.
3. Kamera-, Marker- und Umweltaufbau
Eine Monokularkamera war am Rexrov2/camera_link-Rahmen befestigt. Die Kameraparameter wurden auf 1280 × 720 Pixel und 30 Hz gesetzt. Intrinsische Parameter wurden in der Kamerakonfigurationsdatei mit einer Brennweite von 554,25 Pixeln und einem Hauptpunkt bei (640,5, 360,5) definiert.
Ein fester vertikaler ArUco-Marker mit einer Seitenlänge von 0,5 m, ausgewählt aus dem 6×6_250-Wörterbuch (ID: 582), wurde an den Koordinaten (20.0, 0.0, -10.0) positioniert. Die simulierte Umgebung wurde mit einer Wassertiefe von 10 m und einer konstanten Stromgeschwindigkeit von 0,1 m/s in X-Richtung unter Verwendung des ROS-Dienstes /uuv_simulation_app/set_current_velocity konfiguriert. Eine Lichtintensität von 0,8 wurde verwendet, um die Sichtbarkeit der Markierung9 sicherzustellen. Abbildung 3 zeigt die simulierte Unterwasserumgebung.

Abbildung 3: Simulierte Unterwasserumgebung im Pavillon 9. Die Umgebung umfasst das RexRov2-UUV, virtuelle ArUco-Marker und kontrollierte Umweltbedingungen wie Wassertiefe, Beleuchtung und Strom. Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzusehen.
4. Posenschätzung und Navigationssteuerung
Die Marker-Erkennungspipeline wurde mit dem ArUco ROS-Knoten initiiert, der das Thema /rexrov2/forward_camera/image_raw abonnierte. Die Position des Fahrzeugs wurde mit der Perspektiv-n-Punkt-Methode (PnP) geschätzt, um die Rotationsmatrix (R) und den Translationsvektor (t) relativ zur bekannten 3D-Markierungsgeometrie zu berechnen.
Die geschätzte Pose wurde mit einem statischen Transform-Publisher vom Kamerarahmen in den globalen Referenzrahmen transformiert. Ein PID-Regler wurde verwendet, um die Fahrzeugbewegung zu regulieren, indem Geschwindigkeitsbefehle an das /rexrov2/thruster_manager/Input-Thema gesendet wurden. Die proportionalen Gewinne (Kp) für die Surge und Heave-Achsen wurden auf 1500 bzw. 2000 gesetzt, um eine stabile TrackingPerformance 20 sicherzustellen.
5. Bewertung und Ground-Truth-Vergleich
Die Übereinstimmung zwischen den visionsbasierten Posenschätzungen und der simulierten Trajektorie wurde mit dem vom uuv_gazebo_ros_p3d-Plugin bereitgestellten Thema /rexrov2/pose_gt bewertet. Die geschätzte Pose aus der ArUco-basierten Pipeline wurde mit Ground-Truth-Odometriedaten verglichen, um die Systemstabilität und -konsistenz zu bewerten.
Die Bewertung erfolgte durch Trajektorienvergleich und Echtzeitvisualisierung, bei der Position (X, Y, Z) und Orientierung (Roll, Neigung, Gier) mit Rviz und rqt_plot überwacht wurden. Dies ermöglichte die Beobachtung von Abweichungen sowohl unter nominalen als auch unter störungsbedingten Bedingungen.
Die Studie konzentriert sich auf qualitative und vergleichende Bewertung. Quantitative Evaluation mit Hilfe des Root Mean Square Error (RMSE) wird als zukünftige Arbeit identifiziert, bei der mehrere Simulationsläufe verwendet werden, um Positions- und Orientierungsfehler zu bewerten.
6. Ergebnisgenerierung und Visualisierung
Rviz wurde als 3D-Visualisierungstool verwendet, um die UUV-Flugbahn und -Lage zu überwachen. Die /rexrov2/camera_link- und /aruco_marker_frame-Koordinatenrahmen wurden visualisiert, um die räumliche Beziehung zwischen Fahrzeug und Markierer2 zu bewerten.
Das rqt_plot-Tool wurde verwendet, um Echtzeitdiagramme der Fahrzeuglage (Roll, Nick, Gier) mit den Themen /rexrov2/pose_gt und /aruco_pose zu erstellen. Der Rosbag-Datensatzbefehl wurde verwendet, um Simulationsdaten, einschließlich Videoströme und Steuereingaben, für qualitative Analysen zu erfassen.
Die Simulation wurde unter idealen visuellen Bedingungen durchgeführt, unter guter Beleuchtung und geringer Trübung. Man nahm an, dass der ArUco-Marker unberührt blieb. Hydrodynamische Dämpfungseffekte wurden mit vereinfachten Koeffizienten modelliert, und Sensorrauschen wurde nicht einbezogen.