Современное развитие беспилотных летательных аппаратов позволяет решить большое количество задач: поиска, мониторинга окружающей среды, контролю транспортных потоков, выполнение функций спасателя. С помощью БПЛА решаются поставленные задачи в чрезвычайных ситуациях, в которых человек не может принять участие без ущерба здоровью, а также в ситуациях в которых специализированный транспорт не может выполнить поставленную задачу (пожаротушения, разведка, военные действия и т.д.). Основной задачей при решении поставленных задач является полет квадрокоптера по заданной траектории, с помощью автоматического курирование или с пульта управления оператора, и посадка квадрокоптера в заданном месте. Актуальной задачей на сегодняшний день является задача автоматической посадки квадрокоптера на определенную посадочную площадку (вертодрома) без участия оператора.
1) Основные алгоритмы, используемые при решении поставленной задачи
Среди многих задач навигации и автоматической управления БПЛА одной из актуальных является задача автоматической посадки квадрокоптера. В данной проблематике выделяются следующие три метода для распознавания образов (в нашем случае вертодромных площадок, которые регламентированы ICAO и FAA (Doc 9261-AN / 903)). Основными методами для решения поставленной задачи являются алгоритмы нахождения образа площадки по скользящему просмотра, основанные на поиске максимума корреляции изображений, которые находятся в базе эталонных изображений для сравнения, метод машинного обучения по базе различных изображений и методы выделения основных признаков изображения. Первый и второй метод имеют недостатки связаны с большими вычислительными мощностями управляющего компьютера БПЛА, или передача информации из системы технического зрения, дальнейшая обработка на стационарном компьютере, уменьшает скорость быстродействия квадрокоптера. Третий метод не требует большого базы изображений для сравнения и обученного классификатора, применяются практически для любого изображения.
2) Алгоритмы, используемые для распознавания определенных маркеров
Алгоритм SIFT – обеспечивает распознавание и отслеживание объектов на изображении, обладает свойствами повторяемость и надежности, широко используется в системах технического зрения БПЛА.
Алгоритм SURF – основан на обеспечении распознавании и обеспечении нахождения точек, сопоставлении изображений, включает в себя преобразование Лапласа. Данный алгоритм помогает находить яркие объекты на темном фоне и наоборот. Данный алгоритм является более надежным, с точки зрения нахождения точек, но приводит больше расчетной нагрузки.
Алгоритм поиска определенных контуров findCountours – функция OpenCV, что позволяет найти определенные контуры на изображении, со встроенным функцией многоуровневой иерархии, которая позволяет проводить анализ изображения и наложения дополнительных фильтров.
Общая структура управления должна представлять собой взаимосвязанную систему, которая с помощью различных структур позволяет проводить полет квадрокоптера, выполнения навигационных задач и получать скорректированные данные из системы технического зрения. Первоочередная задача системы управления автоматической посадки квадрокоптера – нацелена посадка на вертодромных площадку, с учетом параметров данной площадки и учета погрешностей при подстрекаю почему влияния. Общая структура схемы посадки квадрокоптера представлена на рис. 1.
Рисунок 1. Общая структура системы автоматической посадки с помощью СТЗ
На рисунке изображено квадрокоптер, система технического зрения предназначена для наведения и навигационных задач квадрокоптера, исполнительный уровень и бортовая система с помощью приборов выполняют автоматическую посадку по заданным параметрам СВХ.
a. Алгоритмы систем компьютерного зрения
В настоящее время широкое применение получили системы компьютерного зрения, которые позволяют достигать поставленной задачи в системах управления БПЛА без дополнительных датчиков и с низкими вычислительными мощностями.
Рассмотрим основные алгоритмы, которые могут быть применены в СТЗ для решения навигационных задач, наводнения и автоматической посадки квадрокоптера.
- Вычисление гистограммы цели. В принятой модели изображения HSV выделяют основной Н-компонент, который определяет информацию о цвете. Для этого необходимо сделать преобразования из цветной модели RGB в HSV, и будут получены гистограммы изображения. Основной алгоритм управления и наведения квадрокоптера на вертодромных площадку представлен в рис.2.
Рисунок 2. Алгоритм работы системы наведения с помощью СТЗ
- Алгоритм Camshift. Данный алгоритм широко применяется в различных СТЗ, для нахождения маркеров, определенных меток, целей. Основанный на использовании MeanShift находим центр цели и вычисляет центр цели, затем масштаб и ориентацию. Данный процесс используется в непрерывный потока изображений. Основной алгоритм применяет все кадры видеосъемки и результат предыдущего кадра (центра изображения, размера окна поиска), используется в следующем изображении в качестве эталонного (начального) значения поиска контрольного окна. Отслеживание реализуется циклической итерацией. Алгоритм реализуется пятью этапу:
- Определение изображения в качестве области поиска.
- Инициализация размера и положения окна поиска.
- Вычисление распределения вероятности цветов окна поиска (область должна быть больше окно поиска).
- Выполнение алгоритма MeanShiftдля получения новой позиции и размера окна поиска.
- Использование результатов 3-го пункта для инициализации положение окна и размера окна поиска в следующем кадре.
- Алгоритм SURF. Основанный на базе алгоритма Camshift. Главной задачей алгоритма SURF является нахождение локальных характерных особенностей изображения. Для задачи поиска вертодромных площадок основным достоинством данного алгоритма являются является устойчивость к масштабированию, поворотам и относительная устойчивость к аффинных преобразований. Работа алгоритма начинается с выполнения поиска в изображении локальных экстремумов, на основе которых выполняется поиск особых точек на изображении. При этом также обеспечить инвариантность относительно повороты сцены. Лицу точки выделяются с помощью матрицы Гессе. Матрица Гессе является симметричной к квадратичной формы, описывающей поведение функции второго порядка. Матрица этой функции состоит из ее вторых частных производных. В случае двумерной функции
1.1
1.2
H- матрица Гессе; f (x, y) – функция изменения градиента матрицы.
Градиент в точке рассчитывается с использованием фильтров Хаара, где черные и белые области имеют значение -1 и +1 соответственно. Это дает значение перепада градиента по осям. Каждой из особых точек сопоставляется свой дескриптор, который представляет собой набор из 64 чисел. Так как максимум гессиан, то эти точки отделены друг от друга на определенном расстоянии, зависит от рассчитанных в них значений градиента. Инвариантность достигается обобщением градиента, который осереднюеться вокруг точки в целом благодаря фильтра Хаара. Масштаб матрицы Гессе обусловливает размер области, в которой рассчитается дескриптор. Таким образом достигается инвариантность масштаба [2]. Неправильная информация о состоянии и скорости может привести к тому, что БПЛА НЕ приземлится на вертодромных площадку.
- Алгоритм поиска определенных контуров findCountours. Данный алгоритм позволяет находить контуры объекта на двоичном изображении с 8-битного канального изображения, онлайн видео изображения. Каждый найденный контур представляется в виде векторного изображения с наложением найденного вектора на входное изображение. С помощью дополнительных функций, которые можно использовать, данный алгоритм позволяет создавать бинарное, полутонов, цветной изображения с целочисленным 32-битным изображением меток. К данному алгоритму входит создание иерархии изображения – выходной вектор, содержащий информацию о топологии изображения. Он имеет столько же элементов, сколько число контуров. Для каждого n-го контура contours [i], элементы hierarchy [i] [0] hiearchy [i] [1], hiearchy [i] [2] и hiearchy [i] [3] установлено в 0 на основе показателей в contours очередных и предыдущих контуров на том же иерархическом уровне, первого контура ребенка и родительского контура, соответственно. Если для контура i нет таких, предыдущих, родительских или вложенных контуров, соответствующие элементы hierarchy [i] будут отрицательными. Режим поиска контура разделяется на следующие режимы которые позволяют находить различные контуры на картинке независимо от возмущающих факторов:
1) CV_RETR_EXTERNAL - извлекает только крайние внешние контуры. он устанавливает hierarchy [i] [2] = hierarchy [i] [3] = -1 для всех контуров.
2) CV_RETR_LIST вытягивает все контуры без установки каких-либо иерархических видносин.
3) CV_RETR_CCOMP вытягивает все контуры и организует их в двухуровневую иерархию. На верхнем уровне находятся внешние границы компонентов. На втором уровне есть границы отверстий. Если внутри отверстия подключенного компонента является другой контур, он все еще находится на верхнем уровне.
4) CV_RETR_TREE вытягивает все контуры и восстанавливает полную иерархию вложенных контуров. Эта полная иерархия построена и показана в contours с демонстрации OpenCV. Такие же используются подходы с методами аппроксимации контура изображения, функция извлекает контуры из двоичного изображения, используя алгоритм [3]. Контуры является полезным инструментом для анализа формы, а также для обнаружения и распознавания объектов. Благодаря данному алгоритму возможно находить контуры объектов,
b. Алгоритм управления БПЛА
Алгоритм управления реализуется на исполнительном уровне (в контроллере или регуляторе) трехуровневой СУ, представленной рис. 1. Структура этого уровня показана на рис. 3. В контроллере реализуется два канала управления: по крену и по тангажу. Входы каналов крена и тангажа включают в себя угол ориентации и их текущее состояние. В структуре каскадного ПИД-регулятора является внешний контур, который обеспечивает быструю скорость реакции управления ориентацией, и внутренний контур, имеющий медленную скорость реакции управления положением. Последовательность расчета параметров системы управления: внешний контур (петля ориентации), а затем внутренний контур (петля положение). Положение и скорость определяются при расчете траектории, а ориентация получается путем вычисления во внешнем контуре.
Рисунок 3. Блок-схема системы управления
На рис. 3 из ЗП обозначены задают условия (позиция, скорость), УК – управляющий контроллер, угол наклона – угол рыскания БПЛА. Реализация контроллера завершается расчетом ПИД-регулятора внешнего контура. Согласно данным расчетом исчисляются скорость и состояния каналов крена, тангажа и угла поворота (рыскания).
c. Обработка изображения
В данной работе информация о положении БПЛА оценивается алгоритмом поиска определенных контуров findCountours для выполнения извлечения и сопоставления точек. Как целевой шаблон в оригинальном документе выбирается область размером 640 Ч 480 пикселей для удобного вычисления. После этого используется алгоритм для определения целевой области в следующем кадре. Когда цель определена, точки функции вырисовываются в определенный цветной объект (вертодромная площадка принята и регламентирована ICAO и FAA). После определения области посадочной площадки выполняется изъятия и сопоставления признаков. В то же время выбирается центральная область изображения в качестве целевого шаблона такого же размера. Далее происходит непрерывное отслеживание особых точек на изображении. Требования к установке камеры заданные следующим образом: направление оптической оси камеры совпадает с направлением оси координат корпуса БПЛА. Оно также совпадает с осью Z навигационной системы координат. Выделим следующие системы координат:
1. Мировая (абсолютная) система координат: она называется реальной системой координат или реалистичной системой координат XYZ. Это абсолютная система координат объектного мира. В общем случае в этой системе координат описывается 3D-сцена.
2. Система координат камеры: система координат определяется в соответствии с центром камеры. Это o С xс Yс ZС, как показано на рис. 4. В общем случае оптическая ось камеры определяется как ось zc.
Система координат плоскости изображения: x’y “, система координат плоскости изображения, формируемая в камере. Как правило, плоскость изображения параллельна плоскости xсyс системы координат камеры. Оси xс и Yс параллельные осям x ‘и y’ соответственно. В этом случае оригинал плоскости изображения находится только на оптической поверхности камеры.
- Система координат изображения: это координатная система пиксельной матрицы, которая выходит после выборки и количественного определения изображения.
- Система координат корпуса (тела) БПЛА: ob xb yb zb определяется в соответствии с центром БПЛА. Вот zb совпадает с осью zc [5].
Рисунок 4. Система координат камеры
В ходе рассмотрения алгоритмов систем технического зрения авторами предлагается выбрать алгоритм поиска контуров findCountours, как наиболее разносторонний который позволяет проводить дополнительные исследования и расчеты в рамках поиска вертодромных площадок. Основным направлением исследования является анализ существующих методов и подходов к задаче атоноснои посадки квадрокоптера с помощью систем технического зрения. Представленные материалы имеют краткое описание этих алгоритмов СВХ. Эти алгоритмы могут быть полезны для автономной системы посадки БПЛА. Алгоритмы также могут быть применены для системы отслеживания траектории БПЛА.
Библиографический список
- Weiss S. Monocular-SLAM-based navigation for autonomous micro helicopters in GPS-denied environments /
S. Weiss, D. Scaramuzza, R. Siegwar // Journal of Field Robotics (USA). – 2011. – Vol. 28 № 6. – P. 854-874. - Scaramuzza D. MAV navigation through indoor corridors using optical flow / D. Scaramuzza, S. Weiss, R. Siegwart //
Robotics and Automation (ICRA) – IEEE International Conference on (Anchorage, AK, USA). – 2010. – P. 3361-3368. - Bradski G. Learning OpenCV / G. Bradski, A. Kaehler. – Sebastopol: O’Reilly Media, 2008. – 556 p.
- Karasulu B. Performance evaluation software moving
object detection and tracking in videos / B. Karasulu, S. Korukoglu. – Springer New York, Heidelberg, Dordrecht,
London, 2013. – 76 p.