Самая полная классификация подводных навигационных систем, что вы можете найти

    Приветствую вас, глубокоуважаемые!


    «Гидроакустика — продажная девка империализма!» (С)

    Почему вообще подводная навигация важна? Да потому, что без нее любой подводный аппарат — дорогая игрушка, которая находится неизвестно где, потому что проще и дешевле сделать тысячи однотипных подводных роботов, и для того, чтобы уничтожить подводную лодку с десятками человек обученного экипажа хватит и одного из них.

    Ну и что же? Длинная, короткая, ультрокороткая? О, нет, все гораздо глубже! Дьявол, как обычно кроется в реализации. Как устроены подводные навигационные системы в реальном мире, почему они устроенны именно так, как работают — сегодня я все это разложу по полочкам.
    Со следовыми количествами матана в качестве специй, конечно.

    Бонусом идет библиотека с открытым кодом, для решения навигационных задач.

    Кто не испугался — добро пожаловать в прохладные декабрьские воды нашего пруда!



    Итак, прошлый раз я, отдавая дань устоявшемуся порядку, рассказывал, что:

    • бывают длинно-, коротко- и ультракороткобазисные системы;
    • почему длинная всегда лучше и какие есть преимущества и недостатки у этих типов систем;
    • базовая линия образуется двумя точками с известным положением, от которых измерены или углы или дальности или псевдодальности до искомой точки.

    Вот на этом фундаменте знаний предлагаю и продолжить.

    Как можно заметить, существующаяся устоявшаяся классификация говорит лишь о составе системы и лишь в некоторой степени о принципах функционирования, оставляя за скобками конкретную реализацию.

    Лирическое отступление
    Всегда нужно помнить, что до недавней поры связываться под водой и определять там чужое свое местоположение никому кроме военных в голову не приходило.

    Так как по долгу работы часто бываем со своими разработками на выставках, иногда приходят граждане и будучи убежденными в своей особенности загадочно сообщают, что у них, дескать, есть подводный ОБЪЕКТ (обожебоже!), какой именно они не скажут, и вот нужно его местоположение определять при таких-то условиях. Далее из требуемой дальности, автономности, энерговооруженности, глубины и скорости перемещения легко выводится что это: стая роботов водолазов, робот водолаз на проводе или торпеда.

    С торпедой, к слову сказать, насколько мне известно гидроакустически связаться нельзя, и если читатель рассчитывал что я расскажу про что-то такое — вынужден разочаровать.

    Например, длиннобазисная система может быть устроена как с измерениями дальностей, так и с измерениями псевдодальностей, в последнем случае если база активная, т.е. излучающая, то при ее поддержке может работать неограниченное число позиционирующихся одновременно приемников, с выработкой координат на позиционирующихся объектах (навигационная система). Так например работают глобальные спутниковые системы — GPS, GLONASS, Gallileo, Beidou (а также наш «Подводный GPS»).

    Все упомянутые системы — системы на длинной базе. Но, если к примеру, в параллельной вселенной были бы такие же системы, но работающие не по разностно-дальномерному, а по дальномерному принципу, то для того чтобы получить свое положение на карте нужно было бы послать запрос на спутники (из гуманных соображений предположим, что у них всех общий запрос), принять не менее 4-х ответов, по двойному времени распространения сигнала и фиксированной задержке обработки запросного сигнала на спутнике вычислить дальности до каждого спутника и решить навигационную задачу.

    Феерическое неудобство такой организации сложно переоценить. Но напомню, с точки зрения современной терминологии — и то и другое — длиннобазисные системы.

    Другой вариант — если излучает именно объект, то есть возможность «следить» за ним — дистанционно определять его координаты (система позиционирования).

    Например, ультракороткобазисная система (УКБ) система может запрашивать маяк-ответчик или определять дистанцию до пингера по предварительной синхронизации или с запросом при помощи электрического или оптического канала. Во всех этих случаях — это будут ультракороткобазисные системы.

    Естественно, что применение той или иной схемы и/или компоновки имеет различные ограничения и преимущества, поэтому важно иметь более полную классификацию.

    Начинаем вводить классификационные признаки.

    По способу измерения времени распространения


    Этот признак самый основной, потому что независимо от типа системы, от ее конфигурации и конкретного исполнения, все работает именно на измерении времени распространения сигнала.
    Итак, как можно измерять время распространения сигнала между двумя устройствами?

    Метод «запрос-ответ»


    Самый простой и очевидный подход — использовать так называемый метод «запрос-ответ». Суть его в следующем.

    Пусть запрашивающая система излучает запросный сигнал в момент времени $t_R$, который она фиксирует по своим внутренним часам. В оптимистичном случае, запрашиваемая система принимает этот сигнал в некий момент времени $t_{A1}$, который она фиксирует по своим часам, несинхронизированным с часами запрашиваемой системы. Так как в реальности навигационные сигналы имеют некоторую длительность и ведущая их прием система всегда принимает решение об успешном приеме с некоторым опозданием, которое к тому же совершенно не обязательно бывает постоянным, требуется некоторая фиксированная задержка ответа $t_d$, известная как запрашиваемой, так и запрашивающей системам.
    Данное положение показано на рисунке ниже:


    Временная диаграмма определения времени распространения сигнала методом «запрос-ответ»

    На следующем рисунке ситуация с запаздыванием выноса решения о детектировании сигнала рассмотрена более подробно:


    Запаздывание анализа сигнала. Штриховыми линиями показаны длительности окон обработки, заштрихованные области — полезный сигнал в кольцевом буфере

    Фактическое начало анализа окна в котором содержится полезный сигнал происходит уже после того, как весь сигнал находится в кольцевом буфере, анализ длится от момента времени $t_{ps}$ до $t_{pe}$, и за это время кольцевой буфер пополняется. Таким образом для обеспечения непрерывности временной шкалы необходимо, чтобы ответ на запрос производится через фиксированное время от момента приема сигнала, заведомо большее, чем длительность окна и длительность его обработки.

    Теперь, запрашиваемая система после успешного приема и вычисления фактического времени прихода сигнала $t_{A1}$ должна излучить ответный сигнал в некий момент времени $t_{R1}=t_{A1}+t_d$. Запрашивающая система в свою очередь таким же образом принимает ответный сигнал в момент времени $t_A$, и теперь может вычислить время распространения $t_F$ сигнала тривиальным образом:

    $t_F=(t_A-t_R-t_d)/2$


    Здесь мы делаем допущение о том, что на протяжении всей транзакции расстояние между запрашивающей и запрашиваемой системами остается или постоянным или его изменение несущественно в рамках решаемой задачи.

    Определение времени распространения таким способом широко используется в УКБ системах, системах с виртуальной длинной базой, длинной базой и некоторых других.

    Из плюсов данного метода можно отметить:

    • не требуется временная синхронизация запрашивающей и запрашиваемой системы (а соответственно, не требуется очень точных часов);
    • возможность реализации адресного запроса, когда запросный сигнал содержит информацию, однозначно определяющую его принадлежность к конкретному абоненту;
    • возможность применять разные запросы в цифровой системе — запрашивать отдельно различные параметры. Например если речь идет о подвижном объекте, то логично чаще запрашивать его глубину и реже температуру и заряд батареи и пр.
    • простоту и надежность реализации;

    Минусы данного метода:

    • для измерения требуется два успешных приема — на запрашиваемой и на запрашивающей системе;
    • и запрашиваемая и запрашивающая системы должны содержать как приемный, так и передающие тракты;
    • необходима реализация механизма ожидания и обработки превышения интервала ожидания (обработка таймаута);
    • работа с несколькими запрашиваемыми системами может быть реализована только поочередно
      На самом деле...
      На самом деле существовали (и, возможно применяются по сей день) системы с тональными маяками-ответчиками, которые имели одинаковый набор тональных посылок в качестве запросного сигнала и отличающиеся наборы в качестве ответных (что и позволяло их идентифицировать) сигналов. Узкая полоса сигнала позволяла запрашивать сразу несколько таких маяков. Очевидно однако, что на сегодняшний день подобные системы едва ли можно считать отвечающими вызовам времени;

    Полуакустический метод: вариация метода «запрос-ответ» c запросом по электрическому или оптическому каналу


    В ряде задач, где имеется возможность связи по радиоканалу или даже по проводу между запрашивающей и запрашиваемой системами (что нередко бывает, например в случае с генно-модифицированными водолазами ТНПА) можно сильно упростить задачу, применив вместо запросного сигнала стробирующий импульс.

    В этом случае:

    • во-первых, значительно снижается время всей транзакции за счет длительности запросного сигнала и его распространения до запрашиваемой системы (по кабелю не обязательно слать суперустойчивый широкополосный сигнал — достаточно простого прямоугольного импульса);
    • во-вторых время фиксированной задержки в свою очередь так же может быть значительно уменьшено,
    • а в-третьих, теперь запрашиваемая система больше не должна содержать достаточно сложный алгоритмически приемник;
    • в-четвертых, погрешности связанные с распространением сигнала в среде сразу уменьшаются на половину.

    Время распространения для данной вариации метода будет вычисляться еще проще:

    $t_F=t_A-t_r-t_d$


    Где $t_A$ — время приема ответного сигнала на запрашивающей системе, $t_r$ — время формирования стробирующего импульса, $t_d$ — фиксированная задержка.

    Очевидно, что не только запросная половина дистанции может быть преодолена не по акустическому каналу, но и ответная.

    Запрос-ответ с распределенным приемником (комбинированный)


    Данная вариация метода относится к длинно- и короткобазисным навигационным системам. Представим, что запрашивающая система содержит один передатчик и несколько приемников, часы на всех приемниках синхронизированны а их положения известны (особенно легко представить такую систему, если эти несколько приемников — плавучие буи, в каждом из которых есть GNSS-приемник, вырабатывающий географическое положение и обеспечивающий достаточно точный временной строб — 1PPS импульс).

    Теперь, по аналогии с обычным методом «запрос-ответ» время распространения $t_{F1}$ до передатчика определяется:

    $t_{F1}=(t_{A1}-t_{r1}-t_d)/2$


    Где $t_{A1}$ и $t_{r1}$ — время прихода ответного сигнала и время излучения запросного сигнала передатчика соответственно, $t_d$ — фиксированная задержка ответа.

    На следующем рисунке приводится пояснение к описываемой схеме:


    Определение времени распространения до всех элементов распределенного приемника

    А время распространения $t_{Fi}$ до i-ого приемника будет соответственно:

    $t_{Fi}=t_{Ai}-t_{r1}-t_d-t_{F1}$


    или

    $t_{Fi}=t_{Ai}-(t_{r1}+t_d+t_{A1})/2$


    Где $t_{Ai}$ — время прихода сигнала с запрашиваемой системы на i-ый приемник.

    То есть, после завершения транзакции имеется набор точек с известными координатами и дальности до них, что по сути уже очень близко к длиннобазисной навигационной системе.

    Предварительная синхронизация


    Или как еще его иногда называют — одностороннее измерение времени распространения, применяют когда либо одна из взаимодействующих систем по каким либо причинам не может излучать сигнал (к примеру, она пытается обожебоже акустически маскироваться!) либо когда время распространения слишком велико.

    Подразумевается, что в какой-то момент времени часы всех взаимодействующих систем были синхронизированны.

    В контексте данного метода уже не вполне некорректно применять термины «запрашивающая» и «запрашиваемая» система, поэтому для простоты будем использовать привычные «передатчик» и «приемник».

    Фактически, при реализации данного метода могут иметь место два подхода:

    — В первом, имеется всего один передатчик, излучающий навигационный сигнал через равные промежутки времени $t_p$. В некоторый момент времени $t_s$, по часам приемника часы приемника и передатчика синхронизируются. После этого время распространения от передатчика до приемника можно определить простым соотношением:

    $t_F=(t_A-t_s)mod(t_p)$


    Здесь $t_A$ — время прихода сигнала на приемник.

    Если внимательно посмотреть на это соотношение, можно увидеть, что при помощи него нельзя измерить время распространения большее чем $t_p$.
    Наряду с таким серьезным недостатоком вышеописанного подхода он имеет один крайне сильный плюс: таким образом можно организовать т.н. привод на маяк (передатчик) теоретически неограниченного числа приемников: представим, что синхронизировавшийся в какой-то момент приемник имеет антенную решетку, определяет дальность до приводного маяка и горизонтальный угол прихода сигнала.

    Что очень удобно например, при решении задачи привода водолазов — они могут уходить от места сброса на ощутимые дистанции, и в случае всплытия в нескольких сотнях метров от точки сброса, плыть по поверхности с баллонами — занятие так себе.

    Так что данный подход реализован, например, в нашей системе привода водолазов Vostok.

    — Второй подход не накладывает никаких ограничений ни на количество передатчиков и практически не требует периодического излучения сигнала. В нем по прежнему фигурирует время синхронизации часов приемника и передатчика $t_s$, а фактическое время излучения $t_r$ явно содержится в передаваемом сообщении. На стороне приемника время распространения сигнала $t_F$ определяется как:

    $t_F=t_A-t_r-t_s$


    Глубоко не вдаваясь в подробности отметим, что минус у схемы с предварительной синхронизации ровно один — часы разных устройств достаточно быстро расходятся до неприемлемых величин.

    Чтобы дать количественное ощущение насколько это быстро происходит, скажу, что с применением термостабилизированных кварцевых резонаторов расхождение в 7 миллисекунд накапливается в среднем за 1,5-2 часа.

    Принимая в учет среднее значение скорости звука в воде (~1500 м/с), это расхождение приводит к ошибке определения дистанции ~10 метров.

    В последнее время, кстати, коллеги сообщают об успешном применении миниатюризированных атомных часов (!), в которых указанная точность сохраняется недели[1][2].

    В дополнение к методам с предварительной синхронизации можно упомянуть схемы, где первичная синхронизация обеспечивается методом «запрос-ответ».

    К примеру, запрос инициирует на ответной стороне серию ответных сигналов, период которых составляет $t_p$. Первый ответный сигнал позволяет определить время распространения сигнала $t_{psyn}$ в момент синхронизации.

    Показания часов запрашивающей системы в момент прихода первого ответного сигнала $t_{syn}$.
    Теперь, для вычисления времени распространения $t_F$ по каждому из последующих ответных сигналов, можно воспользоваться простой формулой:

    $t_F=t_{psyn}+t_Amod(t_p)-t_{syn}$


    Где, $t_A$ — время прихода очередного ответного сигнала по часам запрашивающей системы.

    Такая схема обладает известной гибкостью: число ответов может быть явно указано в первом запросном сигнале, а сама схема позволяет работать с временным разделением нескольким абонентам.

    В то же время, такой подход вносит определенную долю неоднозначности — если запрашивающая система пропускает прием первого ответного сигнала то работа останавливается до завершения всего цикла передачи ответных сигналов. А в дополнение к ошибке, связанной с уходом часов, добавляется ошибка первоначальной синхронизации. В большинстве существующих систем ошибка определения наклонной дальности указывается в диапазоне от 1% до 0.1% от фактической наклонной дальности. Т.е. в среднем случае ошибка первоначальной синхронизации на дистанциях порядка 1000 метров может составить величину порядка 10 метров из-за нелинейности распространения звуковых волн в гидроакустическом канале, не принимая в учет ошибки, связанные с определением прямого луча (мифического «прямого сигнала», а не одной из его копий, отраженный от чего-нибудь).

    Окей, с разными способами измерения времени распространения сигнала вроде бы разобрались, но этого явно недостаточно. Как еще отличаются навигационный системы? Как ни странно:

    По набору измеряемых параметров


    Данный критерий классифицирует системы по набору измеряемых параметров, основная его задача — разграничить угломерные системы от дальномерных и разностно-дальномерных. И особенно учесть такой факт, что некоторые системы могут работать и как угломерные и как дальномерные (например, некоторые КБ системы и ДБ системы при выходе позиционируемого объекта из навигационной базы).

    Угломерно-дальномерные системы


    Данный тип систем определяет положение позиционируемого объекта в полярной системе координат и характеризуются следующими наборами измеряемых параметров:

    • Тип I: $\lambda_0,\phi_0,z_0,\alpha,e,t_F$
    • Тип I: $\lambda_0,\phi_0,z_0,\alpha,z_s,t_F$

    Где $\lambda_0,\phi_0,z_0$ — координаты опорной точки (долгота, широта, глубина), $\alpha$ и $e$ — горизонтальный и вертикальный углы прихода сигнала соответственно, $z_s$ — вертикальная координата (глубина, расстояние от поверхности воды) позиционируемого объекта, а $t_F$ — время распространения сигнала между опорной точкой и позиционируемым объектом.

    Как было показано выше, время распространения может в каждом из двух типов определятся по трем общим принципам:

    • a) по методу «запрос-ответ»:
      $t_F=(t_A-t_R-t_d)/2$
    • b) предварительная ласка синхронизация:
      $t_F=(t_A-t_S)mod(t_p)$ или
      $t_F=t_{psyn}+t_Amod(t_p)-t_{syn}$
    • c) полуакустический:
      $t_F=t_A-t_R-t_d$

    Отметим, что углы $\alpha$ и $e$ для простоты исчисляются в глобальной системе координат (т.е. отсчитываются от истинного направления на север по часовой стрелке и от горизонтали вниз соответственно).

    Я долго сомневался, стоит ли добавлять в статью большие формулы. В конечном счете, те, кто просто испытывают праздное любопытство могут не открывать спойлер, а какой-нибудь студент, которому это реально поможет — будет спасен. Никакой лишний абзац не стоит слезинки студента!

    В целом, задача определения углов прихода сигнала может быть формализована следующим образом:

    не очень большая формула

    $argmin\epsilon(\alpha,e)=\sum_{\begin{matrix} i,j=1\\ i\neq j \end{matrix}}^{N}\left [(x_i-x_j)\cos e\cos\alpha+(y_i-y_j)\cos e\sin\alpha+(z_i-z_j)\sin e-(t_i-t_j)\nu \right ]^2$



    Где $x_i,y_i,z_i,x_j,y_j,z_j$ — координаты опорных элементов в паре, $t_i$ и $t_j$ — времена прихода сигнала на i-ый и j-ый элемент соответственно, а $\nu$ — скорость распространения сигнала (в нашем случае — скорость звука).

    Навигационная задача в таких системах решается в два этапа:

    1. Определение проекции $r_p$ наклонной дальности r на поверхность воды (дальность в плане);
    2. Решение прямой геодезической задачи — нахождения положения искомой точки по дирекционному углу и дистанции; а именно $\lambda_s,\phi_s,z_s$;

    Для типа I определение проекции $r_p$ наклонной дальности и глубина $z_s$ искомого объекта определяются из тривиальных тригонометрических соотношений:

    $\begin{matrix} r_p=r*\cos e\\ z_s=r*\sin e \end{matrix}$


    Где r определяется еще более тривиально из времени распространения $t_F$ и скорости звука $\nu$;
    Определение положения искомого объекта — координаты $\lambda_s,\phi_s$ получаются как решение прямой геодезической задачи на эллипсоиде.

    Вычислительно эффективные решения, обеспечивающие максимальную точность известны из работ Содано[3] и Винценти[4], и в простонародье так и именуются «Формулы Винценти». Здесь для проформы простоты приведу простое решение для сферы, дающее расхождение на дистанция в единицы километров, не превышающее 0.5 метра:

    $\begin{matrix} \phi_s=\arcsin(\sin\phi_1*\cos\delta+\cos\phi_1*\sin\delta*\cos\alpha)\\ \lambda_s=\lambda_1+\arctan(\frac{\sin\alpha*\sin\delta*\cos\phi_1}{\cos\delta-\sin\phi_1*\sin\phi_s}) \end{matrix}$


    Где $\delta=r_p/R_E$, а $R_E$ — стандартное значение земного радиуса[5].

    В приведенной зависимости все значения углов в радианах. Для перевода долготы $\lambda_s$ искомого объекта в привычную форму ±0..180° следует воспользоваться простой формулой:

    $\lambda_s=(540+\lambda_s*180/\pi)mod360-180$


    В качестве примеров систем, работающих по типу Ia можно привести эту и вот эту.
    Систем, работающих по типу IIa — наша Zima и TriTech MicronNav. При этом говорят, что MicronNav также может работать в режиме как система типа IIc.

    В качестве систем, работающих по типу IIb можно привести наш водолазный привод Vostok, а также в [1,2] сообщается об использовании миниатюрных атомных часов для обеспечения длительной синхронизации в системах фирмы EvoLogics.de.

    Дальномерные системы


    Дальномерные системы можно разделить на два типа систем, разница между которыми состоит в наличии информации о вертикальной координате искомого объекта или в ее отсутствии.

    • Тип I: $\{x_1..x_n\}, \{y_1..y_n\},\{z_1..z_n\},\{t_{F1}..t_{Fn}\}$
    • Тип II: $\{x_1..x_n\}, \{y_1..y_n\},\{z_1..z_n\},z_s,\{t_{F1}..t_{Fn}\}$

    Где n — число опорных точек, минимальное значение для n=3, $\{x_1..x_n\}, \{y_1..y_n\},\{z_1..z_n\}$ — координаты опорных точек; $\{t_{F1}..t_{Fn}\}$ — времена распространения сигнала между искомым объектом и опорными точками; $z_s$ — глубина искомого объекта.

    Часто данный тип задач неверно именуют TOA (англ. Time-of-arrival — время прихода), что более подходит для задач, решаемых в разностно-дальномерных системах TDOA (англ. Time-Difference-On-Arrival — разность времен прихода), в то время как более правильное наименование TOF (англ. Time-of-flight — время следования, время распространения).

    Для обоих типов систем имеют место четыре способа измерения времен распространения:

    • a) по методу «запрос-ответ»:
      $t_{Fi}=(t_{Ai}-t_{Ri}-t_d)/2$
    • b) по предварительной синхронизации:
      $t_{Fi}=(t_{Ai}-t_s)mod(t_p)$
    • с) «полуакустический»:
      $t_{Fi}=t_{Ai}-t_R-t_d$
    • d) С распределенным приемником:
      $t_{Fi}=(t_{Ai}-t_{Ri}-t_d)/2$
      $t_A=t_{R1}+t_{F1}$
      $t_R=t_A+t_d$
      $t_{Fi}=t_{Ai}-t_R$

    Очевидно, что надежности таких систем теоретически хуже, чем у угломерных, особенно в условиях сложного гидроакустического канала — такой системе для выработки одного решения требуется осуществить как минимум 3 успешных приема сигнала.

    Системы, определяющие время распространения сигнала по методу a) наименее эффективны — каждая опорная точка должна измерить расстояние до искомого объекта по методу запрос-ответ (или наоборот, искомый объект поочередно запрашивает опорные точки).

    Практическое применение таких систем ограничено из-за большого периода обновления координат и низкой энергоэффективности, но может быть эффективно применено в системах с виртуальной длинной базой. Как например, в нашем демо-проекте, где мы определяли местоположение одного из наших микромодемов плавая на приманочной лодочке с другим таким модемом.
    Первый проект описан в одной из наших предыдущих статей. Там модем, GNSS модуль и радиомодуль объединялись при помощи платы на STM32.

    В новой реинкарнации этого проекта код переписан на Arduino UNO, а решение навигационной задачи выполняется в приложении с открытым кодом.

    Системы, работающие по методам b) и с) более эффективны и имеют лишь недостатки присущи системам с предварительной синхронизацией (b) — расхождение часов со временем и c инициированием по кабелю (с) — необходимость электрической или оптической связи (ограничения, связанные с наличием кабеля).

    Системы с распределенным приемником, работающие по методу d) наиболее эффективны с энергетической точки зрения и имеют наибольшие перспективы.

    Работа их происходит следующим образом:

    • в заданный момент времени выбирается ведущая опорная точка, которая запрашивает искомый объект в момент времени $t_{R1}$, при этом часы всех опорных точек синхронизированы (электрически или по радиосигналу, например по GNSS);
    • и ведущая и ведомые опорные точки определяют времена $t_{Ri}$ прихода ответного сигнала позиционируемого объекта;
    • время распространения $t_{F1}$ между позиционируемым объектом и ведущей опорной точкой определяется по известной формуле, а по известному времени распространения определяется момент $t_R$ излучения ответного сигнала, по которому затем определяются времена $t_{Fi}$ распространения ответного сигнала до ведомых опорных точек.

    Данная схема может быть использована для построения систем позиционирования, и имеет перспективы построения системы для теоретически неограниченной площади (настоящий подводный GPS без всяких оговорок!), путем оптимального выбора ведущей опорной точки (например, ближайшей к предыдущему вычисленному положению позиционируемого объекта).

    В реальных дальномерных системах решение навигационной задачи может быть выполнено только оптимизационными методами. Как правило, применяется метод наибеднейших предков наименьших квадратов в какой-либо вариации.

    Сама же задача может быть формализована следующим образом:

    $argmin\epsilon(x,y,z)=\sum_{i=1}^{N}[\sqrt{(x-x_i)^2+(y-y_i)^2+(z-z_i)^2)}-r_i]^2$


    Где $\epsilon(x,y,z)$ — значение функции невязки для некоей точки с координатами $(x,y,z)$; N — число опорных точек, имеющих координаты $(x_i,y_i,z_i)$, $r_i$ — измеренные расстояния от опорных точек до позиционируемого объекта.

    Устойчивость решения сильно зависит от начального приближения и в целом значительно более стабильна в системах типа II, в виду того, что при известной вертикальной координате позиционируемого объекта задача переводится в плоскую. Фактически, на сегодняшний день, системы построенные по типу I, в подводной навигации не применяются в виду низкой надежности и точности.

    На данный момент сложно привести пример чисто дальномерной системы, многие содержат в себе дальномерный метод как один из режимов (например эта). Производство, установка и использование систем на донной базе, как правило под силу лишь крупным производителям, приведу в качестве примеров наряду с уже упомянутой, системы эту, эту, вот эту и ту.
    Из-за недостаточности информации сложно однозначно отнести какую-либо из упомянутых систем к одному из типов, с большой вероятностью все они в дальномерном режиме работают по типу IIа и, возможно IId. В [1] и [2] сообщается, что системы производителя EvoLogics работают по типу IId (с атомными часами).

    Система Waterlinked GPS согласно заявлениям производителя представляет собой типичную короткобазисную систему, хотя, однако, нет точных данных работает ли она как угломерная система с полуакустическим измерением времени распространения, или функционирует как дальномерная, по типу IIc.

    Разностно-дальномерные системы


    Данный вид систем с точки зрения измеряемых параметров подобен дальномерным системам, с тем лишь отличием, что вместо времени распространения сигнала $t_F$ используются времена прихода сигнала $t_A$.

    Придерживаясь принятой схемы, формализуем списки измеряемых параметров:

    • Тип I: $\{x_1..x_n\},\{y_1..y_n\},\{z_1..z_n\},\{t_{A1}..t_{An}\}$
    • Тип II: $\{x_1..x_n\},\{y_1..y_n\},\{z_1..z_n\},z_s,\{t_{A1}..t_{An}\}$

    Где n — число опорных точек, минимальное значение для n=3, $\{x_1..x_n\},\{y_1..y_n\},\{z_1..z_n\}$ — координаты опорных точек; $\{t_{A1}..t_{An}\}$ — времена прихода сигнала или от опорных точек на позиционирующийся объект (навигационные системы), или времена прихода сигнала от позиционируемого объекта на опорные точки (системы позиционирования).

    Для разностно-дальномерных систем, в отличие от дальномерных нет такого многообразия подвидов, обусловленных разными способами измерения времени распространения. Вместо этого есть два основных способа построения цикла работы системы:

    • a) синхронный, когда опорные точки имеют синхронизированные часы;
    • b) с активной базой и ведущей опорной точкой. В этом случае цикл начинает ведущая опорная точка, а ведомые по цепочке излучают сигнал после принятия сигнала от предыдущей (по такой схеме работали, например, гиперболические системы радионавигации DECA, LORAN-C и Советская Чайка);

    В системах, работающих по разностно-дальномерному принципу изначально использовался т.н. гиперболический режим, т.е. решение определялось как пересечение гипербол (или гиперболоидов), есть примерно стотыщмильенов работ по этой теме, которые усидчивый читатель без проблем найдет самостоятельно.

    По аналогии с дальномерным методом,

    формализуем оптимизационную задачу для разностно-дальномерного метода:

    $argmin\epsilon(x,y,z)=\sum_{i=1,j=2,i\neq j}^{N}[\sqrt{(x-x_i)^2+(y-y_i)^2+(z-z_i)^2)}-\sqrt{(x-x_j)^2+(y-y_j)^2+(z-z_j)^2)}-\nu(t_{Ai}-t_{Aj})]^2$



    На сегодняшний день сложно привести пример реально применяемых систем, работающих по типу I, кроме уже упомянутых устаревших LORAN-C и Чайки (тип Iб, не являющихся гидроакустическими, и глобальных систем позиционирования — GPS, GLONASS, Galileo, Beidou (тип Ia).

    Напротив, систем, работающих по типу IIa достаточно много, например коммерческие, серийно выпускаемые наша RedWAVE, GIB SAR и EvoLogics, а так же более ранние, чисто исследовательские проекты[48].

    Наиважнейшее преимущество разностно-дальномерных систем — возможность осуществления навигации неограниченного количества позиционирующихся объектов в случае с активной базой — по принципу GNSS, что, например, успешно реализовано в нашей RedWAVE.

    Другое серьезное преимущество — возможность применения только приемной или только передающей базы, что, однако, можно сказать и о дальномерных системах с предварительной синхронизацией.

    Как и дальномерные системы, разностно-дальномерные еще в большей степени чувствительны к работе вне навигационной базы. Функция невязки за пределами базы представляется собой уходящую на бесконечность пологую канаву, и найти там минимум вообще не проблема — его там можно найти практически в любой точке.

    Говорят, на себе не показывают, но я не суеверный. Вот трек полученный пользователями нашей разностно-дальномерной навигационной системы RedWAVE c не самой удачной расстановкой буев (базовых, опорных точек) и очень неприветливой гидрологией:



    На карте очень хорошо видно, что серьезные выбросы происходят исключительно вне фигуры, образуемой опорными точками (буями).

    По месту выработки решения


    Важным классификационным критерием являет место выработки координат, который зачастую является определяющим при решении о применении той или иной системы. Как правило, навигационные данные — данные о местоположении в первую очередь требуются там, где принимаются решения о дальнейших действиях.

    Системы позиционирования. Следящие системы. Трекиниг


    Данный вид систем позволяет осуществлять слежение за подводным объектом. Наиболее востребованы такие системы при работе с телеуправляемыми необитаемыми подводными аппаратами (ТНПА), которые управляются по кабелю операторами с надводного поста (берега, судна и т.п.). Т.е. место принятия решений находится не на позиционируемом объекте.

    Удобство тут состоит и в том, что например, пингер или маяк-ответчик может выполняется автономным и не требует информационного и/или энергетического сопряжения с носителем (ТНПА), что, несомненно, упрощает интеграцию.

    На втором месте по востребованности следящих систем — задача трекинга водолазов, которая возникает при необходимости контроля их передвижения, а при наличии голосовой связи — и координирования их действий.

    В этой связи испытваем особую гордость, так как наша водолазная телефония совмещает голосовую связь и позиционирование — если в районе водолазных работ расставить небольшие приемные буйки, то после каждого отпускания кнопки PTT (Push to talk) — водолазный прибор излучит навигационный сигнал, по которому будет определено его географическое местоположение. К слову, это разностно-дальномерная система позиционирования, если придерживаться нашей классификации.

    Применение систем позиционирования ограничено для автономных необитаемых подводных аппаратов, в основном в виду того, что АНПА содержат, как правило, логику принятия решений и самостоятельно осуществляют навигацию, если, однако, не реализован канал беспроводного телеуправления. То есть для АНПА в целом более актуальны именно навигационные системы:

    Навигационные системы


    В навигационных системах информация о местоположении позиционирующегося объекта вырабатывается на самом объекте. В основном это применимо для некоторых водолазных задач, несомненно применимо в большей степени для АНПА и ограниченно применимо для ТНПА, когда при достаточной прямых руках производителя роботов степени интеграции навигационной системы есть возможность организовать передачу навигационных данных по кабелю на пункт управления ТНПА.

    Например, последний вариант является безальтернативным при необходимости одновременной работы нескольких ТНПА в одной акватории.

    В качестве примеров коммерчески доступных подводных гидроакустических навигационных систем можно привести, наши RedWAVE и систему привода водолазов Vostok, а также режим т.н. silent LBL (англ. «тихая» ДБ) в системе EvoLogics.

    Способы синтеза


    В некоторых задачах требуется одновременно иметь информацию о местоположении как на позиционирующемся объекте, так и на пункте управления. В качестве примера приведем управление стаей АНПА, как минимум на подходе к месту базирования, а также некоторые работы, решаемые при помощи водолазов.

    Синтез навигационных систем и систем позиционирования может происходит по двум сценариям:

    1) Акторы осуществляют взаимное позиционирование;

    2) Решение, полученное в одном месте передается затем, в другое место при помощи электрического, оптического или гидроакустического каналов;

    Второй сценарий технически наиболее просто реализуем и требует в целом более простого набора оборудования. Единственное серьезное ограничение состоит в необходимости временного разделения навигационной транзакции и передачи навигационных данных при использовании гидроакустического канала, а в случае применения другого типа канала — возникают ограничения связанные с наличием кабеля.

    При работе по первому сценарию взаимное позиционирование может осуществляться, например, с помощью двух пленгационных антенн, когда дистанция измеряется по одному из описанных способов — «запрос-ответ», полуакустический или по предварительной синхронизации (УКБ + УКБ).
    Другой способ — синтез систем с разной базой, например УКБ + КБ, КБ + ДБ, УКБ + ДБ, КБ + КБ.

    Как правило, при использовании ДБ систем с донной базой, предварительное уточнение местоположения донных станций обеспечивается или при помощи надводной пеленгационной антенны (ДБ+УКБ), при помощи КБ системы, расположенной на судне (ДБ+КБ) или методом виртуальной ДБ (ДБ+вДБ).

    Еще один вариант синтеза — системы с изменяемой схемой работы. В качестве примера можно привести задачу привода и парковки (в т.ч. и автоматической) подводного аппарата. В режиме привода, распределенный массив приемопередатчиков, смонтированный на донной парковочной системе может работать в угломерно-дальномерном режиме, как т.н. обратная УКБ. В этом случае подводный аппарат принимает сигналы от всех элементов измерительной базы и по задержкам определяет угол прихода сигналов. При подходе на близкое расстояние система может работать уже по дальномерной и/или разностно-дальномерной схеме, обеспечивая при этом максимальную точность, требуемую в режиме парковки внутри донной парковочной системы.

    Прототип такой системы мы как раз испытывали пару недель назад в нашем пруду, было это как-то так:


    Получили ворох данных, которые еще предстоит качественно обработать.

    И наш бонус!


    В качестве презента предлагаю для глубоко интересующихся живой код, который можно использовать для реализации навигационных систем и систем позиционирования. Проект полностью некоммерческий и начат нами исключительно в образовательных целях.

    Живет он по адресу: https://github.com/ucnl/UCNLNav и недавно курьезным образом почти стал героем мема:



    В свое оправдание хочется сказать, что тяжело конкурировать с околовеб, мобильной разработкой и прочими модными штуками, поэтом я так «агрессивно» попросил звездочек. Но, шрапнель — не говно, выше голову, корнет! звездочки — не рубли, и больше звездочек — больше вовлеченных, большей тестирования — большей найденных ошибок, нет дворца — нет дворца.

    Сейчас есть:
    полная реализация задуманного на C#
    — реализация (постоянно дописываемая) основного функционала на Rust

    Каждый программист на С
    … может написать программу на С на любом языке программирования. Rust я только взял в руки, поэтому спецов просьба не возбуждаться. Для меня это разведка боем.

    Что умеет библиотека:

    • Конвертировать из локальной системы координат в географическую и обратно;
    • Решать прямую и обратную геодезические задачи на сфере и эллипсоиде (Vincenty equation)

    И самое полезное:

    • Решать навигационные задачи TOA (определение положения искомой точки по известным и расстояниям до нее) как в 2D (с известной координатой Z), так и в 3D.
    • Решать навигационные задачи TDOA (определение положения искомой точки по разностям расстояний.
    • Решать навигационную задачу методом VLBL (Виртуальная длинная база).

    P.S.


    Традиционно хочу напомнить, что очень важно быть уверенным в том, что делаешь что-то полезное, поэтому, если читателям интересно, я напишу статью, посвещенную применению библиотеки — дайте мне знать голосованием.

    Надеюсь, лонгрид вышел не очень тяжелым для чтения, ну, или хотя бы подъемным.

    P.P.S.


    Буду рад выслушать конструктивную критику, пожелания и предложения.

    Обнаруженные ошибки, опечатки и неточности в статьях (неЧеловеческое спасибо всем, кто сразу докладывает о найденных ошибках и опечатках!).

    Список дополнительных источников
    1. Kebkal, K.G. & Kebkal, Oleksiy & Glushko, Ievgenii & Kebkal, Veronika & Sebastiao, Luis & Pascoal, Antonio & Gomes, Joao & Ribeiro, Jorge & H, Silva & Ribeiro, Miguel. (2017). Underwater Acoustic Modems with Integrated Atomic Clocks for One-Way Travel-Time Underwater Vehicle Positioning. Conference: UACE2017 4th Underwater Acoustics Conference and Exhibition, At Skiathos, Greece
    2. R. Lutwak, et. al., “The Chip-Scale Atomic Clock – Coherent Population Trapping vs. Conventional Interrogation”, Proceedings of the 34th Annual Precise Time and Time Interval (PTTI) Systems and Applications Meeting, December 3-5, 2002, Reston, VA, pp. 539-550.
    3. Sodano E.M. 1965. General non‐iterative solution of the inverse and direct geodetic problems. Bulletin Géodésique 75: 69‐89.
    4. Vincenty, T. Direct and inverse solutions of geodesics on the ellipsoid with application of nested equations. Survey review XXII, vol. 176, Apr. 1975
    5. Mamajek, E. E; Prsa, A; Torres, G; et al. (2015). «IAU 2015 Resolution B3 on Recommended Nominal Conversion Constants for Selected Solar and Planetary Properties»
    6. Alcocer,A., Oliveira,P., and Pascoal,A. (2006). Underwater acoustic positioning system based on buoys with GPS. Proc. 8th European Conf. on Underwater Acoustics, Carvoeiro, Portugal.

    Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

    Нужна ли статья по библиотеке навигационных алгоритмов?

    • 4,2%Нет, это пустая трата времени1
    • 95,8%Давай!23

    Средняя зарплата в IT

    120 000 ₽/мес.
    Средняя зарплата по всем IT-специализациям на основании 5 897 анкет, за 1-ое пол. 2021 года Узнать свою зарплату
    Реклама
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее

    Комментарии 2

      +1
      Интересно.
        +2
        Приветствую вас, глубокоуважаемые!
        Долго улыбался от названия, не в бровь, а в глаз )))

        (added)
        Ой, не сразу понял, что это уже сложившееся приветствие ))

        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

        Самое читаемое