Dieses Repository enthält die Software und Dokumentation für den **CPS Geislinger PackPal**, ein System, das Mitarbeiter beim Einpacken von Aufträgen unterstützt. Es kombiniert eine Waage und eine Kamera, um Bauteile automatisch zu erkennen, die Stückzahl zu prüfen und den Verpackungsprozess effizienter zu gestalten.
- LEDs und Scheinwerfer können unabhängig voneinander per Software gesteuert werden, um optimale Arbeitsbedingungen zu schaffen.
### Datenerfassung
- **Integrierte Geräteansteuerung**:
- Waage und Kamera werden über den mitgelieferten Mini-PC angesteuert und ausgelesen, sodass die Datenerfassung nahtlos in den Workflow integriert ist.
### Vortrainierte Modelle
- **Effiziente Bauteilerkennung**:
- Das System enthält vortrainierte Modelle, die mit über **1.000 annotierten Datenframes** erstellt wurden.
- **Modelloptionen**:
- Standardmäßig wird **YOLOv8n** (kleinste Modellvariante) verwendet, um die begrenzte Rechenleistung des Mini-PCs zu berücksichtigen.
- Zusätzlich werden vortrainierte **YOLOv8m**- und **YOLOv10n**-Modelle bereitgestellt, um erweiterte Tests durchzuführen oder zukünftige Hardware-Upgrades zu berücksichtigen.
### Vollständig vorinstallierter Mini-PC
- **Leistungsstarker Mini-PC**:
- **Prozessor**: 12th Gen Intel Prozessor, optimiert für Effizienz.
- **Betriebssystem**: Ubuntu 24.04 ist vorinstalliert und einsatzbereit.
- **Grafik**: Keine dedizierte Grafikkarte, um Energieverbrauch und Kosten zu minimieren, bei gleichzeitiger Eignung für die enthaltenen leichten Modelle.
### Softwareumgebung
- **Umsetzung in Python**:
Die gesamte Softwareumgebung wurde in **Python** entwickelt, um eine einfache Erweiterbarkeit, Wartung und Integration mit modernen Machine-Learning-Frameworks zu gewährleisten.
- **Quellcode verfügbar**:
Der komplette Quellcode ist in diesem Repository enthalten und modular aufgebaut, sodass spezifische Funktionen leicht angepasst oder erweitert werden können.
- **Vorteile der Python-Umgebung**:
- Breite Unterstützung durch Bibliotheken wie **OpenCV**, **PyTorch**, und **PyQt**.
- Leichte Integration von Machine-Learning-Modellen und Hardwaresteuerung.
- Hohe Lesbarkeit und einfache Anpassung durch gut dokumentierten Code.
Der **CPS Geislinger PackPal** unterstützt den Verpackungsprozess mit einer intuitiven Benutzeroberfläche. Es stehen zwei Arbeitsmodi zur Verfügung: **statisch** und **dynamisch**, die über die Checkbox **"static workflow"** ausgewählt werden können.
- **Statischer Workflow**:
Der Benutzer wählt die Positionsnummer (Artikel) manuell aus, und die Waage addiert die Gewichte der eingelegten Bauteile, bis die gewünschte Stückzahl erreicht ist.
- **Dynamischer Workflow** (Standardmodus):
Die Kamera und die Waage arbeiten zusammen, um das eingelegte Bauteil automatisch zu erkennen und die korrekte Positionsnummer auszuwählen. Die Waage überwacht die eingelegten Teile, bis die erforderliche Stückzahl erreicht ist.
#### Schritt-für-Schritt-Anleitung
1.**Auftrag laden**
- Geben Sie die Auftragsnummer in das Feld **"Auftragsnummer"** ein.
- Klicken Sie auf **"load Auftrag"**, um die Auftragsdaten zu laden.
- Die Liste der Bauteile (mit Positionsnummer, Beschreibung, Soll-Menge, Ist-Menge und Lagerort) wird im linken Tabellenbereich angezeigt.
2.**Bauteilerkennung**
- **Manuelle Auswahl (statisch)**: Wählen Sie die gewünschte Positionsnummer direkt aus der Tabelle. Klicken Sie auf **"check Waage"**, um die Gewichtserfassung zu starten.
- **Automatische Erkennung (dynamisch)**:
- Legen Sie ein Bauteil auf die Waage und klicken Sie auf **"check Waage"**.
- Die automatisch erkannte Positionsnummer wird im Feld **"Pos.-Nr."** markiert.
3.**Bestücken**
- Legen Sie die Bauteile auf die Waage, bis die angezeigte **Ist-Menge** die **Soll-Menge** erreicht.
- Das System zeigt die aktuelle Stückzahl an.
- Falls die Waage nicht korrekt eingestellt ist, können Sie diese mit **"Waage tarieren"** neu kalibrieren.
4.**Weiterverpacken**
- Wiederholen Sie den Vorgang für alle Bauteile im Auftrag.
- Die Benutzeroberfläche führt Sie Schritt für Schritt durch die einzelnen Arbeitsvorgänge. Der aktuelle Arbeitsfortschritt wird in der **ToDo-Liste** rechts angezeigt.
5.**Auftragsabschluss**
- Sobald alle Bauteile verpackt sind, zeigt das System an, dass der Auftrag abgeschlossen ist.
- Überprüfen Sie die Daten und schließen Sie den Auftrag ab.
Die **ToDo-Liste** in der Benutzeroberfläche bietet eine klare Übersicht über die nächsten Schritte und den aktuellen Status. Befolgen Sie die Anweisungen, um den Workflow effizient abzuschließen.
Dieses Projekt wurde entwickelt, um die Effizienz und Genauigkeit im Verpackungsprozess zu steigern und die Arbeitsbelastung der Mitarbeiter zu reduzieren. Vielen Dank für die Nutzung des CPS Geislinger PackPal!