$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
1. Настройка программной среды
Рабочая станция на базе Linux с Ubuntu 20.04 и операционной системой Robot Operating System (ROS) Noetic использовалась в качестве основной платформы для реализации систем подводной самолокализации17. Система инициализовалась путём создания catkin-рабочего пространства с mkdir -p ~/catkin_ws/src, а затем инициализации с помощью catkin_init_workspace. Пакеты uuv_simulator и aruco_ros клонировались в исходный каталог и компилировались с помощью команды catkin_make для поддержки моделирования подводного вмешательства.
Связь между промежуточным ПО ROS и симулятором Gazebo 9 проверялась путём запуска подводного мира по умолчанию и подтверждения активной связи через команду ростопикного списка. Узлы обработки изображений и оценки позы были реализованы на Python 3.8 и интегрированы библиотеки ArUco для вычисления относительной позиции с помощью OpenCV. Среда ROS была настроена для управления зависимостями и обеспечения передачи данных в реальном времени, что позволяло роботу локализовать себя относительно нескольких искусственныхмаркеров 18. Такая система также позволяла оценивать эффективность обнаружения маркеров при различных условиях. Рисунок 1 иллюстрирует коммуникацию между узлами моделирования, восприятия и визуализации в среде ROS–Беседка.
2. Модель UUV и гидродинамическая параметризация
Модель RexRov2 была получена из пакета uuv_descriptions и запущена в беседке с использованием файла Unified Robot Description Format (URDF) 5. Модель автомобиля состояла из звеньев и соединений, сухой массой 1863 кг и объемным водоизмещением 1,838м3, что соответствует почти нейтральной плавучести в воде с плотностью 1000 кг/м3.
Гидродинамические эффекты моделировались с помощью uuv_underwater_object_plugin, включая линейные и квадратичные силы демпферирования. Дополнительный коэффициент массового скачка был установлен на уровне 779,79, а параметры демпфирования были откалиброваны на основе описанных характеристик RexRov2 для имитации реалистичного движенияаппарата 19. Рисунок 2 показывает общую архитектуру симуляции.

Рисунок 2: Общая архитектура среды симуляции. На рисунке показана интеграция модели UUV, входных данных сенсоров, конвейера восприятия и управляющих модулей, используемых для оценки позы и навигации. Пожалуйста, нажмите здесь, чтобы увидеть увеличенную версию этой фигуры.
3. Камера, маркер и настройка окружающей среды
К кадру rexrov2/camera_link была прикреплена монокулярная камера. Параметры камеры были установлены на 1280 × 720 пикселей и 30 Гц. Внутренние параметры были определены в конфигурационном файле камеры с фокусным расстоянием 554,25 пикселей и главной точкой (640,5, 360,5).
Фиксированный вертикальный маркер ArUco длиной боковой линии 0,5 м, выбранный из словаря 6×6_250 (ID: 582), был расположен по координатам (20,0, 0,0, -10,0). Смоделированная среда была настроена с глубиной воды 10 м и постоянной скоростью тока 0,1 м/с в направлении X с использованием сервиса /uuv_simulation_app/set_current_velocity ROS. Для обеспечения видимостимаркера 9 использовалась световая интенсивность 0,8. Рисунок 3 показывает смоделированную подводную среду.

Рисунок 3: Имитация подводной среды в беседке 9. Среда включает UUV RexRov2, виртуальные маркеры ArUco и контролируемые условия окружающей среды, такие как глубина воды, освещение и течение. Пожалуйста, нажмите здесь, чтобы увидеть увеличенную версию этой фигуры.
4. Оценка позы и управление навигацией
Конвейер обнаружения маркеров инициировался с помощью узла ArUco ROS, который подписывался на тему /rexrov2/forward_camera/image_raw. Положение транспортного средства оценивалось с помощью метода Perspective-n-Point (PnP) для вычисления матрицы вращения (R) и вектора переноса (t) относительно известной геометрии 3D-маркера.
Предполагаемая поза была преобразована из кадра камеры в глобальную систему отсчёта с помощью статического преобразования издателя. PID-контроллер использовался для регулировки движения автомобиля путём отправки команд на скорость на входную тему /rexrov2/thruster_manager/. Пропорциональные коэффициенты усиления (Kp) для осей скачка и подъёма были установлены на уровне 1500 и 2000 соответственно, чтобы обеспечить стабильностьотслеживания 20.
5. Оценка и сравнение основы и истинности
Согласование между оценками позы на основе зрения и моделируемой траекторией оценивалось с помощью темы /rexrov2/pose_gt, предоставленной плагином uuv_gazebo_ros_p3d. Оценочная поза из конвейера ArUco была сравнивана с данными одометрии на земле для оценки стабильности и согласованности системы.
Оценка проводилась с помощью сравнения траекторий и визуализации в реальном времени, где с помощью Rviz и rqt_plot отслеживались положение (X, Y, Z) и ориентация (крена, тангаж, рыскание). Это позволило наблюдать отклонения как при номинальных, так и в условиях, вызванных нарушениями.
Исследование сосредоточено на качественной и сравнительной оценке. Количественная оценка с использованием ошибки корня (RMSE) определяется как будущая работа, при которой будут использоваться несколько моделируемых загонов для оценки ошибки положения и ориентации.
6. Генерация и визуализация результатов
Rviz использовался как инструмент 3D-визуализации для мониторинга траектории и ориентации UUV. Координатные кадры /rexrov2/camera_link и /aruco_marker_frame визуализировались для оценки пространственной связи между транспортным средством имаркером 2.
Инструмент rqt_plot использовался для создания графиков положения транспортного средства в реальном времени (крена, тангаж, рыскание) с использованием тем /rexrov2/pose_gt и /aruco_pose. Команда записи rosbag использовалась для захвата данных симуляции, включая видеопотоки и управляющие входы, для качественного анализа.
Симуляция проводилась в идеальных визуальных условиях, при условии хорошего освещения и низкой мутности. Считалось, что знак ArUco останется непрепятственным. Гидродинамические эффекты демпфирования моделировались с использованием упрощённых коэффициентов, а шум датчиков не включался.