Автономный робот для решения судоку
Компоненты и материалы
- Raspberry Pi 3 Model B — 1 шт.
- Камера Raspberry Pi — 1 шт.
- Arduino UNO — 1 шт.
- 3D-принтер (для печати деталей механизма)
Необходимые инструменты
- 3D-принтер
Программное обеспечение и сервисы
- TensorFlow — для нейросети распознавания цифр
- OpenCV — для обработки изображения
- Python — основной язык разработки
О проекте
Робот, который самостоятельно находит, решает и заполняет сетку судоку! Судоку подчиняется строгим математическим правилам, поэтому компьютер может решать его автоматически.
Задачи робота
- Анализ сетки судоку — обнаружение заполненных клеток и их значений
- Решение головоломки
- Заполнение пустых клеток
Принцип работы
Аппаратная часть: Raspberry Pi 3 с камерой. В начале процесса делается снимок сетки.

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

Этапы компьютерного зрения:
- Выпрямление сетки (perspective transform)
- Оценка контуров сетки
- Улучшение контура (умножение масок)
- Сегментация на отдельные клетки
- Распознавание цифр нейросетью
Необходимые навыки
- Компьютерное зрение
- Обработка изображений
- Программирование (Python)
- Электроника
- Механика / 3D-печать
Полезные инструменты и API
- Python
- TensorFlow (нейросети)
- OpenCV (обработка изображений)
Ссылки
Код проекта на GitHub: https://github.com/Sanahm/Sudoku-robot
Производственный процесс
- Создание профессионального универсального пульта на Raspberry Pi с LIRC
- Преобразование RF в DC с Raspberry Pi: сборка и отладка детектора огибающей
- Cycle Chaser: превратите свой велосипед в ночной световый шоу с Raspberry Pi
- Создание детектора вора на базе Raspberry Pi — пошаговое руководство
- Создайте домашний монитор температуры на Raspberry Pi с MCP9808, InfluxDB и Grafana
- Создайте систему домашней автоматизации на Raspberry Pi для удаленного управления
- Создание умного робота с Bridge Shield — интеграция Raspberry Pi и Arduino
- Сборка робота, избегающего стены, на Raspberry Pi — пошаговое руководство
- Создайте своего робота на Raspberry Pi с набором MonkMakes RRB2 — подробное руководство
- Создание XMP‑1: бюджетная мобильная платформа на XMOS и Raspberry Pi