-
Die vorliegende Erfindung betrifft ein Verfahren und ein Steuermittel zur computergestützten Steuerung einer Roboteranordnung mit wenigstens zwei Robotern.
-
Bei Roboteranordnungen mit zwei oder mehr Robotern kann zwischen koordinierten und kooperativen Prozessen unterschieden werden: während bei kooperativen Prozessen die Roboter synchron als Achsen eines virtuellen Hyperroboters fungieren, um beispielsweise gemeinsam eine von den Robotern gehaltene Nutzlast zu bewegen, führen im koordinierten Roboterbetrieb Roboter Teilaufgaben a priori unabhängig von anderen Robotern aus.
-
Um hierbei Kollisionen zu vermeiden, werden nach betriebsinterner Praxis Prozesse in Prozessabschnitte unterteilt, die erst von allen kollisionsgefährdeten Robotern abgearbeitet worden sein müssen, bevor sie einen nachfolgenden Prozessabschnitt beginnen dürfen. Sollen beispielsweise zwei Roboter abwechselnd Nutzlasten im selben Arbeitsraum bewegen, können solche Prozessabschnitte durch den Austritt eines Roboters aus diesem Arbeitsraum vorgegeben werden, so dass der jeweils andere Roboter erst in einem nachfolgenden Prozessabschnitt in den – nun freien – Arbeitsraum eindringen darf.
-
Arbeitsabläufe, insbesondere Bewegungen, von einzelnen Robotern werden jedoch in der Regel zeitoptimal gesteuert, i. e. so, dass der Roboter den Arbeitsablauf in der minimal möglichen Zeit abarbeitet, die beispielsweise aus Beschränkungen in Antriebskräften und -momenten, Gelenkgeschwindigkeiten und -beschleunigungen und/oder kartesischen Geschwindigkeiten von Referenzpunkten wie dem TCP resultieren kann. Dies führt bei dem oben erläuterten, in Prozessabschnitte getakteten koordinierten Prozess dazu, dass der bzw. die schnelleren Roboter, i. e. diejenigen, die den jeweiligen Prozessabschnitt in geringerer minimaler Zeit abarbeiten, am Ende des Prozessabschnitts auf den jeweils langsamsten Roboter warten und somit bei ihrem zeitoptimalen Arbeitsablauf unnötig viel Energie verbraucht haben.
-
Die
DE 196 25 637 A1 schlägt zur Kollisionsvermeidung im Mehrroboterbetrieb vor, Kollisionsbereiche in den Raum der gemeinsamen Gelenkkoordinaten zu projizieren und dort zeitoptimale kollisionsfreie Trajektorien zu planen. Die Endzeit des dabei schnelleren Roboters wird auf die Endzeit des langsameren Roboters skaliert, um denselben Punkt im Gelenkkoordinatenraum synchron zu erreichen.
-
Aufgabe der vorliegenden Erfindung ist es, die Steuerung von Roboteranordnungen mit wenigstens zwei Robotern zu verbessern.
-
Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 gelöst. Anspruch 9 stellt ein Steuermittel, Anspruch 11 ein Computerprogrammprodukt, insbesondere einen maschinenlesbaren Datenträger bzw. ein Speichermedium, zur Durchführung eines erfindungsgemäßen Verfahrens unter Schutz, wobei ein Mittel im Sinne der vorliegenden Erfindung gleichermaßen hard- und/oder softwaretechnisch ausgebildet sein kann, also insbesondere entsprechende Verarbeitungs-, Rechen-, Speicher- und/oder Datenübertragungseinrichtungen und/oder Programme, Programmmodule, und dergleichen umfassen kann. Vorteilhafte Weiterbildungen sind Gegenstand der Unteransprüche.
-
Die vorliegende Erfindung basiert auf dem Grundgedanken, eine Zeitdifferenz, die zwischen einer Zeit, die der langsamste Roboter einer Roboteranordnung zur Abarbeitung eines Prozessabschnittes benötigt, und der Zeit, die ein schnellerer Roboter der Roboteranordnung bei zeitoptimalem Betrieb benötigen würde, zu nutzen, um den Arbeitsablauf des schnelleren Roboters, insbesondere in Hinblick auf seinen Energieverbrauch, zu optimieren. Im Gegensatz zu einer reinen Skalierung der minimalen Endzeit des schnelleren Roboters auf diejenige des langsameren Roboters kann hier eine Optimierung deutliche Energieeinsparungen ergeben.
-
Allgemein umfasst ein erfindungsgemäßes Verfahren zunächst das Bestimmen eines oder mehrerer Prozessabschnittspunkte. Dabei wird ein Gesamtprozess, den die Roboteranordnung durchführen soll, vorzugsweise in zwei oder mehr Teilprozesse bzw. Prozessabschnitte gegliedert. Diese können sich insbesondere im Rahmen einer Kollisionsvermeidung ergeben, etwa durch die Forderung, dass stets nur ein Roboter in einem gemeinsamen, vorzugsweise veränderlichen, Arbeitsbereich agieren darf. Zusätzlich oder alternativ können Prozessabschnittspunkte auch Synchronisationspunkte sein, an denen zwei oder mehr Roboter zeitgleich eine bestimmte Konfiguration einnehmen müssen, etwa, um eine Nutzlast zu übergeben oder ein durch einen Roboter fixiertes Werkstück durch ein Werkzeug zu bearbeiten, welches ein anderer Roboter führt. Prozessabschnittspunkte können sich beispielsweise aus dem Fördertakt eines Förderers ergeben, mit dem die Roboteranordnung zusammenwirkt. Zur kompakteren Darstellung kann auch ein Gesamtprozess ohne weitere Unterteilung einen Prozessabschnitt im Sinne der vorliegenden Erfindung darstellen, dessen einziger Prozessabschnittspunkt dann das Ende des Gesamtprozesses bildet.
-
Allgemein wird unter einem Prozessabschnittspunkt im Sinne der vorliegenden Erfindung insbesondere ein Punkt verstanden, der einen Zustand von zwei oder mehr Robotern der Roboteranordnung, insbesondere Posen der Roboter, beschreibt, beispielsweise Posen am Ende eines Bearbeitungsprozesses oder einer Transferbewegung. Wird ein Arbeitsablauf eines Roboters i der Roboteranordnung durch den Verlauf seiner Gelenkkoordinaten qi über einem Prozesszustandsparameter s0 ≤ s ≤ SE beschrieben, der Gesamtprozess entsprechend durch die Gelenkkoordinaten q(s) = [q1(s), q2(s), ...] der Roboter der Roboteranordnung, kann also ein Prozessabschnittspunkt beispielsweise durch Werte des Prozesszustandsparameters s bzw. die zugehörigen Gelenkkoordinaten oder Roboterposen angegeben werden. Prozessabschnittspunkte können manuell, etwa durch Anklicken in einer graphischen Darstellung des Prozesses oder Eingabe während eines Teachens des Prozesses, und/oder automatisch, etwa in vorgegebenen Abständen des Prozesszustandsparameters, bestimmt werden.
-
Dann wird für den jeweiligen Prozessabschnittspunkt eine Prozessabschnittszeit ermittelt. Hierunter wird insbesondere diejenige Zeit verstanden, die die Roboteranordnung zum Erreichen des Prozessabschnittspunkts unter Abarbeitung des jeweiligen Prozessabschnittes durch die Roboter der Roboteranordnung benötigt. In einer bevorzugten Ausführung wird dazu für zwei oder mehr, insbesondere alle Roboter der Roboteranordnung, jeweils eine minimale Abschnittszeit ermittelt, die die jeweiligen Roboter mindestens zur Abarbeitung ihres jeweiligen Prozessabschnittes benötigen. Diese minimale Abschnittszeit kann vorzugsweise unter Berücksichtigung maximal zulässiger Antriebskräfte und -momente, Gelenkgeschwindigkeiten und – beschleunigungen und/oder kartesischer Geschwindigkeiten von Referenzpunkten insbesondere dem TCP, bei zeitoptimal geplantem Arbeitsablauf erreicht werden. Die Prozessabschnittszeit kann dann auf Basis dieser minimalen Abschnittszeiten ermittelt werden, insbesondere als größte der minimalen Abschnittszeiten. Gleichermaßen kann eine Prozessabschnittszeit auch auf Basis anderer Prozessfaktoren ermittelt werden, beispielsweise der Zeit, die ein Werkstück benötigt, um eine vorgegebene Temperatur zu erreichen, die ein Farb-, Dicht- oder Klebemittelauftrag zur Trocknung benötigt, oder die eine Werkzeug- oder Spritzmaschine zur Bearbeitung eines Werkstückes benötigt. Allgemein kann die jeweils längste der Zeiten, die Roboter, Werkzeuge, Werkstücke und/oder weitere Prozessmittel wie Werkzeugmaschinen, Förderer oder dergleichen jeweils zum Erreichen des Prozessabschnittspunktes minimal benötigen, als Prozessabschnittszeit ermittelt werden. In einer vorteilhaften Weiterbildung kann die so aus den minimal Zeiten ermittelte Prozessabschnittszeit um einen vorgegebenen Wert erhöht werden, um auch für das langsamste Prozessmittel eine Reserve vorzusehen und dieses nicht auszubelasten. Hierzu kann in gleicher Weise auch die jeweilige minimale Zeit der einzelnen Prozessmittel um einen vorgegebenen, vorzugsweise individuellen, Wert erhöht werden.
-
Nun wird auf Basis der Prozessabschnittszeit eine Abschnittszeit für einen oder mehrere Roboter der Roboteranordnung vorgegeben, vorzugsweise nur für Roboter, deren minimale Abschnittszeit nicht die Prozessabschnittszeit bestimmen. Insbesondere kann die Prozessabschnittszeit selber als Abschnittszeit vorgegeben werden. Gleichermaßen ist es möglich, die Abschnittszeiten beispielsweise um einen vorgegebenen Wert gegenüber der Prozessabschnittszeit zu erhöhen, um auch das langsamste Prozessmittel nicht auszubelasten. Die Abschnittszeit kann beispielsweise als Gesamtzeit, die dem jeweiligen Roboter zur Abarbeitung des Prozessabschnittes zur Verfügung steht, oder auch als Zeitdifferenz gegenüber der vorab ermittelten minimalen Abschnittszeit vorgegeben werden.
-
Dann wird für den bzw. die Roboter auf Basis der vorgegebenen Abschnittszeit ein Arbeitsablauf optimiert. Dabei kann eine Bahnkurve des Roboters i, die etwa durch die Vorgabe seiner Gelenkwinkel qi über einem Bahnparameter s beschrieben werden kann, vorgegeben sein, um beispielsweise den TCP auf einer vorgegebenen kartesischen Bahn zu führen und so beispielsweise Kollisionen zu vermeiden, eine Schweißnaht abzufahren oder Klebe- oder Farbmittel in einer vorgegebenen Auftragsbahn aufzubringen. In diesem Falle kann das Bahngeschwindigkeitsprofil s(t), mit dem der Roboter diese vorgegebene Bahn abfährt, optimiert werden. Ist die Bahnkurve des Roboters nicht vorgegeben, weil beispielsweise nur eine Anfangs- und eine Endpose zum Aufnehmen und Ablegen einer Nutzlast durch die Randbedingungen vorbestimmt sind, während die Transferbahn zwischen diesen Posen noch frei wählbar ist, kann auch die Bahnkurve selber optimiert werden. Hierzu können beispielsweise in einem Optimierer Stützpunkte oder andere Parameter, die die Bahnkurve allgemein beschreiben, etwa die Koeffizienten von Splines oder dergleichen, als variierbare Optimierungsparameter verwendet werden. Zusätzlich oder alternativ kann auch hier das Bahngeschwindigkeitsprofil optimiert werden, insbesondere in einem einstufigen Verfahren, bei dem die Bahnkurve über der Zeit beschrieben wird.
-
Unter einem Optimieren im Sinne der vorliegenden Erfindung wird insbesondere die Vorgabe eines Arbeitsablaufes, beispielsweise einer Bahnkurve und/oder eines Bahngeschwindigkeitsprofils, verstanden, für das ein oder mehrere Gütekriterien einen Extremal-, insbesondere Minimalwert erreichen. Mehrere Gütekriterien können gemeinsam, vorzugsweise als gewichtete Summe, pareto-optimiert werden. Das bzw. die Gütekriterien müssen für den optimierten Arbeitsablauf nicht globale Extremalwerte erreichen, insbesondere, wenn eine Ermittlung nicht geschlossen möglich ist oder einen hohen numerischen Aufwand erfordert. Dementsprechend wird in einer bevorzugten Ausführung ein Arbeitsablauf optimiert, indem dieser – vorzugsweise numerisch simuliert – für wenigstens zwei verschiedene Parameterwerte von Parametern, die den Arbeitsablauf (mit)bestimmen, etwa die vorstehend erläuterten Stützstellen, durchgeführt und als optimaler Arbeitsablauf derjenige bestimmt wird, für den das bzw. die Gütekriterien den niedrigsten Wert aufweisen.
-
Vorzugsweise ist ein Gütekriterium der Optimierung eine Energiegröße des Roboters. Dabei kann es sich insbesondere um einen Energieverbrauch des Roboters oder eine hiermit korrespondierende Größe handeln, beispielsweise das Integral des Quadrats oder des Betrags der Antriebsleistungen der Antriebe des Roboters. Hieraus wird deutlich, dass eine Energiegröße im Sinne der vorliegenden Erfindung nicht notwendig die physikalische Dimension einer Energie bzw. Arbeit aufweisen muss.
-
Die zu optimierende Energiegröße kann vorzugsweise auch einen Energieverbrauch in der Energieversorgung des Roboters, etwa Verluste in Umrichtern, Zwischenkreisen oder dergleichen, umfassen.
-
Zusätzlich oder alternativ kann ein Gütekriterium vorzugsweise eine Belastung des Roboters, beispielsweise maximal auftretende Kräfte bzw. Momente, insbesondere in Gelenken, Antrieben oder dergleichen beschreiben. Auch ein Maß für Schwingungen des Roboters, beispielsweise die Amplituden elastischer Schwingungen oder dergleichen, kann ein Gütekriterium bilden. Weitere Gütekriterien können zusätzlich oder alternativ berücksichtigt werden.
-
Insbesondere, um den Wert eines oder mehrerer der vorgenannten Gütekriterien in einer Simulation für verschiedene Parameterwerte, die den Arbeitsablauf des Roboters (mit)bestimmen, zu ermitteln, wird in einer bevorzugten Ausführung der vorliegenden Erfindung sein Arbeitsablauf mittels eines dynamischen Modells, insbesondere eines Starrkörper- oder eines elastischen Mehrkörpermodells, simuliert.
-
Ein Arbeitsablauf eines Roboters kann Bearbeitungs- und/oder Transferabschnitte umfassen. Dabei kann ein Bearbeitungsabschnitt insbesondere eine Werkzeug- oder Werkstückführung des Roboters während eines Bearbeitungsprozesses, beispielsweise eines robotergeführten Schweißens, Klebens, Lackierens, einer spanenden oder spanlosen Bearbeitung oder dergleichen umfassen. Ein Transferabschnitt kann hingegen insbesondere eine vorgegebene Anfangs- und Endpose des Roboters aufweisen, wobei eine Roboterbahn zwischen beiden Posen – gegebenenfalls unter Berücksichtigung von Randbedingungen wie Kollisionsfreiheit, Maximalwerten für Antriebskräfte und -momente, Geschwindigkeiten und/oder Beschleunigungen, und dergleichen – frei wählbar ist.
-
Typischerweise ist für einen Bearbeitungsabschnitt eine Bahnkurve und ein Bahngeschwindigkeitsprofil vorgegeben, um beispielsweise bei vorgegebener Auftragsrate eine Klebe- oder Lackierbahn mit einem gewünschten Klebe- bzw. Lackauftrag abzufahren. Eine Optimierung ist daher für solche Abschnitte nicht möglich, ohne den auszuführenden Prozess zu beeinträchtigen. In einer bevorzugten Ausführung ist daher vorgesehen, den Prozessabschnitt in einen oder mehrere Transferabschnitte und/oder einen oder mehrere Bearbeitungsabschnitte zu unterteilen und nur den bzw. die Transferabschnitte zu optimieren, um so auch den gesamten Prozessabschnitt zu optimieren. Als Transferabschnitt wird somit allgemein insbesondere ein Prozessabschnitt bzw. ein Teil eines Prozessabschnittes verstanden, in dem eine Bahnkurve und/oder ein Bahngeschwindigkeitsprofil variierbar ist.
-
Üblicherweise ist eine Steuerung einer Roboteranordnung verteilt: dabei führt eine globale Prozess- oder Zellsteuerung eine Steuerung des Gesamtprozesses durch, etwa durch Vorgabe von von den Robotern der Anordnung anzufahrenden Posen bzw. abzufahrenden Bahnkurven, während Robotersteuerungen die einzelnen Roboter steuern, beispielsweise Bahnen zwischen vorgegebenen (Stütz)Posen interpolieren.
-
Ein erfindungsgemäßes Verfahren kann gleichermaßen durch eine Zellsteuerung, eine oder mehrere Robotersteuerungen oder verteilt durch Zellsteuerung und Robotersteuerungen durchgeführt werden. Dabei kann insbesondere vorgesehen sein, dass die Vorgabe der Abschnittszeit für die Roboter der Roboteranordnung durch eine Steuerung der Roboteranordnung erfolgt, die zusätzlich oder alternativ Prozessabschnittspunkte bestimmen und eine Prozessabschnittszeit ermitteln kann. Die Optimierung des Arbeitsablaufes eines Roboters, insbesondere eine Simulation seines Arbeitsablaufes zur Bestimmung eines oder mehrerer Gütekriterien für verschiedene, den Arbeitsablauf bestimmende Parameterwerte, kann zusätzlich oder alternativ zu einer Bestimmung einer minimalen Abschnittszeit auf Basis einer zeitoptimal geplanten Roboterbahn vorzugsweise durch die Steuerung des jeweiligen Roboters erfolgen. Hierzu ist in einer bevorzugten Ausführung eine Simulation und ein Optimierer in der jeweiligen Robotersteuerung implementiert.
-
Ein erfindungsgemäßes Verfahren kann, wenigstens teilweise, offline vorab und/oder online während des Arbeitsablaufes erfolgen. Es ist computergestützt, indem wenigstens einer der vorstehend erläuterten Schritte wenigstens teilweise automatisiert durch einen Computer, insbesondere der Zell- bzw. Robotersteuerung, durchgeführt wird. So kann insbesondere die Simulation und Optimierung durch Ausführen entsprechender numerischer Verfahren erfolgen, ebenso die Bestimmung minimaler Abschnittszeiten für zeitoptimale Arbeitsabläufe, die Bestimmung einer Prozessabschnittszeit und dergleichen.
-
Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert:
-
1: einen Prozess einer Roboteranordnung nach einer Ausführung der vorliegenden Erfindung; und
-
2: den Ablauf eines Verfahrens nach einer Ausführung der vorliegenden Erfindung.
-
1 zeigt in der oberen Zeile von links nach rechts aufeinanderfolgende Zustände einer Roboteranordnung mit zwei Robotern 1, 2 bei einem Prozess, der nach einer Ausführung der vorliegenden Erfindung gesteuert wird. In der unteren Zeile der 1 sind die Verläufe verschiedener Zustandsgrößen, insbesondere Gelenkkoordinaten und deren zeitliche Ableitungen, über der Zeit t für den in der oberen Zeile angedeuteten Prozess aufgetragen.
-
In dem Prozess setzen die beiden Roboter 1, 2 abwechselnd Nutzlasten 3 bzw. 4 aufeinander, die in 1 ausgefüllt bzw. schraffiert symbolisiert sind. Zum besseren Verständnis weist in dem stark vereinfachten Ausführungsbeispiel der in 1 obere Roboter 1 der Automatisierungszelle zwei Drehgelenke mit parallelen, vertikalen Drehachsen (senkrecht auf 1) auf, die eine Schwinge 1.2 mit einer Basis 1.1 bzw. einen Arm 1.3 mit der Schwinge 1.2 verbinden, und deren Stellung durch die Gelenkkoordinate bzw. den Winkel q1,1 zwischen Basis und Schwinge bzw. den Winkel q1,2 zwischen Schwinge und Arm beschrieben wird, die zum Vektor q1 zusammengefasst werden können. Ihre erste zeitliche Ableitung bzw. Gelenkgeschwindigkeit wird mit ω1,i = dq1,i/dt (i = 1, 2) bezeichnet, die zweite zeitliche Ableitung bzw. Gelenkbeschleunigung entsprechend mit dω1 ,i/dt. Am Arm 1.3 ist ein Greifer 1.4 zum Halten der Nutzlast 3 befestigt. Der zweite Roboter weist in analoger Weise einen an einer Basis 2.1 befestigten Arm 2.3 mit einem Greifer 2.4 zum Halten der Nutzlast 4 auf, dessen Gelenkwinkel zur Basis durch den Winkel q2 beschrieben wird. Nullwert und Orientierung ergeben sich aus der Zusammenschau der oberen und unteren Zeile der 1, i. e. die Gelenkwinkel q1 = (q1,1, q1,2) und q2 nehmen für die in der linken Spalte der 1 dargestellten Pose den Wert 0 an und werden gegen den Uhrzeigersinn positiv gezählt.
-
Der Prozess des abwechselnden Aufnehmens von Nutzlasten 3, 4 durch die Roboter 1, 2 und deren abwechselnden Aufeinaderstapelns auf einem zwischen den beiden Robotern angeordneten Stapel wird erfindungsgemäß in abwechselnd aufeinanderfolgende Prozessabschnitte unterteilt. In einem ersten Prozessabschnitt [t0, T] wird der Roboter 2 von einer Ablagepose, in der er eine Nutzlast 4 auf dem Stapel absetzt, in eine Aufnahmepose überführt, in der er eine weitere Nutzlast 4 von einem Förderer (nicht dargestellt) aufnimmt. Der erste Roboter 1 transportiert in diesem ersten Prozessabschnitt eine Nutzlast 3 von einem anderen Förderer (nicht dargestellt) auf den Stapel und setzt sie dort ab. In einem darauffolgenden zweiten Prozessabschnitt [T, 2T ≅ t0] transportiert umgekehrt der Roboter 2 eine Nutzlast 4 von dem Förderer auf den Stapel, während nun der Roboter 1 von der Ablagepose in die Aufnahmepose überführt wird, um eine weitere Nutzlast 3 aufzunehmen. Anschließend folgt wieder ein erster Prozessabschnitt etc.. Hierdurch ist gewährleistet, dass die beiden Roboter 1, 2 im gemeinsamen Arbeitsraum über dem Stapel nicht miteinander kollidieren. Diese Unterteilung kann beispielsweise während der Planung des Gesamtprozesses manuell oder automatisch erfolgen.
-
Nun wird, beispielsweise vorab während einer Prozessablaufsplanung, für jeden Prozessabschnitt, i. e. den vorstehend erläuterten ersten und zweiten Prozessabschnitt, jeweils durch eine Robotersteuerung der zeitoptimale Arbeitsablauf bzw. die zeitoptimale Bewegung qi(t) für den jeweiligen Roboter i = 1, 2 bestimmt.
-
Für den Roboter 2 ergibt sich im Ausführungsbeispiel der in der unteren Zeile der 1 dargestellte Verlauf seines Gelenkwinkels q2 und dessen erster bzw. zweiter zeitlicher Ableitung dq2/dt, dω2/dt über der Zeit t. Dabei beschleunigt der Roboter 2, wie in 1 strichpunktiert dargestellt, in der ersten Hälfte des Prozessabschnittes mit einer durch sein maximal zulässiges Antriebsdrehmoment limitierte Beschleunigung und bremst in der zweiten Hälfte mit der betragsmäßig gleichen, negativen Beschleunigung durch ein entsprechendes Gegendrehmoment wieder zum Stillstand ab, wodurch sich ein entsprechendes, in der Bahnplanung gebräuchliches Geschwindigkeitstrapezprofil ergibt, das im Ausführungsbeispiel zu einem Geschwindigkeitsdreiecksprofil entartet und in 1 strichliert eingezeichnet ist. Hierdurch ergibt sich die bei zeitoptimalem Arbeitsablauf des Roboters 2 mindestens erforderliche Zeit, die für beide Prozessabschnitte gleich ist und die jeweilige minimale Abschnittszeit T2 darstellt.
-
In gleicher Weise kann für den Roboter 1 eine minimale Abschnittszeit T1 ermittelt werden, die im Ausführungsbeispiel, beispielsweise aufgrund stärkerer Antriebsmotoren und/oder geringerer Massen und somit größerer zulässigerer Beschleunigungen, kleiner ist als die minimale Abschnittszeit T2 des Roboters 2.
-
Die Robotersteuerung Ri des jeweiligen Roboters i = 1, 2 bestimmt zunächst, beispielsweise nach einem Teachen der Aufnahme- und Ablageposen, die oben erläuterte minimale Abschnittszeit Ti, beispielsweise durch Simulation und numerische Optimierung, und überträgt diese an die Zellensteuerung Z (vgl. 2).
-
In der Zellensteuerung Z wird hieraus eine Prozessabschnittszeit T als Maximum der minimalen Abschnittszeiten Ti ermittelt (T = MAX(T1, T2) = T2) und die Differenz ΔTi = T – Ti zwischen dieser Prozessabschnittszeit T und der jeweiligen minimalen Abschnittszeit Ti an die einzelnen Roboter i = 1, 2 übertragen (vgl. 2).
-
In den einzelnen Robotersteuerungen Ri wird der jeweilige Prozessabschnitt in einen oder mehrere Transferabschnitte 5a und/oder einen oder mehrere Bearbeitungsabschnitt sb unterteilt, die in 1 durch die Abschnitte „a” bzw. „b” angedeutete sind. Im Ausführungsbeispiel sind dies zwei kurze Bearbeitungsabschnitte b zum Aufnehmen bzw. Ablegen der Nutzlast durch Schließen bzw. Öffnen des Greifers, in denen der Arbeitsablauf, insbesondere die Bewegung, des jeweiligen Roboters nicht verändert werden darf. Zwischen den Bearbeitungsabschnitten b ergibt sich ein Transferabschnitt a, in dem der Arbeitsablauf, insbesondere die Bewegung, des Roboters zwischen der Aufnahme- und der Ablagepose frei wählbar ist und optimiert werden kann.
-
Die Steuerung R1 des Roboters 1 optimiert nun den Arbeitsablauf, hier die Bewegung, des Roboters in diesem Transferabschnitt a unter der Randbedingung, dass diese nach T1 + ΔT1 abgeschlossen ist, i. e. schlägt diese Zeitdifferenz der Transferbewegung zu (T(sa,E) → T(sa,E) + ΔT1). Der Index „E” bezeichnet die Endposition.
-
Im Ausführungsbeispiel kann die Robotersteuerung R1 die Bewegung q1(t), i. e. die Bahnkurve q1(s) und das Bahngeschwindigkeitsprofil s(t), für den Transferabschnitt a optimieren. Als Gütekriterium wird ein Kennwert für die vom Roboter 1 benötigte Energie, beispielsweise ein Integral über das Quadrat seiner Antriebsmomente, unter der Nebenbedingung minimiert, dass die Bewegung innerhalb der zur Verfügung stehenden Zeit abgeschlossen sein muss. Dabei ergibt sich, dass der Roboter 1 zunächst seinen Arm 1.3 einschwenkt, um das Trägheitsmoment um die Drehachse der Basis 1.1 zu minimieren, dann die Basis um 180° verschwenkt und schließlich den Arm 1.3 wieder ausschwenkt, um die Ablagepose zu erreichen.
-
Ist hingegen die Bahnkurve q1(s) für den Transferabschnitt vorgegeben, um beispielsweise eine Kollision mit nicht dargestellten Hindernissen zu vermeiden, kann für diese Bahnkurve das Bahngeschwindigkeitsprofil s(t) für die Bedingung, dass die benötigte Energie E des Roboters 1 minimal wird (E = Emin), optimiert und so wiederum der Energieverbrauch reduziert werden.
-
Prinzipiell kann die oben erläuterte Energieoptimierung auch für den Roboter 2 durchgeführt werden. Diese führt jedoch auf den bereits anfänglich ermittelten zeitoptimalen Arbeitsablauf, da nur mit diesem die vorgegebene Abschnittszeit eingehalten werden kann. Allgemein ist es daher in einer vorteilhaften Ausführung vorgesehen, die Optimierung nur für den- bzw. diejenigen Roboter durchzuführen, deren minimale Abschnittszeit nicht die Prozessabschnittszeit bestimmt.
-
Die Prozessabschnittszeit muss nicht der größten minimalen Abschnittszeit entsprechen. Beispielsweise kann in obigem Beispiel die auf Basis der minimalen Abschnittszeit des Roboters 2 ermittelte Prozessabschnittszeit um einen vorgegebenen Wert vergrößert werden, um die Belastung des Roboters 2 durch ständiges Abfahren zeitoptimaler Bahnen zu reduzieren. Dies kann in einer vorteilhaften Weiterbildung nur für einen der beiden abwechselnden Prozessabschnitte durchgeführt werden, in dem dann beispielsweise die Antriebsmotoren des Roboters 2 infolge der submaximalen Belastung abkühlen können.
-
Bezugszeichenliste
-
- 1, 2
- Roboter
- 1.1, 2.1
- Basis
- 1.2
- Schwinge
- 1.3, 2.3
- Arm
- 1.4, 2.4
- Greifer
- 3, 4
- Nutzlast
- q1,1
- Gelenkwinkel Basis-Schwinge (Roboter 1)
- q1,2
- Gelenkwinkel Schwinge-Arm (Roboter 1)
- q2
- Gelenkwinkel Basis-Arm (Roboter 2)
- d/dt
- Ableitung nach Zeit t
- T
- Prozessabschnittszeit
- a
- Transferabschnitt
- b
- Bearbeitungsabschnitt
- Z
- Zellensteuerung
- R1, R2
- Robotersteuerung
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-