Робот-решатель судоку
Компоненты и расходные материалы
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 |
Необходимые инструменты и машины
![]() |
|
Приложения и онлайн-сервисы
![]() |
| |||
![]() |
| |||
|
Об этом проекте
Робот, который самостоятельно решает и заполняет сетку судоку!
Судоку - это цифровые головоломки, которые компьютеры могут решать автоматически, потому что они подчиняются некоторым простым математическим правилам.
Основная цель этого проекта заключалась в создании рудиментарного и автономного робота, такого как основание стола для построения чертежей на основе идеи 3D-принтера, который сможет:
- проанализировать сетку судоку, которую нужно заполнить.
- решить задачу судоку.
- заполнить сетку
Это означает, что робот должен уметь обрабатывать сетку, которую нужно решить, чтобы обнаруживать уже заполненные поля, их значения, а затем переходить к заполнению, как показано ниже в заполненной сетке.
Как это работает?
Аппаратная часть робота заключается в использовании Raspberry Pi 3 с камерой. Фотография сетки делается в начале процесса.



Затем сетка предварительно обрабатывается с использованием методов обработки изображений для подавления артефактов. Затем нужно исправить, чтобы получить изображение, сфокусированное только на сетке.
После получения сетки судоку мы сегментируем ее, чтобы извлечь каждую ячейку и приступить к распознаванию изображений с помощью нейронной сети. В конце этого процесса у нас есть числовое представление нашей сетки, которое затем можно решить.
После решения Raspberry Pi снова используется для управления двигателями робота, чтобы заполнить сетку.
Подводя итог,

- 1 - исправить сетку
- 2 - оценить контуры сетки
- 3 - усилить контур (умножив 1 на 2).
- 4 - сегментировать сетку для извлечения ящиков.
- 5 - перейти к распознаванию изображений
Результат
Необходимые навыки
- компьютерное зрение
- Обработка изображений
- Навыки программирования
- Электронный
- Механический
Полезные инструменты и API
- Python
- тензорный поток для нейронной сети
- opencv для обработки изображений
Ссылки
- https://en.wikipedia.org/wiki/Sudoku
- https://github.com/Sanahm/TensorFlow-Tutorials
Для получения дополнительной информации о проекте свяжитесь со мной на Github.
Код
Github
https://github.com/Sanahm/Sudoku-roboth https://github.com/Sanahm/Sudoku-robotПроизводственный процесс
- Универсальный пульт дистанционного управления Raspberry Pi
- Кусочек Raspberry Pi
- Cycle Chaser
- Детектор воров Raspberry Pi
- Датчик температуры Raspberry Pi
- МАЛИНОВАЯ АВТОМАТИЗАЦИЯ ДОМА
- Робот, использующий Raspberry Pi и Bridge Shield
- Робот, избегающий стен на базе Raspberry Pi - FabLab NerveCentre
- Сборка робота MonkMakes Raspberry Pi
- XMOS startKIT:создание XMOS и Raspberry Pi Robot XMP-1