Legoteil Zählmaschine: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
[[Datei:2016 2017 Aufbau Legomaschine V2.jpg|600px|thumb|rechts|Abbildung 1: Aufbau der Legoteil Zählmaschine]]
[[Datei:2016 2017 Aufbau Legomaschine V2.jpg|500px|thumb|rechts|Abbildung 1: Aufbau 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 2018 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.


In Abbildung 1 sieht man die Maschine. Ganz links 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.  
Der aktuelle Aufbau der Lego Zählmaschine ist in Abbildung 1 dargestellt. Position 1 zeigt das Bunkerband, welches die eingefüllten Teile auf ein dahinter liegendes Förderband (Position 2) transportiert. Auf diesem Förderband ist eine Separierungsbox (Position 3) montiert. Die Separierungsbox überprüft die Vereinzelung der Teile durch Bildverarbeitung und verbessert diese mittels Druckluftdüsen falls notwendig. Am Ende des Förderbandes befindet sich die Bildverarbeitungsbox (Position 4), in der die Teile durch die erkannt und gezählt werden.  


Weitere Informationen zu dem aktuellen Stand sind in diesem Artikel zu lesen.
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 Bedieneroberfläche in MATLAB realisiert ist.
 
Das Starten der Maschine, die Bedienung der Benutzeroberfläche sowie die wichtigsten SQL-Befehle sind durch die  [[Anleitung Legoteilzählmaschine | '''hier''']] erklärt.
 
<br />
Nachfolgend sollen die Ergebnisse des Projektes zum Stand des Sommersemesters 2018 vorgestellt werden.




Zeile 11: Zeile 16:


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


== Danksagung ==
= Danksagung =
[[Datei:BWT.jpg|200px|links]]
[[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.
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''' =
= 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.
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.


Zeile 22: Zeile 28:
* '''SS16:''' [[Legoteil_Z%C3%A4hlmaschine_2016 | Legoteilzählmaschine SS16]]
* '''SS16:''' [[Legoteil_Z%C3%A4hlmaschine_2016 | Legoteilzählmaschine SS16]]
* '''WS16/17:''' [[Legoteil_Z%C3%A4hlmaschine_2016_2017 | Legoteilzählmaschine WS 16 ]]
* '''WS16/17:''' [[Legoteil_Z%C3%A4hlmaschine_2016_2017 | Legoteilzählmaschine WS 16 ]]
<br /><br />


=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 auszahlbar 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:
* Vereinzelung der Legoteile
* Zentrierung der Legoteile auf dem Band
* Erkennung der Legoteile durch Bildverarbeitung
* Sortierung der Legoteile in den leeren Baukasten <br />


'''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 [https://svn.hshl.de/svn/MTR_SDE_Praktikum_2015/trunk/Anforderungsmanagement/Lastenheft/Lastenheft_Automatisierung.pdf  Lastenheft] zu entnehmen.


=='''Einleitung'''==
<ref name="Autor: Schmotz"> Autor Maik Schmotz</ref>
<ref name="Autor: Busemann"> Autor Nils Busemann</ref>
<ref name="Autor: Bartnick"> Autor Madlen Bartnick</ref>
<br /><br />
 
=Durchführung des Projektes=


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


==Projektplanung==


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.
=== Kanban-Tafel ===


Ziel dieses Projektes ist, ein System zu entwerfen, welches Legoteile zählt und sortiert. 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
* 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.
* Sortierung der Legoteile in zwei Kategorien 'Erkannt' und 'Nicht erkannt' <br />


'''Ergebnis:'''
[[Datei:Beispiel_Kanbanboard.jpg|100px|thumb|rechts|Abbildung 2: Aufbau der Kanbantafel]]
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 />
Falls dies nicht der Fall ist, soll der Teileliste entnommen werden können, welche und wie viele Teile fehlen.


Die genauen Anforderungen sind dem [https://svn.hshl.de/svn/MTR_SDE_Praktikum_2015/trunk/Anforderungsmanagement/Lastenheft/Lastenheft_Automatisierung.pdf  Lastenheft] zu entnehmen
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 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 Kategorien:
* offen: Offene Aufgaben, welche noch nicht angefangen sind
* in Arbeit: Aufgaben, welche gerade bearbeitet werden
* warten: Aufgaben, welche von anderen Faktoren abhängen. Dies sind zum Beispiel Bestellungen, andere Aufgaben oder Entscheidungen
* erledigt: Sammlung der erledigten Aufgaben


=== 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: <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. Im folgenden wird es Bunkerband genannt.  (siehe Abbildung 1: 1)
* Förderband 2: Förderband zum Transportieren der Legoteile zur Vereinzelung und zur Bildverarbeitung. Es wird im folgenden nur mit Förderband bezeichnet. (siehe Abbildung 1: 2)
* Schaltschrank: Der Schaltschrank beinhaltet die gesamte, sonst offen zugängliche, Elektronik und ist neben dem Bunkerband auf der Holzplatte fest montiert. (siehe Abbildung 1: 3)
* Sortiervorrichtung: Klappenmechanismus zum Einsortieren der Legoteile in die vorgesehenen Kästen. Sie ist aktuell nicht zusammengebaut.
* Bildverarbeitungsbox: Dort werden die Teile erkannt und gezählt. (siehe Abbildung 1: 4)


=== Beschreibung der Komponenten ===
Arbeitspakete werden möglichst so definiert, dass jede Gruppe bzw. jeder Einzelne pro Team eine Aufgabe an einem Termin abarbeiten kann und somit auf dem Board verschieben kann.
Neben den bereits genannten Förderbändern wurden folgende Komponenten verbaut: <br />
* Teilvereinzelungsbox: Hier werden Teile erkannt, die dicht beieinander liegen und durch Druckluft vereinzelt werden
* Schaltschrank: Beinhaltet zwei Spannungswandler sowie einen Arduino MEGA 2560 mit selbst entwickelten Aufsteckboard zur Ansteuerung der Motoren, Servos sowie zum Auslesen von Potentiometern. Der Arduino dient als Schnittstelle zwischen MATLAB Software und Förderbandsystem und wird über die serielle Schnittstelle angesteuert (USB).
* Computer: Der Computer beinhaltet Matlab zur Bildverarbeitung und ermöglicht ein Livetracking zum Zählen und Sortieren der Legoeile.
* Webcam: Zur Anwendung kommen zwei Logitech C920 Webcams.


<ref name="Autor: Busemann"> Autor Nils Busemann</ref> <ref name="Autor: Schmotz"> Autor Maik Schmotz</ref>
<ref name="Autor: Busemann"> Autor Nils Busemann</ref>
<br /><br />


='''Teilaufgaben'''=
==Ergebnisse des Projektes==


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 70: Zeile 83:




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. Dies ist notwendig, da die Bildverarbeitung lediglich einzelne Legoteile erkennen kann.
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. Dies ist notwendig, da die Bildverarbeitung lediglich einzelne Legoteile erkennen kann.




Zeile 84: Zeile 97:




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




Zeile 92: Zeile 105:




<ref name="Autor: Busemann"> Autor Nils Busemann</ref>
<ref name="Autor: Müller"> Autor Torben Müller</ref>


= '''Anleitungen'''=
== Dokumentation==


Die gesamten Dateien und Unterlagen sind strukturiert in [https://svn.hshl.de/usvn/project/MTR_SDE_Praktikum_2015/browser    SVN] gesichert und versioniert.


Hier finden sie die [[Anleitung Legoteilzählmaschine | '''Anleitungen für die Sortiermaschine''']]. Dazu gehört die Anleitung für das Starten der Maschine, die Bedingung des GUI und eine Erklärung der wichtigsten SQL-Befehle.


<ref name="Autor: Auf der Landwehr"> Autor Jan Auf der Landwehr</ref>
<ref name="Autor: Bartnick"> Autor Madlen Bartnick</ref>  
 
<ref name="Autor: Müller"> Autor Torben Müller</ref>
= '''Projektplanung''' =
 
Für das Projekt gibt es einen Projektleiter, welcher sich um das [http://193.175.248.52/wiki/index.php/Projektmanagment_Legoteilmaschine  Projektmanagment] kümmert.
 
== Kanban-Tafel ==
 
[[Datei:Beispiel_Kanbanboard.jpg|100px|thumb|rechts|Abbildung 2: Aufbau der Kanbantafel]]
 
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 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 Kategorien:
* offen: Offene Aufgaben, welche noch nicht angefangen sind
* in Arbeit: Aufgaben, welche gerade bearbeitet werden
* warten: Aufgaben, welche von anderen Faktoren abhängen. Dies sind zum Beispiel Bestellungen, andere Aufgaben oder Entscheidungen
* erledigt: Sammlung der erledigten Aufgaben
 
 
Arbeitspakete werden möglichst so definiert, dass jede Gruppe bzw. jeder Einzelne pro Team eine Aufgabe an einem Termin abarbeiten kann und somit auf dem Board verschieben kann.
 
<ref name="Autor: Busemann"> Autor Nils Busemann</ref>
 
= '''Dateisicherung und -dokumentation''' =
 
Die gesamten Dateien und Unterlagen sind in SVN gesichert und versioniert. Diese sind in der [https://svn.hshl.de/usvn/project/MTR_SDE_Praktikum_2015/browser  Dateiablage in SVN] zu erreichen. Dort ist durch eine Ordnerstruktur eine gute Übersicht gegeben.
 
<ref name="Autor: Busemann"> Autor Nils Busemann</ref>


= Autoren =
= Autoren =

Version vom 27. Juli 2018, 22:21 Uhr

Abbildung 1: Aufbau 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 in Abbildung 1 dargestellt. Position 1 zeigt das Bunkerband, welches die eingefüllten Teile auf ein dahinter liegendes Förderband (Position 2) transportiert. Auf diesem Förderband ist eine Separierungsbox (Position 3) montiert. Die Separierungsbox überprüft die Vereinzelung der Teile durch Bildverarbeitung und verbessert diese mittels Druckluftdüsen falls notwendig. Am Ende des Förderbandes befindet sich die Bildverarbeitungsbox (Position 4), in der die Teile durch die erkannt und gezählt werden.

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 Bedieneroberfläche in MATLAB realisiert ist.

Das Starten der Maschine, die Bedienung der Benutzeroberfläche sowie die wichtigsten SQL-Befehle sind durch die hier erklärt.


Nachfolgend sollen die Ergebnisse des Projektes zum Stand des Sommersemesters 2018 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.



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 auszahlbar 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.

[1] [3] [2]

Durchführung des Projektes

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

Projektplanung

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

Kanban-Tafel

Abbildung 2: Aufbau der Kanbantafel

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 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 Kategorien:

  • offen: Offene Aufgaben, welche noch nicht angefangen sind
  • in Arbeit: Aufgaben, welche gerade bearbeitet werden
  • warten: Aufgaben, welche von anderen Faktoren abhängen. Dies sind zum Beispiel Bestellungen, andere Aufgaben oder Entscheidungen
  • erledigt: Sammlung der erledigten Aufgaben


Arbeitspakete werden möglichst so definiert, dass jede Gruppe bzw. jeder Einzelne pro Team eine Aufgabe an einem Termin abarbeiten kann und somit auf dem Board verschieben kann.

[3]

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. Dies ist notwendig, da die Bildverarbeitung lediglich einzelne Legoteile erkennen kann.


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 und keinen direkten Teilbereich.


Dokumentation

Die gesamten Dateien und Unterlagen sind strukturiert in SVN gesichert und versioniert.


[2] [4]

Autoren

  1. 1,0 1,1 Autor Maik Schmotz
  2. 2,0 2,1 2,2 Autor Madlen Bartnick
  3. 3,0 3,1 Autor Nils Busemann
  4. Autor Torben Müller


Links