Lade Inhalt...

Simulation verschiedener Steuerstrategien für einen autonomen Industrieroboter für das Umwälzen von eingelagertem Getreide

Studienarbeit 2006 45 Seiten

Elektrotechnik

Leseprobe

Inhaltsverzeichnis

Verzeichnis der Abbildungen

Verzeichnis der Tabellen

Verzeichnis der Abkürzungen und Formelzeichen

1 Einleitung

2 Steuerstrategien
2.1 Ping-Pong
2.2 Ping-Pong mit zufälligen Richtungswechseln
2.3 Spiralbewegung
2.4 Reguläre Bewegung

3 Das Qt-Toolkit
3.1 Die Qt Klassenbibliothek
3.2 Qt Entwicklungswerkzeuge

4 Das MVC-Muster

5 Simulationsprogramm
5.1 Umsetzung der Steuerstrategien
5.2 Entwicklungsumgebungen
5.3 Programmarchitektur
5.4 Projektbeschreibung
5.5 Die Benutzeroberfläche
5.6 Modellierung mit dem Qt Designer
5.7 Zeichnen von Grafikprimitiven
5.8 Portierung auf die Windows Plattform

6 Vergleich der Strategien

7 Zusammenfassung und Ausblick

Literaturverzeichnis

Verzeichnis der Abbildungen

Abb. 1.1: Industrieroboter "Kornknecht" [22]

Abb. 2.1: Ping-Pong Bewegung

Abb. 2.2: Reflexion

Abb. 2.3: Bewegung mit zufälligen Richtungsänderungen

Abb. 2.4: Archimedische Spirale

Abb. 2.5: Reguläre Bewegung A

Abb. 2.6: Reguläre Bewegung B

Abb. 3.1: Das Qt-Toolkit für verschiedene Plattformen

Abb. 3.2: Signals and Slots Prinzip

Abb. 3.3: Screenshot Qt Designer

Abb. 4.1: Model-View-Controller Architekturmuster

Abb. 5.1: Model-View-Controller Muster in der Simulationsanwendung

Abb. 5.2: Timergesteuerte Simulation

Abb. 5.3: Anordnung der Widgets in der Benutzeroberfläche

Abb. 5.4: Grafische Oberfläche der Simulationsanwendung

Abb. 5.5: Editiermodus im Qt Designer

Abb. 5.6: Formularvorschau im Qt Designer

Abb. 5.7: Slot-Deklaration im Qt Designer

Abb. 5.8: Signal und Slot Verbindungen im Qt Designer

Abb. 5.9: Entwicklungsprozess für Formulare

Abb. 6.1: Zeitlicher Verlauf der Flächenabdeckung - Ping-Pong

Abb. 6.2: Zeitlicher Verlauf der Flächenabdeckung - Ping-Pong mit zufälligen Richtungswechseln

Abb. 6.3: Zeitlicher Verlauf der Flächenabdeckung - Spiralbewegung

Abb. 6.4: Zeitlicher Verlauf der Flächenabdeckung - Reguläre Bewegung

Abb. 6.5: Schema autonome Steuerung

Verzeichnis der Tabellen

Tabelle 6.1: Gegenüberstellung der Strategien

Verzeichnis der Abkürzungen und Formelzeichen

Abbildung in dieser Leseprobe nicht enthalten

1 Einleitung

Neue Innovationen sowie der technologische Fortschritt bestimmen immer mehr die Wirtschaft in Deutschland - und auch in der Landwirtschaftstechnik haben Neuerungen ihren festen Platz. Besonders stehen dabei Ziele wie die Optimierung der Arbeitsprozesse sowie eine effiziente Arbeitsweise im Vordergrund. Doch leider ist es heute immer noch so, dass viele eingesetzte Geräte oder Technologien diese Ziele nicht erreichen.

So auch der Industrieroboter „Kornknecht“, eine mobile Misch-Schnecke (siehe Abb. 1.1) für den Einsatz in Getreidelagern. Er besteht aus einem Getriebemotor, verbunden mit einem Spezialgehäuse und einer Schnecke mit variabler Länge zwischen 1m und 4m, welche bei Betrieb senkrecht im Getreide rotiert. Einsatzziele sind:

- Mischen und Homogenisieren des Getreides
- Auflockern und fließfähig halten
- Wärmenester beseitigen
- Belüftungsrate verbessern
- Lagerbelüftungstrocknung intensivieren
- Höhere Trocknungstemperaturen bei Lagerbelüftungstrocknung ermöglichen [22]

Abbildung in dieser Leseprobe nicht enthalten

Abb. 1.1: Industrieroboter "Kornknecht" [22]

Derzeit verfügt der Roboter über keine automatische Steuerungsmöglichkeit. Darüber hinaus muss er manuell auf den gewünschten Kurs ausgerichtet werden. Bei dieser Handhabung ist jedoch nicht sichergestellt, dass der Roboter einen effizienten Weg verwendet und es erfordert eine Arbeitskraft, die ständig den Roboter beobachtet und die Kursänderungen vornimmt. Daher ist es sinnvoll, den Roboter für einen autonomen Betrieb, also ohne Steuerung durch menschliches Bedienpersonal, zu erweitern.

Ziel dieser Arbeit ist es, verschiedene Steuerungsstrategien zu entwickeln, die mit Hilfe einer Simulationsanwendung analysiert und deren Parameter optimiert werden können. Dabei werden zunächst verschiedene Strategien und deren mögliche Parameter erläutert. Des Weiteren wird die programmtechnische Umsetzung dieser Taktiken in einem Simulationsprogramm, welches plattformunabhängig[1] entwickelt und mit einer grafischen Benutzeroberfläche[2] ausgestattet wird, beschrieben. Aufgrund dieser Anforderungen bietet es sich an, die Qt-Klassenbibliothek[3] zu verwenden, da sie die Plattformübergreifende Programmierung unterstützt und bereits eine umfangreiche Auswahl an grafischen Ein- und Ausgabeelementen beinhaltet. Neben einer vereinfachten Darstellung des Getreidelagers mit der aktuellen Position des Roboters und der bereits abgefahrenen Fläche, kann der Anwender einzelne Parameter der Steuerungsstrategien vorgeben. Zusätzlich dazu wird eine Visualisierung der bereits umgewälzten Fläche über der Zeit angezeigt. Mit Hilfe dieses Diagramms können dann Rückschlüsse auf die Effizienz und Zweckmäßigkeit der einzelnen Steuerungsstrategien gezogen werden.

2 Steuerstrategien

Die Steuerung des Roboters kann nach verschiedenen Strategien erfolgen. Der Roboter soll dabei bestimmten Bewegungsmustern folgen, die mehr oder weniger optimal die Fläche abdecken und unterschiedlichen Steuerungsaufwand beinhalten. Bei der Simulation wird davon ausgegangen, dass die Fläche des Getreidespeichers rechteckig ist. Runde Geometrien werden nicht betrachtet.

2.1 Ping-Pong

Die Ping-Pong Strategie beruht auf der Idee, dass sich der Roboter geradlinig bewegt, bis er auf ein Hindernis trifft und von diesem quasi reflektiert wird (siehe Abb. 2.1). Das Hindernis stellt im Normalfall die Wand des Getreidespeichers dar. Stellt der Roboter fest, dass er sich kurz vor der Begrenzung befindet, so muss eine Richtungsänderung erfolgen.

Abbildung in dieser Leseprobe nicht enthalten

Abb. 2.1: Ping-Pong Bewegung

Abbildung in dieser Leseprobe nicht enthalten

Abb. 2.2: Reflexion

Zur Berechnung der neuen Richtung wird das Reflexionsgesetz angewandt, demnach der Winkel des einfallenden Strahls zum Lot gleich dem Winkel des ausfallenden Strahles zum Lot ist (siehe Abb. 2.2).

2.2 Ping-Pong mit zufälligen Richtungswechseln

Die Basis für diese Bewegungsstrategie ist die zuvor beschriebene Ping-Pong Strategie. Der Roboter bewegt sich zunächst geradlinig und folgt bei Hindernissen dem Reflexionsgesetz. Hinzu kommen zufällige Richtungsänderungen. Diese entstehen, indem der zeitliche Abstand zwischen den Änderungen, wie auch die neue Richtung durch Zufall gewählt werden. Das so entstehende Bewegungsmuster ähnelt einer Brownschen Molekularbewegung[4], bei der die unregelmäßig zuckenden Bewegungen von aneinander stoßenden Molekülen zu beobachten ist (siehe Abb. 2.3).

Abbildung in dieser Leseprobe nicht enthalten

Abb. 2.3: Bewegung mit zufälligen Richtungsänderungen

2.3 Spiralbewegung

Für dieses Bewegungsmuster wird angenommen, dass sich der Roboter kreisförmig und mit konstanter Bahngeschwindigkeit um einen festen Punkt bewegt. Dabei soll sich der Abstand zum Mittelpunkt konstant verringern, so dass nach einer Umrundung die Bahn des Roboters um eine Spurbreite versetzt ist. Diese Bahn entspricht dem Kurvenverlauf einer archimedischen Spirale (siehe Abb. 2.4).

Abbildung in dieser Leseprobe nicht enthalten

Abb. 2.4: Archimedische Spirale

Die archimedische Spirale ist eine Kurve, die sich durch einen konstanten Windungsabstand über den gesamten Definitionsbereich auszeichnet [21].

Im Folgenden sind jeweils eine Formel für den Radius [Abbildung in dieser Leseprobe nicht enthalten] in Abhängigkeit vom Winkel [Abbildung in dieser Leseprobe nicht enthalten] und eine Formel für die Länge [Abbildung in dieser Leseprobe nicht enthalten] der Spirale, von [Abbildung in dieser Leseprobe nicht enthalten] ausgehend, angegeben. Die verwendete Konstante [Abbildung in dieser Leseprobe nicht enthalten] ergibt sich dabei aus dem Abstand zweier Punkte, die auf einem Strahl liegen, der vom Spiralmittelpunkt ausgeht. Dieser beträgt bei der archimedischen Spirale [Abbildung in dieser Leseprobe nicht enthalten], was in diesem Kontext der Spurbreite [Abbildung in dieser Leseprobe nicht enthalten] des Roboters entspricht.

Abbildung in dieser Leseprobe nicht enthalten

2.4 Reguläre Bewegung

Die Reguläre Bewegung kann auf zwei Arten umgesetzt werden. Zum Einen eine gleichmäßige Hin- und Herbewegung (siehe Abb. 2.5) und zum Anderen eine Bewegung entlang der Außenkante mit größer werdendem Abstand zur Wand (siehe Abb. 2.6).

Die Hin- und Herbewegung erfolgt, indem der Roboter parallel zu einer vertikalen Seitenwand entlangfährt. Beim Erreichen einer horizontalen Wand wird die Bewegung in der entgegengesetzten Richtung fortgesetzt. Zudem muss die Bahn des Roboters um eine Spurbreite des Roboters versetzt werden.

Bei der zweiten Variante erfolgt die Bewegung immer parallel zur Außenkante. Erreicht der Roboter eine Wand oder eine bereits abgefahrenen Fläche, so wird seine Bewegungsrichtung um 90° rechtsdrehend geändert.

Abbildung in dieser Leseprobe nicht enthalten

Abb. 2.5: Reguläre Bewegung A

Abbildung in dieser Leseprobe nicht enthalten

Abb. 2.6: Reguläre Bewegung B

3 Das Qt-Toolkit

Zur Realisierung der Simulationsanwendung wird das Qt-Toolkit eingesetzt. Es besteht aus einer umfangreichen Klassenbibliothek und diversen Entwicklungswerkzeugen für die plattformübergreifende Programmierung grafischer Benutzeroberflächen unter C++[5]. Die norwegische Firma Trolltech entwickelt Qt seit 1994 und bietet es für verschiedene Betriebssysteme an (Abb. 3.1):

- Qt/Windows (Microsoft Windows XP, 2000, NT 4, Me/98)
- Qt/Mac (Mac OS X)
- Qt/X11 (Linux, Solaris, HP-UX, IRIX, AIX, viele weitere Unix Varianten)

Die Klassenbibliothek steht dabei unter GNU General Public License (GPL), aber auch unter einer kommerziellen Lizenz, die benötigt wird, wenn Produkte entwickelt werden, die nicht unter einer freien Lizenz stehen. [6]

Abbildung in dieser Leseprobe nicht enthalten

Abb. 3.1: Das Qt-Toolkit für verschiedene Plattformen

Qt ist aber nicht als Entwicklungsumgebung zu sehen, sondern als reine Klassenbibliothek mit unterstützenden Entwicklungswerkzeugen. Die Bearbeitung von Quellen erfolgt in der bevorzugten Entwicklungsumgebung des Programmierers oder in einem einfachen Texteditor. Einige mitgelieferte Werkzeuge können so zum Beispiel in Entwicklungsumgebungen wie Microsoft Visual Studio integriert werden.

3.1 Die Qt Klassenbibliothek

Qt ist eine Klassenbibliothek für die Programmiersprache C++. Aufgrund der intensiven Nutzung des Konzeptes der Klassenvererbung, bekommt die Bibliothek eine übersichtliche und einheitliche Schnittstelle, in der sich der Anwender schnell zurechtfindet.

Für fast alle gängigen grafischen Eingabe- und Ausgabeelemente (so genannten Widgets) sind Klassen vorhanden, wie zum Beispiel für Buttons, Auswahlboxen, Eingabezeilen und Menüleisten, sowie Klassen zur Anordnung dieser Elemente in einem Fenster. Zudem bietet Qt einfache Mittel um auf dem Bildschirm zu zeichnen, von einfachen Punkten und Linien bis zu komplexen Vielecken und Text. Des Weiteren sind Klassen enthalten, die den plattformunabhängigen Dateizugriff, das Ansteuern von Druckern oder das Erzeugen von elementaren Datenstrukturen ermöglichen. [1]

[...]


[1] Plattformunabhängigkeit - Plattformunabhängigkeit ist die Eigenschaft eines Programms, auf verschiedenen Computersystemen mit Unterschieden in Architektur, Prozessor, Betriebssystem usw. lauffähig zu sein [14].

[2] Grafische Benutzeroberfläche - Eine grafische Benutzeroberfläche ist eine Softwarekomponente, die einem Computerbenutzer die Interaktion mit der Maschine über grafische Elemente unter Verwendung eines Zeigegerätes erlaubt [15].

[3] Qt-Klassenbibliothek – Die Bibliothek wird in Kapitel 3 näher beschrieben.

[4] Brownsche Molekularbewegung - Als Brownsche Molekularbewegung wird die vom schottischen Botaniker Robert Brown im Jahr 1827 beschriebene, thermisch getriebene Eigenbewegung der Moleküle bezeichnet, welche er als unregelmäßig zuckende Bewegungen schilderte [16].

[5] C++ - C++ ist eine objektorientierte Programmiersprache

Details

Seiten
45
Jahr
2006
ISBN (eBook)
9783638471060
Dateigröße
1.3 MB
Sprache
Deutsch
Katalognummer
v51035
Institution / Hochschule
Universität Rostock
Note
1,0
Schlagworte
Simulation Steuerstrategien Industrieroboter Umwälzen Getreide

Autor

Zurück

Titel: Simulation verschiedener Steuerstrategien für einen autonomen Industrieroboter für das Umwälzen von eingelagertem Getreide