DataArt

Роботы из Воронежа

Блог DataArt, Сентябрь 2013, Роботы из Воронежа

Региональный информационный журнал «R36» в рубрике «Бизнес» публикует материал о роботах, которые создаются в Воронеже.

С древних времен люди мечтали об умных машинах, способных выполнять различную работу. До наших дней дошло немало рассказов о том, что из себя представляли первые в мире роботы: пищеварительная утка де Вокансона, водяные часы Александрийского, рыцарь-робот Да Винчи… Нетрудно заметить, что все механизмы создавались с определенной целью — облегчить человеческий труд. Сегодня «искусственный разум» продвинулся в новые ниши.

Узнав, что можно заглянуть на саму «кухню», где придумывают роботов, мы незамедлительно напросились в гости к разработчикам.

До чего дошел прогресс

В мировом пространстве компания DataArt известна как создатель программного обеспечения и высокотехнологичных решений. В российском профессиональном сообществе некоторых сотрудников воронежского офиса компании называют «новыми Левшами». С креативным применением знаний и навыков нам удалось ознакомиться лично.

Илья Кретов, один из сотрудников DataArt, создал вертикально-фрезерный станок для вытачивания трехмерных деталей из различных материалов. Илья объясняет, что станок управляется компьютером с процессором P4, на котором работают Windows XP и система управления. Сигналы с компьютера по LPT идут в отдельное устройство, которое уже непосредственно управляет моторами станка. Для удобства работы используется восьмидюймовый монитор с тач-скрином и резиновая клавиатура, не боящаяся пыли, грязи и опилок. Ценность станка в том, что, благодаря программному управлению, он легко справляется с созданием сложных деталей, которые практически невозможно изготовить вручную.

«Умное устройство» для полива сада – еще одно изобретение Кретова. В качестве корпуса был взят пластиковый садовый контейнер, в который были установлены электроклапаны и управляющее ими самодельное устройство. Специальная управляющая программа была написана разработчиком самостоятельно, после чего оставалось только подключить аппарат к компьютеру и выставить расписание полива.

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

Другой сотрудник компании, Антон Седышев, представил свой проект – imBMW, в котором интегрировал mp3-плеер Ipod в музыкальную систему своей машины. Антон самостоятельно проектировал и печатал платы, реализовывал все необходимые функции, чтобы листать треки и выбирать плейлисты можно было с помощью руля и ушей, не отвлекаясь от дороги.

О многофункциональности обыкновенного светофора рассказал еще один сотрудник DataArt Артем Астафуров. Cветофор Артем купил на eBay для подключения его к билд-серверу, чтобы тот показывал статус билда: красный – «все сломано», желтый – «собирается», зеленый – «работает». Артем рассказал, что первым делом для нано-светофора пишется программа управления, далее механизм присоединяется к компьютеру с помощью USB и ждет, какую команду ему дадут: либо зажигает определенный свет, либо мигает. На компьютере есть библиотека, позволяющая из приложений. NET легко получить доступ к светофору.

Робот телеприсутствия стирает километры

Основной повод для гордости сотрудников DataArt — робот телеприсутствия, который позволяет любому человеку удаленно участвовать в совещаниях и конференциях посредством подключения к роботу через обычный компьютер. Для управления роботом уже были написаны wcf-сервис — приложение, предоставляющее для связи набор конечных точек, и два клиента, обеспечивающих связь с основным сервером. Таким образом, управлять роботом можно с любой машины внутри корпоративной сети через удаленный рабочий стол или окно веб-браузера.

– Робот работает через wi-fi, но, если движется по зданию и заходит в лифт, сигнал может оборваться, так как в любом здании есть мертвые зоны, — рассказывает Дмитрий Кинев, разработчик, который лично участвовал в сборке робота. — Чтобы «провести» робота по лифту, родилась идея прицепить ему контроллер Kinect от Xbox 360. Таким образом, робот смог захватывать силуэт человека и следовать за ним, куда бы тот ни пошел.

У контроллера на борту — несколько сенсоров: цветную камеру, камеру глубины и массив микроконфонов, которые генерируют соответствующие потоки данных: Color Stream, Depth Stream, Audio Stream. Кроме того, предоставляемый Microsoft Kinect SDK на базе потока глубины генерирует поток Skeleton Stream. Он представляет собой набор «скелетов» — массивов данных, содержащих информацию о распознанных узлах человеческого тела, таких как голова, плечи, локти, ладони и т. д. К этим потокам можно обращаться из управляемого или неуправляемого кода посредством подписки на события, генерируемые в момент, когда тот или иной поток сформировал и готов отдать на обработку очередной фрейм данных.

Компьютер, который функционирует в роботе, имеет общее назначение. Моторы позаимствованы у стеклоочистителей ВАЗа, также стоит обычная камера с приводами для вращения, монитор и аккумулятор. Остальные незначительные детали разработчикам пришлось делать самостоятельно, например, блок питания бортовой электроники. По словам Дмитрия Кинева, строение робота довольно простое, любую его деталь можно заказать.

После тестирования симулятора начиналось тестирование самого робота. По словам одного из сотрудников компании, поначалу робот распознавал жесты включения режима следования и начинал «преследовать» одного из разработчиков. Вместе с тем сразу же стали явными проблемы, которых не было при работе с симулятором. Главная из которых – низкая производительность бортового компьютера, которая на фоне довольно высоких аппаратных требований Kinect’a привела к очень сильной загрузке системы. Робот получал фреймы от Kinect’a с частотой 2-5 фреймов в секунду при возможных 30. В результате робот довольно плохо распознавал жесты, а в режиме следования часто терял одного из разработчиков из виду: успевал уехать слишком далеко или провернуться на угол больше требуемого до того, как получал очередной фрейм с информацией о текущей позиции. Разработчики попробовали минимизировать нагрузку на компьютер путем удаления/отключения всего лишнего и ограничили скорость передвижения робота. В результате чего удалось существенно улучшить адекватность его реакций. Стало вполне возможным ходить по комнате и следить за тем, как двигается робот между рядами столов.

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

По словам разработчиков, задача-минимум была достигнута: получили новый опыт, запомнили ошибки, подружили робота с Kinect’ом, научили его понимать жесты и следовать за человеком. Далее их ждет совершенствование алгоритмов распознавания, следования, фильтров, обучение робота выполнению более сложных перемещений и реагированию на наличие препятствий на пути.

Блог DataArt, Сентябрь 2013, Роботы из Воронежа Блог DataArt, Сентябрь 2013, Роботы из Воронежа

Скачать PDF

Полный текст статьи

Поделиться:

Оставить комментарий: