-
Die Erfindung betrifft ein Verfahren zur Optimierung einer Taktzeit eines Roboters.
-
Wenn Menschen und Roboter in einer sogenannten Mensch-Roboter-Kooperation eng zusammenarbeiten sollen, ist es wichtig, zu jedem Zeitpunkt die Gefährdung für den Menschen zu kennen, die vom Roboter ausgeht. Bei der Programmierung von Robotern muss daher beachtet werden, in welchem Teil eines Arbeitsraumes des Roboters sich Elemente des Roboters beim Abfahren einer Bahnkurve befinden. Dabei kann es vorkommen, dass eine Komponente des Roboters aus einem für einen Menschen unerreichbaren Raum in einen für den Menschen gefährlichen Raum bewegt wird. Der Raumbereich, in dem der Mensch gefährdet ist, muss mit einer reduzierten Geschwindigkeit durch den Roboter durchlaufen werden.
-
Eine Reduzierung der Verfahrgeschwindigkeit des Roboters in Teilbereichen des Arbeitsraums, in welchen keine Gefährdung für den Menschen ausgeht, kann jedoch dazu führen, dass erhebliche Taktzeitverluste auftreten. Insbesondere wenn für den kompletten Arbeitsbereich bzw. Arbeitsraum des Roboters eine bestimmte einzuhaltende Maximalgeschwindigkeit vorgegeben wird, kann zwar die Sicherheit des mit dem Roboter zusammen arbeitenden Menschen im gesamten Arbeitsraum gewährleistet werden. Jedoch führt diese Vorgehensweise zu einer erheblichen Erhöhung der mittels des Roboters erzielbaren Taktzeit. Zwar könnten durch Experten weitere Teilbereiche des Arbeitsraums festgelegt werden, in denen der Roboter schneller verfahren werden kann, jedoch wäre dies mit einem sehr zeitaufwendigen Verfahren verbunden.
-
Es ist daher die Aufgabe der vorliegenden Erfindung, ein Verfahren zur Optimierung einer Taktzeit eines Roboters bereitzustellen, so dass im Rahmen einer Mensch-Roboter-Kooperation beteiligte Menschen nicht gefährdet und gleichzeitig die Taktzeit des Roboters bei der Durchführung einer vorgegebenen arbeitsteiligen Arbeitsaufgabe minimiert wird.
-
Diese Aufgabe wird durch ein Verfahren zur Optimierung einer Taktzeit eines Roboters mit den Merkmalen des Patentanspruchs 1 gelöst. Vorteilhafte Ausgestaltungen mit zweckmäßigen und nicht trivialen Weiterbildungen der Erfindung sind in den abhängigen Ansprüchen angegeben.
-
Bei dem erfindungsgemäßen Verfahren zur Optimierung einer Taktzeit eines Roboters wird zunächst eine Arbeitsaufgabe vorgegeben, welche arbeitsteilig durch den Roboter und eine Person durchzuführen ist. Anschließend wird wenigstens eine durch einen Arbeitsraum des Roboters verlaufende Bahnkurve ermittelt, entlang welcher zumindest eine Roboterkomponente des Roboters zum Durchführen der vorgegebenen Arbeitsaufgabe zu bewegen ist. Vorzugsweise werden die Bahnverläufe aller relevanten zu betrachtenden Punkte am Roboter, seines Werkzeugs und/oder Werkstücks aufgezeichnet. Dies kann beispielsweise basierend auf einem realen Roboter oder auch auf Basis eines simulativen Abbilds des Roboters, wie beispielsweise durch ein CAD/CAM-System bereitgestellt, erfolgen.
-
Anschließend wird der Arbeitsraum in eine vorgegebene Anzahl von Teilräumen eingeteilt bzw. unterteilt. Jeweils maximal zulässige Kontaktkräfte für jeweilige Kollisionen zwischen der Roboterkomponente und jeweiligen Körperteilen der Person werden vorgegeben. Es wird ermittelt, mit welchen der Körperteile die Person in welchen der Teilräume gelangen kann, also mit welchen Körperteilen die Person in Bereiche des Arbeitsraums des Roboters gelangen kann. Anschließend werden jeweilige Maximalgeschwindigkeiten für die Bewegung der Roboterkomponente entlang der Bahnkurve durch die jeweiligen Teilräume ermittelt, bei welchen jeweils vorgegebene maximale Kontaktkräfte im Falle einer Kollision erreicht und nicht überschritten werden.
-
Es werden solange Optimierungsschleifen durchgeführt, indem der Arbeitsraum in immer mehr Teilräume, also immer feiner, eingeteilt wird, bis ein vorgegebenes Optimierungskriterium hinsichtlich der Taktzeit erfüllt wird. Vorzugsweise wird als das Optimierungskriterium vorgegeben, dass zwischen zwei hintereinander ausgeführten Optimierungsschleifen keine Verringerung der Taktzeit mehr erfolgt ist.
-
Erfindungsgemäß erfolgt also eine Art Raumbeschreibung des Arbeitsraums, die keinen sicherheitskonfigurationsbedingten Taktzeitverlust mehr nach sich zieht. Unter der Einteilung des Arbeitsraums in die vorgegebene Anzahl von Teilräumen ist eine Art Indizierung bzw. Raumindizierung des Arbeitsraums zu verstehen. Die Basis des Roboters liegt dabei vorzugsweise immer in der Mitte des Indexsystems, wobei vorzugsweise ein sogenanntes Octree-Indizierungsverfahren mit achtfacher Aufteilung je Optimierungsschritt benutzt wird. Das Octree-Raumindizierungsverfahren bietet die Möglichkeit einer objektiven, von der Basis des Roboters ausgehenden Raumbeschreibung, ohne anwendungsspezifische Eigenschaften erfüllen zu müssen. Die Genauigkeit kann je nach erforderlicher Indizierungsstufe angepasst werden und nähert sich nach ausreichend vielen Optimierungsschritten der Genauigkeit einer kartesischen Punktewolke an. Der Vorteil bei der Anwendung der Raumindizierung ist die einfache Übertragbarkeit in weitere Planungsmodule, da entweder das Indexmodul neuimplementiert werden kann oder durch eine geeignete Schnittstelle die kartesischen Raumbeschreibungen übermittelt werden können. Dadurch ist es möglich, die Umgebungseigenschaften in einer Planungsoberfläche mit Octree oder mit einer weiteren über Schnittstellen angebundenen Planungsoberfläche zu nutzen.
-
Es ist also erfindungsgemäß vorgesehen, zuerst die Koordinaten von einem Bahnverlauf des Roboters, bei welchem es sich vorzugsweise um einen Leichtbauroboter handelt, aufzuzeichnen. Anschließend werden diese Koordinaten des Bahnverlaufs in einem dreidimensionalen Raum dargestellt. Danach erfolgt die besagte Raumindizierung über den Verlauf der Bewegungsbahn des Roboters. Diese Indizierung beinhaltet eine Aufteilung des Arbeitsraums des Roboters in die Teilräume, vorzugsweise in Form von Quadern, wobei aber auch andere geometrische Formen für die Teilräume möglich sind. Um die Bewegungsbahn herum wird eine besonders feine Indizierung bzw. Aufteilung in besonders kleine Teilräume vorgenommen, wobei nicht mittels des Roboters befahrene Bereiche des Arbeitsraums gröber oder gar nicht weiter in Teilräume aufgeteilt werden. Anschließend werden den indizierten Blöcken, also den Teilräumen, optimale Geschwindigkeiten in Form der Maximalgeschwindigkeiten zugewiesen, so dass keine unnötig hohen Taktzeitverluste entstehen.
-
Durch das erfindungsgemäße Verfahren der Indizierung verschiedener Blöcke in Form der Teilräume um den Bewegungsverlauf, also um die Bewegungsbahn, des Roboters im gesamten Arbeitsraum können dem Roboter verschiedene Geschwindigkeiten zugewiesen werden. Für jeden der Teilräume wird untersucht, welche Körperteile der mit dem Roboter kooperierenden Person in die jeweiligen Teilräume gelangen und somit potentiell mit dem Roboter kollidieren könnten. Je Teilraum wird vorzugsweise ermittelt, welcher der Körperteile im Hinblick auf eventuelle Kollisionen als am kritischsten einzustufen ist. Für jeden Teilraum wird dann die jeweilige Maximalgeschwindigkeit so festgelegt, dass ein Grenzwert im Hinblick auf die maximal zulässige Kontaktkräfte für das als am kritischsten eingestufte Körperteil nicht überschritten und möglichst genau erreicht wird.
-
Durch diese Vorgehensweise kann der Roboter an jeder Stelle seiner Bahnkurve, also seiner Trajektorie, seine optimale, raumabhängige Geschwindigkeit fahren, wobei gleichzeitig das Auftreten von hohen Zeitverluste verhindert wird, indem keine unnötigen Geschwindigkeitsreduzierungen in für den Menschen ohnehin unerreichbaren Bereichen des Arbeitsraums vorgegeben werden. Dies bewirkt eine Minimierung der Taktzeitverluste durch Einstellung der maximal möglichen Geschwindigkeiten in den jeweiligen Teilräumen des Arbeitsraums des Roboters, wobei gleichzeitig sichergestellt werden kann, dass im Falle von Kollisionen zwischen der Person und dem Roboter die jeweiligen für die unterschiedlichen Körperteile vorgegebenen maximal zulässigen Kontaktkräfte nicht überschritten werden.
-
Eine vorteilhafte Ausführungsform der Erfindung sieht vor, dass die maximal zulässigen Kontaktkräfte in Abhängigkeit davon vorgegeben werden, ob bei einer Kollision das betreffende Körperteil zwischen der Roboterkomponente und einem Objekt im Arbeitsraum eingeklemmt wird. Die maximal zulässigen Kontaktkräfte werden kleiner gewählt, wenn eine Einklemmung des betreffenden Körperteils bei einer Kollision auftreten könnte. Wird hingegen bei einer Kollision mit der Roboterkomponente das betreffende Körperteil nicht eingeklemmt, das betreffende Körperteil kann also frei im Arbeitsraum zurückweichen, kann für die betreffende maximal zulässige Kontaktkraft ein entsprechend größerer Wert gewählt werden.
-
Gemäß einer weiteren vorteilhaften Ausführungsform der Erfindung ist es vorgesehen, dass die maximal zulässigen Kontaktkräfte in Abhängigkeit von der Form der Roboterkomponente vorgegeben werden. Ist die betreffende Roboterkomponente beispielsweise relativ stumpf, so werden die maximal zulässigen Kontaktkräfte größer vorgegeben als wenn die betreffende Roboterkomponente beispielsweise relativ kantig ausgebildet sein sollte.
-
Gemäß einer weiteren vorteilhaften Ausführungsform der Erfindung ist es vorgesehen, dass die maximal zulässigen Kontaktkräfte in Abhängigkeit von der Masse der Roboterkomponente vorgegeben werden. Ferner kann es auch vorgesehen sein, dass die maximal zulässigen Kontaktkräfte in Abhängigkeit vom Material der Roboterkomponente vorgegeben werden. Sollte beispielsweise die betreffende Roboterkomponente aus einem besonders weichen Material hergestellt sein, so können größere Kontaktkräfte zulässig sein als wenn es sich um ein besonders hartes und unnachgiebiges Material handeln sollte. Die wichtigsten die Kollisionskräfte beeinflussenden Größen finden sich in den zu berücksichtigenden Körperteilen. Die Federwirkung stellt bei Kollisionen einen erheblichen Einfluss dar. Es muss daher Sorge getragen werden, dass bei einer Gefahrenbewertung bekannt ist, welcher Körperbereich gerade Stoßpartner wäre und welche Federkonstante es dafür einzurechnen gilt. Darüber hinaus wird vorzugsweise für jeden Teilbereich des Arbeitsraums ermittelt, welche Körperteile bzw. Körperregionen die gefährdetsten sind. Zu der indizierten Region, also für jeden der Teilräume, wird der jeweils relevanteste Körperteil als Merkmal erfasst und hinterlegt. Beispielsweise können der Kopf, insbesondere Gesicht und Stirn, der Nackenmuskel, Handrücken, das Brustbein, Daumen, Finger, Schultern, Schenkel und Schienbeine als die wichtigsten Körperteile mit entsprechend hinterlegten Grenzwerten bezüglich der maximal zulässigen Kontaktkräfte hinterlegt werden.
-
Eine weitere vorteilhafte Ausführungsform der Erfindung sieht vor, dass ein geometrisches Modell der Person vorgegeben und anhand dessen vorgegeben wird, mit welchem der Körperteile die Person in welchen der Teilräume gelangen kann. Beispielsweise kann eine Approximation des Körpers durch würfelförmige Elemente in Form von einzelnen Blöcken erfolgen.
-
Weitere Vorteile, Merkmale und Einzelheiten der Erfindung ergeben sich aus der nachfolgenden Beschreibung eines bevorzugten Ausführungsbeispiels sowie anhand der Zeichnung. Die vorstehend in der Beschreibung genannten Merkmale und Merkmalskombinationen sowie die nachfolgend in der Figurenbeschreibung genannten und/oder in den Figuren alleine gezeigten Merkmale und Merkmalskombinationen sind nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar, ohne den Rahmen der Erfindung zu verlassen.
-
Dabei zeigen:
-
1 eine Perspektivansicht einer Arbeitsstation für eine Mensch-Roboter-Kooperation, an welcher ein Roboter und eine Person angeordnet sind;
-
2 eine Darstellung einer durch einen Arbeitsraum verlaufenden Bahnkurve, entlang welcher eine Roboterkomponente des Roboters zum Durchführen einer vorgegebenen Arbeitsaufgabe zu bewegen ist;
-
3 eine weitere Darstellung der Bahnkurve, wobei der Arbeitsraum in einzelne Teilräume unterteilt worden ist;
-
4 ein geometrisches Modell der Person, wobei die Person in einzelne Blöcke unterteilt worden ist; und in
-
5 ein Diagramm, in welchem ein Geschwindigkeitsverlauf aufgetragen ist, gemäß welchem eine Komponente des Roboters entlang der Bahnkurve bewegt wird.
-
In den Figuren werden gleiche oder funktionsgleiche Elemente mit gleichen Bezugszeichen versehen.
-
Eine Arbeitsstation 10 für eine Mensch-Roboter-Kooperation ist in einer Perspektivansicht in 1 gezeigt. Ein Roboter 12 in Form eines Leichtbauroboters und eine Person 14 können an der Arbeitsstation 10 eine Arbeitsaufgabe, wie beispielsweise eine Montageaufgabe, arbeitsteilig durchführen. Der Roboter 12 kann sich, genauer seinen nicht näher bezeichneten Roboterarm, innerhalb eines Arbeitsraums 16 bewegen, um die besagte Arbeitsaufgabe arbeitsteilig mit der Person 14 durchzuführen.
-
Im vorliegend gezeigten Fall ist kein Schutzzaun oder dergleichen zwischen der Person 14 und dem Roboter 12 vorgesehen. Dadurch müssen Sicherheitsmaßnahmen bei der Ansteuerung des Roboters 12 getroffen werden, damit gefährliche Kollisionen zwischen dem Roboter 12 und der Person 14 unterbunden werden können. Gleichzeitig soll dabei jedoch die Taktzeit bei der arbeitsteilig durch den Roboter 12 und die Person 14 zu bearbeitenden Arbeitsaufgabe nicht über die Maßen lang ausfallen. Nachfolgend wird ein Verfahren zur Optimierung der Taktzeit des Roboters 12 näher erläutert.
-
Zunächst wird die besagte Arbeitsaufgabe vorgegeben, welche arbeitsteilig durch den Roboter 12 und die Person 14 an der Arbeitsstation 10 durchzuführen ist. Anschließend wird wenigstens eine durch den Arbeitsraum 16 verlaufende Bahnkurve 18 – wie in 2 dargestellt – ermittelt, entlang welcher zumindest eine Roboterkomponente des Roboters 12 zum Durchführen der vorgegebenen Arbeitsaufgabe zu bewegen ist. Vorzugsweise werden die Bahnverläufe 18 aller relevanten zu betrachtenden Punkte am Roboter 12, seines Werkzeugs und gegebenenfalls eines mittels des Roboters 12 ergriffenen Werkstücks aufgezeichnet. Dies kann entweder basierend auf dem realen Roboter 12 erfolgen oder auch beispielsweise anhand von hinterlegten CAD-Daten des Roboters 12. Sobald die besagte Bahnkurve 18 bekannt ist, hat man also Kenntnis darüber, wie sich eine bestimmte Komponente des Roboters 12 innerhalb eines Arbeitstakts zur Bearbeitung der Arbeitsaufgabe durch den Arbeitsraum 16 bewegen wird.
-
In 3 ist die Bahnkurve 18 erneut dargestellt. Der Arbeitsraum 16 ist dabei in eine vorgegebene Anzahl von Teilräumen 20 unterteilt worden, wobei der Übersichtlichkeit halber nicht alle Teilräume 20 mit einem Bezugszeichen versehen worden sind. Wie zu erkennen, ist der Arbeitsraum 16 dort besonders fein in kleine Teilräume 20 unterteilt, wo die Bahnkurve 18 verläuft, wohingegen die Bereiche des Arbeitsraums 16 weniger fein unterteilt worden sind, wo die Bahnkurve 18 nicht entlangläuft.
-
Des Weiteren werden jeweils maximal zulässige Kontaktkräfte für jeweilige Kollisionen zwischen der Roboterkomponente bzw. den Roboterkomponenten des Roboters 12 und jeweiligen Körperteilen der Person 14 vorgegeben. Die maximal zulässigen Kontaktkräfte können beispielsweise in Abhängigkeit davon vorgegeben werden, ob bei einer Kollision das betreffende Körperteil zwischen der Roboterkomponente und einem Objekt im Arbeitsraum 16 eingeklemmt würde oder nicht. Darüber hinaus können die maximal zulässigen Kontaktkräfte auch in Abhängigkeit von der Form der betreffenden Roboterkomponente, in Abhängigkeit von der Masse der Roboterkomponente und/oder in Abhängigkeit vom Material der betreffenden Roboterkomponente vorgegeben werden. Dabei werden für verschiedene Körperteile der Person 14, beispielsweise für den Kopf, die Brust, die Arme, die Finger oder dergleichen, unterschiedlich hohe maximal zulässige Kontaktkräfte vorgegeben. Beispielsweise darf bei einer Kollision des Roboters 12 mit dem Kopf der Person 14 nur eine sehr geringe Kontaktkraft entstehen, wohingegen beispielsweise bei einer Kollision des Roboters 12 mit der Brust der Person 14 zumindest etwas höhere Kontaktkräfte zugelassen werden können.
-
In 4 ist ein geometrisches Modell 22 der Person 14 in einer schematischen Ansicht gezeigt. Das geometrische Modell 22 der Person 14 ist dabei in mehrere einzelne Blöcke 24 unterteilt worden. Unter Zuhilfenahme des geometrischen Modells 22 wird ermittelt, mit welchem der Körperteile die Person 14 in welchen der Teilräume 20 gelangen kann. Beispielsweise kann dabei davon ausgegangen werden, dass die Person 14 während der Bearbeitung der Arbeitsaufgabe sich nicht von der Stelle bewegt. Es wäre aber auch möglich, dass ein bestimmter Aktionsradius vorgegeben wird, innerhalb welchem sich die Person fortbewegen kann.
-
In 5 ist ein Geschwindigkeitsverlauf für eine nicht näher bezeichnete Komponente des Roboters 12 beim Durchfahren der Bahnkurve 18 dargestellt. Für die jeweils einzelnen Teilräume 20 sind dabei unterschiedliche Maximalgeschwindigkeiten vzul in dem Diagramm eingetragen. Die jeweiligen Maximalgeschwindigkeiten vzul für die Bewegung der betreffenden Roboterkomponente des Roboters 12 entlang der Bahnkurve 18 durch die jeweiligen Teilräume 20 werden dabei derart ermittelt, dass die jeweils vorgegebenen maximal zulässigen Kontaktkräfte im Fall einer Kollision mit entsprechenden Körperpartien der Person 14 erreicht, aber nicht überschritten werden.
-
Dabei wird für jeden der Teilräume 20 bestimmt, welche der Körperteile der Person 14 in die betreffenden Teilräume 20 hineinragen können. Zudem wird festgelegt, welches der Körperteile im Hinblick auf eine Kollision mit dem Roboter 12 jeweils als am kritischsten einzustufen ist. Bei der Festlegung der Maximalgeschwindigkeiten vzul erfolgt die Festlegung der jeweiligen Maximalgeschwindigkeiten vzul also so, dass bei einer tatsächlich auftretenden Kollision zwischen dem Roboter 12 und der als besonders kritisch eingestuften Körperpartie der Person 14 die vorgegebenen jeweils maximal zulässigen Kontaktkräfte gerade so erreicht aber nicht überschritten werden.
-
Zur Ermittlung der Maximalgeschwindigkeiten wird für jeden der indizierten Teilräume 20 mittels einer Messvorrichtung, beispielsweise mittels eines weiteren Roboters, eine Messung von tatsächlich auftretenden Kontaktkräften durchgeführt. Die jeweils maximal zulässigen Kontaktkräfte werden ins Verhältnis zu den jeweils gemessenen Kontaktkräften gesetzt und mit einer dabei gemessenen Bewegungsgeschwindigkeit der betreffenden Roboterkomponente multipliziert, um die Maximalgeschwindigkeiten vzul zu ermitteln.
-
Wie in 5 zu erkennen, durchstößt die Bahnkurve 18 im Hinblick auf eine Geschwindigkeit v, mit welcher eine bestimmte Roboterkomponente bewegt wird, die ermittelten jeweiligen Maximalgeschwindigkeiten vzul teilweise. Um die Taktzeitverluste besonders gering zu halten, wird bei der Optimierung der Taktzeit des Roboters 12 eine Mehrzahl von Optimierungsschleifen durchlaufen, indem die Aufteilung des Arbeitsraums 16 immer feiner, also in immer mehr der Teilräume 20 aufgeteilt wird. Die Aufteilung des Arbeitsraums 16 in immer mehr Teilräume 20 wird dabei solange wiederholt, bis ein vorgegebenes Optimierungskriterium hinsichtlich der Taktzeit erfüllt wird.
-
Bei jeder Optimierungsschleife werden dabei für die jeweiligen Teilräume 20 die jeweiligen Maximalgeschwindigkeiten vzul festgelegt. Durch die immer feingliedrigere Aufteilung des Arbeitsraums 16 erfolgt also auch eine immer feinere Festlegung der jeweils zulässigen Maximalgeschwindigkeiten vzul. Dort, wo sich der Bewegungsverlauf bzw. die Bewegungsbahn 18 mit einem Arbeitsraum bzw. Aktionsradius der Person 14 überschneidet, erfolgt eine entsprechende Geschwindigkeitsreduzierung zur Einhaltung der vorgegebenen maximal zugelassenen Kontaktkräfte. Dort, wo die Bewegungsbahn 18 des Roboters 12 sich nicht mit dem Arbeitsraum bzw. Aktionsradius der Person 14 überschneidet, kann die Geschwindigkeit des Roboters 12 maximal gewählt werden. Durch die immer feinere Unterteilung des Arbeitsraums 16 in die jeweiligen Teilräume 20 und Festlegung der jeweiligen Maximalgeschwindigkeiten vzul kann sichergestellt werden, dass keine unnötig hohen Taktzeitverluste entstehen, wobei gleichzeitig auch sichergestellt werden kann, dass die Person 14 nicht durch den Roboter 12 gefährdet wird.
-
Es erfolgt also eine Art automatisierte Optimierung der Taktzeit des Roboters 12 solange, bis eine Minimierung der Taktzeit des Roboters 12 erfolgt ist, ohne dass die Person 14 durch zu hohe Verfahrgeschwindigkeiten des Roboters 12 gefährdet wird.