Table Of ContentFachberichte Simulation
Herausgegeben von D. Moller und B. Schmidt
Band 14
Bernhard Hornung
Simulation
paralleler
Roboterprozesse
Ein System zur
rechnergestiitzten Programmierung
komplexer Roboterstationen
Springer-Verlag
Berlin Heidelberg New York London
Paris Tokyo Hong Kong Barcelona 1990
Wissenschaftlicher Beirat:
M. Birkle, 1. Biethahn, P. Schmitz, H. W. SchU/3Ier, A. Storr, M. Thoma
Herausgeber der Reihe
Dr. D. Moller Prof. Dr. B. Schmidt
Physiologisches Institut Informatik IV
Universitat Mainz Universitat Erlangen-NUrnberg
Saarstra13e 21 Martensstra13e 3
6500 Mainz 8520 Erlangen
Autor
Dr. rer. nat. Bernhard Hornung
Karl-Berner-Stra13e 10
7800 Freiburg
090 (Diss. Universitiit Karlsruhe)
Sp3R: Ein System zur graphischen Programmierung und Simulation paralleler
ProzeBabliiufe in komplexen Roboterfertigungszellen.
ISBN 978-3-540-53046-6 ISBN 978-3-642-51149-3 (eBook)
DOl 10.1007/978-3-642-51149-3
CIP-Titelaufnahme der Deutschen Bibliothek
Hornung, Bernhard:
Simulation paralleler Roboterprozesse / Bernhard Hornung.-
Berlin; Heidelberg; New York ; London; Paris; Tokyo; Hong Kong; Barcelona: Springer, 1990
(Fachberichte Simulation; Bd. 14)
Zugl.: Karlsruhe, Univ., Diss.
NE:GT
Dieses Werk ist urheberrechtlich geschiitzl. Die dadurch begriindeten Rechte, insbesondere die der
Ubersetzung, des Nachdrucks, des Vortrags,der Entnahme von Abbildungen und Tabelien, der Funk
sendung, der Mikroverfilmung oder derVervielfliltigung auf anderen Wegen und der Speicherung in
Datenverarbeitungsanlagen bleiben, auch bei nur auszugsweiser VeIWertung, vorbehalten. Eine
Vervielfaltigung dieses Werkes odervon Teilen dieses Werkes istauch im Einzelfali nurin den Grenzen
der gesetzlichen Bestimmungen des Urheberrechtsgesetzes der Bundesrepublik Deutschland yom
9. September 1965 in der jeweils giiltigen Fassung zuliissig. Sie ist grundsiitzlich vergiitungspflichtig.
Zuwiderhandlungen unterliegen den Strafbestimmungen des Urheberrechtsgesetzes.
© Springer-Verlag Berlin Heidelberg 1990
Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk
berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, daB solche Namen im Sinne
der Warenzeichen-und Markenschutz-Gesetzgebung als frei zu betrachten wiiren und daher von
jederrnann benutzt werden diirften.
Sollte in diesem Werk direkt oderindirekt aufGesetze, Vorschriften oder Richtlinien (z. B. DIN, VDI,
VDE) Bezug genom men oder aus ihnen zitiert worden sein, so kann der Verlag keine Gewiihr fUr
Richtigkeit, Volistiindigkeit oder Aktualitiit iibernehmen. Es empfiehlt sich, gegebenenfalls fUr die
eigenen Arbeiten die vollstiindigen Vorschriften oder Richtlinien in derjeweils giiltigen Fassung hin
zuzuziehen.
Druck: Color-Druck Dorfi GmbH, Berlin; Bindearbeiten: Liideritz & Bauer, Berlin
2160/3020-543210 -Gedruckt auf siiurefreiem Papier
Vorwort
Der Einsatz von Industrierobotern in der automatisierten Produktion ist in zunehmendem
MaGe durch den Aufbau sehr komplexer Montage-und Fertigungsstationen gekennzeichnet.
Oft arbeiten in fortschrittlichen Roboterzellen mehrere Manipulatoren zusammen mit autono
men Fahrzeugen sensorgestiitzt und koordiniert an einzelnen Fertigungsprozessen. Die
Programmierung der Roboterstation gestaltet sich in diesem Fall schwierig, da parallel ab
laufende Handlungssequenzen mit vielen Interaktionspunkten entwickelt und getestet
werden miissen.
In diesem Buch wird ein Programmiersystem "Sp3R" beschrieben, das eine effiziente
Programmierung und eine detaillierte parallele Simulation von Roboterprozessen ermoglicht.
Sp3R bedeutet .simulation und £,rogrammierung llaralleler £rozeBablaufe in komplexen
Roboterfertigungszellen. Das System ist als Komponente in das graphische Roboter
simulations system ROSI integriert, das zur offline-Modellierung und Programmierung von
Roboterzellen eingesetzt wird.
Kernpunkt des Systems Sp3R ist eine Ablaufsteuerung mit Hilfe einer sogenannten Zeit
schnur, an der sich die Roboterprozesse orientieren. Durch die Zeitschnur wird eine parallele
Simulation der Roboterprozesse auf Interpolationsebene erreicht. Funktionen zur Synchro
nisation und Koordination beschreiben das zeitliche Zusammenspiel der Komponenten in
der Zelle. Der Graphikmodul des Simulations systems steuert die Animation der Ablaufe auf
einem 3D-Realzeit -Graphiksystem.
Das vorgestellte Roboterprogrammiersystem wurde in den Jahren 1988-1990 am Institut flir
ProzeBrechentechnik und Robotik, Universitat Karlsruhe, entwickelt und implementiert. An
dieser Stelle m&hte ich meinem Arbeitskollegen Martin Huck, der das System ROSI und
damit die Softwareumgebung von Sp3R maBgeblich entwickelt hat, Dank sagen, eben so
den Damen und Herren Andrea Rapp, Harald Roth, Klaus Bohnert, Matthias Gouler,
Gerhard Schatz und Gerd Klein, die durch ihre Arbeiten Beitrage zur Implementierung von
Sp3R geliefert haben.
Karlsruhe, im Juli 1990 Bernhard Hornung
Inhaltsverzeichnis
1 Thematische Einordnung und Zielsetzung des Systems Sp3R 1
1.1 Einleitung 1
1.1.1 Einsatz von Robotem 1
1.1.2 Robotersimulationssysteme und Offiine-Programmierung 3
1.2 Modelle und Programmierverfahren 4
1.2.1 Programmierung in realer Produktionsumgebung 4
1.2.2 Grundlagen und Konzepte modellbasierter Roboterprogrammiersprachen 5
1.2.2.1 Framekonzept -Koordinatentransformation -Bahnplanung -
Steuerungsarten 6
1.2.2.2 Umweltmodell-explizite / implizite Programmierung 10
1.2.2.3 Interpretative Kommandosprachen / Compilersprachen 12
1.2.2.4 Zeitliche Koordinierung von Prozessen:
[ Parallelitiit -Synchronisation -Kommunikation ] 12
1.3 Beschriinkungen und Problematiken der eingesetzten Programmierverfahren 15
1.4 Der Ansatz in Sp3R 17
1.4.1 Modellbildung 17
1.4.1.1 Klassiflkation der funktionalen Komponenten 17
1.4.1.2 Baurnstrukturartiges Modell der Roboterzelle 18
1.4.2 Programmiersteuerung 20
1.4.2.1 Zentrale Systemsteuerung, Parallelbedienung der Komponenten,
globale Zeitschnur als Referenz zur Interpolation der Aktionen 20
1.4.2.2 Interpretative Programmausflihrung mit Rlicksprungmoglich-
keiten 21
1.4.3 Synchronisation und Koordination 21
1.5 Vergleich des Systems mit anderen Simulationsverfahren flir robotergestlitzte
Fertigungsanwendungen 23
1.5.1 Giingige Roboterprogrammiersprachen und Robotersimulationssysteme 23
1.5.2 Diskrete Simulation flexibler Fertigungssysteme 25
1.5.2.1 Petrinetze 25
1.5.2.2 General Purpose-Simulationssprachen 27
1.5.2.3 Abgrenzung von Sp3R 29
1.6 Entstehungsgeschichte von Sp3R 30
VII
2 Modellstruktur, Simulationssteuerung, Funktionen von Sp3R 32
2.1 Beispiel-Fertigungszelle zur Motivation 32
2.2 Einteilung der Zellkomponenten in Klassen 34
2.2.1 Aktive funktionsbehaftete Komponenten 34
2.2.2 Passive Komponenten 41
2.2.3 Topologische Beziehungen der Komponenten und semantische
Restriktionen 43
2.3 Das zugrundeliegende Modell in Sp3R 45
2.3.1 Dynamische Datenstrukturen zur Reprasentation der Zellstruktur mit
ihren Komponenten 45
2.3.1.1 Struktur einer Kornponente 46
2.3.1.1.1 Universeller Beschreibungsteil 46
2.3.1.1.2 Klassentypspezifischer Beschreibungsteil 47
2.3.1. 2 Verzeigerung der Komponenten 49
2.3.1.3 Ableitung des Sp3R-Modells aus den Datenstrukturen des
Modellierprozesses 50
2.3.2 Modell zur Beschreibung der Beispielzelle 52
2.3.3 Zuordnung der Programmierkomrnandos zu den Komponenten 52
2.3.3.1 Anhangen der Befehlslisten an die Komponentenstrukturen 54
2.3.3.2 Zuordnung der Interpolationsinformation zu den Befehlen 54
2.4 Die zentrale Systernsteuerung in Sp3R 56
2.4.1 Die Idee der Zeitschnur: eine glob ale Systemzeit mit diskretem Raster
als Referenz aller Aktionen 56
2.4.2 Verwaltung und Fortschaltung der aktiven Komponenten in jedem
Interpolationsschri tt 58
2.4.3 Steuerung des Programrnablaufs 59
2.4.3.1 Anforderung neuer Programrnierbefehle im Programm-
definitionsmodus 60
2.4.3.1.1 Spezifikation eines neuen Befehls im Dialog 60
2.4.3.1.2 Lesen vordefinierter Befehlssequenzen 61
2.4.3.2 Befehlsausftihrung irn Simulationsmodus 61
2.4.3.3 Zurilcksetzen des Programrnzeigers urn die minimal erforder-
liche Zeitdifferenz 62
VIII
2.5 Programmierfunktionen fi.ir die Komponentenklassen 65
2.5. 1 Indi viduelle Funktionssatze fiir jede Klasse 65
I. Roboter mit Effektor 66
II. Fahrzeug 69
III. Sensor 69
IV. Hilfskinematik 71
V. Werksruck / Frame 72
VI. Allgemeine / System-Befehle 73
2.5.2 Emulation der Komponenten zur Ausfiihrung ihrer Funktionen 75
I. Roboteremulation 75
II. Fahrzeugemulation 77
III. Sensoremulation 78
IV. Emulation von Hilfskinematiken 79
2.6 Synchronisation 80
2.6.1 Kanale und Ereignisobjekte fi.ir Kommunikation und zeitliche
Synchronisation der Komponenten 80
2.6.2 Beispiele 83
2.6.3 Synchronisationskommandos 87
2.6.3.1 Systemseitige Befehle zur Definition von Kanalen und
Ereignisobjekten 87
2.6.3.2 Klassenunabhiingige Befehle zum Setzen und Warten auf
Kanalsignal und Ereignisobjekt 88
2.6.3.3 Klassenspezifische Synchronisationsfunktionen 88
2.7 Koordination 89
2.7.1 Prinzip des Koordinationsmodus:
Ein bewegtes Frame mit nachfolgenden abhangigen Komponenten 89
2.7.2 Explizite / implizite Bewegungsvorgabe 90
2.7.3 Ablauf einer Koordinationsbewegung 91
2.7.3.1 Defmition und Startfreigabe 91
2.7.3.2 S ynchronisierphase 94
2.7.3.3 Allgemeine Bewegungsphase 94
2.7.3.4 Entkopplung 95
2.7.4 Beispiele 95
2.7.5 Systemseitige Koordinationsfunktionen 98
2.7.6 Randbedingungen und Schwierigkeiten 98
IX
2.8 Simulationsergebnisse 100
2.8.1 Entwicklung, Test und Bewertung von Programmen in der Roboterzelle 100
2.8.2 Archivierung von Programmen und download 101
2.8.3 Graphische Visualisierung der Programme 101
2.8.4 Kollisionstest 102
3 Systemumgebung, Implementierung, Programmbeispiel 105
3.1 Das Robotersimulationssystem ROSI 105
3.2 Implementierung von Sp3R 107
3.2.1 Einbettung und Schnittstellen Sp3R <-> ROSI 107
3.2.2 Die Programmablaufstruktur von Sp3R 110
3.2.2.1 Gesichtspunkte beim Entwurf der Programmablaufstruktur 111
3.2.2.2 Programmdefinitionsmodus 111
3.2.2.3 Planung der Aktionen 115
3.2.2.4 Simulationsmodus 116
3.3 Programm zur Beipielzelle 120
4 Zusammenfassung und Ausblick 137
4.1 Bewertung und Abgrenzung des Einsatzspektrums von Sp3R 137
4.2 Erweiterungsmoglichkeiten des Roboterprogrammiersystems Sp3R 138
4.3 Verwendung des Systemkonzepts zur Steuerung allgemeiner paralleler AbHiufe 140
5 Literaturverzeichnis 143
6 Sachverzeichnis 147
1 Thematische Einordnung und Zielsetzung des Systems SP3R
1m ersten Kapitel soll zunachst die Fragestellung geklm werden, welchem Themenkomplex
dieses Buch zuzuordnen ist und welcher neue Ansatz darin verfolgt wird.
Nach einer Einflihrung in die Thematik "Einsatz von Robotern" mit den Stichworten
"Roboterprogrammierung" und "Robotersimulation" werden die grundlegenden Konzepte
und Programrnierverfahren der Robotik kurz vorgestellt. Dabei wird besonders auf die flir
dieses Buch zentralen Begriffe der parallelen Ausflihrung und zeitlichen Koordinierung
mehrerer (Roboter-) Prozesse eingegangen.
Nach einer Herausarbeitung der Grenzen und Problematiken der eingesetzten Verfahren zur
Roboterprogrammierung werden die neuen Ideen in Sp3R erlautert. Das zugrundeliegende
Modell, die Programmiersteuerung sowie die Moglichkeiten zur Synchronisation und
Koordination von Komponenten werden in einer Ubersicht mit ihren charakteristischen
Merkmalen vorgestellt. Es folgen ein Vergleich und eine Abgrenzung zu bekannten
Verfahren und Systemen zur Programmierung und Simulation von Roboterstationen und
Fertigungsanlagen.
Zum SchluB des Kapitels wird die Entstehungsgeschichte von Sp3R kurz umrissen.
1.1 Einleitung
Sp3R ist ein Programmiersystem, das als Bestandteil des Robotersimulationssystems ROSI
zur Programmierung robotergestiitzter Fertigungsanwendungen eingesetzt werden kann.
Zunachst soll der zentrale Begriff "Roboter" etwas naher untersucht werden.
1.1.1 Einsatz von Robotern
In vielen Bereichen der Produktion und Fertigung werden Industrieroboter flir Aufgaben
wie SchweiBen, Lackieren, Handhaben eingesetzt. Bild 1.1 zeigt die Entwicklung des
Robotereinsatzes weltweit, Bild 1.2 das Wachstum der Roboteranwendungen in der
Bundesrepublik Deutschland.
Ein Industrieroboter ist ein universell einsetzbarer Bewegungsautomat mit mehreren Achsen
(kinematische Kette), dessen Bewegungen frei programmierbar sind. Er kann mit Greifern,
Werkzeugen oder anderen Fertigungsmitteln ausgeriistet werden und hierdurch Hand
habungs- oder Fertigungsaufgaben durchflihren. Uber Sensoren konnen physikalische
Gegebenheiten in der Roboterumwelt erfaBt werden; die Auswertung der Sensorsignale
kann in Form einer Modifikation oder einer Parametrisierung in den Programmablauf
einflieBen !Paul 81/, /Tam 81/.
2
Charakteristisch fUr einen speziellen Robotertyp ist die Anzahl und Anordnung seiner
Freiheitsgrade, d.h. unabhangigen Bewegungsachsen. Eine Bewegungsachse kann durch
ein translatorisches oder rotatorisches Gelenk realisiert sein. Durch die Abmessungen und
die strukturelle Anordnung der Gelenkachsen ist maBgeblich der effektive Arbeitsraum des
Roboters festgelegt.
Bild 1.3 zeigt eine Palettenentladestation mit einem vierachsigen Roboter yom Typ Bosch
SR 800 mit Dreifmgergreifer zur Handhabung rotationssymmetrischer Werkstticke.
Sluck Instoilierte Industrreroboter
11/000
Bild 1.1:
961lll
Roboterpopulation in Japan, in den
80 000
64000 USA und in Europa im Vergleich
48 000 zur Bundesrepublik Deutschland
JI 000
1987188 (QueUe: IPA)
16 000
USA BRO
~~ J 6~0 -r--------; 0~ SSiiaanndd 11998845 866 80000 GG.errdall..
J 000 l-----l~----1 ~ Siand 1986 II 400 Gerul'
..J.g!,i • Siand 1987 14900 Geral •
1400
Bild 1.2:
i
Wachstum der Roboteranwendung
'w"
in der Bundesrepublik Deutschland
~
"
1987188 (QueUe: [PAY
Werk.zeughondhobung
Bild1.3:
Pa lettenentladestation mit
Bosch SR 800 -Roboter