-
Die vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung zur Eingabe von einem oder mehreren Befehlen in eine Steuerung eines Manipulators.
-
Unter einem Manipulator werden vorliegend insbesondere ein- oder mehrachsige Roboter, Mess- und Werkzeugmaschinen, beispielsweise nicht angetriebene Koordinatenmessmaschinen, verstanden. Solche Manipulatoren weisen allgemein eine Steuerung zur Ausführung bestimmter Bewegungen, beispielsweise zum Abfahren vorgegebener Trajektorien, zum Abspeichern bestimmter Messpositionen oder dergleichen auf. Als Steuerung wird daher vorliegend insbesondere auch eine Regelung, beispielsweise eine Kraft- oder Positionsregelung eines Roboters bezeichnet.
-
Zum Betrieb des Manipulators ist es erforderlich, einen oder mehrere Befehle in eine solche Steuerung einzugeben. Beispielsweise werden in eine Robotersteuerung Befehle zum Anfahren bestimmter Stellungen, zum Abfahren vorgegebener Trajektorien, zur Betätigung von Werkzeugen, etwa dem Öffnen oder Schließen eines Greifers oder dem Aktivieren einer Schweißzange, eines Bohr- oder Fräskopfes oder dergleichen eingegeben. In entsprechender Weise werden bei einer Werkzeugmaschine Befehle zum Beginn eines Vorschubs, zur Änderung einer Drehzahl eines Werkstückes oder -zeuges oder dergleichen eingegeben, bei einer Messmaschine Befehle zum Starten oder Beenden einer Datenaufzeichnung, Änderung einer Messgenauigkeit oder dergleichen. Solche Befehle können über die Steuerung unmittelbar auf den Manipulator wirken oder in Form eines Programmes abgespeichert werden, um anschließend durch die Steuerung in eine gewünschte Aktion des Manipulators umgesetzt zu werden.
-
Zur Eingabe von Befehlen, die einen Arbeitsprozess eines Roboters, beispielsweise das Anfahren einer Anfangsposition, die Aktivierung eines Fräswerkzeuges, das Abfahren einer vorgegebenen Trajektorie zur Bearbeitung eines Werkstückes mit dem Fräswerkzeug, das Abschalten des Fräswerkzeuges und das Zurückfahren in eine neutrale Stellung bestimmen, ist es beispielsweise aus der
EP 0 850 730 B1 bekannt, den Roboter manuell in die gewünschte Anfangsstellung und anschließend entlang der abzufahrenden Trajektorie oder zu Punkten auf dieser Trajektorie zu bewegen. Um dabei Befehle, beispielsweise das Abspeichern der aktuellen Position als eine Sollposition, das Betätigen eines Werkzeuges oder das Verfahren in eine neutrale Stellung, einzugeben, ist bei dieser sog. direkten Programmierung (”direct teaching”) bisher eine zusätzliche Tastatur oder dergleichen erforderlich, über die der den Roboter manuell führende Bediener die entsprechenden Befehle eingibt. Dies erfordert nicht nur zusätzliche Gerätschaft und erhöhten Übertragungsaufwand zwischen dem Eingabegerät und der Steuerung, sondern behindert den Bediener bei der direkten Programmierung, da er zur Betätigung der Tastatur den Roboter einhändig bewegen oder loslassen muss.
-
Aus der
JP S59-157715 A ist ein Verfahren zum direkten Teachen eines Roboters bekannt, bei dem eine Betriebskraft eines Bedieners, die auf einen Kraftsensor ausgeübt wird, in eine Spannung umgewandelt wird. Diese Spannung wird in Kräfte in drei rechtwinkeligen axialen Richtungen und Momente um Achsen in einem Handkoordinatensystem konvertiert. Auf Basis dieser Kräfte und Momente wird ein Soll-Wert der Bewegungsgeschwindigkeit einer Hand berechnet und in Koordinatenwerte konvertiert.
-
Die
DE 32 11 992 A1 beschreibt ein Verfahren zum Programmieren eines bahngesteuerten Roboters, wobei während des Programmiervorgangs am Roboter zumindest ein Handgriff mit Sensoren angebracht wird, die bei Belastung elektrische Signale abgeben, welche einerseits als Steuersignale auf die Roboter-Stellmotoren und andererseits als Programmiersignale in den Roboter-Speicher gegeben werden.
-
Aus der
DE 198 00 552 C2 ist ein Verfahren zur Kommandosteuerung eines Manipulators auf Basis von mit Hilfe einer Handsteuerkugel oder dergleichen von einem Programmierer oder einer übergeordneten Aufgabe kommandierten Endeffektor-Zielverschiebungen in Verbindung mit einer Berechnung von Gelenkpositionswerten entsprechend einem Algorithmus inverser Kinematik bekannt.
-
Die
US 2008/0188985 A1 offenbart eine Robotersteuereinheit mit einem Geschwindigkeitsanpassungsmittel zum Anpassen einer vorgegebenen Geschwindigkeit, aufweisend ein Dekodiermittel zum Dekodieren eines Bewegungsstoppkommandos entsprechend eines Krafterfassungswertes, der durch einen am Handgelenk des Roboters befestigten Kraftsensor erfasst wird.
-
Aus der
US 4 621 332 A ist ein Verfahren zum Steuern eines Roboters bekannt, wobei ein Kraftsignal durch Erfassen einer auf eine Hand des Roboters ausgeübten Kraft berechnet wird. Ein erster Wert, der eine Differenz zwischen dem Kraftsignal und einer Kraftreferenz repräsentiert, ein zweiter Wert, der ein Produkt einer Differenz zwischen einem Positionssignal und einer Positionsreferenz multipliziert mit einer Federkonstante repräsentiert, und ein dritter Wert, der ein Produkt eines Geschwindigkeitssignals multipliziert mit einem Viskositätskoeffizienten repräsentiert, sowie basierend auf dem ersten, zweiten und dritten Wert eine Befehlsgeschwindigkeit werden berechnet.
-
Aufgabe der vorliegenden Erfindung ist es daher, eine Befehlseingabe in eine Steuerung eines Manipulators zu vereinfachen.
-
Diese Aufgabe wird durch ein Verfahren nach Anspruch 1 bzw. 7 bzw. eine Vorrichtung nach Anspruch 15 bzw. 18 gelöst.
-
Der vorliegenden Erfindung liegt die Idee zugrunde, Befehle direkt durch entsprechende Berührungen des Manipulators einzugeben. Während es bisher, beispielsweise aus der
EP 0 850 730 B1 , lediglich bekannt war, einen Roboter durch Ziehen bzw. Schieben seines Endeffektors in Richtung der am Endeffektor angreifenden Kraft zu bewegen, ermöglicht die vorliegende Erfindung die Eingabe weiterer, insbesondere keine Bewegung betreffender und komplexerer, Befehle, indem erfindungsgemäß eine erste Kraft, die auf den Manipulator wirkt, eine Abfolge einer ersten Kraft und einer zweiten Kraft, die nacheinander auf den Manipulator wirken, eine erste Bewegung des Manipulators, oder eine Abfolge einer ersten und einer zweiten Bewegung des Manipulators mit gespeicherten Kräften, Bewegungen bzw. Abfolgen verglichen wird, denen je ein Befehl zugeordnet ist. Wird eine Kraft, Bewegung bzw. Abfolge erfasst, die einer abgespeicherten Kraft, Bewegung bzw. Abfolge entspricht, wird dies als Eingabe des dieser gespeicherten Kraft, Bewegung bzw. Abfolge zugeordneten Befehls erkannt, der an die Steuerung des Manipulators ausgegeben wird.
-
In einer ersten Ausführung der vorliegenden Erfindung werden hierzu Kräfte, die ein Bediener in vorgegebener Richtungen auf den Manipulator ausübt, beispielsweise durch Kraftsensoren, erfasst. Zur knapperen Darstellung werden gegensinnig gleiche Kräftepaare, i. e. Drehmomente, im Folgenden verallgemeinernd ebenfalls als Kräfte bezeichnet. Wenn also nachfolgend beispielsweise von einem Kraftsensor die Rede ist, umfasst dies gleichermaßen einen Drehmomentsensor.
-
Solche Kraftsensoren können beispielsweise an einem Endeffektor des Manipulators, einem mit dem Manipulator verbundenen Führungsgriff oder einem Motor des Manipulators vorgesehen sein und dort angreifende Kräfte erfassen, die ein Bediener direkt auf den Endeffektor oder den Führungsgriff, oder indirekt, beispielsweise über den Endeffektor oder den Führungsgriff auf Motoren des Manipulators ausübt.
-
Ist beispielsweise ein herkömmlicher Industrieroboter mit einer steifen Positionsregelung ausgestattet, die den Roboter in seiner aktuellen Stellung hält, oder eine nicht angetriebene Koordinatenmessmaschine mit Bremsen in einer Position fixiert, kann dieser bzw. diese von einem Bediener manuell nicht oder nur unwesentlich bewegt werden. In diesem Fall ist die vorstehend erläuterte Erfassung der in den vorgegebenen Richtungen auf den Manipulator wirkenden Kräfte besonders vorteilhaft. Beispielsweise kann ein Bediener an einem Glied des Roboters zunächst in einer ersten, durch einen Kraftsensor am Roboterglied direkt oder durch Kraftsensoren in den Antrieben des Roboters indirekt erfassten Richtung mit einer vorbestimmten Mindestkraft ziehen und anschließend in einer zweiten, von den gleichen oder anderen Kraftsensoren erfassten Richtung auf das Roboterglied drücken. Ist diese Abfolge einer ersten Kraft in der ersten Richtung und einer zweiten Kraft in der zweiten Richtung als Abfolge abgespeichert, der ein bestimmter Befehl, beispielsweise das Lösen einer Bremse eines Motors des Roboters oder die Änderung der Parameter der Positionsregelung zugeordnet ist, werden erfindungsgemäß die von dem Bediener in der abgespeicherten Reihenfolge auf den Endeffektor ausgeübten Kräfte als Eingabe des zugeordneten Befehls aufgefasst. So ist es beispielsweise möglich, einen steif geschalteten Roboter durch mehrfaches Ziehen an einem Roboterglied in bestimmten Richtungen nachgiebig zu schalten, was beispielsweise durch Wegfall eines Integralanteils und Reduzierung der Proportionalitätskonstanten in einer Proportional-Integral-Differential-(PID)-Positionsregelung des Roboters möglich ist.
-
Bei der ersten Ausführung, bei der die Kräfte erfasst werden, ist es nicht notwendig, dass sich der Manipulator unter den von dem Bediener auf ihn zur Eingabe eines Befehls ausgeübten Kräften überhaupt oder jedenfalls signifikant bewegt. Dies ist beispielsweise bei Messmaschinen, bei denen die erfindungsgemäße Befehlseingabe nicht zwangsläufig zu einer Bewegung der Messmaschine, verbunden mit einem Verlassen einer gerade angefahrenen Position führen soll, vorteilhaft.
-
Auf der anderen Seite erschwert die mangelnde Rückmeldung eines Manipulators, der nicht oder jedenfalls nicht deutlich auf die zur Befehlseingabe auf ihn ausgeübten Kräfte reagiert, die Bedienung, da der Bediener beispielsweise nicht aufgrund einer Bewegung des Manipulators erkennen kann, ob er eine ausreichende erste Kraft in der ersten Richtung bereits ausgeübt hat oder nicht.
-
Gemäß einer zweiten Ausführung der vorliegenden Erfindung werden daher an Stelle von auf den Manipulator ausgeübten Kräften Bewegungen des Manipulators erfasst. In der zweiten Ausführung der vorliegenden Erfindung wird hierzu eine Bewegung des Manipulators in eine erste Bewegungsrichtung und in einer Weiterbildung der zweiten Ausführung auch eine anschließende Bewegung des Manipulators in eine zweite Bewegungsrichtung erfasst und mit abgespeicherten Bewegungen in der ersten Bewegungsrichtung bzw. Abfolgen von Bewegungen in der ersten und zweiten Bewegungsrichtung verglichen, denen jeweils ein Befehl zugeordnet ist. Stimmt die erfasste Bewegung bzw. Bewegungsabfolge mit einer gespeicherten Bewegung bzw. Bewegungsabfolge überein, d. h. wird der Manipulator durch den Bediener in einer Weise bewegt, der ein bestimmter Befehl zugeordnet ist, wird dieser Befehl an die Steuerung des Manipulators ausgegeben.
-
Hierzu ist der Manipulator vorzugsweise nachgiebig ausgestaltet, d. h. durch zur Befehlseingabe vom Bediener manuell auf ihn ausgeübte Kräfte in erkennbarem Maße bewegbar. Dies kann beispielsweise, wie vorstehend beschrieben, durch eine reine Proportional-Positionsregelung mit entsprechend geringen Proportionalitätskonstanten realisiert werden. Gleichermaßen kann ein solch nachgiebiger Manipulator auch kraftgeregelt sein. Hierzu können beispielsweise in seiner Steuerung anhand eines mathematischen Ersatzmodelles die Kräfte errechnet werden, die in seiner aktuellen Stellung Gewichts- und Reibungskräfte gerade kompensieren. Werden diese Kräfte den Kraftregelungen der Motoren des Manipulators als Sollgrößen aufgeschaltet, kann der Manipulator bereits durch relativ geringe Kräfte aus seiner aktuellen Stellung bewegt werden. Eine weitere Möglichkeit, einen Manipulator nachgiebig, d. h. durch die zur Befehlseingabe auf ihn ausgeübten Kräfte, erkennbar bewegbar zu machen, besteht darin, die auf ihn ausgeübten Kräfte zu erfassen und auf diese mit einer entsprechenden Bewegung in Richtung dieser Kräfte und, vorzugsweise, mit einer der Größe der Kräfte entsprechenden Bewegungsgeschwindigkeit zu reagieren.
-
Bei einem solchen nachgiebigen Manipulator führen also die auf ihn zur Befehlseingabe ausgeübten Kräfte zu einer messbaren, vorzugsweise auch vom Bediener erkennbaren Bewegung des Manipulators. Hierdurch erhält der Bediener eine Rückmeldung über die von ihm ausgeübten Kräfte. Insbesondere erkennt er durch eine entsprechende Bewegung des Manipulators in eine erste Bewegungsrichtung, dass er den Manipulator in der ersten Richtung ausreichend bewegt hat, um den dieser abgespeicherten Bewegung zugeordneten Befehl einzugeben. In der Weiterbildung der zweiten Ausführung kann der Bediener dann den Manipulator entsprechend der abgespeicherten Abfolge in die zweite Richtung bewegen, um den mit dieser abgespeicherten Abfolge zugeordneten Befehl einzugeben.
-
Insbesondere bei nachgiebigen Manipulatoren kann die Bewegung in der ersten bzw. zweiten Richtung eine Bewegung des Manipulators in seinem sogenannten Nullraum sein, i. e. der Menge aller Stellungen oder Posen des Manipulators, die als identisch definierte Endeffektorstellungen realisieren. Ist der Manipulator redundant, i. e. weist mehr Freiheitsgrade, beispielsweise mehr Gelenke auf, als zur Realisierung einer definierten Endeffektorstellung erforderlich, kann ein nachgiebiger Manipulator durch einen Bediener in seinen Glieder bewegt, i. e. in verschiedene Stellungen im Nullraum überführt werden, ohne dass der Endeffektor seine definierte Stellung im kartesischen Raum verändert. Eine solche Bewegung, die die Stellung des Endeffektors und somit beispielsweise eines Arbeitspunktes eines Roboters nicht verändert, ist besonders zur Befehlseingabe geeignet.
-
Beispielsweise ist ein sechsachsiger Industrieroboter bezüglich einer Endeffektorstellung, in der die Orientierung seines Endeffektors um die sechste Gelenkachse aufgrund eines symmetrischen Werkzeuges nicht vorgegeben ist, redundant. Hier könnte etwa eine Drehung seines Endeffektors um die sechste Gelenkachse als erste Richtung gewählt werden, so dass eine Drehung des Endeffektors um einen bestimmten Winkel als Bewegung in der ersten Richtung erfasst und mit abgespeicherten Bewegungen, beispielsweise Drehwinkeln verglichen wird, um einen Befehl einzugeben.
-
Ein sieben- oder mehrachsiger Service-Roboter, beispielsweise ein Leichtbauroboter der Baureihe LBR des Deutschen Zentrums für Luft- und Raumfahrt, ist bezüglich einer vorgegebenen Lage und Orientierung seines Greifers im kartesischen Raum redundant, so dass hier beispielsweise die Bewegung des Ellbogengelenkes in verschiedene Posen als Bewegung in der ersten Richtung erfasst und mit abgespeicherten Bewegungen verglichen werden kann, um einen Befehl einzugeben.
-
In einer bevorzugten Ausführung der vorliegenden Erfindung umfasst eine abgespeicherte Kraft, Bewegung bzw. Abfolge die Größe der Kräfte bzw. Bewegungen, d. h. deren Betrag und/oder Richtung, ihren zeitlichen Verlauf, insbesondere ihre zeitliche Änderung und/oder den zeitlichen Abstand zwischen den Kräften bzw. Bewegungen. So kann beispielsweise eine gespeicherte Bewegung die Geschwindigkeit, i. e. die Änderung der Stellung des Manipulators über der Zeit, die Beschleunigung, i. e. die Änderung der Geschwindigkeit des Manipulators über der Zeit und/oder eine höhere Ableitung nach der Zeit umfassen.
-
Hierdurch erhöht sich die Anzahl der Befehle, die durch die Abfolge codiert werden können, deutlich. Zusätzlich ist es durch die Berücksichtigung der Größe, des zeitlichen Verlaufs oder des zeitlichen Abstandes vorteilhaft möglich, Kräfte bzw. Bewegungen, die erfindungsgemäß zur Eingabe eines Befehls aufgebracht bzw. ausgeführt werden, von solchen Kräften bzw. Bewegungen zu unterscheiden, die zu anderen Zwecken, beispielsweise zum Heranführen eines Roboters in eine Sollposition im Rahmen einer direkten Programmierung, auf diesen ausgeübt bzw. mit diesem ausgeführt werden.
-
Beispielsweise kann durch mehrmaliges kurzes bzw. rasches Hin- und Herziehen am Endeffektor eines Manipulators, i. e. eine große Geschwindigkeit bzw. Beschleunigung in einen Eingabemodus umgeschaltet werden, in dem weitere Kräfte bzw. Bewegungen ausschließlich als Befehlseingabe interpretiert werden. Durch nochmaliges kurzes bzw. rasches Hin- bzw. Herziehen des Endeffektors, i. e. wiederum hohe Geschwindigkeiten bzw. Beschleunigungen kann wieder in einen normalen Modus zurückgeschaltet werden, in dem der Endeffektor des Manipulators manuell in Sollpositionen gebracht werden kann.
-
Die erste und zweite Kraft- bzw. Bewegungsrichtung müssen sich nicht notwendigerweise voneinander unterscheiden. So kann beispielsweise durch Verdrehen des Endeffektors um 90° in einer Drehrichtung, gefolgt von einer kurzen Pause und einem anschließenden Verdrehen des Endeffektors um weitere 90° in derselben Drehrichtung, ebenfalls ein Befehl eingegeben werden.
-
Vorteilhafterweise sind die den Befehlen zugeordneten abgespeicherten Kräfte, Bewegungen bzw. Abfolgen dabei so gewählt, dass sie bei der normalen Betätigung des Manipulators, beispielsweise bei der direkten Programmierung eines Roboters durch manuelles Verfahren seines Endeffektors im allgemeinen nicht vorkommen. Dies kann beispielsweise durch mehrmaliges Ausüben einer Kraft bzw. Bewegungen des Manipulators in der gleichen bzw. in einander entgegengesetzten Richtungen erfolgen.
-
Die Kraft- bzw. Bewegungsrichtungen können in einem inertial- oder manipulatorfesten Koordinatensystem vorgegeben sein. So kann beispielsweise eine Kraft, die in einer Raumrichtung auf einen Endeffektor eines Manipulators ausgeübt wird, bzw. eine Bewegung des Endeffektors durch den Bediener in dieser Raumrichtung stets als Kraft bzw. Bewegung in der ersten Richtung erfasst werden, unabhängig von der jeweiligen Stellung des Manipulators und der Lage seines Endeffektors. Gleichermaßen kann eine Kraft- bzw. Bewegungsrichtung auch relativ zum Manipulator definiert sein, so dass beispielsweise ein Ziehen am Endeffektor in Richtung seiner Drehachse unabhängig von der Stellung des Manipulators, i. e. unabhängig von der Orientierung der Drehachse des Endeffektors im Raum stets als Kraft bzw. Bewegung in der ersten Richtung erfasst wird.
-
Allgemein ist es bevorzugt, dass die vorgegebenen Kraft- bzw. Bewegungsrichtungen Bewegungsmöglichkeiten des Manipulators in seinen Gelenken entsprechen. So kann beispielsweise die erste und/oder zweite Richtung durch eine Bewegung des Manipulators in einem Gelenk oder durch koordinierte, zum Beispiel parallele, gegenläufige oder komplementäre Bewegungen des Manipulators in mehreren Gelenken definiert sind, etwa als Drehung q2 eines Manipulatorgliedes um eine Drehgelenkachse oder als Drehungen q3 = 2q2 in zwei aufeinanderfolgenden, parallelen Drehgelenkachsen, durch die eine Gerade im kartesischen Raum abgefahren wird.
-
Durch die Abspeicherung und den Vergleich von Kräften bzw. Bewegungen in einer ersten Richtung können Befehle sehr einfach und intuitiv eingegeben werden. Beispielsweise kann das Aufdrücken eines Messtasters einer Koordinatenmessmaschine dem Beginn bzw. Ende einer Messaufzeichnung zugeordnet sein. Dabei ist eine erste Richtung nicht notwendigerweise euklidisch linear. So kann beispielsweise eine erste Richtung auch eine Kreisbahn mit vorgegebener Orientierung im Raum und/oder vorgegebenem Radius sein. Bewegt der Bediener ein Glied eines Roboters auf einer solchen Kreisbahn um eine bestimmte Bogenlänge, beispielsweise π oder 2π, so kann dies einem Befehl, beispielsweise der Auswahl eines Regelmodus' zugeordnet sein.
-
Durch die Abspeicherung und den Vergleich von Abfolgen von Kräften bzw. Bewegungen in einer ersten und einer zweiten Richtung können vorteilhaft ein größeres Befehlslexikon abgebildet und insbesondere Abfolgen mit Befehlen belegt werden, die im normalen Betrieb des Manipulators nicht oder selten vorkommen. Solchen Abfolgen können zusätzlich oder an Stelle von Kräften bzw. Bewegungen in einer ersten Richtung Befehlen zugeordnet werden, um (insbesondere bei Abspeicherung und Vergleich ausschließlich von Kräften bzw. Bewegungen in einer ersten Richtung) ein intuitiv und rasch erlernbares Befehlslexikon zur Verfügung zu stellen, (insbesondere bei Abspeicherung und Vergleich ausschließlich von Kraft- bzw. Bewegungsabfolgen in einer ersten und zweiten Richtung) die Gefahr ungewollter Befehlseingaben durch die zufällige Bewegung bzw. Kraftbeaufschlagung in einer ersten Richtung zu verringern, oder um (insbesondere bei Abspeicherung und Vergleich sowohl von Kräften bzw. Bewegungen in einer ersten Richtung als auch von Kraft- bzw. Bewegungsabfolgen in einer ersten und zweiten Richtung) ein sehr großes Befehlslexikon zur Verfügung zu stellen.
-
Die vorliegende Erfindung ist nicht auf Abfolgen von zwei nacheinander auf den Manipulator ausgeübten Kräften bzw. mit diesem ausgeführten Bewegungen beschränkt. Insbesondere zur Codierung eines noch umfangreicheren Befehlslexikons können entsprechend komplexere Abfolgen abgespeichert sein, so dass zur Eingabe eines Befehls aus einem solchen Befehlslexikon drei oder mehr Kräfte nacheinander in vorgegebener Richtung auf den Manipulator ausgeübt bzw. mit diesem nacheinander drei vorgegebenen Bewegungen ausführen werden müssen.
-
Um Kräfte bzw. Bewegungen, die zur Eingabe eines Befehls an die Steuerung des Manipulators auf diesen ausgeübt bzw. mit diesem ausgeführt werden, von Anfang an von anderen Kräften, die beispielsweise zufällig und unabsichtlich auf diesen ausgeübt werden oder dem bloßen Bewegen eines nachgiebigen Manipulators dienen, bzw. von Bewegungen, die beispielsweise der Überführung in eine gewünschte Arbeitsstellung des Manipulators dienen, zu unterscheiden, ist in einer bevorzugten Ausführung der vorliegenden Erfindung ein Führungsgriff vorgesehen, mit dem Kräfte auf den Manipulator ausgeübt werden können bzw. mit dem der Manipulator bewegt werden kann, und der eine Eingabevorrichtung zur Eingabe eines Signals aufweist, mit dem zwischen einem Normalmodus und einem Befehlseingabemodus umgeschaltet wird. Bevorzugt ist ein solcher Führungsgriff fest oder lösbar mit dem Manipulator verbunden, beispielsweise an seinem Endeffektor angeschweißt, -geschraubt oder -gesteckt.
-
Im Befehlseingabemodus, in den beispielsweise durch ein-, mehrmaliges oder dauerndes Betätigen der Eingabevorrichtung umgeschaltet werden kann, wird jede auf den Manipulator ausgeübte Kraft bzw. jede mit dem Manipulator ausgeführte Bewegungen als Teil einer Abfolge betrachtet, die zur Eingabe eines Befehls dient. Hingegen werden im Normalmodus auf den Manipulator wirkende Kräfte bzw. mit diesen ausgeführten Bewegungen nicht als zur Befehlseingabe dienend betrachtet. Dies ermöglicht es, die auf den Manipulator wirkenden Kräfte bzw. mit dem Manipulator ausgeführten Bewegungen nur während des Befehlseingabemodus zu erfassen, was verhindert, dass während des Normalmodus, in dem beispielsweise ein Roboter manuell in eine Sollposition geführt wird, unabsichtlich durch eine Kraft- oder Bewegungsabfolge ein Befehl eingegeben wird.
-
Gleichermaßen können die auf den Manipulator ausgeübten Kräfte bzw. mit diesem ausgeführten Bewegungen auch dauernd erfasst werden, so dass eine Abfolge, die beispielsweise während einer direkten Programmierung vom Bediener ausgeführt wird, und die mit einer gespeicherten Abfolge übereinstimmt, unabhängig von der Betätigung einer Eingabevorrichtung bzw. dem Umschalten in einen Befehlseingabemodus als Abfolge zur Befehlseingabe erkannt und der zugeordnete Befehl an die Steuerung des Manipulators ausgegeben wird.
-
Die Sicherheit der Befehlseingabe kann durch ein zweistufiges Verfahren nach einer bevorzugten Ausführung der vorliegenden Erfindung weiter erhöht werden. Hierzu ist vorgesehen, dem Bediener eine Rückmeldung über den durch eine von ihm ausgeübte Kraft bzw. eine von ihm veranlasste Bewegung des Manipulators eingegebenen Befehl zu geben, auf die der Bediener mit einer bestätigenden Eingabe, beispielsweise dem Betätigen einer Eingabeeinrichtung, einer akustischen Antwort oder einer weiteren Befehlseingabe mittels des erfindungsgemäßen Verfahrens reagieren muss. Nur falls der Befehl vom Bediener bestätigt worden ist, wird der der gespeicherten Kraft, Bewegung bzw. Abfolge zugeordneten Befehl an die Steuerung des Manipulators ausgegeben. Die Rückmeldung kann beispielsweise visuell, etwa durch eine Anzeige, akustisch, etwa durch Ausgabe einer Sprachsequenz, und/oder haptisch, etwa durch Vibrieren des Manipulators, erfolgen. Hierdurch wird die Gefahr versehentlicher Befehlsfehleingaben, etwa aufgrund einer Verwechslung der zugeordneten Abfolgen, reduziert.
-
Eine solche Rückmeldung ist insbesondere auch zweckmäßig, um komplexere Befehle stufenweise und sukzessive einzugeben. Häufig soll beispielsweise zu einem bestimmten Befehl eines Roboters, etwa „touch up”, die Stellung des Roboters abgespeichert werden, in der er diesen Befehl ausführen soll. Hierzu kann in einer bevorzugten Ausführung der vorliegenden Erfindung zunächst der Befehl erfindungsgemäß durch eine Kraft, Bewegung oder Abfolge eingegeben werden. Anschließend wird der Manipulator vom Bediener in die zur Ausführung dieses Befehls vorgesehene Stellung bewegt und diese abgespeichert, wobei die Befehlseingabe und/oder das Erreichen der abzuspeichernden Stellung durch Eingabe eines Signals durch den Bediener, etwa Betätigen oder Loslassen eines Schalters, eingegeben wird. Hierzu kann nach Eingabe des Befehls und/oder Abspeicherung der zugeordneten Stellung des Manipulators eine Rückmeldung, etwa eine visuelle Anzeige oder akustische Meldung ausgegeben werden.
-
Die von einem Bediener zur Befehlseingabe ausgeübten Kräfte bzw. ausgeführten Bewegungen stimmen im Allgemeinen nicht exakt mit abgespeicherten Abfolgen, insbesondere bezüglich ihrer Größen, Zeitverläufe oder zeitlichen Abständen, überein. Vorteilhafterweise weisen die abgespeicherten Kräfte, Bewegungen bzw. Abfolgen daher vorgegebene Toleranzfelder auf. Das heißt, wird vom Bediener auf den Manipulator eine Kraft ausgeübt oder mit dem Manipulator eine Bewegung ausgeführt, deren Richtung, Größe, zeitlicher Verlauf oder Abstand zu einer vorher aufgebrachten Kraft bzw. ausgeführten Bewegung sich von der Richtung, Größe, dem zeitlichen Verlauf bzw. dem zeitlichen Abstand einer abgespeicherten Kraft, Bewegung bzw. Abfolge unterscheidet, liegt dieser Unterschied jedoch innerhalb eines vorgegebenen maximalen Bereichs, so ergibt der Vergleich der erfassten und abgespeicherten Kraft bzw. Bewegung eine Übereinstimmung.
-
Besonders vorteilhaft sind hierzu die abgespeicherten Abfolgen in einfache Primitive, beispielsweise Kraft bzw. Bewegung nach oben/unten, links/rechts, vorne/hinten oder dergleichen, aufgeteilt, so dass eine Kraft bzw. Bewegung, die im Wesentlichen nach vorne gerichtet ist, dem Primitiv ”vorne” zugeordnet wird. Durch die Aufeinanderfolge solcher Primitive, beispielsweise ”oben” → ”rechts”, können dann auch komplexere Befehle bzw. eine entsprechende Befehlsgrammatik zuverlässig eingegeben werden.
-
Gleichermaßen können jedoch auch andere Mustererkennungsverfahren eingesetzt werden, beispielsweise auf neuronalen Netzen basierende lernende Verfahren, Fuzzy-Verfahren oder andere insbesondere aus der Bildverarbeitung bekannte Mustererkennungsverfahren.
-
Weitere Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung ergeben sich aus den Unteransprüchen und den nachfolgenden Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert:
-
1 einen vierachsigen Manipulator mit einer Befehlseingabevorrichtung nach einer Ausführung der vorliegenden Erfindung bei der Eingabe eines Befehls; und
-
2 ein Flussdiagramm eines Verfahrens nach einer Ausführung der vorliegenden Erfindung.
-
In 1 ist schematisch ein vierachsiger Roboter 1 dargestellt, dessen Rumpf 1.1 sich um die y-Achse eines roboterfesten Koordinatensystems drehen kann. Ein mit dem Rumpf verbundener Oberarm 1.2 dreht sich gegenüber diesem um eine zu einer x-Achse des roboterfesten Koordinatensystems parallele Achse. Ein Unterarm 1.3 und ein Endeffektor 1.4 sind um hierzu parallele Achsen gegenüber dem Oberarm 1.2 drehbar an diesem bzw. dem Unterarm befestigt. Am Endeffektor 1.4 ist ein Führungsgriff 2 angesteckt. Im Rumpf 1.1 ist eine Steuerung des Manipulators angeordnet, in der eine Befehlseingabevorrichtung nach einer Ausführung der vorliegenden Erfindung implementiert ist.
-
Der Roboter 1 ist nachgiebig, d. h. er kann durch einen Bediener manuell bewegt werden. Hierzu werden in den vier Bewegungsachsen des Roboters 1 durch kraftgeregelte Motoren (nicht dargestellt) Drehmomente auf die Achsen ausgeübt, die die Gewichtskräfte des Endeffektors 1.4 und des Ober- und Unterarmes 1.2, 1.3 in ihrer jeweiligen Stellung kompensieren. Übt daher der Bediener eine Kraft in y-Richtung auf den Führungsgriff 2 aus, kann er den Endeffektor 1.4 einfach in dieser Richtung verschieben. Lässt er den Führungsgriff los, verbleibt der Roboter 1 in der neuen Stellung.
-
Im Ausführungsbeispiel soll der Befehl ”touch up” in eine Steuerung (nicht dargestellt) des Roboters 1 eingegeben werden. Hierzu bewegt der Bediener mittels des Führungsgriffes 2 den Endeffektor 1.4 in der in 1 strichliert angedeuteten Weise zunächst rasch nach oben, d. h. in y-Richtung des roboterfesten Koordinatensystems, und dann nach vorne, d. h. in z-Richtung des roboterfesten Koordinatensystems.
-
Diese Bewegung wird durch Resolver in den vier Bewegungsachsen des Roboters (nicht dargestellt) erfasst. Da eine solche Abfolge rascher orthogonaler Bewegungen üblicherweise bei der direkten Programmierung eines Roboters, d. h. einer manuellen Bewegung seines Endeffektors in gewünschte Sollpositionen, in der Regel nicht vorkommt, ist dieser Bewegungsfolge ”oben” → ”vorne” der Befehl ”touch up” zugeordnet.
-
Erfindungsgemäß wird während einer direkten Programmierung des Roboters in einem Schritt a1) eine erste Bewegung Δy in einer ersten Bewegungsrichtung y und, daran unmittelbar anschließend, in einem Schritt a2) eine zweite Bewegung Δz in einer zweiten Bewegungsrichtung z erfasst (2). Diese Bewegungsabfolge wird in einem Schritt b2) mit den gespeicherten Bewegungsabfolgen verglichen. Da sie mit der gespeicherten Bewegungsabfolge übereinstimmt, der der Befehl ”touch up” zugeordnet ist (Schritt b2): „Y”), wird in einem Schritt d) der erfasste Befehl akustisch mittels Sprachausgabe ausgegeben. Stimmt die erfasste Bewegungsabfolgen mit keiner gespeicherten Bewegungsabfolge überein (Schritt b2): „N”), kehrt die Vorrichtung zu Schritt a1 zurück.
-
Um den akustisch ausgegeben Befehl zu bestätigen, drückt der Bediener in einem Schritt e) eine Eingabevorrichtung am Führungsgriff 2 in Form eines Knopfes (nicht dargestellt). Erst nach dieser Bestätigung des Befehls Bi (Schritt e): „Y”) wird dieser in einem Schritt c2) an die Steuerung ausgegeben, die ihn entsprechend in das durch das direkte Programmieren erstellte Ablaufprogramm einbindet.
-
In einer Abwandlung soll der Befehl ”Anfang CIRC” eingegeben werden. Für diesen Befehl ist die Bewegungsabfolge ”oben” -> ”kleiner Kreis” abgespeichert. Dementsprechend führt der Bediener mittels des Führungsgriffes 2 den Endeffektor 1.4 in der in 1 gestrichelt angedeuteten Weise zunächst nach oben und anschließend nacheinander nach vorne, links, hinten und rechts, um diese Bewegungsabfolge einzugeben. Da eine solche Trajektorie des Endeffektors 1.4 auch für einen Bearbeitungsprozess vorgesehen sein kann, betätigt der Bediener zu Beginn der oben erläuterten Bewegungsabfolge, d. h. bevor er den Endeffektor 1.4 nach oben bewegt, die Eingabevorrichtung am Führungsgriff 2, indem er den Knopf (nicht dargestellt) drückt und während der oben genannten Bewegungsabfolge gedrückt hält. Hierdurch erkennt die Befehlseingabevorrichtung, dass die während der Betätigung des Knopfes ausgeführte Bewegungsabfolge zur Befehlseingabe dient. Sie erfasst nacheinander die Bewegungen ”oben”, ”vorne”, ”links”, ”hinten” und ”rechts” und ordnet dieser Bewegungsabfolge den Befehl ”Anfang CIRC” zu. Diesen Befehl gibt die Befehlseingabeeinrichtung an die Steuerung des Roboters 1 aus, die diesen Befehl in das durch direkte Programmierung erstellte Ablaufprogramm des Roboters einbindet.
-
In einer weiteren Abwandlung des vorstehend beschriebenen Ausführungsbeispiels sind die Kraftregler des Roboters 1 steif ausgebildet, so dass der Bediener den Endeffektor 1.4 manuell nicht bzw. nicht erkennbar bewegen kann. Hierzu werden die vier Bewegungsachsen des Roboters 1 durch PID-Regler mit hohen Verstärkungen positionsgeregelt.
-
Übt nun der Bediener eine Kraft Fy in y-Richtung auf den Führungsgriff 2 aus, bewegt sich der Endeffektor 1.4 nicht. Gleichwohl registrieren Kraftsensoren (nicht dargestellt) der kraftgeregelten Motoren in den vier Bewegungsachsen eine entsprechende auf den Endeffektor 1.4 wirkende Kraft. Aus dieser kann anhand eines mathematischen Ersatzmodelles nach Eliminierung der Gewichtskräfte des Roboters die von dem Bediener in der y-Richtung auf den Endeffektor 1.4 ausgeübte erste Kraft erfasst werden.
-
Nachdem der Bediener die erste Kraft Fy für eine gewisse Zeit aufgebracht hat, zieht er an dem Führungsgriff 2 in z-Richtung. Obwohl sich der Endeffektor 1.4 des steif geregelten Roboters 1 nach wie vor nicht bewegt, wird in analoger Weise eine zweite Kraft Fz durch die Kraftsensoren in den Motoren erfasst, die auf dem Manipulator in der zweiten Richtung wirkt.
-
Der Abfolge Fyi → Fzi einer ersten Kraft Fy in y-Richtung, gefolgt von einer zweiten Kraft Fz in z-Richtung ist ebenfalls der Befehl Bi = ”touch up” zugeordnet. Somit kann durch aufbringen von Kräften auf den Manipulator durch den Bediener auch dann ein Befehl eingegeben werden, wenn der steife Manipulator sich unter diesen Kräften nicht oder nicht erkennbar bewegt.
-
Bezugszeichenliste
-
- 1
- Roboter
- 1.1
- Rumpf
- 1.2
- Oberarm
- 1.3
- Unterarm
- 1.4
- Endeffektor
- 2
- Führungsgriff
- q1, q2, ... q4
- Gelenkwinkel
- x, y, z
- roboterfestes Koordinatensystem
- O
- „(nach) oben”
- V
- „(nach) vorne”
- L
- „(nach) links”
- H
- „(nach) hinten”
- R
- „(nach) rechts”