Для чего нужен робот «Бабочка»?
Есть интересная точка зрения, которую высказал гендиректор РВК Игорь Агамирзян на промышленном инновационном форуме в Екатеринбурге. Бессмысленно рассуждать, будут ли нас в будущем окружать роботы или нет – это произойдет. Так или иначе робототехника будет везде, компиляция «харда» и «софта» тем или иным образом будет упрощать нашу жизнь.
Этих роботов должен кто-то создавать, и хороший специалист в области робототехники должен приобрести очень много компетенций. Безусловно, без математики никуда, но кроме этого, он должен уметь подбирать комплектующие, интегрировать их, делать так, чтобы созданное устройство работало по заданному сценарию. Поэтому важно, чтобы образование в сфере робототехники проходило не только в виде лекций, но и лабораторных работ. Некоторые вещи можно почувствовать только руками, например, настройке различных коэффициентов можно научиться только при непосредственном контакте с роботом.
На простых задачах учиться этому бессмысленно. Конструкторы Lego хороши только для того, чтобы вызвать у ребенка интерес к инженерным специальностям. Что бы вы ни пытались из него собрать, результаты предсказуемы, все стандартизировано. А студентам нужен вызов, и чтобы подготовить хорошего специалиста, нужно качественное оборудование. Мы планируем поставлять нашего робота «Бабочка» в российские и зарубежные вузы, чтобы студенты учились робототехнике с его помощью. Здесь есть элемент «челленджа»: казалось бы, купил установку, собрал и все работает; но не тут-то было, нужно еще заставить все это работать так, как надо, а это и есть лабораторная работа.
В чем преимущества робота «Бабочка» как обучающей установки?
Теоретически в качестве лабораторного оборудования можно использовать промышленные манипуляторы, чтобы студенты учились их программировать, а манипуляторы выполняли какую-то технологическую задачу. В промышленности востребовано именно это: завод покупает не робота, а решение, чтобы автоматизировать какой-то процесс, изготовить конкретную деталь.
Но промышленное оборудование тяжелое и опасное, в случае неправильной эксплуатации оно может нанести вред человеку. На производстве роботы работают в специальной защитной зоне, в которой человека нет вообще. Их программируют и запирают в помещении, и если туда проникает человек, конвейер автоматически останавливается. К тому же промышленные роботы достаточно дорогие, они могут стоить сотни тысяч евро. Поэтому мы ставим перед собой задачу создать безопасный лабораторный комплекс, на котором специалисты могли бы оттачивать свое мастерство – подбирали компоненты, создавали математическую модель того, как установка должна двигаться, реализовывали эту модель, запускали аппарат и видели, что робот функционирует так, как им это нужно.
До нас не была решена задача о том, как манипулировать объектом при неудерживающем контакте. Допустим, мы берем шарик и начинаем катать его по руке. Мы его не держим – он свободно перемещается по поверхности руки под действием силы тяжести, но мы им манипулируем – шарик не успевает упасть потому, что мы успеваем его вовремя подхватить. Наш робот делает именно это (видео с работой установки можно посмотреть здесь - прим.ред.)
Для обучения робототехнике часто используют Arduino, там из одной платы можно собрать море разных устройств. А у вашего робота есть только контур, который вращает шарик – что здесь можно придумать интересного и нового?
Arduino – это хороший конструктор, с его помощью можно сделать отличную поливалку для цветов. И те, кто разрабатывает устройства на его основе, обычно с энтузиазмом говорят, что с помощью одной платы можно сделать что угодно. Но, например, сделайте на ее основе вторую ногу, которая будет «знать», как держать равновесие стоящего человека.
Вы, наверное, видели робота-собаку от Boston Dynamics, который не падает, когда его пинают? Впечатляет? Наш робот «Бабочка», по сути, – та же самая собака. Мы показывали его на выставках, и люди хотели поэкспериментировать, сможет ли робот стабилизировать движение. Дули на шарик, самые смелые пытались приподнять конструкцию, но робот продолжал работать нормально. Он подстраивается под ситуацию: шарик находится в таких условиях, что он постоянно падает, а робот его постоянно подхватывает. Еще мы обычно возим с собой имитатор установки – профиль тот же самый, но человеку нужно крутить ручку самому. Обычно это никому не удается, некоторые думают, что это невозможно. Но один ребенок был очень настойчивым, где-то через 40 минут ему удалось совершить один оборот (в конце августа популяризатор робототехники Брайан Дуглас собрал механический аналог робота «Бабочка», видео смотрите здесь – прим. ред.) Сделать такую штуку с Arduino вы вряд ли сможете, оборудование определяет класс задач, которые вы можете выполнять.
Робот – это интеграция различных датчиков между собой, например, за координатами шарика следит камера. Обучение можно начать с того, чтобы попробовать эту камеру откалибровать. Потом мы составляем описание движения, которое нам нужно; мы предполагали, что в конечный набор войдет несколько поверхностей для манипуляции объектом, чтобы студенты могли составлять описание движения по поверхностям разной кривизны. Например, сначала «научили» робота катать шарик по кругу, потом – по эллипсу, после этого можно переходить к контуру-бабочке.
Почему такую установку до вас никто не создал?
Здесь ситуация похожа на ту, что была в анекдоте: почему Неуловимый Джо такой неуловимый? Потому что ловить его никто не хочет. Эта задача была поставлена в 1998 году, и несколько лабораторий пыталась ее решить, но они находили ответы только для частных случаев. Мы придумали новые аналитические методы, численные методы расчета траекторий движения, и показываем, что наши методы работают. А приложений этой технологии в промышленности очень много.
Например, когда вы даете промышленному роботу баллончик с краской, у него нет обратной связи, он не соприкасается с объектом воздействия – есть только струя краски, которую он пускает в нужном направлении. К точности его движений предъявляются определенные требования, и есть допуски, за которые оно не должно выходить. Робот – это сложная механическая конструкция, в ней много узлов, и небольшие изменения движения в каждом из них с нарастающим эффектом могут дать не ту траекторию движения, которая нужна. Программист дал роботу команду вырезать сверлом круг на листе металла, и если, грубо говоря, лист подан криво, робот может в итоге вырезать что угодно. Программист все сделал верно, и робот тоже «считает», что он вырезал круг, это просто ошибка, которая не обрабатывается внешним планировщиком движения. Наше ноу-хау заключается в том, что происходит слежение за изменением среды, и траектория подстраивается под нужное движение объекта.
То есть можно сказать, вы учите роботов «понимать», когда они делают что-то неправильно?
Это очень упрощенное видение. У каждого робота есть свои функциональные ограничения, некоторые движения он в принципе не может совершить, но некоторые может делать идеально. И мы можем посмотреть, что доверить этому роботу, выяснить, на что робот способен и какие операции он может выполнять. Если внедрить это повсеместно – можно будет оптимизировать и автоматизировать многие производственные процессы.
Кто может использовать вашу разработку?
Если говорить о «Бабочке» как о технологии – допустим, МЧС могут потребоваться установки, которые могут в отсутствие человека въехать в зараженную зону, определить, что источником загрязнения являются, например, емкости с какой-то жидкостью. Они должны будут поднять эти емкости и доставить их на место, при этом не пролив содержимое. Или, например, ведутся работы в зоне катастрофы, оттуда нужно вывезти раненых. Робот должен приехать, подобрать человека, погрузить в какую-то тележку и доставить к медикам. Те манипуляторы, которые есть у МЧС сейчас, доставят не живого человека, а труп – они просто передавят его. Но если мы говорим о манипулировании при неудерживающем контакте, робот подъедет, подберет и доставит объект куда нужно, не захватывая его. Эта же технология может использоваться в медицине – для создания систем, не настроенных на конкретного человека, для систем беспилотного управления автомобилем и так далее.
Пока что мы заняты тем, что разрабатываем лабораторный комплекс для студентов технических вузов. У нас уже есть предварительные заказы, потенциальные клиенты высказывали нам пожелания о том, что можно улучшить с точки зрения юзабилити. Например, в изначальной конструкции используется достаточно сложное устройство с дорогим программным обеспечением, которое мы решили заменить компьютером за $100 с открытым ПО. Мы учитываем рекомендации, и до конца года собираемся подготовить кастомизируемый продукт, который будет удовлетворять потребностям заказчика. Лабораторные работы на установке будут проводить студенты, поэтому необходимо, чтобы использование комплекса для них было простым и понятным, чтобы сама установка была «неубиваемой», и если с ней что-то случится, нужно, чтобы заменить испорченный узел было недорого. Кроме того, сейчас нам нужно полностью описать эти лабораторные работы и получить соответствующие патенты.
Беседовал Александр Пушкаш,
Редакция новостного портала Университета ИТМО