Тема
Модуль 10 · Конкретні задачі роїв
Прикладні постановки повністю: покриття території й пошук, обхід перешкод, керований поділ рою, планування місії. Для кожної — які дані потрібні, як виглядає винагорода й якими метриками вимірюють результат.

Місія покриття: теплові карти в три моменти й крива покриття
Зміст лекції
| Частина | Про що |
|---|---|
| 1. Що рій уже вміє | історія задач, проєкти-віхи, сім прикладних доменів |
| 2. Критерії доцільності | коли задача справді вимагає рою |
| 3. Обхід перешкод і поділ рою | потенціальні поля, α–β–γ агенти, split/rejoin і squeezing |
| 4. Вимірювання цілісності рою | компоненти зв'язності, |
| 5. Пошук об'єкта і розподіл цілей | дві прикладні місії з числами |
| 6. Місія покриття, метрики й поломки | постановка, сім метрик, як ловлять збої |
Модуль 08 дав апарат навчання. Тут він застосовується до постановок, які замовник місії формулює своїми словами.
Результати навчання
Після лекції ви зможете:
- назвати чотири критерії, за якими вирішують, чи потрібен рій у конкретній задачі;
- побудувати керування потенціальними полями й показати на числах, де воно ламається;
- пояснити схему α–β–γ агентів і чому поділ рою не потребує окремого предиката в коді;
- обчислити кількість компонент зв'язності та відносну зв'язність рою й відрізнити керований поділ від фрагментації;
- спроєктувати вектор спостереження й винагороду для задачі покриття;
- назвати сім метрик місії покриття з числовими порогами;
- за логами розпізнати шість типових поломок роєвої політики.
Частина 1 · Що рій уже вміє
Поле накопичило впізнаваний набір задач, на яких ставили експерименти від 1993 року.
| Період | Задачі |
|---|---|
| Ранні | стигмергія, object retrieval і foraging, stick pulling, clustering, сортування об'єктів |
| Середина | агрегація, самозбирання, колективне транспортування, покриття площі |
| Пізніші | shape formation, флокінг, розподіл задач, колективне прийняття рішень, колективне сприйняття, розподіл ролей |
Проєкти-віхи: Swarm-bots (2001–2005, до 20 роботів, самозбирання), Swarmanoid (2006–2010, три типи роботів), Kilobot (тисяча роботів, shape formation). Поза суходолом — надводні, підводні та літаючі рої; для останніх типова платформа Crazyflie.
Сім прикладних доменів, які найімовірніше вестимуть галузь: точне землеробство, інспекція інфраструктури, оборона, космічні місії, розваги, точна медицина, логістика.
Частина 2 · Коли задача справді вимагає рою
Перш ніж проєктувати рій, задачу проганяють через ті самі чотири критерії, що й у Модулі 01. Якщо хоч один не виконано, роєве рішення дорожче за альтернативу.
| # | Критерій | Що робити, якщо «ні» |
|---|---|---|
| 1 | Задачу не можна ефективно розв'язати одним апаратом | будувати однороботне рішення |
| 2 | Централізована координація неможлива або недоцільна | розглянути централізацію або розподілене керування з прогнозною моделлю |
| 3 | Задача не має наперед заданого розбиття на підзадачі | застосувати класичний розподіл між спеціалізованими агентами |
| 4 | Очікується надлінійне зростання продуктивності від кількості | відмовитися від рою: накладні витрати на координацію з'їдять виграш |
Micro–macro problem із Модуля 01 нікуди не зникає: бажану поведінку формулюють на рівні групи, а програмувати можна лише окремого апарата. Наявні методи проєктування — аналітичні моделі, шаблони, автоматичний синтез, еволюційна оптимізація — розв'язують лише відносно прості випадки.
Рівні автономії та режими керування
Перш ніж говорити про алгоритми, треба домовитися, скільки саме автономії передано апарату. Проміжні режими на практиці трапляються частіше за повну автономію.
| Режим | Хто задає траєкторію | Що робить апарат сам | Типове застосування |
|---|---|---|---|
| Ручний | оператор, безперервно | стабілізація кутів | навчання, аварійне перехоплення |
| Напівавтономний за точками | оператор задає точки маршруту | політ між точками, утримання висоти | аерозйомка, інспекція |
| Напівавтономний із супервізією | оператор задає ціль місії | планування маршруту, обхід перешкод | пошук, доставка |
| Автономний | ніхто, ціль задана наперед | усе, включно з розподілом задач у рої | роєві місії цього курсу |
Сім аспектів автономної навігації, які проєктують окремо: сприйняття, локалізація, побудова карти, планування шляху, обхід перешкод, керування рухом, прийняття рішень на рівні місії. Роєвий рівень додає восьмий — координацію з сусідами.
Сім прикладних доменів
Галузі, у яких застосування роїв виглядає найближчим, і що саме в них потрібно від рою.
| Домен | Задача рою | Критична вимога |
|---|---|---|
| Точне землеробство | обстеження поля, точкове внесення | покриття площі, повернення на зарядку |
| Інспекція інфраструктури | обліт ЛЕП, мостів, трубопроводів | точність позиціювання, робота біля конструкцій |
| Оборона | розвідка, прикриття периметра | стійкість до втрати апаратів і завад |
| Космічні місії | рої пікосупутників | мінімалістичні контролери, радіаційна стійкість |
| Розваги | світлові шоу | точність форми; централізовано, тому не рій за означенням |
| Точна медицина | мікро- й нанороботи | інша фізика на малих масштабах |
| Логістика | доставка, складські операції | розподіл задач, енергетика |
Частина 3 · Ціль тягне, перешкода відштовхує
Найдешевший робочий закон обходу перешкод: ціль створює притягальне поле, кожна перешкода — відштовхувальне, апарат рухається за сумою.

Карта векторів потенціального поля і траєкторія навколо двох перешкод
Вага відштовхування спадає з відстанню й дорівнює нулю далі за радіус впливу
Числовий приклад: як складаються вектори
Апарат летить із точки
| Позиція апарата | Відстань до перешкоди | Вага відштовхування | Результуючий вектор | Кут відхилення |
|---|---|---|---|---|
| 1,41 | 0,60 | −36° | ||
| 1,61 | 0,41 | −17° | ||
| 2,34 | 0,15 | +5° |
Біля перешкоди відштовхування майже дорівнює притяганню й апарат іде вбік; щойно він розминувся, вага падає вчетверо — з 0,60 до 0,15 — і траєкторія повертається на ціль.
Де метод ламається. Поставте другу перешкоду симетрично, у точці
Потенціальні поля: коли метод стає в глухий кут
Ціль тягне, перешкода відштовхує. Перешкоду можна перетягнути мишею. Кнопка «Дві симетричні» ставить другу навпроти першої.
0.00; 0.00положення апарата, м
8.00 мвідстань до цілі
8.00модуль сумарної сили
нізастряг у мінімумі
З однією перешкодою апарат обходить її збоку й доходить до цілі. Поставте дві симетричні — бічні складові взаємно знищаться, звертати нікуди, поздовжні додадуться й переважать притягання: апарат зупиниться перед проходом при ненульовій відстані до цілі. Це класичний локальний мінімум, і саме він мотивує перехід до навчання в наступних модулях.
Керований поділ: α-, β- і γ-агенти
Керування кожного агента складається з трьох доданків, і кожен відповідає за свою «породу» сусідів.
| Агент | Хто це | Що робить |
|---|---|---|
| α | реальний сусід ближче за радіус взаємодії | тримає ґратку: відштовхує зблизька, притягує здалеку, вирівнює швидкості |
| β | віртуальна тінь самого агента на поверхні перешкоди | відштовхує від перешкоди й зникає, щойно агент відійшов |
| γ | спільна для всіх рухома точка збору | тягне весь рій в один бік і зводить підрої назад після перешкоди |
Перешкода не є агентом, і карта для обльоту не потрібна: кожен агент будує собі β-сусіда локально, з власного вимірювання відстані до поверхні.
Ваги впорядковані так, що уникнення перешкод найсильніше, ведення до цілі слабше, а згуртованість найслабша — інакше рій притискав би себе до стіни, аби не розірвати ґратку.
Два маневри проходу
| Маневр | Умови | Як поводиться рій | Числа сценарію |
|---|---|---|---|
| Split / rejoin | кілька перешкод на прямій до цілі | розтікається на потоки, обтікає й знову збирається | 150 агентів, 6 круглих перешкод |
| Squeezing | дві перешкоди близько, прохід | стискається в колону й просочується, не розриваючись | 150 агентів, просвіт ≈ 20 при |
Обидва маневри дає та сама сума трьох доданків. Жодного перемикача режимів і жодного предиката «ділимося» в коді немає — маневр обирає геометрія. Широко рознесені перешкоди розводять потоки, вузький просвіт їх стискає.
Єдина кількісна умова: ширина проходу
Хто вирішує, що рій ділиться
Поділ буває наслідком геометрії, а буває — рішенням. Сім механізмів відрізняються тим, хто і на підставі чого ухвалює це рішення.
| Механізм | Хто вирішує | На підставі чого |
|---|---|---|
| Геометричний (α–β–γ) | ніхто, поділ емерджентний | форма перешкоди |
| За призначеною роллю | проєктувальник наперед | статичний поділ на підрої |
| За найближчою ціллю | кожен агент сам | відстань до своєї цілі |
| Голосування | рій колективно | локальний консенсус про поділ |
| За лідером | лідер підрою | команда згори |
| За зв'язністю | агент на межі | падіння |
| Наземною станцією | оператор | зовнішнє рішення |
Перші три не потребують обміну повідомленнями взагалі. Голосування й поділ за зв'язністю вимагають розподіленого консенсусу — того самого протоколу з Модуля 02, але зі станом «ділимося / не ділимося».
Частина 4 · Поділ рою в числах
Граф сусідства — вершини-агенти й ребра між тими, хто ближчий за радіус взаємодії. Кількість компонент зв'язності дорівнює

Поділ і злиття рою з метриками цілісності в часі
Симуляція: 12 агентів, радіус сусідства
Результат:
Зверніть увагу на форму червоної кривої: поділ не є одноразовою подією. Рій рветься, на кілька кроків відновлює зв'язок, рветься знову — саме тому моніторити треба кількість компонент у часі, а не факт «розпався чи ні» в один момент.
Керований поділ проти фрагментації
Поділ сам собою не є дефектом. Дефектом він стає, коли рій розпався непередбачувано і не зібрався назад.
| Показник | Керований поділ | Фрагментація |
|---|---|---|
| Кількість компонент | зростає й повертається до 1 | зростає й лишається > 1 |
| Час до злиття | скінченний, передбачуваний | не настає |
| відновлюється | лишається нулем | |
| Причина | геометрія перешкоди | втрата зв'язку, відмова ретранслятора, надто слабкий γ-член |
Три числа, за якими це відрізняють у логах: кількість компонент, відносна зв'язність
Частина 5 · Пошук об'єкта
Пошук відрізняється від покриття цільовою функцією: покриття вимагає обстежити все, пошук — знайти якнайшвидше. Якщо є апріорна карта ймовірності, ці дві задачі розходяться сильно.

Порівняння пошуку: випадковий, регулярний обхід і за картою ймовірності, 20 прогонів
Чотири апарати, сітка 40 × 40 комірок, ціль у слабшому з двох районів підозри — як і буває насправді, бо апріорна карта є здогадом.
| Стратегія | Час до виявлення | Не знайшли |
|---|---|---|
| Випадкове блукання | 60 ± 56 с | 10 із 20 прогонів |
| Регулярний обхід (lawnmower) | 14 ± 0 с | 0 |
| Пошук за картою ймовірності | 5 ± 8 с | 0 |
Регулярний обхід передбачуваний — розкид рівно нуль. Пошук за картою швидший у середньому, але має більший розкид: якщо ціль опинилася поза районами підозри, він програє. Це типовий компроміс «середнє проти найгіршого випадку», і замовнику треба сказати, який із них важливіший.
Розподіл цілей між апаратами
Найпростіше правило — кожна ціль дістається найближчому апарату. Воно розподілене, не потребує переговорів і працює миттєво. Але рівномірного навантаження воно не гарантує.

Розподіл цілей за найближчим агентом і розкид навантаження
П'ять апаратів, чотирнадцять цілей: розподіл за найближчою відстанню дає розкид навантаження 8× між найзавантаженішим і найменш завантаженим. Метрика «розкид внеску між дронами» з наступного розділу ловить саме це.
Виправлення — аукціонний протокол або обмеження на кількість цілей на апарат: кожен агент оголошує вартість (час підльоту), цілі призначаються за мінімальною сумарною вартістю з урахуванням завантаження. Ціна — обмін повідомленнями й час на узгодження.
Зони відповідальності: розбиття Вороного

Розбиття Вороного і карта покриття для рою з дев'яти апаратів
Розбиття Вороного дає кожному апарату зону, для якої він найближчий, і робить це суто локально: щоб знати межу зі своїм сусідом, апарату досить положення цього сусіда. Карта відстані до найближчого апарата одразу показує, де рій «бачить» гірше за все.
Саме цю конструкцію використовують і як винагороду: у гетерогенному рої з Модуля 08 розвідники мінімізують найбільшу комірку Вороного, що прямо означає «зробити покриття рівномірним».
Зони відповідальності: розбиття Вороного
Кожен апарат відповідає за точки, до яких він найближчий. Перетягніть апарат мишею — межі перерахуються самі, і для цього апарату досить знати положення лише своїх сусідів.
1651 м²найбільша комірка
772 м²найменша комірка
2.1×розкид навантаження
37.8 мнайгірша відстань до апарата
Зсуньте два апарати в один кут: їхні комірки стиснуться, а протилежний бік майданчика дістанеться одному апарату — розкид навантаження підскочить у рази. Це та сама патологія, яку в лабораторній роботі 5 ловлять метрикою «розкид внеску між дронами». Натисніть «Розвести повністю»: кроки Ллойда зсувають кожен апарат у центр мас його зони, і розкид падає до одиниці. Мінімізація найбільшої комірки й означає «зробити покриття рівномірним».
Частина 6 · Місія покриття та метрики
Шість апаратів обстежують кімнату 10 × 10 м, розбиту на 20 × 20 комірок по 0,5 м, за 180 с — та сама сцена, що в лабораторній роботі 5. Дрон не має карти всієї місії — він має короткий вектор.
| Що знає | Розмір | Джерело | Приклад для дрона №3 |
|---|---|---|---|
| Своя позиція та швидкість | 6 | UWB + оптичний потік | |
| Орієнтація та кутова швидкість | 12 | BMI088 | горизонтально, |
| Локальна карта відвіданого, вікно 5 × 5 | 25 | обмін по радіо | 18 відвіданих, 7 нових |
| Напрямок на найближчу невідвідану клітинку | 3 | локальна карта | |
| 24 | обмін позиціями | Д1 за 0,81 м, Д5 за 1,4 м | |
| Заряд акумулятора | 1 | вольтметр на борту | 0,58 |
| Час до кінця епізоду | 1 | таймер | 0,42 |
| Разом | 72 |
Вікно 5 × 5 замість усіх 400 клітинок — той самий принцип, що й
Винагорода за покриття: покроково
Покриття — не миттєва величина, її нараховують по подіях.
| Крок | Дії дрона №3 | Нові клітинки (рій) | Особиста | Спільна | ||
|---|---|---|---|---|---|---|
| 6000 | 120,00 | входить у нову клітинку | 3 | +0,85 | ||
| 6001 | 120,02 | ще в тій самій клітинці | 1 | 0,00 | +0,05 | |
| 6002 | 120,04 | летить далі, клітинка стара | 0 | 0,00 | 0,00 | 0,00 |
До цієї суми на кожному кроці додаються штрафи за різкість керування
Підсумок за епізод при хорошому польоті: рій відкриває 360 клітинок × 0,7 особистої частини ≈ 252 очка, розподілених між шістьма, плюс спільна частина. Штрафи за близькість забирають 5–8 % — це нормальна ціна безпеки.
Метрики місії: що доповідають замовнику
Одна цифра «винагорода за епізод» замовнику місії нічого не каже.
| Метрика | Погано | Прийнятно | Добре | Цільовий рівень |
|---|---|---|---|---|
| Покриття за 180 с | < 70 % | 70–90 % | > 90 % | ≥ 90 % (360 із 400) |
| Час до 90 % покриття | не досягнуто | 150–180 с | < 150 с | < 150 с |
| Зіткнень на дрон за хвилину | > 1,0 | 0,05–1,0 | < 0,05 | < 0,05 |
| Мінімальна дистанція за епізод | < 0,15 м | 0,15–0,30 м | > 0,30 м | > 0,30 м |
| Залишок заряду при посадці | < 15 % | 15–30 % | > 30 % | > 30 % |
| Частка часу над відвіданим | > 40 % | 20–40 % | < 20 % | < 20 % |
| Розкид внеску між дронами | один робить > 50 % | найкращий / найгірший > 5× | різниця < 2× | < 2× |

Мінімальна відстань між вісьмома апаратами в часі
Мінімальна дистанція — окрема обов'язкова крива: вона має завжди лежати вище радіуса безпеки. Провал нижче — відмова, навіть якщо покриття виглядає добрим.
Орієнтир зі справжніх польотів: рій із восьми апаратів дає близько 0,02 зіткнення на дрон за хвилину. За 3 хвилини шести дронами це очікувано 0,36 зіткнення на весь епізод — приблизно один дотик на три місії. Це реалістична планка, а не «нуль назавжди».
Код: опорна евристика покриття
Перш ніж порівнювати з навченою політикою, потрібна опорна лінія. Ось вона цілком.
python
import numpy as np
N_UAV, GRID, T, DT = 6, 20, 180.0, 0.1
# Сцена та сама, що в лабораторній роботі 5, інакше не було б із чим
# порівнювати числа: кімната 10x10 м, комірка 0,5 м, шість Crazyflie на 1 м/с.
AREA, SPEED, SAFE = 10.0, 1.0, 1.0 # 10x10 м, 1 м/с, розділення з 1 м
REP = 0.30 # сила відштовхування на межі SAFE
CELL = AREA / GRID # комірка 0,5x0,5 м
for step in range(int(T / DT)):
free = ~visited.ravel()
# евристика: кожен летить до найближчої невідвіданої комірки
for i in range(N_UAV):
if free.any():
d = np.linalg.norm(centres[free] - pos[i], axis=1)
v = centres[free][int(np.argmin(d))] - pos[i]
vel[i] = v / np.linalg.norm(v)
# розділення: відштовхування від сусідів ближче за SAFE
diff = pos[:, None, :] - pos[None, :, :]
dist = np.linalg.norm(diff, axis=-1); np.fill_diagonal(dist, np.inf)
for i in np.where((dist < SAFE).any(axis=1))[0]:
close = dist[i] < SAFE
# SAFE**2 робить силу безрозмірною: на межі розділення вона дорівнює REP
vel[i] += REP * SAFE ** 2 * (diff[i][close] / dist[i][close, None] ** 2).sum(axis=0)
pos = np.clip(pos + vel * SPEED * DT, 0, AREA - 1e-6)
min_dist = min(min_dist, float(dist.min()))Результат коду: п'ять метрик із семи
text
метрика значення ціль висновок
----------------------------------------------------------------------------------
покриття за 180 с 100.0 % (400/400) ≥ 90 % OK
час до 90 % покриття 28 с < 150 с OK
час до повного покриття 33 с < 180 с OK
зіткнень на дрон за хвилину 0.000 < 0,05 OK
мінімальна дистанція 0.41 м > 0,30 м OK
частка входів у вже відвідане 26.5 % < 20 % не досягнуто
розкид внеску між дронами 2.0x < 2x не досягнуто
нових клітинок на апарат: [48, 96, 53, 67, 72, 64]
входів у комірку до повного покриття: 544, з них у вже відвідану: 144
досягнуто цільових рівнів: 5 із 7Евристика закриває майданчик повністю за 33 с і жодного разу не підходить ближче ніж на 0,41 м при порозі 0,30 м. Але дві метрики вона провалює: чверть входів припадає на вже відвідані комірки, а найактивніший апарат відкриває вдвічі більше за найпасивнішого. Саме ці два числа й має покращити навчена політика — і саме їх студент порівнює в лабораторній роботі 5.
Що ламається на практиці і як це видно в числах
| Симптом | Як це видно в логах | Причина | Що робити |
|---|---|---|---|
| Дрони скупчилися в куті | 4 з 6 у радіусі 1,0 м; темп нових клітинок упав із 3,2/с до 0,4/с; покриття стало на 55 % | спільна винагорода без розділення зон | підняти особисту частку, додати штраф за перекриття зон |
| Один дрон простоює | Д6 відкрив 12 клітинок при медіані 78; внесок 3 % замість 17 % | розподіл заслуг: він не бачить різниці у власній винагороді | змішана винагорода 0,7 / 0,3, штраф за нульовий внесок |
| Уся команда «зависла» | усі шість мають однакову винагороду попри різний внесок | чисто спільна винагорода | див. рисунок нижче |
| Заряд закінчився раніше місії | напруга < 3,0 В на 140-й с замість 180-ї; покриття −12 п.п. | агресивний політ, тяга 0,72 замість 0,60 | додати заряд у спостереження, штраф за середню тягу |
| Зіткнення при звуженні | мінімальна дистанція 0,08 м при порозі 0,30 м; обидва «просіли» на 20 см | downwash: верхній обдуває нижнього, чого не було в симуляторі | заборонити різницю висот < 0,4 м при малому рознесенні |
| Політика крутиться на місці | винагорода росте, покриття стоїть на 30 %; бонус за життя дає основну частину | винагорода допускає збір бонусу без виконання задачі | прибрати або знизити бонус, прив'язати його до прогресу |

Спільна винагорода приховує внесок, змішана — показує
Це та сама картина, що в Модулі 08, але вже в термінах місії покриття: дрон, який відкрив п'ять клітинок, і дрон, який висів на місці, при чисто спільній винагороді отримують однаково.
Задача обирає алгоритм
| Група задач | Умова | Придатні алгоритми |
|---|---|---|
| Планування шляху | зображення в реальному часі | D3QN |
| Навігація до цілі | дискретні дії | DQN |
| Навігація до цілі | неперервні дії | PPO, TRPO, DDPG, SAC |
| Покриття й зв'язність | багатоагентна, неперервні дії | DRL-EC³ на базі DDPG, MAPPO |
| Утримання строю з обходом перешкод | багатоагентна, CTDE | MAPPO, MADDPG |
| Розподіл цілей | дискретний вибір із набору | QMIX, VDN |
Дві типові функції винагороди, які покривають більшість постановок:
- за відстанню до бажаного стану —
плюс штрафи за зусилля й ривок. Годиться для стеження, утримання строю, виходу на точку. - за подією — фіксоване значення за нову клітинку, знайдену ціль, доставлений вантаж, плюс щільна підказка напрямку. Годиться для покриття, пошуку, доставки.
Перша дає щільний сигнал і легко навчається; друга ближча до того, що насправді потрібно замовнику, але вимагає щільної підказки, інакше сигнал занадто розріджений.
Рівні прийняття рішень і їхні частоти
Місія розкладається на рівні, і плутати їхні темпи — типова проєктна помилка.
| Рівень | Що вирішує | Темп | Хто виконує |
|---|---|---|---|
| Планування місії | поділ на стадії, точки маршруту, повернення на зарядку | хвилини, часто офлайн | наземна станція або оператор |
| Розподіл задач | який апарат відповідає за яку зону | секунди | рій, розподілено |
| Локальне рішення | куди летіти наступні 1–2 с | 5–20 Гц | політика на борту |
| Керування рухом | тяга й кутові швидкості | 50–500 Гц | бортовий контролер |
Класичний приклад планування — агромісія обходу прямокутного поля: S-подібний маршрут; коли заряд падає нижче порога, апарат запам'ятовує поточну позицію, летить на базу, заряджається, повертається в залишену позицію і продовжує обхід.
1Поділ місії на стадії
2Контроль положення й заряду
3Повернення на базу й заряджання
4Продовження зі збереженої точки
Зведена матриця задач роїв
| Задача | Що подаємо в спостереження | Як будуємо винагороду | Головна метрика |
|---|---|---|---|
| Покриття території | локальна карта відвіданого, напрямок на найближчу дірку, сусіди | нові клітинки, змішана 0,7/0,3 | покриття за час, рівномірність внеску |
| Пошук об'єктів | сенсорні показання, карта ймовірності, сусіди | виявлення цілі плюс приріст інформації | час до першого виявлення, частка знайдених |
| Розподіл цілей | власна позиція, позиції цілей, наміри сусідів | наближення до призначеної цілі, штраф за дублювання | час призначення, частка непокритих цілей |
| Утримання строю | помилка положення відносно сусідів | похибка строю, штраф близькості | факторизована похибка строю, мінімальна дистанція |
| Обхід перешкод | локальна геометрія, | штраф близькості, штраф зіткнення | зіткнень на апарат за хвилину |
| Супровід цілі | оцінка положення цілі, сусіди | утримання цілі в полі зору, штраф за втрату | частка часу супроводу |
Висновки
- Рій виправданий лише за чотирьох критеріїв одночасно; надлінійність продуктивності — вирішальний.
- Потенціальні поля дають дешевий локальний обхід перешкод, але застрягають у симетричній конфігурації: дві перешкоди навпроти проходу зупиняють апарат.
- Схема α–β–γ дає split/rejoin і squeezing без жодного предиката поділу в коді — маневр обирає геометрія, а спільна ціль зводить підрої назад.
- Цілісність рою вимірюють трьома числами: компоненти зв'язності, відносна зв'язність
, час до злиття. У симуляції падає з 3,06 до нуля й відновлюється до 7,12. - Спостереження будують за принципом локальність замість повноти: вікно 5 × 5 замість 400 клітинок,
сусідів замість усього рою. Вхід мережі не залежить від розміру задачі. - Винагороду за покриття нараховують по подіях, а не за миттєвим станом; змішана 0,7 / 0,3 розв'язує розподіл заслуг.
- Замовнику доповідають сім метрик, а не одну винагороду. Реалістична планка зіткнень — 0,02 на дрон за хвилину, а не нуль.
Перехід до Модуля 11
Модуль 10 припускав, що все працює: зв'язок є, сенсори не брешуть, апарати не відмовляють. Реальні місії цієї розкоші не мають.
Модуль 11 · Безпека та робастність роїв БПЛА розбирає, що відбувається, коли ці припущення порушено: відмова апарата в польоті, втрата зв'язку й затримки, шум і зміщення сенсорів, підміна показань, атака на канал керування. Розглянуто механізми оцінювання справності, безпечні режими відмови та вимоги, які висувають до рою перед реальним застосуванням.
Література та ресурси
- Dorigo M., Theraulaz G., Trianni V. Swarm Robotics: Past, Present, and Future. Proceedings of the IEEE, 2021, 109(7), 1152–1165. DOI 10.1109/JPROC.2021.3072740
- Olfati-Saber R. Flocking for Multi-Agent Dynamic Systems: Algorithms and Theory. IEEE TAC, 2006, 51(3), 401–420. DOI 10.1109/TAC.2005.864190 — α-, β- і γ-агенти.
- Khatib O. Real-Time Obstacle Avoidance for Manipulators and Mobile Robots. IJRR, 1986, 5(1), 90–98 — потенціальні поля.
- Liu C. H. та ін. Energy-Efficient UAV Control for Effective and Fair Communication Coverage. IEEE JSAC, 2018, 36(9), 2059–2070.
- Vásárhelyi G. та ін. Optimized Flocking of Autonomous Drones in Confined Environments. Science Robotics, 2018, 3(20). DOI 10.1126/scirobotics.aat3536
- Brambilla M. та ін. Swarm Robotics: A Review from the Swarm Engineering Perspective. Swarm Intelligence, 2013, 7(1), 1–41.
- Quan Quan. Introduction to Multicopter Design and Control. Springer, 2017 — розділ 13 (планування шляху, обхід перешкод методом APF).
- Практика: PettingZoo · gym-pybullet-drones · Crazyswarm2