SocksTank — робот-танк на базе Raspberry Pi 5 (ранее RPi 4B, legacy), который ищет носки по квартире с помощью компьютерного зрения (YOLO) и собирает их клешнёй. Включает веб-панель управления с живым видео и телеметрией.
Построен поверх Freenove Tank Robot Kit (PCB Version V1.0, но поддерживается и V2.0).
- Raspberry Pi 5 (рекомендуется) или RPi 4B (legacy), с блоком питания и SD-картой (32 ГБ+)
- Freenove Tank Robot Kit (GitHub), PCB Version V1.0

- Камера ov5647 (OmniVision, входит в комплект Freenove)
- GPU-сервер для тренировки модели (NVIDIA, или Apple Silicon, или облако)
- Python 3.10+
- ultralytics (YOLOv8/v11)
- Roboflow — для разметки датасета (бесплатный тариф)
- Собрать танк — Freenove Tank Robot Kit (инструкция в комплекте)
- Настроить Raspberry Pi — RPi 4 (легаси) или RPi 5 (рекомендуется)
- Собрать датасет — dataset.md
- Обучить модель — training.md
- Запустить и задеплоить проект — launch.md
- Запустить детекцию и веб-управление — inference.md
main.py # CLI точка входа (typer): train, bench, detect, shot, serve
server/ # FastAPI backend (веб-панель управления)
frontend/ # Vite + React + TypeScript (веб-панель)
models/ # Обученные модели YOLO
├── yolo11_best_ncnn_model/ # YOLOv11n NCNN FP32 (RPi продакшен, 14.9 FPS)
├── yolo11_best.pt # YOLOv11n PyTorch (GPU, разработка)
└── yolo8_best.pt # YOLOv8n PyTorch (старая модель)
legacy/ # Старые скрипты (bench, camera_detect, camera_shot, train)
data.yaml # Конфиг датасета (1 класс: sock, Roboflow v2, 961 изображение)
dataset/ # Приватный датасет (train/valid/test) [.gitignore]
pyproject.toml # Зависимости проекта (uv/pip)
docs/
├── ru/ # Документация (на русском)
└── en/ # Documentation (English)
assets/ # Изображения проекта
# Веб-панель управления (macOS, mock-режим)
./main.py serve --mock
# Веб-панель управления (RPi, реальное железо)
sudo -E python3 main.py serve --model models/yolo11_best_ncnn_model --conf 0.5
# Тренировка модели (на GPU-сервере или dev-машине)
./main.py train --device 0 --epochs 100
# Бенчмарк модели
./main.py bench
# Детекция носков с камеры RPi (legacy)
sudo -E python3 main.py detect --model models/yolo11_best_ncnn_model --conf 0.5
# Сбор фото для датасета
sudo -E python3 main.py shot --count 200 --output-dir images# Dev-машина (macOS / Linux)
uv venv && uv pip install -e .
cd frontend && npm install && npm run build
# Raspberry Pi
sudo pip install . --break-system-packages- Запуск проекта — сборка фронтенда, запуск бэкенда, деплой на RPi
- Настройка Raspberry Pi
- Подготовка датасета
- Тренировка модели
- Инференс и веб-панель
- Бенчмарки
- Тестирование и качество
- План UI E2E тестов и покрытие
- GitHub Actions workflow:
Tests(backend) иUI E2E(Playwright)
- Инфраструктура
| ← Предыдущая | README | Следующая → |
|---|---|---|
| — | Вернуться к README | Инфраструктура |
