Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Омни-робот для безопасного слежения за человеком: распознавание лиц на Ci20 + OpenCV

Компоненты и материалы

Arduino Nano R3 (управление моторами)×1
Creator Ci20 (MIPS, Linux, OpenCV)×1
2× L298N (дуальные драйверы, до 2А)×2
3× DC мотор-редуктор 12V 24 RPM (4 мм вал)×3
Омни-колёса (3D-печать, ремикс Thingiverse)×3
Веб-камера Microsoft LifeCam HD-3000×1
LiPo 3S 11.1V + пищалка низкого заряда×1
DC-DC LM2596 (12V → 5V)×1
Перемычки, пайка, 3D-печать корпуса—

Инструменты

Программное обеспечение

О проекте

Робот-комплиментатор («Hunter Flatterer») для конкурса Hackster. Омни-колёса позволяют двигаться в любом направлении без поворота корпуса. Ci20 обрабатывает видео с камеры (OpenCV Haar Cascade), находит лицо, вычисляет смещение центра лица от центра кадра и посылает команды движения Arduino по Serial (USB).

Системная схема

  1. Питание: LiPo 3S → LM2596 (5V для Ci20, Arduino, логика) → L298N (12V на моторы).
  2. Ci20: OpenCV → детекция лица → расчёт векторов X, Y → Serial «F X Y» или «R time».
  3. Arduino Nano: парсит команды → кинематика 3 омни-колёс → PWM на 3 L298N.

Компенсация питания

LM2596 настроен на 5V. Проверка мультиметром под нагрузкой. LiPo Alarm пищит при падении напряжения ниже критического.

Подключение Arduino к L298N (×2 платы = 3 канала)

Следовать туториалу: Instructables L298N. Каждый мотор: 2 пина направления + 1 PWM (ENA/ENB). Всего 9 пинов Arduino.

3D-печатный корпус

Настройка Ci20 + OpenCV

  1. Установить OpenCV по гайду (компиляция из исходников или пакеты).
  2. Скомпилировать FaceTracking:
g++ -I/usr/local/include/opencv -I/usr/local/include/opencv2 \
    -L/usr/local/lib/ -g -o FaceTracking main.cpp \
    -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_ml \
    -lopencv_video -lopencv_features2d -lopencv_calib3d \
    -lopencv_objdetect -lopencv_contrib -lopencv_legacy -lopencv_stitching

Запуск: ./FaceTracking (камера должна быть в /dev/video0).

Алгоритм слежения (Ci20 C++ код)

Кинематика омни-колёс (Arduino)

Вектор (x, y) → полярные (magnitude, theta) → скорости трёх моторов (w1, w2, w3) по формулам для 120° расстановки. Нормировка до PWM 0–255. Команда «R ms» — вращение на месте заданное время.

Код Arduino (два файла: Main + MotorControl)

Main: парсинг Serial, автомат, вызов driveInDirection(x,y) или rotate(ms).
MotorControl: расчёт w1/w2/w3, ограничение ±150, маппинг в PWM, установка направления.

Челленджи для доработки

Производственный процесс

  1. Продвинутое отслеживание теннисного мяча на Raspberry Pi с OpenCV
  2. Raspoulette: Прототип солнечной автономной системы двери курятника
  3. DIY робот в стиле Wall‑E на Raspberry Pi из коробки от CD
  4. Робот-будильник на колесах: умная мобильная система пробуждения на Raspberry Pi и Google Calendar
  5. Создание робота с компьютерным зрением и голосовым управлением на Windows 10 IoT Core
  6. ROS-робот: Управление навигацией из терминала на Raspberry Pi
  7. Simple Pi Robot — Сборка 2WD автономного ровера на Raspberry Pi
  8. Набор для создания робота с умной внутренней навигацией на базе Arduino
  9. Понимание линейных моторов: от электрической энергии к точному линейному движению
  10. Напитки-роботы: технологии, автоматизация и роль в напиточной индустрии