Приветствуем вас, уважаемые читатели! Продолжаем знакомство с подводной робототехникой, и сегодня мы расскажем подробнее про наш основной проект - это малогабаритный подводный робот с интегрированной системой навигации. Если говорить простым языком, то для роботов - будь то подводные, надводные, воздушные, космические, доставщики - существует два вида вспомогательных систем определения координат в пространстве. Это системы навигации и системы позиционирования. Системы навигации позволяют РОБОТУ самому отслеживать свое местоположение. Например используя GPS или лидар. Системы позиционирования позволяют ПОЛЬЗОВАТЕЛЮ где-то в отдалении от робота понять его - робота - местоположение. По-честному, в нашем роботе мы используем не систему навигации, а систему позиционирования. Дело в том, что слово навигация привлекает больше внимания. Военная хитрость. Но мы честно в самом начале раскрыли все карты… Итак, вернемся к подводной технике. Существует большая проблема и трудность в определении местоположении подводного объекта. И большой разницы в том, навигация это или позиционирование, нет. И то, и то сложно реализовать должным образом. Дело в том, что привычные всем нам GPS, WI-Fi и радио (всё это является в общем то радио-сигналом, имеющим разные параметры) совершенно не работают под водой. Если среди нас есть те, кто увлекался или увлекается судомодельным спортом в разделе “подводные лодки”, то они наверное скажут, что мы всё врём. Что они отлично запускали свои модели подводных лодок в водоёме и нормально ими управляли, используя R/С пульт управления 27 МГц. Да, вы будете правы. Действительно, такой аппаратурой можно управлять чем-то подводным, но глубина будет всего несколько метров - она же дальность распространения сигнала в воде. Но это предел. Большего не реализовать, увы. Как же справляются подводные аппараты? Глобально есть два типа необитаемых подводных аппаратов - телеуправляемые и автономные. Телеуправляемые аппараты имеют кабель связи, через который подается питание, сигнал управления и принимаются данные с сенсоров. Иногда питание не передается, так как на борту имеется батарея. Кабель в этом случае может быть существенно компактнее. В России такие аппараты называют телеуправляемые необитаемые подводные аппараты - ТНПА. За рубежом их называют Remote Operated Vehicle - ROV. Автономные аппараты не имеют штатного кабеля связи и работают по заданной программе. Пользователь формирует миссию (задание) на пульте управления и передает ее в аппарат либо по специальному кабелю, либо по радиосвязи. Робот погружается в точке старта, выполняет задание и всплывает в точке финиша. С него можно снять данные, которые он получил - видео- и фотокадры, карту глубин, эхограммы с гидроакустических приборов. В России такие аппараты называют автономные необитаемые подводные аппараты - АНПА. За рубежом их называют Autonomous Underwater Vehicle - AUV.  Для АНПА понимать свое местоположении - это критически важное умение. Для ТНПА сначала может показаться, что это не так важно. Ведь он на проводе. При запуске любого ТНПА мы видим робот лишь несколько метров в глубину, какой бы он яркий ни был. Можно надеяться на кабель-трос, ведущий к роботу и примерно понимать что, если кабель-трос где-то скажем в 20 метрах к северу, то и робот примерно там же. В реальности же - постоянно проводя такие расчеты и гадания - не имеется реального понимания, где находится подводный аппарат. Есть, конечно так называемые инерциальные системы навигации, есть системы, позволяющие, считая секунды и измеряя скорость робота (измерить которую, кстати, та еще задачка) вычислить его перемещения. Зная направление движения благодаря встроенному компасу, удается рассчитывать координаты робота относительно места его погружения. Будем честными - этот способ имеет погрешность, которая накапливается с течением времени и на выходе может дать слишком неверный результат. Обозначив проблему и описав привычные способы решения таких проблем НЕ в подводной сфере, расскажем, как решается это в подводной сфере. Решается довольно условно, так как все имеющиеся решения имеют как плюсы, так и минусы и не являются панацеей. Дело в том, что в воде единственный нормальный способ передать данные - это акустические волны. Наука, занимающаяся этим, называется гидроакустика. Благодаря этой науке мы можем передавать простенькие данные на не очень большие расстояния - конкретная цифра зависит от мощности и размеров антенны. Также мы можем с помощью той же антенны измерить угол прихода сигнала от пингера и дальность его расположения от антенны. Это функция позволяет нам как раз и осуществлять навигацию и позиционирование. Скорость распространения звука в воде - около 1500 м/с. Несложно прикинуть, сколько будет идти сигнал на расстояние, например 10 км: 10000 / 1500 = 6,7 секунд. Скорость распространения радиоволн в воздухе составляет примерно 300000000 м/с. Это в 200000 раз быстрее, чем акустические волны в воде. Эта нехитрая математика показывает основную проблему гидроакустики. Медленная скорость работы. Но, как говорится, на безрыбье и рак - рыба. Другого не дано. Есть эксперименты с оптической передачей данных в воде. И даже успешные. Но слишком много там ограничений, которые отдаляют нас от реального применения таких систем. Вода должна быть чистой, прозрачной, ничего не должно мешать на пути. Мы верим и надеемся, что у этих технологий есть потенциал, но пока - это все же нечто фантастическое. С самого начала нашей деятельности мы решили занять нишу малогабаритных подводных аппаратов. Основные идеи, которые мы стараемся развивать в наших разработках - это компактность и точность позиционирования. Критерий компактности для нас - это возможность перенести подводный аппарат со всем необходимым одному человеку. Точность позиционирования для нас - это способность роботом удерживать точно свое положение, т.е. держать заданную глубину, дифферент, крен и направление по необходимости. В этом вопросе мы перфекционисты и даже незначительные колебания робота без причины - для нас повод искать причину до полного устранения. Когда робот погружается, колеблясь из стороны в сторону, или при движении клюет носом, а при развороте кренится на 30 градусов - для нас это неприемлемо. Мы добиваемся результата хитростями геометрии корпуса, его массовыми характеристиками, движительной схемой, тщательно отобранными датчиками и различными алгоритмами управления. В этой связи хочется похвастаться 1-ым местом на кубке России по подводным аппаратам - 2023, где мы соревновались с профессиональными аппаратами. Их было немного, но свое первое место мы взяли честно и с большим отрывом, хоть и недочетов было еще много на тот момент. Это стало для нас показателем, что мы работаем в нужном направлении. На соревнованиях нужно было выполнять различные задания под водой, которые требовали и мастерства пилота, и, самое главное, - точного позиционирования аппарата. Здесь мы можем немного запутать пытливого читателя, называя разные вещи одним словом - позиционирование. Сейчас мы говорим не о координатах робота, а о его положении в пространстве - т.е. способности робота занимать заданное положение в пространстве без привязки к координатам. Висеть на заданной глубине и удерживать определенный угол. Теперь поговорим о позиционировании именно с привязкой к координатам. Все сложности определения местоположения подводного аппарата под водой мы вполне чувствуем, когда регулярно проводим испытания робота на открытой воде. Поэтому логичным продолжением развития проекта стал поиск системы позиционирования под водой. Мы давно следили за разработками отечественной компании - "Лаборатории подводной связи и навигации". Это очень крутые ребята, которые делают подводные модемы связи и различные системы навигации и позиционирования. Написали им запрос: есть ли у вас какие-либо решения для малогабаритных подводных аппаратов? Ребята оказались очень отзывчивыми и сразу отмели все профессиональные сложные системы, порекомендовали свою перспективную разработку - максимально простую систему, которую они пока не вывели в продажу, так как не успевают ее доделать. Мы довольно быстро сошлись на том, что это то, что нам - отчаянным робототехникам и нужно - мы сами всё доделаем, только дайте нам гидроакустику! К слову, какие системы подводной навигации бывают, лучше у них и прочитать. Рекомендуем. Скажем только, что система представляет собой пингер, береговой донгл и четыре гидроакустических буя. Буи расставляются в акватории на якорь примерно в форме квадрата со сторонами от 30 до 300 м. На робот ставится пингер. На пульте управления размещается донгл и всё. Мы видим, где находится робот внутри этого квадрата и даже немного снаружи него. Прошел всего год … и мы получили этот DIY набор, который успешно внедрили. Мы создали свои гидроакустические буи, установили на пингер герморазъем и самое главное - мы внедрили систему в наше приложение для управления роботом. Не будем скромными - мы вместе с коллегами-гидроакустиками сделали уникальную вещь. Это первая в мире встроенная система позиционирования на малогабаритном подводном аппарате. Мы называем весь этот процесс внедрения - интеграцией. Это очень важно! Дело в том, что в основном в мире есть отдельно производители роботов и отдельно разработчики систем навигации. При необходимости на робот ставится данная система, но объединения в единый пульт управления нет. Т.е. у оператора ТНПА есть отдельно пульт управления самим аппаратом и отдельно пульт управления навигацией. Оператор смотрит на один экран - где есть все датчики робота, изображение с видеокамеры, настройки. И смотрит на второй экран - где отображаются данные с системы навигации, т.е. карта и трек. Оператору приходится обрабатывать большой объем данных - нужно в голове представлять, где мы, под каким углом к северу мы находимся и куда надо повернуть, чтобы оказаться там, где необходимо. Это похоже на использование навигатора в автомобиле. Водитель смотрит на дорогу, на зеркала, на показания приборов и одновременно на смартфон с картой, постоянно сопоставляя карту и реальность. Если сделать единую систему - встроить навигатор в автомобиль - мы получим возможность создать беспилотный автомобиль. Те же самые возможности открывает и интеграция системы позиционирования в подводный робот. Мы получаем: Удобство использования - все функции, включая карту, находятся на одном экране, в одном приложении. Объединение данных. Зная координаты робота и реальный курс (направление компаса), можно на карте сразу это и показать, тем самым облегчив управление роботом. Мы называем эту функцию радар и выглядит он у нас примерно, как в игре GTA Возможность получить такие функции, как автопилот - движение в точку, движение по маршруту, подсказки на экране, куда двигаться. Запись единых логов, которые очень полезны в реальной работе. Самый первый эксперимент, который мы провели был таким: расставили буи, запустили робота примерно из середины квадрата и попытались найти под водой один из буев - естественно конкретный, НЕ любой. В тот день было довольно ветрено и робот сильно сносило. Тем не менее мы довольно быстро справились с задачей. Проверять, получится ли это сделать без навигации, мы не стали. Потому что, мы даже не знали как это делать. Выбрать направление и двигаться в сторону буя? Вероятность промазать очень высокая. Всплывать периодически и смотреть, сколько осталось до буя еще? А если не буй надо найти, а что-то подводное? Всплывать, подключаться к GPS на роботе (которого к слову нет пока) и сверяться с координатами? Как то всё сложно и долго. И низкая вероятность успеха. Дальше была серия экспериментов, включая несколько реальных коммерческих работ, где мы использовали систему как опцию - для облегчения своей работы. И везде система давала положительный результат - с ней легче работать. А, если быть честным, то нормальная работа только с ней и возможна. О нашей подводной съемке на острове Валаам можно почитать здесь. Финальные эксперименты в этом сезоне мы провели 10 октября. Традиционное Сапёрное озеро в Ленинградской области - наша постоянная площадка для испытаний. На улице было солнечно, но холодно - 3-5 градусов тепла. В воде, конечно, теплее - 12 градусов. Но мы не проверяли. Было проведено два испытания: Проверка последней версии приложения для управления роботом. Мы перемещались в заданном квадрате и рассматривали дно озера. Измерение СКО (среднеквадратичное отклонение) определения координат. Для этого нужно было установить пингер на дне стационарно, чтобы он был неподвижен. Далее нужно было просто набрать статистику измерений и рассчитать требуемое нам значение. Первый эксперимент прошел гладко. Мы ходили вдоль береговой линии туда-сюда, каждый раз удаляясь от нее. Сейчас наше приложение для управления роботов выглядит так. В левом верхнем углу располагается радар - это кусок карты заданного радиуса. В центре круга робот. Также на карте располагаются разноцветные точки - это буи. Как и в GTA точки, которые не входят в круг, располагаются с краю в нужном направлении. Там же крутится указатель на реальный север. При нажатии на радар открывается большая карта, с которой можно работать - ставить метки, давать им описание, строить маршрут. Для проведения второго эксперимента мы соорудили специальное устройство, получившее название “Ведроид”. К дырявому ведру присоединяется снизу крышка с грузом. К ней прикручиваются две доски для устойчивости на дне. Сверху ведра устанавливается наша подводная батарея и пингер. К ведру привязывается веревка и поплавок. Обычно, такие вещи у нас делаются в последний момент, поэтому получаются очень нелепыми своеобразными. Но работают! Поплавок был сделан из бутыли с водой. Вода, конечно, была слита. Дело уже было вечером, делать было еще много чего. В полной темени мы отправились в наш квадрат, который мы называем “буйной зоной”, установили Ведроида на дно, включили систему и принялись наслаждаться теплой, приятной погодой  тем, что можно было передохнуть и условно ничего не делать, лишь изредка подгребая веслами, чтобы не выйти за границы квадрата. Выждав 40 минут измерений, мы, немного поплутав в темноте, каким-то чудом нашли поплавок, вытянули “Ведроида”, собрали буи и отправились собираться домой. Позже вычислив с гидроакустиками результат, и они, и мы сильно обрадовались. СКО получилось около 0,74 м. Что гораздо лучше теоретически рассчитанного значения (1 м). На данный момент мы внедрили практически все функции, которые перечислили выше. Однако, работы еще много, так как, повторимся, мы перфекционисты и в этой задаче тоже будем искать самых лучших, красивых решений, удобных для пользователя. Основная задача здесь для нас - добиться того, чтобы работать с роботом было удобно, и пользователь смог получить качественный результат. P.S. Приглашаем посмотреть наш ролик с подводными кадрами этих испытаний. Также, кому интересно, чем мы живем - добро пожаловать в нашу телегу.  Путинцев