-
Die vorliegende Erfindung betrifft ein Verfahren, insbesondere ein computerimplementiertes Verfahren, und ein System zum Steuern eines Roboterverbands mit einem Führungsroboter und wenigstens einem Folgeroboter, der sich in Abhängigkeit von dem Führungsroboter bewegt, sowie ein Computerprogramm und ein Computerprogrammprodukt zur, insbesondere computergestützten, Durchführung des Verfahrens.
-
Aus betriebsinterner Praxis ist bei Robotern eine Überwachung einer Ist-Geschwindigkeit bekannt, beispielsweise einer kartesischen Absolutgeschwindigkeit eines TCPs (tool center points).
-
Weiter ist es aus betriebsinterner Praxis bereits bekannt, eine Soll-Geschwindigkeit des Roboters auf Basis einer überwachten Geschwindigkeitsbegrenzung derart zu reduzieren, dass die Ist-Geschwindigkeit diese überwachte Geschwindigkeitsbegrenzung möglichst nicht verletzt, insbesondere, um so einen unerwünschten Stopp des Roboters infolge der (Auslösung der) Überwachung zu vermeiden.
-
Auf der anderen Seite ist es aus betriebsinterner Praxis auch bekannt, eine Soll-Bewegung eines Roboters relativ zu einem roboterfesten Bezugssystem eines anderen Roboters vorzugeben, so dass der eine Roboter sich in Abhängigkeit von dem anderen Roboter bewegt, beispielsweise, um – wie in 1 gezeigt – durch den einen Roboter auf einer von dem anderen Roboter bewegten Arbeitsfläche Bearbeitungsvorgänge auszuführen oder dergleichen.
-
Dabei kann es aufgrund der Superposition der Relativbewegung des einen Roboters und der Führungsbewegung des anderen Roboters jedoch zu der vorstehend beschriebenen unerwünschten Auslösung der Überwachung der Absolutgeschwindigkeit des einen Roboters kommen.
-
Aufgabe der vorliegenden Erfindung ist es, den Betrieb eines Roboterverbands mit einem Führungsroboter und wenigstens einem Folgeroboter, der sich in Abhängigkeit von dem Führungsroboter bewegt, zu verbessern.
-
Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 gelöst. Ansprüche 8 bis 10 stellen ein System, ein Computerprogramm bzw. ein Computerprogrammprodukt zur Durchführung eines hier beschriebenen Verfahrens unter Schutz. Die Unteransprüche betreffen vorteilhafte Weiterbildungen.
-
Nach einer Ausführung der vorliegenden Erfindung weist ein Roboterverband einen ersten Roboter, der nachfolgend ohne Beschränkung der Allgemeinheit als Führungsroboter bezeichnet wird, und einen oder mehrere (zweiten, dritten usw.) weitere Roboter auf, die sich in Abhängigkeit von dem Führungsroboter bewegen bzw. hierzu eingerichtet, insbesondere programmiert, sind, deren Soll-Bewegung insbesondere in einer Weiterbildung (jeweils) relativ zu einem roboterfesten Bezugssystem des Führungsroboters vorgegeben sind bzw. werden, und die daher nachfolgend ohne Beschränkung der Allgemeinheit als Folgeroboter bezeichnet werden. Der Roboterverbund aus zwei oder mehreren einzelnen Robotern kann auch als Roboteranordnung bezeichnet werden.
-
In einer Weiterbildung kann der Führungsroboter ein Masterroboter sein, dessen Soll-Bewegung unabhängig von einer Bewegung anderer Roboter des Verbands (vorgegeben) ist bzw. wird.
-
In einer anderen Weiterbildung kann der Führungsroboter seinerseits zugleich wiederum ein Folgeroboter sein, der sich in Abhängigkeit von einem anderen, (noch) höherrangigen Führungsroboter bewegt bzw. hierzu eingerichtet, insbesondere programmiert, ist, dessen Soll-Bewegung insbesondere relativ zu einem roboterfesten Bezugssystem eines anderen, (noch) höherrangigen Führungsroboters vorgegeben ist bzw. wird. Entsprechend kann in einer Weiterbildung umgekehrt ein Folgeroboter seinerseits ein Führungsroboter für andere, (noch) niederrangigere Folgeroboter sein, die sich in Abhängigkeit von diesem Führungsroboter bewegen bzw. hierzu eingerichtet, insbesondere programmiert, sind, deren Soll-Bewegung insbesondere (jeweils) relativ zu einem roboterfesten Bezugssystem dieses Roboters vorgegeben sind bzw. werden.
-
In einer Ausführung übermittelt der Führungsroboter bzw. seine Steuerung dem bzw. den Folgerobotern bzw. ihren Steuerungen (jeweils) seine Pose und/oder Bewegung, insbesondere seine aktuelle und/oder zukünftige Soll- und/oder Ist-Pose und/oder -Bewegung, bzw. ist hierzu eingerichtet, so dass diese sich in Abhängigkeit von dem Führungsroboter, insbesondere seiner Pose bzw. (Führungs)Bewegung bewegen (können), insbesondere auf Basis dieser Pose bzw. (Führungs)Bewegung und der relativ zu dem roboterfesten Bezugssystem des Führungsroboters vorgegebenen Soll-Bewegung ihre, insbesondere absolute, Soll-Pose und/oder -Bewegung ermitteln bzw. ihre vorgegebenen Relativbewegung ausführen können.
-
Dabei kann eine relativ zu dem roboterfesten Bezugssystem des Führungsroboters vorgegebene Soll-Bewegung eines Folgeroboters insbesondere auch, wenigstens zeitweise, ein Stillstand sein bzw. der Folgeroboter dem Führungsroboter wenigstens zeitweise sozusagen starr folgen. In einer Ausführung führt der bzw. führen die Folgeroboter im Betrieb des Roboterverbandes die relativ zu dem roboterfesten Bezugssystem des Führungsroboters vorgegebene(n) Bewegung(en) aus bzw. bewegt bzw. bewegen sich in vorgegebener Weise abhängig von einer (Führungs)Bewegung des Führungsroboters.
-
Ein oder mehrere Roboter des Roboterverbands weisen in einer Ausführung (jeweils) wenigstens sechs, insbesondere wenigstens sieben, Gelenke bzw. (Bewegungs)Achsen und, insbesondere elektromotorische, Antriebe dieser Achsen auf. Roboter des Roboterverbands können insbesondere Industrie- und/oder Knickarmroboter sein.
-
Nach einer Ausführung der vorliegenden Erfindung wird eine Geschwindigkeit des Führungsroboters, insbesondere eine aktuelle und/oder absolute oder relative und/oder Soll- oder Ist-Geschwindigkeit des Führungsroboters, (bedarfsweise) auf Basis einer vorgegebenen Begrenzung einer Geschwindigkeit, insbesondere einer absoluten oder relativen und/oder Ist- oder Soll-Geschwindigkeit, wenigstens eines Folgeroboters, in einer Weiterbildung auf Basis vorgegebener Begrenzungen von Geschwindigkeiten, insbesondere absoluten oder relativen und/oder Ist- oder Soll-Geschwindigkeiten, von zwei oder mehr Folgerobotern des Roboterverbands, reduziert.
-
Zusätzlich oder alternativ werden nach einer Ausführung der vorliegenden Erfindung eine Geschwindigkeit, insbesondere eine aktuelle und/oder relative oder absolute und/oder Soll- oder Ist-Geschwindigkeit, eines bzw. des Folgeroboters, in einer Weiterbildung Geschwindigkeiten, insbesondere aktuelle und/oder relative oder absolute und/oder Soll- oder Ist-Geschwindigkeiten, von zwei oder mehr Folgerobotern des Roboterverbands, (jeweils) auf Basis einer bzw. der vorgegebenen Begrenzung einer bzw. der Geschwindigkeit, insbesondere einer bzw. der absoluten oder relativen und/oder Ist- oder Soll-Geschwindigkeit, des (jeweiligen) Folgeroboters reduziert. Dabei ist es möglich, dass die Reduktion der Geschwindigkeit eines Folgeroboters aufgrund einer unmittelbaren Kommunikation zwischen diesem Folgeroboter und einem weiteren Folgeroboter erfolgt. Alternativ oder zusätzlich ist es möglich, dass die Reduktion der Geschwindigkeit eines Folgeroboters aufgrund einer mittelbaren Kommunikation zwischen diesem Folgeroboter und einem weiteren Folgeroboter erfolgt, wobei die mittelbare Kommunikation über den Führungsroboter stattfindet.
-
Hierdurch kann in einer Ausführung vorteilhaft die Wahrscheinlichkeit einer unerwünschten Auslösung einer Überwachung einer Geschwindigkeit eines oder mehrerer Folgeroboter reduziert werden. Insbesondere kann die Auslösung der Sicherheitsüberwachung eines der im Roboterverbund enthaltenen Roboter vermieden werden, beispielsweise für den Fall, dass alle Roboter eine maximale Absolutgeschwindigkeit nicht überschreiten sollen, insbesondere bei der Programmierung und beim Test des Programmablaufes bei welcher vorzugsweise eine Absolutgeschwindigkeit von etwa 250 mm/s nicht überschritten werden soll, um eine Verletzung von Menschen im Arbeitsraum eines der Roboter zu vermeiden.
-
Eine oder mehrere hier genannte Geschwindigkeiten können jeweils insbesondere eine kartesische Geschwindigkeit einer roboterfesten Referenz, insbesondere des TCPs, des jeweiligen Roboters oder Komponenten dieser Geschwindigkeit umfassen, insbesondere sein.
-
Zusätzlich oder alternativ können eine oder mehrere der hier genannten Geschwindigkeiten jeweils insbesondere eine oder mehrere Gelenk- bzw. Achsgeschwindigkeiten des jeweiligen Roboters umfassen, insbesondere sein.
-
Eine aktuelle Geschwindigkeit kann insbesondere eine Geschwindigkeit in einem (aktuellen bzw. als nächstes auszuführenden) Regeltakt, insbesondere IPO-Takt, sein. Entsprechend kann eine zurückliegende Geschwindigkeit insbesondere eine Geschwindigkeit in einem vorhergehenden Regeltakt, insbesondere IPO-Takt, sein, insbesondere eine Geschwindigkeit in einem unmittelbar vorhergehenden bzw. zurückliegenden Takt oder auch in einem weiter vorhergehenden bzw. zurückliegenden Takt.
-
Eine absolute bzw. Absolutgeschwindigkeit kann eine Geschwindigkeit einer roboterfesten Referenz gegenüber einer, insbesondere ortsfesten, Umgebung des Roboter(verbande)s sein. Das heißt, dass die Absolutgeschwindigkeit auf Grundlage der Bewegung des TCPs im ortsfesten Koordinatensystem der Roboteranordnung bestimmbar ist.
-
Eine relative bzw. Relativgeschwindigkeit kann insbesondere eine Geschwindigkeit, insbesondere einer roboterfesten Referenz, eines Roboters, insbesondere Folgeroboters, gegenüber bzw. relativ zu einer roboterfesten Referenz bzw. einem roboterfesten Bezugssystem eines anderen Roboters, insbesondere Führungsroboters sein, insbesondere eine bzw. die Geschwindigkeit der relativ zu dem roboterfesten Bezugssystem des Führungsroboters vorgegebenen Soll-Bewegung des Folgeroboters bzw. der Bewegung des Folgeroboters relativ zu dem Führungsroboter. Das heißt, dass die Relativgeschwindigkeit auf Grundlage der Bewegung des TCPs des Folgeroboters im bezüglich des ortsfesten Koordinatensystems der Roboteranordnung beweglichen Koordinatensystem des TCPs des Führungsroboters, insbesondere mit dem TOP des Führungsroboters als Ursprung, bestimmbar ist.
-
Eine Gelenkgeschwindigkeit eines Roboters kann gleichermaßen eine absolute oder relative Geschwindigkeit im Sinne der vorliegenden Erfindung sein. Insbesondere kann eine relative Gelenkgeschwindigkeit eines Folgeroboters denjenigen Anteil der Gelenkgeschwindigkeit umfassen, insbesondere derjenige Anteil der Gelenkgeschwindigkeit sein, der der relativ zu dem roboterfesten Bezugssystem des Führungsroboters vorgegebenen Soll-Bewegung entspricht.
-
Eine Soll-Geschwindigkeit kann insbesondere eine kommandierte bzw. vorgegebene, insbesondere programmierte, Geschwindigkeit bzw. eine Geschwindigkeit sein, die der Roboter zu erreichen sucht, eine Ist-Geschwindigkeit insbesondere eine tatsächliche, insbesondere erfasste, insbesondere gemessene, Geschwindigkeit des Roboters.
-
Unter einem bedarfsweisen Reduzieren wird vorliegend insbesondere ein Reduzieren bei Vorliegen bzw. Erfüllung einer Bedingung verstanden, insbesondere ein Reduzieren jedenfalls oder nur dann, wenn andernfalls eine vorgegebene Begrenzung überschritten bzw. dies prognostiziert wird.
-
In einer Ausführung wird insbesondere eine aktuelle absolute oder relative Soll-Geschwindigkeit des Führungsroboters und zusätzlich (jeweils) eine aktuelle relative Soll-Geschwindigkeit bzw. Geschwindigkeit der relativ zu dem roboterfesten Bezugssystem des Führungsroboters vorgegebenen Soll-Bewegung des bzw. der Folgeroboter (bedarfsweise) auf Basis der vorgegebenen Begrenzung(en) der absoluten Soll-Geschwindigkeit des bzw. der Folgeroboter reduziert.
-
Wird nach einer Ausführung der vorliegenden Erfindung eine Geschwindigkeit, insbesondere eine aktuelle absolute oder relative Soll-Geschwindigkeit, des Führungsroboters – wenigstens bedarfsweise – auf Basis vorgegebener Begrenzungen von Geschwindigkeiten, insbesondere absoluten Ist-Geschwindigkeiten, von zwei oder mehr Folgerobotern des Roboterverbands, reduziert, so wird in einer Weiterbildung die Geschwindigkeit des Führungsroboters auf die kleinste Geschwindigkeit von den Geschwindigkeiten reduziert, die sich auf Basis der jeweiligen vorgegebenen Begrenzungen der Geschwindigkeit der einzelnen Folgeroboter ergeben, beispielsweise dadurch, dass ein hier beschriebenes Verfahren jeweils paarweise für den Führungsroboter und einen der Folgeroboter durchgeführt und dann die größte dabei ermittelte Reduzierung für den Führungsroboter durchgeführt wird. Mit anderen Worten wird eine Reduzierung der Geschwindigkeit(en) auf Grundlage des kleinsten Redukionsfaktor, wobei der Reduktionsfaktor größer als null ist und kleiner gleich 1.
-
In einer Ausführung ist bzw. wird eine bzw. die (vorgegebene) Begrenzung einer Geschwindigkeit eines Folgeroboters in Abhängigkeit von einer, insbesondere sicher und/oder durch ein Sicherheitsmittel, überwachten Geschwindigkeitsbegrenzung dieses Folgeroboters, insbesondere variabel bzw. einstellbar, vorgebbar bzw. vorgegeben, insbesondere derart, dass sie, insbesondere stets, kleiner als die überwachte Geschwindigkeitsbegrenzung selber ist. In einer Weiterbildung kann die vorgegebene Begrenzung linear von der überwachten Geschwindigkeitsbegrenzung abhängen, insbesondere gleich einem Produkt aus der überwachten Geschwindigkeitsbegrenzung und einem Sicherheitsfaktor sein, der bevorzugt zwischen etwa 0,7 und etwa 0,95 liegt, weiter bevorzugt zwischen etwa 0,75 und etwa 0,9 liegt und insbesondere etwa 0,8 beträgt. Entsprechend beträgt in einer Ausführung die vorgegebene Begrenzung wenigstens 70% und/oder höchstens 95% einer, insbesondere sicher und/oder durch ein Sicherheitsmittel, überwachten Geschwindigkeitsbegrenzung.
-
Hierdurch kann, insbesondere trotz bzw. auch unter Berücksichtigung von Approximationsfehlern oder dergleichen, die überwachte Geschwindigkeitsbegrenzung vorteilhaft relativ zuverlässig eingehalten bzw. die Wahrscheinlichkeit einer Auslösung der Überwachung dieser Geschwindigkeitsbegrenzung reduziert werden.
-
In einer Ausführung wird die Geschwindigkeit des Führungs- und/oder des bzw. der Folgeroboter auf Basis einer Prognose einer Geschwindigkeit, insbesondere einer aktuellen absoluten Soll-Geschwindigkeit, des entsprechenden Folgeroboters reduziert, wobei die Prognose in einer Weiterbildung auf einer oder mehreren zurückliegenden Geschwindigkeiten, insbesondere absoluten Soll- oder Ist-Geschwindigkeiten, dieses Folgeroboters basiert.
-
Wie einleitend erläutert, ergibt sich eine absolute Geschwindigkeit eines Folgeroboters durch Superposition seiner Relativ- und der Absolutbewegung des Führungsroboters. Daher kann die Bestimmung einer absoluten Geschwindigkeit des Folgeroboters schwierig sein. Durch eine Prognose auf Basis zurückliegender bzw. vorangegangener Geschwindigkeiten kann vorteilhaft insbesondere eine absolute Geschwindigkeit eines Folgeroboters abgeschätzt und der Reduzierung der Geschwindigkeit(en) zugrunde gelegt werden. Eine prognostizierte Geschwindigkeit wird vorliegend auch als Prognose (dieser Geschwindigkeit) bezeichnet.
-
In einer Weiterbildung wird die Geschwindigkeit des Führungs- und/oder des bzw. der Folgeroboter auf Basis eines Vergleichs, insbesondere Quotienten, der vorgegebenen Begrenzung der Geschwindigkeit des jeweiligen Folgeroboters und seiner prognostizierten Geschwindigkeit reduziert, insbesondere auf Basis eines von der vorgegebenen Begrenzung der Geschwindigkeit des jeweiligen Folgeroboters und seiner prognostizierten Geschwindigkeit, insbesondere linear, abhängigen Anpassungsfaktors.
-
In einer Ausführung wird die Geschwindigkeit des Führungs- und/oder des bzw. der Folgeroboter zusätzlich (auch) auf Basis einer benutzervorgegebenen Geschwindigkeitsreduzierung reduziert, insbesondere auf Basis der strikteren bzw. größeren Geschwindigkeitsreduzierung. Hierdurch kann in einer Ausführung zusätzlich (auch) eine benutzervorgegebene Geschwindigkeitsreduzierung eingehalten werden, insbesondere selbst dann, wenn die vorgegebene Begrenzung der Geschwindigkeit des bzw. der Folgeroboter alleine eine höhere Geschwindigkeit zulassen würde.
-
In einer Weiterbildung ist die benutzervorgegebene Geschwindigkeitsreduzierung derart limitiert, dass die Geschwindigkeit des Führungs- bzw. Folgeroboters allenfalls reduziert bzw. jedenfalls nicht erhöht wird, insbesondere selbst dann, wenn die vorgegebene Begrenzung der Geschwindigkeit des bzw. der Folgeroboter alleine eine höhere Geschwindigkeit zulassen würde.
-
In einer Ausführung wird die Geschwindigkeit des Führungs- und/oder des bzw. der Folgeroboter gefiltert reduziert, insbesondere dadurch, dass ein Reduzierfaktor für die Geschwindigkeit über mehrere zurückliegende Regeltakte, insbesondere IPO-Takte, gefiltert wird. Auf diese Weise können vorteilhaft Schwankungen in der Geschwindigkeit reduziert werden.
-
In einer Ausführung umfasst das Verfahren einen oder mehrere der folgenden Schritte:
- – Prognostizieren einer Geschwindigkeit, insbesondere einer aktuellen und/oder absoluten oder relativen und/oder Soll- oder Ist-Geschwindigkeit, eines oder mehrerer Folgeroboter, insbesondere auf Basis einer oder mehrerer zurückliegender Geschwindigkeiten, insbesondere absoluten oder relativen und/oder Ist- oder Soll-Geschwindigkeiten, des (jeweiligen) Folgeroboters, insbesondere durch, insbesondere lineare, Approximation bzw. Extrapolation;
- – Ermitteln eines Anpassungsfaktors eines oder mehrerer Folgeroboter auf Basis einer bzw. der, insbesondere prognostizierten, Geschwindigkeit und/oder einer bzw. der vorgegebenen Begrenzung einer Geschwindigkeit des jeweiligen Folgeroboters, insbesondere in Abhängigkeit von einem Quotienten aus der vorgegebenen Begrenzung und der, insbesondere prognostizierten, Geschwindigkeit;
- – Ermitteln, insbesondere Filtern, eines Reduzierfaktors, insbesondere eines sogenannten Override(faktor)s, (einer bzw. der Geschwindigkeit) des Führungsroboters auf Basis eines bzw. des ermittelten Anpassungsfaktors eines oder mehrerer Folgeroboter, eines zurückliegenden Reduzierfaktors des Führungsroboters und/oder einer benutzervorgegebenen Geschwindigkeitsreduzierung, insbesondere in Form eines benutzervorgegebenen Reduzierfaktors, des Führungsroboters, insbesondere durch Multiplikation eines zurückliegenden Reduzierfaktors des Führungsroboters mit dem jeweiligen Anpassungsfaktor und/oder Auswahl des stärksten bzw. striktesten Reduzierfaktors;
- – Ermitteln, insbesondere Filtern, eines Reduzierfaktors, insbesondere eines sogenannten Override(faktor)s, (einer bzw. der Geschwindigkeit) wenigstens eines Folgeroboters auf Basis wenigstens eines bzw. des ermittelten Anpassungsfaktors des Folgeroboters, eines zurückliegenden Reduzierfaktors des Folgeroboters und/oder einer benutzervorgegebenen Geschwindigkeitsreduzierung, insbesondere in Form eines benutzervorgegebenen Reduzierfaktors, des Folgeroboters, insbesondere durch Multiplikation eines zurückliegenden Reduzierfaktors des Folgeroboters mit dem Anpassungsfaktor und/oder Auswahl des kleinsten Reduzierfaktors, wobei der Reduzierfaktor größer als null und kleiner gleich eins ist; und/oder
- – Übermitteln eines bzw. des Anpassungsfaktors eines oder mehrerer Folgeroboter an eine Steuerung des Führungsroboters, so dass diese dessen Reduzierfaktor auf Basis dieser ermittelten Anpassungsfaktoren ermitteln kann.
-
Nach einer Ausführung ist ein System, insbesondere hard- und/oder software-, insbesondere programmtechnisch, zur Durchführung eines hier beschriebenen Verfahrens eingerichtet und/oder weist auf:
Mittel zum Reduzieren einer bzw. der Geschwindigkeit des Führungs- und/oder des bzw. der Folgeroboter(s) auf Basis einer bzw. der vorgegebenen Begrenzung einer Geschwindigkeit des (jeweiligen) Folgeroboters, insbesondere zum Reduzieren der Geschwindigkeit des Führungsroboters auf Basis der vorgegebenen Begrenzungen von Geschwindigkeiten von wenigstens zwei Folgerobotern; und/oder
Mittel zum Vorgeben der Begrenzung einer Geschwindigkeit wenigstens eines Folgeroboters in Abhängigkeit von einer bzw. der überwachten Geschwindigkeitsbegrenzung dieses Folgeroboters, insbesondere derart, dass sie kleiner als die überwachte Geschwindigkeitsbegrenzung ist; und/oder
Mittel zum Reduzieren der Geschwindigkeit des Führungs- und/oder wenigstens eines Folgeroboters auf Basis einer bzw. der, insbesondere auf wenigstens einer zurückliegenden Geschwindigkeit des Folgeroboters basierenden, Prognose einer Geschwindigkeit des wenigstens einen Folgeroboters; und/oder
Mittel zum Reduzieren der Geschwindigkeit des Führungs- und/oder wenigstens eines Folgeroboters zusätzlich auf Basis einer bzw. der benutzervorgegebenen Geschwindigkeitsreduzierung; und/oder
Mittel zum gefilterten Reduzieren der Soll-Geschwindigkeit des Führungs- und/oder wenigstens eines Folgeroboters; und/oder
Mittel zum Prognostizieren einer bzw. der Geschwindigkeit wenigstens eines Folgeroboters, insbesondere auf Basis wenigstens einer zurückliegenden Geschwindigkeit dieses Folgeroboters; und/oder
Mittel zum Ermitteln eines bzw. des Anpassungsfaktors wenigstens eines Folgeroboters auf Basis einer bzw. der, insbesondere prognostizierten, Geschwindigkeit und/oder einer bzw. der vorgegebenen Begrenzung einer Geschwindigkeit des Folgeroboters; und/oder
Mittel zum Ermitteln, insbesondere Filtern, eines bzw. des Reduzierfaktors des Führungs- und/oder wenigstens eines Folgeroboters auf Basis wenigstens eines bzw. des ermittelten Anpassungsfaktors, eines bzw. des zurückliegenden Reduzierfaktors und/oder einer bzw. der benutzervorgegebenen Geschwindigkeitsreduzierung;
und/oder
Mittel zum Übermitteln eines bzw. des Anpassungsfaktors wenigstens eines Folgeroboters an eine bzw. die Steuerung des Führungsroboters.
-
Ein Mittel im Sinne der vorliegenden Erfindung kann hard- und/oder softwaretechnisch ausgebildet sein, insbesondere eine, vorzugsweise mit einem Speicher- und/oder Bussystem daten- bzw. signalverbundene, insbesondere digitale, Verarbeitungs-, insbesondere Mikroprozessoreinheit (CPU) und/oder ein oder mehrere Programme oder Programmmodule aufweisen. Die CPU kann dazu ausgebildet sein, Befehle, die als ein in einem Speichersystem abgelegtes Programm implementiert sind, abzuarbeiten, Eingangssignale von einem Datenbus zu erfassen und/oder Ausgangssignale an einen Datenbus abzugeben. Ein Speichersystem kann ein oder mehrere, insbesondere verschiedene, Speichermedien, insbesondere optische, magnetische, Festkörper- und/oder andere nicht-flüchtige Medien aufweisen. Das Programm kann derart beschaffen sein, dass es die hier beschriebenen Verfahren verkörpert bzw. auszuführen imstande ist, sodass die CPU die Schritte solcher Verfahren ausführen kann und damit den Roboterverband steuern kann.
-
In einer Ausführung werden ein oder mehrere Schritte des Verfahrens ganz oder teilweise automatisiert und/oder während des Betriebs des Roboterverbandes, insbesondere der Ausführung der vorgegebenen, insbesondere gespeicherten, Soll-Bewegungen, aus- bzw. durchgeführt, insbesondere durch das System, dessen Mittel bzw. das Computerprogramm.
-
Unter einem Steuern wird vorliegend insbesondere auch ein Regeln verstanden.
-
In einer Ausführung wird die Geschwindigkeit des Führungs- und/oder des bzw. der Folgeroboter durch Multiplikation einer vorgegebenen, insbesondere aktuellen und/oder absoluten oder relativen, Soll-Geschwindigkeit mit dem entsprechenden aktuellen Reduzier- bzw. Overridefaktor reduziert.
-
Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert,:
-
1: einen Roboterverband und ein System zum Steuern des Roboterverbands nach einer Ausführung der vorliegenden Erfindung; und
-
2: ein Verfahren zum Steuern des Roboterverbands nach einer Ausführung der vorliegenden Erfindung.
-
1 zeigt einen Roboterverband mit einem Führungsroboter 10 und einem Folgeroboter 20. Ein weiterer Folgeroboter 30 ist nur teilweise und gestrichelt angedeutet.
-
Der Führungsroboter 10 führt ein Werkstück vertikal nach oben, wie in 1 durch einen Bewegungspfeil v10 angedeutet.
-
Für den Folgeroboter 20 ist bzw. wird, wie in 1 durch einen Bewegungspfeil v20,re1 angedeutet, eine Soll-Bewegung relativ zu einem roboterfesten Bezugssystem des Führungsroboters 10 vorgegeben, dessen Koordinatenachsen exemplarisch in der Ebene des Werkstücks liegen bzw. senkrecht hierzu sind. Dementsprechend bewegt sich der Folgeroboter 20 im Sinne der vorliegenden Erfindung in Abhängigkeit von dem Führungsroboter 10.
-
Somit ergibt sich die Absolutgeschwindigkeit des Folgeroboters 20, wie in 1 durch einen Bewegungspfeil v20,abs angedeutet, durch Superposition der Absolutgeschwindigkeit des Führungsroboters 10 und der Bewegung des Folgeroboters 20 relativ hierzu. Gleiches gilt analog für den weiteren Folgeroboter 30.
-
Ein System zum Steuern dieses Roboterverbandes nach einer Ausführung der vorliegenden Erfindung umfasst Robotersteuerungen 11, 21 bzw. 31 für die Roboter 10, 20 bzw. 30, die miteinander, beispielsweise über einen Bus, kommunizieren. Es führt ein nachfolgend anhand 2 erläutertes Verfahren zum Steuern des Roboterverbands nach einer Ausführung der vorliegenden Erfindung durch.
-
In einem ersten Schritt S10 prognostizieren die Steuerungen 21, 31 für den zugehörigen Folgeroboter 20 bzw. 30 jeweils eine aktuelle Soll-Geschwindigkeit vP,n für den aktuellen Regeltakt n auf Basis der unmittelbar zurückliegenden Ist-Geschwindigkeit vn-1 und der dieser vorhergehenden Soll-Geschwindigkeit vn-2 der beiden vorhergehenden Regeltakte n – 1 und n – 2 durch die lineare Extrapolation vP,n = 2 × vn-1 – vn-2 (1)
-
Statt der Soll-Geschwindigkeit kann alternativ auch die Ist-Geschindigkeit der vorigen Regeltakte verwendet werden. Dabei können die Geschwindigkeiten jeweils insbesondere absolute kartesische Geschwindigkeiten des TCPs oder auch Gelenk(winkel)geschwindigkeiten des entsprechenden Roboters sein.
-
Anschließend ermitteln die Steuerungen 21, 31 in einem Schritt S20 jeweils für den zugehörigen Roboter 20 bzw. 30 einen Anpassungsfaktor fakn auf Basis dieser prognostizierten aktuellen Soll-Geschwindigkeit vP,n und einer vorgegebenen Begrenzung vmax einer Soll-Geschwindigkeit oder Ist-Geschwindigkeit des Folgeroboters, die sich durch Multiplikation einer überwachten Geschwindigkeitsbegrenzung vmax,0 mit einem Sicherheitsfaktor von beispielsweise 0,8 ergibt, gemäß: fakn = vmax/vP,n = (0,8 × vmax,0)/vP,n (2)
-
Als Sicherheitsfaktor kann alternativ ein Faktor kleiner eins gewählt werden, typischerweise ein Faktor zwischen etwa 0,7 und etwa 0,95. Dabei können die (vorgegebenen Begrenzungen der) Soll-Geschwindigkeiten oder Ist-Geschwindigkeiten jeweils entsprechend wiederum insbesondere (vorgegebenen Begrenzungen der) absolute(n) kartesische(n) Geschwindigkeiten des TCPs oder auch Gelenk(winkel)geschwindigkeiten des entsprechenden Roboters sein.
-
Dann ermitteln die Steuerungen 21, 31 in einem Schritt S30 jeweils für den zugehörigen Roboter 20 bzw. 30 einen aktuellen Reduzierfaktor in Form eines sogenannten Override(faktor)s Ovn für den aktuellen Regeltakt auf Basis dieses Anpassungsfaktors fakn, eines zurückliegenden Reduzier- bzw. Override(faktor)s Ovn-1 für den vorhergehenden Regeltakt n – 1 und einer benutzervorgegebenen Geschwindigkeitsreduzierung in Form eines benutzervorgegebenen Override(faktor)s Ovreg gemäß: Ovn = min{Ovreg, fakn × Ovn-1} (3)
-
Der benutzervorgegebene Overridefaktor Ovreg kann zwischen 0 und 1 bzw. 0 und 100% vorgegeben werden.
-
Durch die Minimumnorm min{), die den kleinsten Wert liefert, wird somit jeweils höchstens ein Overridefaktor Ovn = 1 bzw. 100% ermittelt. Entsprechend führt auch eine Unterschreitung der vorgegebenen Begrenzung vmax durch die prognostizierte Soll-Geschwindigkeit vP,n nicht zu einer Erhöhung des Override(faktor)s Ovn.
-
Durch die Multiplikation des zurückliegenden Reduzier- bzw. Override(faktor)s Ovn-1 mit dem aktuellen Anpassungsfaktor fakn wird der bisherige Override(faktor) entsprechend der Prognose der Soll-Geschwindigkeit und dem Vergleich dieser mit der überwachten Geschwindigkeitsbegrenzung vmax,0 bzw. vorgegebenen Begrenzung vmax aktualisiert bzw. angepasst, so dass sich eine adaptive Anpassung der Overridefaktoren der Folgeroboter 20, 30 ergibt.
-
Die Steuerungen 21, 31 übermitteln in einem Schritt S40 den jeweiligen Anpassungsfaktor fakn an die Steuerung 11 des Führungsroboters 10, reduzieren die Soll-Geschwindigkeit der Relativbewegung des jeweiligen Folgeroboters 20, 30, insbesondere eine entsprechende Gelenk(winkel)- oder relative kartesische Soll-Geschwindigkeit, mit dem bzw. um den entsprechenden aktuellen Override(faktor) Ovn und kehren anschließend zum Schritt S10 zurück, um die vorstehend beschriebene Abfolge S10–S40 für den nächsten Regeltakt erneut durchzuführen.
-
Die Steuerung 11 erhält in einem Schritt S100 die Anpassungsfaktoren fakn, der Folgeroboter 20, 30 für den aktuellen Regeltakt.
-
In einem Schritt S110 ermittelt die Steuerung 11 in an sich bekannter und daher hier nicht weiter erläuterten Weise einen Reduzier- bzw. Override(faktor) OvM,n derart, dass die absolute Soll-Geschwindigkeit des Führungsroboters 10 unter einer überwachten Geschwindigkeitsbegrenzung vmax,0 bleibt.
-
Zusätzlich kann auch für den Führungsroboter 10 wiederum durch einen Benutzer ein Reduzier- bzw. Override(faktor) Ovreg vorgegeben sein bzw. werden.
-
In einem Schritt S120 ermittelt die Steuerung 11 auf Basis der Anpassungsfaktoren fakn-1 der Folgeroboter 20, 30 für den vorhergehenden Regeltakt n – 1, des zurückliegenden Reduzier- bzw. Override(faktor)s Ovn-2 des Führungsroboters 10 für den vorvorhergehenden Regeltakt n – 2, des benutzervorgegebenen Reduzier- bzw. Override(faktor)s Ovreg und des Reduzier- bzw. Override(faktor)s OvM.n für den Führungsroboter 10 den Reduzier- bzw. Override(faktor) Ovn des Führungsroboters 10 für den aktuellen Regeltakt gemäß: Ovn = min{Ovreg, OvM,n , fakn-1 × Ovn-2} (4)
-
Dabei bezeichnet der Term fakn-1 × Ovn-2 zusammenfassend die beiden Produkte des Reduzierfaktors Ovn-2 mit dem jeweiligen Anpassungsfaktor fakn-1 der Folgeroboter 20 bzw. 30.
-
Damit ergibt sich für den Führungsroboter 10 der aktuelle Reduzier- bzw. Override(faktor) Ovn als kleinster Wert von dem für den Führungsroboter 10 benutzervorgegebenen Reduzier- bzw. Override(faktor) Ovreg, dem Reduzier- bzw. Override(faktor) OvM,n zur Einhaltung der überwachten Geschwindigkeitsbegrenzung für den Führungsroboter 10 sowie seinem entsprechend der Anpassungsfaktoren fakn-1 der Folgeroboter 20, 30 adaptierten zurückliegenden Reduzier- bzw. Override(faktor) Ovn-2.
-
In einem Schritt S130 reduziert die Steuerung 11 die aktuelle absolute Soll-Geschwindigkeit des Führungsroboters 10, insbesondere dessen Gelenk(winkel)- oder absolute kartesische Soll-Geschwindigkeit, mit diesem aktuellen Overridefaktor Ovn und kehrt anschließend zum Schritt S100 zurück, um die vorstehend beschriebene Abfolge S100–S130 für den nächsten Regeltakt erneut durchzuführen.
-
Durch die bedarfsweise Reduzierung sowohl der Soll-Geschwindigkeiten der Folge- als auch des Führungsroboters kann so die Wahrscheinlichkeit, dass die Folgeroboter 20, 30 eine Überwachung ihrer kartesischen oder Gelenk(winkel)-Ist-Geschwindigkeiten auslösen, vorteilhaft reduziert werden.
-
Dabei wird durch den Anpassungsfaktor fakn jeweils zum Einen die Geschwindigkeit der Relativbewegung des entsprechenden Folgeroboters und zum Anderen – mit einer Verzögerung von einem Regeltakt (vgl. fakn-1) auch die Geschwindigkeit der Führungsbewegung des Führungsroboters 10 reduziert.
-
Obwohl in der vorhergehenden Beschreibung exemplarische Ausführungen erläutert wurden, sei darauf hingewiesen, dass eine Vielzahl von Abwandlungen möglich ist.
-
So ist der Führungsroboter 10 im Ausführungsbeispiel ein Masterroboter des Roboterverbands 10, 20, 30. Wie vorstehend erläutert, kann er in einer Abwandlung gleichermaßen ein Folgeroboter bzw. Slave eines (noch) höherrangigen Führungsroboters sein, wobei dann seine Geschwindigkeit wie vorstehend für die Folgeroboter 20, 30 erläutert reduziert werden kann. Die vorgegebenen Begrenzungen vmax der Folgeroboter 20, 30 wirken dann über die entsprechende Reduzierung der Geschwindigkeit des Roboters 10 gegebenenfalls auch auf die Bewegung eines solchen noch höherrangigen Führungsroboters.
-
Außerdem sei darauf hingewiesen, dass es sich bei den exemplarischen Ausführungen lediglich um Beispiele handelt, die den Schutzbereich, die Anwendungen und den Aufbau in keiner Weise einschränken sollen. Vielmehr wird dem Fachmann durch die vorausgehende Beschreibung ein Leitfaden für die Umsetzung von mindestens einer exemplarischen Ausführung gegeben, wobei diverse Änderungen, insbesondere in Hinblick auf die Funktion und Anordnung der beschriebenen Bestandteile, vorgenommen werden können, ohne den Schutzbereich zu verlassen, wie er sich aus den Ansprüchen und diesen äquivalenten Merkmalskombinationen ergibt.
-
Bezugszeichenliste
-
- 10
- Führungsroboter
- 20, 30
- Folgeroboter
- 11, 21, 31
- (Roboter)Steuerung (System, Mittel)
- v10
- vorgegebene absolute Führungsbewegung/-geschwindigkeit des Führungsroboters
- v20,rel
- vorgegebene Relativbewegung/-geschwindigkeit des Folgeroboters 20
- v20,abs
- absolute Bewegung/Geschwindigkeit des Folgeroboters 20
- fakn
- Anpassungsfaktor