Ping Master – робот для соревнований в категории Arkanoid, разработанный нами в 2017 году. В этой категории 2 робота соревнуются в игре похожей на настольный теннис. Сами роботы закреплены на рельсе на краю квадратного поля, по которой могут свободно перемещаться вдоль своей стенки. Задачей роботов является отбивать мячик отбитый противником не давая ему удариться о свою стенку и наоборот отбить мячик так, чтобы противник с ним уже не справился. Разумеется, роботы действуют автономно, а участие человека сводится к их запуску и остановке по тайм-ауту (3 минуты). Побеждает робот, который забил больше голов. Для удобства поле имеет небольшое возвышение посередине, чтобы мячик не мог остановиться между роботами.
Главным челленджем соревнования является определение роботом положения мячика на поле. Если на многих других соревнованиях робот является полностью самостоятельной единицей, то здесь большинство участников использует целый комплекс из робота, ноутбука и веб-камеры закреплённой над полем – веб-камера снимает поле сверху, ноутбук выполняет задачу распознания мячика с помощью машинного зрения, а затем передаёт эту информацию на работа по беспроводному каналу (обычно Bluetooth), который уже использует её для движения в правильном направлении и/или удара по мячику.
Большое колесо этого робота, приводящее его в движение, изготовлено нами путём литья из двухкомпонентного силикона в форму, напечатанную на 3D-принтере. Силикон обеспечивает очень высокое сцепление с поверхностью, позволяя роботу быстро перемещаться и резко останавливаться на рельсе, успевая вовремя перехватить летящий мячик.
Мы использовали мощный мотор-редуктор от шуроповёрта и компактный модельный литий-полимерный аккумулятор (это давало нам очень серьёзное конкуретное преимущество). Так как беспроводной канал связи вносит определённую задержку, наш робот принимает от компьютера абсолютную координату, куда должен переместиться, а своё текущее положение (чтобы вовремя остановиться) отслеживает с помощью оптического энкодера. В качестве “мозга” робота использовалась Arduino Nano, запрограммированная на языке C++.
Программа для компьютера написана на Python с использованием библиотеки OpenCV для распознания образов и Qt для интерфейса пользователя.
Награды робота Ping Master: