Выбирай : Покупай : Используй

Вход для партнеров

Вход для продавцов

0

Обзор робота Lego Mindstorms NXT 2.0: Терминатор из конструктора

Конструкторы Lego одноимённой датской компании прекрасно известны во всех странах. Их мировая слава и популярность не вызывает сомнений, однако, национальные отличия этой популярности, конечно, имеются.
Обзор робота Lego Mindstorms NXT 2.0: Терминатор из конструктора
Версия для печати

Не секрет, что в Северной Америке существует настоящий культ Lego. Конструкции из пупырчатых кубиков постоянно становятся новостным поводом на сайтах посвященных науке и технике, а среди авторов этих конструкций вы редко когда встретите имена детей или подростков – а всё больше людей взрослых, увлечённых инженеров, программистов, архитекторов… Из деталей конструктора Lego делают модели космических кораблей, известных по популярным кинофильмам, дома и автомобили в натуральную величину, различного рода электронные устройства со сложным программированием и использованием сенсоров

Lego - не только кубики с креплениями


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

При должном усердии из Lego можно собрать настоящий компьютер


Меж тем, Lego – конструктор с действительно великими творческими возможностями. Она основаны на двух главных принципах. Во-первых, все детали во всех наборах (кроме детской серии Lego Duplo) совместимы между собой. Во-вторых, под брэндом Lego выпущен огромное количество разнообразных наборов.

На все вкусы

За 60 с лишним лет работы компания Lego выпустила больше сотни различных наборов. Все их можно условно разделить на несколько групп.

Во-первых, это «составные» тематические конструкторы, выпуск которых длится уже много лет. К ним относятся такие наборы, как Town, Space или Castle.

Во-вторых, это тематические конструкторы с определённой идеей. К таким наборам можно отнести Sports, Friends, Fabuland…

Мечтать о джипе можно начать с покупки Lego


В-третьих, это конструкторы, темы которых лицензированы у популярных на момент выхода набора произведений масскульта: книг, комиксов, фильмов, анимационных лент. К этой группе относятся наборы Star Wars, Batman, Harry Potter

Наконец, в-четвёртых, существует группа «творческих» конструкторов. Они посвящены различным темам, общее в которых – достаточная реалистичность и сложность явления. К таким наборам можно отнести Creator и Architecture, а также Technic – конструктор, позволяющий создавать различные машины и механизмы, использующие моторы.

К «творческим» конструкторам Lego стоит отнести и формально «тематический» набор Mindstorms – наиболее сложное, интересное и разнообразное по возможностям творение Lego.

Персональный робот - норма в XXI веке


История набора Mindstorms началась в 1998 году, когда в ассортименте конструкторов Lego появилась первая его версия. Она стала закономерным итогом сотрудничества компании Lego и компании MIT Media Lab по созданию универсального программируемого блока-процессора, который стал основой для конструктора. Потенциал набора был настолько огромен, что на протяжении десяти лет он оставался актуальной творческой площадкой различных конструкторских экспериментов. В 2008 году вышла вторая версия набора Mindstorms – NXT. А в 2009 – третья: Mindstorms NXT 2.0.

Ничего сложного

Конструктор Lego Mindstorms NXT 2.0 – это набор для создания роботов. Под роботом мы понимаем конструкцию, выполняющую ряд действий в соответствии с заранее написанной программой. Программа может быть как простой, состоящей из ряда последовательностей, так и сложной – имеющей несколько вариантов, которые запускаются в зависимости от наличия внешних факторов.

Всё это разнообразие обеспечивается набором стандартизированных деталей Lego, которые в Mindstorms NXT 2.0 можно разделить на четыре группы.

Коробка с набором Mindstorms NXT 2.0


Во-первых, это детали для сборки конструкции: приводные ремешки, гусеницы, шестерёнки, колёса, балки, кронштейны…

Во-вторых, это электронно-управляемые серводвигатели. В наборе их три штуки. Их вращающиеся головки имеют максимальную скорость 170 оборотов в минуту, а точность равна одному градусу.

В-третьих, разнообразные сенсоры, которые позволяют созданным роботам интерактивно реагировать на изменения условий внешней среды.

Наконец, в четвёртых, это блок-процессор Mindstorms NXT, который представляет собой функцию центра координации всех остальных составляющих конструкции.

Давайте теперь рассмотрим элементы каждой из групп конструктора подробнее.

Вокруг компьютера

В базовый набор Mindstorms NXT 2.0 входит более 600 деталей для сборки конструкции робота. Как уже было сказано, это шестерёнки и втулки, пластиковые балки различного размера, крепления, кронштейны, колёса, фиксаторы, пластины и так далее. Все они принципиально совместимы с деталями из других конструкторов Lego и могут использоваться совместно. Кроме того, в продаже имеются дополнительные наборы деталей – предназначенные для сборки особо сложных роботов.

Визуальный перечень деталей


Блок-процессор Mindstorms NXT позволяет подключить к себе три электродвигателя – именно столько их и входит в поставку конструктора. Двигатель Mindstorms NXT 2.0 – это сборное устройство, состоящее из оснащённого редукторами двигателя с датчиком угловых перемещений. В конструкции двигателя имеются ступицы колеса с отверстием под ось. Как уже было сказано выше, угловой датчик мотора имеет точность в 1 градус, а максимальная скорость вращения двигателя составляет 170 оборотов в минуту.

Фирменные сенсоры и мотор


Интеллектуальное поведение роботов, построенных с помощью конструктора Mindstorms NXT 2.0, обеспечивается сенсорами, входящими в состав набора и так же, как и моторы, подключаемыми к блокe-процессору. В базовый набор конструктора Mindstorms NXT 2.0 входят четыре сенсора – ровно столько, сколько позволяют подключить к блоку-процессору его порты ввода. Среди этих сенсоров два датчика нажатия, один ультразвуковой датчик для замера расстояний и дистанционного обнаружения препятствий и один датчик света (может быть использован как элемент подсветки). Кроме базовых сенсоров к набору Mindstorms NXT 2.0 также выпускаются датчики звука (микрофон с интерфейсом, совместимым с блок-процессором Mindstorms NXT. Наконец, по лицензии Lego дополнительные сенсоры выпускают компании Mindsensors и HiTechnic. Среди их продукции можно найти видеокамеры, таймеры, компасы, датчики давления, инфракрасные датчики, датчики ускорения (от 2 до 5 плоскостей), датчики наклона и гироскопы.

Небольшая часть сенсоров, производимых Mindsensors


Блок-процессор Mindstorms NXT, идущий в поставке конструктора Mindstorms NXT 2.0 в единичном экземпляре, представляет собой специализированный микрокомпьютер, основанный на двух микроконтроллерах с флэш-памятью. Его габариты составляют 14,5 на 9,6 и на 6,1 сантиметр, а масса (без батареек и аккумуляторов) равно 235 граммам. На корпусе блока-процессора выделяются четыре кнопки управления и монохромный жидкокристаллический дисплей с разрешением 100 на 60 точек. Задняя сторона блока представляет собой крышку батарейного отсека для установки 6 элементов питания размера AA. Верхнюю и нижнюю грань корпуса занимают порты ввода и вывода для подключения сенсоров и электромоторов. Также на корпусе имеется порт USB 2.0 для подключения устройства к компьютеру. Более универсальный тип подключения предоставляет встроенный адаптер Bluetooth, с помощью которого Mindstorms NXT может взаимодействовать с блоками других наборов Mindstorms NXT 2.0, с ноутбуками, планшетными компьютерами и смартфонами. Наконец, в корпусе Mindstorms NXT нашлось место и для динамика, позволяющего воспроизводить звуки с качеством в 8 бит и 16 килогерц.

Блок-процессор Mindstorms NXT


Как уже было сказано, вычислительной основой Mindstorms NXT являются два микроконтроллера. Оба они произведены компанией Atmel. Первый из них - AT91SAM7S256 – использует 32-битный процессор ARM7TDMI с частотой ядра 48 мегагерц. Микроконтроллер имеет 64 килобайта ПЗУ и использует в качестве ОЗУ Flash-память объёмом 256 килобайт.

Второй микроконтроллер ATmega48 на 8-битном AVR-процессоре с частотой 8 мегагерц. Объём его ПЗУ составляет 512 байт, а ОЗУ – 4 килобайта. Как и в случае с AT91SAM7S256, речь идёт о Flash-памяти.

Чистое творчество

Несмотря на всю свою впечатляющую техническую базу, конструктор Mindstorms NXT 2.0, возможно, не приобрёл бы столь огромную популярность, если бы не два обстоятельства.

Первое – это фактическое существование блока-процессора Mindstorms NXT в статусе Open Source. Lego давно открыла всю схемотехнику устройства, не забыв выложить в открытый доступ код фирменных прошивок. Любому желающему сейчас доступны Software Developer Kit, Hardware Developer Kit (HDK) и Bluetooth Developer Kit. Последний документирует и описывает протоколы обмена информации через встроенный адаптер Bluetooth.

С графической средой программирования NXT-G разберётся каждый


Второе обстоятельство – это богатый выбор языков программирования и инструментария для программирования Mindstorms NXT.

Основным языком программирования для Mindstorms NXT являются код RСX. Кроме того, Lego официально поддерживает пакеты графической разработки NXT-G и Robolab. Все остальные варианты считаются «сторонними».

Среди них есть языки, подобные Java, C, Visual Basic, Ada, Forth… Инструментарий для работы с ним широко представлен в сети и совместим со всеми современными операционными системами: Windows, MacOS и Unix.

Но слишком сложные программы в ней не нарисовать


Фактически, при должном уровне знаний и фантазии программные среды, совместимые с Mindstorms NXT вкупе с набором Mindstorms NXT 2.0 способны стать достаточной основой для реализации проекта любой сложности. Не даром же этот конструктор Lego стал базой для обучения программированию и конструированию во многих учебных заведениях мира. Он же – конструктор Mindstorms NXT 2.0 официально разрешён для использования в соревновании роботов World Robot Olympiad. Чтобы не быть голословными, в заключительной части материала мы рассмотрим несколько примеров удивительных конструкторских решений, созданных с помощью Mindstorms NXT 2.0.

Праздник начинается!

Хотя традиционным началом знакомства с конструктором Mindstorms NXT 2.0 становится сборка какого-нибудь интеллектуально-управляемого трактора или человекоподобного робота (первое – из-за наличия в деталях колёс, второе – по ассоциации с самими словом «робот»), некоторые умудряются быть достаточно оригинальными. В таком случае многие (в основном, конечно, взрослые владельцы набора) собирают робот-конвейер по открытию бутылок. Это могут быть пластиковые полуторалитровые фляжки или пивные бутылки американского образца (с винтовой крышкой) – главное, чтобы модуль-открывашка конвейера мог зацепиться за пробку по окружности и произвести вращательное движение.

Собираем вместе

Как уже было сказано в статье, блок-процессор весьма охотно соединяется со многими электронными устройствами через порт USB. Вариантов использования данной возможности масса: синхронизация действий с другими роботами Mindstorms NXT 2.0, управление роботом со смартфона как с дистанционного управления, создание сложных комплексов, где основную вычислительную задачу решает не блок-процессор, а устройство с большей мощностью. Последнее показалось актуальным группе конструкторов, объединивших робота-сборщика Mindstorms NXT 2.0 и смартфон Nokia N95 для решения задачи по сборке профессиональной (4 на 4 на 4) версии кубика Рубика.

Распределение заданий было таково: Nokia N95 с помощью своей фотокамеры фотографирует все грани кубика (который любезно переворачивается роботом сборщиком), анализирует получившуюся развёртку и формирует алгоритм сборки. По этому алгоритму создаётся алгоритм для блока-процессора Mindstorms NXT, который, в свою очередь, руководит механизмом робота сборщика. Среднее время сборки кубика в итоге составляет около получаса.

Проверка интеллекта

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

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

Устройство предоставлено компанией re:Store.

Версия для печати