Pull to refresh

Comments 18

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

Игру хорошую по нему выпустили кстати.

Если лень проходить

Хотелось бы поиграть на своем ПК, но показаны только фрагменты. Класса Swarm не увидел.

сложное поведение не требует сложного управления.

Верно, но сложное поведение само по себе не создает способности к решению сложных задач.

А вы сталкивались с роевыми системами на практике? Делитесь опытом в комментариях!

Навряд ли у того, кто столкнулся с роевыми системами на практике, получится потом поделиться опытом в комментариях.

С биологическими - запросто...

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

Есть способы как реализовать и несколько параллельных и последовательных целей.

Насчёт удержания формации - это как раз противоречит децентрализованному управлению. Формация жёстко не задаётся, в этом и преимущество гибкости. Если всё же нужна жёсткая формация, то наверное надо считать такую группу единичным элементом роя, а не составным.

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

По-хорошему, нужно бы добавить паттерн "Если потеряна связь с соседом и потеря продолжается больше Х тактов, то пометить его последние координаты как опасную зону и передать другим коллегам". А дальше - уже вопрос пятый: как обходить опасные зоны, снижать уровень опасности со временем и тд.

В данном упрощённом алгоритме опасные зоны заданы заранее и статичны. Визуально отмечены красными крестиками.
Ваша идея с отслеживанием потери связи с соседями - один из возможных путей реализации в реальных задачах.

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

А зачем дронам собираться в кучу, если каждый из них и так знает где конечная цель?

Каждый не знает, они знают коллективно, каждый что-то свое, с чем ему повезло больше, чем другим. Например пролетел над сооружением в котором есть телевизор или холодильник, который через вайфай передал ему инфу. А в совокупности т.е. коллективно они уже знают достаточно.

В кучу они всё же не сбиваются, а держатся на неком оптимальном расстоянии. Это расстояние можно установить любое.
Если не устанавливать его вовсе (вернее, установить в бесконечность), то элементы роя будут просто бесконечно отдаляться друг от друга. Движение роя в таком случае будет напоминать что-то вроде "взрыва в 2D".

Пружинный алгоритм. 2D. Для того, чтобы понимать принципы - норм.

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

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

Проверить робастность к шуму, использовать в симуляции помехи.

Sign up to leave a comment.

Articles