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

5 августа 2024
142

Разработчик Яндекса Александр Кротов создал робота, который побил мировой рекорд в спидкубинге — соревновании по скоростной сборке кубика Рубика. Результат робота — 0,203 секунды. Рекорд зафиксировали на специальном мероприятии 5 июля 2024 года. Разработчик сконструировал робота специально для сборки кубика и использовал общедоступные компоненты — например, моторы для автономной техники и камеры для игровых приставок. Статья о сборке робота и постановке рекорда опубликована в блоге на Хабр.

Предыдущий мировой рекорд по сборке кубика составил 0,305 секунды. Его установил робот японской компании Mitsubishi Electric Corporation. Она создала этого робота из компонентов собственной разработки. За время, которое робот Александра тратит на сборку кубика, человеческий мозг успевает только осознать увиденное изображение, а глаз — моргнуть. Для сравнения, рекорд человека в спидкубинге составляет 3,13 секунды.

Робот собирает кубик в три этапа. Сначала изучает его в течение 10 мс — снимает камерами грани и обрабатывает изображения программой, написанной на языке Rust. Затем робот планирует свои действия на протяжении 8 мс — по алгоритму Герберта Коцембы вычисляет последовательность сборки за наименьшее число ходов. Дальше он собирает кубик за 184 мс — одновременно двигает его грани с помощью шести моторов.

Чтобы побить мировой рекорд, разработчик оптимизировал код робота и настроил его самого так, чтобы его компоненты взаимодействовали между собой максимально быстро — например, при съёмке и обработке изображений с камер. Александр использовал специализированные драйверы для управления разными элементами робота, в том числе моторами. Среди общедоступных моторов разработчик выбрал такие, которые быстро набирают высокую скорость, — аналогичные модели устанавливают в роботов-доставщиков и электросамокаты.

Робот для сборки кубика Рубика — это личный проект Александра. Разработчик занимается им несколько лет и за это время создал ряд модификаций робота. Александр увлекается робототехникой с раннего возраста: в детстве собирал конструкторы Lego Mindstorms, а позже участвовал в Eurobot — международном молодёжном соревновании по робототехнике. В Яндексе он разрабатывает инфраструктуру языковых нейросетей, которые используются в разных продуктах компании — например, в Поиске и Нейро.