-
Die
Erfindung betrifft ein Verfahren und eine Vorrichtung zur Simulation
eines Montagevorgangs zur Montage eines Anbauteils an ein Fertigungsobjekt.
-
Ein
sensorgeführter
Roboter sowie ein Regelungsverfahren, um ein Anbauteil zu montieren,
sind aus WO 2004/026672 A2 und WO 2004/026673 A2 bekannt.
-
Der
Erfindung liegt die Aufgabe zugrunde, einen Montagevorgang zur Montage
eines Anbauteils an ein Fertigungsobjekt zu erproben.
-
Die
Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs
1 und eine Vorrichtung mit den Merkmalen des Anspruchs 14 gelöst. Vorteilhafte
Ausgestaltungen sind in den Unteransprüchen angegeben.
-
In
dem zu erprobenden Montagevorgang wird ein Anbauteil an ein Fertigungsobjekt
montiert. Der Montagevorgang wird unter Verwendung eines Handhabungsautomaten
durchgeführt.
Dieser Handhabungsautomat umfaßt
eine das Anbauteil haltende Haltevorrichtung.
-
Der
Montagevorgang umfaßt
eine Abfolge, die mindestens einmal durchgeführt wird. Diese Abfolge umfaßt folgende
Schritte:
- – Die
relative Position des Anbauteils relativ zum Fertigungsobjekt wird
durch mindestens einen Sensor gemessen.
- – Eine
Korrektur der Anbauteil-Position in Abhängigkeit von der gemessenen
Relativposition und eines vorgegebenen Optimierungskriteriums zur
Optimierung der Relativposition wird berechnet.
- – Das
Anbauteil wird in Abhängigkeit
von der berechneten Positionskorrektur bewegt.
-
Die
Erprobung des Montagevorgangs umfaßt den Schritt, daß der Montagevorgang
nachgebildet und simuliert wird. Diesem Simulationsverfahren werden
- – ein
rechnerverfügbares
dreidimensionales Konstruktionsmodell des Fertigungsobjekts und
- – ein
rechnerverfügbares
dreidimensionales Konstruktionsmodell des Anbauteils.
vorgegeben.
-
Das
Simulationsverfahren umfaßt
folgende Schritte, die unter Verwendung einer Datenverarbeitungsanlage
automatisch durchgeführt
werden:
- – Die
relative Position des Anbauteil-Konstruktionsmodells relativ zum
Fertigungsobjekt-Konstruktionsmodell wird berechnet.
- – Eine
Korrektur der Anbauteil-Konstruktionsmodell-Position wird in Abhängigkeit
von der berechneten Modell-Relativposition
und dem Optimierungskriterium berechnet.
- – das
Anbauteil-Konstruktionsmodell wird entsprechend der berechneten
Anbauteil-Konstruktionsmodell-Positionskorrektur
bewegt.
-
Die
Erfindung zeigt einen Weg auf, den Montagevorgang zu erproben, ohne
daß der
reale Roboter, das reale Fertigungsobjekt oder das reale Anbauteil
bereits physikalisch vorhanden zu sein brauchen. Dadurch läßt sich
der Montagevorgang frühzeitig
erproben und absichern. Dies wird erreicht, indem eine Simulation durchgeführt wird,
in der der reale Roboter, das reale Fertigungsobjekt und das reale
Anbauteil durch ein Kinematikmodell und zwei Konstruktionsmodelle
nachgebildet werden.
-
Vorzugsweise
wird das Anbauteil durch einen Handhabungsautomaten bewegt. In dieser
Ausgestaltung umfaßt
jede Abfolge folgende Schritte:
- – Die relative
Position des Anbauteils wird gemessen.
- – Die
Korrektur der Anbauteil-Position wird berechnet.
- – Eine
Bewegung der Haltevorrichtung, die eine Bewegung des Anbauteils
relativ zum Fertigungsobjekt bewirkt, wird in Abhängigkeit
von der berechneten Positionskorrektur berechnet.
- – Der
Handhabungsautomat führt
die berechnete Bewegung der Haltevorrichtung aus.
-
Vorzugsweise
wird zusätzlich
der Handhabungsautomat näherungsweise
simuliert, und zwar durch ein rechnerverfügbares Kinematikmodell. Dieses
Kinematikmodell beschreibt die Kinematik des Handhabungsautomaten
einschließlich
der Kinematik der Haltevorrichtung. In der Simulation wird zunächst in
Abhängigkeit
von der berechneten Anbauteil-Konstruktionsmodell-Positionskorrektur
und dem Kinematikmodell eine Bewegung des Kinematikmodells berechnet.
Weil die Berechnung von Kinematikmodell abhängt, werden kinematische Randbedingungen,
z. B. Drehachsen von Bestandteilen des Handhabungsautomaten, berücksichtigt.
Die Simulation ist dadurch besonders realitätsnah.
-
Das
Kinematikmodell wird entsprechend der berechneten Kinematikmodell-Bewegung
bewegt. „Bewegung
des Kinematikmodells" bedeutet
insbesondere, daß ein
Bestandteil des Kinematikmodells relativ zu einem anderen Bestandteil
bewegt wird, z. B. ein Oberarm-Modell relativ zu einem Unterarm-Modell.
-
Das
Anbauteil-Konstruktionsmodell ist in der Simulation mit dem Kinematikmodell
verbunden. Daher wird in der Simulation das Anbauteil-Konstruktionsmodell
entsprechend der Bewegung des Kinematikmodells bewegt
-
Im
Folgenden wird ein Ausführungsbeispiel
der Erfindung anhand der beiliegenden Figuren näher beschrieben. Dabei zeigen:
-
1 die
Arbeitsweise eines Roboters, der ein Anbauteil hält;
-
2 die
Arbeitsweise eines Sensors zur Messung des Abstands zwischen Anbauteil
und Karosserie;
-
3 den
geschlossenen Regelkreis zur Montage des Anbauteils;
-
4 die
Nachbildung des geschlossenen Regelkreises von 3 in
der Simulation;
-
5 die
Berechnung von Spalt und Übergang
mit Hilfe von vier charakteristischen Punkten in der Simulation;
-
6 die
Berechnung von Spalt und Übergang
mit Hilfe von sechs charakteristischen Punkten in der Simulation;
-
7 eine
Abwandlung von 6 mit einem Referenzpunkt für alle Sensoren;
-
8 eine
vereinfachte Ausführung
der Simulation ohne Kinematikmodell.
-
Das
Ausführungsbeispiel
bezieht sich auf einen Roboter, der automatisch Anbauteile an die
Karosserie eines Kraftfahrzeugs montiert. Beispiele für Anbauteile
sind die Türen,
der Heckraumdeckel, die Motorhaube, die Frontscheibe und die Tankklappe
eines Pkw. Die Karosserie fungiert als das Fertigungsobjekt. Der
Roboter führt
das im Folgenden beschriebene Montageverfahren in einer Serienfertigung
durch, wiederholt es also häufig
und gleichförmig
für viele
Fahrzeuge. Gleichartige Anbauteile und Karosserien unterscheiden
sich von Fahrzeug zu Fahrzeug z. B. wegen Fertigungstoleranzen.
Anstelle eines Roboters kann das Verfahren auch mit einem anderen
sensorgeführten
Handhabungsautomat ausgeführt
werden.
-
Der
Roboter hält
das Anbauteil mittels einer Haltevorrichtung. Diese Haltevorrichtung
besitzt Greifer, die ein zu montierendes Anbauteil tragen.
-
Die
Haltevorrichtung umfaßt
weiterhin Sensoren zur Messung des Abstands zwischen Anbauteil und Karosserie.
Vorzugsweise arbeiten diese Sensoren berührungslos. Jeder Sensor sendet
optoelektrische Wellen, z. B. Laserstrahlen, aus. Eine Kamera mißt die reflektierten
Wellen. Der Sensor sendet die Wellen in einer Ebene aus. Die Kamera
erzeugt mit den reflektierten Wellen ein digitales Abbild des Verlaufs
der Oberfläche von
Karosserie und Anbauteil in dieser Ebene. Dieser Verlauf hat die
Form von gebogenen oder geraden Kurven in der Sensorebene.
-
1 veranschaulicht
einen Roboter 1 mit einem Greifarm, der einen „Unterarm" 2 und einen „Oberarm" 3, eine
Basis, eine Schulter und Gelenke zwischen diesen Bestandteilen auf weist.
Dieser Greifarm trägt eine
Haltevorrichtung 4. Diese Haltevorrichtung 4 hält ein Anbauteil 5 in
Form einer Autotür.
Schematisch dargestellt sind sechs Sensorebenen S-1 bis S-6.
-
2 veranschaulicht
die Arbeitsweise eines Sensors zur Messung des Abstands zwischen
Anbauteil und Karosserie. Eine CCD-Kamera 10 erzeugt ein
kalibriertes Sichtfeld 11. Dieses Sichtfeld 11 definiert
eine Sensorebene S-1. Die CCD-Kamera 10 erzeugt ein CCD-Kamerabild 12.
-
3 veranschaulicht
den Montagevorgang.
-
Der
Roboter 1 bewegt die Haltevorrichtung 4 mit dem
Anbauteil 5 zunächst
in eine Näherungsposition. Diese
Näherungsposition
hängt nicht
von der Position der Karosserie ab. Jeder Sensor mißt den jeweiligen Abstand
des Anbauteils relativ zur Karosserie an einer Stelle. Die Sensorwerte 30 werden
an eine Auswerteeinheit 20 übermittelt. Diese Auswerteeinheit 20 wertet
die von den Sensoren gemessenen Werte 30 aus und bestimmt
daraus die aktuelle Position 31 des Anbauteils relativ
zur Karosserie. Diese aktuelle Relativposition 31 wird
vorzugsweise durch folgende beiden Kenngrößen gekennzeichnet:
- – die
aktuelle Breite des Spalts zwischen Anbauteil und Karosserie und
- – den
aktuellen Übergang,
auch Spalttiefe genant, das ist der Versatz zwischen dem Anbauteil
und der Karosserie, gemessen in einer Richtung senkrecht auf die
Karosseriefläche.
-
Die
Breite des Spalts kann über
die Länge
des Spalts variieren, insbesondere in dem Fall, daß das Anbauteil
eine Autotür
ist.
-
Bei
anderen Anbauteilen, z. B. bei einem Tankdeckel, wird die aktuelle
Relativposition 31 des Anbauteils 5 mit Hilfe
folgender Kenngrößen angegeben:
- – die
aktuelle Spaltbreite und
- – der
Versatz, gemessen in mindestens einer Richtung, die tangential zur
Karosseriefläche
liegt, zwischen der Ist- und
der Sollposition.
-
Auf
einem Leitrechner 21 läuft
ein Regelungsprogramm 41 ab. Dieses Regelungsprogramm 41 erhält als Eingangsgrößen
- – die
aktuelle Position 33 der Roboter-Bestandteile und
- – die
aktuelle Position 31 des Anbauteils in der Haltevorrichtung
relativ zur Karosserie 6.
-
Das
Regelungsprogramm 41 berechnet aus diesen Eingangsgrößen eine
Positionskorrektur 32. Diese Positionskorrektur 32 gibt
die Veränderung
der Position und/oder Orientierung des Anbauteils 5 relativ
zur unveränderten
Karosserie 6 an. Die Positionskorrektur 32 wird
so berechnet, daß eine
Bewegung des Anbauteils 5 entsprechend der Positionskorrektur 32 das
Anbauteil 5 in die Soll-Relativposition bringt oder dieser
Soll-Position wenigstens näherbringt.
-
Vorzugsweise
hängt das
Regelungsprogramm 41 nicht vom Roboter 1 und der
Kinematik seiner Bestandteile ab. Daher läßt sich das Regelungsprogramm 41 unverändert für verschiedene
Roboter mit unterschiedlichen Kinematiken einsetzen.
-
Der
Leitrechner 21 übermittelt
diese berechnete Positionskorrektur 32 als Vorgabe an einen
Robotersteuerrechner 22 des Roboters 1. Auf diesem
Robotersteuerrechner 22 läuft ein Robotersteuerungsprogramm 42.
Dieser Robotersteuerungsprogramm 42 erzeugt unter Verwendung
der vorgegebenen Positionskorrektur 32 Befehle 34.
Insbesondere erzeugt das Robotersteuerungsprogramm 42 Befehle,
die bestimmte Winkel zwischen den Bestandteilen eines Greifarms
und/oder einen bestimmen Winkel zwischen einem Greifarm und einer
Greifarm-Halterung herstellen. Die Ausführung der Befehle bewirkt also
insbesondere eine Korrektur der Achswinkel zwischen Roboter-Bestandteilen.
-
Indem
der Roboter 1 diese Befehle 34 ausführt, bewirkt
der Roboter 1, daß die
Bestandteile 2 und 4 der Roboter-Greifarme und
damit die Haltevorrichtung 4 und damit das Anbauteil 5, das
von der Haltevorrichtung 4 gehalten wird, ihre Positionen
und/oder Orientierungen relativ zur Karosserie 6 ändern. Diese
Veränderung
ist Idealerweise gleich der vorgegebenen Positionskorrektur 32.
Möglich
ist aber, daß der
Roboter 1 die vorgegebene Positionskorrektur 32 nicht
vollständig
bewirken kann, beispielsweise wegen kinematischer Einschränkungen.
Dann bewirkt er wenigstens eine Positionskorrektur, die der vorgegebenen
Positionskorrektur 32 nahekommt.
-
Der
Roboter 1 übermittelt
an den Robotersteuerrechner 22 Rückmeldungen 35, ob
er die Befehle 34 fehlerfrei ausführen konnte oder nicht. Diese
Rückmeldungen
wertet das Robotersteuerungsprogramm 42 aus. Es übermittelt
eine Beschreibung 36 der korrigierten Positionen der Roboter-Bestandteile
an das Regelungsprogramm 41.
-
3 illustriert
diesen geschlossenen Regelkreis. Der Roboter 1 mit der
Haltevorrichtung 4 und dem gehaltenen Anbauteil 5 sowie
die Karosserie bilden die Regelstrecke 8. Die Sensoren,
der Leitrechner 21 und der Robotersteuerrechner 22 bilden
zusammen den Regler. Die Befehle 34 an den Roboter 1 fungieren
als die Stellgrößen, die
Kenngrößen der
aktuellen Relativposition als die Regelgrößen, die auf vorgegebene Werte einzuregeln
sind.
-
Vorzugsweise
wird ein Optimierungskriterium für
die Regelgröße vorgegeben,
um die aktuelle Regelabweichung zu bewerten. Bei der Regelung ist
nämlich
zu berücksichtigen,
daß die
tatsächlichen
Abmessungen des Anbauteils und der Karosserie 6 von vorgegebenen
Sollabmessungen innerhalb vorgegebener Toleranzen abweichen können. Daher
ist es oft nicht möglich,
ein Anbauteil so zu positionieren, daß sowohl der Spalt genau eine
vorgegebene Breite aufweist als auch Versatz bzw. Übergang
die Idealwerte (meist 0) aufweisen. Vielmehr ist ein Kompromiß zwischen
diesen oft divergierenden Zielen zu finden. Daher wird eine Optimierungsregelung
durchgeführt.
-
Vorzugsweise
durchläuft
dieser Regelkreis 8 beim Bewegen der Haltevorrichtung 4 in
die Sollposition einen iterativen Re gelvorgang. In der Iteration
wird die aktuelle Relativposition des Anbauteils 5 ermittelt,
und der Leitrechner 21 berechnet die nächste Bewegung des Roboters 1 mit
der Haltevorrichtung so, daß die
Relativposition bezüglich
des Optimierungskriteriums verbessert wird. Der Leitrechner 21 gibt
dem Robotersteuerrechner 22 neue Werte für den Roboter 1 vor,
und der Robotersteuerrechner 22 erzeugt Befehle für den Roboter 1,
die mindestens eine Bewegung des Roboters 1 verursachen.
Eine neue Iteration wird durchlaufen, indem die durch die vorherige
Iteration erreichte aktuelle Relativposition gemessen wird, der
Leitrechner 21 neue Werte vorgibt und der Robotersteuerrechner 22 erneut
Befehle generiert, die eine Roboterbewegung verursachen.
-
Sobald
ein vorgegebenes Abbruchkriterium erreicht wird, wird dieser iterative
Regelvorgang abgebrochen. Das Abbruchkriterium ist z. B. dann erfüllt, wenn
die Abweichung zwischen der tatsächlichen
und der geforderten Relativposition kleiner als eine erste vorgegebene
Schranke ist oder wenn die Verringerung der Abweichung, die durch
die letzte Roboterbewegung erzielt wurde, kleiner als eine zweite
vorgegebene Schranke ist. Das Anbauteil befindet sich dann in der
oder nahe der Sollposition. Es wird in dieser Sollposition gehalten
und an die Karosserie montiert.
-
Das
erfindungsgemäße Verfahren
sieht vor, einen solchen geregelten sensorgeführten Montagevorgang zu simulieren.
Diese Simulation wird insbesondere durchgeführt, um folgende Aufgaben zu
lösen:
Eine
vorgegebene Sensorkonfiguration soll überprüft werden. Insbesondere sollen
folgende Fragen beantwortet werden:
- – Reichen
die Sensoren aus, damit der Roboter die Haltevorrichtung mit dem
Anbauteil in die Sollposition überführen kann?
Oder kann die Haltevorrichtung sich anfangs in solchen Näherungspositionen
befinden, in denen die von den Sensoren gemessenen Werte nicht ausreichen,
damit der Roboter die Haltevorrichtung aus einer solchen „ungünstigen" Näherungsposition
in den Sollbereich bewegt? Kollidiert das Anbauteil beim Montagevorgang
gar mit der Karosserie? Dann ist ein weiterer Sensor an der Haltevorrichtung
vorzusehen, und/oder ein vorhandener Sensor ist anders zu positionieren.
- – Ist
es andererseits möglich,
einen Sensor fortzulassen, ohne daß der Montagevorgang dadurch
schlechter ausgeführt
oder zu schlechteren Ergebnissen führt? Weniger Sensoren bedeutet
weniger Fehlerquellen und damit eine höhere Verfügbarkeit des geregelten Roboters.
Oder es wird ermöglicht,
Sensoren redundant auszulegen, so daß der Roboter auch bei Ausfall
eines Sensors arbeiten kann.
-
Überprüft werden
soll eine vorgegebene Regelung des Roboters mit der Haltevorrichtung.
Arbeitet diese Regelung korrekt und liefert für jede Näherungsposition geeignete Stellwerte
für den
Roboter, so daß dieser die
Haltevorrichtung in die Sollposition überführt? Kommt es zu einem Überschwingen
beim Montagevorgang oder gar zu einer Kollision zwischen Anbauteil
und Karosserie?
-
4 veranschaulicht
die Nachbildung des geschlossenen Regelkreises und die Simulation
des Montagevorgangs. Die Nachbildung 108 der Regelstrecke 8 wird
im Folgenden erläutert.
-
Der
Simulation werden je ein rechnerverfügbares dreidimensionales Konstruktionsmodell 106 der
Karosserie und 105 des Anbauteils 5 vorgegeben.
Diese beiden Konstruktionsmodelle 106 und 105 beschrieben wenigstens
näherungsweise
die Geometrie der Oberfläche
der Karosserie bzw. des Anbauteils. Nicht erforderlich ist, daß die Konstruktionsmodelle
die Oberflächenbeschaffenheit
oder sonstige physikalische Eigenschaften beschreiben. Diese Konstruktionsmodelle
stehen in der Regel ohnehin zur Verfügung, weil diese zur Konstruktion
des Kraftfahrzeugs erzeugt werden. Beispielsweise werden sie mit
einem kommerziellen CAD-Werkzeug generiert.
-
Weiterhin
wird der Simulation ein Kinematikmodell 101 des Roboters
vorgegeben. Dieses Roboter-Kinematikmodell 101 legt mindestens
folgendes fest:
- – die Länge der Greifarme des Roboters 1 und
ihrer Bestandteile, z. B. „Oberarm" 2 und „Unterarm" 3 jedes Greifarms,
- – welche
Drehachsen die Gelenke zwischen diesen Greifarmen aufweisen, also
um welche Drehachsen die Greifarm-Bestandteile zueinander drehbar sind.
-
Die
Geometrien der Oberflächen
der Roboter-Bestandteile, insbesondere der Greifarme und der Haltevorrichtung,
werden für
die Simulation nicht benötigt.
Um eine mögliche
Kollision zwischen Haltevorrichtung oder Greifarm einerseits und
Karosserie andererseits zu erkennen, werden optional trotzdem die
Geometrien der Roboter-Bestandteile vorgegeben. Dann läßt sich
auch der Verlauf der Simulation visuell veranschaulichen.
-
Vorzugsweise
werden das Roboter-Kinematikmodell 101 und die beiden Konstruktionsmodelle 106 und 105 in
einem vorgegebenen rechnerverfügbaren
dreidimensionalen Koordinatensystem 110 positioniert und
orientiert. Die jeweiligen Positionen und Orientierungen in diesem
Koordinatensystem 110 legen auch die Relativposition fest.
-
Weiterhin
werden der Simulation Anfangspositionen des Roboters und seiner
Bestandteile vorgegeben. Diese Anfangspositionen legen insbesondere
für jeden
Greiferarm-Bestandteil des Roboters jeweils fest, in welcher Richtung
die jeweilige Längsachse
des Bestandteils verläuft.
Weiterhin legen die Anfangspositionen jeweils einen anfänglichen
Winkel zwischen zwei angrenzenden Greifarm-Bestandteilen fest.
-
Die
Nachbildung und Simulation des geschlossenen Regelkreises wird automatisch
unter Verwendung einer Datenverarbeitungsanlage durchgeführt. Diese
Datenverarbeitungsanlage umfaßt
eine Recheneinheit und einen Datenspeicher, in dem das Karosserie-Konstruktionsmodell 106,
das Anbauteil-Konstruktionsmodell 105, das Kinematikmodell 101 und
das Koordinatensystem 110 abgespeichert sind. Die Recheneinheit
hat Lesezugriff auf diesen Datenspeicher. Die Datenverarbeitungsanlage
weist weiterhin Ausgabegeräte
auf, um die Ergebnisse der Simulation auszugeben, z. B. einen Bildschirm
für eine
graphische Darstellung der zeitlichen Verläufe von Spalt und Übergang.
-
In
der Simulation wird der oben beschriebene geschlossene Regelkreis
nachgebildet. Der Roboter wird durch das Roboter-Kinematikmodell, das Anbauteil 5 durch
das Anbauteil-Konstruktionsmodell 105 und die
Karosserie durch das Karosserie-Konstruktionsmodell 106 nachgebildet.
Die Nachbildung 108 der Regelstrecke 8 umfaßt das Kinematikmodell 101 und
die Konstruktionsmodelle 106 und 105.
-
Vorzugsweise
wird die Simulation mit Hilfe eines Software-Werkzeugs zur Mehrkörper-Simulation durchgeführt. Diese
Ausgestaltung ermöglicht
eine besonders einfache Weise, das im Folgenden beschriebene Konzept
des virtuellen Sensors zu realisieren. Die Nachbildung 108 der
Regelstrecke 8 umfaßt
einen Mehrkörper-Simulator 24.
Der Mehrkörper-Simulator 24 führt eine
Mehrkörper-Simulation
der Regelstrecke 8 durch und ruft hierfür die Konstruktionsmodelle
auf und führt
die Berechnungen durch, um die Nachbildung 108 der Regelstrecke 8 nachzubilden.
-
Vorzugsweise
werden dasselbe Regelungsprogramm 41, das auf dem Leitrechner 21 abläuft und
wiederholt eine Korrekturposition 32 berechnet, sowie dasselbe
Robotersteuerungsprogramm 42, das auf dem Robotersteuerrechner 22 abläuft und
die Roboterbefehle 34 erzeugt, auch in der Simulation verwendet.
Dadurch werden Fehler vermieden, die dann entstehen können, wenn
eines der Programme durch ein anderes Programm nachgebildet werden
würde.
Diese beiden Programme können
auf dem Leitrechner 21 bzw. dem Robotersteuerrechner 22 ablaufen
oder auf anderen Rechnern, die eigens für die Simulation eingesetzt
werden.
-
In
der Simulation wird die oben beschriebene Regelung des geschlossenen
Regelkreises nachgebildet, indem die Nachbildung 108 der
Regelstrecke geregelt wird. Hierfür wird eine simulierte aktuelle
Relativposition 131 des Anbauteil-Konstruktionsmodells 105 relativ
zum Karosserie-Konstruktionsmodell 106 berechnet.
Diese simulierte Relativposition 131 wird an einen Relativpositions-Konverter 25 übermittelt.
Dieser erzeugt hieraus eine aktuelle Relativposition 31 in
der Form, in der das Regelungsprogramm 41 sie verarbeiten kann.
-
Das
Regelungsprogramm 41 berechnet wie oben beschrieben unter
Verwendung der Relativposition 31 eine Positionskorrektur 32 für den Roboter 1.
Die Positionskorrektur 32 wird an das Robotersteuerungsprogramm 42 übermittelt.
-
Der
reale Roboter 1 wird aber nicht in die Simulation einbezogen.
Vorzugsweise werden statt dessen die korrigierten Positionen 36 der
Roboter-Bestandteile verwendet. Das Robotersteuerungsprogramm 42 berechnet
diese korrigierten Positionen 36 in Abhängigkeit von der vorgegebenen
Positionskorrektur 32. Diese korrigierten Positionen 36 haben
vorzugsweise die Form von internen Variablen des Robotersteuerungsprogramms 42.
Diese internen Variablen verwendet das Robotersteuerungsprogramm 42,
um die Befehle 34 zu berechnen. In der Simulation werden
aber vorzugsweise nicht die Befehle 34 verwendet, sondern
die korrigierten Positionen 36. Diese korrigierten Positionen 36 werden
an einen Befehls-Konverter 26 übermittelt. Dieser Befehls-Konverter 26 wandelt
die korrigierten Positionen 36 in eine Form um, die der
Mehrkörper-Simulator 24 auszuwerten
vermag. Vorzugsweise haben diese transformierten Positionen 136 die
Form von Variablen-Werte für
Variable des Kinematikmodells 101 und/oder des Konstruktionsmodells 105,
die beide zur Nachbildung 108 der Regelstrecke 8 gehören.
-
Der
Mehrkörper-Simulator 24 verarbeitet
diese transformierten Positionen 136 und bewegt das Kinematikmodell 101 so
wie durch die transformierten Positionen 136 vorgegeben.
In der Simulation wird also die volle Positioniergenauigkeit des
Roboters 1 ausgenutzt. Dadurch werden in der Simulation
die Einflüsse
der Robotersteuerung realitätsnah
nachgebildet und von möglichen
Ungenauigkeiten des Roboters 1 abstrahiert. Insbesondere
wird das zeitliche Verhalten der Robotersteuerung nachgebildet.
Weiterhin wird in der Simulation untersucht, wie genau und schnell
die Robotersteuerung die Vorgaben des Regelungsprogramms 41 umzusetzen
vermag.
-
Weiterhin
bewegt er das Anbauteil-Konstruktionsmodell 105 entsprechend
der transformierten Positionen 136, und zwar so, daß das Anbauteil-Konstruktionsmodell 105 seine
Position relativ zur Nachbildung der Haltevorrichtung 4 nicht
verändert.
Diese Abfolge wird in 4 durch gestrichelte Pfeile
dargestellt.
-
Dies
entspricht der physikalischen Realität. Diese Veränderung
geschieht vorzugsweise dadurch, daß die Positionen und/oder Orientierungen
des Roboter-Kinematikmodells 101 und des Anbauteil-Konstruktionsmodells 105 im
dreidimensionalen Koordinatensystem 110 entsprechend der
transformierten Positionen 136 verändert werden. Diese transformierten
Positionen 136 entsprechen den korrigierten Positionen 36 und
damit den Positionen, die der Roboter 1 entsprechend den
berechneten Befehlen 34 einnehmen soll.
-
Wie
oben dargelegt, kann diese ausgeführte Positionsveränderung
von der vorgegebenen Positionskorrektur 32 differieren,
nämlich
dann, wenn der Roboter 1 und damit das Kinematikmodell 101 die
vorgegebene Positionskorrektur 32 nicht exakt umzusetzen
vermag.
-
Jeder
Sensor wird durch einen virtuellen Sensor, der virtuelle Sensorsignale
liefert, nachgebildet. In 4 ist beispielhaft
ein virtueller Sensor 200 angedeutet. Der virtuelle Sensor 200 verfügt über eine
rechnerverfügbare
Beschreibung der Lage der virtuellen Sensorebene. In dieser virtuellen
Sensorebene arbeitet der virtuelle Sensor. Vorzugsweise legt die
Beschreibung die Lage dieser virtuellen Sensorebene in dem vorgegebenen
dreidimensionalen Koordinatensystem fest. In diesem Koordinatensystem
sind auch die Konstruktionsmodelle positioniert und orientiert.
Diese virtuelle Sensorebene hängt
von der Position des virtuellen Sensors im Koordinatensystem ab.
Um eine Sensorkonfiguration probeweise zu ändern, wird die Lage einer
virtuellen Sensorebene im Koordinatensystem geändert, oder ein virtueller
Sensor mit virtueller Sensorebene wird ergänzt oder entfernt. Vorzugsweise
umfaßt
die rechnerverfügbare
Beschreibung auch eine Beschreibung der Position des virtuellen
Sensors im Koordinatensystem.
-
Eine
virtuelle Kurve wird berechnet. Diese virtuelle Kurve liegt in der
virtuellen Sensorebene, in der der virtuelle Sensor arbeitet. Die
virtuelle Kurve bildet die reale Kurve in der Sensorebene nach.
Wie oben beschrieben, mißt
der reale Sensor diese Kurve, die den Verlauf der Oberflächen von
Karosserie und Anbauteil in der Sensorebene beschreibt. Die virtuelle
Kurve bildet diesen Verlauf nach und beschreibt den Verlauf der Nachbildung
von Anbauteil und Karosserie in der virtuellen Sensorebene.
-
In
einer Ausgestaltung wird die virtuelle Kurve berechnet, indem die
Schnittmenge aus der virtuellen Sensorebene und den Konstruktionsmodellen
von Anbauteil und Karosserie wenigstens näherungsweise berechnet werden.
Vorzugsweise hat die virtuelle Kurve die Form eines Splines.
-
In
einer anderen Ausgestaltung, die weniger Rechenschritte erfordert,
wird eine Kurve erzeugt, die auf dem Konstruktionsmodell des Anbauteils
und der Karosserie verläuft.
Diese Kurve beschreibt eine charakteristische Kurve auf der Oberfläche des
Anbauteils und der Karosserie, beispielsweise ein Radieneinlauf.
Berechnet wird mindestens ein Schnittpunkt der virtuellen Sensorebene
mit dieser charakteristischen Kurve auf dem Konstruktionsmodell.
Diese Schnittpunkte fungieren als virtuelle Spaltpunkte. Ihre Positionen
im Koordinatensys tem werden verwendet, um Werte für Spalt
und/oder Übergang
zu berechnen.
-
Um
mit Hilfe der virtuellen Kurve in der Simulation die simulierte
aktuelle Relativposition zu berechnen, werden vorzugsweise mehrere
charakteristische Punkte auf der virtuellen Kurve ermittelt. Jeder
charakteristischer Punkt ist durch eine automatisch ermittelbare
Eigenschaft eindeutig gekennzeichnet. Die Kenngrößen-Werte für die simulierte aktuelle Relativposition
werden mit Hilfe dieser charakteristischen Punkte berechnet. Die
Lage jedes charakteristischen Punkts im dreidimensionalen Koordinatensystem
wird berechnet. Die simulierte aktuelle Relativposition wird mit
Hilfe von Abständen
zwischen diesen charakteristischen Punkten berechnet.
-
Die
Positionierung und Auswertung der charakteristischen Punkte hängt davon
ab, welche Kanten das Anbauteil und die Karosserie aufweisen.
-
5 veranschaulicht
beispielhaft die Lage von vier solchen charakteristischen Punkten.
In diesem Beispiel werden Spalt und Übergang zwischen Anbauteil
und Karosserie berechnet. Links ist eine Falzkante des Anbauteils
zu sehen, rechts eine Tiefziehkante der Karosserie. Die Zeichenebene
fungiert als die virtuelle Sensorebene.
-
Die
beiden charakteristischen Punkte M2 und M3 legen eine Tangente auf
dem Anbauteil-Konstruktionsmodell fest. M3 liegt zugleich an der
Stelle, an der der gebogene in den geraden Bereich übergeht.
Der Punkt M1 wird so gelegt, daß die
Strecke von M1 nach M2 senkrecht auf der durch M2 und M3 definierten Tangente
liegt und der Punkt M1 jenseits der Faltung liegt. Der Punkt M4
liegt auf dem Karosserie-Konstruktionsmodell,
und zwar an der Stelle, an der der gebogene in den geraden Bereich übergeht.
M4 fungiert als ein virtueller Spaltpunkt. Die Strecke von M2 nach
M3 wird verlängert.
Eine Senkrechte auf diese Verlängerung durch
M4 wird gezogen. Der Schnittpunkt SP zwischen der Verlängerung
und der Senkrechten durch M4 wird ermittelt. Der Abstand zwischen M3
und SP liefert die Größe des Spalts
S, der Abstand zwischen M4 und SP die Größe des Übergangs Ü. Die Lage von M1 liefert das
Vorzeichen des Übergangs Ü.
-
6 zeigt
eine Fortbildung des Beispiels von 5. In dieser
Fortbildung werden sechs charakteristische Punkte M1 bis M6 verwendet,
was zu höherer
Genauigkeit, aber auch höherem
Rechenaufwand führt. Der
Punkt M3 liegt nicht wie im Beispiel der 5 an der
Stelle, an der der gerade Bereich in den gebogenen übergeht.
Vielmehr liegt M3 auf dem Schnittpunkt zweier Tangenten an die Falzgeometrie.
Die beiden Punkte M4 und M6 liegen an den beiden Stellen, an denen
der gebogene Bereich der Karosserie in einen geraden Bereich übergeht.
Eine erste Gerade wird so gelegt, daß sie durch M4 und M5 verläuft. Eine
zweite Gerade wird so gelegt, daß sie durch M6 verläuft und
senkrecht auf der ersten Geraden durch M4 und M5 steht. Die erste
und die zweite Gerade schneiden sich in einem virtuellen Spaltpunkt
SP-1. Eine dritte Gerade, die durch M6 und SP-1 verläuft, schneidet
die Gerade durch M2 und M3 im Schnittpunkt SP-2. Der Abstand zwischen SP-1
und SP-2 liefert den Wert für
den Übergang.
Der Abstand zwischen M3 und SP-2 liefert den Wert für den Spalt.
-
Bei
der Simulation des geschlossenen Regelkreises wird der zeitliche
Verlauf der Kenngrößen, die
die Relativposition beschreiben, analysiert. Falls der Verlauf des
Spalts oder der Übergangs
in der Simulation ein deutliches Überschwingen zeigt, so wird
vorzugsweise das Regelungsprogramm 42 verändert. Dies
geschieht beispielsweise dadurch, daß der Verstärkungsfaktor der Regelung verringert
wird. Falls die Regelung zu viele Iterationen erfordert, so wird
umgekehrt beispielsweise der Verstärkungsfaktor vergrößert.
-
In
einer anderen Ausgestaltung wird auf den Referenzpunkt M1 verzichtet.
Statt dessen wird ein fester Referenzpunkt im Koordinatensystem 110 vorgegeben.
Auf diesen festen Referenzpunkt M-ref beziehen sich alle virtuellen
Sensoren. Diese alternative Ausgestaltung erfordert weniger Rechenaufwand.
Die ser für
alle virtuellen Sensoren verwendete Referenzpunkt wird beispielhaft
in 7 gezeigt.
-
Probeweise
wird in der Simulation ein virtueller Sensor entfernt. Die Simulation
des geschlossenen Regelkreises wird ohne diesen virtuellen Sensor
erneut durchgeführt.
Dadurch wird ermittelt, ob der reale Sensor, den der entfernte virtuelle
Sensor nachbildet, sich einsparen läßt oder nicht.
-
In
der gerade beschriebenen Ausgestaltung wird der Roboter durch ein
Kinematikmodell nachgebildet. In einer alternativen Ausführungsform
wird auf dieses Kinematikmodell verzichtet. Statt dessen errechnet
das Regelungsprogramm direkt eine Korrekturgröße, der zu einer Korrektur
der Anbauteil-Konstruktionsmodell-Position
führt.
Diese berechnete Korrekturgröße ist z.
B. ein Korrekturvektor in dem Koordinatensystem 110. Das
Anbauteil-Konstruktionsmodell 105 wird direkt entsprechend
diesem Korrekturvektor im Koordinatensystem 110 bewegt.
Diese Ausgestaltung spart Rechenzeit und Rechenkapazität ein, ist
aber weniger realitätsnah,
weil die Kinematik nicht nachgebildet wird.
-
8 veranschaulicht
diese vereinfachte Ausführungsform.
Die Nachbildung
108 der Regelstrecke umfaßt kein
Kinematikmodell
101, sondern nur die beiden Konstruktionsmodelle
105 und
106.
Ein Positionskorrektur-Konverter
27 erhält als Eingabe die Positionskorrektur
32,
die vom Regelungsprogramm
41 stammt. Der Konverter
27 transformiert
die Positionskorrektur
32 in eine Form
132, die
vom Mehrkörper-Simulator
24 auswertbar
ist. Insbesondere in dieser Ausgestaltung läßt sich anstelle des Mehrkörper-Simulators
24 ein
anderes Software-Werkzeug
verwenden, z. B. ein CAD-Werkzeug. Diese transformierte Positions-Korrektur
132 legen
vorzugsweise Werte für
Variablen des Anbauteil-Konstruktionsmodells
105 fest.
Der Mehrkörper-Simulator
24 wertet
die transformierte Positions-Korrektur
132 aus
und verändert
die Position und/oder Orientierung des Anbauteil-Konstruktionsmodells
105. Liste
der verwendeten Bezugszeichen