[Из песочницы] MindCub3r по-русски — делаем робота, который может собрать кубик Рубика

Не так давно обзавелся набором LEGO MINDSTORMS EV3 (31313) и с удивлением обнаружил, что в русскоязычном сегменте интернета довольно мало интересных материалов и инструкций по сборке и настройке роботов из этого набора. Решил, что нужно это дело исправлять.Эта инструкция представляет собой вольный перевод материалов с официального сайта проекта MindCub3r и дополнена опытом самостоятельной сборки этого робота, способного собрать кубик Рубика меньше чем за 2 минуты.Подробнее о MINDSTORMS EV3 можно почитать на этом сайте.

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

image

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

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

ПРЕДУПРЕЖДЕНИЕ!!! Для корректной работы робота придется заменить прошивку (firmware) главного модуля на неофициальную версию, поэтому решите заранее, готовы ли вы пойти на такой риск. Возможна потеря гарантии или прочие неприятности.Инструкцию по сборке MindCub3r смотрим или скачиваем здесь.Прошивку (EV3-Firmware-V1.05M.bin) для кирпича скачиваем здесь.Архив MindCub3r-v1p1.zip с файлами проекта (MindCuber-v1p1.ev3, autorun.rtf и mc3solver-v1p1.rtf) качаем тут.Еще нам понадобится прошивка для датчика цвета, которую берем здесь. Все дело в том, что стандартные настройки этого датчика не корректно определяют цвета в режиме RGB.

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

Первым делом устанавливаем новую прошивку (firmware) на главный блок Mindstorms EV3:

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

image

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

image

image

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

image

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-v1p1.zip;

image

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. Находим файл autorun.rtf, распакованный из архива MindCub3r-v1p1.zip и нажимаем «Открыть»;7. Еще раз нажимаем «Загрузить», предварительно убедившись, что папка проекта «MindCub3r-v1p1» все еще выделена;8. Находим файл mc3solver-v1p1.rtf, распакованный из архива MindCub3r-v1p1.zip и нажимаем «Открыть»;

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

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

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

Вот, собственно, процесс работы робота:[embedded content]

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

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

Поскольку это моя первая публикация на Хабре, буду признателен за конструктивную критику.

© Habrahabr.ru