Робот спидкубер из лего майндстормс ev3

Обновлено: 29.04.2024

  • Инструкция по сборке v1.0 (Набор EV3 31313): загрузить
  • Инструкция по сборке v1.1 (Набор EV3 Education 45544+45560): загрузить
  • EV3 Программа для Color Sensor RGB Block v1.00: смотреть далее
  • EV3 Основная программа: смотреть далее

1. Описание

MindCub3r – робот, которого можно собрать из одного набора LEGO MINDSTORMS EV3 Обычная версия (31313) или из наборов EV3 Education Core и Expansion sets (45544+45560).
Этот робот способен полностью решить и правильно собрать известную головоломку Кубик Рубика (Rubik’s Cube puzzle).

Все программы для MindCub3r будут правильно работать с прошивкой LEGO firmware v1.06H (home) или v1.06E (Education), а также с последующими новыми версиями прошивок.
Рекомендуется всегда обновлять программное обеспечение центрального блока EV3 ( прошивку) до самой последней официальной версии от LEGO.

Аккуратно соберите робота по инструкции Инструкция по сборке (Обычная версия EV3 31313) или Инструкция по сборке (Образовательная версия EV3 Education 45544) , затем загрузите и установите программное обеспечение, как описано далее.

Программное обеспечение MindCub3r состоит из трех частей:

  1. Файл проекта: MindCub3r-v1p8.ev3 or MindCub3r-Ed-v1p8.ev3, который содержит программу управления моторами и сенсорами.
    Она создана в стандартном визуальном редакторе программ и проектов LEGO MINDSTORMS EV3
  2. Дополнительная запускаемая программа: mc3solver-v1p8.rtf, которая написана на C++ и реализует более эффективный и быстрый алгоритм решения головоломки, чем тот, который использовался для предыдущей версии NXT MindCuber ( для набора LEGO NXT)
  3. Приложение для EV3: “MC3 Solver v1p8”, которое используется для запуска программы mc3solver-v1p8.rtf

The main program and mc3solver-v1p8.rtf executable program communicate with each other via shared files on the EV3.
Примечаниеe: Файл v1p8 использует расширение .rtf для возможности загрузки его в блок EV3 с помощью стандартного программного обеспечения LEGO MINDSTORMS EV3 для персонального компьютера.
Расширение .rtf , которое обычно используется для текстовых файлов, в данном случае применяется к запускаемой программе, в качестве альтернативы.
Пожалуйста, не открывайте этот файл с помощью обычного текстового редактора.

MindCub3r использует датчик EV3 color sensor (сенсор цвета) в режиме RGB, чтобы сделать возможным распознавание тех оттенков цветов, которые обычно не определяются в стандартном режиме сенсора, по умолчанию используемом в программном обеспечении LEGO MINDSTORMS EV3 .
Программа Color Sensor RGB Block должна быть импортирована в программное обеспечение LEGO MINDSTORMS EV3 для персонального компьютера, чтобы поддерживать режим RGB для сенсора.

2. Программное обеспечение

Примечание: Используйте ссылки Загрузить следующим образом:

    • На Windows – клик правой кнопкой мыши на ссылке Загрузить
    • На Mac – при нажатой клавише control(ctrl), кликните на ссылку Загрузить

    В появившемся меню выберите один вариант:

    • Сохранить ссылку как…
    • Сохранить содержимое как…
    • Загрузить содержимое ссылки как…

    Затем выберите папку на вашем компьютере, куда вы собираетесь сохранить файл.

    2.1 Установка Color Sensor RGB Block

        блок, ColorSensorRGB-v1.00.ev3b, на ваш компьютер.
        Иногда при загрузке этот файлe может быть переименован в ColorSensorRGB-v1.00.zip . В этом случае после загрузки, переименуйте его снова в ColorSensorRGB-v1.00.ev3b
      1. Запустите программное обеспечение LEGO MINDSTORMS EV3 на персональном компьютере и создайте новый пустой проект.


        1. Найдите загруженный ранее файл ColorSensorRGB-v1.00.ev3b на вашем компьютере и нажмите Open(Открыть).


          1. Выберите ColorSensorRGB-v1.00.ev3b из списка Select Blocks to Import( Выбрать Блоки для Импорта) и нажмите Import(Импорт).

            1. Чтобы правильно завершить установку , нажмите Сlose (Закрыть) , а после этого также закройте программное обеспечение LEGO MINDSTORMS EV3 полностью.

            2.2 Загрузка проекта MindCub3r

                  Загрузите соответствующий вашей системе файл на ваш компьютерe:
                    (Обычный набор EV3 31313) (Education набор EV3 45544+45560)
                • Файл проекта с основной программой MindCub3r-v1p8.ev3 или MindCub3r-Ed-v1p8.ev3 project file with the main program
                • Запускаемый файл программы mc3solver-v1p8.rtf
                • InstallMC3-v1p8.rbf – приложение для запуска файла mc3solver-v1p8.rtf


                  1. Запустите программное обеспечение LEGO MINDSTORMS EV3 для персонального компьютера, выберите в меню команду File(Файл)
                    и затем выберите пункт Open Project( Открыть проект ).


                    1. Найдите файл проекта MindCub3r-v1p8.ev3 или MindCub3r-Ed-v1p8.ev3 и нажмите кнопку Open(Открыть).


                      1. Download (Загрузить) – с помощью этой кнопки загрузите программу MindCub3r в блок EV3 (но пока не запускайте ее).


                        1. Find the folder on the computer where the files were extracted from MindCub3r-v1p8.zip or MindCub3r-Ed-v1p8.zip. Select mc3solver-v1p8.rtf and Open to download this program to the EV3.


                          1. Find the folder on the computer where the files were extracted from MindCub3r-v1p8.zip or MindCub3r-Ed-v1p8.zip. Select InstallMC3-v1p8.rbf and Open to download this file to the EV3.

                          2.3 Install the MC3 Solver Application

                            1. Press the right button on the EV3 to move to the File Navigation screen. Select the MindCub3r-v1p8 or MindCub3r-Ed-v1p8 folder and press the center button to open it. If there is a micro-SD card in the EV3, select and open the SD_Card folder first.

                              1. Use the down button to Select InstallMC3-v1p8 and press the center button to run it. The EV3 will make a short beep.

                                This installs “MC3 Solver v1p8” application on the Brick Apps screen.

                                1. Turn off the EV3 brick to ensure all the files are saved to the flash memory and then turn it on again.

                                MindCub3r is now ready to use!

                                3. Operation


                                  1. Run the “MC3 Solver v1p8” application on the EV3 from the Brick Apps screen to start the mc3solver-v1p8.rtf executable program.

                                    This is only necessary once each time the EV3 is turned on as the program will continue to run in the background until the EV3 is turned off.

                                    1. Run the MindCub3r program on the EV3 from the Run Recent screen or from the File Navigation screen if it is the first time it has been run.


                                      The program first resets the position of the scan arm (holding the color sensor) and then the tilt arm. If the turntable starts to rotate or the two arms do not move in this order, please carefully check that cables have been connected to the correct ports on the EV3 as shown by the color coding in the build instructions. During this period, the EV3 buttons flashes red.The program then connects to the mc3solver-v1p8.rtf program that was downloaded to the EV3. If the program is found, the EV3 makes a short beep and continues. If the solver program is not running, the buttons continues to flash red and the message “Find solver” is displayed on the EV3 screen. If this happens, please check that the “mc3solver-v1p8.rtf” program has been downloaded to the MindCub3r-v1p8 or MindCub3r-Ed-v1p8 project folder on the EV3 and that the “MC3 Solver v1p8” application has been installed and run once.When MindCub3r is ready to start, the EV3 buttons turn orange and the message “Insert cube…” is displayed on the screen.

                                      1. Gently turn the turntable in each direction with your finger so that it moves slightly because of “play” in the gears connecting it to the motor. If necessary, adjust the position of the motor so that there is an equal mount of play in each direction. Use the left and right buttons on the EV3 to do this. A short press nudges the motor by a small angle. Holding the button for longer moves it by larger angles more quickly.
                                        1. Insert a scambled Rubik’s Cube into the turntable tray and MindCub3r will start to scan and solve the cube.MindCub3r may scan the cube up to three times if it is unable to determine the colors at first. If the scanned colors do not result in a valid pattern, MindCub3r will stop after the third attempt and display the message “Scan error” on the EV3 display. If this happens, there may be a number of possible causes. See the troubleshooting section.If there is a cube present before MindCub3r is ready, the buttons will stay red and the message “Remove cube…” is displayed for you to remove the cube. If this happens even when no cube is present or if MindCub3r does not start to scan the cube when it is inserted, please check that the cables to the infra red or ultrasonic and color sensors are connected to the correct ports on the EV3 as shown in by the color coding in the build instructions.

                                        4. Troubleshooting Tips

                                        4.1 Scanning

                                        If MindCub3r attempts to scan the cube 3 times and displays the message “Scan error” the following tips may help.

                                        1. MindCub3r is designed to work with an official Rubik’s Cube branded by Rubik’s. However, it should work with most cubes provided one set of stickers is white and the others are distinct colors. It is optimized to work with white, yellow, red, orange, green and blue stickers.
                                        2. Cubes with a white plastic body may scan less reliably that those with a black body but may work reasonably well if there are no other issues.
                                        3. A standard cube is about 57mm along each edge. MindCub3r will work most reliably with a cube this size although cubes that are only slightly larger or smaller may work. It has been known to solve some cubes as small as 55mm but not all.
                                        4. Make sure latest release of the MindCub3r software is installed including the latest enhanced firmware. Version v1p8 has some improvements in the position of the scan arm and the underlying algorithm for discriminating the colors.
                                        5. Check that the scan arm has been built exactly as shown in the build instructions. Small differences such as how the black 5-hole beams on either side of the scan arm are connected can alter the position of the color sensor during the scan or even jam the scan arm so it stops during the scan. In particular, if the color sensor looks as though it is over the edge of the cube or too close to the middle while scanning the corner or edge, please check the build instructions again.
                                        6. Make sure that the turntable is carefully aligned before inserting the cube as described here. This is required to ensure that the cube is positioned correcetly under the color sensor during the scan.
                                        7. Use new or well charged batteries as the reset position of the scan arm can be affected by low battery levels.
                                        8. Try the scan in dim lighting conditions as the color sensor can become saturated in bright lights.
                                        9. Try to bend the cable connecting the color sensor to the EV3 in its most natural direction (swap the two ends if necessary) and through the clip at the bottom of the scan arm to minimize any force that the cable applies to the position of the color sensor during the scan.

                                        If this does not help, please upload a video showing a failing scan with close up views of the scan arm from different angles and the position of the color sensor over the cube as the scan arm moves and post a link on the MindCuber Facebook pageand I will try to help.

                                        Like MindCuber on Facebook to share your experiences and help each other with troubleshooting.

                                        Copyright © 2013-2015 David Gilday

                                        LEGO and MINDSTORMS are trademarks of the LEGO Group
                                        Rubik’s Cube is a trademark of Seven Towns Limited

                                        Disclaimer: thoughts and opinions expressed here are my own (David Gilday)

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

                                        Эта инструкция представляет собой вольный перевод материалов с официального сайта проекта MindCub3r и дополнена опытом самостоятельной сборки этого робота, способного собрать кубик Рубика меньше чем за 2 минуты.

                                        Подробнее о LEGO MINDSTORMS EV3 можно почитать на этом сайте.

                                        Вот, что у нас должно получится в итоге:

                                        image

                                        MindCub3r можно построить из одного комплекта Lego Mindstorms EV3 (31313, Home Edition).

                                        Также вам понадобится инструкция по сборке и программное обеспечение, разработанное авторами проекта.

                                        Буквально позавчера автор проекта объявил в своем ФБ, что подправил программное обеспечение для своего робота, и теперь оно работает со «штатной» прошивкой «кирпича» 1.06Н. На главной странице проекта эта информация также уже появилась, архив MindCub3r-v1p1a.zip, содержащий, среди прочего, и обновленную версию программы, уже доступен для загрузки. Загрузка и установка блока для датчика цвета по-прежнему необходима.

                                        Дальнейший текст статьи исправлен с учетом последних изменений на сайте проекта!

                                        Инструкцию по сборке MindCub3r смотрим или скачиваем здесь.
                                        Прошивку (на момент написания статьи EV3-Firmware-V1.06H.bin) для кирпича скачиваем с официального сайта LEGO MINDSTORMS здесь.
                                        Архив MindCub3r-v1p1a.zip с файлами проекта (MindCuber-v1p1.ev3, autorun.rtf и mc3solver-v1p1.rtf) качаем тут.
                                        Еще нам понадобится прошивка для датчика цвета, которую берем здесь. Все дело в том, что стандартные настройки этого датчика не корректно определяют цвета в режиме RGB.

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

                                        Если вы еще не обновили прошивку «кирпича» первым делом устанавливаем новую версию ПО для главного блока Mindstorms EV3:

                                        1. Запускаем программное обеспечение LEGO MINDSTORMS EV3;
                                        2. Выбираем Инструменты — Обновление встроенного ПО;

                                        image

                                        3. В появившемся диалоговом окне нажимаем «Просмотреть», находим предварительно закаченный файл EV3-Firmware-V1.06H.bin и жмем «Открыть»;

                                        image


                                        4. В диалоговом окне в таблице «Доступные файлы встроенного ПО» выбираем EV3-Firmware-V1.06H и жмем «Загрузить». Ждем окончания загрузки;


                                        5. Перезагружаем главный блок (выключаем и снова включаем).

                                        Далее устанавливаем прошивку для датчика цвета:
                                        1. В ПО LEGO MINDSTORMS EV3 открываем новый пустой проект;
                                        2. Выбираем Инструменты — Мастер импорта блоков;

                                        image

                                        3. В появившемся диалоговом окне нажимаем «Просмотреть», находим предварительно загруженный файл ColorSensorRGB-v1.00.ev3b и жмем «Открыть»;

                                        image

                                        image

                                        4. В диалоговом окне в таблице «Выбрать блоки для импорта» выбираем ColorSensorRGB-v1.00.ev3b и жмем «Импорт».

                                        image

                                        5. Для завершения установки закройте диалоговое окно и выйдите из программного обеспечения LEGO MINDSTORMS EV3.

                                        Теперь самый ответственный момент — загрузка программы робота в кирпич:
                                        1. Распаковываем предварительно загруженный архив MindCub3r-v1p1a.zip;


                                        2. Запускаем ПО LEGO MINDSTORMS EV3;
                                        3. Выбираем Файл — Открыть проект, ищем файл MindCub3r-v1p1.ev3, распакованный из архива MindCub3r-v1p1.zip и жмем «Открыть»;

                                        image

                                        4. После открытия проекта загружаем его в «кирпич». Загружаем, но НЕ ЗАПУСКАЕМ.

                                        image

                                        5. Идем в Инструменты — Обозреватель памяти (Ctrl+I);

                                        image

                                        6. Выбираем (выделяем) во вкладке «Модуль» или «SD-карта» папку проекта «MindCub3r-v1p1»;
                                        7. Нажимаем «Загрузить»;

                                        image

                                        8. Находим файл mc3solver-v1p1.rtf, распакованный из архива MindCub3r-v1p1a.zip и нажимаем «Открыть»;
                                        9. Еще раз нажимаем «Загрузить», предварительно убедившись, что папка проекта «MindCub3r-v1p1» все еще выделена;
                                        10. Находим файл InstallMC3-v1p1.rbf, распакованный из архива MindCub3r-v1p1a.zip и нажимаем «Открыть»;

                                        Примечание: файл mc3solver-v1p1.rtf имеет текстовое расширение .rtf. Пожалуйста, не пытайтесь открыть этот файл с помощью текстового редактора.

                                        11. Закройте диалоговое окно, выйдите из программы и перезагрузите модуль.

                                        Последний этап — устанавливаем приложение MC3 Solver на главном модуле:

                                        1. Включаем блок:


                                        2. Находим во второй вкладке папку проекта MindCub3r-v1p1 (в памяти блока или на SD-карте):


                                        3. Выбираем файл InstallMC3-v1p1 и нажимаем на центральную кнопку модуля для установки:


                                        4. В третьей вкладке проверяем наличие установленного приложения MC3 Solver v1p1:



                                        5. Перезагружаем блок.

                                        6. В третьей вкладке блока запускаем приложение «MC3 Solver v1p1» для начала работы программы mc3solver-v1p1.rtf:


                                        Всё! MindCub3r готов к использованию!

                                        7. Запускаем программу в первой или во второй вкладке блока:


                                        После запуска программы робот попросит вложить кубик («Insert cube») и начнет его сканировать датчиком цвета.
                                        После сканирования робот ненадолго задумается и начнет сборку.
                                        Удачное решение задачи ознаменуется радостным вращением кубика.

                                        Вот, собственно, процесс работы робота:

                                        Выше описан идеальный сценарий, на практике же все немного хуже — датчик может не правильно определить цвета — всего робот может провести 3 (три) цикла сканирования до того, как выдаст ошибку (Scan error). После этого нужно изъять кубик и снова вложить в робота. Причиной этому может быть или низкий заряд батареи модуля или «неправильный» кубик.
                                        У меня иногда проходило по 3-5 повторов (3 цикла сканирования и одно изъятие) прежде чем робот принимался за сборку, но результат того однозначно стоит.

                                        Если у вас остались вопросы, задавайте их в комментариях к статье, с удовольствием на них отвечу.

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


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

                                        Урок истории

                                        Компания 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 вы не соскучитесь.

                                        10626342_498293940309318_2959390588190050098_o

                                        MindCuber ( Миндкубер ) – семейство из нескольких роботов, которые могут решать и собирать известную головоломку “Кубик Рубика”.

                                        Инструкция по сборке и программированию
                                        робота ЛЕГО EV3 на русском языке
                                        ( полный перевод с английского языка )

                                        Для этого робота нужен только набор LEGO MINDSTORMS EV3 и Кубик Рубика



                                        Далее здесь представлен краткий перевод на русский язык этой инструкции.

                                        Как сделать робота, собирающего “Кубик Рубика”, с помощью набора LEGO MINDSTORMS EV3 (Home set 31313) ?

                                        Роботы EV3 и инструкции по сборке.
                                        Инструкция по сборке и программированию робота из наборов LEGO TECHNICS, LEGO MINDSTORMS EV3.

                                        2. Установить необходимое программное обеспечение:

                                        Убедитесь, что версия прошивки вычислительного блока EV3 – v1.06H или более свежая.

                                        Всегда рекомендуется обновлять прошивку до последней версии на официальном сайте LEGO.

                                        При необходимости скачиваем новую прошивку (встроенное ПО EV3 MIDSTORMS),

                                        а также программное обеспечение LEGO EV3 MINDSTORMS ( PC или MAC ) ссылка.

                                        Затем необходимо установить модифицированную поддержку Сенсора RGB (Color Sensor RGB Block) – датчика, который определяет цвет объекта.

                                        Скачиваем файл нового блока ColorSensorRGB-v1.00.ev3b. И устанавливаем новый блок в оболочку программы LEGO EV3 MINDSTORMS на компьютере.

                                        Для этого используем в программе меню Tools и Block Import.

                                        Следующий этап – установка самой программы для робота, которая считает, решает головоломку и управляет механизмом для вращения граней “Кубика Рубика”.

                                        Закачиваем версию для LEGO MINDSTORMS EV3 (Home set 31313 – домашняя версия, именно она продается в магазинах LEGO) ссылка для загрузки.

                                        Распаковываем архив. Мы имеем три файла.

                                        Первый файл MindCub3r-v1p6.ev3 – файл проекта для программного обеспечения на компьютере.

                                        Второй файл mc3solver-v1p6.rtf – запускаемая на центральном блоке EV3 программа для робота,
                                        выполняет поиск решения для Кубика Рубика.

                                        Третий файл InstallMC3-v1p6.rbf – установщик для предыдущей программы.

                                        Теперь открываем файл проекта MindCub3r-v1p6.ev3 в программном обеспечении на компьютере с помощью меню File и Open Project.



                                        Продолжение следует…

                                        Перевод инструкции по сборке
                                        EV3 MINDSTORMS MindCuber на русский язык.

                                        Перевод на русский язык инструкции по сборке робота MindCuber LEGO EV3 MINDSTORMS. Based on mindcuber.com

                                        Примечание:
                                        Если MindCub3r собирает кубик неправильно, ошибки следует искать в механической части (провороты, пропуски движения)
                                        или в ошибке распознавания цветов граней Кубика Рубика.
                                        Грани должны быть стандартных цветов, кубик должен крутиться, поворачиваться очень легко, без торможения и заеданий.

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

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