Створено мову програмування для роботів

Фахівці в галузі інформаційних технологій з Канади та Австралії створили скриптову мову Buzz, призначену для програмування роботів, що «рояться». Автори опублікували синтаксис нової мови, а також ряд демонстраційних програм для вирішення найбільш простих завдань, які ставляться перед роботизованими роями. Препринт роботи викладено на, а дистрибутив і приклади програм доступні на сторінці проекту на.


Buzz являє собою мову з динамічною типізацією, чий синтаксис, за словами авторів, повинен нагадувати Python або Lua. Крім стандартних типів даних, таких як nil, integer, floating-point, string та інших, нова мова підтримує типи swarm і virtual-stigmergy. Перший застосовується для організації роботів у рій, а другий - для створення централізованої «бази даних», що дозволяє роботам глобально обмінюватися інформацією.


Для запуску скрипту, написаного на Buzz, на кожному роботі запускається віртуальна машина BVM (Buzz virtual machine). Вона веде відлік і синхронізацію часу і на кожному кроці виконує алгоритм з п'яти етапів: 1) збір даних з сенсорів, 2) обробка отриманих повідомлень, 3) виконання основного скрипту, 4) надсилання інструкцій, 5) включення актуаторів (рух та взаємодія з навколишнім середовищем).

Творці нової мови відштовхувалися від декількох ключових особливостей, якими повинна володіти мова програмування для роботів. Наприклад, він повинен дозволяти використання декількох видів абстракції, як «top-down», тобто від рою до індивідуального роботу, так і «bottom-up» - від індивідуальних завдань до поведінки рою. Крім того, мова повинна дозволяти легко масштабувати систему, підтримувати створення «гетерогенних роїв», що складаються з різних типів роботів, а також допускати можливості розширення функціоналу і простого підключення сторонніх пакетів.

Як приклади автори вирішували завдання з вибудовування роботів у впорядковану формацію і поділу рою в просторі на дві групи. В обох випадках рішення було представлено у вигляді комп'ютерної моделі рою з програмованих «віртуальних роботів».

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

COM_SPPAGEBUILDER_NO_ITEMS_FOUND