Оглавление:
- Шаг 1. Требования
- Шаг 2: Сборка оборудования
- Шаг 3. Программное обеспечение, которое перемещает робота
- Шаг 4. Программное обеспечение, распознающее движение человека
- Шаг 5: камера, подсветка, клавиатура, стол, дисплей
- Шаг 6: Получение программного обеспечения
Видео: Шахматный робот Raspberry Pi Lynxmotion AL5D Arm: 6 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:49
Постройте этого шахматного робота и посмотрите, как он всех победит!
Его довольно легко собрать, если вы будете следовать инструкциям по сборке руки и если у вас есть хотя бы элементарные знания в области компьютерного программирования и Linux.
Человек, играющий белыми, делает ход. Это обнаруживается системой визуального распознавания. Затем робот размышляет, а затем делает свой ход. И так далее …
Возможно, самое новое в этом роботе - это код для распознавания движений. Этот код видения также можно использовать для шахматных роботов, построенных многими другими способами (например, моего шахматного робота со сборкой LEGO).
Поскольку движение человека распознается системой зрения, не требуется никакого специального оборудования для шахматной доски (например, язычковых переключателей или чего-либо еще).
Мой код доступен для личного использования.
Шаг 1. Требования
Весь код написан на Python, который, помимо прочего, будет работать на Raspberry Pi.
Raspberry Pi - это небольшой недорогой (около 40 долларов) одноплатный компьютер, разработанный Raspberry Pi Foundation. Оригинальная модель стала намного более популярной, чем ожидалось, и продавалась для таких целей, как робототехника.
Мой робот использует Raspberry Pi, а манипулятор собран из набора: Lynxmotion AL5D. В комплект входит плата сервоконтроллера. (Ссылка, которую я только что дал, ведет на сайт RobotShop в США; щелкните один из флажков в правом верхнем углу страниц сайта для вашей страны, например Великобритании).
Вам также понадобится стол, камера, освещение, клавиатура, экран и указывающее устройство (например, мышь). И, конечно же, шахматные фигуры и доска. Я опишу все это более подробно в следующих шагах.
Шаг 2: Сборка оборудования
Как я ранее указывал, ядро кода видения будет работать с различными сборками.
В этой сборке используется комплект роботизированной руки от Lynxmotion, AL5D. В комплект входит плата сервоконтроллера SSC-32U, которая используется для управления двигателями в руке.
Я выбрал AL5D, потому что рука должна совершать повторяющиеся точные движения и не смещаться. Захватывающий должен иметь возможность проходить между фигурами, а рука должна иметь возможность дотянуться до дальней стороны доски. Мне все еще нужно было внести некоторые изменения, как описано ниже.
Я использую Raspberry Pi - Raspberry Pi 3 Model B +. Он общается с платой SSC-32U через USB-соединение.
РЕДАКТИРОВАТЬ: Raspberry Pi 4 теперь доступен. Вам понадобятся:
- Блок питания USB-C мощностью 15 Вт - мы рекомендуем официальный блок питания Raspberry Pi USB-C.
- Карта microSD, на которой установлено NOOBS, программное обеспечение, устанавливающее операционную систему (купите предварительно загруженную SD-карту вместе с Raspberry Pi или загрузите NOOBS, чтобы загрузить карту самостоятельно)
- Клавиатура и мышь (см. Позже)
- Кабель для подключения к дисплею через порт micro HDMI Raspberry Pi 4.
Мне нужно было дотянуться до руки робота, поэтому я внес в нее небольшие изменения, используя дополнительные детали Lynxmotion, которые можно купить в RobotShop:
1. Заменена 4,5-дюймовая трубка на 6-дюймовую - деталь Lynxmotion AT-04, код продукта RB-Lyn-115.
2. Пробовал использовать дополнительный комплект пружин, но вернулся к одной паре, когда реализовал пункт 3 ниже.
3. Увеличена высота с помощью распорки на 1 дюйм - деталь Lynxmotion HUB-16, код продукта RB-Lyn-336.
4. Увеличил радиус действия захвата с помощью запасных подушек захвата, прикрепленных некоторыми запасными деталями LEGO, которые у меня были, и эластичными лентами (!). Это работает очень хорошо, так как обеспечивает гибкость при подъеме деталей.
Эти изменения можно увидеть на изображении выше справа.
Над шахматной доской установлена камера. Это используется для определения движения человека.
Шаг 3. Программное обеспечение, которое перемещает робота
Весь код написан на Python 2. Код обратной кинематики необходим для правильного перемещения различных двигателей, чтобы можно было перемещать шахматные фигуры. Я использую библиотечный код от Lynxmotion, который поддерживает перемещение двигателей в двух измерениях, и добавил к нему свой собственный код для трех измерений, угла захвата и движения захватной губки.
Итак, у нас есть код, который будет перемещать части, брать фигуры, крепиться, поддерживать на проходе и так далее.
Шахматный движок - Stockfish - он может победить любого человека! «Stockfish - один из сильнейших шахматных двигателей в мире. Он также намного сильнее, чем лучшие гроссмейстеры среди людей».
Код для управления шахматным движком, проверки допустимости хода и т. Д. - ChessBoard.py.
Я использую код из https://chess.fortherapy.co.uk для взаимодействия с этим. Мой код (см. Выше) взаимодействует с этим!
Шаг 4. Программное обеспечение, распознающее движение человека
Я подробно описал это в Инструкциях по сборке моего шахматного робота Lego, поэтому мне не нужно повторять это здесь!
Мои «черные» части изначально были коричневыми, но я покрасил их в матовый черный цвет («краской для доски»), что улучшает работу алгоритма в более изменчивых условиях освещения.
Шаг 5: камера, подсветка, клавиатура, стол, дисплей
Они такие же, как и в моей сборке Chess Robot Lego, поэтому мне не нужно их здесь повторять.
За исключением того, что на этот раз я использовал другой, значительно лучший динамик, динамик Lenrui Bluetooth, который я подключаю к RPi через USB.
Доступно на amazon.com, amazon.co.uk и других торговых точках.
Кроме того, теперь я использую другую камеру - HP Webcam HD 2300, так как я не мог заставить предыдущую камеру работать надежно.
Алгоритмы работают лучше всего, если цвет шахматной доски очень далек от цвета фигур! В моем роботе фигуры не совсем белые и коричневые, а шахматная доска сделана вручную из карт и светло-зеленого цвета с небольшой разницей между «черными» и «белыми» квадратами.
Алгоритмам требуется определенная ориентация камеры на борт. Прокомментируйте ниже, если у вас возникла проблема. Досягаемость руки ограничена, поэтому размер квадрата должен составлять 3,5 см.
Шаг 6: Получение программного обеспечения
1. Вяленая рыба
Если вы запускаете Raspbian на своем RPi, вы можете использовать движок Stockfish 7 - это бесплатно. Просто беги:
sudo apt-get install stockfish
2. ChessBoard.py Получите это отсюда.
3. Код основан на https://chess.fortherapy.co.uk/home/a-w Wooden-chess … Поставляется с моим кодом.
4. Библиотека обратной кинематики Python 2D -
5. Мой код, который вызывает весь приведенный выше код и который заставляет робота делать ходы, и мой код видения. Получите это от меня, сначала подписавшись на мой канал YouTube, затем нажав кнопку «Избранное» в верхней части этого руководства, а затем разместив комментарий к этому руководству, и я отвечу.
Рекомендуемые:
Arduino - Робот для разгадывания лабиринта (MicroMouse) Робот, следующий за стеной: 6 шагов (с изображениями)
Arduino | Робот для решения лабиринта (MicroMouse) Робот, следующий за стеной: Добро пожаловать, я Исаак, и это мой первый робот «Страйкер v1.0». Этот робот был разработан для решения простого лабиринта. В соревновании у нас было два лабиринта и робот смог их идентифицировать. Любые другие изменения в лабиринте могут потребовать изменения
Робот-конфетный робот на Хэллоуин: 7 шагов (с изображениями)
Робот-конфетный робот для Хэллоуина: если вы ищете новый веселый способ взаимодействия с хеллоуинскими трюками этого года и готовы принять вызов, который несет этот проект, тогда приступайте к делу и создайте свой собственный! Этот социальный дистанцирующийся робот «увидит», когда угощение
Шахматный робот, сделанный из LEGO и Raspberry Pi: 6 шагов
Шахматный робот из LEGO и Raspberry Pi: удивите своих друзей этим шахматным роботом! Создать его не так уж сложно, если вы уже делали роботов LEGO и если у вас есть хотя бы элементарные знания компьютерного программирования и Linux. Робот делает свои собственные движения и использует визуальное распознавание
Балансировочный робот / 3-колесный робот / STEM-робот: 8 шагов
Робот-балансировщик / 3-колесный робот / STEM-робот: мы создали комбинированный балансировочный и 3-колесный робот для использования в учебных заведениях и после школьных образовательных программ. Робот основан на Arduino Uno, специальном щите (предоставлены все детали конструкции), литиево-ионном аккумуляторном блоке (все стро
Светодиодный шахматный набор - простая версия: 12 шагов
LED Chess Set - Простая версия: Tetranitrate ранее опубликовал отличное руководство о том, как сделать светодиодный шахматный набор здесь: https: //www.instructables.com/id/LED-Chess-Set/ Я нашел его через BoingBoing, но не смог ' Не беспокойтесь о том, чтобы сделать тот, который выглядел так ярко. Я просто хотел одну