-
Die vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung zur Festlegung bzw. Bestimmung eines Bewegungsablaufs für einen Roboter, wobei der Bewegungsablauf benötigt wird, um eine beliebige Operation in einem dem Roboter zugeordneten Arbeitsraum durchführen zu können.
-
Das erfindungsgemäße Verfahren dient dazu, ein Robotersystem, insbesondere, jedoch nicht ausschließlich der Leichtbauweise, entsprechend zu programmieren.
-
Derartige Robotersysteme der Leichtbauweise sind so konzipiert, dass sie neben den notwendigen sechs Freiheitsgraden noch einen weiteren oder mehrere Freiheitsgrade besitzen, die es erlauben, den sogenannten Nullraum aufzuspannen.
-
Damit das Robotersystem im späteren Betrieb die gewünschten Operationen durchführen und hierfür die entsprechenden Posen einnehmen kann, muss dieses hinsichtlich Bewegungsablauf und Kraftaufbringung bzw. -übertragung an einem Endeffektor frei programmierbar sein. Das Robotersystem stellt dabei im abstrakten Sinne zunächst einen zustandsbasierten Automaten dar, der in mehreren Achsen frei programmierbar ist.
-
Ein gängiges online, d. h. nahezu in Echtzeit durchgeführtes Programmierverfahren für Robotersysteme dieser Art ist das sogenannte „Teach-in”-Verfahren, bei dem die einzelnen Stützpunkte der gewünschte Trajektorien angefahren und dann die jeweilige Stellung des Effektors über in dem Robotersystem integrierte Geber ermittelt und in einer Steuereinheit gespeichert wird.
-
Vor allem bei Robotersystemen der Leichtbauweise kommt das sogenannten direkte „Teach-in”-Verfahren zur Anwendung, bei dem der Effektor oder der Manipulator bzw. Roboterarm durch einen Bediener unmittelbar manuell geführt und bewegt wird, d. h. dem Manipulator wird der geforderte Bewegungsablauf im Vorfeld demonstriert.
-
Dies ist nur möglich, wenn einerseits der Roboterarm lediglich ein solches Gewicht und/oder eine entsprechende Feinfühligkeit aufweist, dass er noch von einem Bediener bewegt werden kann, und andererseits wenn zwischen den einzelnen Gliedern des Roboterarms keine stark übersetzenden und damit selbsthemmenden Getriebemechanismen vorhanden sind oder bei der Verwendung von Getrieben mit hohen Übersetzungen eine entsprechende Drehmomentenregelung vorgesehen ist.
-
Für das genannte direkte „Teach-in”-Verfahren ist es daher auch bekannt, dass das Robotersystem in seinem sogenannten gravitationskompensierten Zustand geführt wird, bei dem die gemessenen Drehmomente auf die dabei aktiven Antriebe zwischen den einzelnen Gliedern rückgeführt werden, was bewirkt, dass das Eigengewicht des Robotersystems und eine etwaige Selbsthemmung der Getriebemechanismen nicht zum Tragen kommt, und sich daher das Robotersystem ausschließlich in Abhängigkeit der durch einen Bediener beim manuellen Führen aufgebrachten externen Kräfte bewegen lässt. Weitere Ansätze beinhalten eine direkte gezielte Ansteuerung der Drehmomente in Bezug auf die einzelnen Motoren unter Berücksichtigung vorgegebener Schemata bzw. Programme zur Kompensation der Reibung.
-
Die durchgeführten Bewegungen beim „Teach-in”-Verfahren werden durch die bereits im Bereich der Antriebsmechanismen und Gelenke zwischen den einzelnen Gliedern eines Roboterarms vorhandenen Sensoren, die sowohl Drehmomente als auch translatorische Kräfte aufnehmen können, gemessen. Über eine entsprechende Auswahl der Abtastzeiten ergibt sich dann eine große Anzahl von Bahnpunkten, die nachfolgend die von dem Roboterarm zu durchlaufenden Bewegungsbahnen festlegen. Diese werden daher nicht analytisch beschrieben, sondern bestimmen sich ausschließlich durch die Handführung des Bedieners und damit durch den Verlauf im Raum. Die vorhandenen Sensoren können dabei Kräfte und Drehmomente entlang der gesamten Struktur des Robotersystems erkennen.
-
Ein Robotersystem, dem eine hohe Gelenkigkeit über die Bereitstellung von einer Vielzahl von Freiheitsgraden innewohnt, ist daher kaum bzw. nur mit einem erheblichen Programmieraufwand als ein System realisierbar, das über alle Freiheitsgrade vollständig rückführbar ausgelegt werden kann, was wiederum dazu führt, dass die manuelle Führung eines Manipulators eines solchen Robotersystems mit mehreren Nachteilen behaftet ist.
-
Ein Manipulator eines Roboters der Leichtbauweise stellt in Bezug auf seine Beweglichkeit in der Regel sieben Freiheitsgrade zur Verfügung. Die Definition eines Arbeitsraums, in dem der Roboter eine oder mehrere Operationen durchführen soll, beschränkt sich aber, bspw. bei Heranziehung eines kartesischen Raums, auf sechs Dimensionen, wodurch ein zusätzlicher Freiheitsgrad für den Manipulator existiert, der gewöhnlich als Nullraum bezeichnet wird. Dies führt jedoch dazu, dass eine Bewegung des Manipulators bei einer „Teach-in”-Programmierung durch den Benutzer kaum zu handhaben ist, da sich der Manipulator auch in Koordinaten bewegen kann, und das rein zufällig, die für die vorgesehene(n) Aufgabe(n) nicht relevant sind. Abgesehen davon, dass ein solches Verhalten des Roboters grundsätzlich nicht erwünscht ist und von Benutzern, die mit einer Programmierung von solchen Robotersystemen nicht so vertraut sind, im Rahmen der Programmierung kaum richtig interpretiert werden kann, erweist sich ein solches Verhalten bei der Programmierung des Robotersystems als sehr ineffizient.
-
Da der Manipulator selbst nicht aktiv dazu beitragen kann, sich auf Grund eines sehr passiven Verhaltens in Bezug auf die Bewegungen in seinen Gelenken innerhalb der richtigen Koordinaten des zugeordneten Arbeitsraums zu bewegen, zeigt sich, dass eine hochgenaue Positionierung des Manipulators und damit des Effektors im Arbeitsraum nur sehr schwierig durchzuführen ist.
-
Die Robotersysteme weisen für die Durchführung des „Teach-in”-Verfahrens in der Regel im Bereich des Roboterarms eine Eingabevorrichtung auf, mit Hilfe von welcher bspw. der gravitationskompensierende Modus des Robotersystems aktiviert bzw. deaktiviert werden kann.
-
Dies führt dazu, dass der Bediener eine Hand zum Betätigen der den gravitationskompensierenden Modus aktivierenden Eingabevorrichtung und die andere Hand benötigt, um den Effektor manuell führen zu können. Damit steht ihm keine Möglichkeit mehr zur Verfügung, auch diejenigen Freiheitsgrade gezielt zu beeinflussen, die beim Führen des Effektors in die gewünschte Position nicht zum Tragen kommen, was für ein hochgenaues „Teach-in”-Verfahren jedoch von Vorteil wäre. Mit anderen Worten, ein Benutzer benötigt immer beide Hände, um eine exakte Positionierung zu realisieren.
-
Ein Nachteil bei Robotersystemen, die definierte Operationen in einem Arbeitsraum durchführen sollen, besteht auch darin, dass für jede einzelne Operation eine eigenständige Programmierung bzw. ein eigenständiges „Teach-in”-Verfahren durchgeführt werden muss, obwohl die Operationen von ihrer Art her identisch sein können, jedoch an verschiedenen Positionen innerhalb des Arbeitsraums durchgeführt werden müssen. So ist es denkbar, dass die gleichartige Operation darin besteht, dass zwei Elemente, wie Gehäuseteile, miteinander verbunden, bspw. verschraubt werden sollen. Der Schraubvorgang als solcher wäre auf Grund identisch verwendeter Schrauben und Abmessungen der Gewindebohrungen an den Gehäuseteilen jeweils der gleiche, wobei sich die Positionen der Gewindebohrungen über die Gehäuseteile verteilen. Bei Verwendung der aus dem Stand der Technik bekannten Programmier- bzw. „Teach-in”-Verfahren wären diese daher für jede einzelne Gewindebohrung für den Schraubvorgang erneut durchzuführen. Dies bedingt einen gewissen zeitlichen und daher kostenintensiven Programmieraufwand.
-
Ausgehend davon ist es eine Aufgabe der vorliegenden Erfindung, ein Robotersystem und ein Verfahren zur Programmierung eines solchen Robotersystems zur Verfügung zu stellen, die die oben genannten Nachteile ausräumen. Des Weiteren ist es eine Aufgabe der Erfindung, in diesem Zusammenhang ein Verfahren und eine Vorrichtung zur Festlegung eines definierten Bewegungsablaufs für ein Robotersystem zur Verfügung zu stellen, das eine einfache Replizierbarkeit und Übertragbarkeit der durch diese Bewegungsabläufe durchzuführenden Operationen gestattet.
-
Gelöst wird diese Aufgabe mit einem Verfahren nach Anspruch 1, einem Robotersystem nach Anspruch 20 und einer Vorrichtung nach Anspruch 21.
-
Die Erfindung betrifft folglich ein Verfahren zur Festlegung eines Bewegungsablaufs für einen mehrachsigen Manipulator eines Robotersystems, der mehrere, unterschiedliche Drehachsen bildende Glieder und ein Endglied für ein Zusammenwirken mit einem Effektor aufweist, wobei der Effektor in einem Arbeitsraum zumindest eine beliebige Operation durchführen soll, und wobei das Endglied des Manipulators zur Durchführung der zumindest einen beliebigen Operation in eine beliebige Soll-Pose in Bezug auf den Arbeitsraum überführt werden soll, wobei das Verfahren gekennzeichnet ist durch
- – Bewegen des Manipulators in mehreren Schritten unter Annäherung des Endglieds an die Soll-Pose,
wobei für jeden Schritt zumindest ein definiertes Impedanzmuster und/oder Admittanzmuster in Bezug auf zumindest eine Achse festgelegt wird, die die Achse eines mit dem Manipulator verknüpften Koordinatensystems bildet.
-
Die aus mehreren Achsgliedern bestehenden Manipulatoren von Leichtbaurobotern werden in der Regel als Starrkörper, elastische und/oder viskoelastische Elemente, wie z. B. als ein Feder-Masse-System, modelliert und geregelt. Einem solchen Feder-Masse-System wohnt eine Federsteifigkeit und/oder Impedanz inne, wobei sich über Regelschleifen die Federsteifigkeit verändern und damit ein Impedanzverhalten in Bezug auf den Aufgabenraum bestimmen lässt. Diese Federsteifigkeit lässt sich gezielt über eine Ansteuerung der einzelnen, in den Gelenken zwischen zwei Achsgliedern angeordneten Antriebseinheiten, beeinflussen und adäquat dämpfen, wodurch sich prinzipiell definierte Nachgiebigkeitsmuster erzielen lassen. Mit anderen Worten, das Bewegungsverhalten und Interaktionsverhalten des Manipulators in seiner Gesamtheit lässt sich gezielt beeinflussen.
-
Diese Möglichkeit wird nunmehr gemäß der Erfindung genutzt, bei der Programmierung eines gewünschten Bewegungsablaufs für einen Manipulator bzw. beim „Teach-in” definierte Impedanzmuster und/oder Admittanzmuster auf einzelne Achsen von ein und demselben Koordinatensystem oder von verschiedenen Koordinatensystemen anzuwenden. In der einfachsten Form handelt es sich hierbei um definierte Nachgiebigkeitsmuster.
-
Gemäß der Erfindung kann es sich hierbei um ein arbiträres Koordinatensystem handeln, das zumindest einem der Achsglieder des Manipulators, einem weiteren der Achsglieder des Manipulators, einem oder mehreren Gelenken zwischen zwei über diese beweglich miteinander verbundene Achsglieder, dem Effektor, der an dem Endglied des Manipulators angeordnet ist, und/oder dem Arbeitsraum, in dem der Effektor eine oder mehrere Operationen durchführt, direkt zugeordnet ist. Es können auch verschiedenen arbiträre Koordinatensysteme vorliegen, Darüber hinaus könnte es sich auch um ein Koordinatensystem handeln, dessen Achsen sich bspw. unter Bezugnahme auf eine Mannigfaltigkeit automatisch identifizieren lassen, d. h. das System zur Durchführung des Verfahrens lernt hierbei maschinell, welches Koordinatensystem das jeweils geeignetste sein könnte.
-
Darüber hinaus kann es gemäß der Erfindung vorgesehen sein, dass sich das arbiträre Koordinatensystem durch die Art des Effektors, die einzunehmende Pose und/oder die Art der durchzuführenden Operation bestimmt. Handelt es sich bspw. um einen Schraubvorgang, der von dem Effektor, einem Schraubenzieher durchgeführt werden soll, kann das arbiträre Koordinatensystem in diesem Zusammenhang dann als Polarkoordinatensystem definiert sein. Auch ist es möglich, dass das arbiträre Koordinatensystem zeitvariant ausgelegt ist, wenn z. B. der Manipulator zur Durchführung der gedachten Operation einer vorgegebenen Bewegung folgen muss, die sich bspw. durch ein sich am Roboter entlang bewegendes Förderband im Bereich des Arbeitsraums bestimmt.
-
Innerhalb dieser arbiträren Koordinatensysteme ist es gemäß der Erfindung dann vorgesehen, dass sich die Achse(n), die für die Anwendung der Impedanzmuster und/oder Admittanzmuster ausgewählt wird/werden, auf eine translatorische Ausrichtung oder auf eine rotatorische Ausrichtung bezieht/en. Mit anderen Worten, bei der Programmierung kann daher ein gezieltes Impedanzverhalten und/oder Admittanzverhalten in Bezug auf eine translatorische Teil- oder Gesamtbewegung des Manipulators und/oder ein Impedanzverhalten und/oder Admittanzverhalten in Bezug auf eine rotatorische Teil- oder Gesamtbewegung des Manipulators angewandt werden.
-
In einer bevorzugten Ausführungsform des Verfahrens gemäß der Erfindung ist es vorgesehen, dass dann
- – für einen Schritt ein definiertes Impedanzmuster und/oder Admittanzmuster in Bezug auf eine Achse in einer translatorischen Ausrichtung festgelegt wird, und
- – für einen weiteren Schritt ein definiertes Impedanzmuster und/oder Admittanzmuster in Bezug auf eine Achse in einer rotatorischen Ausrichtung festgelegt wird.
-
Diese Schritte können dann so oft (in einer geraden oder ungeraden Anzahl) wiederholt werden, bis die gewünschte Soll-Pose erreicht ist. Innerhalb dieser Wiederholungen können dann für jeden einzelnen Schritt die jeweils gleichen, für die vorherigen Schritte bereits definierten Impedanzmuster und/oder Admittanzmuster verwendet oder die Impedanzmuster und/oder Admittanzmuster zwischen den Schritten variiert werden.
-
Das Verfahren gemäß der Erfindung ist folglich dadurch gekennzeichnet, dass sich in mehreren Schritten bzw. Schleifen die Programmierung des gewünschten Bewegungsablaufs durchführen lässt, indem in mehreren Stufen sich an die finale Pose angenähert wird.
-
Die Anzahl der Schritte kann dabei beliebig gewählt werden bzw. ergibt sich aus den räumlichen Umständen. So ist es möglich, dass zur Erzielung ein und derselben Pose in einem Arbeitsraum unterschiedliche Bewegungsabläufe bei unterschiedlichen Programmierverfahren durch ein manuelles Führen resultieren können. Ist der Raum, in dem sich der Manipulator während des „Teach-in” unter Maßgabe des erfindungsgemäßen Verfahrens bewegt, hindernisfrei, ließe sich der Manipulator mehr oder weniger direkt in wenigen Schritten zum Ziel führen. Müssen Hindernisse berücksichtigt werden, bspw. die Position eines Menschen bei für eine Mensch-Roboter-Kollaboration konzipierten Arbeitsplätzen, lässt sich der Manipulator um diese Hindernisse in mehreren Schritten zum gewünschten Ziel herumführen.
-
Gemäß der Erfindung ist es vorgesehen, dass die Impedanzmuster und/oder Admittanzmuster während eines Schritts konstant, zeitveränderlich und/oder zustandsabhängig ausgelegt sind.
-
Zur Durchführung des Verfahrens gemäß der Erfindung kann ein Robotersystem mit einem die multiplen Freiheitsgrade bereitstellenden Manipulator eine Steuereinheit und eine Eingabevorrichtung zur Programmierung des Robotersystems aufweisen, wobei die Steuereinheit und die Eingabevorrichtung so ausgebildet sind, dass bei der Programmierung des Robotersystems zumindest ein Impedanzmuster und/oder Admittanzmuster auf eine Achse eines Koordinatensystems angewandt wird. Dies bedeutet, dass zumindest ein Freiheitsgrad der multiplen Freiheitsgrade in Hinblick auf eine diesem Freiheitsgrad innewohnende Beweglichkeit steuerbar ist.
-
Die Steuereinheit ist dabei so ausgebildet, dass es das oder mehrere Koordinatensysteme vorab nach Maßgabe der vorhergehend genannten Parameter festlegt und die Art der Koordinatensysteme danach auswählt, was für den geforderten Einsatzzweck am sinnvollsten erscheint. Neben vorzugsweise kartesischen Koordinatensystemen sind auch zylindrische, Kugelkoordinatensysteme oder über Mannigfaltigkeiten definierte Koordinatensysteme denkbar.
-
Der Bediener wird durch das erfindungsgemäße Robotersystem bzw. das erfindungsgemäße Verfahren in die Lage versetzt, je nach Bedarf einzelne Gelenke des Robotersystems zu Zwecken der Programmierung über die Beaufschlagung mit definierten Impedanzmuster und/oder Admittanzmuster zu beaufschlagen, bspw. über definierte Nachgiebigkeitsmuster zu dämpfen, und damit selektiv auf die Freiheitsgrade des Robotersystems gezielt Einfluss zu nehmen, um das Ausmaß der Beweglichkeit des Freiheitsgrades für eine während der Programmierung des Robotersystems zu vollführenden Bewegung einzustellen. Auf diese Weise lassen sich die Bewegungen unter Berücksichtigung der vorab festgelegten Koordinatensysteme entweder hinsichtlich der rotatorischen und/oder translatorischen Ausrichtung definieren, wie vorhergehend erwähnt.
-
Die Erfindung geht mit dem Vorteil einher, dass anstatt eines stets zu wiederholenden Aktivierens bzw. Deaktivierens des gravitationskompensierten Modus beim „Teach-in” ein mehrstufiges, selektiv programmierbares Steuerungsverfahren vorgeschlagen wird, bei dem zu jedem Zeitpunkt nur ein Teil der in dem Robotersystem vorhandenen multiplen Freiheitsgrade durch externe Kräfte verändert, nämlich über die Beaufschlagung mit definierten Impedanzmustern und/oder Admittanzmustern, wie z. B. Nachgiebigkeitsmustern, gezielt gedämpft und/oder blockiert werden kann. Im Ergebnis bedeutet dies auch, dass durch einen Bediener die Anzahl der zur Verfügung stehenden, multiplen Freiheitsgrade des Robotersystems für eine während der Programmierung des Robotersystems zu vollführenden Bewegung, die sich durch das manuelle Führen ergibt, reduziert werden kann. Dies geschieht dadurch, dass einzelne oder mehrere Freiheitsgrade selektiv und individuell gedämpft oder blockiert werden, so dass sich eine Bewegung, insbesondere hinsichtlich der Interaktion mit der Umgebung, auf die nicht blockierten Freiheitsgrade beschränkt. Blockieren ist in diesem Zusammenhang nicht im Sinne einer absoluten Sperre zu verstehen; vorzugsweise wird ein Gelenk mit einer extrem harten Dämpfung beaufschlagt, was bedeutet, dass eine solche hohe Steifigkeit letztendlich zu einer Sperrung des Gelenks führt, wobei minimale leichte Bewegungen noch möglich sind, während ein anderes Gelenk mit einer extrem weichen Dämpfung beaufschlagt wird, was bedeutet, dass eine solche niedrige Steifigkeit zu einem Lösen dieses Gelenks führt.
-
So sollen die durch die Gelenkmechanismen ermöglichten relativen Beweglichkeiten bspw. zwischen einzelnen Gliedern eines Roboterarms gezielt gedämpft werden, wobei der Grad der Dämpfung unterschiedlich eingestellt werden und sich von Gelenk zu Gelenk unterscheiden kann. Dies kann durch eine entsprechende Ansteuerung der in den Gelenkpunkten angeordneten Antriebsmechanismen erfolgen.
-
In einem einfachen Fall ließe sich bspw. ein dreistufiges Verfahren anwenden, bei dem der Manipulator zuerst in einen gravitationskompensierten (und/oder zentrifugal- und/oder corioliskraft- und/oder trägheitskompensierten) Zustand überführt wird, um den Manipulator grob in die Nähe der gewünschten Pose zu bringen. Danach werden nur die Rotationsachsen in Bezug auf ein mit dem Endeffektor verbundenes Koordinatensystem freigegeben, um eine erste Korrektur der Endeffektor-Ausrichtung vorzunehmen. Danach werden diese Rotationsachsen nahezu blockiert, d. h. mit einer extrem hohen Steifigkeit versehen, und nur die translatorischen Achsen in Bezug auf dieses Koordinatensystem freigegeben, so dass die finale Position des Endeffektors eingestellt ist. Diese Schritte lassen sich in einer oder mehreren Schleifen wiederholen, bis im Sinne einer Feinjustierung endgültig die finale gewünschte Pose erreicht ist.
-
Hierdurch wird die Programmierung als solches wesentlich vereinfacht, da der Bediener ein mehrgelenkiges Robotersystem mit einem Effektor wesentlich leichter auch in Bezug auf die nicht für die Aufgabe relevanten Freiheitsgrade führen und darüber hinaus auch Posen des Robotersystems einstellen kann, mit Hilfe von denen sich Trajektorien festlegen lassen, die vorab bekannte Hindernisse, wie bspw. einen Arbeitsraum eines Arbeiters in unmittelbarer Umgebung des Robotersystems im späteren Betrieb, entsprechend berücksichtigen.
-
Die Eingabevorrichtung kann an einem Glied des Robotersystems angeordnet sein, vorzugsweise im Bereich des Endeffektors, oder es kann sich um ein externes Tablett handeln, so dass der Bediener beim manuellen Führen die gewünschten Nachgiebigkeitsmuster, quasi in Echtzeit, einhändig aktivieren bzw. deaktivieren und dabei auch zwischen einzelnen Gelenken des Manipulators unterscheiden kann.
-
Das erfindungsgemäße Verfahren zur Programmierung erleichtert darüber hinaus die einhändige Führung von bspw. 7-achsigen Manipulatoren mit einem Nullraum, wodurch sich die Einstellzeiten unter Verringerung der Rüstkosten weiter reduzieren lassen.
-
In einer besonders bevorzugten Ausführungsform ist das Verfahren gemäß der Erfindung darüber hinaus dadurch gekennzeichnet, dass ein nach Durchführung aller einzelnen Schritte erzeugtes Gesamtimpedanzmuster und/oder Gesamtadmittanzmuster für den festzulegenden Bewegungsablauf in Bezug auf die Soll-Pose auf zumindest eine weitere Soll-Pose unter Beibehaltung einer gemeinsamen Soll-Orientierung im Rahmen des Impedanzverhaltens und/oder Admittanzverhaltens angewandt wird, wobei die Position bzw. Translation der weiteren Soll-Pose relativ zu der Position bzw. Translation der ursprünglichen Soll-Pose innerhalb einer gemeinsamen Ebene und/oder winkelmäßig zu dieser versetzt ist.
-
So ist es möglich, eine einmal durch das „Teach-in” festgelegte Soll-Orientierung des Roboterarms und damit des Effektors immer wieder zu verwenden, um beispielsweise parallele, sich auf einer Ebene befindliche Objekte zu bestimmen. Dabei wird eine einmal eingestellte Soll-Orientierung einer Pose beibehalten und nur deren jeweilige Position verändert. Beispielsweise beim Verschrauben eines Gehäusedeckels mit mehreren über den Deckel verteilten Positionen der Schraubenführungen wird nur noch die Soll-Position bzw. Translation des Endeffektors mit einem Schraubenzieherelement in Bezug auf die Position des jeweiligen Gewindelochs geteacht, während die sich aus der durchzuführenden Schraubbewegung ergebenden Soll-Orientierung beibehalten wird. Die Programmierzeiten lassen sich hierdurch weiter verkürzen.
-
Das erfindungsgemäße Verfahren bietet ein neuartiges Konzept zur Programmierung bzw. Festlegung eines Bewegungsablaufs für einen mehrachsigen Manipulator eines Robotersystems insbesondere der Leichtbauweise, das sich durch die Auswahl unterschiedlicher Nachgiebigkeitsmuster bzw. Impedanzprofile zur Einschränkung der Bewegungen in Bezug auf einen Arbeitsraum auszeichnet. Ein gesamtes Nachgiebigkeitsverhalten des Manipulators wird in Bezug auf den Arbeitsraum festgelegt, um auf eine spezifische Aufgabe bzw. Operation abgeglichen zu werden. Werden für eine gewünschte Interaktion dabei einerseits unterschiedliche Koordinatensysteme und andererseits unterschiedliche Nachgiebigkeitsverhalten notwendig, kann auf einfache Art und Weise beim „Tech-in”-Prozess, insbesondere durch eine Direkteingabe am Roboter, quasi zwischen den einzelnen Impedanzprofilen und/oder Admittanzprofilen hin- und hergeschaltet werden.
-
Weitere Vorteile und Merkmale der Erfindung ergeben sich aus der Beschreibung der anhand der beiliegenden Zeichnungen dargestellten Ausführungsbeispiele. Es zeigen:
-
1 eine exemplarische Darstellung eines mehrachsigen Manipulators eines Robotersystems, in der mögliche Koordinatensysteme für das erfindungsgemäße Verfahren schematisch angedeutet sind;
-
2 ein Flussdiagramm zur Veranschaulichung der wesentlichen Schritte einer Ausführungsform des Verfahren gemäß der Erfindung;
-
3a ein Diagramm zur Veranschaulichung eines schrittweisen Verfahrens gemäß der Erfindung im Vergleich zu bekannten Verfahren; und
-
3b ein Schema der möglichen gegenseitigen Wechselbeziehungen von einzelnen Nachgiebigkeitsmustern, wobei nur Steifigkeiten gestellt werden.
-
In der 1 ist beispielhaft ein Robotersystem mit einem aus mehreren Achsgliedern A bestehenden Manipulator M gezeigt, die über Gelenke G miteinander verbunden sind. Am Ende des Manipulators M ist ein Effektor E vorgesehen, der in einem Arbeitsraum R eine bestimmte Operation durchführen soll.
-
Dem Manipulator M, der eine Pose xi einnehmen soll, können mehrere Koordinatensysteme zugeordnet sein, die in der 1 schematisch, im vorliegenden Fall als kartesische Koordinatensysteme eingezeichnet sind. Es sind jedoch auch andere Koordinatensysteme denkbar, wie bspw. mit Mannigfaltigkeiten assoziierte Koordinatensysteme.
-
Ein erstes Koordinatensystem CA kann sich beispielsweise auf eines der Achsglieder A beziehen und entsprechende Achsen AA innerhalb dieses Koordinatensystem CA aufweisen, die dieses Koordinatensystem CA definieren.
-
Ein zweites Koordinatensystem CE ist unmittelbar auf den Effektor E bezogen und weist dementsprechend dieses Koordinatensystem CE definierende Achsen AE auf.
-
Ein drittes Koordinatensystem CG kann sich unmittelbar auf ein einzelnes Gelenk G beziehen und ist dementsprechend durch die Achsen AG definiert.
-
Als viertes Koordinatensystem CR kann ein Koordinatensystem in Frage kommen, das sich auf den Arbeitsraum R bezieht und über entsprechende Achse AR definiert wird.
-
Bei dem „Teach-in”-Verfahren gemäß der Erfindung wird der Manipulator M in mehreren Schritte Si, Sj (siehe 2 und 3a) in eine Pose xi überführt, indem der Effektor E bzw. das diesen tragende Endglied des Manipulators M an die abschließende Pose xi angenähert wird, wobei sich die Pose xi durch den Arbeitsraum R selbst, der dem Ort einer in diesem durchzuführenden Operation entspricht, bspw. einem Montagearbeitsplatz, und durch die Art der durchzuführenden Operation, bspw. Schraubbewegung, ergibt. Es kann sich jedoch auch um ein einfaches Positionieren des Effektors E im Raum handeln, das sich nicht unmittelbar aus einer Aufgabe ableitet.
-
Für jeden Schritt Si, Sj wird dabei zumindest ein definiertes Impedanzmuster und/oder Admittanzmuster festgelegt, vorliegend ein Nachgiebigkeitsmuster, das aus einer Impedanz bzw. Steifigkeitsmatrix Kx resultiert.
-
Gemäß der Erfindung sollen dabei die Impedanzmuster und/oder Admittanzmuster, dass sie sich auf zumindest eine Achse eines gewählten Koordinatensystems beziehen, also bspw. auf zumindest eine Achse AA des Koordinatensystems CA eines oder mehrerer Achsglieder A, auf zumindest eine Achse AG des Koordinatensystems CG eines oder mehrerer Gelenke G, auf zumindest eine Achse AE des Koordinatensystems CE des Effektors und/oder auf zumindest eine Achse AR des Koordinatensystems eines oder mehrerer Arbeitsräume R.
-
In der 2 ist schematisch ein Ablaufdiagramm eines Ausführungsbeispiels des erfindungsgemäßen Verfahrens gezeigt, das von einem Bediener manuell an einem Robotersystem zu dessen Programmierung durchgeführt werden kann.
-
In einem ersten Schritt 10 wird der Manipulator M in einen kompensierten Modus gebracht. Hierzu werden durch entsprechende Ansteuerung der Antriebseinheiten in den Gelenken G entsprechende Gegenkräfte und Gegenmomente erzeugt, um der Schwerkraft, ggfs. einer Zentrifugal- und/oder einer Corioliskraft und/oder initiierten Trägheitskräften entgegenzuwirken, wodurch das Eigengewicht und damit die Massenträgheit des Manipulators M und eine etwaige Selbsthemmung der Getriebe bzw. Gelenke aufgehoben wird, so dass der Manipulator M überhaupt erst ein rücktreibbares Verhalten zeigen kann.
-
Der Bediener ist nun in der Lage, den Roboterarm bzw. Effektor E annähernd in die gewünschte Pose zu bringen und/oder zu der gewünschten Position zu bewegen.
-
Wird bspw. als relevantes Koordinatensystem ein kartesisches Koordinatensystem berücksichtigt, ergeben sich mögliche kartesische aufgabenbezogene Steifigkeitselemente, die im entkoppelten Fall die translatorische und rotatorische kartesische Steifigkeit definieren, als
-
Lässt sich der Manipulator M frei in bestimmten Richtungen bewegen, definieren sich die diesen zugeordneten nt-ten Steifigkeitselemente als kx,i = 0.
-
Hierfür lässt sich unter Vorgabe bzw. Auswahl eines Dämpfungsprofils bzw. Nachgiebigkeitsmusters eine bestimmte kartesische aufgabenbezogene Dämpfung dx,i in Bezug für die auf 6 – nt eingeschränkten Richtungen auswählen.
-
Es ist zu erwähnen, dass in der Praxis eine Dämpfung bzw. Impedanz in Bezug auf den Nullraum nicht näher spezifiziert werden soll, um eine Wechselwirkung mit der Aufgabe bzw. Operation unter realen Bedingungen (bspw. durch Sensorrauschen) auszuschließen. Dennoch kann es auch vorgesehen sein, dass dem Nullraum im Rahmen des erfindungsgemäßen Verfahrens ein eigenständiges, bspw. möglicherweise zeitvariantes Nachgiebigkeitsmuster zugeordnet wird.
-
Einfach ausgedrückt ergibt sich dann eine kartesische Steifigkeitsmatrix als
die translatorischen und rotatorischen diagonalen, positiv definierten Steifigkeitsmatrizen wiedergeben.
-
In einem ersten Schritt S
i der oben erwähnten Annäherung wird dann ein Nachgiebigkeitsmuster in Bezug auf eine Achse eines kartesischen Koordinatensystems, bspw. der Achse A
A des Koordinatensystems C
A, in einer translatorischen Ausrichtung festgelegt. Die entsprechende Steifigkeitsmatrix ergibt sich dann als
-
Eine einmalige Durchführung dieses Schrittes Si könnte bereits ausreichen, um die Soll-Pose xi zu erreichen (Schritt 20 in 2). Der Schritt Si könnte jedoch auch ein oder mehrmals wiederholt werden (Schritt 30' in 2).
-
In einem weiteren Schritt S
j der Annäherung wird dann für diese Achse A
A des Koordinatensystems ein definiertes Nachgiebigkeitsmuster in einer rotatorischen Ausrichtung festgelegt. Die entsprechende Steifigkeitsmatrix ergibt sich folglich als
-
Diese Schritte des erfindungsgemäßen „Teach-in”-Verfahrens können so oft wie nötig, jedoch nicht zwingenderweise immer abwechselnd, wiederholt werden (Schritte 30', 30'' in 2), bis letztendlich die Pose xi erreicht wurde (Schritt 40 in 2).
-
Die Schritte, bei denen einmal nur auf die translatorische Ausrichtung und einmal nur auf die rotatorische Ausrichtung abgestellt wird, stellen für sich daher wesentlich vereinfachte „Teach-in” Schritte dar.
-
Bevorzugt lässt sich das Verfahren gemäß der Erfindung heranziehen, um eine einmal ermittelte und eingestellte Pose xi auf eine weitere Soll-Pose xj zu übertragen, die sich von der Pose xi nur durch eine andere Position unterscheidet, aber eine gemeinsame Soll-Orientierung aufweist (Schritt 50 in 2).
-
Bspw. befindet sich bei der Pose xi eine Schraube, die durch den Effektor E des Manipulators M in ein Bauteil eingeschraubt werden soll. An weiteren Stellen des Bauteils befinden sich s – 1 Schrauben, die ebenfalls eingeschraubt werden sollen.
-
Nach der Überführung in den bspw. gravitationskompensierten Zustand wird zwischen den translatorischen und den rotatorischen Zuständen, wie oben erwähnt, gewechselt. Die Steifigkeitsmatrix ist über die Auswahl der Nachgiebigkeitsmuster benutzerdefiniert, d. h. Kx = User(K t-teach / x; K r-teach / x)
-
Ist die Pose xi erreicht, wird diese quasi als Referenz abgespeichert.
-
Danach wird in einen Modus umgeschaltet, bei der der Manipulator M zu den weiteren s – 1 Positionen der weiteren Schrauben geführt wird, und dort wird dann nur die Position abgespeichert wird, da die Orientierung ja die gleiche ist. Die entsprechende Matrix ergibt sich dann als
-
Für jede weitere Pose xj ist folglich dann Kx = K t-top / x
-
Es wird deutlich, dass sich durch die Verwendung der vorherigen Nachgiebigkeitsmuster, die sich durch die Steifigkeitsmatrizen definieren, beliebig viele weitere Posen xi, xj ... xs auf systematische Weise programmieren lassen.
-
3a veranschaulicht auf exemplarische Weise den Vorteil des erfindungsgemäßen Verfahrens im Vergleich zu bekannten „Teach-in”-Verfahren. Diese 3a zeigt den Verlauf der einzelnen Schritte, bei denen der Effektor E eines Manipulators M an einem bestimmten Zielpunkt B in einem Arbeitsraum R eine Pose einnehmen soll.
-
Es ist zu betonen, dass der Zielpunkt B, an dem letztendlich eine Operation durch den Effektor E des Manipulators M durchgeführt werden soll, als Eingangsgröße bzw. Parameter für die Programmierung des Bewegungsablaufs, den der Manipulator M hierfür durchlaufen soll, nicht bekannt ist.
-
Gestartet werden soll eine Bewegung eines Manipulators M von einem Anfangszustand an der Position A, die sich irgendwo im Raum befinden kann, der vom den Arbeitsraum R, in dem sich die Position B befindet, vollkommen getrennt und entkoppelt ist.
-
Bei einer reinen Bewegungsprogrammierung (gepunktete Linie) würde der Manipulator M mit seinem Effektor E in einem beliebigen Punkt B' enden, der zwangsläufig nicht mit der gewünschten Position übereinstimmen kann, da sie entweder nicht bekannt oder nur unzureichend bekannt ist. Da B vorab nicht bzw. nur unzureichend bekannt ist, sondern nur implizit durch das zu erzielende Ergebnis (Pose, Operation am Punkt B), lässt sich auch kein Umgebungsmodell generieren, dass für eine reine Bewegungsprogrammierung herangezogen werden könnte.
-
Bei einer „Teach-in”-Programmierung, bei der der Manipulator M nur in einem gravitationskompensierten Zustand geführt wird (gestrichelte Linie), endet der Effektor E stets in einer Position B'', die zu ungenau ist und daher von der gewünschten Position B, wenn auch nur minimal, abweicht. Eine minimale Abweichung reicht aber bereits aus, dass sich die gewünschten Operationen, wie bspw. das Einschrauben einer Schraube, nicht fehlerfrei und auf zuverlässig replizierbare Weise durchführen lassen. Außerdem erweist sich der „Teach-in”-Vorgang, d. h. letztendlich das Führen des Manipulators, für den vorliegenden Fall als wesentlich schwieriger durchzuführen.
-
Gemäß der Erfindung wird die Führung des Manipulators M daher in mehrere Schritte S1 bis S4, die eine unterschiedliche Zeitdauer einnehmen können, unterteilt, wobei jedem Schritt dann eine, ein Nachgiebigkeitsmuster definierende Steifigkeitsmatrix K1 bis K4 zugeordnet wird. Auf diese Weise kann sich der Effektor E exakt an die Position B annähern (durchgezogene Linie), um dort die für die gedachte Operation notwendige Pose xB einzunehmen.
-
Bei der Anwendung der unterschiedlichen Steifigkeitsmatrizen K1 bis K4 unter ggfs. gleichzeitiger Kompensationen in Bezug auf die Gravitation, Trägheit, Zentrifugalkräfte und/oder Corioliskräfte können diese wiederum über die Schritte S1 bis S4 aufeinander abgestimmt werden, d. h. die daraus resultierenden einzelnen Nachgiebigkeitsmuster stehen alle miteinander in einer Wechselbeziehung, wie die 3b veranschaulicht.
-
Es wird deutlich, dass durch die gezielte Auswahl der Anzahl der Schritte einerseits und durch die gezielte Auswahl der Impedanzmuster und/oder Admittanzmuster, im einfachsten Fall der Nachgiebigkeitsmuster anderseits eine schrittweise Realisierung der gewünschten Pose(n) möglich wird, die im Vorfeld in die Programmierung des Bewegungsablaufs mangels Kenntnis nicht einfließt/einfließen.