Всё прогрессивное гик-сообщество с нетерпением ожидает начала своего главного ежегодного мероприятия — фестиваля Geek Picnic. Здесь можно будет увидеть демонстрации различных технологий и устройств, послушать выступления разработчиков, учёных и просто неравнодушных к IT-прогрессу людей. Приятной особенностью фестиваля является и то, что он проходит одновременно в двух городах — Москве и Санкт-Петербурге.
Одними из приглашённых гостей Geek Picnic стала компания «Рускиборг», занимающаяся разработкой и созданием робототехнических устройств. На фестивале они покажут opensource-проект международного сообщества — человекообразного робота в натуральную величину, почти целиком напечатанного на 3D-принтере. Немалая часть его конструкции («тело» и «ноги») были разработаны сотрудниками «Рускиборг». Перед началом фестиваля мы взяли небольшое интервью у разработчиков и сняли видеоролик, по которому те, кто не сможет побывать на фестивале, могут получить представление об этом роботе.
Все с нетерпением ждут начала Гикпикника, чтобы увидеть вашего полноразмерного робота. Какие части его тела дались вам труднее всего в разработке и изготовлении?
В разработке, с технической стороны, труднее всего дались руки, а точнее — кисть. Сейчас многие пытаются сделать хорошие манипуляторы для роботов, похожие на человеческие руки, порой упрощая их возможности. Если стараться сделать хорошо, то это будет дорого и в изготовлении, и по компонентам. Если показать простой функционал с имитацией захвата и движения, то вариант в данном проекте является одним из наиболее оптимальных. Но хотелось бы лучше, и мы работаем над этим.
Второй по сложности задачей идет прямохождение. Пока мало кому удалось сделать хорошее передвижение робота на ногах, и мы работаем в этом направлении.
При создании робота вы предпочитаете разрабатывать каждый элемент с нуля или опираетесь на общедоступные разработки и идеи, реализованные в других роботах, переосмысливая каждый узел?
Конечно, что-то можно подсмотреть у других роботов. Правда, вживую мы видели не так много, и обычно механизмы скрыты. Обходимся роликами из интернета и фотографиями. Не хочется изобретать велосипед, но информации не так много, и зачастую приходится додумывать самим. Еще стоит учесть, что в проекте участвует много разных людей, так что и вариантов робота существует несколько. Проект международный. Мы оптимизируем и проверяем полученные результаты, принимаем решение и создаем свой вариант, если другое нам не нравится.
Какие программные инструменты вы используете при создании робота? Насколько они, по вашему мнению, облегчают процесс разработки?
Если говорить о процессе проектирования частей робота, то это Siemens NX. Это программа для 3D-моделирования. Также применяем Solidworks и Rinhoceros. Ansys используется для расчета прочности конструкции на компьютере, до момента изготовления детали. При оцифровке двигателей используем 3D-сканер Artec и софт Geomagic Design X 2014. Все эти инструменты, конечно, сильно облегчают процесс разработки. Но первые зарисовки все же делаем карандашом.
Используется ли отработка работоспособности механической части сначала на трёхмерных виртуальных моделях, или опытно-конструкторские работы ведутся исключительно в пластике?
Пока мы делаем все в пластике, металлические конструкции несут, в основном, вспомогательную функцию. Если делать в металле, то это получается совсем другой проект, и для него нужна совсем другая силовая электроника (двигатели). Ну и бюджет. По соотношению качества, возможности для отработки программного обеспечения и денег, потраченных на проект, этот вариант получается оптимальным.
Расскажите подробнее о том, что умеет делать ваш робот, и какой функционал вы планируете заложить в него в ближайшем будущем?
Основной задачей на начальном этапе было сделать тело робота – для возможности писать под него софт. По программному обеспечению это:
1. манипуляция руками с легкими предметами;
2. слежение головой за движущимся объектом;
3. речевой модуль.
Сейчас мы работаем над системой «аватара» для управления роботом на расстоянии. Это костюм для оператора, который позволяет транслировать роботу движения человека. Также мы планируем создать групповую телеметрию с гироскопов для определения положения робота в пространстве. Это даст нам возможность приступить к обучению робота хождению. Ну и совершенствуем программный код в рамках того, что уже реализовано.
Вы самостоятельно разрабатываете алгоритмы движений или адаптируете уже существующие? В чём особенность применяемых вами алгоритмов, какие преимущества и недостатки вы в них видите?
Разрабатываем, а точнее, пишем, сами. Найти такое в свободном доступе практически невозможно. Из недостатков: наши алгоритмы завязаны на конкретной конструкции, двигателях и датчиках. О преимуществах сложно сказать, их должны оценивать другие.
Как реализована функция слежения за объектами, на каком принципе (алгоритмах) она построена? Как вы решали задачу распознавания и селекции объектов? Какая вычислительная мощность требуется для уверенной работы функции слежения?
В основе системы лежит открытая библиотека OpenCV. Что-то сами дописали, но в интернете об этом много статей, мы пока не ставили перед собой задачу сделать большой упор на это. У нас в команде есть человек, который дописывает облачное решение обработки данных и использует различные алгоритмы – например, RANSAC. Для работы системы нужен хороший компьютер с мощным процессором. В остальном, все зависит от сложности задачи и качества камеры.
Что именно используется в качестве вычислительного модуля робота? Этот модуль один или их несколько, отвечающих за разные функции? Это некие типовые решения или собранные вами кастомные системы?
Текущая версия робота работает в связке с ноутбуком. Для демонстрации мы используем операторский режим, где оператор сам управляет отдельными узлами робота через программу или запускает скрипт, который выполняет определенные действия. Если говорить об автономности и самостоятельном принятии решений роботом, то тут надо усерднее работать в направлении нейронных сетей. На это времени пока нет. Мы пока делаем упор на конструкторскую часть робота. А для управления двигателями используем платы Arduino.
Черпаете ли вы вдохновение или идеи из фантастической литературы или поп-культуры? Если да, откуда именно?
Да, нам нравится научная фантастика. Что-то из образов в фильмах подсмотрим, что-то вдохновит в литературных произведениях. Да и сами, по сути, романтики, даже работаем в космическом центре, имеем отношение к ракетам «Протон» и «Ангара».
Строите ли вы уже планы на будущее, продумываете ли конструкцию (или несколько) следующего робота?
У нас уже есть маленький задел для робота, который будет цельнометаллическим, и тоже человекоподобной формы. Хотим научить его ходить – это сложная задача, и она нам нравится. Также параллельно и неспешно мы делаем для будущих выставок маленьких персонажей из мультиков и кино. Что касается программинга, будут использованы наработки с нашего первого робота. Ведь основная проблема для программистов-робототехников в том, что им не с чем работать. А то, что сейчас есть в продаже, представляет собой игрушки неподходящего формата и форм-фактора. В самом начале у нас была идея сделать доступную для самостоятельного изготовления конструкцию робота, в которую каждый программист мог бы «вдохнуть жизнь» через программный код.
Автор: media_magnit