Interface-oriented approach to modelling tools for multi-agent systems
High-level modeling systems for multi-agent systems can significantly accelerate the process of developing and implementing software for autonomous multi-agent missions. Since different tasks require attention to specific aspects of modeling, an interface-oriented approach can be an effective means...
Gespeichert in:
| Datum: | 2025 |
|---|---|
| Hauptverfasser: | , , , , |
| Format: | Artikel |
| Sprache: | Ukrainian |
| Veröffentlicht: |
PROBLEMS IN PROGRAMMING
2025
|
| Schlagworte: | |
| Online Zugang: | https://pp.isofts.kiev.ua/index.php/ojs1/article/view/769 |
| Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
| Назва журналу: | Problems in programming |
| Завантажити файл: | |
Institution
Problems in programming| id |
pp_isofts_kiev_ua-article-769 |
|---|---|
| record_format |
ojs |
| resource_txt_mv |
ppisoftskievua/c0/7887aa8710b888cff9e5e5c3ae5bc3c0.pdf |
| spelling |
pp_isofts_kiev_ua-article-7692025-09-02T15:46:41Z Interface-oriented approach to modelling tools for multi-agent systems Програмно-апаратна система безконтактного виявлення мін на основі непружного розсіювання нейтронів та машинної обробки спектрів характеристичного γ-випромінювання Shevchenko, R.S. Doroshenko, A.Yu. Lesyk, V.O. Savchuk, O.V. Yatsenko, O.A. agents; interface-oriented approach; modeling; multi-agent system; robotics; sensors; MAVLink; SITL; ROSU UDC 004.424, 004.94, 007.52 агенти; інтерфейсно-орієнтований підхід; моделювання; мультиагентна система; робототехніка; сенсори; MAVLink; SITL; ROS УДК 004.424, 004.94, 007.52 High-level modeling systems for multi-agent systems can significantly accelerate the process of developing and implementing software for autonomous multi-agent missions. Since different tasks require attention to specific aspects of modeling, an interface-oriented approach can be an effective means of adapting different models of the environment to given behavioral interfaces. Modeling of multi-agent systems covers a wide range of processes– from the physical movement of agents to the formation of behavioral strategies and the organization of their interaction. The interface-oriented approach makes it possible to create flexible multi agent modeling systems that can perform a wide range of tasks, ensuring the rapid development of behavioral models in a multi-agent environment and SITL testing of low-level autopilot code. As part of the approach, the design of the system begins with the definition of interface interaction between its components, which makes it possible to reuse the code and create individual implementations of components for specific experimental tasks. Work is underway on a prototype of the Blefusku multi-agent modeling system, one of the features of which is an interface-oriented approach and support for high-level behavioral description models. The main modules of the system are a modeling environment that contains a model of the environment and generates sensor signals, and an agent container that is responsible for the behavior of objects and the content of the communication environment. The interface is described as a gRPC service that allows connecting different components written in different programming environments. The communication layer is based on the MAVLink protocol. Behavior is determined by an object that is programmed to respond to sensor data and messages and periodic activities. A fragment of a search and rescue mission scenario with drones is given as an example.Problems in programming 2025; 1: 110-117 Високорівневі системи моделювання мультиагентних систем здатні суттєво прискорити процес розроб ки та впровадження програмного забезпечення для автономних мультиагентних місій. Оскільки різні задачі вимагають уваги до специфічних аспектів моделювання, інтерфейсно-орієнтований підхід може стати ефективним засобом адаптації різних моделей середовища до заданих інтерфейсів поведінки. Моделювання мультиагентних систем охоплює широкий спектр процесів – від фізичного руху агентів до формування стратегій поведінки та організації їхньої взаємодії. Інтерфейсно-орієнтований підхід дає змогу створювати гнучкі мультиагентні системи моделювання, які можуть виконувати широкий спектр завдань, забезпечуючи швидку розробку моделей поведінки в мультиагентному середовищі та SITL тестування низькорівневого коду таких складних систем як автопілоти. В рамках підходу проєктування системи розпочинається з визначення інтерфейсної взаємодії між її компонентами, що дає можливість повторного використання коду та створення індивідуальної реалізації компонентів для специфічних експериментальних завдань. Ведуться роботи над прототипом системи мультиагентного моделювання Blefusku, однією з особливостей якої є інтерфейсно-орієнтований підхід і підтримка високорівневих моделей опису поведінки. Основні модулі системи – це середовище моделювання, яке містить модель середовища та формує сигнали сенсорів, і контейнер агентів, що відповідає за поведінку об’єктів і зміс товну частину комунікаційного середовища. Інтерфейс описаний як сервіс gRPC, що дозволяє з’єднувати різні компоненти, написані у різних середовищах програмування. Комунікаційний рівень ґрунтується на протоколі MAVLink. Поведінка визначається об’єктом, у якому запрограмована реакція на дані з сенсорів та повідомлення і періодичні активності. Як приклад наведено фрагмент сценарію пошуково-рятувальної місії за участі дронів.Problems in programming 2025; 1: 110-117 PROBLEMS IN PROGRAMMING ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ ПРОБЛЕМИ ПРОГРАМУВАННЯ 2025-08-27 Article Article application/pdf https://pp.isofts.kiev.ua/index.php/ojs1/article/view/769 10.15407/pp2025.01.110 PROBLEMS IN PROGRAMMING; No 1 (2025); 110-117 ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ; No 1 (2025); 110-117 ПРОБЛЕМИ ПРОГРАМУВАННЯ; No 1 (2025); 110-117 1727-4907 10.15407/pp2025.01 uk https://pp.isofts.kiev.ua/index.php/ojs1/article/view/769/821 Copyright (c) 2025 PROBLEMS IN PROGRAMMING |
| institution |
Problems in programming |
| baseUrl_str |
https://pp.isofts.kiev.ua/index.php/ojs1/oai |
| datestamp_date |
2025-09-02T15:46:41Z |
| collection |
OJS |
| language |
Ukrainian |
| topic |
agents interface-oriented approach modeling multi-agent system robotics sensors MAVLink SITL ROSU UDC 004.424 004.94 007.52 |
| spellingShingle |
agents interface-oriented approach modeling multi-agent system robotics sensors MAVLink SITL ROSU UDC 004.424 004.94 007.52 Shevchenko, R.S. Doroshenko, A.Yu. Lesyk, V.O. Savchuk, O.V. Yatsenko, O.A. Interface-oriented approach to modelling tools for multi-agent systems |
| topic_facet |
agents interface-oriented approach modeling multi-agent system robotics sensors MAVLink SITL ROSU UDC 004.424 004.94 007.52 агенти інтерфейсно-орієнтований підхід моделювання мультиагентна система робототехніка сенсори MAVLink SITL ROS УДК 004.424 004.94 007.52 |
| format |
Article |
| author |
Shevchenko, R.S. Doroshenko, A.Yu. Lesyk, V.O. Savchuk, O.V. Yatsenko, O.A. |
| author_facet |
Shevchenko, R.S. Doroshenko, A.Yu. Lesyk, V.O. Savchuk, O.V. Yatsenko, O.A. |
| author_sort |
Shevchenko, R.S. |
| title |
Interface-oriented approach to modelling tools for multi-agent systems |
| title_short |
Interface-oriented approach to modelling tools for multi-agent systems |
| title_full |
Interface-oriented approach to modelling tools for multi-agent systems |
| title_fullStr |
Interface-oriented approach to modelling tools for multi-agent systems |
| title_full_unstemmed |
Interface-oriented approach to modelling tools for multi-agent systems |
| title_sort |
interface-oriented approach to modelling tools for multi-agent systems |
| title_alt |
Програмно-апаратна система безконтактного виявлення мін на основі непружного розсіювання нейтронів та машинної обробки спектрів характеристичного γ-випромінювання |
| description |
High-level modeling systems for multi-agent systems can significantly accelerate the process of developing and implementing software for autonomous multi-agent missions. Since different tasks require attention to specific aspects of modeling, an interface-oriented approach can be an effective means of adapting different models of the environment to given behavioral interfaces. Modeling of multi-agent systems covers a wide range of processes– from the physical movement of agents to the formation of behavioral strategies and the organization of their interaction. The interface-oriented approach makes it possible to create flexible multi agent modeling systems that can perform a wide range of tasks, ensuring the rapid development of behavioral models in a multi-agent environment and SITL testing of low-level autopilot code. As part of the approach, the design of the system begins with the definition of interface interaction between its components, which makes it possible to reuse the code and create individual implementations of components for specific experimental tasks. Work is underway on a prototype of the Blefusku multi-agent modeling system, one of the features of which is an interface-oriented approach and support for high-level behavioral description models. The main modules of the system are a modeling environment that contains a model of the environment and generates sensor signals, and an agent container that is responsible for the behavior of objects and the content of the communication environment. The interface is described as a gRPC service that allows connecting different components written in different programming environments. The communication layer is based on the MAVLink protocol. Behavior is determined by an object that is programmed to respond to sensor data and messages and periodic activities. A fragment of a search and rescue mission scenario with drones is given as an example.Problems in programming 2025; 1: 110-117 |
| publisher |
PROBLEMS IN PROGRAMMING |
| publishDate |
2025 |
| url |
https://pp.isofts.kiev.ua/index.php/ojs1/article/view/769 |
| work_keys_str_mv |
AT shevchenkors interfaceorientedapproachtomodellingtoolsformultiagentsystems AT doroshenkoayu interfaceorientedapproachtomodellingtoolsformultiagentsystems AT lesykvo interfaceorientedapproachtomodellingtoolsformultiagentsystems AT savchukov interfaceorientedapproachtomodellingtoolsformultiagentsystems AT yatsenkooa interfaceorientedapproachtomodellingtoolsformultiagentsystems AT shevchenkors programnoaparatnasistemabezkontaktnogoviâvlennâmínnaosnovínepružnogorozsíûvannânejtronívtamašinnoíobrobkispektrívharakterističnogogvipromínûvannâ AT doroshenkoayu programnoaparatnasistemabezkontaktnogoviâvlennâmínnaosnovínepružnogorozsíûvannânejtronívtamašinnoíobrobkispektrívharakterističnogogvipromínûvannâ AT lesykvo programnoaparatnasistemabezkontaktnogoviâvlennâmínnaosnovínepružnogorozsíûvannânejtronívtamašinnoíobrobkispektrívharakterističnogogvipromínûvannâ AT savchukov programnoaparatnasistemabezkontaktnogoviâvlennâmínnaosnovínepružnogorozsíûvannânejtronívtamašinnoíobrobkispektrívharakterističnogogvipromínûvannâ AT yatsenkooa programnoaparatnasistemabezkontaktnogoviâvlennâmínnaosnovínepružnogorozsíûvannânejtronívtamašinnoíobrobkispektrívharakterističnogogvipromínûvannâ |
| first_indexed |
2025-07-17T10:03:40Z |
| last_indexed |
2025-09-17T09:21:09Z |
| _version_ |
1850410847115935744 |
| fulltext |
110
Агентні системи
© Р.С. Шевченко, А.Ю. Дорошенко, В.О. Лесик, О.В. Савчук, О.А. Яценко, 2025
ISSN 1727-4907. Проблеми програмування. 2025. №1
УДК 004.424, 004.94, 007.52 https://doi.org/10.15407/pp2025.01.110
Р.С. Шевченко, А.Ю. Дорошенко, В.О. Лесик, О.В. Савчук, О.А. Яценко
ІНТЕРФЕЙСНО-ОРІЄНТОВАНИЙПІДХІД ДО ЗАСОБІВ
МОДЕЛЮВАННЯМУЛЬТИАГЕНТНИХСИСТЕМ
Високорівневі системи моделювання мультиагентних систем здатні суттєво прискорити процес розроб-
ки та впровадження програмного забезпечення для автономних мультиагентних місій. Оскільки різні
задачі вимагають уваги до специфічних аспектів моделювання, інтерфейсно-орієнтований підхід може
стати ефективним засобом адаптації різних моделей середовища до заданих інтерфейсів поведінки.
Моделювання мультиагентних систем охоплює широкий спектр процесів – від фізичного руху агентів
до формування стратегій поведінки та організації їхньої взаємодії. Інтерфейсно-орієнтований підхід дає
змогу створювати гнучкі мультиагентні системи моделювання, які можуть виконувати широкий спектр
завдань, забезпечуючи швидку розробку моделей поведінки в мультиагентному середовищі та SITL-
тестування низькорівневого коду таких складних систем як автопілоти. В рамках підходу проєктування
системи розпочинається з визначення інтерфейсної взаємодії між її компонентами, що дає можливість
повторного використання коду та створення індивідуальної реалізації компонентів для специфічних
експериментальних завдань. Ведуться роботи над прототипом системи мультиагентного моделювання
Blefusku, однією з особливостей якої є інтерфейсно-орієнтований підхід і підтримка високорівневих
моделей опису поведінки. Основні модулі системи – це середовище моделювання, яке містить модель
середовища та формує сигнали сенсорів, і контейнер агентів, що відповідає за поведінку об’єктів і зміс-
товну частину комунікаційного середовища. Інтерфейс описаний як сервіс gRPC, що дозволяє
з’єднувати різні компоненти, написані у різних середовищах програмування. Комунікаційний рівень
ґрунтується на протоколі MAVLink. Поведінка визначається об’єктом, у якому запрограмована реакція
на дані з сенсорів та повідомлення і періодичні активності. Як приклад наведено фрагмент сценарію
пошуково-рятувальної місії за участі дронів.
Ключові слова: агенти, інтерфейсно-орієнтований підхід, моделювання, мультиагентна система, робо-
тотехніка, сенсори, MAVLink, SITL, ROS.
UDC 004.424, 004.94, 007.52
R.S. Shevchenko, A.Yu. Doroshenko, V.O. Lesyk, O.V. Savchuk, O.A. Yatsenko
INTERFACE-ORIENTED APPROACH TO MODELING TOOLS
FOR MULTI-AGENT SYSTEMS
High-level modeling systems for multi-agent systems can significantly accelerate the process of developing
and implementing software for autonomous multi-agent missions. Since different tasks require attention to
specific aspects of modeling, an interface-oriented approach can be an effective means of adapting different
models of the environment to given behavioral interfaces. Modeling of multi-agent systems covers a wide
range of processes – from the physical movement of agents to the formation of behavioral strategies and the
organization of their interaction. The interface-oriented approach makes it possible to create flexible multi-
agent modeling systems that can perform a wide range of tasks, ensuring the rapid development of behavioral
models in a multi-agent environment and SITL testing of low-level autopilot code. As part of the approach, the
design of the system begins with the definition of interface interaction between its components, which makes it
possible to reuse the code and create individual implementations of components for specific experimental
tasks. Work is underway on a prototype of the Blefusku multi-agent modeling system, one of the features of
which is an interface-oriented approach and support for high-level behavioral description models. The main
modules of the system are a modeling environment that contains a model of the environment and generates
sensor signals, and an agent container that is responsible for the behavior of objects and the content of the
communication environment. The interface is described as a gRPC service that allows connecting different
components written in different programming environments. The communication layer is based on the
MAVLink protocol. Behavior is determined by an object that is programmed to respond to sensor data and
messages and periodic activities. A fragment of a search and rescue mission scenario with drones is given as an
example.
Keywords: agents, interface-oriented approach, modeling, multi-agent system, robotics, sensors, MAVLink,
SITL, ROS.
111
Агентні системи
Вступ
В Інституті програмних систем
НАН України тривалий час проводяться
дослідження, повязані із розробкою та за-
стосуванням систем автоматизації програ-
мування та моделювання [1–4].
Моделювання мультиагентних сис-
тем є актуальною темою, що охоплює ши-
рокий спектр процесів – від фізики пере-
міщення агентів до вироблення високорів-
невої стратегії поведінки та форми взаємо-
дії. Кожна ситуація моделювання в чомусь
унікальна і потребує від програмних засо-
бів моделювання інфраструктури різних
властивостей. Водночас, велика кількість
елементів інфраструктури не змінюється.
Чи можна побудувати архітектуру, що з
одного боку дозволяє перевикористання
компонентів, а з іншого боку достатньо
гнучку для використання у широкому спе-
ктрі завдань?
Історично більшість симуляційних
моделей були сконцентровані на відтво-
ренні фізичного середовища і передачі
значення сенсорів до програмного забез-
печення керування (автопілоту) та переда-
чі значення актуаторів назад у систему
симуляції. Така організація взаємодії
отримала назву SITL (Software in the Loop)
і стала однією з найважливіших технологій
тестування. Із розвитком стандартизації
робототехнічних систем деяку популяр-
ність здобув також стандарт ROS2 [5–7]
(Robot Operating System), що включає в
себе стандартизовані формати повідомлень
для даних сенсорів. Тому типова схема
симуляції виглядає як на Рис. 1.
Рис. 1. Типова схема моделювання
мультиагентних систем
Як правило, ROS з автопілотом зна-
ходиться в doker-контейнері, запущеному
на машині з симуляцією.
Найбільш відомим представником
такого типу є Gazebo [8], що де-факто є
стандартом у цій сфері, дистрибутиви ROS
мають у своєму складі пакети інтеграції з
цією системою. Крім того, оскільки для
опису динаміки роботів однією з найбільш
розповсюджених систем моделювання є
Matlab, то MathWorks випустило Matlab
ROS Toolbox [9], що дозволяє інтегрувати
Matlab моделі з ROS системами.
Подальший розвиток цього напря-
мку пов’язаний з необхідністю викорис-
тання більш багатого середовища для по-
ведінки моделей (насамперед пов’язане з
розробкою моделей комп’ютерного зору та
машинного навчання). В програмуванні є
галузь, де однією з головних характерис-
тик розробок є візуалізація віртуальних
світів, що містять багато об’єктів, з якими
можуть взаємодіяти актори. Це програму-
вання комп’ютерних ігор.
Більше того, в розробці
комп’ютерних ігор є такий клас програм-
ного забезпечення, як платформи (або ру-
шії), де однією із задач є моделювання іг-
рової фізики в режимі м’якого реального
часу. Для багатьох задач робототехніки,
фізично точне моделювання динаміки мо-
же бути замінене приблизною версією, що
може виконуватись на ігровій платформі.
Знаковим є проєкт AirSim [10] від
Microsoft, що використовує для візуалізації
Unreal Engine і також підтримував експе-
риментальний плагін для іншої ігрової
платформи – Unity. Siemens опублікувала
власну бібліотеку інтеграції ROS з Unity
[11] та використовувала її у низці індустрі-
альних проєктів. Unity Technology створи-
ла Unity Robotic Hub [12] на основі коду
Siemens, але згодом припинила її підтрим-
ку. Також Unity створила ML-Agent
Toolkit [13], що як середовище для трену-
вання нейронних мереж розвивається і
зараз.
Якщо переходити до мультиагент-
них систем, то першою перешкодою, з
якою стикаються розробники при еволюції
112
Агентні системи
в цьому напрямку, є швидкодія – парале-
льне застосування симуляцій не було
спроєктоване із самого початку в більшос-
ті бібліотек симуляції фізики. LG створили
на основі Unity свою версію платформи
симуляції – cloisim [14], що використовує
той же формат опису світу SDF, що і Ga-
zebo. У Flightmare [15] автори розділили
рендеринг та симуляцію і створили API
для паралельного генерування даних для
сенсорної камери.
Наступна перешкода – складність
підтримки. Якщо в нас мультиагентна сис-
тема, і кожний агент представлений докер-
контейнером з автопілотом, як показано на
Рис. 2, то конфігурація та підтримка цієї
структури стає трудомісткою.
Ще одна річ, про яку слід подбати –
це комунікаційний рівень, що відсутній у
випадку одного робота. Агенти мають пе-
редавати сигнали за допомогою узгодже-
них протоколів.
В AeroStack [16] пропонується ста-
ндартизована ROS-орієнтована архітекту-
ра, що включає в себе як SITL симуляцію,
так і комунікаційний рівень.
Також уваги потребує опис поведі-
нки агентів, але, якщо система симуляції
ґрунтується на моделі SITL, то тоді опис
поведінки – це модифікація автопілотів
агентів. Однак, автопілоти, як правило,
написані низькорівневими мовами програ-
мування, їх модифікувати та дописувати
дуже трудомістко. Було б добре мати мож-
ливість описувати поведінку за допомогою
більш високорівневих моделей.
Мультиагентні системи моделю-
вання, що сфокусовані на абстрактному
описі поведінки та не прив’язані до точно-
го моделювання нижнього рівня, предста-
вляють собою окремий напрямок. З най-
більш відомих систем можна вказати
JADE [17, 18] (Java Agent Based Environ-
ment), де алгоритм роботи агента предста-
вляється Java-класом, що може виконувати
запити до середовища та взаємодіяти з
іншими такими ж об’єктами і обмінюва-
тись інформацією між ними, використо-
вуючи FIPA-сумісні протоколи. Ще один
підхід – це представлення поведінки не як
програми, а як функції вибору поведінки з
певного набору елементарних елементів
поведінки у часі. Такий підхід цікавий тим,
що до розробки поведінки, представленої у
такому вигляді, можна застосувати методи
машинного навчання, такі як навчання з
підкріпленням [19]. В CAMAS [20]
недетерміністична поведінка сукупності
роботів формально описується за допомо-
гою марковських ланцюгів і моделюється
за допомогою швидкодіючого симулятора
дискретних подій.
1. Інтерфейсно-орієнтований
підхід
Чи можна побудувати мультиагент-
ну систему моделювання, призначену для
виконання широкого спектру задач, і з од-
ного боку мати можливість швидкої роз-
робки моделей поведінки у мультиагент-
ному середовищі, а з іншого – мати мож-
ливість SITL-тестування низькорівневого
коду автопілота? Це дасть можливість
швидкої розробки і валідації множини мо-
делей поведінки для вибору однієї з них,
яку можна буде реалізувати у низькорівне-
Рис. 2. Мультиагентна система, де кожний агент
представлений докер-контейнером з автопілотом
113
Агентні системи
вому автопілоті. Зараз ведуться роботи над
прототипом системи мультиагентного мо-
делювання, що має назву Blefusku. Однією
з її особливостей є інтерфейсно-орієнто-
ваний підхід і підтримка високорівневих
моделей опису поведінки.
Інтерфейсно-орієнтований підхід
полягає в тому, що опис інтерфейсної вза-
ємодії між різними частинами системи є
першим артефактом, з якого починається
проєктування системи. Маючи різні реалі-
зації компонент для різних задач, ми мо-
жемо водночас і перевикористовувати код,
і розробляти індивідуальний варіант функ-
ції під експеримент.
В найбільш загальному вигляді
спрощену структуру системи можна зобра-
зити, як показано на Рис. 3 – в нас є певне
середовище, що включає в себе функціо-
нал фізичних розрахунків, об’єктів та по-
лів, у яких відбувається комунікація.
Рис. 3. Основні компоненти симуляції
З іншого боку, є контейнер агентів,
що відповідає за поведінку об’єктів та змі-
стовну частину комунікаційного середо-
вища. Основний інтерфейс – це взаємодія
між середовищем та контейнером агентів.
Інтерфейс описаний як сервіс gRPC, що
дозволяє з’єднувати різні компоненти, на-
писані у різних середовищах програму-
вання. Наприклад, для середовища є реалі-
зації API мовами Rust, С# (для Unity), та
планується підключення C++ інтерфейсу
Unreal Engine.
Функціональність агента можна
описати як функцію реакції, що отримує
на вхід значення сенсорів та вхідні пові-
домлення і повертає значення актуаторів
та вихідні повідомлення. На protobuf це
можна представити як вхідні та вихідні
повідомлення:
message ActorBehaviorInput {
map<string, SensorData>
sensor_data = 1;
map<string, ActuatorReply>
actuator_replies = 2;
Messages input_messages = 3;
}
message ActorBehaviorOutput {
map<string, ActuatorCommand>
actuator_commands = 1;
Messages output_messages = 2;
}
Структура SensorData – це дані се-
нсорів, описані максимально близько до
відповідних структур в ROS2:
message SensorData {
oneof data {
Image image = 1;
NavSatInfo navsat = 2;
ImuInfo imu = 3;
…
}
}
Аналогічно структура ActuatorData –
це типова структура вводу актуатора. Реп-
ліки з актуаторів надходять до агента у
наступному циклі управління. Можна уя-
вити роботу агента як функцію
:
,
f ActorBehaviorInput State
State ActorBehaviorOutput
→
де State – внутрішній стан агента, струк-
тура якого описана у поведінці.
Комунікаційний рівень ґрунтується
на протоколі MAVLink – вважається, що
всі агенти об’єднані у спільну MAVLink-
мережу. Поряд зі стандартними повідом-
леннями MAVLink також підтримуються і
додаткові повідомлення, визначені корис-
тувачем – розроблено транслятор, який
приймає на вхід XML-опис MAVLink по-
відомлення і додає його до protobuf струк-
114
Агентні системи
тури, що об’єднує всі типи можливих по-
відомлень.
Контейнер агентів містить бібліоте-
ку можливих поведінок. Поведінка визна-
чається об’єктом, у якому запрограмована
реакція на дані з сенсорів, та повідомлення
і періодичні активності. Ще один компо-
нент, SITL-проксі, може використовува-
тись для підключення реального автопіло-
ту у режимі SITL-тестування, де ми може-
мо його запускати в одному середовищі з
чисто програмними агентами. Структура
такого підключення зображена на Рис. 4.
Рис. 4. Симуляція, сумісна з SITL
2. Програмний опис
поведінки
Високорівневий опис поведінки за-
дається за допомогою опису класу мовою
Python. Екземпляр такого класу створю-
ється для кожного актора і при ініціалізації
отримує стан та контекст актора, де визна-
чені методи взаємодії з сенсорами та акту-
аторами.
Програміст може описати методи
реакції на події в об’єкті поведінки та
пов’язати їх із повідомленнями за допомо-
гою декораторів.
Як приклад наведемо фрагмент
сценарію пошуково-рятувальної місії, у
якій беруть участь N дронів. Нехай у нас є
певна сфера відповідальності, за сигналом
початку місії дрони розподіляють між со-
бою поля пошуку і виконують обліт тери-
торії за визначеним маршрутом. Водночас
камери відслідковують об’єкт пошуку і,
знаходячи схоже зображення, надсилають
його для підтвердження на наземну стан-
цію. Якщо підтвердження отримане, дрон
спускається поряд з об’єктом пошуку та
відкриває маніпулятор, а інші дрони заве-
ршують місію.
Почнемо з того, що додамо до стан-
дартних повідомлень MAVLink нові пові-
домлення, що стосуються рятувальної мі-
сії. Це може бути п’ять повідомлень:
– RESQUE_MISSION_START – ге-
нерується на старті місії;
– RESQUE_TARGET_CANDIDATE
(з полями, що включають координати та
MFTP URL та унікальним ID) – генеру-
ються, коли камера знайшла кандидата для
цілі пошуку;
– RESQUE_TARGET_CANDIDATE_
APPROVE – генеруються, коли з наземної
станції прийшло підтвердження, що пошук
успішний;
– RESQUE_TARGET_CANDIDATE_
REJECT – генерується, коли оператор поз-
начив результати пошуку як несправжнє
розпізнавання;
– RESQUE_TARGET_REACHED –
коли один дрон почав операцію порятунку,
а інші можуть закінчити пошук.
Після цього потрібно перегенерува-
ти класи повідомлень та імплементувати
поведінку.
Поведінка визначається класом, у
якому визначається стан і вказуються реа-
кції на повідомлення (Рис. 5).
Тобто тут ми бачимо, що під час
старту пошукової місії, якщо дрон не за-
йнятий, викликається метод start_search,
що ініціює старт місії. Відповідне
MAVLink-повідомлення передається на
цей же автопілот (і буде відпрацьоване як
частина стандартної поведінки).
У режимі пошуку періодично ска-
нується зображення з камери, і якщо
знайдений кандидат, то місія призупиня-
ється і на наземну станцію передається
зображення.
Отримавши підтвердження того, що
пошук вдалий, дрон переходить у режим
посадки біля цілі, та посилає броадкаст-
сигнал, що пошукову ціль знайдено
(Рис. 6).
Усі інші дрони бачать це повідом-
лення і призупиняють роботу, якщо немає
іншої активної пошукової місії.
115
Агентні системи
Зазначимо, що один агент може
описуватись кількома скриптами поведін-
ки, які можуть описувати різні компоненти
однієї системи. Так, наприклад, у розробці
систем машинного зору, як правило, окре-
мо моделюється камера.
Висновки
Високорівневі системи моделюван-
ня мультиагентних систем відіграють
ключову роль у прискоренні циклу розро-
бки та впровадження програмного забез-
печення для автономних мультиагентних
місій. Вони дозволяють створювати склад-
ні симуляційні середовища, які можуть
точно відтворювати як фізичні умови, так і
class ResqueMission(BaseBehavior):
state: 'IDLE' | 'SEARCH' | 'APPROVE' | 'RESCUE' | 'RETURN' | 'LAND'
@on_message(RESQUE_MISSION_START, when='IDLE')
async def start_search(self, message: mavlink_pb2.SEARCH_AREA):
self.state = 'SEARCH'
await self.ctx.send_mavlink(my_system_id, 1,
MAV_CMD_DO_SET_MISSION_CURRENT(1,1) )
self._context.log_info("ResqueMission: start")
@periodic(duraction = 1, when='SEARCH')
async def classify_resque_target(self):
image = await self.ctx.camera_image()
found = check_for_person(image)
if found:
self.state = 'APPROVE'
await self.ctx.send_mavlink(my_system_id, 1, MAV_CMD_CONDITION_DELAY, 1)
image_uri = await ctx.upload_image(image)
self.ctx.send_mavlink(GROUND_STATION, 1, RESQUE_CANDIDATE_FOUND,
...ctx.pos, image_uri)
Рис. 5. Клас, що задає поведінку
@on_message(RESQUE_CANDIDATE_APPROVED, when='APPROVE')
async def resque_candidate_approved(self, message:
mavlink_pb2.CAMERA_IMAGE_CAPTURED):
self._context.log_info("ResqueMission: resque_approved")
self.state = 'RESCUE'
await self.ctx.send_mavlink(my_system_id, 1, SET_POSITION_TARGET_LOCAL_NED,
...correct_resque_target(ctx.pos))
await self.ctx.send_mavlink(my_system_id, 1, MAV_CMD_DO_RALLY_LAND)
self.ctx.send_mavlink(BROADCAST, 1, RESQUE_TARGET_REACHED, ctx.pos)
Рис. 6. Після підтвердження успішного пошуку дрон переходить у режим посадки біля
цілі та надсилає широкомовний сигнал про її виявлення
116
Агентні системи
поведінкові аспекти агентів, що взаємоді-
ють між собою. Це, у свою чергу, сприяє
ефективному тестуванню, налагодженню
та вдосконаленню алгоритмів управління
автономними системами без необхідності
безпосереднього використання реального
обладнання на ранніх етапах розробки.
Оскільки різні завдання вимагають
акцента на різних аспектах моделювання,
гнучкість симуляційних платформ стає
критично важливою. Деякі сценарії потре-
бують точного моделювання фізичних за-
конів, таких як аеродинаміка або динаміка
руху транспортних засобів, тоді як інші
зосереджуються на комунікаційних аспек-
тах або ухваленні рішень агентами в скла-
дному середовищі.
У цьому контексті інтерфейсно-
орієнтований підхід до розробки мультиа-
гентних систем може значно полегшити
адаптацію різних середовищ моделювання
до специфічних інтерфейсів поведінки
агентів. Такий підхід передбачає чітке роз-
ділення між моделями середовища та ал-
горитмами поведінки, що дозволяє легко
змінювати або вдосконалювати окремі
компоненти системи без необхідності пов-
ного перероблення всієї інфраструктури.
Крім того, це сприяє масштабованості та
модульності симуляційних платформ, що
робить їх придатними для широкого спек-
тру застосувань – від дослідження страте-
гій кооперації роботів до тестування авто-
номного транспорту та безпілотних літа-
льних апаратів.
Завдяки такій організації можна не
лише скоротити час розробки програмного
забезпечення, а й покращити його якість,
забезпечивши ефективне тестування вірту-
альних агентів у різних умовах ще до їх-
нього розгортання у реальному світі.
References
1. P. Andon, A. Doroshenko, V. Akylovsky,
P. Ivanenko, O. Yatsenko, Formal and
adaptive methods of constructing high-
performance parallel programs. Kyiv:
Naukova Dumka, 2023. [in Ukrainian]
2. A. Doroshenko, O. Yatsenko, Formal and
adaptive methods for automation of parallel
programs construction: emerging research and
opportunities. Hershey: IGI Global, 2021. doi:
10.4018/978-1-5225-9384-3
3. Rahozin D. V., Doroshenko A. Yu.
Modelling videocard memory performance
for LLM neural networks, in: Problems in
programming 2–3 (2024) 37–44. doi:
10.15407/pp2024.02-03.037 [in Ukrainian]
4. Doroshenko A. Yu., Okonsky I. V., Zhereb
K. A., Beketov O. G. Using modeling tools to
determine optimal parameters of program
execution on video graphics accelerators, in:
Problems in programming 2 (2013) 23–31. [in
Ukrainian]
5. M. Quigley, B. Gerkey, K. Conley, J. Faust,
T. Foote, J. Leibs, E. Berger, R. Wheeler,
A. Y. Ng, ROS: an open-source Robot
Operating System, in: Open-Source Software
workshop of the International Conference on
Robotics and Automation (ICRA) (2009) 1–6.
Accessed: 04.03.2025.
http://www.robotics.stanford.edu/
~ang/papers/icraoss09-ROS.pdf
6. S. Macenski, T. Foote, B. Gerkey, C.
Lalancette, W. Woodall, Robot Operating
System 2: design, architecture, and uses in the
wild, in: Science Robotics (2022) 7.
doi: 10.1126/scirobotics.abm6074
7. ROS. Accessed: 04.03.2025. https://ros.org/
8. N. Koenig, A. Howard, Design and use
paradigms for Gazebo, an open-source multi-
robot simulator, in: 2004 IEEE/RSJ
International Conference on Intelligent
Robots and Systems (IROS) (IEEE Cat.
No.04CH37566) (2004), vol. 3, 2149–2154,
doi: 10.1109/IROS.2004.1389727.
9. Matlab ROS toolbox. Accessed: 04.03.2025.
https://www.mathworks.com/products/ros.htm
l
10. S. Shah, D. Dey, C. Lovett, A. Kapoor,
AirSim: high-fidelity visual and physical
simulation for autonomous vehicles, in:
ArXiv (2017)
doi: 10.48550/arXiv.1705.05065
11. ros-sharp. Accessed: 04.03.2025.
https://github.com/siemens/ros-sharp/
12. Unity-Robotics-Hub. Accessed: 04.03.2025.
https://github.com/Unity-Technologies/Unity-
Robotics-Hub/
13. J. Arthur, V.–P. Berges, E. Teng, A. Cohen,
J. Harper, C. Elion, C. Goy, Y. Gao,
H. Henry, M. Mattar, D. Lange, in: arXiv
preprint arXiv:1809.02627 (2020) doi:
10.48550/arXiv.1809.02627
14. CLOiSim: Multi-Robot Simulator. Accessed:
04.03.2025. https://github.com/lge-
ros2/cloisim
117
Агентні системи
15. Y. Song, S. Naji, E. Kaufmann, A. Loquercio,
D. Scaramuzza, Flightmare: a flexible
quadrotor simulator, in: Conference on Robot
Learning (CoRL) (2020) 1–11. Accessed:
04.03.2025.
https://rpg.ifi.uzh.ch/docs/CoRL20_Yunlong.
pdf
16. M. Fernandez-Cortizas, M. Molina, P. Arias-
Perez, R. Perez-Segui, D. Perez-Saura, P.
Campoy, Aerostack2: a software framework
for developing multi-robot aerial systems, in:
ArXiv (2023).
doi: 10.48550/arXiv.2303.18237.
17. F. L. Bellifemine, G. Caire, D. Greenwood,
Developing multi-agent systems with JADE
(Wiley Series in Agent Technology), John
Wiley & Sons, 2007.
18. Jade. Accessed: 04.03.2025.
https://jade.tilab.com/
19. P. Pierpaoli, T. T. Doan, J. Romberg,
M. Egerstedt, Sequencing of multi-robot
behaviors using reinforcement learning, in:
Control Theory and Technology 19 (2021)
529–537. doi: 10.1007/s11768-021-00069-5
20. C. Street, B. Lacerda, M. Staniaszek, M.
Mühlig, N. Hawes, Context-aware modelling
for multi-robot systems under uncertainty, in:
21st International Conference on Autonomous
Agents and Multiagent Systems
(AAMAS’22). International Foundation for
Autonomous Agents and Multiagent Systems
(2022) 1228–1236. Accessed: 04.03.2025.
https://www.ifaamas.org/
Proceedings/aamas2022/pdfs/p1228.pdf
Одержано: 05.03.2025
Внутрішня рецензія отримана: 11.03.2025
Зовнішня рецензія отримана: 10.03.2025
Про авторів:
1Шевченко Руслан Сергійович,
кандидат технічних наук,
старший науковий співробітник.
https://orcid.org/0000-0002-1554-2019.
1,2Дорошенко Анатолій Юхимович,
доктор фізико-математичних наук,
професор, провідний науковий співробіт-
ник.
http://orcid.org/0000-0002-8435-1451.
1,2Лесик Валентин Олександрович,
інженер,
аспірант КПІ ім. Сікорського.
http://orcid.org/0000-0002-8307-5707.
2Савчук Олена Володимирівна,
кандидат технічних наук,
доцент кафедри інформаційних
систем та технологій.
http://orcid.org/0000-0003-3176-7952.
1Яценко Олена Анатоліївна,
кандидат фізико-математичних наук,
старший науковий співробітник.
http://orcid.org/0000-0002-4700-6704.
Місце роботи авторів:
1 Інститут програмних систем
НАН України,
тел. +38-067-407-32-33
E-mail: doroshenkoanatoliy2@gmail.com,
ruslan@shevchenko.kiev.ua,
oayat@ukr.net
Сайт: https://iss.nas.gov.ua
2 Національний технічний університет
України «Київський політехнічний
інститут імені Ігоря Сікорського»,
Сайт: https://ist.kpi.ua
|