Анализ

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

Постановка задачи

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

2. Разработать виртуальную модель пространства для отладки алгоритма управления.

3. На основе разработанного алгоритма написать программу управления виртуальными роботами в моделируемом пространстве.

Параметры проекта

Объект исследования - самоорганизация роботов при адаптации к внешним воздействиям.

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

Система управления

Image 02

Есть основных типы контроллеров (систем управления) для распределенной системы: централизованный, распределенный и гибридный контроллеры [1].

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

Второй тип контроллера представляет собой распределенный контроллер, в котором каждый робот одновременно принимает решения для роя, и конечный результат всех решений роботов дает искомое общее поведение. Недостатком этих контроллеров является то, что их трудно представить себе и реализовать.

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

В проекте для исследования выбран вариант централизованного типа системы управления потому что такой тип легче реализовать. Мы обходим недостаток контроллера тем, что задача роя роботов "охранять" своего "лидера”.

Ролевое распределение

Image 03

В одной из работ [2] рассматривается вариант разнородных роёв роботов, которые сотрудничают для решения сложных задач. В частности используется рой колесных роботов, называемых foot-bots и рой роботов, называемых eye-bots.

Задача foot-bots - двигаться вперед и назад между начальным и целевым адресом.

Роль eye-bots - руководить, давать указания, направленные к foot-bots.

Используя такое ролевое распределение и выбор в предыдущем разделе централизованного типа контроллера, в проекте тем самым определяется ролевое распределение в рое роботов: foot-bots осуществляют создание и поддержание заданной формы роя, а eye-bots (состоящий из одного экземпляра) служит для формирования общих данных и передачи их foot-bots.

Идентификация робота

Есть три основных варианта, по которым роботы идентифицируют себя: глобально уникальные идентификаторы (ID), локальные (временные) уникальные идентификаторы или без каких-либо идентификаторов [1].

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

Второй вариант должен быть гарантированно уникальным для определенной ситуации и может меняться в процессе жизненного цикла роя.

Третий вариант не требует каких-либо идентификаторов для роботов роя.

В ходе работы над проектом был выбран второй вариант (временный идентификатор), который помогает решить задачи гарантированного определения места робота в рое и автоматической смены идентификатора после изменения количества членов роя.

Местонахождение роботов

Местонахождение роботов связано с выбранной системой координат. Есть два типа системы координат роботов: абсолютная и относительная.

Абсолютная - это система координат, в которой робот вычисляет свою позицию в пространстве, в котором он находится.

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

В работе была выбрана для реализации абсолютная система координат, которая упрощала задачу создания программы для управления роботами.

Движение роботов

Image 03

Задача самосборки и самовосстановления в рое зависит от того, как двигается каждый робот, чтобы создать форму, а затем "залечить" её, если она повреждена.

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

В литературе [1] для решения этой проблемы предлагается несколько способов:

Только один робот движется к определенной цели (поочерёдное движение), что позволяет предотвратить столкновение.

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

В проекте проблема столкновения роботов при формировании роя решена через движение роботов из центральной точки, а при самовосстановлении - через поочерёдное движение.

Самовосстановление

Image 03

Есть много типов повреждений, которые могут возникнуть в роботизированной коллективе. Например, роботы могут быть добавлены, или некоторые роботы могут быть удалены из коллектива. Кроме того, роботы могут быть частично повреждены, позволяя осуществлять коммуникацию, но не имея возможности двигаться, или наоборот [1].

В проекте рассмотрен случай самовосстановления только по причине исчезновения роботов из роя. Следовательно, форма роя восстанавливается частично и пропорционально количеству роботов в текущий момент.