с подкидным дураком и пьяными соседками
«Вот пока вы тут сидите, там, на Аляске,
ионы атомов сливаются и образуют плазмоиды!» (С) Неизвестный
В последние несколько лет то и дело появляются публикации, пресс-релизы и даже стартапы на тему навигации под водой. Дело в том, что задача подводной навигации до сих пор не решена так же удобно, как над водой: сигналы GNSS под воду не проникают, а существующие инерциальные системы либо недостаточно для этого точны, либо чрезмерно дороги.
Я хочу рассказать, как мы втроем и за один год сделали подводный GPS с нуля.
В общем, давно уже назрела потребность в простой системе подводного позиционирования. Нет, я вовсе не хочу сказать, что систем подводного позиционирования не существует, напротив, их просто пруд пруди: от супер серьезных HiPAP (норвежской фирмы Kongsberg) и GAPS (французской IXBLUE), целой линейки систем от немецкой EvoLogics.de, американской Teledyne, английской Sonardyne, до относительно простых Tritech MicronNAV, израильской UDI (одна из очень немногих систем, которую могут использовать водолазы). Чтобы вы представляли, одна из самых простых систем позиционирования MicronNAV стоит в среднем 18000 евро, и предназначена для работы с ТНПА, на дистанциях всего лишь до 500 метров. А израильский UDI- который изначально разработан только для водолазов, больше решает задачу передачи кодовых сообщений (до 14 предустановленных сообщений) и очень простые функции навигации – единственной возможностью которой является обеспечение выхода водолаза к маяку (просто выход на маяк — без географических координат, без возможности выхода в произвольную точку акватории и т.п.).
Читатель наверняка уже заметил, что в списке нет ни одного российского производителя. Все верно, его нет в списке ввиду того, что в настоящее время ни одна российская компания не производит устройств подводной навигации, которые можно приобрести и успешно применять – и это несмотря на то, что навигационная задача – очень актуальна для проведения абсолютного большинства водолазных работ!
Водолазу под водой непросто – среда недружелюбна, количество воздуха в баллонах ограничено, очень часто плохая видимость, не дальше вытянутой руки, да ещё и водяной столб давит. Любой водолаз вам скажет, что глубина ошибок не прощает, и верно говорят, что проще запустить людей в космос, чем отправить на подводном аппарате на шесть тысяч метров глубины.
Взгляните на список производителей подводных аппаратов, которых больше, чем известных мне автомобильных брендов. Можно, однако, порадоваться, что в этом списке есть один отечественный производитель, пусть и выпускающий только малые аппараты осмотрового класса.
Но даже опуская на глубину подводный аппарат – мы не решаем основной проблемы:
Можно получить с аппарата видео в реальном времени и в HD качестве, но почти всегда очень непросто понять, где конкретно находится аппарат под водой, где находится всё то, что вы в роскошном качестве увидели на мониторе. И это мы не говорим о том, что дорогостоящий аппарат, ввиду отсутствия понимания, где он находится, можно разбить о судно при всплытии.
Почему же навигационная задача под водой столь непросто решается?
Радиоволны исключаем, свет в реальных мутных водоёмах далеко не распространяется – остаётся звук.
Желающие могут ознакомиться с замечательной статьей, в которой хорошо описаны основные проблемы распространения звука в воде.
Множество различных компаний, индивидуальных разработчиков и прочие творческие коллективы пытаются решить эту задачу. Какие-то из предлагаемых решений очевидно не имеют никакого отношения к реальности, например тот же Navimate — обещают аж с 2009 года, пока что ничего, кроме рендеров. Cпециалисты уже сплясали на их костях, но на разных дайверских форумах этот «стартап» то и дело всплывает.
Есть еще интересный концепт — инерциальная навигационная система, внимательно за ними следим, но пока дальше распечатанного на 3D-принтере прототипа, лежащего на столе дело не двинулось. И еще пару клонов NaviMate — Концепт №1 и Концепт №2.
Физика одна для всех, и можно очень подробно расписать, почему на сегодняшний день нельзя сделать систему с теми характеристиками и в форм-факторе, которые заявляют уважаемые «стартаперы», но сейчас не об этом.
Есть еще много систем с GPS-антенной на кабеле с поплавком, например — один и еще один но давайте будем честны – это не «подводная навигация», да и ходить под водой с поплавком на верёвочке – далеко не всегда возможно.
Тема подводного GPS не оставляет равнодушными и ребят из DARPA — но пока, кроме красивых картинок нам ничего не показывают.
«Ну и? » — топнет по в сердцах по водной глади ногой читатель. Видимо эта задача сродни квантовой телепортации человека или (ну как минимум!) отправке того же самого человека на Марс консервативными способами (на большой ракете).:
Хочется шепотом добавить, как гениальный Этуш в «Иван Васильевич меняет профессию»: «Я не пьющий!»
Читатель, пойми меня правильно — я не ищу рекламы, подводная навигация вещь очень специфическая, и все, кому она нужна, мне и так известны.
Я просто хочу чтобы ты порадовался, что это сделали мы, это отечественная разработка — от начала и до конца.
Я хочу, чтобы ты не думал о «ржавых ракетах», а что если сильно постараться, то можно многое сделать.
А теперь я крупными мазками набросаю, как все это происходило.
Итак, кратко о том, какие типы навигационных систем бывают, об их плюсах и минусах:
Системы делятся по т.н. относительной длине измерительной базы. Длина оценивается относительно размеров траектории позиционируемого объекта.
— Ультракороткобазисная (УКБ, USBL — ultrashort base-line). По сути это позиционирование на основе определения направления на источник сигнала. Система в общем случае состоит из пеленгационной антенны и маяка-ответчика. Антенна посылает запросный сигнал, маяк отвечает на него, по оценке времени распространения сигнала вычисляется наклонная дальность, антенна определяет направление прихода сигнала — вертикальный и горизонтальный углы, и таким образом определяет местоположение маяка-ответчика относительно себя. Среди минусов таких систем — жесткие требования к геометрии антенны, необходимость учета ее положения в погруженном состоянии — влияние качки, если антенна опускается на кабеле — ее крутит, антенна наклоняется, на нее требуется устанавливать магнитный компас. Плюс ко всему — маяк должен обладать хорошей энергетикой, в случае использования нескольких маяков — их опрос производится последовательно. Это не сильно похоже на GPS, но на этих принципах работают наши с вами уши.
— Короткобазисная (КБ, SBL — short base-line). Если элементы пеленгационной антенны разнести подальше друг от друга, например, повесить по бортам судна — получится короткобазисная система. Поскольку расстояния между преобразователями значительны, можно уже аккуратно попробовать непосредственно решать задачу определения местоположения источника сигнала. На самом деле элементы такой разнесенной антенны могут быть источником сигнала, а прием можно осуществлять на маяке, в этом случае координата будет вычисляться на позиционируемом объекте. Это уже очень близко по сути к GPS — при такой организации системы маяки могут быть полностью акустически пассивными, теперь они становятся навигационными приемниками, как и GPS/ГЛОНАСС приёмники. Однако размер измерительной базы в этом случае оказывается недостаточным для получения приемлемой точности — здесь можно провести параллель с измерением параллакса в астрономии — измерительная база в данном случае имеет размеры диаметра орбиты земли, и чем дальше находится звезда, до которой измеряется расстояние, тем менее заметно ее смещение.
— Длиннобазисная (ДБ, LBL — Long base-line). Фактически, это та же самая короткобазисная система, но ее элементы располагаются независимо друг от друга на дне, или устанавливаются на плавучие платформы. В данном случае все как бы совсем хорошо — размеры измерительной базы достаточны, сами по себе базовые станции (элементы навигационной измерительной базы) функционально похожи на спутники GPS/GLONASS.
Минусы такой системы состоят в неудобстве ее развертывания, а в случае с донной базой — сначала нужно точно определить координаты этих донных станций — и вот мы там же, откуда и начали.
Но, как говорил один из знакомых моряков: «Делай хорошо — плохо само получится».
Если мы собираемся делать подводный GPS, то пусть он и будет максимально похож на GPS, знаете, миллионы машин и людей со смартфонами ходят по земле, в большинстве случаев попадают туда, куда им надо и никто не измеряет расстояние до спутников GNSS методом запрос-ответ, спутники тоже заняты просто излучением без затей с приёмом обратного сигнала, и все в общем хорошо — все довольны.
Каков требуемый функционал такой системы? Он весьма бесхитростен — нужно знать где ты находишься относительно каких-либо заранее заданных ориентиров — точек интереса (POI — point of interest), хочется иметь свой трек, записанный в погруженном состоянии для разбора полетов постфактум, неплохо было бы, увидев что-то интересное на дне — пометить точку, к которой в последствии можно было бы вернуться. Чего такого фундаментального нужно, чтобы это стало возможным? Всего-навсего — знать свои абсолютные географические координаты в погруженном положении. Умея это, все остальные задачи переходят в разряд тривиальных.
На самом раннем этапе, когда наша система находилась в форме «набросков на салфетках», мы остановились на схеме LBL.
В нашей системе требуется ровно четыре «спутника» — буя, оснащенных GPS/GLONASSприемниками для определения собственных координат и дальнейшей передачи этих координат неограниченному числу навигационных приёмников. При этом неограниченное (Как у взрослых! Как в настоящем GPS!) число приемников, смогут по полученным данным определять собственное местоположение – но не относительно буёв, как в SBL, а в географических координатах!
Если коротко, система состоит из четырёх плавучих буев-ретрансляторов GNSS-сигнала и любого числа подводных навигационных приемников;
Навигационный приемник в нашей системе акустически пассивен — он никогда не излучает (только так можно обеспечить работу неограниченного числа акустических приемников в одной акватории), приемник «слушает» буи, принимает их сообщения и решает задачу нахождения собственного положения на основе географических координат буев. К географическим координатам добавляем расчёт глубины – и вуаля, мы точно знаем, где в воде находится наш навигатор!
Впервые система была представлена на МВМС-2015 (Международный военно-морской салон), традиционно проходящем в ЛЕНЭКСПО в Санкт-Петербурге. Система вызвала бурный интерес у «подводной» публики; После этого ещё были многочисленные поездки на различные водоёмы нашей необъятной родины. В каждой поездке мы собирали фактический материал, на основе которого совершенствовали как «железную» составляющую системы, так и алгоритмы.
Теперь давайте посмотрим, как всё это работает.
Навигационный приёмник водолаза
Навигационный приёмник, работая с географическими координатами, для водолаза выводит на экран расчётные азимут и дистанцию до выбранной точки назначения – заданной перед погружением, сохранённой уже в ходе погружения, либо на один из четырёх буёв-ретрансляторов.
Соответственно, мы должны оснастить приёмник компасом, чтобы водолаз имел возможность двигаться по указанному прибором азимуту. Однако товарищи водолазы раскритиковали нас за использование электронного компаса – устройство оказалось весьма капризным, требующим частой калибровки и неточным. В итоге в первой же версии устройства от электронного компаса мы отказались; профессиональные водолазы всегда погружаются с механическим компасом, проблема движения по азимуту была решена.
На картинке изображён один из вариантов – навигационный приёмник закреплён на водолазной панели с механическим компасом:
А вот как выглядел навигационный приёмник первой версии:
Работал он не очень – были проблемы с надёжностью приёма (маленькая антенна, установленная на самом приборе), в итоге достаточно быстро появилась версия 2, которая изображена на первом рисунке.
Изначально было два разных решения: для роботов (ТНПА/АНПА) и для человека. Вариант для робота представляет собой цилиндр на кабеле, залитый в полиуретан. Вся электроника навигатора находится внутри приёмной антенны, на это компоновочное решение мы получили наш первый патент. И вот с ним как раз все было в порядке — этот вариант работал как и планировалось. Вот он, жёлтенький, на фотографии:
С водолазным вариантом же постоянно были проблемы — меньшая чувствительность, бОльшие ошибки, пропадание приема. Мы провели кучу проверок, моделирований, экспериментов и пришли к выводу, что в большей степени на такое положение дел влияет расположение — маленькое пьезокольцо водолазного приемника (черный цилиндр на корпусе навигатора) часто затеняется водолазом.
В конце концов приняли решение скрестить два устройства — приемом занимается навигатор робота, раз у него так это хорошо получается. Приёмник этот мы выносим либо на баллон (на спину водолаза), либо на плечо, либо закрепляем на водолазной панели. От старого навигатора остаётся только «показометр» — интерфейсная часть в виде отдельного блока, который может крепиться, как на панель, так и на руку. По результатам реальной эксплуатации переписали и интерфейс – убрали лишние детали, важные параметры сделали крупнее.
Вот так это выглядит в руках настоящего водолаза:
Навигационные буи
Теперь поговорим о навигационных буях, которые обеспечивают всё это подводное благолепие. Как уже говорилось выше, навигационный буй представляет собой штуку, которая получает сигнал GNSS, и ретранслирует его в воду.
Первая версия буёв выглядела так:
Практика использования позволила выявить ряд досадных недостатков, самый неприятный из которых был связан с частым «затеканием» буя.
Затекания–это прерванные испытания и работы, недовольные пользователи, вот это вот всё.
Быстро выяснилось, что буи банально затекали через китайские GNSS-антенны (такая «мигалка» на крышке). Антенна ввинчивалась в крышку буя, но затекала не через места прилегания (мы не жалели герметика и резины), а через собственный корпус. Плюнув на все, решили сделать свою антенну и спрятать ее под крышкой буя, исключив из конструкции лишние места протечек. На рисунке ниже как раз новый комплект буев в родном, специально изготовленном для них кейсе:
Вот эта выпуклость на крышке — там теперь живет плата GNSS-приемника. До кучи добавили вторую лампочку и расположили их обе так, чтобы они светили почти в горизонтальной плоскости –предыдущий вариант расположения было не очень хорошо видно с воды.
Но самые главные изменения касались внутреннего софта. Всю эволюцию качества навигационных данных я покажу на серии следующих рисунков.
Вот результаты одних из первых серьёзных испытаний на Белом море в 2015 году. Буи и приемник «в статике», настоящее Белое море, непростые условия — мелководье и сильная многолучевость:
Ещё один скриншот с нашего технологического ПО. То же самое Белое море. Идём на вёслах, опустив приемник на кабеле.
А вот апрель 2016 года, Волгоградское водохранилище. Трек выгружен с водолазного приемника, тогда ещё первой версии. Средний дребезг (ширина трека) — порядка 1.5-2 метров:
С самого начала у нас открытый протокол сопряжения и выгрузка трека в KML, GPX и CSV. Водолазные устройства имеют беспроводную зарядку и сопрягаются с ПК по Bluetooth. После выгрузки трек можно импортировать в GoogleEarth или SAS.Planet. Впоследствии мы сделали эмуляцию GNSS-приемника, так, что теперь навигационный приёмник робота (он называется у нас RedNODE) подключать непосредственно к ПК cSAS.Planet и использовать все его удобства- оффлайн карты, возможность выбора любой подложки, рисование трека в реальном времени и т.п.
А вот водолаз, который помогал нам в апреле 2016 на Волгоградском водохранилище:
Обратите внимание, у него на руке закреплён навигатор (жёлтый), а на баллоне висит второй (чёрный). Трек с водохранилища, показанный выше, был выгружен с чёрного навигатора, того, что был установлен на баллоне. Трек с наручного навигатора получился очень плохой, с большим количеством пропусков. Именно после этого погружения мы окончательно решили выносить акустический приёмник так, чтобы он не экранировался дайвером.
Октябрь 2016, устье реки Пичуга, Волгоградское водохранилище. Одновременная запись трека с двух устройств RedNODE (навигатор робота)и RedNAV (навигатор водолаза).
Видим два трека, записанные с одной лодки при помощи двух устройств – RedNODE (навигатор робота)и RedNAV (навигатор водолаза; оба опускались на веревке с борта резиновой лодки). Тестировалась работа устройств вне навигационной базы (вне фигуры буев). Трек RedNODE (фиолетовый) писался прямо при помощи SAS.Planet, трек водолазного приемника был выгружен пост-фактум и наложен поверх. В точке «Waypoint 1» водолазный приемник был вытащен из воды, а RedNODEмы держали в воде до самого берега, о чем свидетельствует сам трек. И даже есть фото:
(Картина «Выгуливание карася». Масло, холст. р. Пичуга, октябрь 2016)
В тот момент мы были очень удивлены тому, что устройство работает у самого берега — это крайне тяжелые гидрологические условия, плюс ко всему — работа вне навигационной базы.
А вот и результаты, полученные на последней (на сегодняшний день) версии прошивки и «железа». Трек движения водолаза, ноябрь 2016, канал им. Москвы в районе ст. Метро «Водный стадион» (Москва):
Хочу обратить внимание на то, насколько облегчается работа водолаза. Перед водолазом была поставлена следующая задача: погрузиться, выйти на один из буев, от него выйти на другой буй и вернуться обратно – по навигатору.
Условия погружения — мутная вода, видимость не более 1 метра. Водолаз прошел точь-в-точь по своему следу — максимальное отклонение от собственной траектории составило не более 1.5 метров! Дистанция, между буями 2 и 4 порядка 210 метров. То есть человек не тратил время и силы на поиск — он просто шел туда, куда ему указывал прибор.
P.S. Кто и что делал:
— Один человек спроектировал и развел все платы и нарисовал всю механику, плюс продумал технологию сборки, сам всё спаял (для справки, в одном навигаторе – более девятисот точек пайки!) и собрал;
— Другой человек придумал модель и написал все прошивки (а ещё помогал собирать);
— Еще один человек руководил всем этим, попутно направляя заходящий в тупик research и колеся необъятную в поисках мест и людей для испытаний, а также гастролировал с демонстрационным комплектом и обивал пороги разных фондов.
P.P.S.
То, что мыслимо — осуществимо. (С) Мао
Автор: AlekDikarev