Группе французских исследователей удалось решить самую сложную задачу в робототехнике. Они не только заставили команду роботов синхронно выполнять одни и те же действия, но и добились того, что каждый андроид при сбое сам восстанавливал утраченный ритм. Это удалось сделать при помощи способа коммуникации живых существ, названного чувством кворума.
Одна из самых больших проблем современной робототехники — это заставить роботов действовать синхронно. Подобное необходимо во многих отраслях современного производства, например, при точной сборке на конвейере. В таких ситуациях важно, чтобы два (или более) механизма одновременно сделали одни и те же движения — иначе прибор будет собран неправильно. Но как добиться этого, ведь роботы не могут общаться друг с другом так же, как мы?
Стандартным решением этой проблемы долго была схема, условно называемая "танцкласс". Суть ее заключалась в том, что в компании механизмов точно так же, как и среди коллектива, разучивающего танец, выбирался некий "лидер". Правда, в отличие от настоящего учителя танцев, он вовсе не руководил действиями остальных — просто именно его программировали на выполнение определенных движений. "Лидер" поддерживал связь по беспроводной сети со всеми остальными роботами, давая им команды выполнять те же движения, что и он в режиме реального времени. Словом, классическое: "делай как я"!
Тем не менее, когда эта схема от стадии расчетов перешла к практической реализации, выяснилось, что тут не все гладко. Оказалось, что из-за массы непредсказуемых мелочей в работе беспроводных сетей постоянно возникают сбои, которые приводят к задержкам и, соответственно, сбою синхронизации. Кроме того, несколько раз бывали ситуации, когда у самого "лидера" начинались сбои и отставание — тогда вся "команда" автоматически теряла нужный "ритм".
Проанализировав все недочеты подобной схемы, ученые поняли, что следует искать альтернативное решение. И, как это часто бывает, они обратились "за советом" к живым существам, обладающим так называемым "чувством кворума". Напомню, что таковым называется способность ряда живых организмов (в основном, бактерий и общественных насекомых) общаться и координировать свое поведение за счет секреции молекулярных сигналов.
Например, святящиеся бактерии Vibrio fischeri, которые обитают в специальных органах (люминофорах) кальмаров и каракатиц, могут выделять особое вещество, которое заставляет всех участников колонии синхронно вспыхивать. А особи колоний зловещей синегнойной палочки (Pseudomonas aeruginosa), вызывающей заболевания органов дыхания, с помощью таких же сигналов могут сближаться и образовывать сообщество в виде пленки, члены которой синхронно делятся.
Подобные коммуникации свойственны и более высокоорганизованным существам. Так, обитающие в тропиках Африки, Азии и Австралии муравьи-портные (род Oecophylla) при строительстве своих гнезд используют листья растений. Первый этап строительства заключается в том, что целая армия рабочих вцепляется в края листовой пластинки и сворачивает ее в "трубочку". При этом все их действия абсолютно одинаковые и синхронные, а усилия каждый муравей прилагает те же, что и сосед — поэтому-то лист и не рвется.
Поскольку уже давно известно, что "прорабов" у муравьев нет, и ими никто не руководит, ученые предположили, что эта синхронность достигается тем, что каждый рабочий выделяет в окружающую среду особый феромон, сигнал которого можно перевести на человеческий язык стандартной формулировкой "делай как я!". Недавно этот феромон был выделен в чистом виде, и его сигнальная роль доказана экспериментально. Ну, а как только лист оказывается свернут, другие рабочие также синхронно подносят к удерживаемым краям личинок, выделяющих шелковые нити, которыми лист и сшивается. Как видите, перед нами замечательный пример согласованной конвейерной работы, выполняющейся без центрального руководства, и лишь при помощи развитого "чувства кворума".
Итак, примеров синхронизации при помощи химических сигналов в мире живых существ достаточно, однако как обучить этому способу роботов? Конечно, можно скопировать данную систему напрямую, однако это приведет к усложнению механических помощников человечества (и, следовательно, к лишним финансовым затратам на их производство) — ведь тогда каждого робота придется оснащать системой выработки вещества, сенсором, его улавливающим, и дополнительными программами, обеспечивающими контроль над всеми этими процессами. Что и говорить, это, конечно же, не выход.
Но вот группа французских инженеров под руководством профессора Жана-Жака Слотина, который уже давно изучал коммуникации существ, обладающих "чувством кворума", нашла куда более изящное решение. Они пришли к выводу, что для каждого робота, работающего в команде, нужно просто предоставить доступ в любой момент времени к неким общим для всей группы переменным значениям. Таковыми могут быть данные о средних показаниях часов у всех участников группы, а также о средней фазе движения.
И, конечно же, всех участников механического коллектива нужно запрограммировать так, чтобы они могли вносить свой вклад в корректировку этих переменных, а также настроить их на то, чтобы в случае сбоев они стремились синхронизироваться именно с этими самыми средними значениями.
Ученые решили опробовать свою разработку на группе из восьми роботов NAO, которые производит и продает известная французская компания Aldebaran Robotics. Эти забавные андроиды, чем-то напоминающие персонажей старых фантастических кинофильмов, были оснащены собственными часами и сенсором, позволяющим каждому роботу видеть движения остальных. А для того, чтобы каждый NAO мог синхронизировался с общим усредненным временем, у него была возможность поддерживать контакт с помощью беспроводной связи с неким центральным сервером.
Следует заметить, что данный сервер вовсе не являлся управляющим компьютером, выдающим роботам команды к действию. Все NAO действовали совершенно самостоятельно, и если по какой-либо причине кто-то из них терял с сервером связь, то он продолжал выполнять те же действия, правда, при этом у него могли возникать проблемы с синхронизацией. Скорее, этот компьютер являлся неким аналогом "чувства кворума", то есть определенной концентрации химических сигналов живых существ, приказывающих поступать каждому индивидууму так же, как и его сосед. На нем хранилась усредненная информация о всех движениях и последовательности их выполнения, а также о длительности каждого из них.
В эксперименте несчастных NAO заставили танцевать что-то вроде верхнего брэйк-данса (как они это делали, вы можете увидеть здесь SaveFrom.net). Интересно, что во время танца разработчики всячески "сбивали с толку" отдельных андроидов — например — приказывали им сделать не имеющееся в памяти сервера движение, роняли их и делали им подножки. Все это сбивало NAO с ритма, однако, благодаря связи с "чувством кворума" они быстро синхронизировали свои движения с остальными членами группы.
Как видите, подобный подход показал свою полную эффективность — если сбои и возникали, то они не могли повлиять на поведение всего коллектива. Да и сами андроиды быстро восстанавливали утраченный ритм. Получается, что идею группы профессора Слотина можно использовать при создании механических команд, способных синхронно совершать даже самые сложные операции (например, сборку космических кораблей). Поскольку теперь сколько бы в команде не было бы роботов, они смогут в любых ситуациях соотносить свои действия с действиями всей группы.
Источник: lifeukr.net