Legoteil Zählmaschine 2017: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
Zeile 6: | Zeile 6: | ||
=Aufgabenstellung= | ='''Aufgabenstellung'''= | ||
Die vorhandene Legoteilzählmaschine (siehe [http://193.175.248.52/wiki/index.php/Legoteil_Z%C3%A4hlmaschine_2016_2017 Legoteilzählmaschine 2016/2017] ) soll auf ihre Stärken und Schwächen analysiert werden und Verbesserungen erarbeit werden. Dabei muss die Vereinzellung der Legoteile mit der Bildverarbeitung und der Sortierung kombiniert werden. Zudem wird das bisherige Sortierverfahren komplett überarbeitet und neu entwickelt. Die Vereinzellung soll garantieren, dass immer nur ein Teil in die Bildbox fällt und die Bildverarbeitung soll neue Teile erlernen und einen Teach-In Prozess zur Verfügung stellen. <ref name="Autor: Busemann"> Autor Nils Busemann</ref> | Die vorhandene Legoteilzählmaschine (siehe [http://193.175.248.52/wiki/index.php/Legoteil_Z%C3%A4hlmaschine_2016_2017 Legoteilzählmaschine 2016/2017] ) soll auf ihre Stärken und Schwächen analysiert werden und Verbesserungen erarbeit werden. Dabei muss die Vereinzellung der Legoteile mit der Bildverarbeitung und der Sortierung kombiniert werden. Zudem wird das bisherige Sortierverfahren komplett überarbeitet und neu entwickelt. Die Vereinzellung soll garantieren, dass immer nur ein Teil in die Bildbox fällt und die Bildverarbeitung soll neue Teile erlernen und einen Teach-In Prozess zur Verfügung stellen. <ref name="Autor: Busemann"> Autor Nils Busemann</ref> | ||
Zeile 12: | Zeile 12: | ||
==Aufgabenteilung und Ziele== | =='''Aufgabenteilung und Ziele'''== | ||
Die Aufgaben werden in drei Themengebiete unterteilt und von den jeweiligen Teams bearbeitet: | Die Aufgaben werden in drei Themengebiete unterteilt und von den jeweiligen Teams bearbeitet: | ||
Zeile 68: | Zeile 68: | ||
- Aufbau der Sortierung | - Aufbau der Sortierung | ||
= Anleitung Programmstart= | |||
= '''Anleitung Programmstart'''= | |||
1) Vorbereitung | 1) Vorbereitung | ||
Zeile 110: | Zeile 113: | ||
<ref name="Autor: Maas"> Autor Mathias Maas</ref> <ref name="Autor: Auf der Landwehr"> Autor Jan Auf der Landwehr</ref> | <ref name="Autor: Maas"> Autor Mathias Maas</ref> <ref name="Autor: Auf der Landwehr"> Autor Jan Auf der Landwehr</ref> | ||
= Projektplanung = | = '''Projektplanung''' = | ||
Zur Projektplanung wurd ein Kanbanboard angeschafft. Dieses visualisiert die Aufgaben jeder Gruppe, sodass jeder auf einen Blick seine Aufgaben sieht. Dies fördert die Motivation und garantiert, dass zielstrebig an dem Projekt gearbeitet wird. Dazu werden die einzelnen Aufgaben in kleine Arbeitspakete eingeteilt und jeweils auf einen Postet geschrieben. | Zur Projektplanung wurd ein Kanbanboard angeschafft. Dieses visualisiert die Aufgaben jeder Gruppe, sodass jeder auf einen Blick seine Aufgaben sieht. Dies fördert die Motivation und garantiert, dass zielstrebig an dem Projekt gearbeitet wird. Dazu werden die einzelnen Aufgaben in kleine Arbeitspakete eingeteilt und jeweils auf einen Postet geschrieben. | ||
Zeile 116: | Zeile 119: | ||
Arbeitspakete werden möglichst so definiert, dass jede Gruppe bzw. jeder einzelnen pro Team eine Aufgabe an einem Termin abarbeiten kann und somit auf dem Board verschieben kann. <ref name="Autor: Busemann"> Autor Nils Busemann</ref> | Arbeitspakete werden möglichst so definiert, dass jede Gruppe bzw. jeder einzelnen pro Team eine Aufgabe an einem Termin abarbeiten kann und somit auf dem Board verschieben kann. <ref name="Autor: Busemann"> Autor Nils Busemann</ref> | ||
==Separierung== | |||
='''Realisierung'''= | |||
=='''Separierung'''== | |||
<br /> | <br /> | ||
Die Separierung ist der erste Schritt zum Sortieren der Legoteile. Ziel dabei ist, die verschiedenen Teile zu separieren und einzeln in die Bildvearbeitung laufen zu lassen. Dies ist notwendig, da die Bildverarbeitung ledigich einzelne Legoteile erkennen kann. Dazu wurde an das Konzept des vorherigen Semesters angeknüpft. | Die Separierung ist der erste Schritt zum Sortieren der Legoteile. Ziel dabei ist, die verschiedenen Teile zu separieren und einzeln in die Bildvearbeitung laufen zu lassen. Dies ist notwendig, da die Bildverarbeitung ledigich einzelne Legoteile erkennen kann. Dazu wurde an das Konzept des vorherigen Semesters angeknüpft. | ||
Zeile 134: | Zeile 141: | ||
<ref name="Autor: Schmotz"> Autor Maik Schmotz</ref> <ref name="Autor: Busemann"> Autor Nils Busemann</ref> | <ref name="Autor: Schmotz"> Autor Maik Schmotz</ref> <ref name="Autor: Busemann"> Autor Nils Busemann</ref> | ||
==Bildverarbeitung== | =='''Bildverarbeitung'''== | ||
===Teach In Programmierung=== | ===Teach In Programmierung=== | ||
Zeile 146: | Zeile 153: | ||
Die Teach In Funktion ist jetzt über die GUI aus der main-Funktion erreichbar. | Die Teach In Funktion ist jetzt über die GUI aus der main-Funktion erreichbar. | ||
==Sortierung== | =='''Sortierung'''== | ||
=Ergebnisse= | ='''Ergebnisse'''= | ||
=Fazit= | ='''Fazit'''= | ||
=Referenzen= | ='''Referenzen'''= | ||
==Links== | ==Links== |
Version vom 2. Juni 2017, 10:26 Uhr
Die HSHL Lego® Zählmaschine ist eine Maschine zur automatischen Sortierung und Zählung von Legoteilen. Es ist ein studentisches Projekt, welches im Schwerpunkt System-Design-Engineering des Mechatronikstudiums an der Hochschule Hamm Lippstadt durchgeführt wird. In diesem Artikel werden die Ergebnisse des sechsten Semester im Sommersemester 2017 dargestellt. [1]
Autoren: Nils Busemann, Maik Schmotz, Alexander Soschnikow, Jan Auf der Landwehr, Yank Dong, Paul Klages, Matthias Maas
Betreuer: Prof. Schneider, Prof. Goebel
Aufgabenstellung
Die vorhandene Legoteilzählmaschine (siehe Legoteilzählmaschine 2016/2017 ) soll auf ihre Stärken und Schwächen analysiert werden und Verbesserungen erarbeit werden. Dabei muss die Vereinzellung der Legoteile mit der Bildverarbeitung und der Sortierung kombiniert werden. Zudem wird das bisherige Sortierverfahren komplett überarbeitet und neu entwickelt. Die Vereinzellung soll garantieren, dass immer nur ein Teil in die Bildbox fällt und die Bildverarbeitung soll neue Teile erlernen und einen Teach-In Prozess zur Verfügung stellen. [1]
Aufgabenteilung und Ziele
Die Aufgaben werden in drei Themengebiete unterteilt und von den jeweiligen Teams bearbeitet:
Separierung
Team: Maik Schmotz, Nils Busemann, Dong Yank
Ziel: Die Teile sollen einzeln in die Bildverarbeitung fallen.
Aufgaben:
- Bunkerband bei vollem Förderband stoppen
- Wenige Teile pro Lamelle auf dem Bunkerband garantieren
- Die erste Bildverarbeitung optimieren
- Luftdüsen optimal einstellen und ansteuern
- Abschirmung für zurückfliegende Teile anbringen
Bildverarbeitung
Team: Jan Auf der Landwehr, Matthias Maas
Ziel: Alle Teile werden richtig erkannt und aufgelistet. Dabei soll eine GUI die Bedienung benutzerfreundlich machen und ein Teach-In von neuen Teilen zur Verfügung stellen.
Aufgaben:
- Hardware und Software starten und Bedienungsanleitung ergänzen
- GUI verbessern
- Datenbank pflegen
- Teach-In über GUI ermöglichen
Sortierung
Team: Alexander Soschnikow, Paul Klages
Ziel: Die Legoteile werden von der Bildverarbeitung über ein neu entwickeltes Sortierverfahren direkt in die Legokästen sortiert.
Aufgaben:
- Abbau des Linearläufers und eventueller Rückbau
- Auswahl eines neuen Sortieverfahrens
- Entwicklung des neuen Verfahrens
- Konstruieren der Sortieranlage
- Aufbau der Sortierung
Anleitung Programmstart
1) Vorbereitung
1.1) LED-Stecker anschließen
1.2) Hauptstecker anschließen
1.3) Hauptschalter betätigen
2) Matlab Programm öffnen
2.1) unter SVN\MTR_SDE_Praktikum_2015\SRC die main_new-datei öffnen
2.2) Programm starten
2.3) Sollte die Datenbank nicht richtig konfiguriert werden, muss wie folgt vorgegangen werden:
Unter Systemsteuerung\System und Sicherheit\Verwaltung "Datenquellen(ODBC)" auswählen. Unter dem Reiter Benutzer-DSN auf "Hinzufügen" MYSQL ODBC 5.3 ANSI Treiber auswählen. Bei "Name" Lego eintragen, bei Server localhost.
4) Baukasten in der GUI auswählen
5) Handgezählte Teile eintragen
6) Automatischer Zählprozess
6.1) Esc-Taste betätigen zur Beendigung des automatischen Zählprozess
7) Motoren werden automatisch ausgeschaltet
8) Inventurliste wird ausgegeben
[2] [3]
Projektplanung
Zur Projektplanung wurd ein Kanbanboard angeschafft. Dieses visualisiert die Aufgaben jeder Gruppe, sodass jeder auf einen Blick seine Aufgaben sieht. Dies fördert die Motivation und garantiert, dass zielstrebig an dem Projekt gearbeitet wird. Dazu werden die einzelnen Aufgaben in kleine Arbeitspakete eingeteilt und jeweils auf einen Postet geschrieben. Um eine gute Übersicht zu garantieren wird das Board in die drei Gruppen Separierung, Bildverarbeitung und Sortierung eingeteilt. Um die Aufgaben einzuteilen gibt es vier Katerogien. Sie heißen 'offen', 'in Arbeit', 'warten' und 'erledigt'. In der ersten Karerogie stehen alle Aufgaben die noch bearbeitet werden. Arbeitet eine Gruppe an einer Aufgabe, so wandert das Postet in die nächste Katerogie. Kann an einer Aufgabe nicht weiter gearbeit werden, weil zum Beispiel etwas anderes benötigt wird, so wird die Aufgabe in die Katerogie 'warten' verschoben. In der letzen Katerogie stehen die fertigen und abgeschlossenen Aufgaben. Arbeitspakete werden möglichst so definiert, dass jede Gruppe bzw. jeder einzelnen pro Team eine Aufgabe an einem Termin abarbeiten kann und somit auf dem Board verschieben kann. [1]
Realisierung
Separierung
Die Separierung ist der erste Schritt zum Sortieren der Legoteile. Ziel dabei ist, die verschiedenen Teile zu separieren und einzeln in die Bildvearbeitung laufen zu lassen. Dies ist notwendig, da die Bildverarbeitung ledigich einzelne Legoteile erkennen kann. Dazu wurde an das Konzept des vorherigen Semesters angeknüpft.
Zur Separierung der Legoteile wird ein Bunker inklusive Bunkerförderband verwendet, welches die Teile sammelt und zum Förderband transportiert. Die Teile werden dort durch eine Bilderkennung befördert und wenn nötig vereinzelt. Die Kamera macht Bilder des Förderbandes und erkennt die Anzahl der auf dem Band liegenden Teile in einem festgelegten Bereich. Falls sich mehr als ein Teil in diesem Bereich befinden, werden diese mit Hilfe von Druckluftdüsen nach hinten gepustet. Somit werden die Teile neu angeordnet und bewegen sich anschließend erneut durch die Bilderkennung. Befinden die Legoteile bereits vereinzelt auf dem Förderband werden sie zur Legoteil Erkennung gefahren.
Die Probleme der Vereinzelung bestehen darin, dass das Bunkerband bei gefülltem Bunker überfüllt und somit zu viele Teile auf das Förderband fallen. Wird das Bunkerband nicht angehalten, fallen immer mehr Teile nach. Falls die Teile in der Bilderkennung durch die Druckluftdüsen nach hinten gepustet werden, kommt es zu einer Aufstauung der Teile in bzw. vor der Bilderkennungsbox.
Ein weiteres Problem der Separierung ist in der Ansteuerung der Druckluftdüsen zu finden. Werden mehrere Teile in dem kritischen Bereich erkannt, werden automatisch beide Düsen angesteuert und somit alle Teile an den Anfang der Teileerkennung befördert. Dadurch kann es zu einer enormen Verzögerung in der Vereinzelung der Teile kommen.
[4] [1]
Bildverarbeitung
Teach In Programmierung
Das Ansteuern des Förderbandes über die GUI sowie die Bildaufnahme funktioniert jetzt flüssiger. Dafür wurden im Quellcode geringfügige Änderungen vorgenommen, die die Performance des Programmes verbessern. Beim Thema Teach In sind Probleme bei der Farberkennung aufgetreten. Farben, die ähnlich sind, werden nicht richtig erkannt.
Teach In Teile einpflegen
Zur Vervollständigung der Liste mit Teilen, die erkannt werden, müssen noch mehr Teile eingespeichert werden.
Ansteuerung über GUI
Die Teach In Funktion ist jetzt über die GUI aus der main-Funktion erreichbar.