CoCoRo — проект коллективного взаимодействия роя подводных роботов


CoCoRo (Collective Cognitive Robotics) — это финансируемый Евросоюзом, проект по создании роя подводных роботов.
После трёх с половиной лет работы, учёным из Австрии, Италии, Германии, Бельгии и Великобритании — удалось построить рой, состоящий из 41 автономного подводного аппарата (AUV — autonomous underwater vehicle).

Рой состоит из трёх типов роботов:
20 роботов Jeff (разведчики дна),
20 небольших роботов Lily (осуществляют передачу данных между роботами Jeff и базовой станцией),
+ 1 базовая станция, которая представляет собой катамаран, плавающий на поверхности воды (связь между роем и человеком).

При создании роя, учёные старались придерживаться принципа KISS — Keep it Simple and Stupid (Делай это просто и глупо).
Для проекта был выбран децентрализованный подход, так как в рое нет одной точки отказа.
Рой — это надёжная, гибкая и масштабируемая система, которая может адаптироваться к меняющимся условиям.
К плюсам роя, так же, относится тот факт, что технические требования и стоимость одного робота для роя меньше, чем для систем состоящих только из одного робота.

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

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

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

Коллективная работа роботов Jeff и Lily
Сценарий коллективного поиска магнитной (металлической) цели на «морском дне».
Сначала, робот Jeff находит цель, выполняя её поиск при помощи магнитного датчика. После обнаружения цели одним из роботов, он привлекает к цели других роботов при помощи синих световых сигналов. Затем, вызывается рой роботов Lily, которые находятся в более высоких слоях воды и служат для сигнализации места человеку.

Размер роя
Для роя роботов, важно знать свой собственный размер. В проекте CoCoRo, эту задачу решили при помощи алгоритма, вдохновлённого слизевиками; заменив химические сигналы на мигание синих светодиодов. Данные передаются соседним роботам и получается «волнообразное» движение данных.

После того, как алгоритм был успешно протестирован на роботах Lily, он был реализован и для роботов Jeff.

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

Добавив дополнительный датчика света, учёные демонстрируют «упорядочивание» роя, превращая его в некий действующий орган, который можно назвать «супер-организм».

«Удержание» роботов Lily возле базовой станции.

Ссылки
http://cocoro.uni-graz.at
CoCoRo: New video series tracks dev’t of collective behaviour in autonomous underwater swarm
Artificial Life Laboratory, Graz, Austria

По теме
Будущее за бионическими роботами?
В США успешно испытали группу катеров-беспилотников
Более 1000 роевых микророботов научили выстраивать сложные фигуры
BristleSwarm — коллективные виброботы на Arduino
Такие разные робо-рыбы
Роборыба на базе Arduino


Добавить комментарий

Arduino

Что такое Arduino?
Зачем мне Arduino?
Начало работы с Arduino
Для начинающих ардуинщиков
Радиодетали (точка входа для начинающих ардуинщиков)
Первые шаги с Arduino

Разделы

  1. Преимуществ нет, за исключением читабельности: тип bool обычно имеет размер 1 байт, как и uint8_t. Думаю, компилятор в обоих случаях…

  2. Добрый день! Я недавно начал изучать программирование под STM32 и ваши уроки просто бесценны! Хотел узнать зачем использовать переменную типа…

3D-печать AI Android Arduino Bluetooth CraftDuino DIY IDE iRobot Kinect LEGO OpenCV Open Source Python Raspberry Pi RoboCraft ROS swarm ИК автоматизация андроид балансировать бионика версия видео военный датчик дрон интерфейс камера кибервесна конкурс манипулятор машинное обучение наше нейронная сеть подводный пылесос работа распознавание робот робототехника светодиод сервомашинка собака управление ходить шаг за шагом шаговый двигатель шилд

OpenCV
Робототехника
Будущее за бионическими роботами?
Нейронная сеть - введение