Доклады БГУИР
2019, № 4 (122) УДК 004.023
Doklady BGUIR
2019, No. 4 (122)
МЕТОДИКА РАСЧЕТА ТРАЕКТОРИЙ ПОЛЕТА БЕСПИЛОТНЫХ ЛЕТАТЕЛЬНЫХ АППАРАТОВ ДЛЯ НАБЛЮДЕНИЯ ЗА МЕСТНОСТЬЮ
А.В. МАРКОВ, В.И. СИМАНЬКОВ
Белорусский государственный университет информатики и радиоэлектроники, Республика Беларусь
Поступила в редакцию 19 октября 2018
Аннотация. В статье приведен алгоритм решения задачи построения траектории полета беспилотных летательных аппаратов для наблюдения за статическими целями. Алгоритм обеспечивает близкий к минимальному путь и учитывает ограничение на минимальный радиус поворота.
Ключевые слова: задача коммивояжера, путь Дубинса, беспилотный летательный аппарат.
Abstract. We describe an algorithm building UAV flight path for static targets surveillance. The algorithm provides a sub minimal path and takes into consideration limitation by the maximum turning radius.
Keywords: travelling salesman problem, Dubins path, unmanned aerial vehicle.
Doklady BGUIR. 2019, Vol. 122, Ш. 4, pp. 57-63
Algorithm of building UAV flight trajectories for static target surveillance
A.V. Markov, V.I. Simankov
Введение
При построении маршрутов беспилотных летательных аппаратов (БПЛА) нужно учитывать их динамику. Это особенно важно для аппаратов с неподвижным крылом, так как они имеют больший радиус разворота и инерционность по сравнению с винтокрылыми аппаратами. Если маршрут построен без учета этих ограничений, он может оказаться невыполнимым или непрактичным. Кроме того, траектория полета должна быть такой, чтобы экономить ресурсы и время. С учетом этих требований задача формулируется так: построить минимальный путь с ограничением на максимальную кривизну траектории. В 1957 году Лестер Эли Дубинс показал, используя геометрические выкладки, что любой такой путь будет состоять из круговых дуг максимальной кривизны и отрезков прямых [1]. Тот же результат был позднее продемонстрирован с использованием принципа максимума Понтрягина [2]. Одним из применений кривых Дубинса стала адаптация решения задачи коммивояжера с окрестностями к характеристикам конкретного аппарата. Комплексная проблема получила название «задача коммивояжера с окрестностями Дубинса» [3]. Выбор метода решения во многом зависит от вида окрестностей. В случае произвольной формы можно применить сеточные методы [4]. Непрерывные окрестности заменяются дискретными сетками. Решение может принять значение одного из узлов сети. Также можно применить глобальные методы оптимизации либо пошаговые «жадные» алгоритмы. Если окрестности являются окружностями, эллипсами или многоугольниками, можно применить геометрические эвристические методы.
В данной статье предлагается методика построения траектории полета БПЛА для автономного отслеживания группы наземных статических целей. Допустим, что БПЛА оснащены датчиками с областью видимости в виде окружности. Исходя из этого, область видимости объекта также является окружностью.
Описание алгоритма
Если не учитывать поле зрения датчика БПЛА, то задача планирования полета решается как задача коммивояжера. В этом случае БПЛА должен пролетать непосредственно над объектом наблюдения, что в общем случае приводит к увеличению пути и, возможно, к невыполнению задания. То есть, участки маршрута слишком малы для маневрирования аппрата, обладающего определенной динамикой.
Исходя из этих соображений, предлагается следующий алгоритм.
Шаг 1: Решение классической задачи коммивояжера.
Шаг 2: Решение задачи коммивояжера с окрестностями.
Шаг 3: Решение задачи построения пути Дубинса.
Рассмотрим каждый из этих шагов более подробно.
Решение классической задачи коммивояжера. Одним из эффективных и широко применимых методов решения этой задачи является алгоритм Лин-Кернигана. Основой метода являются перестановки, называемые n-opt ходами, где п - количество участвующих в перестановке связей. Состояние перестановки, обеспечивающее меньший путь, фиксируется. Затем происходит переход к следующему набору связей [4].
Существуют готовые к использованию решения в свободном доступе, например [5]. Данный вариант использовался при тестировании разработанного алгоритма.
Решение задачи коммивояжера с окрестностями. Задача коммивояжера с окрестностями имеет сложность NP-Hard. Точные методы решения таких задач требуют много времени и вычислительных ресурсов.
Широкое распространение получили эвристические алгоритмы, которые не обеспечивают оптимального решения, но дают некоторое близкое к нему. В то же время они имеют меньшую вычислительную стоимость по сравнению с точными методами. «Жадные» методы являются итерационными и также не обеспечивают оптимального решения в глобальном смысле, но являются оптимальными на каждом шаге. Это снижает вычислительную стоимость, так как размерность задачи влияет на время вычисления. Вид окрестности может быть различным. Наиболее часто рассматриваются окрестности в виде многоугольников или окружностей [7].
В [6] предложено решение задачи коммивояжера с окрестностями в виде окружностей с применением модификации алгоритма Вельцля. Предварительно решается задача коммивояжера, затем результат используется как исходные данные задачи с окрестностями. Алгоритм Вельцля вычисляет наименьшую окружность, содержащую заданное множество точек на плоскости за линейное время. Решением является радиус и центр диска.
Предлагаемый здесь метод также использует решение задачи коммивояжера и схож с [6]. Сходство заключается в том, что окрестности имеют вид окружности и для выбора точек маршрута используются геометрические преобразования. Отличие состоит в том, какие точки на каждом шаге рассматриваются в качестве кандидатов на оптимальное локальное решение и правила выбора одной из этих точек.
Алгоритм имеет три операции, каждая из которых выполняется пошагово для всех точек маршрута.
1. Оптимизация с учетом поля зрения. Выделены шесть случаев взаимного расположения точек:
а)(ZACB > п /2) & (AB > г) & (BC > 2г) => pг = Е;
б) (АСАВ > п /2) & (АВ > г) & (ВС > 2г) => рг = Е ;
в) (АВ > г) & (ВЛ < г) & (ВС > 2г) => рг = Е ;
г) (ААВС > п /2) & (АВ > г) & (ВЛ > г) & (ВС > 2г) => рг = Е;
д) АВ < г => рг = А;
е) (АВ > г) & (ВС < 2г) => р1 = Е],
; ^ тгп(АЕ: + ЕЛ) | АЕгЛ п0(С,г) & АЕгЛ п0(В,г).
Перечисленные случаи изображены на рис. 1. На каждой итерации проверяются признаки одного из пяти случаев и согласно соответствующим правилам выбирается следующая точка маршрута.
A=R¡.1
А=К,,
D
д е
Рис. 1. Типовые случаи взаимного расположения центров окрестностей: а - (ACB > n/2)&(AB > r)&(BC > 2r) => p, = E, б - (CAB > n/2)&(AB>r)&(BC > 2r) => p, = E, e - (AB > r)&(BD < r)&(BC > 2r) => p, = E, г - (ABC > n/2)&(AB > r)&(BD > r)&(BC > 2r) => p, = E, д - AB < r => p¡ = А, е - (AB > r) & (BC < 2r) => p¡ = E, j ^ min(AEj + ED) | AEDO 0(C,r) & AEjDП 0(B,r)
2. Поглощение. Происходит удаление точек, имеющих одинаковые или меньшие наборы посещаемых областей. Следует заметить, что эта операция проводится после первой, имея на входе точки оптимизированного решения задачи коммивояжера для центров окрестностей. Поэтому точки А, В, C на рис. 2 расположены не по центрам окружностей.
Рис. 2. Поглощение окрестностей в однуЗ. Срезание углов. Удаляется средняя точка из трех при возможности. Из маршрута пошагово выполняются попытки исключения точек. Рассмотрим порядок выполнения одного шага. Обозначим исключаемую точку В, рис. 3. Предыдущую и следующую точки обозначим А и С соответственно. Устанавливаются окрестности О, через которые проходит часть маршрута АВС. Точка В исключается из маршрута, и проверяется, посещаются ли окрестности О маршрутом P-{B}. Для этого выполняется проверка пересечения каждой окружности из множества О отрезками, образованными соседними точками из множества P-{B}. Если все окружности пересекаются хотя бы одним отрезком, то точка B исключается из маршрута.
e
г
Результатом выполнения данных операций является маршрут меньшей длины и с меньшим либо равным количеством точек по сравнению с исходным маршрутом, проходящим через центры окрестностей.
Сравним разработанный метод и метод из [6]. Для этого взяты исходные условия, приближенные к варианту из [6]. Выполнены операции 1-3 вышеописанного алгоритма. Результат приведен на рис. 4, а.
Рис. 4. Сравнение разработанного метода и основанного на алгоритме Вельцля: а - разработанный метод; б - основанный на алгоритме Вельцля
Для удобства сравнения результат решения модифицированным алгоритмом Вельцля представлен на рис. 4, б. Разработанный метод обеспечил решение, меньшее по длине за счет смещения точек В и С. Количество точек решения больше, так как добавлена точка Е. Принимая во внимание сферу применения алгоритма решения задачи, длина маршрута важнее, чем количество его точек.
Решение задачи построения пути Дубинса. Путь Дубинса это кратчайшая кривая, которая соединяет две точки в двумерной евклидовой плоскости с ограничением на кривизну пути и с заданными начальными и конечными касательными к пути, с условием, что транспортное средство может двигаться только вперед [3]. Решение данной задачи использует результат, полученный на предыдущем шаге. Цель - учет ограничений динамики БПЛА.
Для расчета пути Дубинса необходимо иметь точки маршрута, допустимый радиус поворота аппарата и также курс пролета БПЛА через точку маршрута. Точки маршрута получены на шаге решения задачи коммивояжера с окрестностями. Радиус поворота зависит от скорости движения аппарата и его динамических ограничений. Для упрощения примем скорость аппарата постоянной, тогда радиус поворота будет одинаковым.
Направление захода на цель рассчитывается для каждой точки маршрута. Исходными данными для расчета пути Дубинса будут точки маршрута и соответствующий им курс.
Пусть п - количество точек маршрута, Ре□ пх2- маршрут в двумерном пространстве, состоящий из точек р1, i е [1, п] рп = xi, р{2 = yi. Не □ пх1 - множество соответствующих значений курса, состоящее из элементов h¡,i е [1,п].
Н может быть задано, если есть требования по курсу захода на каждую точку маршрута. Если таких данных нет, то расчет производится исходя из соображений минимального пути: чтобы БПЛА совершил меньшее количество маневров и их длительность была как можно меньше. В этом случае предлагается следующий расчет курсов:
УИ0;= ф,,i е [1,и];
^ = Рг - Рг -1, ¿Хг = йг ,1, йУг = <
Фг =
arctan —L, dxi > 0, dxi
л ¿у, ,
— arctan —L, > 0, 2 dxi
л ¿у, ,
---агС;ап —L, < 0,
2 dxi
йУ.
arctan —± л, dx , < 0,
где йг. - вектор движения от точки рг-1 к точке р 1; йт,,- проекции йг. на оси x и у соответственно; фг. - новое значение курса.
Здесь к0 может быть любым, принимается равным исходному курсу БПЛА
на начальной позиции. Кусочно-заданный вид формулы фг. объясняется необходимостью
устранения многозначности функции arctan на интервале [-л, л]. Во многих языках
программирования существует функция atan2(y, x), которая имеет область значений [-л, л].
Рекомендуется использовать именно ее. Расчет кривых Дубинса производился с использованием методики, описанной в [3]. Произведем расчет пути Дубинса для условий, изображенных на рис. 5.
г ,2'
На рис. 6 штриховой линией обозначено решение задачи коммивояжера для центров окрестностей, ее оптимизация - штрихпунктирной, а траектория полета, построенная с учетом радиуса поворота БПЛА - сплошной. Траектория полета близка к кратчайшему маршруту и содержит минимальное необходимое количество маневров для БПЛА с ограниченным радиусом поворота. В исходном маршруте могут быть участки меньше диаметра поворота БПЛА. В этом случае придется выполнить дополнительный маневр, чтобы зайти на точку маршрута с заданного курса. Чтобы продемонстрировать это, увеличен радиус поворота БПЛА и произведен расчет траектории. На рис. 6, а показан дополнительный маневр.
Рис. 6. Влияние ограничения минимальной длины участка маршрута, приводящего к изменению курса: а - дополнительный маневр для захода на заданный курс, б - с ограничением > k • г
Чтобы исправить эту ситуацию, предлагается проверка на минимальную длину участка маршрута. Для участков маршрута, меньших диаметра поворота БПЛА, курс остается равным предыдущему значению.
\к._1, I ld.ll < k ■ г и I ld.ll = 0 У^,;^ =\ " " 11 ,, е [1, и],k е (2,3],
[Ф, , I КII ^ k ■г
где к - подстраиваемый параметр; г - допустимый радиус поворота БПЛА.
Однако следует учитывать, что несколько участков с Цр^] < к ■ г подряд приведут к
фиксированию курса. В случае, если это оказывает негативное влияние на вид траектории, рекомендуется исключить это ограничение. Алгоритм способен работать при многократном наложении областей видимости объектов наблюдения, как показано на рис. 7.
Рис. 7. Результат расчета для областей видимости объектов наблюдения с многократным перекрытием
Как видно из рис. 7, все области пересекаются траекторией полета при пути, близком к минимальному.
Выводы
Алгоритм обеспечивает сокращение суммарного пути по сравнению с маршрутом, проходящим непосредственно над объектами наблюдения через центры областей видимости. Траектория полета учитывает ограничения на минимальный радиус разворота летательного аппарата. Алгоритм обеспечивает меньший путь по сравнению с [6], в котором используется алгоритм Вельцля.
Список литературы / References
1. Shkel A.M., Lumelsky V. Classification of the Dubins set // Robotics and Autonomous Systems. 2001. Vol. 34. P. 179-202.
2. Dolinskaya I., Maggiar A. Time-optimal trajectories with bounded curvature in anisotropic medium // The International Journal of Robotics Research. 2012. Vol. 12-02. P. 1-48.
3. Walker A. Hard Real-Time Motion Planning for Autonomous Vehicles // PhD thesis, Swinburne University, 2011.
4. Dubins Orienteering Problem / R. Penicka [et al.] // IEEE robotics and automation letters. 2017. Vol 2, iss. 2. P. 1210-1217.
5. Helsgaun K. An Effective Implementation of the Lin-Kernighan Traveling Salesman Heuristic // European Journal of Operational Research. 2000. № 121. P. 106-130.
6. LKH Version 2.0.7 (November 2012). [Electronic resourse]. URL: http://www.akira.ruc.dk/~keld/research/LKH. (date of access: 01.04.2017).
7. Isaacs J.T., Hespanha J.P. Dubins Traveling Salesman Problem with Neighborhoods: A Graph-Based Approach. // Algorithms. 2013. Vol. 6. P. 84-99.
8. Xu J., He L., Pan J. A Progressive Approach to Reducing Data Collection Latency in Wireless Sensor Networks with Mobile Elements // IEEE Transactions on Mobile Computing. 2013. № 12. P. 1308-1320.
Сведения об авторах
Марков А.В., к.т.н., доцент, заведующий кафедрой систем управления Белорусского государственного университета информатики и радиоэлектроники.
Симаньков В.И., аспирант кафедры систем управления Белорусского государственного университета информатики и радиоэлектроники.
Адрес для корреспонденции
220013, Республика Беларусь,
г. Минск, ул. Гикало, 5
Белорусский государственный
университет информатики и радиоэлектроники
тел. +375-17-293-86-02;
e-mail: [email protected]
Марков Александр Владимирович
Information about the authors
Markov A.V., PhD, associate, head of control systems department of Belarusian state university of informatics and radioelectronics.
Simankov V.I., PG student of control systems department of Belarusian state university of informatics and radioelectronics.
Address for correspondence
220013, Republic of Belarus, Minsk, Gikalo st., 5 Belarusian state university of informatics and radioelectronics tel. +375-17-293-86-02; e-mail: [email protected] Markau Aliaksandr Uladzimiravich