Роботы — это просто. И они могут все. В принципе, на этом рассказ о конструкторе 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 достаточно универсален, чтобы строить из него машины для самых разных задач. Принцип действия робота хорошо понятен из фотографий: машина волочит по поверхности батарею костяшек, отпуская их по одной. Рычажный механизм захвата для крайней костяшки — отличный пример точности механики 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 EV3 нашлось все необходимое, чтобы соорудить мощный механизм захвата крайней костяшки домино. Речь идет о червячной передаче, шатунах, тягах и даже цепких резиновых лапках. Механизм настолько точен, что позволяет удерживать полный комплект домино (28 костяшек), и надежно срабатывает все 28 раз подряд.
Интерфейс программирования 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, — это бесценный опыт, вдохновение и вера в собственные силы для целой армии юных изобретателей, программистов и инженеров.

Новый контроллер EV3 обладает достаточным быстродействием, чтобы управлять одноосным колесным роботом (типа одноколесного велосипеда или Segway). Забавный «человечек» крепко стоит на своих двоих, ориентируясь на показания датчика угла наклона, и стойко переносит легкие толчки вперед или назад. Разумеется, он способен самостоятельно передвигаться вперед или назад, выполнять повороты и разворачиваться.

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

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

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

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

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

Статья «Урок всемогущества» опубликована в журнале «Популярная механика» (№10, Октябрь 2013).