-
Die Offenbarung betrifft eine Technik zur Auslösung vordefinierter Funktionen an Robotern durch einen Bediener.
-
Bevorzugt lässt sich die Technik für mehrachsige Roboterarme mit Gelenkmomentsensoren einsetzen. Üblicherweise umfasst ein Roboterarm eine Roboterbasis, eine Roboterstruktur mit einem oder mehreren Gelenken und dazwischenliegenden Segmenten sowie einen Endeffektor.
-
Bei der Programmierung eines Roboterprogramms z.B. beim Einlernen eines Bewegungsablaufs durch Handführung des Roboters („Teaching“), möchte der Bediener Auslösemittel vorsehen, um bestimmte Roboterfunktionen zu bestimmten Zeitpunkten auslösen zu können. Beispielsweise möchte der Benutzer den Roboter durch Betätigung eines Auslösers anweisen, ein Werkzeug des Roboters zu öffnen oder in einen bestimmten Betriebsmodus zu wechseln. Um derartige Roboterfunktionen auszulösen, sind verschiedene physische Funktionsauslöser bekannt. Vor allem sind in der Praxis Knöpfe oder Schalter bekannt, die am Roboter angebracht sind und von einem Bediener betätigbar sind. Eine auszulösende Funktion wird mit einem solchen Knopf oder Schalter bei der Programmierung verknüpft. Wenn der Bediener beim Betrieb des Roboters den Knopf oder Schalter drückt, wird die verknüpfte Funktion ausgelöst. Die Anzahl solcher physischer Funktionsauslöser ist häufig werkseitig vorgegeben und nicht flexibel. Außerdem kann die Bedienung der Funktionsauslöser während der Handführung des Roboters umständlich sein, wenn die Anordnung der Schalter am Roboter für den individuellen Einsatzzweck ungünstig ist. Die Ergonomie solcher physischer Funktionsauslöser ist daher nicht optimal.
-
Aus
DE 10 2015 205 176 B3 ist ein Verfahren zum Steuern eines Manipulators bekannt, wobei ein Manipulator in Reaktion auf das Erkennen eines Freigabewunsches einer Bedienperson freigegeben wird. Zur Erkennung des Freigabewunsches wird der Verlauf eines Messwertes überwacht.
-
Die
DE 10 2015 009 151 A1 beschreibt ein Verfahren zum automatischen Ermitteln eines Eingabebefehls für einen Roboter, wobei die Gelenkkräfte einer externen Krafteinwirkung in einem bestimmten Unterraum des Gelenkkoordinatenraums ausgewertet werden.
-
DE 10 2014 202 145 A1 beschreibt ein Programmierverfahren für einen Roboter durch manuelles Führen des Roboterarms.
-
DE 10 2008 062 622 A1 beschreibt ein Verfahren zur Ausführung eines Roboterbefehls durch Erfassung und Vergleich einer externen Kraft auf den Roboter mit zuvor gespeicherten Kräften.
-
DE 10 2015 222 164 A1 beschreibt ein Computerprogramm zur Erzeugung einer grafischen Benutzerschnittstelle.
-
In
EP 1 754 448 B1 wird ein anthropomorpher medizintechnischer Roboterarm mit Bewegungshemmern an den Gelenken offenbart, die den Arbeitsbereich des Roboters einschränken.
-
Es ist Aufgabe der vorliegenden Offenbarung eine verbesserte Auslösetechnik für vorbestimmte Funktionen eines Roboters aufzuzeigen. Die Erfindung löst die Aufgabe mit den Merkmalen der unabhängigen Ansprüche.
-
Gemäß der vorliegenden Offenbarung werden anstelle der vorerwähnten Knöpfe oder Schalter virtuelle Funktionsauslöser eingesetzt. Virtuelle Funktionsauslöser umfassen lokale Bereiche an einer Roboterstruktur, denen ein Referenz-Einwirkungsprofil zugeordnet ist. Durch Aufbringen einer externen Lasteinwirkung in einem dieser Bereiche an der Roboterstruktur kann ein Bediener einen Funktionsauslöser aktivieren, wenn die Lasteinwirkung einem Referenz-Einwirkungsprofil entspricht. Eine externe Lasteinwirkung kann eine Kraft oder ein Moment sein, das von außen auf die Roboterstruktur einwirkt. Beispielsweise kann der Bediener ein bestimmtes Gelenk des Roboters mit seiner Hand berühren und dabei eine Druckkraft auf das Gelenk ausüben.
-
Die virtuellen Funktionsauslöser sind in einer Steuerungssoftware implementiert. Virtuelle Funktionsauslöser haben den Vorteil, dass die Anordnung des Lasteinwirkungsorts, also der Kontaktstelle des Benutzers, an der ein Funktionsauslöser betätigt werden kann, am Roboter flexibel wählbar ist. Insbesondere kann die Anordnung des Lasteinwirkungsorts nach Auslieferung geändert werden, ohne physikalische Änderungen am Roboter vornehmen zu müssen. Die Anordnung und Anzahl der Funktionsauslöser können an die Einsatzsituation angepasst werden. Weiterhin können beliebig viele Funktionsauslöser vom Programmierer erzeugt werden.
-
Ein Einwirkungsprofil kennzeichnet eine externe Lasteinwirkung und ermöglicht die Unterscheidung oder Wiedererkennung verschiedener, gegebenenfalls ähnlicher, Lasteinwirkungen. Für diesen Zweck umfassen Einwirkungsprofile Unterscheidungsmerkmale der Lasteinwirkungen, wie beispielsweise den Lasteinwirkungsort, die Einwirkungsrichtung oder die Intensität der aufgebrachten Last.
-
Mit einem virtuellen Funktionsauslöser können Roboterfunktionen verknüpft werden, die bei Betätigung des Funktionsauslösers durchgeführt werden. Die verknüpfbare Roboterfunktion kann eine beliebige ausführbare Funktion des Roboters, z.B. ein Programm, ein Bewegungsablauf, eine Aktion oder ein Wechsel in einen Betriebsmodus des Roboters sein. Beispielsweise lässt sich durch Betätigung eines Funktionsauslösers der Greifer eines Roboterarms öffnen oder schließen. Ein virtueller Funktionsauslöser verhält sich dabei ähnlich wie eine frei programmierbare Taste, allerdings mit dem Vorteil, dass virtuelle Funktionsauslöser in Ihrer Anzahl und Anordnung an der Roboterstruktur flexibel sind.
-
Ein erster Aspekt der Offenbarung ist ein Verfahren zur Generierung mindestens eines virtuellen Funktionsauslösers an einem Roboter. Dieses Verfahren wird während einer Programmierphase durchgeführt. Mit dem Verfahren können ein oder mehrere virtuelle Funktionsauslöser erzeugt und mit Roboterfunktionen verknüpft werden. Der Benutzer gibt die Lasteinwirkung, durch die der Funktionsauslöser betätigbar sein soll, während der Programmierphase vor. Der Benutzer kann eine externe Last durch Drücken oder Verdrehen einer bestimmten Stelle der Roboterstruktur erzeugen. Die Robotersteuerung detektiert und speichert diese Lasteinwirkung in einem Referenz-Einwirkungsprofil. Später, nach Abschluss der Programmierphase, kann eine dem Referenz-Einwirkungsprofil entsprechende Lasteinwirkung wiedererkannt und eine verknüpfte Roboterfunktion ausgeführt werden. Das Generierungsverfahren umfasst die nachfolgend genannten Schritte.
-
Es wird eine externe Lasteinwirkung auf eine Roboterstruktur des Roboters detektiert. Eine externe Lasteinwirkung kann eine auf den Roboter lastende Kraft oder ein Moment sein. Die Lasteinwirkung greift an einem zugehörigen Lasteinwirkungsort an der Roboterstruktur an.
-
Es wird der Lasteinwirkungsort einer detektierten externen Lasteinwirkung lokalisiert. Die Lokalisierung eines Lasteinwirkungsorts ist vorteilhaft für die Unterscheidung verschiedener Funktionsauslöser an verschiedenen Stellen am Roboter und ermöglicht deren flexible Anordnung an der Roboterstruktur ohne zusätzliche Hardware.
-
Es wird ein Einwirkungsprofil mit mindestens einem Unterscheidungsmerkmal der detektierten Lasteinwirkung erzeugt.
-
Das Einwirkungsprofil umfasst als Unterscheidungsmerkmal zumindest den Lasteinwirkungsort der Lasteinwirkung.
-
Darüber hinaus kann das Einwirkungsprofil weitere erfasste Eigenschaften der Lasteinwirkung als Unterscheidungsmerkmale umfassen, insbesondere deren Intensität, Richtung, Zeitverlauf und/oder Frequenzcharakteristik.
-
Ein erzeugtes Einwirkungsprofil wird als Referenz-Einwirkungsprofil in einem Datenspeicher abgespeichert.
-
Ein virtueller Funktionsauslöser wird erzeugt, dem mindestens ein Referenz-Einwirkungsprofil zugeordnet wird. Das oder die Referenz-Einwirkungsprofile definieren vorteilhafterweise den Bereich an der Roboterstruktur, an der sich der Funktionsauslöser durch eine Lasteinwirkung betätigen lässt. Alternativ oder zusätzlich können das oder die Referenz-Einwirkungsprofile die Art und Weise einer Lasteinwirkung definieren, mit der sich ein virtueller Funktionsauslöser betätigen lässt.
-
Eine ausführbare Roboterfunktion wird mit einem virtuellen Funktionsauslöser verknüpft. Die Verknüpfung bewirkt, dass die Roboterfunktion bei Betätigung des Funktionsauslösers, ausgeführt wird. Die Betätigung des Funktionsauslösers löst in der Robotersteuerung beispielsweise ein Ereignis aus und beeinflusst dadurch den Programmfluss der Robotersteuerung.
-
Ein zweiter Aspekt der Offenbarung ist ein Verfahren zur Überwachung virtueller Funktionsauslöser. Mit diesem Überwachungsverfahren können Betätigungen von zuvor generierten Funktionsauslösern erkannt und entsprechende Roboterfunktionen ausgelöst werden. Das Überwachungsverfahren wird bevorzugt während einer Mensch-Roboter-Kollaboration ausgeführt. Vorteilhafterweise wird das Überwachungsverfahren als Hintergrundprozess ausgeführt. Das Verfahren eignet sich besonders zum Einsatz während des Betriebs des Roboters in einem sog. „Teach“-Modus, in dem der Benutzer dem Roboter Bewegungsabläufe oder Aktionen durch Handführung einprogrammiert.
-
Das Überwachungsverfahren dient der Wiedererkennung von zuvor als Referenz gespeicherten Lasteinwirkungen, die zur Betätigung eines virtuellen Funktionsauslösers führen sollen. Um ein entsprechendes Ereignis im Programmablauf der Robotersteuerung auslösen zu können, werden externe Lasteinwirkungen auf den Roboter laufend durch das Verfahren überwacht. Dieses zweite Verfahren wird daher bevorzugt während des Betriebs des Roboters durchgeführt, insbesondere in einer Betätigungsphase, in dem die zuvor generierten Funktionsauslöser dem Benutzer zur Verfügung stehen sollen. Das Überwachungsverfahren umfasst die nachfolgenden Schritte.
-
Es wird eine externe Lasteinwirkung an einem Lasteinwirkungsort auf die Struktur eines Roboters detektiert. Gegebenenfalls werden darüber hinaus Eigenschaften der Lasteinwirkung, insbesondere deren Intensität, Richtung, Zeitverlauf und/oder Frequenzcharakteristik, erfasst.
-
Es wird der Lasteinwirkungsort an der Roboterstruktur lokalisiert. Mit dem lokalisierten Lasteinwirkungsort lässt sich überprüfen, ob dieser in einem Bereich an der Roboterstruktur liegt, der zu einem virtuellen Funktionsauslöser gehört.
-
Es wird ein Betätigungs-Einwirkungsprofil mit mindestens einem Unterscheidungsmerkmal der detektierten Lasteinwirkung erzeugt.
-
Bevorzugt ist ein erstes Unterscheidungsmerkmal zumindest der Lasteinwirkungsort (301) der detektierten Lasteinwirkung (30). Gegebenenfalls kann das Betätigungs-Einwirkungsprofil weitere erfasste Eigenschaften der Lasteinwirkung (30) umfassen. Anhand der Unterscheidungsmerkmale der Einwirkungsprofile lassen sich mehrere Lasteinwirkungen vergleichen.
-
Das Betätigungs-Einwirkungsprofil wird mit mindestens einem gespeicherten Referenz-Einwirkungsprofil verglichen. Es wird ein Vergleichsergebnis unter Berücksichtigung definierter Entscheidungsregeln erzeugt. Das Vergleichsergebnis legt fest, ob das Betätigungs-Einwirkungsprofil dem Referenz-Einwirkungsprofil entspricht und der dem Referenz-Einwirkungsprofil zugeordnete virtuelle Funktionsauslöser betätigt werden soll. Der Vergleich findet bevorzugt anhand der Unterscheidungsmerkmale der Einwirkungsprofile statt.
-
Beispielsweise wird der Betätigungs-Lasteinwirkungsort mit einem Referenz-Lasteinwirkungsort eines virtuellen Funktionsauslösers verglichen. Eine vorteilhafte Entscheidungsregel prüft, ob der Abstand zwischen den Lasteinwirkungsorten unterhalb einer bestimmten Schwelle liegt. Alternativ oder zusätzlich kann als Entscheidungsregel geprüft werden, ob die Lasteinwirkungsorte auf demselben Segment eines Roboterarms liegen.
-
Im Falle einer festgestellten Übereinstimmung zwischen einem Betätigungs-Einwirkungsprofil und einem Referenz-Einwirkungsprofil wird der virtuelle Funktionsauslöser betätigt, der diesem Referenz-Einwirkungsprofil zugeordnet ist. Es können auch mehrere Funktionsauslöser demselben Referenz-Einwirkungsprofil zugeordnet sein und betätigt werden.
-
Schließlich werden eine oder mehrere Roboterfunktionen ausgelöst, die mit einem betätigten Funktionsauslöser verknüpft sind. Die Auslösung erfolgt bevorzugt über die Erzeugung eines Ereignisses im Programmablauf der Robotersteuerung. In einer alternativen Ausführungsform wird ein Trigger-Signal erzeugt und an die Robotersteuerung übertragen.
-
Ein wesentlicher Aspekt der Offenbarung ist die Lokalisierung des Lasteinwirkungsorts. Die Lokalisierung des Lasteinwirkungsorts basiert auf der Erfassung externer Lasteinwirkungen auf den Roboter.
-
Es bestehen verschiedene Möglichkeiten der Lokalisierung des Lasteinwirkungsorts, die unterschiedliche Sensoren am Roboter erfordern. Je nach Lokalisierungsmethode kann der Lasteinwirkungsort mit unterschiedlicher Genauigkeit lokalisiert werden. Der Lasteinwirkungsort kann als Punkt auf der Oberfläche des Roboters, als Position entlang eines Roboterarms oder als ein Abschnitt oder Segment der Roboterstruktur festgelegt sein.
-
Eine externe Lasteinwirkung, z.B. durch eine Druckberührung des Benutzers am Roboter, kann mit verschiedenen Sensoren erfasst werden. Die offenbarte Technik ist besonders geeignet für mehrachsige Roboterarme mit intern verbauten Gelenkmomentsensoren. Alternativ können Sensordaten über Motorströme und/oder Gelenkpositionen verarbeitet werden. Es können auch Kraftmessdosen an der Roboterbasis oder zwischen Teilen der Roboterstruktur zur Detektion externer Lasteinwirkungen eingesetzt werden. Die Sensoren können entlang der kinematischen Kette des Roboters verbaut sein. In einer weiteren Ausführungsform werden zusätzliche, externe Sensoren zur Erfassung externer Lasten oder zur Lokalisierung des Lasteinwirkungsorts eingesetzt. Insbesondere können optische Sensoren bei der Erfassung der Lasteinwirkung und/oder der Lokalisierung des Lasteinwirkungsorts genutzt werden.
-
Externe Lasteinwirkungen können alternativ oder zusätzlich über die Motorströme oder Gelenkpositionen des Roboters in Verbindung mit einem mathematischen Modell des Roboters erfasst werden. Insbesondere können externe Lasteinwirkungen während einer Roboterbewegung mithilfe eines Dynamik- oder Kinematik-Modells des Roboters erfasst werden.
-
Die Anordnung des lokalisierbaren Lasteinwirkungsorts für die Programmierung und/oder Überwachung der Funktionsauslöser kann je nach Sensorkonfiguration des Roboters eingeschränkt sein. Beispielsweise kann der Lasteinwirkungsort nur innerhalb eines oder mehrerer Segmente entlang der kinematischen Kette des Roboters erfasst und/oder lokalisiert werden. Das Verfahren lässt in einer bevorzugten Ausführungsform zur Generierung eines Funktionsauslösers nur solche Lasteinwirkungsorte zu, die mit ausreichender Bestimmtheit mittels der vorhandenen Sensorik erfasst bzw. lokalisiert werden können.
-
Ein weiterer wesentlicher Aspekt der Technik ist die Verknüpfung der virtuellen Funktionsauslöser mit ausführbaren Roboterfunktionen. Der Benutzer kann erzeugte Funktionsauslöser in einer Programmierumgebung frei mit Roboterfunktionen verknüpfen, die im Falle einer Betätigung des Funktionsauslösers ausgelöst werden sollen. Zum Beispiel lässt sich ein Funktionsauslöser für die Druckberührung eines bestimmten Gelenks des Roboters erzeugen. Dieser Funktionsauslöser kann dann mit dem Öffnen oder Schließen eines Greifers, Start oder Stopp eines Bewegungsablaufs oder dem Wechsel in einen bestimmten Regelungsmodus des Roboters verknüpft werden. Diese freie Verknüpfung ist besonders flexibel und ermöglicht dem Benutzer eine Anpassung der Funktionsauslöser an seine Anforderungen.
-
Die erzeugten virtuellen Funktionsauslöser sind in einer Programmierumgebung für den Benutzer, zum Beispiel über ein Display am Roboter, auswählbar. Der Benutzer kann in beliebiger Reihenfolge Funktionsauslöser erzeugen und mit Roboterfunktionen verknüpfen. Dies ermöglicht eine besonders ergonomische Roboterprogrammierung.
-
Die beanspruchten Verfahren werden bevorzugt durch die Robotersteuerung oder eine mit dem Roboter verbundene Steuerungsvorrichtung ausgeführt. Das Verfahren oder einzelne Schritte zur Datenverarbeitung können durch Instruktionen an einen Prozessor ausgeführt werden. Dabei kann gegebenenfalls auf vorhandene Schnittstellen der Robotersteuerung zurückgegriffen werden.
-
Ein weiterer wesentlicher Aspekt der Offenbarung ist ein Softwareprodukt zur Ausführung auf einer Steuerungsvorrichtung, insbesondere einer Robotersteuerung. Das Softwareprodukt ist auf einem Datenträger gespeichert und enthält Instruktionen, die dazu ausgebildet sind, eines der beanspruchten Verfahren auf einer Steuerungsvorrichtung, insbesondere einer Robotersteuerung, auszuführen. Ein solches Softwareprodukt hat den Vorteil, dass die offenbarten Funktionen an einem bereits beim Kunden befindlichen Roboter per Software nachgerüstet werden können.
-
Ein weiterer Aspekt der Offenbarung ist eine Steuerungsvorrichtung für einen Roboter, die dazu ausgebildet ist, eines oder mehrere der offenbarten Verfahren auszuführen. Die Steuerungsvorrichtung kann als Robotersteuerung eines Roboters ausgeführt sein oder mit einer vorhandenen Robotersteuerung verbindbar sein. Die Steuerungsvorrichtung ist insbesondere dazu ausgebildet, Daten von internen oder externen Sensoren des Roboters zu empfangen und/oder zu verarbeiten sowie Befehle zur Ausführung von Roboterfunktionen zu erzeugen.
-
Abwandlungen der Erfindung sind in verschiedener Weise möglich. Insbesondere können die zu den jeweiligen Ausführungsbeispielen gezeigten, beschriebenen oder beanspruchten Merkmale in beliebiger Weise miteinander kombiniert, gegeneinander ersetzt, ergänzt oder weggelassen werden. Die Schritte der beschriebenen Verfahren können einzeln oder mehrfach durchgeführt werden. Die jeweils beschriebene Reihenfolge der Schritte der offenbarten Verfahren stellen eine bevorzugte Ausführungsform dar. Die Reihenfolge der einzelnen Schritte der Verfahren können, insbesondere unter Berücksichtigung der Merkmale der abhängigen Ansprüche, verändert werden.
-
Roboter im Sinne dieser Offenbarung können automatisierte Manipulatoren jeder Art sein. Darunter fallen Roboterarme, mobile Roboterplattformen, humanoide Roboter, Messroboter und andere automatisierte Manipulatoren.
-
Weitere vorteilhafte Merkmale sind in den abhängigen Ansprüchen offenbart.
-
Das beanspruchte Softwareprodukt ist auf einem Datenträger gespeichert.
-
Die Erfindung ist in den Zeichnungen beispielhaft und schematisch dargestellt. Es zeigen:
- 1: einen Roboter bei einer externen Lasteinwirkung durch einen Benutzer zur Generierung eines virtuellen Funktionsauslösers;
- 2: einen Roboter bei einer externen Lasteinwirkung durch einen Benutzer zur Betätigung eines virtuellen Funktionsauslösers;
- 3: ein Ablaufdiagramm einer Ausführungsform des offenbarten Verfahrens zur Generierung virtueller Funktionsauslöser;
-
1 zeigt einen mehrachsigen Roboter (10) mit einer Robotersteuerung (15), einer Roboterbasis (12), einer Roboterstruktur (11) und einem Endeffektor (14). Die Roboterstruktur (11) umfasst mehrere Gelenke (13) und Segmente zwischen den Gelenken bzw. zwischen einem Gelenk und der Roboterbasis oder dem Endeffektor. Am Endeffektor (14) ist ein Greifer als Werkzeug montiert.
-
Weiterhin zeigt 1 eine externe Lasteinwirkung (20) durch einen Benutzer mit dessen Hand. Der Benutzer berührt mit seiner Hand die Roboterstruktur am Lasteinwirkungsort (201). Dabei übt der Benutzer eine externe Last in Form einer Druckkraft aus.
-
Vorteilhafterweise werden eine oder mehrere Eigenschaften der Lasteinwirkung, insbesondere deren Intensität, Richtung, Zeitverlauf und/oder Frequenzcharakteristik, erfasst.
-
Mehrere Lasteinwirkungen lassen sich anhand der Eigenschaften in verschiedenen Weisen unterscheiden und vergleichen.
-
Je nach Sensorausstattung des Roboters kann es vorteilhaft sein, nur bestimmte oder keine Eigenschaften zu erfassen. Die Detektion externer Lasteinwirkungen kann mittels Signalverarbeitung verschiedener Sensorsignale erfolgen. Gegebenenfalls können außerdem mathematische Modelle des Roboters, z.B. Dynamik- oder Kinematik-Modelle, zur Signalschätzung genutzt werden.
-
Besonders vorteilhaft ist die Detektion der Lasteinwirkung mittels interner Gelenkmomentsensoren des Roboters.
-
Die Erfassung mehrerer Eigenschaften ermöglicht eine feinere Differenzierung verschiedener Lasteinwirkungen, insbesondere wenn diese am selben oder ähnlichen Lasteinwirkungsort angreifen.
-
Die Lokalisierung eines Lasteinwirkungsorts (201, 301) kann in Bezug auf verschiedene Koordinatensysteme oder Lagen des Roboters oder in Bezug auf die Umgebung erfolgen.
-
Das Lokalisierungsergebnis kann je nach Ausführungsform unterschiedlich präzise sein. Insbesondere kann die Stelle, das Gelenk oder das Segment der Roboterstruktur (11) lokalisiert bzw. identifiziert werden, an der/dem die externe Lasteinwirkung (20) angreift.
-
Anhand seines Einwirkungsprofils lässt sich eine Lasteinwirkung mit zuvor gespeicherten Referenz-Einwirkungsprofilen vergleichen. Die Erzeugung von Lastprofilen ist daher besonders vorteilhaft für die Differenzierung verschiedener Funktionsauslöser.
-
Außerdem kann die Lasteinwirkung, mit der sich der virtuelle Funktionsauslöser betätigen lässt, durch das Referenz-Einwirkungsprofil qualitativ und/oder quantitativ spezifiziert werden, indem zusätzliche Eigenschaften der Lasteinwirkung berücksichtigt werden.
-
In der gezeigten Ausführungsform des Roboters (10), umfasst dieser außerdem eine Anzeige (40). Die Anzeige (40) dient als Benutzerschnittstelle für die offenbarten Verfahren. Die Anzeige (40) ist derart ausgebildet, dass dem Benutzer Informationen angezeigt werden und/oder Benutzereingaben aufgenommen werden können. In einer vorteilhaften Ausführungsform ist die Anzeige (40) als Touchscreen ausgebildet.
-
1 zeigt einen Augenblick während einer Programmierphase zur Generierung eines Funktionsauslösers. Der Benutzer gibt durch seine Berührung eine Lasteinwirkung (20) an einem Lasteinwirkungsort (201) als Referenz vor. Mittels des offenbarten Verfahrens zur Generierung virtueller Funktionsauslöser wird für diese Lasteinwirkung (20) ein Referenz-Einwirkungsprofil erzeugt und gespeichert. Außerdem wird ein virtueller Funktionsauslöser erzeugt, dem dieses Referenz-Einwirkungsprofil zugeordnet wird.
-
In einer besonders vorteilhaften Ausführungsform umfasst ein Referenz-Einwirkungsprofil Toleranzen für ein oder mehrere Unterscheidungsmerkmale einer Lasteinwirkung (20). Toleranzen können insbesondere als Schwellwerte oder Toleranzintervalle vorliegen. Besonders vorteilhaft sind geometrische Bereiche um den Lasteinwirkungsort (201). In 2 ist ein geometrischer Bereich in Form einer Sphäre um den Lasteinwirkungsort (201) dargestellt. Die Toleranz kann als Radius um den Lasteinwirkungsort (201) oder als ein maximaler Abstand festgelegt sein. Der Vorteil solcher Toleranzen liegt darin, dass der Benutzer zur Betätigung eines Funktionsauslöser nicht exakt denselben Lasteinwirkungsort (201) treffen muss, der im Referenz-Einwirkungsprofil hinterlegt ist. Insbesondere aufgrund numerischer Ungenauigkeiten und Messfehlern ist eine exakte Replikation der Referenz-Lasteinwirkung nur bedingt möglich. Durch die Toleranzen steigt die Ergonomie der virtuellen Funktionsauslöser. In einer weiteren Ausführungsform können Schwellwerte für die Intensität der Lasteinwirkung (20) festgelegt werden. Dies hat den Vorteil, dass versehentliche leichte Berührungen nicht zu einer ungewollten Betätigung führen. Weiterhin können Toleranzintervalle um einen Wert eines Unterscheidungsmerkmals festgelegt werden, beispielsweise Winkelintervalle für die Richtung einer Lasteinwirkung. In einer besonders vorteilhaften Ausführungsform sind die Toleranzen eines Referenz-Einwirkungsprofils durch den Benutzer einstellbar. Insbesondere kann der Benutzer während der Generierung eines Funktionsauslösers oder später Werte für die Toleranzen über eine Benutzerschnittstelle einstellen. Dies ermöglicht eine flexible Anpassung der Empfindlichkeit der Funktionsauslöser.
-
In einer weiteren Ausführungsform der Technik werden mehrere Lasteinwirkungen detektiert und ein gemeinsames Einwirkungsprofil mit Unterscheidungsmerkmalen mehrerer Lasteinwirkungen erzeugt. Dabei kann insbesondere der Zeitverlauf oder die Lasteinwirkungsorte mehrerer Lasteinwirkungen als Unterscheidungsmerkmale herangezogen werden. In dieser Ausführungsform lassen sich beispielsweise zwei Berührungen an zwei unterschiedlichen Gelenken als Referenz-Einwirkungsprofil speichern. Auch Reihenfolge mehrerer Berührungen hintereinander kann als Unterscheidungsmerkmal dienen. Dies ermöglicht eine noch größere Vielfalt an Funktionsauslösern.
-
In einer weiteren Ausführungsform wird ein Referenz-Einwirkungsprofil für mehrere Lasteinwirkungen mittels maschineller Lernverfahren erzeugt. Insbesondere können die Toleranzen automatisiert durch Analyse mehrerer Lasteinwirkungen festgelegt werden. Beispielsweise kann ein geometrischer Bereich definiert werden, in dem mehrere detektierten Lasteinwirkungen liegen. Der Benutzer berührt hierfür mehrfach eine Stelle oder einen Bereich. Mittels dieser Ausführungsform des Verfahrens wird ein Referenz-Einwirkungsprofil erzeugt, wobei die Toleranzen durch maschinelles Lernen derart festgelegt werden, dass ähnliche Lasteinwirkungen bei einem Vergleich mit dem erlernten Einwirkungsprofil zu einem positiven Vergleichsergebnis führen würden. Insbesondere können Toleranzen für geometrische Bereiche um die Lasteinwirkungsorte erlernt werden. In einer Ausführungsform werden geometrische Primitive um die Lasteinwirkungsorte, beispielsweise Kreise, Vielecke oder Sphären, so parametrisiert, dass alle Lasteiwirkungsorte innerhalb der Primitive liegen und deren Fläche minimal ist.
-
In einer bevorzugten Ausführungsform verfügt der Roboter (10) über eine Benutzerschnittstelle (40) in Form einer Anzeige und Eingabemitteln, insbesondere ein Touchscreen oder ein Bildschirm mit Tastatur. Bevorzugt werden über eine Benutzerschnittstelle (40) Benutzereingaben zur Generierung und/oder Programmierung virtueller Funktionsauslöser erfasst. Alternativ oder zusätzlich werden Daten zu Einwirkungsprofilen, generierten Funktionsauslösern, verknüpfbaren Roboterfunktionen und/oder Bedienungshinweise angezeigt. Eine solche Benutzerschnittstelle ist vorteilhaft für eine ergonomische Programmierung. Besonders vorteilhaft ist die Erzeugung einer Auswahl an ausführbaren Roboterfunktionen, die der Benutzer mit Funktionsauslösern verknüpfen kann. Weiterhin kann der Benutzer bestehende Funktionsauslöser über die Benutzerschnittstelle umprogrammieren.
-
Zur Detektion externer Lasteinwirkungen und/oder Lokalisierung eines Lasteinwirkungsorts werden Sensordaten benötigt. In manchen Ausführungsformen stehen bestimmte Sensoren eines Roboters nicht in jedem Betriebsmodus des Roboters für diesen Zweck zur Verfügung. In einer bevorzugten Ausführungsform wird der Roboter zur Anwendung eines der offenbarten Verfahren in einem bestimmten Betriebsmodus betrieben, in dem die Sensoren des Roboters zur Verfügung stehen. Insbesondere der Regelungsmodus eines Roboters mit internen Gelenkmomentsensoren kann hierfür ausschlaggebend sein. Vorteilhafterweise wird der Roboter hierfür in einem positionsgeregelten Modus betrieben. In einer bevorzugten Ausführungsform verfügt der Roboter über einen speziellen Modus zur Generierung virtueller Funktionsauslöser.
-
In einer weiteren Ausführungsform wird eine Markierungshilfe (50) erzeugt, die sich auf der Roboterstruktur anbringen lässt, um den Lasteinwirkungsort (20) eines Referenz-Einwirkungsprofils zu markieren. Außerdem umfasst die Markierungshilfe zusätzliche Informationen zum zugeordneten Funktionsauslöser und/oder dem Einwirkungsprofil selbst. Beispielsweise können die verknüpften Roboterfunktionen aufgeführt werden. Die Informationen können sowohl ausgeschrieben oder durch einen Symbol- oder Farb-Code auf der Markierungshilfe (50) aufgeführt sein. Dies ist besonders vorteilhaft, damit der Benutzer den Funktionsauslöser leicht findet und unterschiedliche Funktionsauslöser leicht unterscheiden kann. Eine Markierungshilfe kann insbesondere aus einem bedruckten Aufkleber bestehen.
-
In einer bevorzugten Ausführungsform wird eine externe Lasteinwirkung mittels interner Sensoren des Roboters (10) detektiert. Je nach Sensorumfang können verschiedene Eigenschaften der Lasteinwirkung (20) erfasst werden. Bevorzugt werden interne Gelenkmomentsensoren entlang der Roboterstruktur zur Detektion verwendet. Auch Sensordaten über Motorströme oder Positionen der Gelenke (13) des Roboters (10) sowie Kraftmessdosen an der Roboterbasis (12) können zur Detektion externer Lasteinwirkungen herangezogen werden. Alternativ oder zusätzlich können externe Sensoren, insbesondere optische Sensoren oder taktile Sensoren an der Roboterstruktur, verwendet werden. In einer Ausführungsform werden Kamerasensoren zur Lokalisierung des Lasteinwirkungsorts (201) verwendet.
-
Für die Detektion externer Lasteinwirkungen auf einen Roboter sowie die Lokalisierung des Lasteinwirkungsorts existieren verschiedene Methoden. In einer möglichen Ausführungsform werden Eigenschaften einer externen Lasteinwirkung und/oder der Lasteinwirkungsort mittels eines mathematischen Modells, insbesondere eines Kinematik- oder Dynamik-Modells, geschätzt.
-
2 zeigt einen Augenblick während einer Betätigungsphase im Betrieb des Roboters. Der Roboter (10) verfügt zu diesem Zeitpunkt bereits über einen virtuellen Funktionsauslöser. Dieser virtuelle Funktionsauslöser ist einem Referenz-Einwirkungsprofil zugeordnet, dessen Lasteinwirkungsort (201) in der Figur gezeigt ist. In diesem Beispiel liegt der Referenz-Lasteinwirkungsort (201) auf einem anderen Gelenk als im Beispiel aus 1. Im dargestellten Augenblick bewirkt der Benutzer mit seiner Hand eine Lasteinwirkung (30) am Lasteinwirkungsort (301) zur Betätigung des Funktionsauslösers, dem das Referenz-Einwirkungsprofil mit dem Referenz-Lasteinwirkungsort (201) zugeordnet ist.
-
Zur Lokalisierung des Lasteinwirkungsorts (301) kann in einer vorteilhaften Ausführungsform das belastete Segment, Gelenk (13), der Abschnitt oder die Stelle der Roboterstruktur (11), an der die Lasteinwirkung (30) angreift, identifiziert werden. Für Lokalisierung eines Lasteinwirkungsorts (301) kann im Überwachungsverfahren dieselbe oder eine andere Lokalisierungsmethode als im Generierungsverfahren verwendet werden. Es kann insbesondere vorteilhaft sein, eine andere Lokalisierungsmethode zu verwenden, wenn die Verfügbarkeit der Sensoren sich zwischen den unterschiedlichen Betriebsmodi des Roboters unterscheidet.
-
Bevorzugt stellen die Einwirkungsprofile eine logische Einheit von Werten, insbesondere ein programmiertechnisches Objekt, im Speicher der Recheneinheit dar, auf dem das Verfahren oder Teile des Verfahrens durchgeführt werden.
-
Mittels des offenbarten Verfahrens zur Überwachung virtueller Funktionsauslöser werden das Betätigungs-Einwirkungsprofil und das Referenz-Einwirkungsprofil verglichen. Insbesondere wird der Betätigungs-Lasteinwirkungsort (301) mit dem Referenz-Lasteinwirkungsort (201) verglichen. Im vorliegenden Beispiel führt die Lasteinwirkung (30) des Benutzers zu einer Betätigung eines zuvor erzeugten Funktionsauslösers.
-
In einer bevorzugten Ausführungsform des Verfahrens zur Überwachung virtueller Funktionsauslöser werden beim Vergleich des Betätigungs-Einwirkungsprofils mit einem Referenz-Einwirkungsprofil die Lasteinwirkungsorte (301, 201) geometrisch verglichen. Beim geometrischen Vergleich der Lasteinwirkungsorte wird insbesondere geprüft, der Betätigungs-Lasteinwirkungsort (301) innerhalb eines bestimmten Bereichs um den Referenz-Lasteinwirkungsort (201) liegt. Der Bereich um den Referenz-Lasteinwirkungsort (201) kann durch die Toleranzen des Referenz-Einwirkungsprofils festgelegt sein.
-
Alternativ oder zusätzlich können in einer besonders vorteilhaften Ausführungsform weitere Unterscheidungsmerkmale der Einwirkungsprofile der Lasteinwirkungen (20,30) verglichen werden. Insbesondere können dabei Toleranzen des Referenz-Einwirkungsprofils für Eigenschaften der Lasteinwirkung (30) als Entscheidungskriterium herangezogen werden. Beispielsweise kann beim Vergleich geprüft werden, ob die Intensität der Betätigungs-Lasteinwirkung (30) über einem Schwellwert für die Intensität im Referenz-Einwirkungsprofil liegt. Solche zusätzlichen Vergleichskriterien haben den Vorteil, dass verschiedene Lasteinwirkungen besser differenziert werden können.
-
Die Unterscheidungsmerkmale können je nach deren Art nach unterschiedlichen Regeln verglichen werden. Es wird geprüft, ob die Unterscheidungsmerkmale zweier Einwirkungsprofile gleich oder ähnlich sind. In diesem Fall gelten die Einwirkungsprofile als entsprechend.
-
In einer bevorzugten Ausführungsform wird beim Vergleich zweier Einwirkungsprofile je Unterscheidungsmerkmal ein Ähnlichkeitsmaß berechnet. Das Ähnlichkeitsmaß kann eine logische Aussage oder ein Zahlenwert sein. Anhand des Ähnlichkeitsmaßes wird das Vergleichsergebnis ermittelt. Beispielsweise kann beim Vergleich der Lasteinwirkungsorte der geometrische Abstand zwischen beiden Orten berechnet werden. Das Ähnlichkeitsmaß wäre in diesem Fall der geometrische Abstand. Es kann alternativ oder zusätzlich geprüft werden, ob die Lasteinwirkungsorte auf demselben Gelenk oder Segment der Roboterstruktur liegen. Das Ähnlichkeitsmaß könnte auch eine logische Aussage sein, ob ein Lasteinwirkungsort in einem bestimmten Bereich liegt.
-
Die Entscheidungsregeln können sowohl deterministische als auch statistische Methoden und Werte einsetzen. Bevorzugt liegt das Vergleichsergebnis als logische Ja/Nein-Aussage vor. Alternativ können Aussagewahrscheinlichkeiten berechnet werden. Auch probabilistische Zustandsschätzer können in einer alternativen Ausführungsform eingesetzt werden. Die Entscheidungsregeln können beim Vergleich der Einwirkungsprofile verschiedene Unterscheidungsmerkmale unterschiedlich gewichten.
-
Bei der Erzeugung eines Vergleichsergebnisses zwischen einem Betätigungs-Einwirkungsprofil (30) und einem Referenz-Einwirkungsprofil (20), das festlegt, ob eine Betätigung eines zugeordneten Funktionsauslösers stattfinden soll, können weitere Entscheidungskriterien einbezogen werden. Insbesondere kann der momentane Betriebsmodus des Roboters oder das laufende Steuerungsprogramm im Entscheidungsprozess berücksichtigt werden.
-
Raumbezogene Eigenschaften einer Lasteinwirkung werden bevorzugt in Bezug zur Lage der Roboterstruktur erfasst, insbesondere in Bezug auf ein Roboter-Koordinatensystem. Alternativ oder zusätzlich können auch räumliche Eigenschaften in Bezug auf ein Welt-Koordinatensystem erfasst werden.
-
In einer erweiterten Ausführungsform können auch mehrere Referenz-Einwirkungsprofile demselben virtuellen Funktionsauslöser zugeordnet sein. Die Mehrheit der Zuordnung kann dann mit einer Bedingung (z.B. einer UND- oder einer ODER-Bedingungen) für die Betätigung des Auslösers versehen werden, sodass nur eine bestimmte Kombination oder auch einzelne Einwirkungsprofile zu einer Betätigung des Funktionsauslösers führen.
-
Die Auslösung einer verknüpften Roboterfunktion kann in einer bevorzugten Ausführungsform in Abhängigkeit eines oder mehrerer Roboterparameter erfolgen. Roboterparameter können insbesondere der aktuelle Zustand oder Betriebsmodus des Roboters, das laufende Roboterprogramm oder der Zustand eines montierten Werkzeuges sein. Beispielsweise können Sicherheitsbedingungen eine Auslösung in einem risikobehafteten Roboterzustand verhindern. Bevorzugt können in Abhängigkeit vom montiertem Werkzeug bei Betätigung des Funktionsauslösers auch unterschiedliche Roboterfunktionen ausgelöst werden.
-
3 zeigt eine Ausführungsform des offenbarten Verfahrens zur Generierung virtueller Funktionsauslöser als Ablaufdiagramm.
-
Bezugszeichenliste
-
- 10
- Roboter
- 11
- Roboterstruktur
- 12
- Roboterbasis
- 13
- Gelenk
- 14
- Endeffektor
- 15
- Robotersteuerung; Steuerungsvorrichtung
- 20
- Externe Lasteinwirkung [Referenz]
- 201
- Lasteinwirkungsort [Referenz]
- 30
- Externe Lasteinwirkung [Betätigung]
- 301
- Lasteinwirkungsort [Betätigung]
- 40
- Benutzerschnittstelle; Anzeige; Eingabe
- 50
- Markierungshilfe; Aufkleber