Обзор ролика "Slaughterbots для управление мультиагентными системами"


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

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

Сам по себе коптер, небольшой вертолетик с четырьмя лопастями, в наше время уже тривиальная вещь. Их выпускают в огромном количестве, зачастую для использования просто в развлекательных целях. Их, например, можно погонять с пульта в спортзале или в чистом поле, пока нет сильного ветра. Таким образом, при ручном управлении получается один дрон-коптер — один пульт — один человек (оператор), который им управляет.

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

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

Первый самый низкий — это программа которая прошита в контроллере каждого дрона.

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

Такие программы хорошо описаны например вот в этой статье https://habrahabr.ru/post/227425/

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

Такая программа является распределенной, это значит она по частям выполняется на каждом дроне и потом обрабатывается в едином центре. Для обмена данными, в нашем случае, должен быть использован какой-то протокол данных. Из стандартных протоколов наиболее распространенными являются Wifi, Bluetooth, ZigBee.

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

Bluetooth — по определению предназначен для связи на небольшие расстояния, поэтому если коптер отлетит чуть дальше 30 метров, то может потеряться и не сообразить куда ему возвращаться обратно.

Поэтому наиболее оптимальным является один из клонов промышленного протокола ZigBee. Что это такое и как им можно пользоваться описано вот в этой статье http://wiki.laser.ru/index.php/ZigBee

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

Ну и над всем этим будет стоять самый важный уровень программирования — это скрипт решения поставленной задачи. Он скорее всего пишется на некоем псевдо языке и будет описывать необходимые действия группы по ролям: кто проникает в помещение, кто осуществляет подрыв стены для отверстия, кто координирует выбор целей, кто непосредственно осуществляет нападение на цель. В реальности задачи могут быть самыми разными, и не обязательно такими кровожадными, а на пример, обработка полей сельских угодий, либо дезактивация зоны загрязнения при промышленном мониторинге или какие-то другие жизнеутверждающие варианты. Такую программу для управления по скрипту можно собрать самостоятельно из исходников например с гитхаба https://github.com/woronin/smartcar

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

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

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

Материал подготовил: Воронин Игорь Владимирович



comments powered by HyperComments

Возврат к списку


Раз в неделю мы отправляем дайджест с самыми популярными статьями.