Что такое лего майндстормс

Обновлено: 24.04.2024

Несмешной и баянистый анекдот, но нельзя просто так взять и начать эту публикацию не с него – он в лучшем виде отображает суть того, о чём пойдёт речь далее. Впрочем, из заголовка вы и так поняли, о чём речь.


Осторожно! Публикация может вызвать непреодолимое желание завести сына.

Урок истории

Компания LEGO (название произошло от датской фразы «leg godt», «Играй с удовольствием») не нуждается в представлении – она была основана в далёком 1932 году, хотя первые знакомые всем пластиковые кубики появились значительно позже, в 1947. Примечательно, что кубики LEGO, выпускаемые в те годы, полностью совместимы с теми, что выпускаются сейчас.

История создания компании, выпущенная компанией Pixar к 80-летнему юбилею LEGO:

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

Как гласит википедия, серия LEGO Mindstorms была впервые представлена в 1998 году. Через 8 лет (в 2006) на свет появился набор LEGO Mindstorms NXT 1.0, а уже в 2009 — набор LEGO Mindstorms NXT 2.0. Сегодня речь пойдёт о LEGO Mindstorms EV3 – последнем (третьем) поколении терминатора конструктора, который был представлен почти год назад, 4 января 2013 года (в продаже появился только спустя полгода).

Отличия EV3 от NXT 2.0

В принципе, главная идея осталась прежней – серия предназначена для сборки программируемых роботов. Поэтому первым встаёт вопрос, а что же поменялось с момента выхода предыдущего конструктора и стоит ли покупать новый? Основное отличие заключается в обновленных датчиках/моторах и, самое главное, в интеллектуальном блоке EV3 (EV означает EVolution):

EV3 NXT
Дисплей Монохромный LCD, 178x128 Монохромный LCD, 100x64
Процессор 300 МГц
Texas Instruments
Sitara AM1808 (ARM9)
48 МГц Atmel
AT91SAM7S256
(ARM7TDMI)
Память 64 Мб RAM
16 Мб Flash
Слот microSDHC (до 32 Гб)
64 Кб RAM
256 Кб Flash
USB-хост Есть Нет
Wi-Fi Опционально, через USB-донгл Нет
Bluetooth Есть Есть
Поддержка Apple-устройств Есть Нет
Как видите, разница довольно существенна – было бы странным, если бы за 4 года поменяли только разрешение экрана и набор наклеек.

Ещё одно отличие заключается в том, что серия NXT продавалась в нескольких версиях (в разные годы) и представляла собой разные наборы, базовые и ресурсные. У нового EV3 с этим попроще – пока он продаётся в основном варианте – 31313 (601 деталь), из которого можно наделать кучу всего. Но при желании можно докупить базовый набор 45544 (541 деталь) с дополнительными сенсорами и детальками (использовать детали от обычных конструкторов также никто не мешает). Кстати, обратите внимание на пятизначные артикулы – на такую нумерацию компания перешла в 2013 году.

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

Внутри коробки

Ещё когда я сам был маленький и ездил с родителями в центральный Детский Мир (когда он ещё был), на Лубянку – уже тогда я не мог оторвать глаз от коробок с LEGO. Тогда не было ни Гиктаймс, ни даже Хабра, но с тех пор коробки остались всё такими же яркими и сочными, даже во взрослом возрасте активируют процесс слюновыделения ) В этом плане другим производителям есть чему поучиться.


Часть коробки, на самом деле, представляет собой (если её разрезать) трассу с различными цветовыми зонами, которую можно использовать для роботов с сенсорами цвета.

Все детальки аккуратно разложены по пакетикам, в комплекте – инструкция и набор наклеек. Давайте вкратце пройдёмся по тому, что положили в комплект.



Сам EV3, он же интеллектуальный блок, он же сердце системы, он же «кирпичик» или «кубик». Служит центром управления и энергетической станцией для вашего робота и имеет следующие функциональные элементы:


– Многофункциональный монохромный дисплей с разрешением 178х128
– Шестикнопочный интерфейс управления с функцией изменения подсветки (3 цвета) для индикации режима работы
– 4 порта ввода (1, 2, 3, 4) для подключения датчиков
– 4 порта вывода (A, B, C, D) для выполнения команд
– 1 разъём miniUSB для подключения EV3 к компьютеру
– 1 порт USB–хост (для соединения нескольких EV3 в одну цепь, например)
– 1 слот для карт памяти формата microSD (до 32Гб) – для увеличения объёма доступной памяти EV3
– Встроенный динамик




Кубик EV3 также поддерживает Bluetooth, WiFi (через USB-адаптер NETGEAR WNA1100 Wireless-N 150), для связи с компьютерами имеет программный интерфейс, позволяющий создавать программы и настраивать регистрации данных непосредственно на микрокомпьютере EV3.

» Большой EV3-сервомотор (2 штуки). Cоздан для работы с микрокомпьютером EV3 и имеет встроенный датчик вращения с точностью измерений до 1 градуса. Используя этот датчик, мотор может соединяться другими моторами, позволяя роботу двигаться с постоянной скоростью. Кроме того, датчик вращения может использоваться и при проведении различных экспериментов для точного считывания данных о расстоянии и скорости.


– Встроенный датчик вращения с точностью измерений до 1 град
– Максимальные обороты до 160-170 об/мин
– Максимальный крутящий момент в 40 Нсм
– Автоматическая идентификация программным обеспечением EV3

» Средний EV3-сервомотор. Идеален для задач, когда скорость и быстрота отклика, а также размер робота важнее его грузоподъёмности.


– Встроенный датчик вращения с точностью измерений до 1 градуса
– Максимальные обороты до 240-250 об/мин
– Максимальный крутящий момент в 12 Нсм
– Автоматическая идентификация программным обеспечением EV3

» Датчик цвета (EV3). Способен определить 8 различных цветов, хотя также может использоваться как датчик освещённости.


– Измеряет отраженный красный свет и внешнее рассеянное освещение, от полной темноты до яркого солнечного света
– Фиксирует и определяет 8 цветов
– Частота опроса до 1 кГц
– Автоматическая идентификация программным обеспечением EV3

» Датчик касания (EV3). Позволяет роботу реагировать на касания, распознает три ситуации: прикосновение, щелчок и освобождение. Также способен определить количество нажатий, как одиночных, так и множественных.

» Цифровой ИК-датчик (EV3). Для определения приближения робота. Также способен улавливать ИК-сигналы от ИК-маяка, позволяя создавать дистанционно управляемых роботов, навигационные системы для преодоления препятствий.


– Измерения приближения/удаления в радиусе 50-70 см
– Радиус улавливания ИК-сигналов до 2 метров
– До 4 индивидуальных каналов приёма сигнала
– Получение удаленных ИК-команд управления
– Автоматическая идентификация программным обеспечением EV3

» Удалённый инфракрасный маяк. Разработан для использования с ИК-датчиком EV3. Маяк излучает ИК-сигнал, улавливаемый датчиком – может использоваться в качестве пульта дистанционного управления микрокомпьютера EV3, передавая сигналы на ИК-датчик.

– До 4 индивидуальных каналов передачи сигнала (переключатель прямо на корпусе)
– Имеет кнопку и тумблер для включения/выключения
– При работе ИК-маяка горит зелёный светодиод
– Автоматическое отключение при простое более 1 часа
– Радиус действия до 2 метров

В отдельном пакетике смотаны провода для подключения датчиков и моторов к кубику, а также USB-шнур для подключения кубика к компьютеру.


Стоит отметить два важных момента. Во-первых, существуют другие датчики Lego, такие как:

» Гироскопический датчик (EV3). Цифровой гироскопический датчик EV3 позволяет измерять движение вращения робота, а также улавливать изменения в его движении и положении. Режим измерения углов с точностью до ± 3 градуса; встроенный гироскоп улавливает вращения с моментом до 440 град/с; частота опроса до 1 кГц.

» Ультразвуковой датчик (EV3). Генерирует звуковые волны и фиксируюет их отражения от объектов, тем самым измеряя расстояние до объектов. Также может использоваться в режиме сонара, испуская одиночные волны. Может улавливать звуковые волны, которые будут являться триггерами для запуска программ. Измеряет расстояния в пределах от 1 до 250 см, а точность измерений составляет ± 1 см.

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


В общем, как вы уже поняли, LEGO – это для реальных пацанов!

Первая модель

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


Сначала я удивился, ведь даже в самых простых наборах (серии типа LEGO Creator) всегда идёт несколько инструкций, а тут вдруг бумаги пожалели или места в коробке не нашли. Оказалось… что только на официальном сайте из набора деталей предлагается собрать 17 разных роботов! Поэтому 17 инструкций в коробке были бы действительно лишними (и для логистики, и для лесов природы). Вот названия роботов: EV3RSTORM, GRIPP3R, R3PTAR, SPIK3R, and TRACK3R. ROBODOZ3R, BANNER PRINT3R, EV3MEG, BOBB3, MR-B3AM, RAC3 TRUCK, KRAZ3, EV3D4, EL3CTRIC GUITAR, DINOR3X, WACK3M, и EV3GAME – инструкции для них придётся качать из инета, равно как и софт для подключения EV3 к компьютеру.


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


Кубик EV3 необходимо запитать, для чего можно использовать аккумулятор (нет в комплекте) или 6 пальчиковых батареек. Забегая вперёд – ещё 2 батарейки (но уже мизинчиковых) понадобятся для питания ИК-маяка (он же пульт ДУ).


Первую модель ребёнок (7 лет) собрал примерно минут за 30.


Процесс оказался не таким увлекательным, как, например, сборка моделей LEGO Technics – в инструкции предлагается собрать далеко не самого интересного робота: в нём лишь крупные детали, среди которых были практически все датчики и двигатели – видимо, чтобы продемонстрировать работу каждого из них.



Но вот результат превзошёл все детские ожидания – впервые он собрал модель, которая могла двигаться сама: вперёд-назад, поворот, разворот на месте, крутила щупальцами…



Запуск осуществляется с кубика EV3, для чего следует нажать пару кнопок на лицевой панели. Некоторые действия можно запрограммировать прямо на кубике: выбрать количество итераций, настроить подачу звукового сигнала и так далее – в одной статье всего не рассказать, курите мануалы.



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

Ребёнку проще всего будет начать с предлагаемого производителем софта, который есть как под Windows, так и под OS X. Во втором случае дистрибутив весит 666 Мб, а установленное приложение займёт гигабайт. Оно называется LEGO Mindstorms EV3 Home Edition и разработано совместно с небезызвестной компанией LabView. На сайте LEGO довольно много обучающих программированию материалов.

Сразу после запуска перед нами возникает интерактивный «гараж» из роботов, которых можно собрать из набора:


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




Не вижу смысла описывать всё в деталях: вы быстрее скачаете приложение сами и увидите, что там есть и на каком уровне. Разве что упомяну один из недостатков, который мне больше всего запомнился: не самый дружелюбный (особенно для детей) интерфейс – от приложения попахивает каким–то банк-клиентом.

Нельзя ещё раз не отметить, что кубиком EV3 можно управлять со смартфона на операционных системах Android или iOS, для чего есть отдельные приложения.

Если всего этого оказалось мало, можете повысить градус хардкора. Для кубика EV3 существуют различные прошивки, которые позволяют расширить его возможности, скорость работы и т.д. Вот, например, альтернативная прошивка leJOS EV3 – прошивка с jvm, позволяющая программировать EV3 на языке Java. Хотите на другом языке? Окей, гугл – в вашем распоряжении почти 60 вариантов на выбор: ASM/C/C++/Perl/Python/Ruby/VB/Haskell/Lisp/Matlab/LabVIEW и многое-многое другое.

Более подробно об этом я рассказывать не буду по нескольким причинам: во-первых, программист из меня полный false (все надежды на сына), во-вторых, пока мы успели собрать только одну модель (и на выходных возьмёмся за вторую), а в-третьих – вы уже и так оформили заказ на этот конструктор и скоро сами всё узнаете ;) Ну а если серьёзно, то статья и так уже огромная – вот лучше две ссылочки изучите: раз и два.

Ну и ещё большой плюс – это LEGO-сообщества, которых полно по всему миру. Можете быть уверены, что на любом из этапов экспериментов с роботами вы всегда сможете найти единомышленников и тех, кто сможет помочь с решением проблемы. Помимо дружелюбных сообществ, на просторах сети выложено огромное множество различных инструкций, моделей, исходников, видеороликов и обучающих материалов. Всё это означает одно: с Mindstorms вы не соскучитесь.



Лет эдак в 10-11, после долгих и беззаботных лет игры с контрукторами Lego, я узнал о существовании великолепного набора Mindstorms, который позволял создавать самых настоящих роботов без специализованных знаний электроники, электротехники и даже программирования. Я сразу же заинтересовался данной серией, но тогда моим мечтам обладать Mindstorms по различным (в основном — финансовым) причинам не суждено было сбыться.
Сейчас мне 20 и в честь юбилея друзья (спасибо им!) решили окунуть меня назад в детство и таки дать возможность полепить собственных роботов. Правда, в этот раз всё будет серьёзнее, чем в моих детских мыслях — мы будем действительно программировать Mindstorms под Debian GNU/Linux.

Неплохо, да?
Собственно, данный робот и будет нашей основной тестовой моделью. Но мы попробуем немного усовершенствовать его навыки. И для этого мы напишем небольшой кусочек кода.


Действительно. Идущее в комплекте ПО работает только в Windows и Mac OS. А у нас, внезапно, Debian Squeeze. К счастью, Mindstorms обладает огромным сообществом фанатов, которые придумали решение данной проблемы — использование альтернативного ПО для программирования роботов, в частности Bricxcc (здесь выложен полнейший мануал по настройке всего и вся).
А теперь немного теории — в программировании Mindstorms, как правило, помимо визуального среды ROBOLAB для Windows и Mac OS используется язык RCX, однако среди фанатов одним из наиболее популярных языков является достаточно простой NXC (Not eXactly C). Простая программа на NXC выглядит примерно так:

  1. task music()
  2. int lastTone=5000;
  3. while ( true )
  4. int tone= Random (5000)+500;
  5. int duration= Random (500);
  6. PlayTone(tone,duration);
  7. Wait(duration);
  8. >
  9. >
  10. task main()
  11. start music;
  12. while ( true )
  13. /* Determine Next Action */
  14. unsigned int duration= Random (5000);
  15. unsigned int motorSpeed= Random (100);
  16. unsigned int syncMode= Random (3);
  17. /* Display Next Action */
  18. ClearScreen();
  19. NumOut(0,LCD_LINE1,duration);
  20. NumOut(0,LCD_LINE2,motorSpeed);
  21. NumOut(0,LCD_LINE3,syncMode);
  22. /* Perform Next Action */
  23. switch (syncMode)
  24. case 0:
  25. OnFwdReg(OUT_AC,motorSpeed,OUT_REGMODE_SYNC);
  26. break ;
  27. case 1:
  28. OnRevReg(OUT_AC,motorSpeed,OUT_REGMODE_SYNC);
  29. break ;
  30. case 2:
  31. OnFwdSync(OUT_AC,motorSpeed,-100);
  32. break ;
  33. case 3:
  34. OnRevSync(OUT_AC,motorSpeed,-100);
  35. break ;
  36. >
  37. Wait(duration);
  38. >
  39. >

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

Не буду спорить, программа совсем не сложна для понимания, но достаточно громоздка. И её можно заметно упросить, используя вместо написания кода на NXC специальный конвертер PyNXC. Иначе говоря, мы будем писать код на Python'е, а PyNXC будет преобразовывать его в NXC-код и загружать на устройство, избавив нас от необходимости писать громоздкий код на подобии Си.


Ну, а теперь, собственно, напишем на Python'е программу для путешествия нашего робота среди прозрачных чашек, но используя более грамотный алгоритм разворота:

Теперь наш робот научился разворачиваться на месте и, как только мешающий объект пропадет с поля его зрения, продолжать движение вперед.

Как вы уже, наверное, заметили, программировать Mindstorms очень просто. Стоит также сказать, что помимо NXC и Python с использованием PyNXC, можно писать код на Java, Lua, Ruby, Ассемблере, а также, что логично, использовать ассемблерные вставки в других языках.
Благодаря всему этому Mindstorms из детской игрушки превращается в весьма мощную штуку, позволяющую создавать сложные и «умные» механизмы, как например вот эта гитара:

Привет, Хабр! Мы уже рассказывали о платформе LEGO MINDSTORMS Education EV3. Основные задачи этой платформы — обучение на практических примерах, развитие навыков STEAM и формирование инженерного мышления. В ней можно проводить лабораторные работы по изучению механики и динамики. Лабораторные стенды из кубиков LEGO и утилиты по регистрации и обработке данных делают опыты еще интереснее и нагляднее и помогают детям лучше понять физику. Например, школьники могут собрать данные о температуре плавления и с помощью приложения систематизировать их и представить в виде графика. Но это только начало: сегодня мы расскажем, как дополнить этот набор средой программирования MicroPython и использовать его для обучения робототехнике.




Учим программированию с помощью EV3

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

Базовая среда программирования EV3 создана на основе графического языка LabVIEW и позволяет задавать алгоритмы для робота визуально: команды представлены в виде блоков, которые можно перетаскивать и соединять.


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

Здесь есть несколько хитростей, одна из которых — показать, что код выполняет те же задачи, что и блоки. В среде EV3 это можно сделать благодаря интеграции с MicroPython: дети создают одну и ту же программу в базовой среде программирования с помощью блоков и на языке Python в Visual Studio Code от Microsoft. Они видят, что оба способа работают одинаково, но кодом решать сложные задачи удобнее.

Переходим на MicroPython

Среда EV3 построена на базе процессора ARM9, и разработчики специально оставили архитектуру открытой. Это решение позволило накатывать альтернативные прошивки, одной из которых стал образ для работы с MicroPython. Он позволяет использовать Python для программирования EV3, что делает работу с набором еще ближе к задачам из реальной жизни.

Чтобы начать работать, нужно скачать образ EV3 MicroPython на любую microSD-карту, установить ее в микрокомпьютер EV3 и включить его. Затем нужно установить бесплатное расширение для Visual Studio. И можно приступить к работе.

Программируем первого робота на MycroPython


На нашем сайте есть несколько уроков для освоения базовых понятий робототехники. Модели на EV3 знакомят детей с азами, которые используются в самоуправляемых автомобилях, заводских роботах-сборщиках, станках с ЧПУ.

Мы возьмем для примера чертежную машину, которую можно научить рисовать узоры и геометрические фигуры. Данный кейс является упрощенным вариантом взрослых роботов-сварщиков или фрезеровщиков и показывает, как можно использовать EV3 совместно с MicroPython для обучения школьников. А еще чертежная машина может разметить отверстия в печатной плате для папы, но это уже другой уровень, требующий математических расчетов.

Для работы нам понадобятся:

  • базовый набор LEGO MINDSTORMS Education EV3;
  • большой лист клетчатой бумаги;
  • цветные маркеры.

Сначала инициализируем библиотеку модулей EV3:


Настраиваем платформу, которая вращает ручку как мотор в порте B. Задаем передаточное отношение двухступенчатой зубчатой передачи с количеством зубьев 20-12-28 соответственно.


Настраиваем подъемный механизм для ручки как мотор в порте C:


Настраиваем гироскоп, измеряющий угол наклона ручки, в порте 2:


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


Настраиваем датчик касания в порте 4. Робот начинает рисовать, когда датчик нажат:


Определяем функции, которые поднимают и опускают ручку:


Определяем функцию для поворота ручки на заданный угол или до определенного угла:


Если целевой угол больше, чем текущий угол гироскопического датчика, продолжаем движение по часовой стрелке с положительной скоростью:


Если целевой угол меньше, чем текущий гироскопического датчика, то двигаемся против часовой стрелки:


Останавливаем вращающуюся платформу, когда целевой угол будет достигнут:


Устанавливаем начальное положение ручки в верхнем положении:


Теперь идет основная часть программы — бесконечный цикл. Сначала EV3 ожидает, когда датчик цвета обнаружит белую бумагу или синюю стартовую клетку, а датчик касания будет нажат. Затем он рисует узор, возвращается в исходное положение и повторяет все заново.

Когда устройство не готово, светодиоды на контроллере принимают красный цвет, и на ЖК-экране отображается изображение «палец вниз»:


Дожидаемся, когда датчик цвета считает синий или белый цвет, устанавливаем цвет светодиодов зеленым, отображаем на ЖК-экране изображение «палец вверх» и сообщаем, что устройство готово к работе:


Дожидаемся нажатия датчика касания, присваиваем гироскопическому датчику значение угла 0 и начинаем рисовать:


Поднимаем держатель ручки и возвращаем его в исходное положение:


Вот такая несложная программа у нас получилась. И теперь запускаем ее и смотрим на робота-чертежника в деле.

Что дают такие примеры


EV3 — это инструмент для профориентации в рамках профессий STEM и точка входа в инженерные специальности. Так как на нем можно решать практические задачи, дети получают опыт технических разработок и создания промышленных роботов, учатся моделировать реальные ситуации, понимать программы и анализировать алгоритмы, осваивают базовые конструкции программирования.

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

LEGO Mindstorms Education EV3 - Обзор конструктора

В данной статье речь пойдет о новой версии конструктора - LEGO Mindstorms Education EV3. Но прежде чем рассказывать о нововведениях EV3, давайте познакомимся с серией конструкторов LEGO Mindstorms поближе.

LEGO Mindstorms – робототехнический конструктор для ребят в возрасте от 10 лет. В качестве строительных блоков для робота используются детали LEGO Techniс – многие ребята уже знакомы с ними по конструкторам «Технология и физика», «Пневматика», «Возобновляемые источники энергии». Но построить каркас робота недостаточно: надо «научить» его получать информацию из окружающей среды и реагировать на нее. Для этого используются специальные устройства – сенсоры: они позволяют определять цвет, освещенность, расстояние до ближайших предметов и многое другое. Реагировать на «раздражители» робот может с помощью моторов – либо уехать куда-нибудь, либо что-нибудь сделать – например, укусить обидчика за палец. А «мозгом» робота является специальный программируемый блок, к которому и подключаются все моторы и датчики.

Перейдем к составу набора LEGO Mindstorms EV3. Вот что входит в образовательную версию набора:

  • 1 программируемый блок
  • 3 мотора:
    • 2 больших мотора
    • 1 средний мотор
    • 2 датчика касания
    • 1 датчик цвета
    • 1 ультразвуковой датчик расстояния
    • 1 гироскоп

    LEG45544.JPG

    Датчики и моторы

    Рассмотрим, что же изменилось в EV3 по сравнению со старой версией NXT.

    В наборе будет 3 мотора, но один из них будет отличаться как по размерам так и по техническим характеристикам.

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

    Еще одной особенностью является авто-определение датчиков и моторов при их подключении к блоку – о данной особенности я расскажу в разделе, описывающем новую среду программирования EV3.

    Характеристики датчиков и моторов представлены ниже.

    Датчик касания

    Датчик касания

    Датчик касания EV3 очень похож на датчик предыдущей версии. Он определяет, когда кнопка нажата или отпущена, также он может подсчитывать одиночные или многократные нажатия.

    Датчик цвета

    29_2574_3.jpg

    Датчик цвета EV3 различает 7 цветов и может определить отсутствие цвета. Как и в прошлой версии он может работать как датчик освещенности.

    • Измеряет отраженный красный свет и окружающее освещение
    • Способен определять различия между белым и черным или цветами: синим, зеленым, желтым, красным, белым и коричневым
    • Частота работы: 1 кГц

    29_2570_3.jpg

    Гироскопический датчик EV3 измеряет вращательное движение робота и изменение его положения.

    • Может использоваться для определения текущего направления вращения
    • Точность: +/- 3 градуса на 90 градусов оборота (в режиме измерения наклона)
    • Может определить максимум 440 градусов/c (в режиме гироскопа)
    • Частота работы: 1 кГц

    Ультразвуковой датчик расстояния

    TBs_20130108_1_11.jpg

    К основной функции ультразвукового датчика EV3 добавилась еще одна - он также может "слушать" ультразвуковые колебания, испускаемые другими датчиками ультразвука.

    • Может измерять расстояние в диапазоне 3 - 250 см.
    • Точность измерений : +/- 1 см
    • Дискретность результата измерений: 0.1 см.
    • Может быть использован для поиска других активных ультразвуковых датчиков (режим прослушивания)
    • Красная LED подсветка вокруг "глаз"

    Большой мотор

    29_2552_3.jpg

    Большой сервомотор EV3 очень похож на предыдущую версию мотора NXT, однако корпус мотора стал чуть больше (виртуально он теперь занимает 14x7x5 отверстий против бывших 14x6x5). Также были изменены места крепления моторов и их тип.

    • Максимальные обороты - 160- 170 об/мин.
    • Заданный крутящий момент - 40 Н/см
    • Реальный крутящий момент - 20 Н/см.
    • Встроенный датчик угла поворота (энкодер) мотора с точностью 1 градус

    Средний мотор

    $(KGrHqJHJBoFBSJE7k0WBS!DgOCklw~~60_35.JPG

    Средний сервомотор EV3 основан на Power Function моторе аналогичного размера. Дополнительное место потребовали только датчик угла поворота и порт для подключения. Этот мотор отлично подойдет для работы под низкими нагрузками и высокими скоростями.

    • Максимальные обороты - 240- 250 об/мин.
    • Заданный крутящий момент - 12 Н/см
    • Реальный крутящий момент - 8 Н/см.
    • Встроенный датчик угла поворота (энкодер) мотора с точностью 1 градус

    NXT датчики, моторы и кабели совместимы с EV3, таким образом все ранее построенные роботы могут управляться новым блоком.

    Программируемый блок EV3

    Серьезные изменения произошли и с микрокомпьютером EV3. По сравнению с NXT, EV3 блок имеет более быстрый процессор, больше памяти. Прошивка блока EV3 базируется на свободно распространяемой ОС Linux, что дает возможность создавать свои прошивки для блока. Подключить робота к компьютеру теперь возможно не только через USB и Bluetooth, но и по Wi-Fi. Между собой роботы также могут «общаться» по USB, Bluetooth и Wi-Fi.

    brick-Mindstorms-EV3-Lego-S.jpg

    Ниже представлена сравнительная таблица характеристик NXT и EV3:

    С EV3 в комплекте поставляется новая графическая среда разработки на базе LabView, похожая на NXT-G. Работать она будет, как и NXT-G, на ОС Windows и Mac.

    Среда разработки EV3 была значительно улучшена. Теперь все материалы для робота: программы для робота, документацию, результаты экспериментов, фото и видео - можно хранить в проекте. Был также добавлен инструмент zoom, который позволяет масштабировать программу, чтобы, например, увидеть всю программу целиком. Стоит отметить, что NXT блок можно программировать с помощью новой среды EV3, однако старый блок поддерживает не все особенности нового языка программирования.

    mindstorms-software.jpg

    Перечислим основные нововведения среды программирования EV3:

    • Тесная интеграция среды программирования с блоком:
      • Добавлена специальная страница с подключенным оборудованием. Она позволяет отслеживать статус EV3 блока и получать значения с датчиков в реальном времени.
      • Датчики и моторы распознаются при подключении автоматически, благодаря функции auto-id. Это позволяет не указывать, что к такому-то порту подключен такой-то датчик или мотор.
      • В процессе работы программы подсвечивается выполняемый блок. Это позволяет точно понимать поведение программы.
      • На программном блоке загорается специальный символ, если к данному порту подключен другой датчик или мотор.
      • Добавлена возможность просматривать значения, передаваемые через каналы данных (data wires).
      • Сцепление блоков друг с другом позволило отказаться от "балки исполнения", на которой располагались блоки в среде NXT-G.
      • У блоков нет такого понятия, как панель настройки, - поведение теперь настраивается непосредственно на блоке, что привело к увеличению их размера. Программу теперь намного легче читать – сразу видно как настроены датчики и моторы.
      • Появились блоки "ждать изменения", которые позволяют реагировать на факт изменения значения, а не на изменение до определенного значения как в NXT-G.
      • Улучшения в передачи данных от блока к блоку позволяют упростить преобразование типов (теперь не нужно вручную преобразовывать, например, число в строку).
      • Добавлена возможность работы с массивами.
      • Стал возможен досрочный выход из цикла.

      Кроме нового языка программирования появились программы под Android и iPhone\iPad для управления роботом. Также на базе программы Autodesk Invertor Publisher создана программа для создания и просмотра пошаговых 3D инструкций. В этой программе можно масштабировать и вращать модель на каждом этапе сборки, что позволяет строить более сложных роботов по инструкциям.

      В образовательный набор включены инструкции для сборки 5 роботов:

      Color Sorter
      Классическая задача по сортировке предметов (в данном случае - Lego деталей) по цвету.

      Gyro Boy
      Робот-сигвей, использующий гироскоп для балансировки.

      Puppy
      Робот-собачка, которую можно гладить, кормить. Спать и справлять нужду она также умеет :) Напоминает тамагочи.

      Робо-рука
      Позволяет перемещать предметы.

      Для EV3 набора был подготовлен ресурсный набор LEGO MINDSTORMS Education EV3, позволяющий собирать другие модели, используя новые детали.

      4.jpg

      ПервоРобот LEGO Mindstorms NXT - Обзор конструктора

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

      Краткую информацию о линейке конструкторов LEGO Mindstorms, а также сравнение NXT и EV3 наборов можно найти в статье, посвященной EV3.

      Сразу перейдем к содержимому набора LEGO Mindstorms NXT 2.0. Вот что входит в образовательную версию набора:

      • 1 программируемый блок
      • 3 мотора:
      • 5 датчиков:
        • 2 датчика касания
        • 1 датчик освещенности
        • 1 ультразвуковой датчик расстояния
        • 1 микрофон

        9797_713x380_MainProduct.jpg

        Датчики и моторы

        Рассмотрим основные возможности и характеристики моторов и датчиков:

        lego-mindstorms-nxt-touch-sensor.jpg

        Датчик касания

        Этот датчик напоминает кнопку любого устройства – телефона, пульта или клавиатуры. Датчик способен определить, когда кнопка нажата или отпущена, также он может подсчитывать одиночные и многократные нажатия.

        light.jpg

        Датчик освещенности

        Он позволяет роботу различать яркость объектов и определять освещенность помещения.

        • Способен работать в 2 режимах – измерение отраженного света и окружающего освещения
        • В режиме определения яркости можно различать цвета – например, у желтого цвета яркость ниже, чем у синего

        lego-mindstorms-nxt-sound-sensor.jpg

        Датчик звука

        Датчик звука (микрофон) позволяет определить уровень шума.

        lego-mindstorms-nxt-ultrasonic-sensor.jpg

        Ультразвуковой датчик расстояния

        С помощью этого датчика робот может «видеть» предметы перед собой и определять расстояние до них.

        • Может измерять расстояние в диапазоне 3 - 250 см.
        • Дискретность результата измерений: +/- 1 см.

        M076274P01WL.jpg

        Все три мотора в наборе одинаковые. Стоит отметить, что в каждом моторе присутствует датчик оборотов – энкодер. Он позволяет контролировать движение мотора с высокой точностью. Характеристики мотора:

        • Максимальные обороты - 160- 170 об/мин.
        • Крутящий момент - 20 Н/см
        • Встроенный датчик угла поворота (энкодер) мотора с точностью 1 градус

        NXT датчики, моторы и кабели совместимы с EV3, поэтому оба набора – NXT и EV3 можно комбинировать.

        Программируемый блок NXT

        Программируемый блок NXT представляет собой «мозг» робота. К «мозгу» можно подключить 3 мотора и 4 сенсора, и именно в нем хранятся программы робота. Когда программа запущена блок NXT читает программу и в соответствии с ней дает команды моторам и сенсорам. Робота можно подключить к компьютеру через USB или Bluetooth. Между собой роботы могут «общаться» по Bluetooth

        9841.jpg

        Ниже представлены характеристики программируемого блока NXT:

        С NXT поставляется графическая среда разработки на базе LabView - NXT-G. Поддерживаемые операционные системы - Windows и Mac. Среда разработки NXT очень простая и рассчитана на ребят, не обладающих специальными знаниями по информатике и не знакомых с программированием.

        NXT-G.jpg

        В среде NXT-G каждая команда роботу представлена в виде графического блока. Пример команды для мотора – включить мотор на 3 секунды или включить мотор на 4 оборота. Команда для сенсора зависит от типа сенсора. Например, для датчика освещенности команда может звучать так – скажи, какова освещенность комнаты, а для датчика расстояния – скажи, какое расстояние до препятствия. Составив последовательность таких блоков, можно создать программу – запрограммировать робота.

        В образовательный набор включена инструкция для сборки базового робота.

        Для NXT набора был выпущен ресурсный набор, позволяющий собирать другие модели, используя новые детали.

        mindstorms-education-resource-set-rover-model-9695.PNG

        Робототехнические конструкторы NXT и EV3 являются отличным средством для изучения информатики, физики, математики, программирования. Давайте учиться интересно!

        Читайте также: