В статье проводится исследование возможности использования нейронных сетей для создания системы безопасности беспилотного летательного аппарата, которая могла бы оценивать текущие погодные условия и на основе этих данных выбрать максимальную безопасную дальность полета беспилотного летательного аппарата. Описано создание нейронной сети и проведен анализ ее работы. Статья выполнена в рамках курсового проекта по дисциплине «Методы интеллектуального анализа данных», лектор — Воронова Л.И. [1].
На сегодняшний день существует большое количество беспилотных летательных аппаратов, которые различаются как по размерам, так и по стоимости, так к примеру на рынке представлены беспилотные летательные аппараты, размеры которых едва превышают размеры пяти рублевой монеты и стоимость которых приблизительно равна 10$, также на рынке представлены беспилотные летательные аппараты, длина которых превышает 1.5 метра, а стоимость превышает 2000$. Доступная стоимость, а также достаточно простое управление беспилотными летательными аппаратами, привело к тому что беспилотные летательные аппараты стали использоваться для съемки фотографий или видео, не только на улице, в зоне прямой видимости беспилотного летательного аппарата, но и на больших расстояниях от места начального запуска беспилотного летательного аппарата, а также на таких мероприятиях, где присутствует большое количество человек, к примеру, на концертах.
В связи с данным фактом, появляется риск того, что беспилотный летательный аппарат, может аварийно завершить полет, и на большом расстоянии от места запуска, может причинить существенный ущерб не только беспилотному летательному аппарату, но и окружающим, так как скорость вращения винтов измеряется тысячами оборотов в секунду, а суммарная масса беспилотного летательного аппарата, чаще всего больше 3-х килограммов, таким образом, если беспилотный летательный аппарат совершает аварийную посадку с достаточно большой высоты в достаточно людном месте, то это может привести к серьезным последствиям.
Очень часто, причиной, по которой беспилотный летательный аппарат совершает аварийное завершение полета, являются погодные условия.
В связи с этим была поставлена задача разработать нейронную сеть, которая могла бы показывать безопасную максимальную дальность полета беспилотного летательного аппарата.
В качестве данных для обучения, были выбраны данные полученные в результате анализа погодных условий в дни, когда были произведены не успешные запуски беспилотных летательных аппаратов, информацию о таких запусках можно найти на специальном сайте, где указывается точная дата и время полета, координаты места запуска и причины, в связи с которыми произошла авария или потеря беспилотного летательного аппарата [2].
Для работы нейронной сети были выбраны такие параметры как температура окружающей среды, скорость ветра, а также дальность прямой видимости. Каждый из перечисленных факторов оказывает непосредственное влияние на исход полета. При низкой температуре окружающей среды, происходит уменьшение емкости аккумуляторов, что ведет к ухудшению летных качеств беспилотного летательного аппарата, по сравнению с техническими параметрами летательного аппарата в нормальных условиях. Сильный ветер, так же оказывает непосредственное влияние на полет, при резких порывах ветра, летательный аппарат может потерять ориентацию в пространстве, а также к ухудшению управляемости летательного аппарата, что в свою очередь, может привести к аварии. Дальность прямой видимости также является очень важным фактором, при относительно маленькой дальности видимости, беспилотный летательный аппарат может быть потерян из зоны видимости, что сделает невозможным управление летательным аппаратом, что в свою очередь, чаще всего, приводит к аварии или потере летательного аппарата.
Так как на сайте указано место, дата и время, можно определить погодные условия, в которых производился полет. Таким образом, был проведен анализ 1000 случаев и на основе данного анализа был составлен обучающий набор данных.
Пример полученных данных для обучения нейронной сети в процессе анализа, случаев аварийного завершения полетов, представлен в таблице 1.
Таблица 1
Фрагмент набора данных для обучения нейронной сети [2]
Скорость ветра |
Температура |
Дальность прямой видимости |
Ожидаемые выходные данные |
||
4,5 |
-4,9 |
870 |
0 |
0 |
1 |
1,1 |
10,2 |
700 |
0 |
1 |
0 |
17,9 |
12,5 |
1740 |
1 |
0 |
0 |
В приведенной таблице представлен набор 3 наблюдений, в первом столбце представлена скорости ветра, во втором – значение температуры, в третьем – дальность прямой видимости, перечисленные данные были получены в результате проведенного анализа данных о времени, месте и причине аварийного завершения полета беспилотным летательным аппаратом, а также погодных условий, которые были в момент совершения полета беспилотным летательным аппаратом [3], в 4-6 столицах отображаются ожидаемые выходные данные нейронной сети.
На рисунках 1 – 3 представлено сравнение данных, на которых происходит обучение нейронной сети.
На рисунке 1 представлено распределение случаев нормального завершения полетов от температуры, при дальности менее 100 метров (синий), при дальности полета в пределах от 100 до 500метров (красный) и дальности полета более 500 метров (зеленый).
Рис. 1 Распределение данных от температуры окружающей среды
На рисунке 3.2 представлено распределение случаев нормального завершения полетов от скорости ветра, при дальности менее 100 метров (синий), при дальности полета в пределах от 100 до 500метров (красный) и дальности полета более 500 метров (зеленый).
Рис. 2 Распределение данных от скорости ветра
На рисунке 3 представлено распределение случаев нормального завершения полетов от дальности прямой видимости, при дальности менее 100 метров (синий), при дальности полета в пределах от 100 до 500метров (красный) и дальности полета более 500 метров (зеленый).
Рис. 3 Распределение данных от дальности прямой видимости
Проводя анализ данных, на которых происходит обучение нейронной сети, можно заметить, что данные имеют очень близкие значения и очень часто, одни и те же значения относятся к разным группам, как к примеру, данные температуры, данный фактор не позволяет очень четко разграничить данные и решать данную задачу исключительно аналитически. Поэтому решение данной задачи было построено на применение нейронной сети.
Для реализации поставленной задачи была выбрана модель нейронной сети, которая состоит из 4-х скрытых нейронных слоев. На первом (входном) слое будет 3 нейрона, на первом скрытом слое – 15, на втором скрытом слое – 10, на третьем скрытом слое – 10, на четвертом скрытом слое – 6, на выходном слое – 3нейрона [4].
Нейронная сеть была обучена на 800 наблюдениях из набора в 1000 наблюдений, оставшаяся часть набора наблюдений, была использована для тестирования нейронной сети, для того чтобы получить представление о том, насколько точны предсказания нейронной сети.
На рисунке 4 представлен пример тестирования разработанной нейронной сети, а так же отношение числа неправильных ответов к общему числу тестируемых примеров.
Рис. 4 Тестирование нейронной сети
Таким образом, можно увидеть, что точность нейронной сети составляет 85%, что является достаточно высоким показателем, учитывая тот факт, что данные для обучения были достаточно сложными для простого анализа.
Также, при разработке нейронной сети была разработана форма, с помощью которой пользователь мог бы получать максимальную безопасную дальность полета на беспилотном летательном аппарате, вводя данные температуры, скорости ветра, а также дальность прямой видимости. Для этого необходимо ввести данные в массив, в указанном порядке. И запустить выполнение программы, после этого, нейронная сеть произведет обработку входных значений и на выходе будет 3 числа, которые будут характеризовать вероятность каждого из 3-х случаев, после будет выбрано значение с максимальным значением и в соответствии с номером, к которому относится это значение, будет выведено соответствующее сообщение. Пример выходных значений представлен на рисунке 5, данные выходные значения соответствуют введенной скорости ветра равной 0 м/с, температуре воздуха 20ºС и дальности прямой видимости равной 400м.
Рис. 5 Выходное сообщение нейронной сети
Таким образом, разработанная нейронная сеть, которая может прогнозировать максимальную безопасную дальность полета беспилотного летательного аппарата, в зависимости от внешних факторов (температура окружающей среды, скорость ветра, дальность прямой видимости), с точностью 85%. Данная нейронная сеть может быть использована в качестве модуля безопасности, при разработке беспилотного летательного аппарата, который будет запрещать полет беспилотного летательного аппарата на большие дистанции, в опасных для этого погодных условиях, данный фактор позволит сохранить беспилотный летательный аппарат.
Список литературы и источников
1. Л.И. Воронова, В.И. Воронов. Machine Learning: Регрессионные методы интеллектуального анализа данных: учебное пособие – МТУСИ, 2017 – 81 с.
2. lostdrones.ru | База потерянных и найденных квадрокоптеров, самолетов и других дронов на единой карте [Электронный ресурс]. – Режим доступа: https://www.lostdrones.ru/ (дата обращения: 17.12.2017)
3. GISMETEO: погода в России [Электронный ресурс]. – Режим доступа: www.gismeteo.ru/ (дата обращения: 17.12.2017)
4. Курс машинного обучения AndrewNgMachineLearning [Электронный ресурс]. – Режим доступа: https://www.coursera.org/learn/machinelearning (дата обращения: 12.12.2018)