Как сделать из лего кубик рубик без лего техник

Обновлено: 12.05.2024

Швейцарец – программист по имени Ханс Андерссон купил набор конструктора Лего, для своих двух дочерей, и сам увлёкся этим конструктором. Из конструктора он сделал робота, который собирает Кубик Рубика!

Tilted Twister (так был назван робот) решает кубик Рубика полностью автоматически. Ультразвуковой датчик сканирует кубик и определяет его цвета. Затем она вычисляет последовательность вращений для решения и выполняет повороты кубика.

А вот видео, демонстрирующее работу робота.

Как вам? Помоему круто!
Теперь о грустном:
Набор LEGO MINDSTORMS стоит около 15000 рублей.

А вот ещё одно видео. Робот тоже сделан из конструктора лего.

Вы умеете собирать кубик Рубика? Я практически нет. В детстве я мог собрать только пирамидку, а кубик просто раздирал на запчасти и собирал заново, после чего он стремительно разбалтывался. В прошлом году я съездил на сигграф и там на одном из выставочных стендов раздавали (ужасные по качеству, но зато с рекламой) кубики, после чего конференция для меня была практически потеряна, зато двенадцать часов в самолёте прошли незаметно.

Собирать кубик, подглядывая в уже готовые алгоритмы, мне было неинтересно, поэтому я его собрал пока что только один раз, это у меня заняло примерно полгода и приличную стопку исписанной бумаги. Между делом мне на глаза попался проект MindCub3r. Его автор даёт чертежи и ПО для роботов-сборщиков кубика из LEGO, причём эти чертежи есть для всех возможных комплектов, начиная от первого NXT и заканчивая EV3.


Эти роботы крайне хороши, я восхищён тем, их автор David Gilday использует для непосредственно сборки кубика только два сервомотора и ещё один для сканера. Надо учитывать, что стандартные наборы LEGO довольно скудны, и то, что такого робота можно собрать из одной коробки — это немалое достижение. Работает оно просто, сначала кубик сканируется: его датчик ставится напротив каждой этикетки кубика, затем софт решает кубик, выдавая цепочку необходимых вращений, которая потом и исполняется механически.

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

Итак, собрал я хардварную часть робота, сборочные чертежи великолепны. Скачал софт, загрузил, с трепетом поставил кубик на платформу и жестоко обломался. Оказывается, этому роботу необходим официальный кубик Рубика, а я купил тот, что используется для спидкубинга. У него другие цвета граней (например, нет белого), и робот надорвался, не сумел его сосканировать. Хорошо, сказал я, поскрёб по сусекам, нашёл официальный кубик, правда, возрастом под два десятка лет. С его затёртыми и залапанными наклейками робот тоже работать не захотел.



Итак, постановка задачи: написать весь софт под существующий хард MindCub3r EV3, для начала софт должен просто собирать кубик. Минимизировать количество ходов в сборке меня не интересует, мне нужен как можно более простой код. Эта статья говорит только про то, как решать кубик, в следующей я опишу сканирование и управление сервами. В среднем решение получается длиной слегка за сто ходов.

Использованный метод

В мире огромное количество алгоритмов, наверное, самым правильным было бы запрограммировать вот этот. Но это надо думать, изобретать эвристики для A* с итеративным заглублением, а я ленивый. Кроме того, это надо думать, как его использовать, чтобы получить заданную конфигурацию, а я ленивый. Поэтому я буду пользоваться самым тупым и прямым методом: при помощи Cube Explorer записываем все последовательности поворотов, которые позволяют собрать

  • нижнее переднее ребро
  • нижний правый передний угол
  • переднее правое ребро
  • верхний правый передний угол
  • верхнее переднее ребро

Затем код будет выглядеть следующим образом:

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

Структура данных


Грани кубика назовём стандартно: F — передняя, R — правая, B — задняя, L — левая, U — верхняя, D — нижняя. Вот стандартные вращения:

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


Здесь красным даны индексы граней, синим — индексы углов. Когда в массиве рёбер я говорю про ребро номер три, это означает, что я говорю про ребро, которое в в собранном кубике должно находиться на верхней грани слева.

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


Собранный куб должен быть представлен парой массивов и , это рёбра и углы, соответственно. Например, ребро номер 4 в массиве должно иметь ориентацию 8.

Вот так выглядит представление кубика:

edges и corners — это массивы, где хранятся данные, how_edges_move и how_corners_move описывают преобразование индексов массивов edges и corners для вращения вокруг каждой из шести граней, а функция atomic_rotation() собственно и выполняет вращение одной данной грани.

Жёстко зашитые алгоритмы

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

Помните, что первым делом мы будем собирать нижнее переднее ребро? В полностью перемешанном кубике оно может находиться на любом из 24 возможных мест, поэтому массив alg_DF_edge даёт 24 разных последовательности, которые поставят ребро на место. Названия остальных массивов говорят сами за себя. Функция apply_sequence() разбивает строку на атомарные операции и вызывает atomic_rotation().

Непосредственно сборщик

Непосредственно сборщик выглядит прямым переводом псевдокода, данного в начале, на язык C++:

Обратите внимание, что rotate_entire_cube() каждый раз вызывается четыре раза, таким образом, между циклами наш куб всегда ориентирован как надо, но внутри цикла мы должны знать, как именно он ориентирован, чтобы скорректировать вывод решения на экран.

Запуск

Берём пример разобранного кубика здесь и запускаем программу:

Копируем вывод в веб-валидатор и получаем:

Итак, у нас есть солвер, в следующий раз будем управлять непосредственно роботом.

Вы можете помочь и перевести немного средств на развитие сайта


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 на русский язык.


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

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

7 ВОПРОСЫ И ОТВЕТЫ

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

Настя, некоторые кубики имеют не очень яркие цвета граней. Самый простой и быстрый способ решения – поменять кубик, выбрать наклейки с яркими плотными насыщенными цветами.

Дополнительный вопрос к тем кто подобрал кубик с насыщенными цветами. И робот собранб, и RUbiks куплен и все ровно ERROR. Причина?


- Если правила сайта не понятны, я пропишу отдельно в правилах сообщества: НИКАКОЙ РЕКЛАМЫ. Вообще. Реселлеров, магазинов, частных лиц и прочего.

Хьюстон, у нас проблема.

Иллюстрация к комментарию

Работаю в центре лего, собрали и у нас такую штучку на EV3, стоит детей завлекает, собирает быстро - где-то за минуту, сканирует кубик перед сборкой дольше

Видел такую хуйню на выставке роботов, постоял минут 20, так и не собрал, редутов принудительных было около 4. Ребята, что представляли утверждали, что все работало.. кончь короче..


Дом-панелька с мусоропроводом и чугунными батареями и толерантный кот в Лего⁠ ⁠

Пару дней назад появился новый концепт лего - с курьерами деливери и самоката и российской панелькой! По-моему, это просто офигенно!

Дом-панелька с мусоропроводом и чугунными батареями и толерантный кот в Лего LEGO, Ideas, Россия, Длиннопост

Дом-панелька с мусоропроводом и чугунными батареями и толерантный кот в Лего LEGO, Ideas, Россия, Длиннопост

Дом-панелька с мусоропроводом и чугунными батареями и толерантный кот в Лего LEGO, Ideas, Россия, Длиннопост

Еще концепт жэка был приколдесный

Дом-панелька с мусоропроводом и чугунными батареями и толерантный кот в Лего LEGO, Ideas, Россия, Длиннопост

ЖЭК-АРТ OLEG — LEGO, которое мы заслужили⁠ ⁠

ЖЭК-АРТ OLEG — LEGO, которое мы заслужили LEGO, ЖКХ-арт, Двор, Россия

ЖЭК-АРТ OLEG — LEGO, которое мы заслужили LEGO, ЖКХ-арт, Двор, Россия

Продукты 24⁠ ⁠

Привет, может, вы помните мой пост про лего с бабой ягой.

Хочу показать ещё одну свежую работу.

Дело в том, что лего для меня - это хобби, а в основном я рисую комиксы.

Один из них - "Продукты 24" - про робота из ларьков, который дерётся с монстром из панелек в постперестрочной России.

Мы создали его вместе с моим другом, Виталием Терлецким, и недавно переиздали своими силами.

Давным-давно (23 дня назад) я написал, что есть инструкция как сделать блок лего своими руками в 3D для печати. Инструкции в нормальном виде я не нашёл, зато нашёл старые записи и пару фоток и решил сделать инструкцию сам. @Metuzel @mrparo @exby вы наконец-то дождались

Работаю в Autodesk Inventor Professional 2017, бесплатная студенческая лицензия, которая у меня кончится через неделю, а я только на 1 курс поступил. студенческую лицензию получить очень просто, с этим справится даже школьник (которым я и был 2 года назад)

Постараюсь объяснить всё максимально просто и понятно. Справка по поводу размеров тоже будет

Сильно не бейте и тапками не кидайтесь.

Сначала идёт текст, а потом картинка к нему

Для деталей лего есть несколько важных констант:

1) Шаг между соседними "кнопками" или отверстиями - 8мм

2) Толщина стенки блока - 1,2мм

ВАЖНОЕ ЗАМЕЧАНИЕ:

многие размеры детали кратны 1,2мм (диаметр "кнопки" 4,8мм=1,2*4)

Делаем простой блок Lego LEGO, Инструкция, Autodesk, Длиннопост

1. Создаём 1 эскиз - контур блока

- создаём прямоугольник со сторонами 16*32мм

Делаем простой блок Lego LEGO, Инструкция, Autodesk, Длиннопост

2. Используем операцию "Выдавливание" и выдавливаем наш кирпич на 9,6мм

Делаем простой блок Lego LEGO, Инструкция, Autodesk, Длиннопост

3. На верхней грани создаём новый эскиз

- рисуем круг диаметром 4,6мм

Делаем простой блок Lego LEGO, Инструкция, Autodesk, Длиннопост

- расстояние от центра круга до стенок 4мм

Делаем простой блок Lego LEGO, Инструкция, Autodesk, Длиннопост

4. Выдавливаем кнопку уже знакомой нам операцией

Делаем простой блок Lego LEGO, Инструкция, Autodesk, Длиннопост

5. Творим колдунство Используем "Прямоугольный массив"

- кликаем на "кнопку"

- кликаем на кнопку выбора 1 оси

- выбираем длинное ребро (оно нужно чтобы задать направление). Если "кнопки" множатся не в ту сторону, то нужно нажать на реверс (где красная и черные стрелки)
- задаём повтор 4 штуки

Аналогично выбираем ребро, повторы (2) и шаг (8) для второй оси

Делаем простой блок Lego LEGO, Инструкция, Autodesk, Длиннопост

6.Операцией оболочка формируем полость

- выбираем команду оболочка

- задаём толщину стенки 1,2мм

- кликаем на нижнюю грань

На обратной стороне "кнопок" получились углубления, т.к. оболочка стремится везде сохранить заданную толщину. На оригинальном блоке есть такие углубления, так что всё ОК

Делаем простой блок Lego LEGO, Инструкция, Autodesk, Длиннопост

7. Создаём эскиз на "потолке" блока

- пунктирно проецируем 3 "кнопки" (у меня не пунктирно сделано специально, чтобы на скринах было заметно. Я потом разобрался как сделать так, чтобы было всё видно вне зависимости от типа линий, но это было под конец)

Делаем простой блок Lego LEGO, Инструкция, Autodesk, Длиннопост

- рисуем любую окружность

- при помощи зависимости "Касательность" закрепляем окружность.

Делаем простой блок Lego LEGO, Инструкция, Autodesk, Длиннопост

- при помощи команды "Cмещение" строим вторую окружность со смещением 1,2мм

Делаем простой блок Lego LEGO, Инструкция, Autodesk, Длиннопост

8. Выдавливаем "столбик"

- т.к. мы всё стараемся делать удобно для себя и правильно, то мы вместо выдавливания "по размеру" выберем выдавливание "до выбранного" выбираем нижнюю грань блока. Это нужно для того, чтобы можно было поменять высоту нашего блока изменив всего 1 значение (размер первого выдаливания)

Делаем простой блок Lego LEGO, Инструкция, Autodesk, Длиннопост

9. Размножаем столбики (прямоугольный массив был в пункте 5)

Делаем простой блок Lego LEGO, Инструкция, Autodesk, Длиннопост

10. Создаём новый эскиз на "потолке"

- проецируем всё пунктирно (у меня тут не пунктир и я объяснял почему)

- нажимаем F7, чтобы скрыть всё, что над эскизом

Делаем простой блок Lego LEGO, Инструкция, Autodesk, Длиннопост

- по 2-м точкам и центру строим прямоугольник. Центр - центр средней окружности. Точку "цепляем" на спроецированную линию

- задаём ширину прямоугольника в 1,2мм

- делаем наш круг непунктирным

- командой обрезка обрезаем боковые стороны прямоугольника, лежащие внутри круга

Делаем простой блок Lego LEGO, Инструкция, Autodesk, Длиннопост

11. Выдавливаем перегородку

Делаем простой блок Lego LEGO, Инструкция, Autodesk, Длиннопост

12. Размножаем перегородку. В оригинале перегородки идут через 1 "столбик", но при 3D печати имеет смысл дополнительно усилить деталь

- Прямоугольный массив, 3 элемента, симметрично

Делаем простой блок Lego LEGO, Инструкция, Autodesk, Длиннопост

13. Новый эскиз "на потолке"

- пунктирно проецируем две стенки и "кнопку"

Делаем простой блок Lego LEGO, Инструкция, Autodesk, Длиннопост

-Я НАКОНЕЦ-ТО ПОНЯЛ КАК СДЕЛАТЬ ТАК, ЧТОБЫ ВСЁ БЫЛО ВИДНО

- прямоугольник по 2-м точкам и центру. Цепляем на проекцию стенки и окружности

- центр прямоугольника должен зацепиться за центр окружности (хз как нормально объяснить, но так и есть)

- ширину ставим 2мм (можно другую поставить)

Делаем простой блок Lego LEGO, Инструкция, Autodesk, Длиннопост

- одну сторону прямоугольника делаем пунктирной

- "Дуга+центр", центр - центр окружности, цепляем за углы прямоугольника

Делаем простой блок Lego LEGO, Инструкция, Autodesk, Длиннопост

- "Круговой массив", выделяем наш почти прямоугольник, 2бр (это значит 2 элемента), угол 90 градусов

Делаем простой блок Lego LEGO, Инструкция, Autodesk, Длиннопост

14. Делаем ДВА выдавливания "до выбранного". Два выдавливания нужны чтобы сделать 2 массива

Делаем простой блок Lego LEGO, Инструкция, Autodesk, Длиннопост

Делаем простой блок Lego LEGO, Инструкция, Autodesk, Длиннопост

15. Размножаем выступы

Делаем простой блок Lego LEGO, Инструкция, Autodesk, Длиннопост

Делаем простой блок Lego LEGO, Инструкция, Autodesk, Длиннопост

Скрины самого блока скину в комменты, т.к. в посте кончилось место

Особая благодарность выражается Алексею Максимовичу Рытову, который научил меня 3D-моделированию


1.9K постов 6.2K подписчика

Правила сообщества

- Уважайте друг друга.

- Не присваивайте чужие работы.

- Тематика группы: LEGO. Аналоги допускаются.

- Не спамить, не флудить, не вбрасывать.

- Если правила сайта не понятны, я пропишу отдельно в правилах сообщества: НИКАКОЙ РЕКЛАМЫ. Вообще. Реселлеров, магазинов, частных лиц и прочего.

А фото отпечатанного блока будет? Как такие блоки совмещаются с оригинальными?

Про трехмерное моделиование есть пара простых советов ;-)

● при построении эскиза прямоугольника нет необходимости строить две диагонали, хватит и одной - в инвенторе есть привязка по умолчанию к середине отрезка;

● если всёж таки нравятся две диагонали - вторую чаще всего удобнее строить от угла до середины первой диагонали;

● чтобы избежать появления углублений в "кнопках" при выполнении оболочки достаточно оболочку выполнить раньше этих "кнопок";

● перемычки с цилиндрами лучше строить от одного эскиза - меньше построений; для выполнения двух выдавливаний достаточно выбрать общий доступ к эскизу, и он становится доступен для произвольного количества операций;

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

Не так давно обзавелся набором 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 цикла сканирования и одно изъятие) прежде чем робот принимался за сборку, но результат того однозначно стоит.

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

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

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