Legoteil Zählmaschine: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
 
(77 dazwischenliegende Versionen von 7 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Datei:2016 2017 Aufbau Legomaschine V2.jpg|600px|thumb|rechts|Abbildung 1: Aufbau der Legoteil Zählmaschine]]
[[Datei:VorderseiteLegoteilzählmaschine1819.jpg|475px|thumb|rechts|Abbildung 1: Vorderseite der Legoteil Zählmaschine]]
[[Datei:RueckseiteLegoteilzählmaschine1819.jpg|475px|thumb|rechts|Abbildung 2: Rückseite der Legoteil Zählmaschine]]


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 zum Stand des Sommersemesters 2017 zusammengefasst.  
Die HSHL Lego® Zählmaschine ist eine Maschine zur automatischen Sortierung von Legoteilen. Es handelt sich um ein studentisches Projekt, welches im Schwerpunkt System-Design-Engineering des Mechatronikstudiums an der Hochschule Hamm Lippstadt durchgeführt wird.
 
Der aktuelle Aufbau der Lego Zählmaschine ist durch Abbildung 1 und  2 beschrieben. Position 1 zeigt das Bunkerband, welches die eingefüllten Teile portionsweise in eine Vibrationsförderrinne (Position 2) befördert. Dort werden die Teile zentriert und weiter vereinzelt auf ein dahinter liegendes Förderband transportiert.  Auf diesem Förderband ist eine Separierungsbox (Position 3) montiert, die die Vereinzelung der Teile durch Bildverarbeitung kontrolliert. Falls die Teile auf dem Förderband zu dicht zusammen liegen, werden einzelne Teile gezielt mittels Druckluft in einen Auffangbehälter befördert. So können die restlichen Teile nacheinander in die am Ende des Förderbandes befindliche Bildverarbeitungsbox (Position 4) fallen, in der die Teile erkannt und gezählt werden. Im Anschluss der Bildverarbeitung werden die Teile mittels Druckluft in die Sortiereinheit (Position 5) gefördert, wo sie durch ein System aus mehreren Klappen in das richtige Fach des originalen Lego Baukastens geleitet werden.
<br />
<br />
Der Aufbau und die Funktion der Maschine werden durch dieses [https://www.youtube.com/watch?v=UhIiKX6rAfI Video] weiter veranschaulicht.
<br />
<br />
Die Ansteuerung der Lego Zählmaschine übernimmt ein Arduino MEGA 2560, während die Verarbeitung der durch die Logitech C920 Webcams aufgenommenen Bilder sowie die Bedienoberfläche in MATLAB realisiert ist.
<br />
<br />
Nachfolgend sollen die Ergebnisse des Projektes zum Stand des Wintersemesters 18/19 vorgestellt werden.


In Abbildung 1 sieht man die Maschine. Ganz links ist der Schaltschrank zu sehen, über welchen alles gesteuert wird. Rechts daneben befindet sich das Bunkerband, in welches die Teile gefüllt werden. Dieses fördert die Teile in das dahinterliegende Förderband. In dem Holzkasten auf der rechten Seite sitzt eine Bildverarbeitung, welche die Teile erkennt und zählt. Davor sitzt eine Linearläufer der die Teile einsortiert.




'''Betreuer:''' [[Benutzer:Ulrich Schneider|Prof. Schneider]], [[Benutzer:Mirekgoebel|Prof. Goebel]]
'''Betreuer:''' [[Benutzer:Ulrich Schneider|Prof. Schneider]], [[Benutzer:Mirekgoebel|Prof. Goebel]]


<ref name="Autor: Schmotz"> Autor Maik Schmotz</ref>
<ref name="Autor: Bartnick"> Autor Madlen Bartnick</ref>


 
<br />
= '''Historie''' =
= Danksagung =
Folgende Gruppen haben sich bisher mit dem Aufbau und der Weiterentwicklung der Legoteil-Zählmaschine beschäftigt.
[[Datei:BWT.jpg|200px|links]]
Wir möchten uns an dieser Stelle ganz herzlich und ausdrücklich bei der Stiftung [http://www.kreis-soest.de/verkehr_wirtschaft/wirtschaft/bwt/stiftungbwt.php '''Förderung von Bildung, Wissenschaft und Technologie im Kreis Soest'''] bedanken, die dieses Projekt "Bildverarbeitung in der Automatisierungstechnik" finanziell unterstützt hat.
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
= Historie =
Folgende Gruppen haben sich bisher mit dem Aufbau und der Weiterentwicklung der Legoteil-Zählmaschine beschäftigt und diesen Fortschritt in den jeweiligen Artikeln festgehalten.


* '''WS15/16:''' [[Legoteil_Z%C3%A4hlmaschine_2015 | Legoteilzählmaschine 2015]]
* '''WS15/16:''' [[Legoteil_Z%C3%A4hlmaschine_2015 | Legoteilzählmaschine 2015]]
* '''SS16:''' [http://193.175.248.52/wiki/index.php/Legoteil_Z%C3%A4hlmaschine_2016 | Legoteilzählmaschine SS16]
* '''SS16:''' [[Legoteil_Z%C3%A4hlmaschine_2016 | Legoteilzählmaschine SS16]]
* '''WS16/17:''' [http://193.175.248.52/wiki/index.php/Legoteil_Z%C3%A4hlmaschine_2016_2017 | Legoteilzählmaschine WS 16 ]
* '''WS16/17:''' [[Legoteil_Z%C3%A4hlmaschine_2016_2017 | Legoteilzählmaschine WS 16 ]]
 
<br />
 


= Die Teams =
In dieser Rubrik sollen die jeweiligen Teams pro Studienjahr, welche sich mit der Legoteil Zählmaschine beschäftigt haben, kurz vorgestellt werden. Ziel dieser Dokumentation ist es, dass spätere Teams sich schneller an die jeweiligen Experten wenden können, falls diese Fragen oder Probleme mit ihrer Aufgabe haben. Eine genaue Aufgabenverteilung und die Teammitglieder befinden sich hinter dem jeweiligen Link:
*[[SDE-Team 2018/19]]
<br />


=Beschreibung des Projektes=


=='''Einleitung'''==
Ziel dieses Projektes ist es, ein System zu entwerfen, welches vollautomatisch Legoteile zählt und sortiert. Dabei sollen der Maschine verschiedenen Baukästen übergeben werden können, welche anhand ihrer Baukastennummer in der Bedieneroberfläche auswählbar sind. Im nächsten Schritt werden die Teile dieses Baukastens physikalisch in den Bunker der Legoteilzählmaschine gefüllt.<br />
 
Nach dem Start des Programms werden folgende Schritte automatisch abgearbeitet:
 
[[Datei:Programablauf_Legomaschine_main.png|640px|thumb|right|Abbildung 2: Entwurf des Programmablaufes]]
 
Ziel dieses Projektes ist, ein System zu entwerfen, welches Legoteile zählt. Insbesondere sollen Baukästen anhand ihrer Baukastennummer eingegeben werden können, bevor die Teile dieses Baukastens physikalisch in den Bunker der Legoteilzählmaschine gefüllt werden. Alles folgende soll vollautomatisch ablaufen:  
* Vereinzelung der Legoteile
* Vereinzelung der Legoteile
* Zentrierung der Legoteile auf dem Band
* Zentrierung der Legoteile auf dem Band
* Bildverarbeitung der Legoteile. Die erkannten Legoteile sollen in einer Excel Liste anhand ihrer Lego Teilenummer abgeglichen werden, in welcher die Anzahl aller Legoteile in Bezug auf einen Baukasten vermerkt sind.
* Erkennung der Legoteile durch Bildverarbeitung
* Sortierung der Legoteile in zwei Kategorien 'Erkannt' und 'Nicht erkannt' <br />
* Sortierung der Legoteile in den leeren Baukasten <br />


'''Ergebnis:'''
'''Ergebnis:'''
Als Ergebnis soll eine Teileliste ausgegeben werden, in der vermerkt ist ob der Baukasten vollständig ist, also alle Legoteile gezählt wurden, die im Neuzustand des Baukastens darin vorhanden waren.<br />
Als Ergebnis soll eine Teileliste ausgegeben werden, in der vermerkt ist ob der Baukasten vollständig ist.
Falls dies nicht der Fall ist, soll der Teileliste entnommen werden können, welche und wie viele Teile fehlen.
Falls dies nicht der Fall ist, soll der Liste entnommen werden können, welche Teile in welcher Stückzahl fehlen.


Die genauen Anforderungen sind dem [https://svn.hshl.de/svn/MTR_SDE_Praktikum_2015/trunk/Anforderungsmanagement/Lastenheft/Lastenheft_Automatisierung.pdf  Lastenheft] zu entnehmen.


=== Aufbau der Maschine ===
Die Legoteilzaehlmaschine wurde als neues Projekt im SDE Praktikum 2015 von Null an geplant, konstruiert, beschafft und aufgebaut. Sie unterteilt sich in zwei Förderbänder und einen Schaltschrank: <br />
* Förderband 1: Förderband als Stufenförderer mit 10 mm hohen Stollen, um die Legoteile eines gesamten Baukastens aus dem Teilebunker zu befördern. Dieses ist in Höhe und Neigung einstellbar.
* Förderband 2: Förderband zum Transportieren der Legoteile zur Vereinzelung und zur Bildverarbeitung. Durch den Stufenförderer sollen die Teile möglichst in einer Linie hintereinander auf Förderband 2 landen.
* Schaltschrank: Der Schaltschrank beinhaltet die gesamte, sonst offen zugängliche, Elektronik und ist vor Förderband 3 auf der Holzplatte fest montiert.<br /><br />


=== Beschreibung der Komponenten ===
<ref name="Autor: Bartnick"> Autor Madlen Bartnick</ref>  
Neben den bereits genannten Förderbändern wurden folgende Komponenten verbaut: <br />
<ref name="Autor: Brandt"> Autor Tobias Brandt</ref>
* Bildverarbeitungsbox: Hier werden Teile mit Durchlicht und Auflicht beleuchtet und so Formen und Farben extrahiert
<ref name="Autor: Eidhoff"> Autor Marc Eidhoff</ref>
* Teilvereinzelungsbox: Hier werden Teile erkannt, die dicht beieinander liegen und durch Druckluft vereinzelt werden
<br /><br />
* Schaltschrank: Beinhaltet zwei Spannungswandler sowie einen Arduino MEGA 2560 mit selbst entwickelten Aufsteckboard zur Ansteuerung der Motoren, Servos sowie zum Auslesen von Infrarotsensoren und Potentiometern. Der Arduino dient als Schnittstelle zwischen MATLAB Software und Förderbandsystem und wird über die serielle Schnittstelle angesteuert (USB).
* Laptop: Der Laptop beinhaltet die Software zur Bildverarbeitung und ermöglicht in Zukunft durch leistungsstarke Komponenten ein Livetracking zum Zählen und Sortieren der Legoeile.
* Webcam: Zur Anwendung kam eine Logitech C920 Webcam.


=== Programmablauf ===
=Gebrauchsanweisung / Schritt-für-Schritt Anleitung=


In Abbildung 2 sieht man den geplanten Programmablauf der Maschine. Da die drei Brereiche Seperarierung, Bildverarbeitung und Sortierung noch in der Entwicklungsphase stecken, ist dieser noch nicht vollständig umgesetzt.
Bevor die Legosortiermaschine gestartet wird, gibt es einige Punkte zu beachten. In einer Anleitung wird der Programmstart Schritt für Schritt erläutert und die gesamt Oberfläche beschrieben.
Diese Anleitung ist unter folgendem Link zu finden:


[http://193.175.248.52/wiki/index.php/Anleitung_Legoteilz%C3%A4hlmaschine Anleitungen Legozählmaschine]
<br /><br />


='''Aufgabenteilung und Ziele in den Semestern 2017/2018'''=
=Durchführung des Projektes=


Die Aufgaben werden in drei Themengebiete unterteilt und von den jeweiligen Teams bearbeitet.
Die Durchführung des Projektes beinhaltet die Planung und die Ergebnisse der Teilbereiche sowie der gesamten Anlage.


=== Separierung ===
==Projektplanung==


Team: [[Benutzer:Maik Schmotz|Maik Schmotz]], [[Benutzer:Nils Busemann|Nils Busemann]], [[Benutzer: Dong Yank| Dong Yank]]
Für das Projekt gibt es einen Projektleiter, welcher sich um das [http://193.175.248.52/wiki/index.php/Projektmanagment_Legoteilmaschine  Projektmanagement] kümmert.


Ziel: Die Teile sollen einzeln in die Bildverarbeitung fallen.
Die Projektplanung wurde mit Hilfe eines Kanban-Boards durchgeführt. Dieses Board gibt eine Übersicht über die Teilaufgaben des Projektes. Dazu sind diese Teilaufgaben in kleine Arbeitspakete geteilt, welche von einer Person innerhalb eines Praktikumtermins realisierbar sind. Jedes Arbeitspaket wird auf einen Post-it geschrieben und in eine der folgenden Kategorien eingeteilt, um den Fortschritt des Projektes auf einem Blick erkennen zu können:


Aufgaben:
* Offen
* In Arbeit
* Warten
* Erledigt


- Bunkerband bei vollem Förderband stoppen
Zusätzlich sind Zeilen für die Teilaufgaben Separierung, Bildverarbeitung, Sortierung sowie die Gesamtanlage angelegt, um die Arbeitspakete genauer zuordnen zu können. Abbildung 2 zeigt den Aufbau des Kanban-Boards beispielhaft an den Teilaufgaben der Separierung einer Person zum Stand des zweiten Meilensteins.
<br />
<br />
[[Datei:BeispielKanban.jpg|800px|thumb|center|Abbildung 2: Beispiel Kanban Board]]
<br />
<br />
<ref name="Autor: Bartnick"> Autor Madlen Bartnick</ref>


- wenige Teile pro Lamelle auf dem Bunkerband garantieren
==Ergebnisse des Projektes==


- die erste Bildverarbeitung optimieren
Die Aufgaben werden in drei Themengebiete unterteilt und von den jeweiligen Teams bearbeitet.
 
- Luftdüsen optimal einstellen und ansteuern
 
- Abschirmung für zurückfliegende Teile anbringen
 
Stand:
Zum jetzigen Stand wird das Bunkerband bei einer Erkennung von Legoteilen angehalten. Des Weiteren wurde eine Einzelansteuerung der Düsen implementiert. Eine hundertprozentige Erkennung und Unterscheidung der Legoteile und eine daraus resultierende Separierung konnte noch nicht realisiert werden.
 
[http://193.175.248.52/wiki/index.php/Legosortiermaschine_Separierung Zum Artikel Separierung]
 
=== Bildverarbeitung ===
 
Team: [[Benutzer:Jan Auf der Landwehr|Jan Auf der Landwehr]], [[Benutzer:Matthias Maas|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
 
- Sonderaufgabe 16.06.2017: [[Legoteil_Zählmaschine:_Analyse_und_Teiloptimierung_der_Bilderkennung]]
 
[http://193.175.248.52/wiki/index.php/Legosortiermaschine_Bildverarbeitung#Ansteuerung_.C3.BCber_GUI| Zum Artikel Bildverarbeitung]


=== Sortierung ===
=== [http://193.175.248.52/wiki/index.php/Legosortiermaschine_Separierung Separierung] ===


Team: [[Benutzer:Alexander Soschnikow|Alexander Soschnikow]], [[Benutzer:Paul Klages|Paul Klages]]


Ziel: Die Legoteile werden von der Bildverarbeitung über ein neu entwickeltes Sortierverfahren direkt in die Legokästen sortiert.


Aufgaben:
Die Separierung ist der erste Schritt zum Sortieren der Legoteile. Ziel dabei ist, die verschiedenen Teile zu separieren und einzeln in die Bildverarbeitung laufen zu lassen.


- Abbau des Linearläufers und eventueller Rückbau
<br/>


- Auswahl eines neuen Sortierverfahrens
=== [http://193.175.248.52/wiki/index.php/Legosortiermaschine_Bildverarbeitung#Ansteuerung_.C3.BCber_GUI| Bildverarbeitung und Programmierung] ===


- Entwicklung des neuen Verfahrens


- Konstruieren der Sortieranlage


- Aufbau der Sortierung
In der Bildverarbeitung werden die Legoteile erkannt, mit einer Datenbank verglichen und die Sortierung wird passend angesteuert.


[http://193.175.248.52/wiki/index.php/Legosortiermaschine_Sortierung Zum Artikel Sortierung]


=== [http://193.175.248.52/wiki/index.php/Legosortiermaschine_Sortierung Sortierung] ===




Die Legosortiermaschine soll am Ende als eine Einheit funktionieren. Dazu wurde bereits ein Programmablauf entwickelt. Dieser ist in der Grafik zu sehen, ist jedoch noch nicht im Programm umgesetzt.


= '''Anleitung Programmstart'''=
Bei der Sortierung werden die Legoteile über Klappen so gesteuert, dass sie in ein vorgegebenenes Fach in der Einlage des Legokastens fallen.


== Anleitung Programmstart ==
Vor dem Starten der Legoteil-Zählmaschine müssen einige Voraussetzungen erfüllt sein. Es gilt zu prüfen, ob alle benötigten Komponenten mit dem Rechner verbunden sind, von dem das Programm gestartet werden soll. Dazu zählen:
* USB-Kabel zum Arduino
* USB-Kabel zur Webcam in der Separierungseinheit
* USB-Kabel zur Webcam in der Erkennungseinheit
Außerdem muss die Anlage an das Stromnetz und die Ventilinsel an eine Druckluftleitung angeschlossen sein.


Vor dem Start gilt es außerdem zu überprüfen, ob die Notschalter der Anlage deaktiviert sind und ob der Linearläufer in seine Initialposition gebracht wurde. Ist dies nicht der Fall ist dies durchzuführen. Anschließend ist der Luftdruck, der an der Ventilinsel anliegt einzustellen. Empfohlen werden zwischen 3 und 5 Bar.
=== [http://193.175.248.52/wiki/index.php/Legosortiermaschine_gesamte_Anlage Gesamte Anlage] ===
Der Start des Programms wird durch ausführen der Datei [https://svn.hshl.de/svn/MTR_SDE_Praktikum_2015/trunk/SRC/main_new.m main_new.m] ausgelöst. Es öffnet sich eine Eingabemaske, in der die zu zählenden Baukästen ausgewählt werden oder zum Teach_In gewechselt werden kann. Nach dessen Bestätigung sind die Anzahlen der Legoteile anzugeben, die nicht durch die Maschine gezählt werden können. Anschließend startet die Maschine das automatische Zählen. Der Inhalt der Legokiste, abzüglich der manuell gezählten Teile, ist in den Bunker zu geben. Da die Separierungseinheit noch nicht zuverlässig funktioniert und noch nicht in den Gesamtprozess integriert ist, sollten zunächst nur kleine Mengen in den Bunker geschüttet werden und eine manuelle Separierung vorgenommen werden. Wenn der Bunker leergelaufen sein sollte, sind nicht erkannte in den Bunker zurückzuführen (Aus Sicherheitsgründen darf dies in dem aktuellen Status nicht bei einer laufenden Maschine durchgeführt werden!). Ist der Zählprozess durchlaufen, kann die Zählung vom Anwender mit der ESC-Taste beendet werden. Es wird eine Inventur- sowie eine Fehlteilliste im Tool Excel ausgegeben. Außerdem werden Motoren und LEDs ausgeschaltet und der Linearläufer auf Initialposition gefahren. Nach gebrauch der Anlage ist der Druck der Druckluftleitung herunterzuregeln und die Anlage vom Strom zu trennen.


Die Schritte im Allgemeinen:
Die Legosortiermaschine soll am Ende als eine Einheit funktionieren. In diesem Artikel werden Themen beschrieben, die die gesamte Anlage betreffen.
# Vorbereitung
## LED-Stecker anschließen
## Hauptstecker anschließen
## Hauptschalter betätigen
# Matlab Programm öffnen
## unter SVN\MTR_SDE_Praktikum_2015\SRC die main_new-datei öffnen
## Programm starten
## 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.
# Baukasten in der GUI auswählen
# Handgezählte Teile eintragen
# Automatischer Zählprozess
## Esc-Taste betätigen zur Beendigung des automatischen Zählprozess
# Motoren werden automatisch ausgeschaltet
# Inventurliste wird ausgegeben


= '''Projektplanung''' =


Zur Projektplanung wurde 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 Post-it geschrieben.
<ref name="Autor: Bartnick"> Autor Madlen Bartnick</ref>
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 Kategorien. Sie heißen 'offen', 'in Arbeit', 'warten' und 'erledigt'. In der ersten Katerogie stehen alle Aufgaben die noch bearbeitet werden. Arbeitet eine Gruppe an einer Aufgabe, so wandert das Postet in die nächste Kategorie. Kann an einer Aufgabe nicht weiter gearbeitet werden, weil zum Beispiel etwas anderes benötigt wird, so wird die Aufgabe in die Kategorie 'warten' verschoben. In der letzten Kategorie stehen die fertigen und abgeschlossenen Aufgaben.
<ref name="Autor: Müller"> Autor Torben Müller</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.


='''Offene Punkte'''=
= Autoren =
<references />


- Einbinden eines Rückführbandes für nicht erkannte Legoteile


=Links=
=Links=
Zeile 172: Zeile 134:
*[[Wiki-Artikel_schreiben | Tipps zum Schreiben eines Wiki-Artikels]]
*[[Wiki-Artikel_schreiben | Tipps zum Schreiben eines Wiki-Artikels]]
*[https://svn.hshl.de/usvn/project/MTR_SDE_Praktikum_2015/browser  Dateiablage in SVN]
*[https://svn.hshl.de/usvn/project/MTR_SDE_Praktikum_2015/browser  Dateiablage in SVN]
*[[ArduMower:_Simulation_der_Kinematik_eines_Fahrzeugs_mit_drei_R%C3%A4dern|Beispiel-Artikel von Prof. Göbel]]
*[[ArduMower:_Kartierung_in_Matlab/Simulink|Beispiel-Artikel von Prof. Schneider]]
*[[Sonderthemen Lego Zählmaschine]]

Aktuelle Version vom 25. Januar 2019, 22:29 Uhr

Abbildung 1: Vorderseite der Legoteil Zählmaschine
Abbildung 2: Rückseite der Legoteil Zählmaschine

Die HSHL Lego® Zählmaschine ist eine Maschine zur automatischen Sortierung von Legoteilen. Es handelt sich um ein studentisches Projekt, welches im Schwerpunkt System-Design-Engineering des Mechatronikstudiums an der Hochschule Hamm Lippstadt durchgeführt wird.

Der aktuelle Aufbau der Lego Zählmaschine ist durch Abbildung 1 und 2 beschrieben. Position 1 zeigt das Bunkerband, welches die eingefüllten Teile portionsweise in eine Vibrationsförderrinne (Position 2) befördert. Dort werden die Teile zentriert und weiter vereinzelt auf ein dahinter liegendes Förderband transportiert. Auf diesem Förderband ist eine Separierungsbox (Position 3) montiert, die die Vereinzelung der Teile durch Bildverarbeitung kontrolliert. Falls die Teile auf dem Förderband zu dicht zusammen liegen, werden einzelne Teile gezielt mittels Druckluft in einen Auffangbehälter befördert. So können die restlichen Teile nacheinander in die am Ende des Förderbandes befindliche Bildverarbeitungsbox (Position 4) fallen, in der die Teile erkannt und gezählt werden. Im Anschluss der Bildverarbeitung werden die Teile mittels Druckluft in die Sortiereinheit (Position 5) gefördert, wo sie durch ein System aus mehreren Klappen in das richtige Fach des originalen Lego Baukastens geleitet werden.

Der Aufbau und die Funktion der Maschine werden durch dieses Video weiter veranschaulicht.

Die Ansteuerung der Lego Zählmaschine übernimmt ein Arduino MEGA 2560, während die Verarbeitung der durch die Logitech C920 Webcams aufgenommenen Bilder sowie die Bedienoberfläche in MATLAB realisiert ist.

Nachfolgend sollen die Ergebnisse des Projektes zum Stand des Wintersemesters 18/19 vorgestellt werden.


Betreuer: Prof. Schneider, Prof. Goebel

[1] [2]


Danksagung

Wir möchten uns an dieser Stelle ganz herzlich und ausdrücklich bei der Stiftung Förderung von Bildung, Wissenschaft und Technologie im Kreis Soest bedanken, die dieses Projekt "Bildverarbeitung in der Automatisierungstechnik" finanziell unterstützt hat.









Historie

Folgende Gruppen haben sich bisher mit dem Aufbau und der Weiterentwicklung der Legoteil-Zählmaschine beschäftigt und diesen Fortschritt in den jeweiligen Artikeln festgehalten.


Die Teams

In dieser Rubrik sollen die jeweiligen Teams pro Studienjahr, welche sich mit der Legoteil Zählmaschine beschäftigt haben, kurz vorgestellt werden. Ziel dieser Dokumentation ist es, dass spätere Teams sich schneller an die jeweiligen Experten wenden können, falls diese Fragen oder Probleme mit ihrer Aufgabe haben. Eine genaue Aufgabenverteilung und die Teammitglieder befinden sich hinter dem jeweiligen Link:


Beschreibung des Projektes

Ziel dieses Projektes ist es, ein System zu entwerfen, welches vollautomatisch Legoteile zählt und sortiert. Dabei sollen der Maschine verschiedenen Baukästen übergeben werden können, welche anhand ihrer Baukastennummer in der Bedieneroberfläche auswählbar sind. Im nächsten Schritt werden die Teile dieses Baukastens physikalisch in den Bunker der Legoteilzählmaschine gefüllt.
Nach dem Start des Programms werden folgende Schritte automatisch abgearbeitet:

  • Vereinzelung der Legoteile
  • Zentrierung der Legoteile auf dem Band
  • Erkennung der Legoteile durch Bildverarbeitung
  • Sortierung der Legoteile in den leeren Baukasten

Ergebnis: Als Ergebnis soll eine Teileliste ausgegeben werden, in der vermerkt ist ob der Baukasten vollständig ist. Falls dies nicht der Fall ist, soll der Liste entnommen werden können, welche Teile in welcher Stückzahl fehlen.

Die genauen Anforderungen sind dem Lastenheft zu entnehmen.


[2] [3] [4]

Gebrauchsanweisung / Schritt-für-Schritt Anleitung

Bevor die Legosortiermaschine gestartet wird, gibt es einige Punkte zu beachten. In einer Anleitung wird der Programmstart Schritt für Schritt erläutert und die gesamt Oberfläche beschrieben. Diese Anleitung ist unter folgendem Link zu finden:

Anleitungen Legozählmaschine

Durchführung des Projektes

Die Durchführung des Projektes beinhaltet die Planung und die Ergebnisse der Teilbereiche sowie der gesamten Anlage.

Projektplanung

Für das Projekt gibt es einen Projektleiter, welcher sich um das Projektmanagement kümmert.

Die Projektplanung wurde mit Hilfe eines Kanban-Boards durchgeführt. Dieses Board gibt eine Übersicht über die Teilaufgaben des Projektes. Dazu sind diese Teilaufgaben in kleine Arbeitspakete geteilt, welche von einer Person innerhalb eines Praktikumtermins realisierbar sind. Jedes Arbeitspaket wird auf einen Post-it geschrieben und in eine der folgenden Kategorien eingeteilt, um den Fortschritt des Projektes auf einem Blick erkennen zu können:

  • Offen
  • In Arbeit
  • Warten
  • Erledigt

Zusätzlich sind Zeilen für die Teilaufgaben Separierung, Bildverarbeitung, Sortierung sowie die Gesamtanlage angelegt, um die Arbeitspakete genauer zuordnen zu können. Abbildung 2 zeigt den Aufbau des Kanban-Boards beispielhaft an den Teilaufgaben der Separierung einer Person zum Stand des zweiten Meilensteins.

Abbildung 2: Beispiel Kanban Board



[2]

Ergebnisse des Projektes

Die Aufgaben werden in drei Themengebiete unterteilt und von den jeweiligen Teams bearbeitet.

Separierung

Die Separierung ist der erste Schritt zum Sortieren der Legoteile. Ziel dabei ist, die verschiedenen Teile zu separieren und einzeln in die Bildverarbeitung laufen zu lassen.


Bildverarbeitung und Programmierung

In der Bildverarbeitung werden die Legoteile erkannt, mit einer Datenbank verglichen und die Sortierung wird passend angesteuert.


Sortierung

Bei der Sortierung werden die Legoteile über Klappen so gesteuert, dass sie in ein vorgegebenenes Fach in der Einlage des Legokastens fallen.


Gesamte Anlage

Die Legosortiermaschine soll am Ende als eine Einheit funktionieren. In diesem Artikel werden Themen beschrieben, die die gesamte Anlage betreffen.


[2] [5]

Autoren

  1. Autor Maik Schmotz
  2. 2,0 2,1 2,2 2,3 Autor Madlen Bartnick
  3. Autor Tobias Brandt
  4. Autor Marc Eidhoff
  5. Autor Torben Müller


Links