ESP32-CAM, Bilderkennung und Dobot

Zusammenfassung ab der Anfrage zur Erfassung einer Fläche von 70 × 70 cm.

1. Ausgangsfrage

Welche Entfernung sollte eine ESP32-CAM haben, um eine Fläche von 70 × 70 cm erfassen zu können?

2. Erforderlicher Abstand der Kamera

Der notwendige Abstand hängt hauptsächlich vom Blickwinkel des verwendeten Objektivs ab. Viele ESP32-CAM-Module mit OV2640-Kamera besitzen einen horizontalen Blickwinkel von ungefähr 60°.

Bildbreite = 2 · d · tan(30°)
d = 70 cm / (2 · tan(30°))
d ≈ 60,6 cm

Für eine Fläche von 70 × 70 cm ist daher ein Abstand von ungefähr 60 bis 65 cm zwischen Kamera und Arbeitsfläche ein sinnvoller Ausgangswert.

Erfasste Fläche Ungefährer Abstand
30 × 30 cmca. 26 cm
50 × 50 cmca. 43 cm
70 × 70 cmca. 60 cm
100 × 100 cmca. 87 cm

Für die Lochrasterplatte mit ungefähr 70 × 50 cm bietet sich eine Montagehöhe von etwa 60 bis 70 cm an. Ein kleiner Rand außerhalb der Platte erleichtert die Kalibrierung.

3. Skizze des Aufbaus

Technische Skizze zur Montagehöhe einer ESP32-CAM über einer Lochrasterplatte

Die Grafik zeigt einen möglichen Aufbau mit senkrecht montierter Kamera, Arbeitsbereich, Lochrasterplatte und Dobot.

4. Wichtige Hinweise für eine zuverlässige Erkennung

5. Frage zur Bilderkennung

Welche KI-Applikation kann auf einem ESP, Raspberry Pi oder im Steuerprogramm die Bilderkennung übernehmen?

6. Empfohlene Lösung

ESP32-CAM als Kamera, Python auf dem PC als Auswertungssystem.

Die ESP32-CAM nimmt das Bild auf und überträgt es an das vorhandene Python-Steuerprogramm. Dort übernehmen OpenCV und bei Bedarf YOLO die Auswertung.

ESP32-CAM
    ↓ Bildübertragung per WLAN
Python-Steuerprogramm
    ├── OpenCV: Bild einlesen und entzerren
    ├── YOLO: Körper erkennen
    ├── Koordinaten umrechnen
    └── dobot.py: Roboter bewegen

Diese Lösung ist für den Einstieg besonders geeignet, weil ausreichend Rechenleistung vorhanden ist und Fehler leicht untersucht werden können.

7. Geeignete Softwarelösungen

OpenCV

OpenCV eignet sich für klassische Bildverarbeitung:

YOLO

YOLO eignet sich für trainierte Objekterkennung. Es kann mehrere Objekte gleichzeitig erkennen und für jedes Objekt Klasse, Position und Wahrscheinlichkeit ausgeben.

Edge Impulse mit FOMO

Für eine direkte Erkennung auf einem ESP32 oder ESP32-S3 ist Edge Impulse mit FOMO geeignet. Das Modell wird mit eigenen Bildern trainiert und anschließend als Bibliothek auf den Mikrocontroller übertragen.

ESP-DL

ESP-DL ist Espressifs eigene Bibliothek für neuronale Netze auf ESP32-Plattformen. Sie ist leistungsfähig, aber technischer in der Einrichtung.

Raspberry Pi mit OpenCV und YOLO

Ein Raspberry Pi 4 oder 5 kann Kameraaufnahme, Bilderkennung und Dobot-Steuerung gemeinsam übernehmen. Das ist eine gute Lösung für eine später eigenständig arbeitende Anlage.

8. Vergleich der Plattformen

Plattform Geeignete Lösung Bewertung
ESP32-CAM Edge Impulse/FOMO oder ESP-DL Gut für einfache Edge-KI, aber begrenzte Rechenleistung
ESP32-S3 mit PSRAM Edge Impulse, ESP-DL Besser für lokale KI als die klassische ESP32-CAM
Raspberry Pi OpenCV und YOLO Sehr gut für eine eigenständige Sortieranlage
PC-Steuerprogramm Python, OpenCV und YOLO Beste Einstiegs- und Entwicklungsumgebung

9. Erkennung geometrischer Körper

Die KI kann beispielsweise folgende Klassen unterscheiden:

Klasse Typische Merkmale
Würfelgleich lange Kanten, quadratische Flächen
Quaderrechteckige Flächen, unterschiedliche Kantenlängen
Zylinderrunde Grundfläche, gekrümmte Mantelfläche
Kegelrunde Grundfläche und Spitze
Kugelkeine Kanten und keine Ecken

Zusätzlich können Farbe, Größe, Lage, Orientierung, Anzahl und Position der Objekte bestimmt werden.

10. Grenzen einer einzelnen Kamera

Zur Verbesserung helfen eine leicht schräge Perspektive, bekannte Objektgrößen, eine zusätzliche Seitenkamera oder ein trainiertes YOLO-Modell.

11. Sinnvolle Entwicklungsstufen

  1. Farbe und Lage mit OpenCV erkennen
  2. Einfache Grundkörper über Konturen und Größen unterscheiden
  3. Mehrere Körper mit YOLO zuverlässig erkennen
  4. Bildkoordinaten in Dobot-Koordinaten umrechnen
  5. Dobot sortiert die erkannten Körper automatisch
  6. Später auf Raspberry Pi oder ESP32-S3 umstellen

12. Fazit

Für den ersten funktionsfähigen Aufbau ist folgende Kombination am sinnvollsten:

ESP32-CAM als Bildquelle + Python mit OpenCV und YOLO im vorhandenen Dobot-Steuerprogramm.

Damit lassen sich Bilderkennung, Koordinatenbestimmung, Lagerverwaltung und Robotersteuerung schrittweise miteinander verbinden.