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

Интеллектуальная система технического зрения беспилотного летательного аппарата (БПЛА) предназначена для автоматического управления БПЛА в условиях недоступности сигналов глобальных навигационных спутниковых систем  (ГНСС) на основе анализа данных полученных из других различных источников; для построения в реальном масштабе времени трехмерной карты окружающего пространства и обнаружения существующих препятствий по маршруту следования; для обнаружения и идентификации объектов интереса в процессе осуществления полетного задания класса «автономное патрулирование». Система обладает функциями навигационной системы, системы технического зрения, системы мониторинга окружающего пространства, системы принятия решения и системы полуавтоматического и ручного управления БПЛА. Применение интеллектуальной системы технического зрения беспилотного летательного аппарата позволяет существенно повысить автономность беспилотных летательных аппаратов, на которых эта система установлена, и безопасность полетов БПЛА, а также расширить круг специальных задач, решаемых БПЛА в автоматическом режиме.
Известна система управления БПЛА, которая осуществляет формирование траектории, навигацию, управление и стабилизацию ракеты, а также выдачу разовых команд на подсистемы БПЛА (В.И. Козлов. Системы автоматического управления летательными аппаратами, М.: «Машиностроение», 1979, С.53,152), содержащая блок управления двигателем, высотомер, гироинерциальную систему (ИНС) с датчиками углового положения ракеты и акселерометрами, датчики угловых скоростей, вычислитель, сумматоры управляющих сигналов тангажа, курса и крена, блок кинематической разводки, содержащий сумматоры первого, второго и третьего рулевых приводов и первый и второй инверторы, и рулевые приводы, при этом гироинерциальная система и высотомер подключены к входам вычислителя, первый, второй и третий выходы которого соединены с первыми входами сумматоров управляющих сигналов каналов тангажа, курса и крена соответственно (причем вторые входы этих сумматоров подключены к выходам соответствующих датчиков углового положения гироинерциальной системы, четвертый выход вычислителя соединен с входом блока управления двигателем летательного аппарата, выходы блока датчиков угловых скоростей соединены с третьими входами сумматоров управляющих сигналов, выход сумматора управляющих сигналов канала курса подключен к входам сумматоров первого и третьего рулевых приводов и через первый инвертор – к входу сумматора второго рулевого привода, выход сумматора управляющих сигналов канала крена соединен с входами сумматоров первого и второго рулевых приводов и через второй инвертор – с входом сумматора третьего рулевого привода, а выходы сумматоров первого, второго и третьего рулевых приводов соединены с входами соответствующих рулевых приводов).
Такая система управления обеспечивает стабилизацию БПЛА относительно центра масс, формирование траектории, в частности, с заданной высотой горизонтального полета и облетом рельефа местности, а также выполнение заданного пространственного и временного графика полета (ПВГП) за счет управления как координатами ракеты в пространстве, так и скоростью ее полета на отдельных участках, заданных поворотными пунктами маршрута (ППМ). Формируются также необходимые разовые команды на подсистемы БПЛА.
Известна система измерения пространственной ориентации и курса летательных аппаратов (D.H.Titterton, J.L.Weston. Strapdown Inertial Navigation Technology. Volume 207 «Progress in Astranautics and Aeronautics» Editor-in-Chief Paul Zarchan, MIT Lincoln Laboratory, USA, 2004, pp. 263-264), содержащая блоки инерциальных датчиков обрабатывающей электроники и вычисления пространственного положения.
Недостатком указанных систем является отсутствие возможности достаточно эффективно управлять БПЛА и тем более обеспечивать автономность его эксплуатации  в сложных полетных условиях, решать задачи специального назначения, задачи автоматизации процедур паспортизации объектов со сложным рельефом, решение прочих задач работы беспилотной техники без участия оператора. Это объясняется отсутствием возможности использования бортового анализа видеоинформации с применением системы технического зрения (СТЗ), в частности, в целях бортовой навигации и корректировки режима полета, обусловленной изменившимися условиями движения и полетного задания.
Известна система обнаружения препятствий для мультикоптера (А.C. Гоноболев, А.Ю. Когочев, А.О. Лекарев. Система обнаружения препятствий для мультикоптера. Resources and Technology, 2014 Т. 11. № 2. С.119-126), в состав которой входят управляющая плата на основе микроконтроллера фирмы Atmel AtMega2560, набор датчиков расстояния (ультразвуковые и инфракрасные дальномеры), канал радиосвязи и GPS приёмник.
Недостатком данный системы является невозможность определения инфракрасным датчиком поверхности, поглощающей свет (например, загрязнения в виде сажи или стекла) и ультразвуковым датчиком звукопоглощающего покрытия, а также малые дистанции, на которых возможно определение поверхностей.
Известна система предотвращения препятствий летательного аппарата (US 2018136650 A1, 17.05.2018, Yuneec Technology Co. Ltd.), содержащая устройство захвата изображения, систему повышения устойчивости карданного подвеса и второй контроллер. Система повышения устойчивости карданного подвеса включает в себя корпус подвеса и систему управления подвесом. Устройство захвата изображения расположено на корпусе карданного подвеса и используется для захвата изображения в направлении полета, когда самолет летит. Система управления подвесом соединена с корпусом подвеса. Второй контроллер используется для определения того, существует ли препятствие на изображении, захваченном устройством захвата изображения, и, если да, для изменения направления полета летательного аппарата в соответствии с положением препятствия, и если нет, управление самолетом для полета в текущем направлении полета.
Недостатком данный системы также является невозможность достаточно эффективно управлять БПЛА и тем более обеспечивать автономность его эксплуатации  в сложных полетных условиях в сложных рельефах и замкнутых пространствах.
Известна система 3D-сканирования беспилотного летательного аппарата (CN109186557А, 02.11.2018, China Communications Remote Sensing Load Beijing Tech Co. Ltd.), содержащая: широкопольную подсистему позиционирования, установленную на беспилотном летательном аппарате, и узкопольную подсистему сканирования, где генерирование полученной информации глубины осуществляется в соответствии с изображением разности цветов поляризации и изображением яркости, а также в соответствии с информацией глубины и, по меньшей мере, одной трехмерной поверхности из синтезированной информации изображения.
Недостатками данной системы является необходимость иметь, по меньшей мере, одну трехмерную поверхность из синтезированной информации изображения и невозможность использовать данные инерциальных и магнитометрических характеристик движения для точного позиционирования беспилотного летательного аппарата.
Целями заявленной интеллектуальной системы технического зрения беспилотного летательного аппарата являются:
1. Повышение автономности эксплуатации БПЛА в сложных рельефах и замкнутых пространствах.
2. Решение задач гражданского и специального назначения с применением разработанной технологии, в частности для автоматического поиска людей и заданных объектов в зданиях при чрезвычайных ситуациях.
3. Автоматизация процедур паспортизации объектов со сложным рельефом.
4. Решение прочих задач работы беспилотной техники (перемещение грузов, почты) без участия оператора.
5. Обеспечение 3D позиционирования беспилотной техники в условиях сложного рельефа и множества препятствий с применением технического зрения в условиях недоступности ГНСС в условиях повышенных требованиях к скорости работы, к малым габаритам и энергопотреблению устройства.
6. Повышение эффективности управления БПЛА и унификация применения системы для различных типов и моделей БПЛА (самолетного, вертолетного и иных типов), в том числе и на легкие и малые БПЛА, включая дешевые модели, имеющие только ручное управление.
Решение поставленных целей достигается за счет следующей конструкции.
Программно-аппаратный комплекс (ПАК) установлен на борту БПЛА и состоит из бортового вычислителя на основе одноплатного компьютера с платой расширения на базе 32-разрядного контроллера для реализации возможности обработки сигналов в реальном масштабе времени с использованием нейронной сети. ПАК принимает сигналы от датчиков и обрабатывает их при помощи бортового вычислителя, а также принимает и передает эти сигналы через разводку системы управления корпуса на полетный контроллер.
Инерционный измерительный блок (IMU, Inertial Measurement Unit), позволяющий определить положение БПЛА в пространстве, аппаратно расположен на плате расширения и предназначен для определения инерциальных и магнитометрических характеристик движения и включает в себя:
– гироскоп, определяющий угловую скорость вокруг собственных осей X, Y, Z;
– акселерометр, определяющий величину ускорения свободного падения по осям X, Y, Z;
– компас, определяющий углы между собственными осями сенсора X, Y, Z и силовыми линиями магнитного поля Земли;
– барометр, определяющий атмосферное давление, высоту над уровнем моря и температуру.
Также на борту БПЛА установлены следующие датчики:
– бортовая видеокамера – предназначена для получения видеопотока и передачи его в бортовой вычислитель;
– RGB-D-камера – предназначена для получения поля глубин в области видимости устройства;
– полетный контроллер – предназначен для распределения и передачи команд, управляющих частотой вращения двигателей, и используется для управления системой стабилизации БПЛА;
– приемник радиосигналов – предназначен для приема сигналов от сторонней системы управления и передачи их для обработки в бортовой вычислитель;
– вращающийся лазерный сканер-дальномер – предназначен для определения расстояний (в виде развертки на 360 градусов) до объектов окружающей среды и передачи этой информации в бортовой вычислитель;
– стационарный лазерный дальномер – предназначен для определения расстояний (точечных) до объектов окружающей среды и передачи этой информации в бортовой вычислитель.
Обмен сигналами между бортовым вычислителем, платой расширения бортового вычислителя и датчиками осуществляется при помощи стандартного USB-интерфейса, а также последовательного интерфейса связи UART и последовательного протокола связи S.BUS. Управляющие сигналы на контроллеры исполнительных устройств и сами исполнительные устройства осуществляются методом широтно-импульсной модуляции (ШИМ, PWM).
Взаимосвязь всех элементов заявленной интеллектуальной системы с учетом самого БПЛА и его штатного оборудования изображена на фиг. 1, где обозначены:
1 – сам БПЛА;
2 – аккумуляторная батарея (АКБ);
3 – четыре маршевых электродвигателя;
4 – четыре контроллера скорости (для управления частотой вращения каждого электродвигателя);
5 – программно-аппаратный комплекс;
6 – бортовой вычислитель;
7 – плата расширения;
8 – инерционный измерительный блок;
9 – гироскоп;
10 – акселерометр;
11 – компас;
12 – барометр;
13 – бортовая видеокамера;
14 – RGB-D-камера;
15 – полетный контроллер;
16 – приемник радиосигналов;
17 – вращающийся лазерный сканер-дальномер;
18 – стационарный лазерный дальномер.
Монтажная схема программно-аппаратного комплекса приведена на фиг. 2 (вид снизу) и фиг. 3 (вид сверху).
Общий вид программно-аппаратного комплекса изображён на фиг. 4.
Общий алгоритм определения местоположения БПЛА изображен на фиг. 5.
Алгоритм определения местоположения БПЛА по визуальным ориентирам изображён на фиг. 6.
Пример визуального ориентира приведён на фиг. 7.
Работа заявленной интеллектуальной системы технического зрения беспилотного летательного аппарата осуществляется следующим образом.
Общий алгоритм определения местоположения БПЛА является гибридным и основан на работе двух подсистем – системы инерциальных датчиков и системы технического зрения. Система технического зрения в свою очередь делится на систему определения положения по визуальным ориентирам и систему обработки данных 3D-зрения.
Для получения данных инерциальных датчиков разработано специальное устройство, состоящее из комплекса инерциальных датчиков и 32-разрядного микроконтроллера для предварительной обработки сигналов датчиков и их передачи в бортовой вычислитель.
Комплекс инерциальных датчиков представляет собой четыре микросхемы, расположенные под углом 90 градусов относительно друг друга. Расположенный здесь же микроконтроллер предназначен для предварительной фильтрации данных с помощью фильтра низкой частоты и отправки их в одноплатный компьютер.Дополнительная функция этого устройства – прием управляющих команд, преобразование их к необходимому виду и дальнейшая передача в полетный контроллер. Таким образом, реализовано автономное управление БПЛА.
В дальнейшем данные, полученные от датчиков, обрабатываются биквадратным фильтром, приводятся в единую систему координат и к ним вводятся поправки, полученные при предварительной калибровке. После этого они попадают в сигма-точечный фильтр Калмана, где с помощью них и данных одометрии вычисляется положение БПЛА.
Для устойчивой работы алгоритма вычисления положения БПЛА необходимо получать данные одометрии, определяющее скорость его перемещения в пространстве. В случае выполнения полетного задания на больших открытых пространствах роль такого средства играет датчик скорости воздушного потока, однако, в случае полета в условиях сложного географического рельефа местности с обилием препятствий различного происхождения и/или внутри помещений, в связи с малыми скоростями полета его применение  затруднительно из-за больших погрешностей при измерениях. В качестве его замены используют скорость БПЛА, определённую с помощью оптического потока, вычисленного по сигналам одометрии, полученным от лазерных дальномеров.
Для получения данных о матчах двух последовательных изображений используются кадры, полученные с RGB-D камеры. С ее помощью можно получить как обычное изображение формата RGB, так и информацию о глубине каждой точки полученного изображения. Карта глубин каждой точке экрана присваивает величину, характеризующую ее удаленность от камеры.
x
y
z
Данные об угловой скорости для вычислений берутся из системы инерциальных датчиков. Таким образом, неизвестными величинами остаются только скорости V, V, V. Так как у нас имеется N матчей, полученных от пары изображений, то, составив и решив переопределенную систему нелинейных уравнений, мы найдем требуемую скорость V.
Подставив полученную скорость в сигма-точечный фильтр Калмана, можно получить вычисленное положение БПЛА. Проведенные предварительные эксперименты показывают, что итоговая погрешность при таких вычислениях не превышает 5%. То есть на 100 метров пройденного БПЛА расстояния ошибка составляет не более 5 метров.
Для построения трехмерной карты пространства используется комплекс алгоритмов SLAM (Simultaneous Localization and Mapping, метод одновременной локализации и построения карты)  — метод, используемый в мобильных автономных средствах для построения карты в неизвестном пространстве или для обновления карты в заранее известном пространстве с одновременным контролем текущего местоположения и пройденного пути. Проведенные эксперименты показали возможность реализации данной идеи. Разместив RGB-D камеру в носовой части БПЛА и сориентировав ее вперед, по курсу движения, с помощью данных методов, а также учитывая вычисленные данные о положении БПЛА, получаем 3D-карту пространства.
Кроме того, камера глубины, направленная вперед, служит для детектирования препятствий на пути следования БПЛА. Соответствующий алгоритм разработан на основе известного алгоритма А* (от англ. A star - алгоритм поиска по первому наилучшему совпадению на графе, который находит маршрут с наименьшей стоимостью от одной вершины (начальной) к другой (целевой, конечной).
Карта глубин, построенная на основе полученных из RGB-D камеры данных, преобразуется в облако трехмерных точек, из которых выделяется некоторая часть, лежащая в горизонтальной плоскости, занимающая область, достаточную для прохождения БПЛА по высоте. Все трехмерные точки, попавшие в эту область, проецируются на горизонтальную плоскость. Таким образом, можно получить карту препятствий для движущегося в этом пространстве БПЛА. При обнаружении препятствия на линии, соединяющей его положение и текущую конечную цель, или если препятствие находится ближе к центру БПЛА, чем допустимый безопасный радиус, начинается поиск обходного маршрута.
При использовании БПЛА внутри замкнутых пространств и/или при наличии сложного рельефа местности при выполнении полетного задания и избегания столкновений необходимо точное знание его положения в пространстве. Инкрементальные методы навигации создают хоть и незначительную, но со временем увеличивающуюся ошибку определения положения. Для определения точного местоположения БПЛА в ключевых локациях используются визуальные ориентиры. Под визуальным ориентиром принято понимать группу графических примитивов, объединенных в некоторую структуру, визуально отличающуюся от окружающего пространства.
Для повышения скорости и увеличения точности распознавания визуального ориентира применяется гибридный подход, который заключается в предварительном детектировании потенциального ориентира, последующем выделении геометрической структуры и вычисления положения с помощью нейронной сети.
Для детекции визуальных ориентиров используется разработанный в компании «МИРП-ИС» метод иерархической кластеризации. В основе метода лежит определение однородных по цвету областей и встраивания в них моделей эллипсоидов с оригинальным быстрым алгоритмом вычисления моментов одновременно с сегментацией. После определения набора эллипсоидов на изображении алгоритм сверяет их структуру со структурой заданных ориентиров и при наличии совпадения сигнализирует о том, что визуальный ориентир присутствует на изображении. При этом визуальный ориентир может иметь более сложную структуру, например иерархическую.
На следующем этапе происходит сбор геометрических характеристик визуального ориентира. Каждый задетектированный геометрический элемент в составе визуального ориентира добавляет пять геометрических признаков, характеризующих эллипс, который вокруг него можно описать. Для эллипса это такие характеристики как: две координаты центра эллипса на изображении, два размера главных осей и угол поворота главной оси. В частности, если на визуальном ориентире присутствует 3 геометрических элемента, то всего для обучающей выборки получим набор длинной в 3 × 5 = 15 характеристик. При этом, если визуальный ориентир имеет ось симметрии, то он не несет характерных признаков, способных предоставить нейронной сети информацию, с какой стороны от оси симметрии находится камера. Поэтому геометрические элементы для визуального ориентира могут быть взяты только из одной полуплоскости, что позволяет значительно сократить обучающую выборку.
Одним из главных преимуществ применения нейронной сети для оценки положения БПЛА является скорость вычисления. Так, например, оценка нейронной сетью положения БПЛА выполняется всего за 0,1 мс на одноплатном компьютере. Однако сама обработка изображения для определения наличия на ней знака и вычисления геометрических характеристик занимает целых 18 мс. Это относительно малое время, особенно с учетом того, что для вычислений используется всего один поток, который тоже также можно уменьшить. Для ускорения работы всего метода оценки положения, точнее, для той его части, что отвечает за непосредственно детектирование знаков-маркеров, применяется трекинг уже распознанного маяка на последующих кадрах, полученных с камеры. Метод трекинга основан на поиске похожих по цвето-структурной характеристике объектов в области изображения, соответствующей размещению геометрического объекта на предыдущем кадре. По результатам проведенных тестов, трекинг уже распознанных визуальных маяков позволяет ускорить вычисления до 2 мс.