ПРОЕКТИРОВАНИЕ

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

1. Минимизация трудозатрат.

2. Базирование на опыте предыдущих моих проектов.

3. Возможность наращивания стратегий движения.

 
Проблемы и решения.

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

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

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

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

Идентификация

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

Местонахождение

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

Стратегии движения

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

 
Сценарии.

Организация взаимодействия агентов при построении роя. Задаются, с возможностью изменения, следующие параметры:

1. Дистанция между агентами в рое (максимальное, минимальное)

2. Дальность радара агента. На каком расстоянии он может видеть соседей.

3. Скорость движения агента.

4. Количество соседей, с которыми взаимодействует агент.

Если агент на дистанции больше максимальной от соседа, то он движется к нему. Если агент на дистанции меньше минимальной от соседа, то он движется от него. Если агент на дистанции больше минимально, но меньше максимальной от соседа, то он не движется или ищет следующего ближайшего соседа.

Добавлен еще один изменяемый параметр – приоритет. Либо создание роя, либо движение к цели. Если приоритет – рой, к цели двигаются только агенты, не перемещающиеся для создания роя. Если приоритет – цель, все агенты движутся к цели, но в рамках параметров роя.