-
Die
Erfindung betrifft ein Verfahren und eine Vorrichtung zur Überwachung
mindestens eines Handhabungsgeräts,
insbesondere eines Roboters.
-
Ein
Verfahren mit den Merkmalen des Oberbegriffs des Anspruchs 1 und
eine Vorrichtung mit den Merkmalen des Oberbegriffs des Anspruchs
10 sind aus
DE 10351669
A1 bekannt. Dort wird ein Handhabungsgerät beschrieben,
welches ein Werkstück
(„Objekt") hält und bewegt.
Eine Kamera mißt
das reale Handhabungsgerät
mit dem realen Werkstück
und übermittelt
die gemessenen Bilder an einen rechnerverfügbaren Simulator. Ein virtuelles
Abbild des Handhabungsgeräts
mit dem Werkstück
wird erzeugt, wofür
die Bilder von der Kamera verwendet werden. Das virtuelle Abbild
wird vom Simulator verändert.
Das Abbild und/oder das reale Handhabungsgerät mit dem Werkstück werden
so verändert,
daß die
Position des Werkstück-Abbildes
möglichst
wenig von der Position des realen Werkstücks abweicht.
-
In
DE 10200534 A1 werden
ein Verfahren und eine Vorrichtung beschrieben, um zwei Gegenstände, die
relativ zueinander beweglich sind, so zu bewegen, daß sie bei
der Bewegung nicht miteinander kollidieren. Vorgegeben werden rechnerverfügbare dreidimensionale
Modelle der beiden Gegenstände.
Zunächst
werden in einer Simulation zwei Soll-Positionen der beiden Modelle
ermittelt. Die beiden Soll-Positionen werden so ermittelt, daß die Modelle
sich kollisionsfrei von ihren aktuellen Ist-Positionen in die ermittelten
Soll-Positionen bewegen lassen. Anschließend werden die realen Gegenstände in zwei
Positionen bewegt, die den berechneten Soll-Positionen entsprechen.
-
In
JP 2003/165079 A wird
beschrieben, wie ein virtuelles Abbild eines Roboters entsprechend
den Veränderungen
der Position eines realen Roboters verändert wird.
-
In
DE 10304706 A1 werden
ein Verfahren und eine Vorrichtung beschrieben, um eine Speicherprogrammierbare
Steuerung (SPS) zu programmieren. Die SPS steuert eine industrielle
Fertigungsanlage. Die SPS verarbeitet historische Prozeßdaten,
und zwar wahlweise on-line in Echtzeit oder aber off-line.
-
Die
aus
DE 10351669 A1 bekannte Überwachung
durch eine einzige Kamera weist den Nachteil auf, daß die Kamera
auf eine bestimmte fest vorgegebene Blickrichtung eingeschränkt ist.
Falls mehrere Kameras verwendet werden, so muß ein überwachender Werker die einzelnen
Filme, die die Kameras liefern, im Kopf zu einem Gesamt-Ablauf zusammensetzen.
Die Verwendung von Kameras weist den zusätzlichen Nachteil auf, daß das zu überwachende
Handhabungsgerät
ausreichend beleuchtet sein muß.
-
Der
Erfindung liegt die Aufgabe zugrunde, ein Verfahren mit den Merkmalen
des Oberbegriffs des Anspruchs 1 und eine Vorrichtung mit den Merkmalen
des Oberbegriffs des Anspruchs 10 bereitzustellen, die keine Kamera
benötigen,
um das zur Überwachung
verwendete Abbild des Handhabungsgeräts zu erzeugen.
-
Die
Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs
1 und eine Vorrichtung mit den Merkmalen des Anspruchs 10 gelöst. Vorteilhafte
Ausgestaltungen sind in den Unteransprüchen angegeben.
-
Durch
das Verfahren und die datenverarbeitende Überwachungsvorrichtung wird
mindestens ein Handhabungsgerät überwacht.
Möglich
ist, mehrere Handhabungsgeräte
gleichzeitig zu überwachen.
-
Das
mindestens eine Handhabungsgerät
weist mindestens zwei Bestandteile auf. Der erste Bestandteil ist
um mindestens eine Drehachse relativ zum zweiten Bestandteil drehbar.
-
Vorgegeben
wird ein rechnerverfügbares
Abbild des Handhabungsgeräts.
Dieses Abbild umfaßt
ein rechnerverfügbares
dreidimensionales Konstruktionsmodell des Handhabungsgeräts. Das
Handhabungsgerät-Konstruktionsmodell
umfaßt
- – jeweils
ein rechnerverfügbares
dreidimensionales Konstruktionsmodell jedes der mindestens zwei
Bestandteile des Handhabungsgeräts
und
- – eine
rechnerverfügbare
Beschreibung, um welche Drehachse oder welche Drehachsen der erste
Bestandteil relativ zum zweiten Bestandteil drehbar ist.
-
Dieses
Abbild ist in einem Datenspeicher abgespeichert, auf den die Überwachungsvorrichtung
Lesezugriff hat. Jedes Bestandteil-Konstruktionsmodell beschreibt
die geometrische Kontur dieses Bestandteils.
-
Weiterhin
wird ein datenverarbeitender Simulator vorgegeben, der das Handhabungsgerät-Konstruktionsmodell
automatisch zu verändern
vermag.
-
Mindestens
einmal wird bei der Überwachung
eine Abfolge durchgeführt,
die die folgenden Schritte umfaßt:
- – Am
Handhabungsgerät
wird eine Messung durchgeführt.
Bei dieser Messung wird der Drehwinkel einer Drehbewegung, die der
erste Bestandteil um die Drehachse relativ zum zweiten Bestandteil
durchführt,
gemessen.
- – Der
gemessene Drehwinkel wird an den Simulator übermittelt.
- – Das
Konstruktionsmodell des ersten Bestandteils wird relativ zum Konstruktionsmodell
des zweiten Bestandteils gedreht. Die Drehachse dieser Drehung ist
die Drehachsen-Beschreibung,
der Drehwinkel dieser Drehung der übermittelten Drehwinkel.
- - Auf einem Bildschirmgerät
wird das veränderte
Abbild mit dem durch die Drehung veränderten Handhabungsgerät-Konstruktionsmodell
dargestellt.
-
Die
Erfindung erfordert nicht, daß eine
Kamera eingesetzt wird. Vielmehr wird das Handhabungsgerät-Konstruktionsmodell
entsprechend den Veränderungen
des realen Handhabungsgeräts
verändert.
Durch Überwachung
dieses Konstruktionsmodells kann ein Werker das reale Handhabungsgerät überwachen,
ohne das reale Handhabungsgerät
sehen zu müssen
oder eine Kamera einsetzen zu müssen.
-
Die
Erfindung ermöglicht
somit eine Überwachung
auch in solchen Umgebungen, in denen eine Kamera nicht einsetzbar
ist oder keine brauchbaren Bilder zu liefern vermag. Die datenverarbeitende Überwachungseinrichtung
steht bevorzugt außerhalb
einer Fertigungszelle mit dem Handhabungsgerät.
-
Vorzugsweise
wird ein rechnerverfügbarer
Adapter verwendet. Dieser Adapter vermag Befehle in einer Handhabungsgeräte-Programmierschnittstelle
in Befehle in einer Simulator-Programmierschnittstelle
zu übersetzen.
Der gemessene Drehwinkel wird als Befehl oder Befehlsfolge in der
Handhabungsgeräte-Programmierschnittstelle
an diesen Adapter übermittelt.
Der Adapter übersetzt
diesen Drehwinkel in einen Befehl oder eine Befehlsfolge in der
Simulator-Programmierschnittstelle.
Der übersetzte
Drehwinkel wird an den Simulator übermittelt. Der Simulator verwendet
den übersetzten
Drehwinkel, um das Konstruktionsmodell des ersten Bestandteils relativ
zum Konstruktionsmodell des zweiten Bestandteils zu drehen.
-
Diese
vorteilhafte Ausgestaltung ermöglicht
es, das Verfahren einzusetzen, um verschiedene Handhabungsgeräte mit demselben Simulator
zu überwachen.
Diese verschiedenen Handhabungsgeräte können von unterschiedlichen
Herstellern stammen oder für
unterschiedliche Aufgaben eingesetzt werden und daher unterschiedliche
Handhabungsgeräte-Programmierschnittstellen
aufweisen. Für
jede Handhabungsgeräte-Programmierschnittstelle
wird jeweils ein Adapter eingesetzt. Der Simulator ist jedesmal
derselbe.
-
Im
Folgenden wird ein Ausführungsbeispiel
der Erfindung anhand der beiliegenden Figuren näher beschrieben. Dabei zeigt
-
1.
ein Fertigungssystem und eine erfindungsgemäße Datenverarbeitung zur Überwachung
dieses Fertigungssystems.
-
Im
Ausführungsbeispiel
wird die Erfindung zur Überwachung
eines Fertigungssystems eingesetzt. Dieses Fertigungssystem produziert
Kraftfahrzeug-Bestandteile und umfaßt zwei programmierbare Handhabungsgeräte. Zu diesen
Handhabungsgeräten
gehören
beispielsweise Roboter und/oder programmierbare Aufspannvorrichtungen.
Diese Handhabungsgeräte
stammen im Ausführungsbeispiel
von unterschiedlichen Herstellern.
-
Das
Fertigungssystem umfaßt
weiterhin nicht programmierbare Bestandteile, z. B.
- – eine
Wand, die vermeidet, daß das
Fertigungssystem Menschen in der Umgebung gefährdet,
- – Werkzeuge
für die
Roboter und
- – Vorrichtungen
zum Halten oder Lagern des Werkstücks.
-
Beispiele
für Werkzeuge
sind Bohrer, Schrauber, Fräser,
Lasergeräte,
Schweißgeräte. Die
Wand ist oft blickdicht ausgestaltet, um Gefährdungen von Menschen durch
Laserstrahlen zu vermeiden.
-
1 zeigt
das beispielhafte Fertigungssystem und eine erfindungsgemäße Datenverarbeitung
zur Überwachung
dieses Fertigungssystems. Im Beispiel von 1 sind zwei
programmierbare Roboter 1 und 2 als die beiden
Handhabungsgeräte
gezeigt. Diese beiden Roboter 1 und 2 sind durch
einen Datenbus 5 miteinander verbunden. Das Werkstück ist eine
Autotür 3.
Jeder Roboter vermag diese Autotür 3 durch
eine Haltevorrichtung 4 zu halten und zu bewegen. Eine
blickdichte Wand 6 verhindert, daß das Fertigungssystem Menschen
z. B. durch bewegliche Vorrichtungen oder durch Laserstrahlen gefährden kann.
-
Jedes
Handhabungsgerät
umfaßt
mehrere mechanische Bestandteile. Im Falle eines Roboters sind diese
Bestandteile beispielsweise eine Grundplatte, ein Unterarm, ein
Oberarm und eine zweiteilige Greifvorrichtung. Die Grundplatte ist
um eine erste Drehachse D1 um den Fußboden drehbar. Der Unterarm
ist um eine zweite Drehachse D2 relativ zur Grundplatte drehbar.
Der Oberarm ist um eine dritte Drehachse D3 und eine vierte Drehachse
D4 relativ zum Unterarm drehbar. Die Drehachsen D3 und D4 stehen
beispielsweise senkrecht aufeinander. Die Greifvorrichtung ist um
eine fünfte
Drehachse D5 relativ zum Oberarm drehbar. Die beiden Teile der Greifvorrichtung
sind um eine sechste Drehachse D6 relativ zueinander drehbar. Die
Winkel um diese sechs Drehachsen sind die sechs Freiheitsgrade des
Roboters. Die Greifvorrichtung hält
die Haltevorrichtung 4, und die Haltevorrichtung 4 hält die Autotür 3.
-
Häufig stellt
ein Handhabungsgerät
Parameter von Werkzeugen ein und benutzt diese Werkzeuge. Beispielsweise
greift ein Roboter einen Schrauber oder einen Fräser. Das Handhabungsgerät stellt
beispielsweise eine Drehzahl eines Fräsers oder einen Betriebsmodus
eines Lasergeräts
ein oder steuert eine Stromquelle für ein Schweißgerät. Um die
Stromquelle zu steuern, stellt das Handhabungsgerät die abgegebenen Volt
und Ampere für
eine vorgegebene Zeitdauer auf bestimmte Werte ein.
-
Vorgegeben
ist eine Abfolge von Abtastzeitpunkten. Zwischen zwei Abtastzeitpunkten
verstreichen z. B. jeweils 0,5 sec.
-
Auf
jedem Handhabungsgerät
läuft jeweils
ein Programm zur Steuerung des Handhabungsgeräts ab. Dieses Programm berechnet
zu jedem Abtastzeitpunkt Sollwerte für die Parameter des Handhabungsgeräts. Hierzu
gehören
Soll-Drehwinkel von Drehungen um mindestens eine der sechs Drehachsen
D1 bis D6 zwischen zwei Bestandteilen des Handhabungsgeräts. Vorzugsweise
berechnet das Steuerungsprogramm die jeweilige Veränderung
eines Parameterwertes relativ zum Wert am vorherigen Abtastzeitpunkt.
-
Im
Beispiel der 1 sind zwei Steuerungsrechner 11 und 12 zu
sehen, die zu den beiden Robotern 1 bzw. 2 gehören. Auf
diesen beiden Steuerungsrechnern 11 und 12 laufen
die beiden Steuerungsprogramme für
die beiden Roboter 1 und 2 ab.
-
Das
Steuerungsprogramm steuert Aktoren des jeweiligen Handhabungsgeräts an. Zu
den Aktoren gehören
Servoantriebe. Durch das Ansteuern der Aktoren bewirkt das Steuerungsprogramm
beispielsweise eine der folgenden Handlungen:
- – Einschalten
oder Ausschalten eines Bestandteils des Handhabungsgerät,
- – Einschalten
eines Servoantriebs für
eine bestimmte Zeit, dadurch Drehung eines Bestandteils relativ
zu einem anderen Bestandteil um einen bestimmten Winkel,
- – Greifen
eines Werkzeugs oder des Werkstücks
mittels der Greifvorrichtung.
-
Sensoren
jedes Handhabungsgeräts
melden dem jeweiligen Steuerungsprogramm zurück, ob die Handlung fehlerfrei
ausgeführt
wurde oder nicht. An jedem Abtastzeitpunkt wird der Zyklus „Vorgabe
von Werten an die Aktoren" und „Rückmeldung
von den Sensoren" erneut
durchgeführt.
Zwischen zwei aufeinanderfolgenden Abtastzeitpunkten verstreicht
beispielsweise ein Takt der Robotersteuerung.
-
Jedes
Handhabungsgerät „kennt" wegen der Rückmeldungen
seinen aktuellen Zustand. Zu diesem aktuellen Zustand gehören die
aktuellen Drehwinkel zwischen den Bestandteilen des Handha bungsgeräts. Im Falle
eines Roboters sind dies beispielsweise die sechs Drehwinkel um
die sechs Drehachsen D1 bis D6.
-
Vorzugsweise
berechnet das Steuerungsprogramm eines Handhabungsgeräts jeweils
eine ideale Bahn für
jeden Bestandteil. Der Bestandteil soll so bewegt werden, daß er diese
Bahn durchläuft.
Dadurch wird jeweils eine Abfolge von Werten für jeden Parameter, insbesondere
für jeden
Achswinkel, berechnet. Jeweils ein Wert jedes Parameters bezieht
sich auf den aktuellen Abtastzeitpunkt, weitere Werte auf zukünftige Abtastzeitpunkte.
-
Im
Ausführungsbeispiel
weist jedes Handhabungsgerät
Sensoren auf, die die Position des Werkstücks relativ zu einer Greifvorrichtung
oder zu einem anderen Werkstück
messen. Beispielsweise messen Sensoren die Position der Autotür 3 relativ
zu einer Karosserie, an die die Autotür 3 befestigt werden
soll.
-
Jeder
Sensor mißt
den Abstand zwischen sich und der Oberfläche des Werkstücks. Die
Sensoren arbeiten vorzugsweise berührungslos, beispielsweise mit
Infrarot oder Laser. Sensoren sind z. B. an der Haltevorrichtung 4 angebracht.
-
Das
Steuerungsprogramm umfaßt
einen Regler. Der Regler erhält
die Soll-Relativposition des Werkstücks 3 als Führungsgröße und die
Ist-Relativposition des Werkstücks 3 als
Regelgröße, insbesondere
die gemessenen Abstände.
Der Regler berechnet Soll-Bewegungsbahnen für die Bestandteile des Handhabungsgeräts. Beispielsweise
bringt ein Roboter eine Autotür 3 auf
den berechneten Bahnen in eine vorgegebene Relativposition zur Karosserie,
damit anschließend
die Autotür 3 an
der Karosserie befestigt wird.
-
Ein
Befehlsgenerator erzeugt aus diesen berechneten Bahnen Befehle für die Aktoren
des Handhabungsgeräts,
insbesondere für
deren Antriebe. Beispielsweise berechnet der Befehlsgenerator Veränderungen
der Achswinkel zwischen den Bestandteilen des Handhabungsgeräts und erzeugt
Befehle, die bestimmte Aktoren für
vorgegebene Zeitspannen aktivieren. Die Ausführung dieser Befehle bewirkt,
daß die
Aktoren Drehungen bewirken und die Bestandteile die berechneten
Bahnen durchlaufen – es
sei denn, ein Fehler tritt auf.
-
In
einer Ausgestaltung umfaßt
das Fertigungssystem kooperierende Handhabungsgeräte. Jedes
kooperierende Handhabungsgerät „kennt" die aktuelle Position
jedes anderen kooperierenden Handhabungsgeräts.
-
Das
Verfahren wird im Ausführungsbeispiel
mit einer industrietauglichen Datenverarbeitungsanlage durchgeführt. Diese
Datenverarbeitungsanlage umfaßt
einen Datenspeicher 20, außerdem eine Recheneinheit,
Eingabegeräte
und ein Bildschirmgerät 21.
Die Recheneinheit hat Lesezugriff auf den Datenspeicher 20.
-
Im
Datenspeicher 20 ist jeweils ein rechnerverfügbares dreidimensionales
Konstruktionsmodell 113 des Werkstücks 3 und jedes Handhabungsgeräts abgespeichert.
Diese Konstruktionsmodelle werden dem Verfahren vorgegeben. Vorzugsweise
werden außerdem
Konstruktionsmodelle für
die weiteren Vorrichtungen, z. B. für die Wand und die Lagerungsvorrichtung,
vorgegeben.
-
Jedes
Konstruktionsmodell beschreibt die Kontur, also die Geometrie der
Oberfläche
des modellierten Gegenstandes (Werkstück bzw. Handhabungsgerät bzw. sonstige
Vorrichtung). Vorzugsweise beschreibt das Konstruktionsmodell die
Kontur näherungsweise
mittels vieler Flächenelemente,
z. B. mittels Dreiecken und/oder Vierecken. Jedes Handhabungsgerät-Konstruktionsmodell
umfaßt
Konstruktionsmodelle für
diejenigen Bestandteile des Handhabungsgeräts, die relativ zueinander
beweglich sind. Jedes Handhabungsgerät-Konstruktionsmodell beschreibt weiterhin
die Kinematik des Handhabungsgeräts.
Zu einer Kinematik-Beschreibung gehört die Festlegung, wo welche
Drehachsen liegen, um die die Bestandteile des Handhabungsgeräts relativ
zueinander beweglich sind, und innerhalb welcher Grenzen ein Winkel
zwischen zwei Bestandteilen variieren darf.
-
Im
Beispiel der 1 werden fünf rechnerverfügbare Konstruktionsmodelle
gezeigt. Das Konstruktionsmodell 111 beschreibt den Roboter 1,
das Konstruktionsmodell 112 den Roboter 2, das
Konstruktionsmodell 113 die Autotür 3, das Konstruktionsmodell 114 die
Haltevorrichtung 4 und das Konstruktionsmodell 116 die
blickdichte Wand 6.
-
Die
Konstruktionsmodelle werden vorzugsweise aus CAD-Modellen generiert.
Diese CAD-Modelle wurden mit einem Softwaresystem zum rechnerunterstützten Konstruieren
(CAD-Werkzeug) erzeugt. Die für das
Verfahren verwendeten Konstruktionsmodelle enthalten bevorzugt nur
diejenigen Daten, die für
das Verfahren benötigt
werden, und nicht z. B. Beschreibungen über das "Innenleben" des modellierten Gegenstandes. Idealerweise
beschreibt jedes Konstruktionsmodell den modellierten Gegenstand
in einem standardisierten Datenformat, beispielsweise XML. Möglich ist,
daß eine
XML-Datei mehrere Konstruktionsmodelle umfaßt.
-
Vorgegeben
wird weiterhin eine Festlegung, welches Handhabungsgerät als Referenz-Handhabungsgerät fungiert.
Die relative Position und Orientierung des Werkstücks und
jedes weiteren Handhabungsgeräts und
jeder sonstigen Vorrichtung des Fertigungssystems sowie der Drehachsen
relativ zum Referenz-Handhabungsgerät wird ebenfalls
dem Verfahren vorgegeben. Die relative Position und Orientierung
des Werkstücks legt
die Position und Orientierung des Werkstück-Konstruktionsmodells relativ
zum Konstruktionsmodell des Referenz-Handhabungsgeräts fest. Vorzugsweise sind
alle Konstruktionsmodelle in einem vorgegebenen kartesischen dreidimensionalen
Koordinatensystem positioniert und orientiert. Die Drehachsen werden
als Vektoren in diesem Koordinatensystem beschrieben.
-
Jedes
Konstruktionsmodell eines Handhabungsgeräts wird durch mehrere Parameter
gesteuert, deren Werte zeitlich veränderlich sind. Das Konstruktionsmodell
verändert
seine Position und/oder Orientierung im Koordinatensystem abhängig von
Werten dieser Parameter. Zu diesen Parametern gehören die
zeit lich veränderlichen
Winkel zwischen den Bestandteilen des Handhabungsgeräts. Im Falle
eines Roboters sind dies die sechs zeitlich veränderlichen Drehwinkel um die
oben beschriebenen sechs Drehachsen D1 bis D6. Zu den Parametern
gehören
vorzugsweise weiterhin gemessene Abstände zwischen einem Handhabungsgerät und dem
Werkstück
oder zwischen verschiedenen Werkstücken.
-
Wie
oben beschrieben, messen Sensoren diese Abstände, die anschließend an
das Steuerungsprogramm übermittelt
werden. Im Falle kooperierender Handhabungsgeräte gehören zu den Parametern die relativen
Positionen anderer kooperierender Handhabungsgeräte des Fertigungssystems.
-
Das
Konstruktionsmodell 113 des Werkstücks 3 und das Konstruktionsmodell 114 der
Haltevorrichtung 4 werden ebenfalls durch Parameter gesteuert.
Diese Parameter legen die Position und Orientierung der Haltevorrichtung 4 bzw.
des Werkstücks 3 relativ
zum Referenz-Handhabungsgerät
fest.
-
Das
Verfahren wird für
jeden Abtastzeitpunkt erneut durchgeführt. Vorzugsweise wird ein
Konstruktionsmodell dadurch gesteuert, daß zu jedem Abtastzeitpunkt
ein Inkrement jedes Parameterwerts, also die zeitliche Veränderung
des Parameterwerts gegenüber
dem Parameterwert zum vorigen Abtastzeitpunkt, an das Konstruktionsmodell übermittelt
wird.
-
Das
Verfahren wird unter Verwendung eines rechnerverfügbaren Kinematik-Simulators 110 ausgeführt. Dieser
Simulator 110 verändert
die Positionen und Orientierungen der Konstruktionsmodelle von Werkstück, Bestandteilen
der Handhabungsgeräte
und sonstigen Vorrichtungen. Hierfür verwendet der Simulator 110 jeweils
einen Wert oder ein Inkrement für
jeden Parameter, der das jeweilige Konstruktionsmodell steuert. Die
Werte der Parameter werden von den Sensoren der Handhabungsgeräte an den
Simulator 110 übermittelt, was
weiter unten beschrieben wird.
-
Der
Simulator 110 führt
die Veränderungen
zu jedem Abtastzeitpunkt durch. Vorzugsweise verändert er die Positionen und Orientierungen
der Konstruktionsmodelle in dem vorgegebenen dreidimensionalen Koordinatensystem.
Die zeitlich veränderlichen
Positionen und Orientierungen der Konstruktionsmodelle bilden die
Abläufe
im Fertigungssystem quasi in Echtzeit nach. Die Konstruktionsmodelle
sind on-line mit den Handhabungsgeräten verbunden.
-
Wie
oben erwähnt,
wird die jeweilige anfängliche
Position jedes weiteren Handhabungsgeräts, die Anfangs-Position des
Werkstücks 3 und
die Position weiterer Vorrichtungen vorgegeben, um die Konstruktionsmodelle
im Koordinatensystem anfänglich
zu positionieren und zu orientieren. Die Parameterwerte von den Handhabungsgeräten werden
vorzugsweise zusätzlich
dazu verwendet, diese anfänglichen
Positionen und Orientierungen zu korrigieren. Die vorgegebenen Positionen
und Orientierungen im Koordinatensystem können nämlich von den realen Positionen
und Orientierungen abweichen, z. B. weil die Handhabungsgeräte nicht exakt
nach Plan positioniert wurden oder weil das Werkstück 3 oder
die Haltevorrichtung 4 Fertigungstoleranzen aufweisen.
-
Um
die Positionen und Orientierungen der Konstruktionsmodelle zu verändern, verwendet
der Simulator 110 reale Werte der Handhabungsgeräte. Zu diesem
Zweck werden reale Parameterwerte der Handhabungsgeräte 1, 2 vom
jeweiligen Steuerungsprogramm auf dem Steuerungsrechner 11, 12 an
den Simulator 110 übermittelt.
Vorzugsweise werden weiterhin Abstände zwischen einem Handhabungsgerät 1, 2 und
dem Werkstück
(Autotür) 3 oder
zwischen dem Werkstück 3 und
der Karosserie an den Simulator 110 übermittelt. Der Simulator 110 verändert die
Position und Orientierung des Werkstück-Konstruktionsmodells 113 relativ
zu den Konstruktionsmodellen 111 und 112 der Handhabungsgeräte 1 und 2 entsprechend
den übermittelten Werten.
-
Im
Beispiel der 1 wird das Verfahren auf ein
Fertigungssystem mit mehreren Handhabungsgeräten, beispielsweise mit kooperierenden
Robotern, angewendet. Außerdem
wird das Verfahren auf mehrere Fertigungssysteme mit unterschiedlichen Handhabungsgeräten angewendet
und soll mit möglichst
geringem Anpassungsaufwand anwendbar sein. Daher wird der Simulator 110 über eine
vorrichtungsübergreifende Schnittstelle 105 mit
dem Fertigungssystem verbunden. Jedes Handhabungsgerät ist über einen
Adapter mit dieser Schnittstelle 105 verbunden.
-
Im
Beispiel der 1 wird ein Adapter 101 für den Roboter 1 und
ein weiterer Adapter 102 für den Roboter 2 gezeigt.
Die Adapter 101, 102 sind über den Datenbus 5 mit
den Robotern 1, 2 verbunden.
-
Jeder
Adapter verwendet die jeweilige Programmierschnittstelle des Steuerungsprogramms. Über diese
Programmierschnittstelle sind das Steuerungsprogramm und damit das
Handhabungsgerät
programmierbar. Viele Hersteller von programmierbaren Handhabungsgeräten stellen
eine solche Programmierschnittstelle (API) zu ihren Steuerungsprogrammen
bereit. Die Programmierschnittstelle differiert von Handhabungsgeräte-Typ zu
Handhabungsgeräte-Typ.
Sie kann durch technische Weiterentwicklungen auch für denselben
Typ im Laufe der Zeit verändert
werden. Über
diese Programmierschnittstelle fragt der jeweilige Adapter zu jedem Abtastzeitpunkt
die Werte der Parameter des jeweiligen Handhabungsgeräts ab und übermittelt
sie an die Schnittstelle 105. Der Adapter 101 in 1 fragt über die
Programmierschnittstelle zu jedem Abtastzeitpunkt die Werte des
Roboters 1 ab, der Adapter 102 die des Roboters 2.
-
Die
vorrichtungsübergreifende
Schnittstelle 105 liefert diese Werte in einem herstellerunabhängigen Datenformat
an den Simulator 110. Vorzugsweise wird als Datenformat
für die
Schnittstelle 105 ebenfalls XML verwendet. Diese Ausgestaltung
ermöglicht
es, verschiedene Handhabungsgeräte
mit dem Simulator 110 zu verbinden und nachträglich ein
Handhabungsgerät
zu ergänzen,
ohne den Simulator 110 oder die Schnittstelle 105 ändern zu
müssen.
Bei Änderungen
an einem Handhabungsgerät
sind lediglich Anpassungen am Adapter erforderlich. Ein zusätzliches
Handhabungsgerät
erfordert lediglich einen weiteren Adapter, der ebenfalls mit der
Schnittstelle 105 verbunden wird, aber insbesondere keine Änderungen
am Simulator 110.
-
Die
vorrichtungsübergreifende
Schnittstelle 105 „weiß",
- – welche
Handhabungsgeräte
zum Fertigungssystem gehören,
- – welche
Adresse (z. B. IP-Adresse) jedes Handhabungsgerät in einem Datennetz des Fertigungssystems hat
und
- – von
welchem Typ die Programmierschnittstelle zum jeweiligen Steuerungsprogramm
des Handhabungsgeräts
ist.
-
Vorzugsweise
erzeugt der Simulator 110 eine graphische Darstellung der
Handhabungsgeräte
und des Werkstücks
und visualisiert damit die Abläufe
im Fertigungssystem. Hierfür
verwendet der Simulator 110 die vorgegebenen Konstruktionsmodelle
und verändert
diese entsprechend den Parameter-Werten. Beispielsweise verändert er
die Konstruktionsmodelle entsprechend den gemessenen Achswinkeln
der Roboter. Diese graphische und zeitlich veränderliche Darstellung wird
auf dem Bildschirmgerät 21 der
industrietauglichen Datenverarbeitungsanlage ausgegeben. Ein Werker
kann die Betrachtungsrichtung auf die Darstellung ändern, und
zwar mit üblichen
Eingabegeräten,
beispielsweise mit einer Maus oder mit einer Tastatur. Weiterhin
kann der Werker die Darstellung in eine bestimmte Richtung „zoomen".
-
Ein
Werker kann somit „on-line" und mit nur geringem
Zeitverzug die Abläufe
im Fertigungssystem überwachen.
Er kann bei Bedarf in die Abläufe
eingreifen. Der Werker braucht nicht vor Ort zu sein und kann das
Fertigungssystem aus der Ferne überwachen.
Weil das Fertigungssystem oft durch eine blickdichte Wand abgeschirmt
ist, ist eine direkte manuelle Überwachung
oft gar nicht möglich.
Die Überwachung
durch eine einzige Kamera weist den Nachteil auf, daß die Kamera
auf eine bestimmte fest vorgegebene Blickrichtung eingeschränkt ist.
Falls mehrere Kameras verwendet werden, so muß der überwachende Werker die einzelnen Filme,
die die Kameras liefern, im Kopf zu einem Gesamt-Ablauf zusammensetzen.
Die Verwendung von Kameras weist den zusätzlichen Nachteil auf, daß das Fertigungssystem
ausreichend beleuchtet sein muß,
während
das erfindungsgemäße Verfahren
auch bei unzureichenden Lichtverhältnissen eingesetzt werden
kann. Außerdem
erfordern Kameras zusätzlichen
Platz im Fertigungssystem, der manchmal nicht zur Verfügung steht.
Das erfindungsgemäße Verfahren
erfordert hingegen keine zusätzlichen
Geräte
im Fertigungssystem. Die Datenverarbeitungsanlage mit dem Simulator 110 befindet
sich vorzugsweise außerhalb
des Fertigungssystems. Ein Handhabungsgerät kann zwar eine Kamera innerhalb
des Fertigungssystems versehentlich beschädigen, aber nicht die Datenverarbeitungsanlage
außerhalb
des Fertigungssystems.
-
Vorzugsweise
prüft der
Simulator 110, ob eine Kollision zwischen Vorrichtungen
des Fertigungssystems droht. Wie oben erwähnt, berechnet jede Fertigungsvorrichtung
nicht nur Parameterwerte für
den aktuellen Abtastzeitpunkt, sondern zusätzlich jeweils eine Abfolge
von Werten für
zukünftige
Abtastzeitpunkte und damit Bahnen von Bestandteilen. Damit der Simulator 110 eine
Kollision vorhersagen kann, wird für jeden Parameter jeder Fertigungsvorrichtung
die berechnete Abfolge von Werten übermittelt. Die Werte stammen
vom jeweiligen Steuerungsprogramm und werden über den jeweiligen Adapter 101, 102 und
die vorrichtungsübergreifende
Schnittstelle 105 an den Simulator 110 übermittelt.
-
Der
Simulator 110 verändert
für mehrere
zukünftige
Abtastzeitpunkte die Konstruktionsmodelle entsprechend der Parameterwerte
für den
jeweiligen zukünftigen
Abtastzeitpunkt. Der Simulator 110 prüft, ob an einem zukünftigen
Abtastzeitpunkt eine Kollision zwischen mehreren Konstruktionsmodellen
auftreten wird, falls die Konstruktionsmodelle gemäß den vorberechneten
Bahnen verändert
werden. Dadurch prüft
der Simulator, ob Kollisionen im realen Fertigungssystem auftreten
werden, falls jedes Handhabungsgerät tatsächlich entsprechend den vorberechneten
Bahnen bewegt wird.
-
Beispielsweise
prüft der
Simulator 110, ob sich zwei Konstruktionsmodelle durchdringen
werden oder eine Kraft, die größer als
eine vorgegebene Schwelle ist, von einem Konstruktionsmodell auf
ein anderes Konstruktionsmodell übertragen
werden wird. In diesem Fall würde
zu diesem Abtastzeitpunkt im realen Fertigungssystem eine unerwünschte Kollision
auftreten. Beispielsweise von Computer-Spielen sind derartige Kollisionsprüfungen von
rechnerverfügbaren
Modellen bekannt.
-
Der
Simulator 110 gibt dann, wenn er eine drohende Kollision
erkannt hat, eine Warnung aus. In einer weiteren Ausgestaltung löst der Simulator 110 automatisch über die
Schnittstelle 105 und die Adapter 101, 102 einen
Nothalt aus. Hierbei wird über
die Programmierschnittstelle an jedes Steuerungsprogramm ein Befehl übermittelt,
das jeweilige Handhabungsgerät
in eine sichere Position zu fahren.
-
Ein
programmierbares Handhabungsgerät
weist oft nicht genug Rechenkapazität und Speicherplatz auf, um
in der benötigten
Geschwindigkeit neben der Berechnung der Bahnen auch noch drohende
Kollisionen vorherzusagen. Es wäre
unwirtschaftlich, jedes Handhabungsgerät mit der hierfür erforderlichen
Rechenkapazität
auszustatten. Die benötigten
Rechner lassen sich manchmal nicht in der rauhen Arbeitsumgebung
eines Fertigungssystems einsetzen. Außerdem kennt ein Handhabungsgerät oft nicht
die aktuellen Positionen der übrigen
Handhabungsgeräte
und sonstigen Vorrichtungen des Fertigungssystems. Es wäre mit hohen
Kosten verbunden, ausschließlich
für die
Kollisionsvorhersage die benötigten
Schnittstelle 105 zwischen den Handhabungsgeräten innerhalb
des Fertigungssystems zu realisieren. Daher ist es von Vorteil,
wenn ein externer Rechner – hier:
die Datenverarbeitungsanlage mit dem Simulator 110 – diese
Berechnungen ausführt.
-
Vorzugsweise
veranschaulicht der Simulator 110 die Wirkungsweise eines
Steuerungsprogramms eines programmierbaren Handhabungsgeräts. Vorgegeben
ist eine rechnerverfügbare
Spezifikation dieses Steuerungsprogramms. Diese Spezifikation be rechnet
die zeitlich veränderlichen
Werte für
die Parameter des Handhabungsgeräts
genauso wie das tatsächlich
angewendete Steuerungsprogramm. Insbesondere berechnet die Spezifikation
im Falle eines Roboters die Abfolge von Achswinkeln zwischen den
Roboter-Bestandteilen. Die Spezifikation ist aber nicht auf eine
bestimmte Programmierschnittstelle eines Handhabungsgeräts zugeschnitten.
-
Die
Spezifikation ist durch einen Programmzeiger mit dem Steuerungsprogramm
in dem Handhabungsgerät
verknüpft.
Beim Ausführen
des Steuerungsprogramms wird der Programmzeiger verändert und zeigt
auf den aktuell ausgeführten
Programmbefehl. Das Handhabungsgerät übermittelt an den Simulator 110 den
aktuellen Wert des Programmzeigers. Dadurch „weiß" der Simulator 110, welcher
Befehl des Steuerungsprogramms aktuell ausgeführt wird. Durch die Verknüpfung „weiß" der Simulator 110 weiterhin,
welche Stelle in der Spezifikation dem aktuell ausgeführten Befehl
entspricht. Der Simulator 110 veranschaulicht die Spezifikation
und die aktuell abgearbeitete Stelle, beispielsweise auf dem Bildschirmgerät 21.
Wie oben erwähnt, visualisiert
der Simulator 110 zugleich die Abläufe im Fertigungssystem. Die
Gegenüberstellung
von visualisierten Abläufen
und der Spezifikation zeigt, welcher Befehl im Steuerungsprogramm
welchen Ablauf auslöst oder
verändert.
Diese Ausgestaltung erleichtert es daher, Fehler im Steuerungsprogramm
zu finden und zu beseitigen.
-
Vorzugsweise
umfaßt
der Simulator
110 einen Filter, der automatisch prüft, ob vorgegebene
Kriterien erfüllt
sind. Falls diese vorgegebenen Kriterien erfüllt sind, speichert der Simulator
110 alle
Parameterwerte für den
aktuellen Abtastzeitpunkt ab. Möglich
ist, daß er
zusätzlich
Parameterwerte für
vorhergehende oder nachfolgende Abtastzeitpunkte abspeichert. Die
vorgegebenen Kriterien können
von Werten, die ein Handhabungsgerät an den Simulator
110 übermitteln,
abhängen.
Sie können
auch von den Konstruktionsmodellen und deren Positionen und Orientierungen
abhängen.
Beispielsweise speichert der Simulator
110 immer dann alle
Parameterwerte ab, wenn ein Handhabungsgerät einen Fehler meldet. Die
abgespeicherten Parameterwerte erleichtern es, den Fehler zu finden. Liste der verwendeten Bezugszeichen und
Symbole
Zeichen | Bedeutung |
1 | erster
Roboter des Fertigungssystems |
2 | zweiter
Roboter des Fertigungssystems |
3 | Autotür als das
Werkstück |
4 | Haltevorrichtung
des Handhabungsgeräts |
5 | Datenbus
des Fertigungssystems |
6 | blickdichte
Wand |
11 | Steuerungsrechner
des Roboters 1 |
12 | Steuerungsrechner
des Roboters 2 |
21 | Bildschirmgerät |
101 | Adapter
für den
Roboter 1 |
102 | Adapter
für den
Roboter 2 |
105 | vorrichtungsübergreifende
Schnittstelle |
110 | Kinematik-Simulator |
111 | Konstruktionsmodell
des Roboters 1 |
112 | Konstruktionsmodell
des Roboters 2 |
113 | Konstruktionsmodell
der Autotür 3 |
114 | Konstruktionsmodell
der Haltevorrichtung 4 |
116 | Konstruktionsmodell
der Wand 6 |
D1 | Drehachse
Grundplatte – Fußboden |
D2 | Drehachse
Unterarm – Grundplatte |
D3 | Drehachse
Oberarm – Unterarm |
D4 | weitere
Drehachse Oberarm – Unterarm |
D5 | Drehachse
Greifvorrichtung – Oberarm |
D6 | Drehachse
erstes Teil Greifvorrichtung – zweites
Teil Greifvorrichtung |