Роботы-спасатели: луч надежды даже в самой чрезвычайной ситуации
Российские инженеры разработали особую систему, способную повысить шансы спасения людей при катаклизмахРоботы нужны не только для лечения рака, производства iPhone или космических полетов. Пригодятся они и в строительстве, а также и в работе экстренных служб. Они расширяют границы физических возможностей человека и делают его труд удобным, а где-то без них в принципе невозможно обойтись.
Россия — страна постоянных неожиданностей. То у нас упадет метеорит на Челябинск (который больше испугает жителей самого метеорита), то бомбанет Курильский вулкан на Камчатке, то какая-нибудь река не удержит все в себе и расплещется на многие квадратные километры.
Все эти катастрофы приносят жуткий геморрой: там разбери завал, тут пятиметровый сугроб из пепла раскопай, а здесь сыграй в бобра и поставь плотину. Наши доблестные экстренные службы готовы день и ночь разгребать все это даже голыми руками — но, сами понимаете, в таком случае это будет долго и очень трудозатратно. И что же, неужели они так и останутся с лапками?
Нет, не сегодня! Почему? Очумелая российская инженерия спешит на помощь!
Многоагентные робототехнические системы для чайников
Ученые из МИРЭА прикинули какие проблемы есть у современных роботов и других агрегатов, что используют спасатели, пожарные и другие люди, чья работа — вытащить простых людей из самой тяжелой передряги.
Самое важное, что они поняли — роботы должны быть очень гибкими к изменению ситуации на месте происшествия и многозадачными. Это значит, что они должны уметь делать много всего и сразу. Вдобавок разные агрегаты робота не должны мешать друг другу. Как это можно воплотить в жизнь? С помощью многоагентных робототехнических систем (МАРС).
Многоагентные робототехнические системы — это «солянка» из связанных друг с другом, но независимых роботов, эдакий «гомункул» или рой, который сообща выполняет многочисленные задачи разными устройствами.
Чтобы эта химера могла успешно разгребать бардак после катастроф, ей нужно:
- Самостоятельно понимать и обозначать прикладные задачи
- Разбивать их на маленькие подзадачи для каждого отдельного агрегата
- Одновременно выполнять их, да так, чтобы цепкие лапы не мешали друг дружке.
Сложная задача? Хуже — геморройная. Для того, чтобы все работало, нужно решить кучу прикладных проблем. Загибайте пальцы:
- Надо создать интерфейс, который поможет человеку адекватно и правильно ставить роботу задачи
- Написать код, который позволит агрегатам работать вместе и не вставлять друг другу палки в колеса
- И при этом сделать так, чтобы они были достаточны автономны.
Как они должны работать? И что там по внутреннему устройству?
Чтобы «гомункулы» работали адекватно, им надо действовать по четко продуманному сценарию.
В общем виде он выглядит так:
- Робот выезжает на место, где случился нежданчик. Можно выкинуть его где-то неподалеку, а можно заставить его ножками пройтись от базы спасателей.
- Робот смотрит вокруг и соображает, что вообще происходит. Здесь нужно грамотно оценить разрушения (их размер, характер, сложность). Делать это надо поисково-спасательными роботами или агрегатами.
- Робот едет на место разрушений.
- Робот послойно разгребает все то, что было разрушено.
Чтобы все это работало, роботу надо дать кучу модулей.
Программная часть включает в себя:
- «Справочник» по катастрофам
- Модуль обобщения сенсорной информации (прикосновения, вибрации и прочие тычки)
- Модуль создания экспромтом сценариев разбора завалов
- Модуль распределения задач между агрегатами.
Для того, чтобы оператор мог управлять МАРС, ему потребуется подсистема интеллектуального управления. Она, в свою очередь, состоит из:
- Базы знаний со стандартными сценариями реагирования по ЧС
- Модуля планирования
- «Дров» для работы модуля передвижения гомункула
- Модуля обработки и корректировки сенсорной информации
Тест-драйв российской МАРС в МИРЭА, или Робочи-трюкачи
Инженеры из МИРЭА решили пойти по иному пути создания прикладной МАРС — вместо одного робота с кучей независимых функциональных модулей они стали «пасечниками» и создали рой машин.
В симуляции ситуации с разбором завалов роботам предстояло решить поставленные задачи в два этапа: оценить ситуацию и разобрать завал. Если в районе поисков никаких завалов нет, роботы должны вернуться на исходную позицию.
Как проходила симуляция «боевых условий»? Роботам дали специально огороженный участок в лаборатории. Внутри этого участка поместили разный хаотично раскиданный мусор. Задача для роботов, на первый взгляд, проста — нужно выехать в район, где лежит мусор, найти его и убрать.
На первом этапе (выезд на место происшествия), роботы прибыли благодаря целой куче работающих вместе алгоритмов. В коде учли и нюансы поиска оптимального пути (полезная штука, ведь топливо и электричество не стоит тратить почем зря), и порядок организованного перемещения в конвое.
С этой задачей роботы справились. Это не только подтвердило, что поиск пути и организованное передвижение работают как надо, но и послужило сигналом к новому заданию — разведкой местности и поиском завала.
По местности роботы распределились с учётом целого ряда условий: их конкретное местоположение, порядковый номер, особенности конструкции и т.д. Завал считался обнаруженным в том случае, если камеры роботов фиксировали превышение концентрации обломков на единицу площади в экспериментальном загоне.
Машины справились и с этой проблемой и приступили к разбору завалов. Делали они это послойно и по циклу, до тех пор, пока их алгоритмы не зафиксировали, что завалы исчезли (т.е. концентрации обломков там, где они были, не осталось). При этом выбор конкретных роботов проходил автоматически на основе таких параметров, как их текущая занятость, удаленность от завала, конструкция и функционал и т.д.
Результат, который получили наши ученые — созданные ими роботы успешно справились со всеми тестами и показали, что эта разработка вполне работоспособна. Отдельно радует то, что во время эксперимента себя хорошо проявили скрипты для роботов (сильна российская программистская школа!).
Что дальше?
Сам эксперимент с машинами уже принес много пользы. Мало того, что был на практике отработан порядок реагирования автономных роботов-спасателей, так вдобавок авторы исследования экспериментально убедились в работоспособности их кода.
В дальнейшем эти наработки можно будет использовать для того, чтобы масштабировать разработку до уровня настоящих, «взрослых» робосамосвалов. Спасибо нашим ученым за то, что они двигают прогресс вперед — с такими успехами внедрение МАРС в работу аварийных служб дело вполне обозримого будущего, а не научной фантастики.
Отдельные умники могут спросить, а какое им-то дело до того, что разрушенные дома, сошедшие лавины или пепел будут разбирать дроны, а не люди на эскаваторах? Ответ прост: мало того, что это позволит спасать больше жизней (роботы и мощнее, и шустрее людей), так еще и сами схемы роботов можно использовать не только для неотложек.
Роботы, которые основаны на МАРС, вполне могут найти применение как в других службах, так и в быту.
Дроны, работающие как рой, могут пригодиться в военном деле (как вам идейка послать стаю маленьких робомуравьев в тыл к врагу для разведки?), в охране порядка в городах, и для чего-то более приземленного — например, доставки еды, лекарств, другой полезной мелочевки.
В промышленности такая разработка тоже найдет свое применение: зачем программировать одну робособаку, когда можно запрограммировать много, да так, чтобы они сами решили кому оптимальнее выполнить задачу?
Одно ясно точно — прогресс неостановим, а польза, которую он принесет людям — безгранична.