И тысяча не предел: автоматическое программирование позволяет управлять батальоном роботов

Исследователи из Англии постарались минимизировать риск человеческих ошибок в роевой работе роботов
(фото University of Sheffield).

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

Автоматическое программирование уменьшило влияние пресловутого человеческого фактора и вероятность некоторых багов, которые могут возникнуть при обычном программировании.

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

Команда использовала метод, ранее применявшийся в промышленности, для контроля деятельности 600-900 роботов, то есть с крупнейшими роями роботов в мире!

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

Руководствуясь этими принципами, британские программисты и разрабатывали новый метод управления такой "армией". Предыдущие исследования основывались на методе проб и ошибок, в результате могли возникнуть непредсказуемые последствия и нежелательное поведение отдельных "муравьёв". Кроме того, создание и поддержание исходного кода занимает достаточно много времени, из-за чего его непросто использовать на практике.

Исследователи из Шеффилда добились уменьшения влияния человеческого фактора и погрешностей. Учёные использовали графический инструмент для определения задач, которые необходимо ставить перед роботом, а техника автоматически программировала роботов на выполнение необходимых действий.

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

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

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

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

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

"Наше исследование ставит любопытный вопрос — являются ли машины более надёжными программистами, чем люди, ведь это мы устанавливаем границы, – комментирует инженер Родерих Гросс (Roderich Gross), один из авторов исследования. – Мы можем продолжать контролировать поведение роботов, но программирование будет осуществляться с помощью машины, что минимизирует вероятность человеческой ошибки".

Минимизация "человеческого фактора" в программирование также может иметь большое значение для финансовых структур. Глобальная стоимость отладки программного обеспечения (то есть выискивания тех самых багов) оценивается примерно в 312 миллиардов долларов США ежедневно, и в целом разработчики ПО тратят половину своего времени работы на поиск и исправление ошибок в коде.

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

Подробности исследования были опубликованы в журнале Swarm Intelligence.

 

Сегодня