
Известная на весь мир головоломка кубик Рубика была создана ещё в 1981 году, но многие люди так и не научились собирать его. На помощь в этом деле энтузиаст Андреа Фаверо создал робота для решения кубика Рубика. Робот работает на Raspberry Pi 4, использует камеру, некоторый код Python, два серводвигателя и шаговый двигатель и способен решить головоломку менее чем за одну минуту.
Андреа Фаверо поделился всем своим методом на Instructables, он использовал только готовые компоненты и 3D-печать (плюс немного фанеры), а не изготовленные на заказ печатные платы.
В роботе используется стандартная камера Raspberry Pi Camera v1.3 (модуль 5MP), которая подключается к порту CSI (камеры) платы с помощью ленточного. Детали, напечатанные на 3D-принтере, удерживают камеру и двигатели поверх фанерного корпуса, в котором находится плата Pi. Также есть кнопка включения / выключения и два ЖК-дисплея, которые показывают затраченное время и полезные сообщения, такие как «куб готов». Питание обрабатывается парой понижающих трансформаторов постоянного тока, превращая питание 20 В в более подходящее для Pi и двигателей.
Компьютерное зрение для Pi появились благодаря библиотекам Python CV2 (OpenCV) и Numpy. Анализ изображения с камеры определяет цвета и их расположение в развернутой модели куба. Автоматический баланс белого камеры и усиление экспозиции, фиксируются, чтобы гарантировать согласованность возвращаемых цветов, а информация о цветных блоках передается алгоритму сборки кубика. Моторы заботятся о вращении куба по различным осям, удерживая нижний сегмент, чтобы можно было вносить изменения.
Для желающих собрать самим такого робота, Фаверо выложил подробное руководство по сборке. Самое сложное в данном руководстве, по заявлению автора, это сложный поиск самой платы Raspberry Pi 4, из-за текущего дефицита компонентов в мире.

