Оглавление:
- Шаг 1. Инструменты и материалы
- Шаг 2: Создайте это
- Шаг 3. Подготовьте программное обеспечение
- Шаг 4. Соберите кубик Рубика
- Шаг 5: Исходный код
Видео: Проект BricKuber - робот для сборки кубика Рубика Raspberry Pi: 5 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
BricKuber может собрать кубик Рубика менее чем за 2 минуты.
BricKuber - это робот для решения кубиков Рубика с открытым исходным кодом, который вы можете построить самостоятельно
Мы хотели создать робота, решающего кубик Рубика, с помощью Raspberry Pi. Вместо того, чтобы стремиться к скорости, мы пошли на простоту: если у вас есть Raspberry Pi, комплект BrickPi и стандартный комплект LEGO Mindstorms EV3 или NXT, вы сможете легко пойти по нашим стопам. Программное обеспечение написано на языке программирования Python. Вы можете увидеть весь исходный код на Github здесь.
Предыстория Кубик Рубика недавно начал возвращаться. Изобретенная в 1974 году, это самая продаваемая игрушка в мире. Но их решение требует размышлений, усилий и навыков… так почему бы не позволить роботу сделать это? В этом проекте мы берем Raspberry Pi, BrickPi и набор LEGO Mindstorms и строим робота для решения кубиков Рубика. Просто поместите неразрешенный кубик Рубика в решатель, запустите программу Python, и кубик Рубика будет решен! Проект использует Пи для непосредственного решения кубика Рубика. BrickPi3 берет неразрешенный кубик Рубика, а Raspberry Pi делает снимок каждой стороны кубика Рубика с помощью камеры Raspberry Pi. Pi создает текстовую карту из цветных квадратов, которая показывает, где они расположены на кубе. Когда он полностью отобразил куб, Pi использует библиотеку python kociemba, чтобы отобразить ходы, необходимые для сборки кубика Рубика. Эта информация используется Pi и BrickPi3, чтобы собрать кубик Рубика с помощью двигателей LEGO. Результат: собранный кубик Рубика.
Шаг 1. Инструменты и материалы
- BrickPi3 - мы будем использовать BrickPi для управления двигателями LEGO, которые решают кубик Рубика.
- Raspberry Pi - Pi будет выполнять обработку, фотографировать и управлять BrickPi.
- Камера Raspberry Pi - камера Pi сделает снимок неразгаданного куба Рубика.
- Кабель Ethernet - ваш компьютер должен быть подключен к Интернету. Если вы хотите сделать это через Wi-Fi, это тоже нормально!
- SD-карта Raspbian для роботов - программное обеспечение, на котором работает Raspberry Pi. Он поставляется с большей частью программного обеспечения, необходимого для этого руководства. Вы также можете скачать программу бесплатно.
- Комплект LEGO Mindstorms EV3 (31313) - вам понадобится куча LEGO, два больших двигателя, один серводвигатель и ультразвуковой датчик.
- Кубик Рубика - Мы нашли здесь тот, который довольно свободно вращается. Вы можете использовать практически любой кубик Рубика 9x9x9.
Шаг 2: Создайте это
Создание решателя
Этот дизайн был вдохновлен дизайном MindCub3r для LEGO EV3. Чтобы построить BricKuber, начните с сборки MindCub3r. Полные инструкции по сборке LEGO можно найти здесь.
Конструкция решателя кубика Рубика состоит из трех основных движущихся частей. Первый - это люлька для кубика Рубика. Второй - шаффлер, рука, которая используется для переворачивания кубика Рубика.
Наконец, мы добавляем кронштейн камеры. В оригинальном дизайне MindCubr датчик цвета EV3 размещался над кубиком Рубика. В нашей модифицированной конструкции он держит камеру Raspberry Pi над кубом Рубика. Мы используем два двигателя LEGO Mindstorms для управления кубом: первый находится под опорой, чтобы вращать куб, а второй перемещает рычаг тасовки, чтобы вращать куб на противоположной оси.
Соберите BrickPi3
Вы можете найти инструкции по сборке BrickPi3 здесь. Нам нужно будет собрать корпус, прикрепить BrickPi3, Raspberry Pi, камеру Raspberry Pi, добавить SD-карту и батареи. Чтобы упростить установку программного обеспечения, Raspbian для роботов поставляется с большей частью программного обеспечения, которое вам уже потребуется. Вам понадобится SD-карта объемом не менее 8 ГБ, и вы захотите расширить диск до полного размера SD-карты.
Прикрепите BrickPi3
Добавляем BrickPi3 в сборку LEGO. Мы использовали «крылья» LEGO EV3, чтобы поддержать BrickPi3 и выровнять его с корпусом BricKuber. Это хороший шаг для добавления батарей 8XAA в блок питания и присоединения блока питания BrickPi3 к сборке LEGO. Для программирования вы можете подключить BrickPi3 к Raspberry Pi через USB-порт, однако для перемещения двигателей вам потребуется подавать питание с помощью Power Pack.
Подключите двигатели к BrickPi3
Присоедините двигатель шаффлера к порту двигателя «MD». Присоедините двигатель подставки к порту «MA» на BrickPi3. Присоедините двигатель датчика камеры к порту «MC» (это меньший сервопривод). Несмотря на то, что мы не будем перемещать камеру, вы можете отрегулировать положение камеры с помощью двигателей.
Присоедините камеру Raspberry Pi
Используя подставку LEGO Camera, прикрепите камеру. Маленькая черная линза камеры должна поместиться между двумя опорами LEGO. Прикрепите камеру к опорам LEGO с помощью изоленты. Это хорошее время, чтобы убедиться, что камера находится в таком положении, чтобы можно было запечатлеть весь кубик Рубика. Вы можете сделать пробный снимок с помощью команды raspistill.
raspistill -o cam.jpg
Убедитесь, что куб правильно расположен по центру изображения.
Шаг 3. Подготовьте программное обеспечение
Вы можете использовать любую версию Raspbian или Raspbian для роботов, наш собственный образ, который поставляется с уже установленным BrickPi3. Если вы используете стандартную версию Raspbian, вы можете установить библиотеки BrickPi3 с помощью команды
sudo curl -kL dexterindustries.com/update_brickpi3 | трепать
На этом шаге будут установлены все библиотеки, необходимые для запуска BrickPi3 в вашем образе Raspbian. Пропустите этот шаг, если вы используете Raspbian для роботов: BrickPi3 уже установлен.
Наконец, установите все зависимости проекта с помощью команды:
sudo curl https://raw.githubusercontent.com/DexterInd/Brick… | трепать
Для этого шага ваш BrickPi3 должен быть подключен к Интернету. Есть ряд библиотек, от которых зависит проект, в том числе некоторые важные библиотеки Дэниела Уолтона (@ dwalton76) на Github, которые используются для построения куба Рубика.
Шаг 4. Соберите кубик Рубика
Поместите неразгаданный кубик Рубика в люльку. Запустите команду
sudo python ~ / Dexter / BrickPi3 / Projects / BricKuber / BricKuber.py
Робот повернет куб к каждой грани, и камера сделает 6 снимков, по одному с каждой стороны куба. Raspberry Pi определит конфигурацию куба из шести изображений. Конфигурация куба будет передана в библиотеку Python kociemba для поиска эффективного решения. Наконец, робот выполнит движения, чтобы собрать кубик Рубика!
Шаг 5: Исходный код
Весь исходный код BricKuber можно найти в нашем репозитории на github с открытым исходным кодом здесь.
В этом проекте используются следующие программные пакеты, установленные командой
Рекомендуемые:
Беспроводная лампа в виде кубика Рубика с простым изменением цвета на основе наклона: 10 шагов (с изображениями)
Беспроводная лампа в виде куба Рубика с простым изменением цвета на основе наклона: сегодня мы собираемся создать эту потрясающую лампу в стиле кубика Рубика, которая меняет цвет в зависимости от того, какая сторона находится вверх. Куб работает от небольшой LiPo батареи, заряжаемой стандартным кабелем micro-usb, и, по моим тестам, время автономной работы составляет несколько дней. Этот
USB-адаптер ZX Spectrum для сборки Raspberry Pi RetroPie: 5 шагов (с изображениями)
USB-адаптер ZX Spectrum для сборок Raspberry Pi RetroPie: RetroPie - это специальный дистрибутив Linux, разработанный специально для эмуляции систем ретро-видеоигр на Raspberry Pis и других одноплатных компьютерах. Я уже давно хотел полностью выложиться на сборке RetroPie, и когда я увидел эту репродукцию
Q-Bot - решатель кубика Рубика с открытым исходным кодом: 7 шагов (с изображениями)
Q-Bot - решатель кубика Рубика с открытым исходным кодом: представьте, что у вас есть перемешанный кубик Рубика, вы знаете эту головоломку из 80-х годов, которая есть у всех, но никто не знает, как ее решить, и вы хотите вернуть ее в исходную структуру. К счастью, в наши дни очень легко найти инструкции по решению
Arduino Mega Stepper Shield для решателя кубика Рубика: 4 шага
Arduino Mega Stepper Shield для решателя кубика Рубика: Некоторое время назад я работал над машиной, которая автоматически решает любой зашифрованный кубик Рубика 3x3. Вы можете увидеть мои инструкции по этому поводу здесь. В проекте использовались шаговые драйверы от полулу для управления шестью моторами. Чтобы два соединить эти d
PropVario, вариометр / альтиметр для самостоятельной сборки с голосовым выходом для радиоуправляемых планеров: 7 шагов (с изображениями)
PropVario, вариометр / альтиметр для самостоятельной сборки с голосовым выходом для радиоуправляемых планеров: эта инструкция покажет вам, как построить недорогой вариометр, который мог бы определять высоту и, конечно, посылать различные звуковые сигналы при изменении высоты вашего планера. Некоторые функции: - голос и тон - используйте свои собственные (волновые) семплы в вашем ла