Версия для слабовидящих
Buzz, язык программирования для самоорганизующегося роя беспилотников Печать Email
Новости об инновациях
17.08.2015

Изображение с сайта geektimes.ru Изображение с сайта geektimes.ru

Есть что-то завораживающее в роях насекомых, стаях птиц и косяках рыб. Множество живых существ ведут себя вместе, как один живой организм. При этом учёные объясняют, что в таких ситуациях каждая живая составляющая целого роя выстраивает своё поведение, ориентируясь лишь на своих соседей.

Эта же тема заинтересовала канадца итальянского происхождения, Карло Пинцироли (Carlo Pinciroli), который с 2007 года занимается исследованиями в области управления большим количеством полуавтономных роботов. Он вместе с коллегами рассказал о последнем достижении в этой области — язык для программирования роя роботов Buzz. Разработку ведут учёные из политехнической лаборатории MIST канадского института École Polytechnique de Montréal и их зарубежные коллеги.

Программирование мобильного робота — задача сама по себе достаточно сложная. Задача управления поведением целой стаи, да ещё в условиях меняющейся окружающей среды, когда роботы должны сами принимать решения о своих действиях — ещё более сложная. К ней существует два подхода — снизу вверх, и сверху вниз.

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

geektimes-buzz-swarm-language-2.jpgРой роботов из проекта МакЛюркина, другого исследователя в этой области

Авторы языка Buzz описывают его, как синтаксического наследника распространённых сейчас JavaScript, Python и Lua. Это сделано для уменьшения входного порога в язык. Они постарались сделать его таким образом, чтобы у программиста был выбор подхода — он сможет выбирать, работать ему снизу вверх или сверху вниз.

Язык обогащён специальными конструкциями для работы с роями роботов. Например, swarm позволяет делить роботов на группы, у каждой из которых будет своя задача. Конструкция neighbors позволяет работать с взаимодействием соседних роботов между собой и эмулировать поведение животных в настоящих стаях.

Существуют и другие конструкции — например, virtual stigmergy (виртуальная стигмергия), дающая роботам команду передать всем и запомнить информацию в виде наборов пар «ключ-значение». Она названа так в честь механизма опосредованного координированного взаимодействия насекомых, который впервые наблюдали у термитов. Когда один из них меняет состояние окружающей среды, другие воспринимают это изменение, и оно служит для них стимулом, определяющим их последующие действия.

Карло Пинцироли в ходе своей исследовательской деятельности также создал ARGoS — программу для симуляции работы большого количества роботов. Эту программу использует несколько институтов и независимых команд исследователей, работающих в схожих направлениях. На видео показана демонстрация взаимодействия виртуального роя роботов в виртуальном окружении ARGoS, которые эмулируют работу коптеров Spiri (краудфандингового проекта, в данный момент находящегося в стадии выпуска готового продукта).

На видео показано, как рой роботов решает задачу нахождения двух различных целей и деления роя на две части согласно найденной цели. Они делают это в три этапа.

На первом роботы набирают заданную высоту. При этом набравшие высоту роботы информируют всех своих соседей о достижении этой промежуточной цели (виртуальная стигмергия). На втором этапе роботы выполняют визуальный поиск объекта, вращаясь вокруг вертикальной оси.

На третьем этапе роботы, нашедшие нужный объект, информируют соседей об успехе, и делятся с ними информацией о цвете объекта и расстоянии до него. Те роботы, которые, совершив полный оборот, так и не увидели ни одного из объектов поиска, на основе полученной от соседей информации решают, к какой из двух групп присоединяться.

Четвёртый этап — разделение роя на два. Роботы, нашедшие объект, и роботы, получившие информацию об объекте от своих соседей, делятся на две группы.

Авторы статьи выражают надежду, что Buzz позволит всем, кто интересуется робототехникой, реализовывать свои идеи достаточно простым способом, и также продвинет вопрос программирования роя роботов на следующий уровень. По их информации, сейчас отсутствуют какие-либо стандартные платформы, которые бы позволяли исследователям сравнивать свои достижения, делиться ими и использовать наработки других в этой области.

Язык Buzz свободный, его исходный код открыт и распространяется по лицензии MIT.


Материалы по теме:

http://www.nanonewsnet.ru/…hsya-robotov

Источник - http://www.nanonewsnet.ru/news/2015/buzz-yazyk-programmirovaniya-dlya-samoorganizuyushchegosya-roya-bespilotnikov

 

Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта Карта сайта