Подводные роботы не могут использовать GPS под водой, поскольку спутниковые сигналы не проникают сквозь толщу воды. Это фундаментальная проблема для автономных подводных аппаратов, которым нужно точно знать свое положение для навигации и выполнения задач. Исследователи из Чжэцзянского университета создали RaspiUSBL — недорогую открытую систему акустического позиционирования на базе Raspberry Pi, которая решает эту проблему.
Система работает как подводный аналог GPS: маяк на поверхности отправляет звуковые сигналы, а приемник на роботе их ловит и вычисляет свое положение. Приемник объединяет массив из шести гидрофонов, многоканальный предусилитель, высокоточный термостабилизированный генератор OCXO, Raspberry Pi 5 и плату сбора данных MCC. Маяк устроен похоже: те же Pi 5, OCXO и плата MCC, плюс усилитель мощности и передающий преобразователь для отправки сигнала.
Программа на C++ синхронизирует часы маяка и приемника с точностью до микросекунд — это критично для измерения времени прохождения звука под водой. Перед стартом миссии генераторы OCXO настраиваются по сигналу GPS в течение 30 минут, после чего могут работать автономно 12 часов с дрейфом менее 180 микросекунд. Система в реальном времени обрабатывает принятые сигналы: согласованная фильтрация находит момент прихода звука, а формирование луча определяет направление на маяк. Адаптивное управление усилением автоматически подстраивает чувствительность под условия — от тихого озера до шумного прибрежья.
Систему испытали в трех средах с нарастающей сложностью: безэховом резервуаре, пресноводном озере и открытом море. В резервуаре измеряли дистанцию от 1 до 23 метров и углы от 0 до 360 градусов — идеальные условия для калибровки без помех и отражений. После компенсации систематических ошибок погрешность дистанции оказалась лучше 0,1% от измеряемого расстояния, а угловая точность — около 0,1 градуса.
В озере с естественными помехами — отражениями от дна, шумом и волнами — погрешность выросла до 4,29 метра, но большинство измерений все равно попадали в диапазон ±5 метров от реальной позиции. Самое впечатляющее испытание прошло в открытом море: система стабильно отслеживала дискообразный подводный аппарат на дистанции до 1309 метров в режиме реального времени. Главное преимущество RaspiUSBL — полная открытость: любая лаборатория может собрать систему за несколько сотен долларов, изучить код и адаптировать под свои задачи. Это особенно важно для исследований роев подводных роботов, где один маяк может одновременно определять положение десятков аппаратов.
Источник новости и обложки: arxiv.org