-
Die vorliegende Erfindung betrifft ein Verfahren und ein Steuermittel zum Vorgeben eines zu überwachenden Raumes einer Roboteranordnung und Überwachen dieses vorgegebenen Raumes sowie ein Programmiermittel zum Vorgeben eines solchen zu überwachenden Raumes.
-
Insbesondere mit einem Werker oder einem anderen Roboter kooperierende Roboter sollen im Betrieb überwacht werden. Hierzu ist es nach betriebsinterner Praxis bekannt, im Arbeitsraum, beispielsweise einem roboterbasisfesten Koordinatensystem, einen einzuhaltenden Arbeitsbereich vorzugeben, in dem sich ein roboterfester Referenzpunkt, zum Beispiel der TCP, befinden muss. Dieser Arbeitsbereich kann vorliegend nur durch einfache geometrische Körper wie Quader, Kugeln oder Zylinder definiert werden, die eine einfache Parametrierung und eine kompakte Abstandsbestimmung des TCPs zur Oberfläche des Körpers erlauben.
-
Nachteilig müssen die durch einfache geometrische Körper definierten Arbeitsbereiche häufig unnötig groß gewählt werden, um eine abzufahrende Bahn des TCPs abzudecken. So muss beispielsweise, um das Abfahren eines Viertelkreises mit Radius R zu überwachen, eine Kugel mit Radius R bzw. ein Quader mit Kantenlänge R gewählt werden. Dieser unnötig große zu überwachende Arbeitsbereich muss dann im Betrieb von Hindernissen freigehalten werden, da sich der Roboter frei in diesem bewegen darf. Es muss also, wenn der Roboter den Viertelkreis mit Radius R abfährt, eine ganze Kugel mit Radius R bzw. ein ganzer Quader mit Kantenlänge R freigehalten werden, dieser Raum steht in dieser Zeit nicht als Produktions- bzw. Montagefläche zur Verfügung.
-
Aufgabe der vorliegenden Erfindung ist es, die Überwachung einer Roboteranordnung zu verbessern.
-
Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 gelöst. Anspruch 8 stellt ein Steuermittel für ein solches Verfahren unter Schutz, Anspruch 7 ein Programmiermittel zum Vorgeben eines zu überwachenden Raumes für ein solches Verfahren. Ein Steuer- bzw. Programmiermittel im Sinne der vorliegenden Erfindung kann hard- und/oder softwaretechnisch ausgebildet sein. Es kann insbesondere ein Programm, Programmmodul und/oder eine Programmierumgebung, das bzw. die ein erfindungsgemäßes Verfahren bzw. ein erfindungsgemäßes Vorgeben eines zu überwachenden Raumes ausführt oder zu dessen Ausführung eingerichtet ist, wenn es bzw. sie in einem Computer abläuft bzw. installiert ist, einen Datenträger bzw. Speichermedium mit einem solchen Programm, Programmmodul bzw. einer solchen Programmierumgebung, und/oder einen Computer mit einem Speicher, einer Verarbeitungseinheit und einer Ein-/Ausgabeeinheit aufweisen, insbesondere sein, der zur Ausführung eines erfindungsgemäßen Verfahrens eingerichtet ist. Ein Steuermittel kann entsprechend insbesondere ein oder mehrere Erfassungsmittel, insbesondere Sensoren, zum Erfassen einer Pose der Roboteranordnung aufweisen. Die Unteransprüche betreffen vorteilhafte Weiterbildungen.
-
Die vorliegende Erfindung betrifft eine Überwachung einer Roboteranordnung, die einen oder mehrere ein- oder mehr-, insbesondere sechs- oder mehrachsige, Roboter aufweist.
-
Für einen oder mehrere Roboter werden dabei ein gemeinsamer oder jeweils eigene zu überwachende Räume vorgegeben. Dabei kann es sich insbesondere um einen einzuhaltenden Arbeitsbereich handeln, innerhalb dessen wenigstens ein Teil der Roboteranordnung, insbesondere ein oder mehrere roboter(anordnungs)feste(r) Referenzpunkt(e) wie insbesondere ein TCP angeordnet sein bzw. sich befinden muss. Gleichermaßen kann ein zu überwachender Raum auch einen zu vermeidenden Schutzbereich beschreiben, in dem sich wenigstens ein Teil der Roboteranordnung, insbesondere ein oder mehrere roboter(anordnungs)feste(r) Referenzpunkt(e) wie insbesondere ein TCP nicht befinden dürfen. In einer Ausführung kann wahlweise ein Arbeits- oder Schutzbereich vorgegeben werden. So kann es zweckmäßig sein, einen Arbeitsbereich um ein zu bearbeitendes Werkstück herum oder einen Schutzbereich um einen Arbeitsplatz eines Werkers oder kooperierenden Roboters vorzugeben. Der zu überwachende Raum kann in einer Ausführung konstant sein oder mit der Zeit bzw. Bewegung der Roboteranordnung variieren, beispielsweise sich mit einer Drehung eines Grundgestells oder einer Bewegung eines kooperierenden Roboters im Arbeitsraum mitbewegen.
-
Ein roboter(anordnungs)fester Referenzpunkt kann sich in einem Arbeitsraum der Roboteranordnung bewegen. Dieser Arbeitsraum kann insbesondere den kartesischen Raum umfassen, insbesondere der kartesische Raum sein. Zusätzlich oder alternativ kann der Arbeitsraum im Sinne der vorliegenden Erfindung auch die Orientierung des roboter(anordnungs)festen Referenzpunktes beschreiben, der Punkt also beispielsweise durch drei Lage- und drei Orientierungs-, insbesondere Winkelkoordinaten beschrieben sein. Eine Lage und/oder Orientierung im Arbeitsraum kann in einen Koordinatenraum der Roboteranordnung abgebildet werden, der durch eine oder mehrere Achs- bzw. Gelenkkoordinaten, beispielsweise die Winkelstellungen von Drehachsen bzw. -gelenken, aufgespannt wird. Umgekehrt kann ein Punkt im Koordinatenraum der Roboteranordnung in den Arbeitsraum abgebildet werden. Dementsprechend kann ein zu überwachender Raum gleichermaßen ein Arbeits- oder Koordinatenraum der Roboteranordnung sein. In einer Ausführung kann der zu überwachende Raum wahlweise im Arbeits- oder Koordinatenraum der Roboteranordnung vorgegeben werden. So kann es zweckmäßig sein, einen Arbeitsbereich um eine im Koordinatenraum vorgegebene Roboterbahn bzw. -trajektorie herum oder einen Schutzbereich um einen Arbeitsplatz im Arbeitsraum vorzugeben. Entsprechend kann in einer Ausführung der vorgegebene, zu überwachende Raum insbesondere zwei-, drei- oder sechsdimensional sein und/oder die Lage und/oder Orientierung eines oder mehrerer roboter(anordnungs)fester Referenzpunkte beschreiben, wobei zur kompakteren Darstellung unter einem Punkt verallgemeinernd auch ein Koordinatensystem, beispielsweise des TCPs, verstanden wird.
-
Dieser vorgegebene Raum bzw. diese vorgegebenen Räume werden, insbesondere im Betrieb und/oder bei Stillstand und/oder Bewegung der Roboteranordnung, überwacht. Insbesondere kann, vorzugsweise periodisch, eine Position der Roboteranordnung, insbesondere eine Lage und/oder Orientierung eines oder mehrerer roboter(anordnungs)fester Referenzpunkte im Arbeits- oder Koordinatenraum erfasst und geprüft werden, ob diese sich inner- oder außerhalb des vorgegebenen Raumes, insbesondere dies- oder jenseits einer, vorzugsweise orientierten, Oberfläche des vorgegebenen Raumes befinden bzw. diese Oberfläche gerade erreichen oder passieren. Hierzu können beispielsweise Gelenkkoordinaten der Roboteranordnung erfasst und gegebenenfalls auf Koordinaten im Arbeitsraum abgebildet werden. Zusätzlich oder alternativ kann zum Beispiel die Lage und/oder Orientierung eines oder mehrerer roboter(anordnungs)fester Referenzpunkte im Arbeitsraum, beispielsweise optisch, erfasst und gegebenenfalls auf Koordinaten im Koordinatenraum abgebildet werden. Spricht die Überwachung an bzw. wird festgestellt, dass die Roboteranordnung bzw. ein oder mehrere roboter(anordnungs)feste Referenzpunkte sich nicht in einem einzuhaltenden Arbeitsbereich befinden oder sich in einem zu vermeidenden Schutzbereich befinden, kann in einer Ausführung eine vorgegeben Reaktion ausgelöst werden, beispielsweise ein Warnsignal ausgegeben, eine Rückkehr- bzw. -zugsbewegung eingeleitet und/oder die Roboteranordnung stillgesetzt werden.
-
Erfindungsgemäß ist nun vorgesehen, dass der bzw. die zu überwachenden Räume, insbesondere vollständig oder teilweise automatisiert, mittels einer triangulierten Oberfläche definiert werden.
-
Unter einer triangulierten Oberfläche wird vorliegend in fachüblicher Weise insbesondere eine Oberfläche verstanden, die durch, vorzugsweise miteinander in Knoten und geraden Kanten verbundene, ebenen Dreiecksfacetten definiert ist. Unter einem Definieren einer Oberfläche wird vorliegend insbesondere die Parametrierung bzw. direkte Festlegung der Oberfläche verstanden. Diese kann insbesondere wenigstens teilautomatisiert dadurch erfolgen, dass eine bereits vorgegebene bzw. vorhandene triangulierte Oberfläche als Oberfläche eines zu überwachenden Raumes bestimmt wird. Eine solche vorgegebene triangulierte Oberfläche kann in einer Weiterbildung aus einer vorhandenen CAD- oder CAM-Beschreibung eines durch die Roboteranordnung handzuhabenden, insbesondere zu bearbeitenden und/oder montierenden, Werkstücks übernommen werden. Zusätzlich oder alternativ kann in einer Ausführung die triangulierte Oberfläche, insbesondere sukzessive, durch den Anwender aufgebaut oder durch wenigstens teilautomatisierte Triangulierung bzw. Approximation einer vorgegebenen Fläche, insbesondere Freiformfläche, mit festen oder variablen Dreiecksfacetten generiert werden. Die triangulierte Oberfläche kann insbesondere durch Knoten, Kanten, Knotenlisten, -reihenfolgen, Normalenvektoren und/oder in STL definiert werden.
-
Durch die triangulierte Oberfläche können einerseits geometrisch komplexe zu überwachende Räume vorgegeben werden. Gleichzeitig bietet sie den Vorteil einer guten Handhabbarkeit, insbesondere einer kompakten Abstandsberechung zu roboter(anordnungs)festen Referenzpunkten, da hierzu in einer Ausführung nur Abstände zwischen Punkten und Linien, nämlich den Referenzpunkten und den Kanten der Dreiecksfacetten, und zwischen Punkten und ebenen Flächen mit Normalenvektoren bestimmt werden müssen.
-
Die triangulierte Oberfläche kann offen sein, d. h. einen Rand aufweisen. In einer Ausführung ist die Oberfläche geschlossen, so dass vorteilhafterweise auf einfache Weise sichergestellt werden kann, dass die Roboteranordnung einen Arbeitsbereich nirgendwo verlassen bzw. nirgendwo in einen Schutzbereich eindringen kann.
-
Zusätzlich oder alternativ kann die triangulierte Oberfläche topologisch ein Geschlecht von eins oder höher aufweisen. Unter einem Geschlecht einer Oberfläche wird vorliegend insbesondere bildlich die Anzahl der „Löcher” der geschlossenen Oberfläche verstanden. So weist eine – gegebenenfalls topologisch verformte – Kugel – das Geschlecht 0, ein gegebenenfalls topologisch verformter – Torus das Geschlecht 1, ein gegebenenfalls topologisch verformter – Doppeltorus das Geschlecht 2, eine Brezel das Geschlecht 3 usw. auf. Gleichermaßen kann die triangulierte Oberfläche eine Euler-Charakteristik χ von höchstens null aufweisen, wobei die Euler-Charakteristik χ gegeben ist als Summe der Anzahl der Dreiecksfacetten Anzahl und ihrer Knoten abzüglich der Anzahl ihrer Kanten.
-
Durch eine Oberfläche mit einem topologischen Geschlecht von wenigstens eins, d. h. ein zu überwachender Raum, der wenigstens ein doughnutartiges Loch aufweist, kann in vorteilhafter Weise insbesondere erstmals auch ein Interaktions- bzw. Übergabebereich zu der Roboteranordnung, beispielsweise eine Einlegestation vorgesehen werden, der durch die bisherigen, durch einfache geometrische Körper definierten Räume nicht vorgebbar ist. Solche Oberflächen mit einem topologischen Geschlecht von eins oder mehr können in besonders einfacher Weise durch eine triangulierte Oberfläche definiert werden.
-
Die Überwachung kann insbesondere eine Bestimmung eines, vorzugsweise vorzeichenbehafteten, Abstandes zwischen einem oder mehreren roboter(anordnungs)festen Referenzpunkten und einer oder mehreren Dreiecksfacetten der triangulierten Oberfläche umfassen. In einer Ausführung können zum Überwachen Normalenvektoren von Dreiecksfacetten der triangulierten Oberfläche mit einem Bewegungsvektor der Roboteranordnung, insbesondere einem Geschwindigkeitsvektor eines roboter(anordnungs)festen Referenzpunktes, verglichen werden. In einer Weiterbildung kann vorteilhafterweise auf Basis dieses Vergleichs bereits eine Vorauswahl von Dreiecksfacetten getroffen werden. Betrachtet man eine Dreiecksfacette mit ihrem Normalenvektor, der die Orientierung bzw. Außen- und Innenseite der Oberfläche und damit das Äußere bzw. Innere des durch sie vorgegebenen Raums beschreibt, so kann sich ein roboter(anordnungs)fester Referenzpunkt dieser Facette nur von außen nähern und sie gegebenenfalls berühren oder durchdringen, wenn sein Bewegungsvektor mit dem nach außen gerichteten Normalenvektor einen Winkel einschließt, der betragsmäßig größer ist als 90° bzw. nur von innen nähern und sie gegebenenfalls berühren oder durchdringen, wenn sein Bewegungsvektor mit dem nach außen gerichteten Normalenvektor einen Winkel einschließt, der betragsmäßig kleiner ist als 90°: bewegt sich beispielsweise ein Punkt von außen entgegen dem Normalenvektor direkt auf die Facette zu, so ist der Bewegungsvektor dem Normalenvektor antiparallel entgegengerichtet, Bewegungsvektor und Normalenvektor schließen einen Winkel von 180° ein. Bewegt sich der Punkt parallel zu der Facette, d. h. senkrecht zu ihrem Normalenvektor, so schließen Bewegungsvektor und Normalenvektor einen Winkel von ± 90° ein. Bewegt sich der Punkt von innen gleichsinnig parallel zudem Normalenvektor direkt auf die Facette zu, so schließen Bewegungsvektor und Normalenvektor einen Winkel von 180° ein.
-
In einer Ausführung kann vorgesehen sein, die Dreiecksfacetten der triangulierten Oberfläche vorab, insbesondere auf Basis ihrer Normalenvektoren, vorab zu sortieren. Auf diese Weise kann die Anzahl der Dreiecksfacetten, zu denen beim Überwachen ein Abstand eines oder mehrerer roboter(anordnungs)fester Referenzpunkte zu ermitteln ist, reduziert werden.
-
Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert:
-
1: eine triangulierte Oberfläche und einen Roboter bei einer Überwachung nach einer Ausführung der vorliegenden Erfindung;
-
2: eine andere triangulierte Oberfläche und einen roboterfesten Referenzpunkt bei einer Überwachung nach einer Ausführung der vorliegenden Erfindung; und
-
3: den Ablauf eines Verfahrens zur Überwachung des Roboters der 1 nach einer Ausführung der vorliegenden Erfindung.
-
1 zeigt einen Roboter R mit seinem roboterfesten Referenzpunkt TCP, der, wie vorstehend erläutert, ein roboterfestes Referenzkoordinatensystem aufweist.
-
Zur Kooperation mit einem Werker (nicht dargestellt) soll sich der TCP nur innerhalb eines torus- bzw. doughnutartigen Arbeitsbereichs bewegen, der ein Loch zum Einlegen von Werkstücken durch den Werker freilässt.
-
Hierzu wird im Arbeitsraum des Roboters R, hier dem kartesischen Raum, in dem sich sein TCP bewegt, ein zu überwachender Raum in Form eines Arbeitsbereichs A vorgegeben und durch ein Steuermittel in Form einer Steuerung S des Roboters R überwacht, ob sich der TCP innerhalb des Arbeitsbereichs A befindet. Dies kann beispielsweise dadurch erfolgen, dass die Steuerung S die durch Sensoren erfassten Gelenkwinkel des Roboters R auf die Lage des TCPs im Arbeitsraum abbildet. Gleichermaßen kann beispielsweise die Lage des TCPs im Arbeitsraum direkt, etwa durch CCD-Kameras, Lasertracker oder dergleichen (nicht dargestellt) erfasst werden.
-
Der Arbeitsbereich A wird durch eine geschlossene triangulierte Oberfläche mit einer Viehlzahl ebener, miteinander verbundener Dreiecksfacetten Δi definiert. Eine triangulierte Oberfläche kann in einer Ausführung der vorliegenden Erfindung, unabhängig vom vorliegenden Ausführungsbeispiel, mittels einer STL-Schnittstelle aus einem CAD-Modell einer Umgebung der Roboteranordnung, insbesondere einer Roboterzelle (nicht dargestellt), importiert werden.
-
2 zeigt eine sehr einfache triangulierte Oberfläche mit vier ebenen Dreiecksfacetten Δi (i = 1, ..., 4), die durch ihre Knoten Pi und Normalen(einheits)vektoren ni definiert ist. Zusätzlich ist in 2 der TCP mit seinem Geschwindigkeitsvektor v dargestellt. Man erkennt, dass aufgrund der Orientierung des Geschwindigkeitsvektors v relativ zu den Normalen(einheits)vektoren ni der TCP in dieser Konstellation potentiell nur die Dreiecksfacetten Δ4 treffen kann, da der von ihnen eingeschlossene Winkel betragsmäßig größer als 90° ist, im Ausführungsbeispiel 180° beträgt. Wird vorab eine Vorsortierung der Dreiecksfacetten Δi auf Basis ihrer Normalen(einheits)vektoren ni durchgeführt, kann somit beim Überwachen die Abstandsermittlung in dieser Konstellation auf die Ermittlung des Abstandes des TCPs zu der Dreiecksfacette Δ4 beschränkt werden.
-
2 zeigt komplementär zu 1 eine Überwachung eines Schutzbereichs, der durch die triangulierte Oberfläche vorgegeben ist, die durch die Dreiecksfacetten Δi definiert ist, und in den der TCP nicht eindringen darf. Entsprechend wäre bei einem einzuhaltenden Arbeitsbereich zu prüfen, welche Normalen(einheits)vektoren ni mit dem Geschwindigkeitsvektor v einen Winkel einschließen, der betragsmäßig kleiner ist als 90°.
-
3 zeigt schließlich Schritte eines Verfahrens nach einer Ausführung der vorliegenden Erfindung, das beispielsweise in der Steuerung S ablaufen kann, die auch ein Programmiermittel im Sinne der vorliegenden Erfindung darstellen bzw. aufweisen kann:
In einem Schritt S10 wird ein zu überwachender Raum mittels einer triangulierten Oberfläche, beispielsweise in STL importierten Dreiecksfacetten Δi, definiert. Anschließend wird dieser Raum in den Schritten S20, S30 überwacht. Hierzu werden vorab in Schritt S10 oder S20 Dreiecksfacetten der triangulierten Oberfläche auf Basis ihrer Normalen(einheits)vektoren ni sortiert und dann in Schritt S20 diese sortierten Normalen(einheits)vektoren ni mit dem Bewegungsvektor v verglichen, insbesondere das Skalarprodukt <v, ni> gebildet und hieraus der von Normalen(einheits)vektoren ni und Bewegungsvektor v eingeschlossene Winkel bestimmt. Zu denjenigen Dreiecksfacetten Δi, deren Normalen(einheits)vektoren ni mit dem Bewegungsvektor v einen Winkel einschließen, der betragsmäßig größer ist als 90° (beim Überwachen von Schutzbereichen betragsmäßig kleiner als 90°), wird in Schritt S30 der vorzeichenbehaftete Abstand des TCPs ermittelt und so überprüft, ob der TCP sich innerhalb oder außerhalb des Arbeitsbereichs (bzw. des Schutzbereichs) befindet. Bei Ansprechen der Überwachung (S30: „N”) wird in Schritt S40 eine entsprechende Reaktion ausgelöst, beispielsweise der Roboter R stillgesetzt, andernfalls (S30: „Y”) wird die Überwachung zyklisch wiederholt.
-
Bezugszeichenliste
-
-
- A
- Arbeitsbereich (zu überwachender Raum)
- ni
- Normalen(einheits)vektor
- R
- Roboter(anordnung)
- S
- Steuerung (Steuermittel)
- v
- Geschwindigkeits-/Bewegungsvektor
- Δi
- Dreiecksfacette