У
правление подвижными объектами и навигация
УДК 004.896 ЭС!: http://doi.org/10.25728/pu.2019.3.8
СТАЙНОЕ УПРАВЛЕНИЕ МАЛЫМИ БЕСПИЛОТНЫМИ ЛЕТАТЕЛЬНЫМИ АППАРАТАМИ В СРЕДЕ С ПРЕПЯТСТВИЯМИ1
А.Ю. Ефремов, Ю.С. Легович
Аннотация. Рассмотрена задача управления движением стаи беспилотных летательных аппаратов в квазидвумерном пространстве к целевой точке в среде с препятствиями. Предложен подход, в соответствии с которым на область действия миссии налагается сетка с ячейками выбранного размера, а препятствие интерполируется множеством выпуклых многоугольников, построенных на узлах данной сетки. Предложен алгоритм определения желаемой скорости объектов в группе на основе принципов стайной робототехники. Представлены результаты имитационного моделирования.
Ключевые слова: стайная робототехника, беспилотный летательный аппарат, обход препятствий, имитационное моделирование.
ВВЕДЕНИЕ
Коллективное движение отдельных живых организмов — одно из наиболее интересных явлений в природе. Такое самоорганизующееся поведение прослеживается, например, в стаях птиц и косяках рыб. Движение каждого отдельного члена стаи подчиняется небольшому числу поведенческих правил, а поведение группы при этом довольно сложное. На основании наблюдений за таким поведением К. Рейнольдс представил распределенную поведенческую модель координированного движения стай рыб и птиц [1]. Базовая модель флокирования, т. е. самоорганизованного координированного движения группы автономных мобильных объектов, предусматривает три простых правила управления скоростью и курсом, которые описывают маневрирование отдельных объектов на основе положений и скоростей ближайших соседей:
— объект стремится избежать столкновений с соседями (отталкивание);
— объект старается двигаться в том же направлении, что и соседи (выравнивание);
1 Работа выполнена при финансовой поддержке Программы Президиума РАН № 7 (30) «Теория и технологии многоуровневого децентрализованного группового управления в условиях конфликта и кооперации».
— объекты пытаются двигаться вместе на одинаковом расстоянии друг от друга, не допуская разделения стаи (притяжение).
В случае обхода препятствия стая может временно разделяться на части и снова собираться вместе. Соседство характеризуется расстоянием от объекта и углом, измеренным от направления движения объекта. Согласно модели [1], соседство — это зона, в которой объекты влияют на изменение курса объекта. Объекты вне области соседства игнорируются. Работа [1] явилась мощным стимулом для развития подобного подхода к групповому управлению роботами.
Выделим алгоритмы управления флокирова-нием, предложенные Олфати-Сабером (R. Olfati-Saber) и Таннером (H.G. Tanner). В работе [2] представлены теоретические основы для разработки и анализа распределенных алгоритмов флокирова-ния и предложены три алгоритма: два для фрис-тайлинга и один для ограниченного флокирова-ния. Один из них отвечает за создание пространственного порядка и удовлетворяет трем правилам Рейнольдса, но приводит к регулярной фрагментации. На его основе разработаны два других алгоритма, один из которых учитывает целевую точку, а другой — предотвращение препятствий соответственно. В работе [3] предложены алгоритмы флокирования в фиксированных и коммутируемых сетях, в которых применяется выравнивание векторов скоростей агентов и вводится искусственная потенциальная функция для сохранения
связности группы, а также предотвращения столкновений. Вводится радиус чувствительности и предполагается, что агенты за пределами окружности данного радиуса не влияют на направление. Утверждается, что приведенный алгоритм заставит мультиагентную систему достичь желаемого поведения, а поведение будет робастным. В развитие работ [2, 3] были предложены алгоритмы с виртуальным лидером (например, [4]), несколькими лидерами (например, [5]), с сохранением связей (например, [6]).
Отдельная важная проблема безопасности заключается в способности избегать препятствий в процессе движения. В работе [2] предложен один из первых вариантов алгоритма избегания препятствий, в котором препятствие считается движущимся агентом со своей скоростью, что учитывается при движении мультиагентной системы внутри области влияния препятствия. В работе [7] предложен усовершенствованный алгоритм быстрого флокирования с предотвращением препятствий для многоагентных динамических систем на основе алгоритма Олфати-Саберса. Результаты эксперимента показывают, что производительность предложенного алгоритма лучше в смысле длины пути. В работе [8] для движения к целевой точке или по желаемой траектории вводятся виртуальные объекты (виртуальные указатели — virtual signposts). Они применяются также для задания направления обхода препятствий. Важно отметить, что объекты всех типов (мобильные роботы, препятствия, виртуальные объекты (указатели, целевые точки притяжения)) обрабатываются по общим правилам, но с возможностями индивидуальных настроек. Заметим, что во всех работах рассматриваются препятствия, интерполируемые окружностями.
Роботы «стайного» поведения образуют подмножество мобильной робототехники группового применения и отличаются способностью самостоятельно организовывать свои действия в локальном пространстве. Они характеризуются локальным взаимодействием, самоорганизацией, целенаправленностью поведения группы в целом при отсутствии лидера и с минимальным внешним управлением, адаптивностью к изменяющимся условиям внешней среды, нечувствительностью к изменению численности, что приводит к высокой живучести группы в целом. В последнее время для описания такого подмножества мобильной робототехники стали употреблять термин стайная робототехника.
Согласно некоторым исследованиям [9], стайная модель представляет собой десятый — высший — уровень развития перспективных технологий группового применения авиационных роботов военного и специального назначения.
Управление движением в стайной модели основано на взаимодействии между отдельными роботами и, в большинстве своем, опирается на биологические системы и природные явления. В частности, виртуальные физические подходы связаны с такими явлениями, как кристаллизация, гравитационные силы и потенциальные поля. Как и в модели Рейнольдса, в этих подходах учитывается баланс сил между отдельными объектами в некоторой локальной области.
Практические реализации группового поведения роботов, в большинстве своем, относятся к движению внутри помещений или в них применяются элементы централизованного управления, децентрализованное же управление обычно предполагает наличие малого числа объектов. В работах [10, 11] описаны алгоритмы стайного управления и их практическая реализация в условиях вне помещений для стаи из десяти автономных квад-рокоптеров. Алгоритм основан на <^Р8-видении» и децентрализованном управлении и возможности самоорганизации для отслеживания цели и создания формаций. Кроме того, решение оптимизировано для относительно большой внутренней и внешней ошибки (шум, задержки, ограниченная дальность связи). В вертикальном направлении применяется оригинальный алгоритм поддержания высоты квадрокоптера, который поддерживает предопределенную высоту во время всего полета. Таким образом, автономная самоорганизация происходит в квазидвумерном пространстве и удовлетворительна для многих приложений, подобных площадной аэрофотосъемке или распределенному поиску. По словам авторов, это первый реализованный проект с такими свойствами.
Управление движением летающих роботов осуществляется алгоритмом нижнего уровня, например, ПИД-регулятором скорости. Входом для такого алгоритма служит желаемый вектор скорости. Наша статья посвящена алгоритму его определения при некоторых допущениях относительно роботов, окружающей среды, их взаимодействия и решаемых задач.
1. ПОСТАНОВКА ЗАДАЧИ
Рассматривается задача движения стаи беспилотных летательных аппаратов (БЛА) в квазидвумерном пространстве к целевой точке с обходом препятствий с помощью децентрализованного алгоритма управления. Целевая точка может быть динамической, т. е. ее расположение может меняться во время миссии.
В идеальном случае скорость изменяется на желаемую немедленно, однако для приближения к реальной ситуации мы ввели некоторые дополнительные условия, а именно, ограничения на ско-
рость и ускорение (по модулю и углу поворота). Также учитываются габариты БЛА, которые задаются диаметром описанной окружности. Предполагается, что БЛА обмениваются информацией о своем состоянии в реальном времени, но налагаются ограничения на дальность связи, т. е. взаимное влияние объектов друг на друга локальное.
Рассматривается подход, при котором на область действия миссии налагается сетка с ячейками выбранного размера, а препятствие интерполируется множеством выпуклых многоугольников, построенных на узлах данной сетки по определенным правилам.
2. МАТЕМАТИЧЕСКАЯ МОДЕЛЬ
В качестве базовой мы взяли модель, предложенную в работе [4], добавив в нее учет ограничений по скорости и ускорению. Движение отдельного БЛА в стае описывается уравнением первого порядка:
г(к + 1) = г (к) + и,(к)А?,
где г (к) — вектор местоположения 1-го БЛА, и,(к) — управляющее воздействие (фактически, вектор скорости), А? — шаг времени, к — номер шага.
Как и во многих других работах, определение управляющего воздействия или желаемого вектора скорости основано на попарном влиянии объектов друг на друга. Обычно влияние объекта у на объект I рассматривается как вектор силы воздействия, однако его можно рассматривать и в другом качестве, а именно, какая желаемая скорость должна быть у объекта I «с точки зрения» объекта у, поэтому далее мы будем употреблять термин желаемая скорость. Воздействие объектов друг на друга зависит от множества факторов: типа объекта, взаимного расположения (с учетом вектора скорости), расстояния между ними. В качестве таких объектов выступают другие БЛА, препятствия, а также виртуальные объекты (целевые точки притяжения, например, узловые точки маршрута, а также виртуальные указатели).
Желаемая скорость вычисляется по формулам:
и, = Д и,),
(
ui = V
N
cos 9, sin 9,
N
v = £ Pjj £ Pj,
j = 1 i = 1
где и, и — модуль и направление желаемой скорости и,, и., и 9.. — модуль и направление силы
У У
воздействия у-го объекта, р.. — весовые коэффициенты, в и = 1, N — общее число объектов.
Функция Д учитывает ограничения на скорость (диапазон допустимых значений) и ускорение (по модулю и по углу поворота) и преобразует желаемое управляющее воздействие в допустимое.
Определяющий фактор в данной модели заключается в задании функций, описывающих взаимное влияние объектов друг на друга. Заданное расстояние между БЛА определим постоянным, равным Д которое служит своеобразной точкой равновесия. Данное значение определяет плотность стаи и в свою очередь определяется требованиями безопасности, которые зависят от допустимых значений скорости и ускорения.
Как и в модели Рейнольдса, взаимное влияние одного объекта на другой зависит от расстояния между ними и их взаимного расположения, что приводит к трем возможным моделям поведения: отталкивание, притяжение и имитация. Все эти модели поведения вносят свой вклад в определение желаемой скорости со своими весовыми коэффициентами:
vii - £ jj / £ j,
1 b е B 1 1 b е B
9.. - arctg
£ ay, bsinBii, b/ £ aii, bCOsBi, b
V b е B 1 1 b е B 1 у
N
9,. - arctg
N
£ Pi-smy £ PijCosOii V i = 1 i = 1
где V,.. и 9.. — модуль и направление желаемой ско-
У У
рости объекта I «с точки зрения» объекта у, В — множество основных моделей поведения (отталкивание, притяжение, имитация), ь и 9^. ь — модуль и направление желаемой скорости объекта I «с точки зрения» объекта у, ь — весовые коэффициенты для данных моделей поведения, индекс «Ь» означает одну из трех моделей поведения. Такой подход фактически аналогичен методам нечеткой логики и позволяет, в частности, избежать возмущений при переходе через точку равновесия.
Коэффициенты аь, I ^ у, приведены на рис. 1. Заметим, что в окрестности точки равновесия всегда присутствует имитация, а также отталкивание или притяжение.
Влияние же объекта на свое собственное поведение заключается в «желании» объекта не менять свою скорость, т. е. работает только функция имитации, и ее коэффициент а, равен 1, а соответствующие коэффициенты для функций отталкивания и притяжения равны 0.
Щ А
1
0,5
ау 1
0,5
Щ 1
0,5
0 -1- 0,5 1 1,5 —1— 2 ь —^ ю
А а
--
0 0,5 | .........■■- -.....1........*..........-......* 1 1,5 \ 2 к \ю
А б
■ - 1 / 1 |
0 0,5 1 г 1 1,5 2 к
сматривались оба варианта, а именно параметрические функции первого и третьего порядков:
Рис. 1. Графики коэффициентов а^. ь для разных моделей поведения: а — отталкивание; б — притяжение; в — имитация
В таблице приведено определение желаемой скорости объекта I «с точки зрения» объекта у для разных моделей поведения.
Весовые коэффициенты р У, I ф у, зависят от расстояния между объектами |г..| и задают степень влияния объекта у на объект I. Коэффициенты рй = 1 определяют точку отсчета для степени влияния объектов друг на друга. Например, если объект у расположен слишком близко, то для избегания столкновения требуется задать желаемую скорость от объекта у к объекту I с большим значением Ру, что приводит к доминации данного члена суммы при расчете желаемой скорости. Можно воспользоваться линейной зависимостью р.. от расстояния между объектами или функциями более высокого порядка, например, третьего. В нашей модели рас-
Взаимное влияние объектов
Модель поведения (Ь) Положение объекта у относительно объекта 1 Вектор желаемой скорости объекта 1
Модуль Направление
Отталкивание Впереди Сзади Минимум Максимум От объекта у к объекту 1
Имитация Любое Как у объекта у Как у объекта у
Притяжение Впереди Сзади Максимум Минимум От объекта / к объекту у
Р(х) =
У 2 - У\ У2--22-1X, X < х1
У1
Х1 - х2 0, х > х 2
■(х - х2), х1 < X < х2
(1)
Р(х) =
(2)
У2 - У1 3 У2 --22--г-1 х, х < х 1
х1
У13 -1-- (х - х2 ) , х 1 < х < х 2
(х1 - х2 ) 0, х > х 2
где х — расстояние между объектами |гу |, деленное на Б, а х1, х2, у1, у2 — параметры, х1 < х2, р(0) = у2, Р(х1) = у1. Значение х2 можно интерпретировать как расстояние, при превышении которого влияние объектов прекращается, оно может зависеть от дальности связи, при рассмотрении влияния объектов в стае, или от дальности сенсоров, если рассматривается влияние препятствия. Заметим также, что можно задавать тип функции р„(х) и ее параметры отдельно для каждой пары объектов.
Приведенная модель подходит для определения взаимного влияния друг на друга объектов в стае, а также влияния препятствий, интерполированных окружностями, на мобильные объекты. Заметим, что у препятствий отсутствует функция притяжения, а функция имитации вводится искусственно путем добавления виртуального указателя в центр окружности. Кроме того, эта модель подходит и для виртуальных объектов, таких как целевая точка притяжения и виртуальные указатели. В данной работе мы из виртуальных объектов будем рассматривать только целевую точку. Она имеет только одну модель поведения — притяжение; имитация и отталкивание отсутствуют. Также мы полагаем, что функция притяжения постоянна и равна 1.
3. ОБХОД ПРЕПЯТСТВИЙ
Как уже отмечалось, основная модель поведения препятствия — отталкивание. Моделью поведения препятствия может быть и имитация, что позволяет дополнительно задать направление обхода препятствия. Модель поведения притяжение отсутствует. В работе [8] рассматривались общая сила отталкивания и общая сила имитации для всего препятствия.
В рамках развития данной модели была исследована альтернативная возможность описания препятствий, которая заключается в следующем. Вся область миссии описывается при помощи сетки с ячейками выбранного размера, а препятствие интерполируется множеством выпуклых много -угольников, построенных на узлах данной сетки по определенным правилам, в частности, ребро многоугольника соединяет узел сетки только с его соседними узлами.
Это дает возможность рассчитывать расстояние между БЛА и препятствием как расстояние между БЛА (с учетом его габаритов, а именно, радиуса описанной вокруг него окружности) и ближайшей вершиной многоугольника, описывающего препятствие. Применение более точного метода расчета расстояний, а именно, построение нормали к ребрам многоугольника, существенных улучшений не дало (при правильном выборе размера ячеек сетки). Заметим, что теперь и расстояния между БЛА также рассчитываются с учетом их габаритов, а не между их центрами. Таким образом, мы имеем реальное расстояние между объектами.
Рассмотрим более подробно влияние препятствия на БЛА и возможность его описания в рамках приведенной выше универсальной модели. Для этого рассмотрим желаемую скорость БЛА относительно препятствия. Один из возможных подходов состоит в определении желаемой скорости с учетом двух факторов: избегания столкновения и обхода вдоль границы препятствия, например, по касательной. Третий фактор заключается в расположении целевой точки относительно БЛА и препятствия.
Отдельный вопрос — выбор желаемого расстояния Б между БЛА и препятствием. Поскольку у препятствия нет функции притяжения, желаемое расстояние уже не является точкой равновесия в паре «БЛА — препятствие», а просто определяет безопасное расстояние и используется при расчете весовых коэффициентов в в универсальной модели.
Переход к альтернативному описанию препятствий дал возможность формировать желаемую скорость БЛА в каждом узле многоугольника, которая складывается из двух частей: избегание столкновения — вектор скорости направлен по нормали от препятствия и обход препятствия (имитация) — вектор скорости направлен вдоль его границы к следующей точке, причем отдельно для каждого направления обхода (по часовой стрелке и против часовой стрелки). Суммарная желаемая
скорость БЛА (объект с индексом I) относительно к-й точки препятствия (объект с индексом у) складывается из двух слагаемых: вектора отталки-
к, гер г / ч к, тИ
вания у- и вектора обхода (имитации) с
учетом весовых коэффициентов у^, к — номер точки препятствия:
k k k, rep | /л k \ k
a = Yij vj p + (1 - Yj) \
k, imit
к, 1тИ г
где выбирается в зависимости от направле-
ния обхода, ук- зависит от взаимного расположения БЛА и препятствия с учетом направления вектора скорости БЛА, а также расположения целевой точки относительно БЛА и препятствия. Смысл
коэффициентов у| заключается в том, чтобы при
движении БЛА на препятствие доминирующим поведением было отталкивание, а при движении вдоль — имитация (обход). Для расчета была принята правосторонняя система координат (х, у'), связанная с БЛА, при этом ось х' направлена вдоль вектора скорости БЛА:
y« Су' ) =
min(v 1 - Ymin> max ^Ymin> 1 - Ymin> Уя ^ У' ^ Уь
1-
| У Я D + S
minl 1 - Ymin> maxlYmin. 1 -
M
D + S
У < Уя
У > Уь
где у' — координата к-й точки препятствия, у', у'ь — координаты крайней правой и крайней левой точек препятствия в данной системе координат: у' > у'ь, ^ — диаметр описанной окружности (габариты) БЛА, уш1п — параметр. Алгоритм определения крайних точек препятствия может быть различным. Если заранее известны координаты всех точек препятствия, то выбор происходит из всех видимых точек (по правилам геометрии), в противном же случае, учитывается дальность сенсоров, и выбор ведется из подмножества видимых точек с учетом характеристик приборов.
Общее влияние препятствия можно учитывать двумя способами, а именно, как отдельное воздействие каждой из точек или как усредненное воздействие всего препятствия. Согласно первому из них, каждая точка препятствия рассматривается как отдельный объект влияния на БЛА, согласно второму способу — препятствие рассматривается целиком:
Vj = х ej vkj /1 в«
j ke W keW
3« = arctg X pj sin3« / X ej cos3«
k eW
k eW
v
где в у — весовые коэффициенты, рассчитываемые в зависимости от расстояния от БЛА до к-й точки препятствия, аналогично зависимостям (1) и (2), О — множество, состоящее из тех точек препятствия, которые учитываются при расчете.
Заметим, что множество О динамическое. Простейший вариант состоит в учете влияния только одной ближайшей точки препятствия. Предпочтительно учитывать дополнительно только те точки препятствия, которые лежат впереди БЛА (имеют
Рис. 2. Результаты моделирования: а — шаг 30; б — шаг 75; в — шаг 110; г — шаг 140; д — шаг 180; е — шаг 225; ж — шаг 75; з — шаг 110
положительную координату х' в системе координат БЛА).
При решении задачи движения к целевой точке также учитывается фактор нахождения препятствия на пути данного БЛА к цели. Если препятствие не на пути, то его влияние не учитывается в расчетах. Однако при движении стаи, а также при наличии других достаточно близко расположенных препятствий это может привести к столкновению. Поэтому следует учитывать, на каком расстоянии от препятствия проходит БЛА на пути к целевой точке и определить некое безопасное расстояние, которое можно выбрать равным Б. В не-
которых случаях возможна и более тонкая настройка.
4. РЕЗУЛЬТАТЫ МОДЕЛИРОВАНИЯ
При численном моделировании рассматривалась задача движения стаи, состоящей из десяти БЛА самолетного типа, к целевой точке с обходом препятствия (рис. 2). Треугольниками показаны БЛА, черной линией ограничено препятствие. Целевая точка имеет зону, ограниченную штриховой окружностью, при попадании в которую любого БЛА из стаи миссия считается выполненной.
Рис. 3. Графики изменения показателей для одного БЛА в стае: а — модуль скорости; б — скорость по направлению; в — функция в; г — функция у; д — расстояние до препятствия; е — направление на целевую точку
Рис. 4. Графики изменения минимального расстояния (а) между БЛА в стае и согласованности движения стаи (б) по направлению
Моделирование проводилось в относительных единицах измерения — экранных координатах, без пересчета в реальные физические величины, поэтому далее мы не будем указывать размерность. Шаг сетки равен 15. Характеристики БЛА: габариты (диаметр описанной окружности) — 15; максимальная скорость — 20; минимальная скорость — 5; максимальное ускорение по модулю — 4;
максимальное угловое ускорение — 20 °/с2. Желаемое расстояние Б между объектами в стае равно 30. Желаемая скорость стаи — 15. Желаемое (безопасное) расстояние Б от БЛА до препятствия также равно 30. Диаметр зоны целевой точки равен 60.
Функция р.. рассчитывается по линейной зависимости (1). Для расчета влияния БЛА друг на друга были выбраны такие параметры: х1 = 1,2; х2 = 8; у1 = 0,2; у2 = 10. Для расчета влияния препятствия на БЛА: х1 = 2; х2 = 8; у1 = 0,5; у2 = 40,5. Значение параметра уш1п = 0,1. При учете влияния препятствия учитывалась только одна (ближайшая) точка, при этом желаемая скорость БЛА относительно препятствия равна желаемой скорости стаи. Желаемая скорость БЛА относительно целевой точки также равна желаемой скорости стаи.
При учете влияния препятствия были рассмотрены два случая: учет только ближайшей точки и учет трех ближайших точек. Анализ переходных процессов показал, что усредненное влияние препятствия при учете трех точек практически аналогично учету только одной ближайшей точки. Поэтому далее будут приведены сравнительные результаты при суммарном воздействии одной и трех точек препятствия без усреднения. Шаг по времени был выбран равным 0,25 с.
На рис. 2, а—е показаны результаты моделирования при учете одной точки препятствия.
Для сравнения траекторий на рис. 2, ж, з приведены результаты моделирования при учете трех
точек. Видно, что в этом случае наблюдается более прямолинейное движение к углу препятствия.
Для оценки поведения отдельного БЛА в стае и исследования работы алгоритма приняты показатели: скорость по модулю \У | и направлению V,, ускорение по модулю № и угловое ю, значение функций р и у в паре «БЛА — препятствие», расстояние до препятствия Я = Ы/Б и показатель Y_FP направления на целевую точку. Если БЛА двигается мимо области вокруг целевой точки, то Y_FP = 0, если строго на целевую точку, то Y_FP = 1, а между целевой точкой и границей области строится линейная зависимость.
На рис. 3 показаны графики изменения этих показателей для одного из БЛА в стае, который был выбран из условия наибольшего приближения к препятствию. Штриховой график соответствует учету одной точки препятствия, сплошной — трем точкам. Видно, что в обоих случаях расстояние до препятствия Я > 1 (см. рис. 3, д) и что при учете трех точек БЛА проходит дальше от препятствия.
Для оценки поведения стаи использовалось два параметра: минимальное расстояние между БЛА в стае ЯтП = тт(\гц.\/Б), / ф у (рис. 4, а) и согласованность движения стаи по направлению у (рис. 4, б):
у(0 =
1
N
I I
V, (*) . t)
N N -1) ^ # К< t )| 1.1 )|'
где N — число БЛА в стае, v¡(t)v■(t) — скалярное
* У
произведение двух векторов скорости. В идеальном состоянии у « 1, в неупорядоченном состоянии у « 0.
Как и ранее, штриховой график соответствует учету одной точки препятствия, сплошной — трем точкам. На рис. 4, а видно, что во время миссии Яш1п > 0,6 (в первом случае) и Ят1п > 0,75 (во втором
случае), причем, в первом случае минимум достигается при обходе угла препятствия (см. рис. 2, в). Показатель же согласованности движения стаи достигает окрестности значения 1 (рис. 4, б) очень быстро и далее при маневрах практически не меняется.
ЗАКЛЮЧЕНИЕ
Предложенный метод управления группой беспилотных летательных аппаратов (БЛА) основан на принципах стайной робототехники. При определении желаемого вектора скорости отдельного БЛА рассматривается влияние на него других объектов (БЛА, препятствия, целевой точки и др.). Важно, с нашей точки зрения, рассматривать влияние объекта на БЛА не как вектор силы, а как вектор желаемой скорости БЛА «с точки зрения» данного объекта. Преимущества такого подхода наиболее ярко проявляются в случае препятствий, особенно протяженных, когда рассматривается не просто сила отталкивания от препятствия, а учитывается необходимость обеспечить движение БЛА вдоль границы препятствия. Рассмотренный вариант описания препятствий в виде множества выпуклых многоугольников, построенных на узлах сетки, наложенной на область действия миссии, позволил не только избежать столкновений, но и обеспечить движение БЛА вдоль границы.
ЛИТЕРАТУРА
1. Reynolds, C.W. Flocks, Herds and Schools: a Distributed Behavioral Model // Computer Graphics. — 1987. — Vol. 21, No. 4. — P. 25—34.
2. Olfati-Saber, R. Folocking for multi-agnet dynamics systems: algorithms and theory // IEEE Trans. on Automatic Control. — 2006. — Vol. 51, No. 3. — P. 401—420.
3. Tanner, H.G., Jadbabaie, A., Pappas, G.J. Flocking in Fixed and Switching Networks // IEEE Trans. on Automatic Control. - 2007. - Vol. 52, No. 5. - P. 863-868.
4. Ghapani, S., Mei, J., Ren, W., Song Y. Fully Distributed Flocking with a Moving Leader for Lagrange Networks with Parametric Uncertainties // Automatica. — 2016. — Vol. 67. — P. 67-76.
5. Su, H. Flocking in multi-agent systems with multiple virtual leaders based only on position measurements // Communications in Theoretical Physics. — 2012. — Vol. 57, No. 5. — P. 801—807.
6. Dong, Y., Huang, J. Flocking with connectivity preservation of multiple double integrator systems subject to external disturbances by a distributed control law // Automatica. — 2015. — Vol. 55 — P. 197—203.
7. Wang, J., Zhao, H, Bi, Y., et al. An improved fast flocking algorithm with obstacle avoidance for multiagent dynamic systems // Journal of Applied Mathematics. — 2014. — Vol. 2014. — Art. ID 659805. — P. 1—13. — DOI: http://dx.doi.org/ 10.1155/2014/659805.
8. Rochefort, Y., Piet-Lahanier, H, Bertrand, S. Guidance of Flocks of Vehicles Using Virtual Signposts // Preprints of the 18th IFAC World Congress. — 2011. — P. 5999—6004.
9. Air Warfare. OSD UAV Roadmap 2002—2027 // Office of the Secretary of Defense (Acquisition, Technology & Logistics), USA. — 2002.
10. Viragh, C, Vasarhelyi, G, Tarcai, N, et al. Flocking algorithm for autonomous flying robots // Bioinspiration and Biomimet-ics. — 2014. — Vol. 9, No. 2. — Art. No. 025012.
11. Vasarhelyi, G, Viragh, C, Somorjai, G, et al. Outdoor flocking and formation flight with autonomous aerial robots // Intelligent Robots and Systems. — 2014. — P. 3866—3873.
Статья представлена к публикации членом редколлегии
Р.В. Мещеряковым.
Ефремов Андрей Юрьевич — науч. сотрудник,
Н e_andre@mail.ru,
Легович Юрий Сергеевич — канд. техн. наук,
вед. науч. сотрудник, Н legovichy@yandex.ru,
Институт проблем управления им. В.А. Трапезникова РАН,
г. Москва.
Поступила в редакцию 16.10.2018, после доработки 24.12.2018.
Принята к публикации 14.01.2019.
Abstract. The motion control problem of UAVs flock moving through obstacle field towards a target point in quasi-two-dimensional space is considered. An approach is suggested, according to which the grid with cells of the selected size is imposed on the mission area while the obstacle is interpolated by the set of convex polygons constructed on the nodes of this grid. The algorithm for determining the desired speed of objects in a group based on the principles of flocking robotics is proposed. The results of the simulation modeling are presented.
Keywords: flocking robotics, unmanned aerial vehicle, obstacle avoidance, simulation modeling.
FLOCKING CONTROL OF SMALL UNMANNED AERIAL VEHICLES
IN OBSTACLE FIELD
M.
A.Yu. Efremov#, Yu.S. Legovich
V.A. Trapeznikov Institute of Control Sciences of Russian Academy of Sciences, Moscow, Russia
ji
#h e_andre@mail.ru