Skip to content

Модуль 01 · Вступ до роїв БПЛА

Що таке рій безпілотних апаратів, з яких частин він складається і чому його не можна спроєктувати як звичайну багатоагентну програму.

Огляд дослідницьких платформ роївої робототехніки

Огляд дослідницьких платформ роївої робототехніки

Зміст лекції

Лекція складається з шести частин. Перші дві дають загальну картину системи, решта — понятійний апарат, історію й межі застосовності.

ЧастинаПро що
1. Архітектура роєвої системиповний контур: місія, сенсори, зв'язок, рішення, керування
2. Означення та властивостіщо саме називають роєм і чого від нього очікують
3. Історія та платформизвідки взялося поле і на чому ставлять експерименти
4. Масштабскільки апаратів, скільки зв'язків і чим за це платять
5. Задачі та проєктуванняколективні поведінки й методи їх отримання
6. Межі застосовностіколи рій виправданий, а коли шкодить

Порядок не випадковий: спершу студент бачить систему цілком, і лише потім розбирає її окремі механізми.

Результати навчання

Після лекції ви зможете:

  • накреслити повний контур роєвої системи від місії до колективної поведінки;
  • відрізнити рій від групи апаратів і від координованої багатоагентної системи;
  • пояснити різницю між централізованим, децентралізованим та ієрархічним керуванням;
  • дати означення самоорганізації (self-organisation) і стигмергії (stigmergy);
  • назвати п'ять властивостей рою і пояснити, чому жодна з них не виникає сама;
  • сформулювати micro–macro problem;
  • обчислити алгебраїчну зв'язність графа рою і сказати, чи рій зв'язний;
  • застосувати чотири критерії, щоб вирішити, чи потрібен рій у конкретній задачі.

Частина 1 · Архітектура роєвої системи

Спершу — вся система цілком. Далі кожен наступний модуль курсу поглиблює один із її блоків.

Повний контур керування роєм БПЛА: від місії до колективної поведінки

Повний контур керування роєм БПЛА: від місії до колективної поведінки

Повний контур: від місії до колективної поведінки

Рій — це замкнений контур, а не набір алгоритмів. Кожен апарат вимірює власний стан, обмінюється частиною цих даних із сусідами, приймає рішення локально і виконує його приводами. Колективна поведінка виникає як результат багатьох таких локальних циклів.

1Бортові сенсори й локальна оцінка стану
2Обмін із сусідами
3Локальне рішення й керування рухом
4Колективна поведінка змінює середовище

Ключова властивість контуру: жоден блок не бачить рій цілком. Апарат знає власний стан точно, стан сусідів — приблизно й із запізненням, стан усього рою — не знає взагалі. Уся подальша математика курсу існує саме тому, що глобальної картини ні в кого немає.

Група апаратів, координована система та рій

Три схеми координації, які часто плутають. Різниця не в кількості апаратів, а в тому, звідки береться рішення.

Один апарат, координована група і рій — три способи організації

Один апарат, координована група і рій — три способи організації

Чим рій відрізняється від групи

Кількість апаратів сама собою нічого не визначає. Визначає джерело рішення й обсяг інформації, доступної окремому апарату.

СхемаХто вирішуєЩо бачить апаратЦіна масштабування
Група апаратівназемна станція для кожного окремовласний стан і команду станціїO(N) каналів до станції
Координована багатоагентна системаспільний планувальник із моделлю всіх агентіввласний стан і спільний планобчислення ростуть із N надлінійно
Рійкожен апарат сам, за локальними данимисебе і k сусідів у радіусі Rвитрати на апарат сталі

Світлове шоу дронів — це група, а не рій: траєкторії прораховані централізовано наперед. Зовнішня схожість із роєм тут оманлива.

Централізоване, децентралізоване та ієрархічне керування

Три архітектури керування, між якими доводиться обирати на початку проєктування. Вибір визначає і стійкість до відмов, і межу масштабування.

Централізоване, децентралізоване та ієрархічне керування роєм

Централізоване, децентралізоване та ієрархічне керування роєм

Наземна станція і лідер: хто що вирішує

У реальних системах чиста децентралізація трапляється рідко. Практична архітектура майже завжди змішана, і важливо розуміти, який рівень за що відповідає.

  • Наземна станція задає місію й межі: зону польоту, час, критерій завершення. Вона не керує окремими апаратами в реальному часі й не є частиною контуру керування рухом.
  • Лідер — це роль, а не апарат. Лідером називають вузол, чий стан інші беруть за опорний. Роль може передаватися; у деяких строях лідер віртуальний і не відповідає жодному фізичному апарату.
  • Окремий апарат відповідає за все, що швидше за секунду: стабілізацію, обхід перешкод, утримання дистанції до сусідів.

Розподіл за темпом: місія — хвилини, координація — секунди, керування рухом — мілісекунди. Що швидший контур, то локальніші дані він використовує.

Локальне і глобальне спостереження

Спостереження (observation) — це те, що апарат насправді вимірює, на відміну від стану (state) — повного опису системи. У рої вони ніколи не збігаються.

oi=h(xi, {xj:jNi}),Ni={j:pipj<R}
ПозначенняЗначення
oiспостереження апарата i — те, що доступне його бортовим алгоритмам
xiвласний стан апарата: положення, швидкість, орієнтація
Niмножина сусідів апарата i
Rрадіус зв'язку або сенсорного сприйняття, м
h()функція вимірювання: обрізає стан до спостережуваної частини

Саме через те, що oix, задача рою належить до класу частково спостережуваних. Це формалізують у Модулі 05.

Три рівні роєвої системи

Проєктування рою розкладається на три відносно незалежні рівні. Плутанина між ними — типова причина хибних інженерних рішень.

РівеньЩо вирішуєМодулі курсу
Фізичнийполіт, стабілізація, енергія, сенсори02, 03
Комунікаційнийхто з ким обмінюється, топологія, затримки, втрати пакетів03, 09
Інтелектуальнийвибір дії, навчання, розподіл ролей04–08

Рівні не незалежні повністю: втрата зв'язку на другому рівні змінює те, які рішення взагалі можливі на третьому. Модуль 11 присвячено саме таким перехресним відмовам.

Контур керування окремого апарата

Перш ніж говорити про рій, треба знати, що вже працює всередині одного апарата. Нижче — стандартна структура низькорівневого керування мультикоптера.

Контур керування польотом мультикоптера нижнього рівня

Джерело: Quan Quan, Introduction to Multicopter Design and Control, розділ 11.

Місце машинного навчання в контурі керування

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

Куди вбудовуютьЩо вирішує модельТемпМодуль
Замість регулятора положеннябажані кути й тягу за станом і ціллю50–100 Гц06
Над регулятором положеннябажану точку або швидкість для наявного контролера5–20 Гц06, 07
На рівні координаціїціль, роль, розподіл задач між апаратами0,2–2 Гц07, 08

Регулятори кутів і швидкості обертання моторів у практичних системах залишають класичними: вони мають бути передбачуваними й перевіреними. Це і є відповідь на питання, навіщо в курсі про машинне навчання спершу йде модуль про математику апарата.

Частина 2 · Означення та властивості

Тепер, коли загальна схема відома, можна точно означити предмет. Нижче — та сама емерджентність, про яку йтиметься: рух рою виникає з трьох локальних правил, заданих окремому апарату.

Модель Boids: колективний рух виникає з трьох локальних правил

Модель Boids: колективний рух виникає з трьох локальних правил

Означення роївої робототехніки

Роїва робототехніка (swarm robotics) має справу з проєктуванням, побудовою та розгортанням великих груп роботів, які координуються і спільно розв'язують задачу. Вона надихається природними самоорганізованими системами — суспільними комахами, косяками риб, зграями птахів, — що виявляють емерджентну колективну поведінку (emergent behaviour) на основі простих правил локальної взаємодії.

Означення тримається на трьох складниках, і всі три обов'язкові:

  • великі групи роботів, а не пара спеціалізованих машин;
  • координація через прості локальні правила, а не через глобальний план;
  • мета — стійкість, відмовостійкість і гнучкість понад можливості одного робота.

Джерело означення: Dorigo, Theraulaz, Trianni, Swarm Robotics: Past, Present, and Future, Proc. IEEE 2021.

Роїва робототехніка і роївий інтелект

Поле почалося як застосування роївого інтелекту (swarm intelligence) — обчислювального моделювання колективної самоорганізованої поведінки. Роївий інтелект дав кілька успішних оптимізаційних алгоритмів, які нині застосовують від маршрутизації в телекомунікаціях до симуляції поведінки натовпу.

Проте швидко з'ясувалося: щоб дістати роїву поведінку в роботів, замало перенести ці алгоритми на наявні платформи. Доводиться переосмислювати сприйняття, керування, локалізацію і саму конструкцію апарата.

РівеньЩо даєЧого не дає
Роївий інтелектправила взаємодії, оптимізаційні алгоритмивтілення в залізі
Роїва робототехнікапрацездатний рій у фізичному світіготових рецептів для нових задач

Саме тому далі в курсі спершу йдуть модулі про математичну модель апарата й керування, а не одразу про колективні алгоритми.

П'ять властивостей рою

Це критерії, за якими оцінюють якість роївої системи. Жодна з властивостей не з'являється сама собою: кожну треба проєктувати й перевіряти окремо.

ВластивістьОзначення
Robustness (стійкість)працювати в умовах середовища, відмінних від розглянутих на етапі проєктування
Flexibility (гнучкість)розв'язувати задачі, відмінні від обраних на етапі проєктування
Scalability (масштабованість)належно функціонувати, коли кількість апаратів суттєво змінюється
Адаптивністьзмінювати поведінку у відповідь на нові умови експлуатації
Відмовостійкістьвитримувати відмови частин системи з плавною деградацією

Різниця, яку часто плутають: robustness — про інші умови, flexibility — про інші задачі. Відмовостійкість — окремий випадок: змінюється не середовище й не задача, а склад самої системи.

Самоорганізація

Самоорганізація (self-organisation) — процес, за якого патерн на глобальному рівні системи виникає виключно із взаємодій між компонентами нижчого рівня. Правила взаємодії використовують лише локальну інформацію, без центральної інстанції, яка визначала б перебіг дій.

Два операційні критерії, які варто перевіряти на будь-якому «роївому» алгоритмі:

  • кожен агент використовує лише локальну інформацію;
  • у системі немає центральної влади, що призначає дії.
1Локальні правила
2Повторювані локальні взаємодії
3Глобальний патерн виникає без центру

Якщо порушено хоча б один критерій, це не самоорганізація, а розподілене виконання централізованого плану.

Стигмергія

Стигмергія (stigmergy) — непряма комунікація, за якої виконана агентом робота залишає слід у середовищі, і цей слід стимулює подальшу роботу того самого або інших агентів. Координація виникає без обміну повідомленнями: каналом зв'язку слугує саме середовище.

1Робот виконує роботу
2Робота змінює середовище
3Слід стимулює наступну дію
4Координація без повідомлень

Класичний лабораторний приклад — збирання розсипаних об'єктів у купки: робот, що поклав об'єкт, підвищує ймовірність того, що наступний покладе свій поруч. Історично перевірка стигмергії й була першою метою досліджень поля.

  • Інженерна перевага: не потрібні ані адресація, ані синхронізація, ані спільна пам'ять.
  • Ціна: слід має жити рівно стільки, скільки триває задача. Надто стійкий слід консервує застарілі рішення, надто швидкоплинний не встигає накопичитися.

Проблема мікро → макро (micro–macro problem)

Центральна проблема проєктування рою: програмувати можна лише окремого робота (мікрорівень), а специфікується поведінка всього рою (макрорівень).

{πi}i=1NBmacro
ПозначенняЗначення
πiіндивідуальний контролер (правило поведінки) апарата i
Nкількість апаратів у рої
Bmacroспостережувана колективна поведінка рою
відображення «мікро → макро», яке проєктувальник не задає прямо

Це відображення ніхто не вміє задавати аналітично для складних задач. Наявні підходи — від шаблонів проєктування до автоматичного синтезу контролерів — розв'язують лише відносно прості випадки. Машинне навчання в цьому курсі і є однією зі спроб побудувати таке відображення емпірично.

Частина 3 · Історія та платформи

Далі — звідки взявся термін, які експерименти визначили шкалу очікувань і на якому залізі це роблять.

Зростання поля роївої робототехніки за числом цитувань

Зростання поля роївої робототехніки за числом цитувань

Народження поля: 1990-ті та 2000-ні

Термін swarm robotics уперше з'явився в 1991 році й до 2003 вживався дуже обмежено, після чого кількість публікацій почала різко зростати.

ПеріодПодія
1991перша поява терміна swarm robotics
1990-тікілька основоположних робіт, у яких поле має коріння
2000кількість досліджень починає суттєво зростати
2003 і далірізке зростання кількості публікацій

Ранні задачі після 2000 року: object retrieval і foraging (пошук та доставка об'єктів), stick pulling (витягування палички, неможливе поодинці), clustering (збирання об'єктів у купки), sorting (сортування за типом) і агрегація тарганів разом із роботами — перший приклад змішаного біолого-робототехнічного суспільства.

Платформи роївої робототехніки

Огляд поля, з якого взято класифікацію, — Dorigo, Theraulaz, Trianni, Proc. IEEE 2021.

Апаратура визначає, які експерименти взагалі можливі. Нижче — платформи, на яких побудовано більшість результатів поля.

Роботи-платформи, які використовують у дослідженнях роїв

Джерело: Dorigo, Theraulaz, Trianni, Proc. IEEE 2021.

Swarm-bots і Swarmanoid

ПроєктРокиМасштаб і складЩо продемонстровано
Swarm-bots2001–2005до 20 роботів, здатних до самозбирання (self-assembly)колективне транспортування, покриття площі, пошук об'єкта
Swarmanoid2006–2010гетерогенний рій із трьох типів роботів: літальні, верхолазні, наземніспільне виконання search and retrieval

Головний результат Swarm-bots залишається неперевершеним: це досі єдиний приклад самоорганізованих команд роботів, які кооперуються для складної задачі й із часом беруть на себе різні ролі.

Двадцять фізичних роботів у складному кооперативному експерименті — це багато, а не мало. Цю шкалу варто тримати в голові, читаючи роботи, де рій із 200 агентів існує лише в симуляції.

Kilobot і перехід до тисячі роботів

Kilobot — апаратна концепція, що уможливила експерименти з тисячею роботів. Її задумували для першої демонстрації великого рою, який формує задану фігуру (shape formation); згодом на ній поставили кілька успішних досліджень із сотнями роботів у фізичних умовах.

  • Мініатюризація: роботи ставали дедалі меншими й мінімалістичнішими, аж до конструкцій міліметрового масштабу.
  • Стандарт із застереженням: Kilobot став стандартом де-факто, але настільки обмежений у здатностях, що для розширення можливостей запропонували середовища віртуалізації з віртуальними сенсорами й пам'яттю.
  • Ціна масштабу: один робот коштує десятки доларів і майже нічого не вміє поодинці. Уся цінність — у кількості.

Опис платформи: Rubenstein, Ahler, Nagpal, Kilobot: A low cost scalable robot system, ICRA 2012.

Платформи, симулятори та розрив із реальністю

ІнструментЩо це й де межа
e-puckнайуживаніша наземна платформа; експерименти з понад 30 апаратами лишаються складними й дорогими
Kilobotстандарт для великих роїв, жорстко обмежений у здатностях
Crazyflieмікроквадрокоптери, що стали основною літальною платформою для роїв
ARGoSсимулятор до 10 000 роботів у реальному часі; містить моделі e-puck і Kilobot
Flightmareсимулятор БПЛА з фотореалістичним рендерингом для візуальної навігації

Розрив «симуляція — реальність» (sim-to-real gap). Контролери, розроблені в симуляції, втрачають продуктивність на реальних апаратах. У роях проблема гостріша: похибки моделі накопичуються не лише в часі, а й уздовж ланцюжків взаємодій між апаратами. Практична вимога — симуляція з різними рівнями достовірності й явним вибором компромісу «швидкість проти точності».

Документація: ARGoS · Crazyswarm2 · Flightmare

Рої поза землею

Поле давно вийшло за межі наземних роботів:

  • Надводні рої — узгоджений рух групи катерів по поверхні води.
  • Підводні рої — робота там, де радіозв'язок практично недоступний, а отже топологія зв'язку принципово інша.
  • Рої літаючих апаратів — найдинамічніший напрям; типова дослідницька платформа — Crazyflie.

Стан справ із дронами. Апарати вже комерціалізовані й дуже перспективні для дистанційного зондування. Стримує їх головно відсутність нормативної бази, яка дозволяла б автономний груповий політ, а не технічні обмеження.

Частина 4 · Масштаб і його ціна

Зростання рою змінює не лише апаратуру, а й саму схему координації: те, що працює для двадцяти апаратів, для тисячі не працює взагалі.

Кількість каналів зв'язку залежно від розміру рою

Кількість каналів зв'язку залежно від розміру рою

Масштаб у числах

Якщо кожен апарат враховує кожного іншого, кількість пар зростає квадратично:

P=N(N1)2

де N — кількість апаратів, P — кількість усіх пар.

NP — усі париkN/2 при k=8Орієнтир
2019080масштаб Swarm-bots
30435120практична межа e-puck
1 000499 5004 000масштаб Kilobot
10 00049 995 00040 000межа симуляції ARGoS

Обмежимо взаємодію локальним сусідством: нехай кожен апарат бачить лише k сусідів, типово k=58. Тоді активних каналів близько kN/2 — для тисячі апаратів це чотири тисячі зв'язків замість пів мільйона.

Висновок. Масштабованість досягається не потужнішим каналом і не швидшим процесором, а обмеженням радіуса взаємодії: витрати на апарат мають лишатися сталими, коли рій росте.

Код: граф сусідства рою

Радіус зв'язку R визначає, які апарати взагалі бачать одне одного. Матриця Лапласа цього графа дає числову відповідь, чи рій лишається єдиним цілим.

python
import numpy as np

def neighbour_graph(pos, radius):
    """pos: (N,2) координати, м.  radius: радіус зв'язку, м."""
    d = np.linalg.norm(pos[:, None, :] - pos[None, :, :], axis=-1)
    A = ((d < radius) & (d > 0)).astype(float)   # матриця суміжності
    L = np.diag(A.sum(1)) - A                    # матриця Лапласа
    lam = np.sort(np.linalg.eigvalsh(L))
    return A, L, lam[1]                          # алгебраїчна зв'язність

rng = np.random.default_rng(11)
pos = rng.uniform(0, 100, (12, 2))               # 12 апаратів на 100×100 м
for R in (35.0, 55.0):
    A, L, lam2 = neighbour_graph(pos, R)
    print(f"R={R:5.1f} m  edges={int(A.sum()/2):3d}  lambda_2={lam2:.4f}")

На вхід ідуть координати апаратів і радіус зв'язку, на виході — матриця суміжності, матриця Лапласа та її друге найменше власне число λ2.

Результат коду: зв'язність залежить від радіуса

text
R= 35.0 m  edges= 15  lambda_2=0.0000
R= 55.0 m  edges= 36  lambda_2=1.8604
Граф сусідства рою з 12 апаратів за двох радіусів зв'язку

Граф сусідства рою з 12 апаратів за двох радіусів зв'язку

За R=35 м апарат 4 лишається без сусідів, λ2=0, рій розпадається на компоненти. За R=55 м граф зв'язний, λ2=1,86. Це та сама величина, якою у Модулі 02 оцінюють швидкість збіжності консенсусу.

Радіус зв'язку, зв'язність і втрата апаратів
Ребро з'являється, коли відстань між апаратами не більша за радіус. Клік по апарату «вимикає» його — так виглядає втрата борта в польоті.
12апаратів у строю
22каналів зв'язку
0.730алгебраїчна зв'язність λ₂
1компонент зв'язності
6.3 смежа часу консенсусу

Зменшуйте радіус: спершу зникають далекі ребра й λ₂ повільно падає, а потім одним кроком графа розпадається — λ₂ стрибком стає нулем, і час консенсусу перетворюється на нескінченність. Кратність нуля у спектрі дорівнює числу компонент: це і є відповідь на питання «на скільки груп розпався рій».

Траєкторії реального рою

Так виглядають дані, з якими доведеться працювати далі: траєкторії шести апаратів за 200 кроків, їхні початкові й кінцеві положення, радіуси зв'язку та розташування наземних цілей.

Траєкторії рою з шести апаратів із позначеними радіусами зв'язку

Джерело: UAV swarm communication networking and routing optimization, 2026.

Масштабованість як вимірювана властивість

Масштабованість — не якісна характеристика, а крива. Її вимірюють, змінюючи кількість апаратів і спостерігаючи за цільовою метрикою.

Масштабованість: якість виконання місії залежно від розміру рою

Масштабованість: якість виконання місії залежно від розміру рою

Правильне питання до будь-якої роботи про рої: до якого N метрика тримається і де вона починає падати. Відповідь «алгоритм масштабується» без такої кривої нічого не означає.

Частина 5 · Задачі та проєктування

Далі — робочий словник колективних задач і методи, якими рій проєктують сьогодні. Одна з базових задач — покриття території: кожен апарат відповідає за свою зону, і межі цих зон рій визначає сам.

Розбиття Вороного і карта покриття для рою з дев'яти апаратів

Розбиття Вороного і карта покриття для рою з дев'яти апаратів

Колективні поведінки

Робочий словник задач, до якого курс повертається в Модулі 10.

ЗадачаЗміст
foragingпошук об'єктів і доставка їх у визначене місце
clusteringзбирання розсипаних об'єктів у купки
aggregationскупчення апаратів в одному місці
self-assemblyфізичне з'єднання роботів у жорстку структуру
collective transportперенесення вантажу, завеликого для одного апарата
area coverageрівномірне покриття площі групою
shape formationформування заданої геометричної фігури
flockingузгоджений рух рою як цілого
task allocationрозподіл підзадач без центрального планувальника
collective decision makingвибір спільної альтернативи з локальних оцінок
collective perceptionпобудова спільної оцінки середовища з часткових спостережень
role allocationнабуття апаратами різних ролей із часом

Методи проєктування рою

Це відповідь на micro–macro problem — станом на сьогодні часткова.

МетодСуть
Аналітичні моделімодель рою скеровує робототехнічну реалізацію
Шаблони проєктуванняописують, як задати індивідуальні правила заради потрібної макроповедінки
Автоматичний синтезконтролер синтезується за специфікацією задачі, а не пишеться вручну
Еволюційна оптимізаціяпараметри мінімалістичних контролерів добираються оптимізацією
Проєктування з верифікацієюproperty-driven design і перевірка моделі
Самоорганізація в апаратуріапаратуру проєктують так, щоб вона сама мала потрібні властивості
Гібридне керуваннярій автономно перемикається з самоорганізованого керування на ієрархічне

Машинне навчання, якому присвячено решту курсу, — це розвиток рядків «автоматичний синтез» і «еволюційна оптимізація».

Керування самоорганізацією замість прямого керування

Скерування самоорганізації часто вигідніше за спробу прямого керування. Проєктувальник задає не траєкторії, а умови, за яких потрібний патерн виникає сам.

Перший важіль — віддана меншість. Меншість агентів із фіксованою поведінкою здатна визначати поведінку всієї групи.

Другий важіль — робота поблизу фазового переходу. Упорядковані стани описують параметром порядку — наприклад, якістю вирівнювання косяка риб. Це макроскопічна змінна, якою можна вимірювати стан рою, не спостерігаючи кожного агента.

1Невпорядкований рій
2Поява відданої меншості
3Фазовий перехід
4Упорядкований колективний стан
  • Наслідок для проєктування: керуємо умовами виникнення патерну, а не траєкторіями.
  • Наслідок для безпеки: той самий механізм відданої меншості — готовий вектор атаки. Детально в Модулі 11.

Частина 6 · Межі застосовності

Останній блок — про те, чого рій не дає задарма, за якими критеріями вирішують, чи потрібен він узагалі, і які помилки трапляються найчастіше.

Критерії доцільності роєвого рішення

Чотири послідовні запитання перед тим, як будувати рій. Якщо хоч на одне відповідь «ні», роєве рішення дорожче за альтернативу.

#КритерійЩо робити, якщо відповідь «ні»
1Задачу не можна ефективно розв'язати одним апаратомбудувати однороботне рішення
2Координувати апарати централізовано неможливо або недоцільнорозглянути централізацію або розподілене керування з прогнозною моделлю
3Задача не має наперед заданого розбиття на підзадачі або допускає різні розподіли ролейзастосувати класичний розподіл завдань між спеціалізованими агентами
4Очікується надлінійне зростання продуктивності від кількості апаратіввідмовитися від рою: накладні витрати на комунікацію та узгодження з'їдять виграш

Четвертий критерій — економічний, і саме він найчастіше вирішує справу: якщо подвоєння рою не дає більш ніж подвоєння результату, дешевше обійтися меншою групою.

1Чи досить одного апарата
2Чи можлива централізована координація
3Чи є наперед задане розбиття
4Чи є надлінійний виграш
5Застосувати рій

Типові помилки й обмеження

  • Властивості не даються задарма. Відмовостійкість і масштабованість не надаються роєм автоматично й потребують окремого проєктування. Зі стійкістю, гнучкістю та адаптивністю ще складніше.
  • «Розділяй і володарюй» недостатньо. Цей підхід не враховує взаємозв'язків між підзадачами й веде до субоптимальних розв'язків.
  • Немає гарантій продуктивності. Наявна практика обмежується емпіричною статистикою; методологій, що дають межі продуктивності для верифікації й валідації, бракує.
  • Біонатхнення — з обережністю. Аналогія з природою не є доказом і не звільняє від інженерного обґрунтування.
  • Стан галузі. Лише кілька експериментів продемонстрували велику кількість автономних самоорганізованих роботів; промислових застосувань роївої робототехніки поки що немає.

Висновки

  • Рій — це замкнений контур від місії до колективної поведінки, у якому жоден блок не бачить систему цілком.
  • Рій відрізняється від групи апаратів не кількістю, а джерелом рішення: кожен апарат вирішує сам за локальними даними.
  • П'ять властивостей — стійкість, гнучкість, масштабованість, адаптивність, відмовостійкість — не виникають автоматично.
  • Проблема мікро → макро (micro–macro problem) лишається головною відкритою проблемою: програмуємо мікрорівень, специфікуємо макрорівень.
  • Масштабованість забезпечує обмеження радіуса взаємодії, а не потужніше залізо: kN/2 замість N(N1)/2.
  • Реалістична шкала: Swarm-bots — 20 апаратів, Kilobot — тисяча, ARGoS — симуляція до 10 000.

Перехід до Модуля 02

Модуль 01 показав, що рій — інженерна система, у якій проєктувати доводиться і властивості, і платформу. Наступний крок — математичний апарат, без якого не можна ані описати рух окремого апарата, ані обґрунтувати стійкість групової поведінки.

Модуль 02 · Математичні основи роїв БПЛА оглядово пройде: дві системи координат і розклад тяги; три представлення орієнтації; ПІД-регулятор і показники його якості; фільтр Калмана; граф рою, лапласіан та алгебраїчну зв'язність. Це словник, а не курс керування: виводів там не буде, буде перелік інструментів і місць, де кожен повертається далі.

Якщо Модуль 01 відповідав на питання, що таке рій і чого від нього очікують, то Модуль 02 відповідає на питання, як описати апарат так, щоб про рій можна було говорити кількісно.

Література та ресурси

  • 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
  • Bonabeau E., Dorigo M., Theraulaz G. Swarm Intelligence: From Natural to Artificial Systems. Oxford University Press, 1999.
  • Camazine S. та ін. Self-Organization in Biological Systems. Princeton University Press, 2001.
  • Brambilla M., Ferrante E., Birattari M., Dorigo M. Swarm robotics: A review from the swarm engineering perspective. Swarm Intelligence, 2013, 7(1), 1–41. DOI 10.1007/s11721-012-0075-2
  • Rubenstein M., Ahler C., Nagpal R. Kilobot: A low cost scalable robot system for collective behaviors. IEEE ICRA, 2012, 3293–3298. DOI 10.1109/ICRA.2012.6224638
  • Pinciroli C. та ін. ARGoS: A modular, parallel, multi-engine simulator for multi-robot systems. Swarm Intelligence, 2012, 6(4), 271–295. argos-sim.info
  • Quan Quan. Introduction to Multicopter Design and Control. Springer, 2017. ISBN 978-981-10-3382-7. — Розділи 5, 9, 10, 11.
  • Програмний стек рою Crazyflie: Crazyswarm2 · Bitcraze

Матеріали курсу. Схеми із зовнішніх джерел належать їхнім авторам — посилання під кожною ілюстрацією.