LEGO Mindstorms EV3: тест-драйв игрового робота

Роботы – это просто. И они могут все. В принципе, на этом рассказ о конструкторе LEGO Mindstorms EV3 можно было бы завершить. Однако, несмотря на то что на дворе уже вторая декада XXI века, далеко не все люди готовы принять на веру эти два утверждения. Придется озаботиться обоснованием.
LEGO Mindstorms EV3: тест-драйв игрового робота

Первый набор LEGO Mindstorms, по­явившийся в 1998 году при непосредственном участии МIT, моментально вырос в нечто большее, чем просто игрушка. Конструктор, позволяющий за считанные минуты собирать весьма сложные механические системы и наделять их интеллектом без знания даже азов программирования, стал излюбленным средством быстрого прототипирования для изобретателей-любителей, студентов-технарей и даже профессионалов-промышленников.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Конструктор поколения EV3, поступивший в продажу с 1 сентября этого года и попавший к нам на тест, — уже четвертая генерация Mindstorms. Как и у прежних версий, его успех зиждется на трех китах — конструктивных элементах серии Lego Technics, разнообразных электрических компонентах, включая мощные сервомоторы, датчики и контроллер, и уникальном программном обеспечении — фактически мощном языке программирования с дружелюбным графическим интерфейсом Drag & Drop.

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

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Принцип домино

Слышали ли вы о Дне домино? Энтузиасты выстраивают колоссальные последовательности из миллионов костяшек домино, поставленных на ребро. Они образуют причудливые узоры, фантастические ландшафты, сказочные картины. Последовательность должна быть выстроена таким образом, чтобы первая упавшая костяшка по принципу домино заставила упасть все остальные. Побеждает команда, которой удалось задействовать в принципе домино наибольшее количество костяшек. Текущий мировой рекорд составляет 4 491 863 штуки.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Конечно, рекордные конструкции из домино кропотливо выстраиваются вручную. Но мы решили схитрить и построить робота, который сможет выставить костяшки за нас, следуя начерченной на полу линии. Взаимодействие с предметами, которые не входят в состав конструктора, — вот и первая непростая задача для набора. Ширина стандартной костяшки — 25 мм. Ширина планки LEGO Technics — 7,5 мм. В хранилище шириной в три планки костяшка не помещается, в четырехпланочном отсеке ей слишком свободно. Тем не менее выход из положения нашелся: в наборе есть небольшое количество тонких деталей, которых оказалось достаточно, чтобы выйти на нужную ширину. Из этого можно сделать вывод, что конструктивный набор Technics достаточно универсален, чтобы строить из него машины для самых разных задач.

Все лучшее — детям
widget-interest

С момента появления первого LEGO Mindstorms студенческие соревнования по робототехнике стали выглядеть несколько предсказуемо: более не утруждая себя работой с металлом, пластиком и прочими материалами, будущие инженеры без зазрения совести используют для своих проектов детский конструктор. И если студентам это чести не делает, то самому конструктору — напротив.
Взяв за основу успех LEGO в вузах, специалисты компании представили образовательный набор Mindstorms Education, предназначенный для университетов и школ. Именно такой комплект и попал к нам на тест. Помимо расширенного набора деталей в него входит два вида программного обеспечения — для учеников и учителей. Учительский комплект включает методические материалы, электронный журнал, редактор контента для оформления обучающих проектов собственного авторства. Ученики получают электронные тетради, видеоролики и подробные инструкции по сборке, примеры решения задач с пояснениями, советы и идеи для самостоятельной работы.
Mindstorms способен помочь в изучении практически любого естественно-научного предмета. Ведь он может служить и как продвинутый измерительный прибор с возможностью регистрации данных (опыты по химии), и как программная среда (информатика), и как набор для экспериментов в области механики и физики. Даже алгебраические функции намного интереснее изучать на примере конкретных технологических задач. Наличие в классе нескольких наборов Mindstorms позволяет ученикам сообща строить сложные машины с использованием нескольких контроллеров и множества моторов и датчиков.
Единственное необходимое условие для полноценного использования этого конструктора в школе — бесконечный энтузиазм, увлеченность и вдохновение учителя. Ведь для того чтобы постичь все возможности Mindstorms и научиться использовать его творчески, даже специалисту понадобится не один месяц.

Принцип действия робота хорошо понятен из фотографий: машина волочит по поверхности батарею костяшек, отпуская их по одной. Рычажный механизм захвата для крайней костяшки — отличный пример точности механики LEGO. В нем использована червячная передача, два вида шестерен, шатуны и тяги. Для создания сложных кинематических схем в набор Mindstorms входит множество зубчатых колес, угловые передачи, поворотные столы, разнообразные рычаги и оси, гусеницы, которые можно использовать в качестве цепного привода. Кроме того, конструктор полностью совместим с любыми наборами LEGO серии Technics. Набор содержит очень много разных деталей, и это скорее минус, чем плюс. Вместо универсальных модулей, делающих честь любому конструктору, для каждой задачи нужно искать некий уникальный уголок, переходник, соединительный элемент. Чтобы прочувствовать логику конструирования, нужно обязательно посвятить несколько часов сборке моделей по инструкции. Кроме того, детали легко соединяются между собой, но разъединяются с большим трудом. Хотя, пожалуй, это расплата за прочность сборных конструкций. Существуют аналоги, к примеру немецкий Fischertechnik, которые позволяют собирать более универсальные и жесткие конструкции из меньшего количества элементов. Однако именно LEGO остается чемпионом по гибкости подвижных механических схем. А электронный модуль EV3 и вовсе делает новый Mindstorms уникальным.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
Фото
Фото

Умный кирпич

Контроллер с красноречивым названием LEGO Intelligent Brick («умный кирпичик») — вот что делает EV3 действительно всемогущим. Это миниатюрный компьютер на базе Linux с 80 МБ памяти на борту и слотом для 32-гигабайтной SD-карты для хранения программ. К настольному ПК он может подключаться и с помощью USB-кабеля, и по Bluetooth, и с помощью опционального Wi-Fi-модуля.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Важное новшество EV3 — простой редактор программ прямо на борту «умного кирпичика». Даже не имея под рукой компьютера, можно программировать робота, управлять моторами, контролировать показания датчиков и даже вести журнал значений. Причем и программы, и журналы впоследствии могут быть перенесены на ПК для редактирования и анализа. В наш комплект входило два больших и два средних сервомотора. Каждый из них развивает достаточную мощность, чтобы робот мог без труда поднять собственный вес или волочить по поверхности стандартный набор из 28 костяшек домино, сделанных из искусственного камня.

В базовый комплект входят датчики касания, датчик угла наклона, датчик цвета, ультразвуковой дальномер. Дополнительно для EV3 доступны инфракрасный датчик и маячок, датчик температуры. Многие компоненты могут выполнять несколько различных функций. К примеру, датчик цвета способен также измерять общий уровень осве­щенности, а сервомотор — служить датчиком угла поворота.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Интерфейс программирования LEGO Mindstorms — удивительная вещь. С одной стороны, он предельно прост и дружелюбен. Бывает, программисты сперва рисуют блок-схемы алгоритмов для будущих программ, а затем пишут по ним код. Графический интерфейс позволяет обойтись без второй стадии и сопутствующих ей трудностей: изучения команд и операторов, поиска ошибок, оптимизации кода. Программа Mindstorms — это алгоритм в чистом виде. Нужно лишь брать кубики из панели инструментов и выстраивать их друг за другом.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Но по мере возникновения все более сложных задач вдруг выясняется, что «детский» программный интерфейс таит в себе взрослые возможности. Хотите выполнять математические операции, работать с массивами данных? К вашим услу­гам соответствующие «кубики». Хотите оперировать переменными? Вместо классических X и Y их работу более наглядно выполнят стрелки из той же блок-схемы, проведенные от одних параметров к другим.

В нашем примере робот следует вдоль прочерченной по поверхности линии, точнее вдоль ее края. Для этого используется датчик освещенности: если линия уходит влево, в поле зрения датчика попадает больше светлой поверхности, если же вправо — доминирует черный цвет линии. Числовое значение осве­щен­ности трансформируется в поправку значения мощности правого или левого колесного двигателя. Причем поправка вводится не дискретно, а постоянно, плавно, пропорционально уровню освещенности, обеспечивая точное и непрерывное следование заданной траектории.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
Фото
Мертвая хватка

Выкладывание костяшек на поверхности — напротив, процесс дискретный. Зафиксировав крайнюю костяшку, робот проходит 2,5 см — это расстояние оптимально для того, чтобы принцип домино работал надежно и выглядел эффектно. Затем, отпустив костяшку, робот проходит ровно 10 мм (ширина костяшки), чтобы схватить следующую. Этот процесс требует серьезной точности движений, и конструктор LEGO готов ее предложить.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

«Поженить» в одной программе непрерывный процесс слежения за траекторией и дискретное выкладывание домино — вполне серьезная задача для начинающего программиста. Она требует внимания, творческого мышления и соответствующих возможностей программного инструментария.

Страшно мощная игрушка

Честно говоря, робот, выписывающий узоры из домино, — сущие пустяки для LEGO Mindstorms EV3. Помните сюжет «Терминатора»? В один прекрасный момент машины всея планеты объединились под командованием военного компьютера «Скайнет» и поработили человечество. Как думаете, какой из ныне существующих компьютеров на это способен? Вы будете смеяться, но у EV3 на руках все карты.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Загибайте пальцы. К «кирпичику» EV3 можно подключить всего четыре сервомотора и четыре датчика (если не использовать специальные хабы, которые тоже доступны). Но с помощью USB-кабелей можно объединить четыре модуля под руководством одной программы, доведя количество и моторов, и датчиков до 16.

Модули EV3 могут управлять друг другом на расстоянии. В руководстве есть инструкция по сборке пульта управления на основе EV3 для движущихся моделей, собранных также на основе EV3. Фактически «кирпичики» можно объединить в распределенную вычислительную сеть. Профессионалы вполне могут это проверить: ведь помимо графического интерфейса EV3 понимает множество «взрослых» языков программирования.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

EV3 способен работать как встраиваемая система, то есть служить посредником между полноценным ПК и сервомоторами или датчиками. Так что при желании коварные «кирпичики» могут привлечь на свою сторону более мощных собратьев.

Наконец, в руководстве вы найдете инструкции по сборке моделей производственных линий для изготовления конструкций из деталей LEGO. То есть машины, собранные из Mindstorms EV3, способны строить другие машины и воспроизводить сами себя.

Надеемся, наш мрачный поток сознания не станет причиной ваших ночных кошмаров. Ведь пока что все, что за последние 15 лет произвели роботы LEGO Mindstorms, — это бесценный опыт, вдохновение и вера в собственные силы для целой армии юных изобретателей, программистов и инженеров.