-
AUSSAGE HINSICHTLICH STAATLICH GEFÖRDERTER FORSCHUNG ODER ENTWICKLUNG
-
Diese Erfindung wurde mit Regierungsunterstützung unter dem NASA Space Act Agreement mit der Nummer SAA-AT-07-003 durchgeführt. Die hier beschriebene Erfindung kann von der oder für die US-Regierung für Zwecke der US-Regierung (d. h. nicht kommerzielle Zwecke) hergestellt und verwendet werden, ohne dass darauf oder dafür Gebühren entrichtet werden müssen.
-
TECHNISCHES GEBIET
-
Die vorliegende Erfindung betrifft die automatische Steuerung eines kraft- oder impedanzgesteuerten Roboters in einer Arbeitsumgebung, in der ein Robotermanipulator des Roboters innerhalb seines Arbeitsraums in einen nicht erwarteten direkten physikalischen Kontakt mit einem Objekt und/oder einem Bediener kommen kann.
-
HINTERGRUND
-
Roboter sind automatisierte Einrichtungen, welche zum Manipulieren von Objekten unter Verwendung einer Reihe von Gliedern in der Lage sind. Die Glieder sind durch ein oder mehrere stellgliedgetriebene Robotergelenke miteinander verbunden. Jedes Gelenk in einem typischen Roboter stellt mindestens eine unabhängige Steuervariable dar, d. h. einen Freiheitsgrad. Greiforgane sind die speziellen Manipulatoren, die verwendet werden, um eine anliegende Aufgabe durchzuführen, etwa das Ergreifen eines Arbeitswerkzeugs. Daher kann eine präzise Bewegungssteuerung des Roboters durch Steuern seiner verschiedenen Robotermanipulatoren durch die benötigte Ebene der Aufgabenbeschreibung organisiert sein. Die Ebenen umfassen eine Steuerung auf Objektebene, welche die Fähigkeit zum Steuern des Verhaltens eines Objekts beschreibt, das in einem Einzel- oder zusammenwirkenden Griff des Roboters gehalten wird, eine Greiforgansteuerung, d. h. eine Steuerung der verschiedenen Manipulatoren wie etwa der Roboterfinger und Daumen, und eine Steuerung auf Gelenkebene. Die verschiedenen Steuerungsebenen erreichen gemeinsam die geforderte Mobilität, Geschicklichkeit und arbeitsaufgabenbezogene Funktionalität.
-
Geschickte Roboter können dort verwendet werden, wo eine direkte Interaktion mit Einrichtungen oder Systemen benötigt wird, die speziell für die Verwendung durch Menschen konstruiert sind, d. h. Einrichtungen, die menschenähnliche Geschicklichkeitsniveaus erfordern, um sie korrekt zu manipulieren. Die Verwendung geschickter Roboter kann auch dort bevorzugt sein, wo eine direkte Interaktion mit menschlichen Bedienern erforderlich ist, da die Bewegung des Roboters so programmiert werden kann, dass sie eine menschliche Bewegung annähert. Derartige Roboter werden typischerweise so ausgestaltet, dass sie in einem gut definierten oder strukturierten Arbeitsraum arbeiten. Bei bestimmten sich entwickelnden Anwendungen jedoch ist der zugeordnete Arbeitsraum relativ beschränkt und/oder unstrukturiert und kann gemeinsam mit menschlichen Bedienern genutzt werden. In einer derartigen Arbeitsumgebung besteht eine erhöhte Wahrscheinlichkeit, dass im Arbeitsraum ein Kontakt zwischen dem Robotermanipulator und einem Objekt und/oder einem menschlichen Bediener auftreten wird.
-
US 2007/0 142 823 A1 offenbart ein Steuerungssystem zur Verringerung intern erzeugter Reibungs- und Trägheitswiderstände beim manuellen Positionieren eines Chirurgiemanipulators, das Befehlssignale mit Drehmomentsättigung verwendet, um nichtlineare Gelenkkräfte zu kompensieren.
-
In ”A Mobile Autonomous Humanoid Assistant”, 4.te IEEE/RAS International Conference on Humanoid Robots 2004, Vol. 1, S. 133–148 sowie in ”Evolution of the NASA/DARPA Robonaut Control System” in Proceedings of the 2003 IEEE International Conference on Robotics and Automation, S. 2543–2548 offenbaren Diftler, M. A. et al. einen im All einsetzbaren Astronautenhandschuh mit eingebautem Greifreflex.
-
Zaier, R. et al. offenbaren in ”Motion Pattern Generator and Reflex System for Humanoid Robots”, Proceedings of the 2006 IEEE/RSJ International Conference on Intelligent Robots and Systems, 2006, S. 840–845 einen Roboter, der Gehbewegungen ausführt und Reflexe einsetzt, um auf Störungen im Bewegungsablauf zu reagieren.
-
In
US 2007/0 255 454 A1 ist eine Steuerung von Robotern offenbart, bei der ein Roboter Bewegungen eines Menschen nachahmt. Zur Verbesserung von Positionierungsfehlern wird eine Schwerkraftkompensation verwendet.
-
Albu-Schäffer, A. et al. offenbaren in ”A Unified Passivity Based Control Framework for Position, Torque and Impedance Control of Flexible Joint Robots”, International Journal of Robotics Research, 2007, Band 26, Seite 23–39 eine passive Robotersteuerung, bei der ein Roboter nur solange ausweicht, bis eine Störkomponente unter einen Schwellenwert sinkt.
-
In
DE 10 2005 054 575 B3 ist ein Verfahren zur Regelung eines Roboterarms offenbart, bei dem in Gelenken des Rohboterarms wirkende Drehmomente im Wesentlichen auf Null geregelt werden.
-
Die Aufgabe der Erfindung besteht darin, ein Robotersystem bereitzustellen, das in einem Arbeitsraum effektiv eingesetzt werden kann, in dem auch Menschen tätig sind, ohne die Menschen zu gefährden.
-
Diese Aufgabe wird durch die Gegenstände der unabhängigen Ansprüche gelöst.
-
ZUSAMMENFASSUNG
-
Entsprechend wird hier ein Verfahren offenbart, um einen kraft- oder impedanzgesteuerten geschickten Roboter in einem Robotersystem zu steuern. Ein derartiger Roboter kann einen oder mehrere Robotermanipulatoren aufweisen. Jeder Manipulator arbeitet mit Hilfe eines kraft- oder impedanzbasierten Steuergerüsts in einem unstrukturierten Arbeitsraum. Die Begriffe ”kraftbasiert” und ”impedanzbasiert” bezeichnen, so wie sie hier verwendet werden, die Steuerung eines Roboters, die sich auf jeweilige Kraft- oder Impedanzbefehle und Rückkopplungssignale stützt, um die verschiedenen Robotergelenke und Manipulatoren des Roboters zu bewegen und Kräfte durch diese aufzubringen.
-
Das vorliegende Verfahren legt zu jedem Zeitpunkt automatisch eine Sättigungsgrenze für eine statische Kraft/ein statisches Drehmoment fest, die bzw. das von einem gegebenen Robotermanipulator an das ihn umgebende Umfeld befohlen wird. Sollte der Robotermanipulator daher unerwartet ein Objekt in seinem Arbeitsraum kontaktieren, ist die durch den Manipulator aufgebrachte statische Kraft begrenzt oder beschränkt. Bei Kontakt mit dem Objekt fährt der Robotermanipulator mit der ihm zugewiesenen Arbeitsaufgabe fort, ohne sich durch das Objekt zu ”kämpfen”, nachdem er dem Objekt begegnet ist. Diese Phase der vorliegenden Steuerstrategie stützt sich nicht auf das Detektieren des Kontakts, sondern verwendet stattdessen nur die Eigenwahrnehmung, wie hier offenbart wird, um die statische Kraft zu jedem Zeitpunkt zu begrenzen.
-
Obwohl die statische Kraft beschränkt oder sättigungsbegrenzt ist, kann der Manipulator aufgrund des Moments des Systems, wenn sich der Robotermanipulator in Bewegung befindet, eine größere dynamische Kraft im Augenblick des Kontakts aufbringen. Eine weitere Phase der Steuerstrategie kann daher das automatische Ausführen eines vorbestimmten dynamischen Reflexes bei einer Schwellenwertkontaktkraft mit dem Objekt umfassen. Der dynamische Reflex mildert einen Massenträgheitsimpuls des Kontaktes, der nicht bereits durch die sättigungsbegrenzte statische Kraft angesprochen ist. Der dynamische Reflex kann auf einer dynamischen Modellierung und/oder einer äußeren Wahrnehmung beruhen, um den Kontakt zu detektieren, d. h. ein physikalisches Erfassen des Kontaktes derart, dass der Roboter Stimuli empfängt und darauf reagiert, welche von außerhalb seiner Struktur stammen, um den Kontakt zu identifizieren. Auf diese Weise kann der Roboter die Auswirkung der Massenträgheit auf seinen Manipulator verringern, welche ansonsten nur angesprochen wird, indem die Masse und/oder die Spitzengeschwindigkeit des Manipulators verringert werden.
-
Es wird hier ein Verfahren offenbart, um einen kraft- oder impedanzgesteuerten Roboter zu steuern, der einen Robotermanipulator aufweist und in einem unstrukturierten Arbeitsraum arbeitet. Das Verfahren umfasst, dass automatisch eine Sättigungsgrenze für eine statische Kraft festgelegt wird, die von dem Robotermanipulator auf das ihn umgebende Umfeld aufgebracht wird, sodass die statische Kraft zu keinem Zeitpunkt die Sättigungsgrenze überschreiten kann.
-
Die Sättigungsgrenze kann mit Bezug auf ein Drehmoment in einem Gelenk des Robotermanipulators und/oder eine kartesische Kraft und ein kartesisches Moment an einem gewählten Punkt am Robotermanipulator definiert werden. Das Verfahren kann ferner umfassen, dass eine Kontaktkraft zwischen dem Robotermanipulator und einem Objekt bestimmt wird, wenn der Robotermanipulator mit dem Objekt im unstrukturierten Arbeitsraum in Kontakt tritt, und dass automatisch ein dynamischer Reflex des Manipulators ausgeführt wird, wenn die Kontaktkraft einen kalibrierten Schwellenwert überschreitet.
-
Ein Robotersystem, wie es hier offengelegt wird, enthält einen Controller und einen kraft- oder impedanzgesteuerten Roboter mit einem Robotermanipulator und einem unstrukturierten Arbeitsraum. Der Controller legt eine Sättigungsgrenze für eine statische Kraft fest, die von dem Manipulator auf das ihn umgebende Umfeld aufgebracht wird, sodass die statische Kraft zu keinem Zeitpunkt die Sättigungsgrenze überschreiten kann.
-
Es wird hier auch ein Controller für einen kraft- oder impedanzgesteuerten Roboter offenbart. Der Roboter arbeitet in einem unstrukturierten Arbeitsraum und weist einen Robotermanipulator auf. Der Controller enthält eine Hostmaschine, die programmiert ist, um eine Sättigungsgrenze für eine statische Kraft automatisch festzulegen, die von dem Robotermanipulator auf das ihn umgebende Umfeld aufgebracht wird, sodass die statische Kraft zu keinem Zeitpunkt die Sättigungsgrenze überschreiten kann.
-
Die vorstehenden Merkmale und Vorteile und andere Merkmale und Vorteile der vorliegenden Erfindung ergeben sich leicht aus der folgenden genauen Beschreibung der besten Arten, um die Erfindung auszuführen, wenn sie in Verbindung mit den beiliegenden Zeichnungen gelesen wird.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 ist eine schematische Darstellung eines Robotersystems, das einen kraft- oder impedanzgesteuerten geschickten Roboter mit Robotermanipulatoren aufweist, die gesteuert werden, wie es hier offenbart ist;
-
2 ist eine Zeichnung mit logischen Steuerblöcken, die eine Steuerstrategie für das in 1 gezeigte Robotersystem bereitstellt; und
-
3 ist ein Flussdiagramm, das ein Verfahren zum Steuern des kraft- oder impedanzgesteuerten Roboters von 1 beschreibt.
-
BESCHREIBUNG
-
Mit Bezug auf die Zeichnungen, in denen gleiche Bezugszeichen in den verschiedenen Ansichten gleiche oder ähnliche Komponenten bezeichnen und mit 1 beginnend ist ein Robotersystem 10 gezeigt, das einen geschickten Roboter 11 aufweist, der hier in einer humanoiden Ausführungsform gezeigt ist, welcher über eine elektronische Steuereinheit oder einen Controller 12 gesteuert wird. Der Roboter 11 wird unter Verwendung von kraft- oder impedanzbasierten Befehlen und Rückmeldungen wie vorstehend erwähnt gesteuert.
-
Der Controller 12 stellt eine Steuerstrategie für den Roboter 11 unter Verwendung eines Algorithmus 100 bereit, der nachstehend mit Bezug auf 2 und 3 beschrieben wird. Die Steuerstrategie stellt eine statische Nachgiebigkeitsphase (Steuerphase I) zu jedem Zeitpunkt bereit und kann auch eine zusätzliche dynamische Reflexphase (Steuerphase II) bereitstellen, um dazu beizutragen, den sicheren Betrieb des Roboters 11 in einem unstrukturierten Arbeitsraum sicherzustellen. Die Steuerphase(n) wird bzw. werden von dem Controller 12 mit Hilfe eines Gelenkdrehmomentbefehlssignals 50 ausgeführt, das so berechnet wird, wie nachstehend offengelegt und mit Bezug auf 2 erläutert wird.
-
Der Begriff ”unstrukturiert” bezeichnet, so wie er hier verwendet wird, eine Arbeitsumgebung oder einen Arbeitsraum, der zumindest teilweise undefiniert ist und/oder mit menschlichen Bedienern oder anderen Objekten gemeinsam genutzt wird, wobei speziell die Objekte/Bediener eine unbestimmbare oder eine unvorhersagbare Position aufweisen. Ein derartiger Arbeitsraum ist im Gegensatz zu einem typischen strukturierten Roboterarbeitsraum definiert, der gut definierte oder klare markierte Grenzen aufweist. Strukturierte Arbeitsräume ermöglichen es, dass Objekte, die eine hochgradig geregelte Position und hochgradig geregelte Dimensionen aufweisen, in ihren Begrenzungen vorhanden sind, aber sie erlauben es nicht, dass menschliche Bediener in diesen Grenzen anwesend sind. Das Entstehen einer flexiblen Automatisierung kann dazu führen, dass ein Roboter in Arbeitsräumen verwendet wird, die größtenteils unstrukturiert sind und/oder häufig gemeinsam mit menschlichen Bedienern genutzt werden, z. B. Raumerforschungs- oder Industrieanwendungen. Bei derartigen Anwendungen kann ein geschickter Roboter bestimmte Arbeitsaufgaben bei einer sich ändernden Umgebung ausführen, die menschenähnliche Geschicklichkeitsniveaus erfordern.
-
Der Roboter 11 von 1 kann ausgelegt sein, um automatisierte Aufgaben mit mehreren Freiheitsgraden (DOF) durchzuführen und um andere interaktive Aufgaben durchzuführen oder andere integrierte Systemkomponenten zu steuern, z. B. festklemmen, beleuchten, Relais, usw. Gemäß einer möglichen Ausführungsform kann der Roboter 11 eine Vielzahl von unabhängig und voneinander abhängig bewegbaren stellgliedgetriebenen Robotergelenken aufweisen, wie etwa ohne Einschränkung ein Schultergelenk, dessen Position allgemein durch Pfeil 13 angezeigt ist, ein Ellenbogengelenk, das allgemein bei (Pfeil 15) ist, ein Handgelenk (Pfeil 17), ein Nackengelenk (Pfeil 19) und ein Taillengelenk (Pfeil 21) sowie die verschiedenen Fingergelenke (Pfeil 23), die zwischen den Gliedern jedes Roboterfingers 14 positioniert sind.
-
Jedes Robotergelenk kann einen oder mehrere Freiheitsgrade (DOF) aufweisen. Zum Beispiel können bestimmte nachgiebige Gelenke wie etwa das Schultergelenk (Pfeil 13) und das Ellenbogengelenk (Pfeil 15) mindestens zwei DOF in der Form von Nicken und Drehen aufweisen. Auf die gleiche Weise kann das Nackengelenk (Pfeil 17) mindestens drei DOF aufweisen, während die Taille und das Handgelenk (Pfeil 21 bzw. 17) einen oder mehrere DOF aufweisen können. In Abhängigkeit von der Komplexität der Aufgabe kann sich der Roboter 11 mit über 42 DOF bewegen. Jedes Robotergelenk enthält ein oder mehrere Stellglieder und wird intern von diesen angetrieben, z. B. Gelenkmotoren, lineare Stellglieder, rotatorische Stellglieder und dergleichen.
-
Der Roboter 11 kann Komponenten wie etwa einen Kopf 16, einen Torso 18, eine Taille 20, Arme 22, Hände 24, Finger 14 und diesen gegenüberstellbare Daumen 26 enthalten, wobei die verschiedenen vorstehend erwähnten Gelenke innerhalb oder zwischen diesen Komponenten angeordnet sind. Der Roboter 11 kann auch eine für die Aufgabe geeignete Halterung oder Basis (nicht gezeigt) enthalten, etwa Beine, Laufflächen oder eine andere bewegliche oder starre Basis in Abhängigkeit von der speziellen Anwendung oder der beabsichtigten Verwendung des Roboters. Eine Stromversorgung 28 kann einstückig am Roboter 11 montiert sein, z. B. ein wiederaufladbarer Batteriestapel, der auf dem Rücken des Torsos 18 mitgeführt oder getragen wird, oder eine andere geeignete Stromversorgung, oder die durch ein Verbindungskabel entfernt angebunden sein kann, um genügend elektrische Energie für die verschiedenen Gelenke zur Bewegung derselben bereitzustellen.
-
Der Controller 12 stellt eine präzise Bewegungssteuerung des Roboters 11 bereit, welche eine Steuerung über die feinen und groben Bewegungen umfasst, die benötigt werden, um ein Objekt oder ein Arbeitswerkzeug 30 zu manipulieren, das von den Finger 14 und dem Daumen 26 von einer oder mehreren Händen 24 ergriffen werden kann. Der Controller 12 ist in der Lage, jedes Robotergelenk und andere integrierte Systemkomponenten isoliert von den anderen Gelenken und Systemkomponenten unabhängig zu steuern, sowie eine Anzahl der Gelenke voneinander abhängig zu steuern, um die Aktionen der mehreren Gelenke bei der Durchführung einer relativ komplexen Arbeitsaufgabe vollständig zu koordinieren.
-
Immer noch mit Bezug auf 1 kann der Controller 12 als ein Server oder eine Hostmaschine ausgeführt sein, der bzw. die einen oder mehrere digitale Computer oder Datenverarbeitungseinrichtungen aufweist, die jeweils einen oder mehrere Mikroprozessoren oder zentrale Verarbeitungseinheiten (CPU), Festwertspeicher (ROM), Speicher mit wahlfreiem Zugriff (RAM), elektrisch löschbaren programmierbaren Festwertspeicher (EEPROM), einen Hochgeschwindigkeitstaktgeber, Analog/Digital-Schaltungen (A/D-Schaltungen), Digital/Analog-Schaltungen (D/A-Schaltungen) und beliebige benötigte Eingabe/Ausgabe-Schaltungen und -Einrichtungen (I/O-Schaltungen und Einrichtungen) sowie Signalaufbereitungs- und Pufferelektronik aufweisen. Einzelne Steueralgorithmen, die im Controller 12 vorhanden sind oder für den Controller leicht zugänglich sind, können im ROM oder einem anderen geeigneten Speicher gespeichert sein und automatisch ausgeführt werden, um die jeweilige Steuerfunktionalität bereitzustellen.
-
Mit Bezug auf 2 beschreibt eine schematische Steuerblockzeichnung 32 die grundlegenden Betriebsprinzipien des Controllers 12 von 1, die wie vorstehend erwähnt eine Steuerstrategie für eine statische Nachgiebigkeit (Steuerphase I) und wenn gewünscht für einen dynamischen Reflex (Steuerphase II) bereitstellen. Das heißt, dass der Roboter 11 von 1 ein kraft- oder impedanzgesteuerter Roboter ist und sein Verhalten daher als ein Massen-Feder-Dämpfungssystem modelliert werden kann. Ein kraft- oder ein impedanzbasiertes Steuergerüst kann verwendet werden, um gewünschte Steifigkeits-, Dämpfungs- und Massenträgheitseigenschaften des Systems anzugeben, etwa: mẍ + bẋ + kΔx = F wobei k die Federkonstante ist, m die Masse ist, auf die eingewirkt wird, b eine kalibrierte Konstante ist, F die auf die Masse aufgebrachte Kraft ist und Δx die Differenz zwischen einer tatsächlichen Position und einer gewünschten Position (x) der Masse ist. Eine kraft- oder impedanzbasierte Steuerung kann für eine physikalische Interaktion zwischen einem Roboter und dem ihn umgebenden Umfeld Robustheit bereitstellen und sie stellt Flexibilität für diverse Manipulationsaufgaben bereit.
-
Das Blockdiagramm 32 stellt eine Regelung des Roboters 11 von 1 unter Verwendung verschiedener Logikblöcke und Signalverarbeitungsknoten bereit. Mit Knoten 48 beginnend empfängt dieser spezielle Knoten eine gewünschte Gelenkposition 41, z. B. einen gewünschten Gelenkwinkel (qdes) und eine gemessene Gelenkposition 56, z. B. einen gemessenen Gelenkwinkel (q) eines gegebenen Robotergelenks, und berechnet die Differenz, z. B. (qdes – q). Die Differenz wird als ein Positionsfehlersignal 60 an einen Federdrehmomentblock 34 übertragen, der ein benötigtes ”Feder”-Gelenkdrehmoment 62 berechnet, das proportional zum Wert des Positionsfehlersignals 60 ist.
-
Das benötigte Federgelenkdrehmoment 62 bildet das statische Drehmoment/die statische Kraft, das bzw. die von einem gegebenen Robotermanipulator auf das ihn umgebende Umfeld aufgebracht wird. Dieses Signal wird vom Federdrehmomentblock 34 an einen Begrenzungsblock 35 übertragen, der obere und unsere Begrenzungen oder Sättigungsgrenzen für das Federgelenkdrehmoment 62 bereitstellt. Eine Eigenwahrnehmung kann verwendet werden, um eine durch den Roboter 11 aufgebrachte Kraft zu ermitteln. Bei der Verwendung hierin bezeichnet der Begriff Eigenwahrnehmung eine sensorische Modalität, die eine Rückmeldung nur anhand des internen Status des Roboters 11 bereitstellt, d. h. eine Erfassung, die anzeigt, ob sich der Roboter mit einem erforderlichen Aufwand bewegt, sowie wo sich die verschiedenen Teile des Roboters in Beziehung zueinander befinden. Eine externe Krafterfassung oder Detektion der Kontaktkraft, d. h. eine äußere Wahrnehmung, ist für diese Phase nicht erforderlich. Das sättigungsbegrenzte Drehmoment wird als ein Drehmomentsignal 64 an einen weiteren Signalverarbeitungsknoten 51 übertragen, dessen Funktion nachstehend beschrieben ist.
-
Das Blockdiagramm 32 enthält auch einen Dämpfungsdrehmomentblock 36, einen dynamischen Kompensationsblock 38, einen Schwerkraftkompensationsblock 40 und einen Kontaktdetektionsblock 42. Die Blöcke 38, 40 und 42 empfangen die gemessene Gelenkposition 56 als einen Eingang und erzeugen separat verschiedene Ausgangssignale. Der Dämpfungsdrehmomentblock 36 empfängt das Positionsfehlersignal 60 und stellt ein Ausgangsdrehmomentsignal 68 bereit. Das Signal 68 ist proportional zu dem Wert Bq', wobei B eine kalibrierte Proportionalitätskonstante ist und q' die zeitliche Ableitung des Gelenkwinkels ist. Der dynamische Kompensationsblock 38 erzeugt ein Kompensationssignal 70, welches dynamische Kräfte, speziell die Coriolis-Kraft, modelliert und nach Bedarf kompensiert.
-
Wie auf dem Gebiet verstanden wird, wird eine Coriolis-Kraft von dem Coriolis-Effekt erzeugt, der auf jedes Objekt wirkt, das in einem rotierenden Bezugsgerüst in Bewegung ist. Sie ist proportional zu der Geschwindigkeit der Drehung und des Bezugsgerüsts und zu der Geschwindigkeit des Objekts im gleichen Bezugsgerüst und sie wirkt in eine Richtung rechtwinklig zur Rotationsachse und zu der Geschwindigkeit des sich bewegenden Körpers im rotierenden Gerüst. Der Schwerkraftkompensationsblock 40 modelliert die Auswirkungen der Schwerkraft, die auf den Roboter 11 wirkt, und überträgt diesen Wert als Schwerkraftkompensationssignal 72, welches schließlich durch den Verarbeitungsknoten 51 subtrahiert wird.
-
Der Signalverarbeitungsknoten 51 berechnet ein vorläufiges Drehmomentsignal 66 als Funktion der verschiedenen Signale 64, 68, 70 und 72 von den jeweiligen Blöcken 35, 36, 38 und 40, wie vorstehend beschrieben ist. Das vorläufige Drehmomentsignal 66 wird an einen Signalverarbeitungsknoten 53 weitergegeben, der schließlich ein Gelenkdrehmomentbefehlssignal 50 zur Steuerung des Roboters 11 berechnet. Der Knoten 53 berechnet das Gelenkdrehmomentbefehlssignal 50 als Funktion des vorläufigen Drehmomentsignals 66 und eines Reflexdrehmomentsignals 78 von einem Reflexdrehmomentblock 46.
-
Immer noch mit Bezug auf 2 kann der Controller 12 den Kontaktdetektionsblock 42 verwenden, um einen externen Kontakt zu detektieren, indem er die Dynamik eines speziellen Robotermanipulators modelliert und/oder indem er eine externe Kraft physikalisch erfasst, die durch einen unerwarteten Kontakt zwischen dem Roboter 11 und einem Objekt, das ihm in seinem unstrukturierten Arbeitsraum begegnet ist, erzeugt wird. Eine äußere Wahrnehmung kann verwendet werden, um einen derartigen Kontakt zu detektieren, wobei der Begriff ”äußere Wahrnehmung” die Detektion der Kontaktkraft von außerhalb des Roboters 11 bezeichnet, unter Verwendung von Mitteln wie Bilderfassung, Kraftaufnehmern, Bereichsfindung usw. Er kann Eingaben wie etwa die gemessenen Gelenkpositionen 56 und eine erfasste oder gemessene externe Kraft 54 empfangen, wobei der Pfeil der Kraft 54 in 2 anzeigt, dass dieser Wert bei Bedarf zur Verwendung durch den Controller 12 weitergeleitet werden kann.
-
Ein Kontaktkraftsignal 74 von Block 42 kann mit Hilfe eines Schwellenwertvergleichsblocks 44 verarbeitet werden, um ein Reflexbefehlssignal 76 zu erzeugen. Wenn ein Reflexdrehmoment benötigt wird, d. h. wenn die externe Kraft des bei Block 42 detektierten Kontakts die Schwellenwertkraft von Block 44 überschreitet, leitet der Reflexdrehmomentblock 46 eine gewünschte Reflexreaktion ein, die an den Knoten 53 als das Reflexdrehmomentsignal 78 übertragen wird. Der tatsächlich gewünschte Reflex kann viele Gestalten annehmen, etwas das Erzeugen eines Drehmoments, um sich von dem Kontakt zurückzuziehen.
-
Der Knoten 53 berechnet dann das Gelenkdrehmomentbefehlssignal 50 als Funktion des vorläufigen Gelenkdrehmoments 66 und des Reflexdrehmomentsignals 78. Dem Roboter 11 wird mit Hilfe des Gelenkdrehmomentbefehlssignals 50 befohlen, das benötigte Kraftgelenkdrehmoment zu erzeugen. Er kann alle erfassten oder gemessenen Werte für die gemessene externe Kraft 54 und die Gelenkposition 56 zurückmelden.
-
Die Steuerregel, wie sie in 2 ausgedrückt ist, ist im Gelenkraum des Roboter 11 von 1 formuliert, d. h. mit Bezug auf die Gelenkfreiheitsgrade (DOF) des Roboters. Das heißt, dass die durch 2 beschriebene Sättigungsgrenze mit Bezug auf ein Gelenkdrehmoment und/oder eine kartesische Kraft und ein kartesisches Moment an einem gewählten Punkt des Robotermanipulators des Roboters 11 definiert ist. Im letzteren Fall kann die Steuerung im Arbeitsraum des Roboters 11 formuliert werden, d. h. mit Bezug auf die kartesischen Freiheitsgrade (DOF) eines Greiforgans des Roboters. In einem derartigen Fall betreffen die Sättigungsgrenzen die kartesischen Kräfte/Momente, die vom Roboter 11 aufgebracht werden, statt die Gelenkdrehmomente.
-
Mit Bezug auf 3 stellt der Algorithmus 100 eine mögliche Weise zur Ausführung der vorstehend offengelegten Steuerstrategie bereit. Der Algorithmus beginnt mit Schritt 102, bei dem der Controller 12 von 1 automatisch eine Sättigungsgrenze für die statische Kraft festlegt, die von einem gegebenen Manipulator des Roboters 11 aufgebracht werden kann, d. h. von einem Finger, einem Daumen, einer Hand oder einem anderen Manipulator, sodass diese Grenze zu keinem Zeitpunkt überschritten werden kann. Mit anderen Worten sättigt der Controller 12 automatisch die virtuelle ”Federkraft” in einem impedanzbasierten Gerüst wie vorstehend erwähnt, z. B. indem er Gelenkdrehmomente mit Hilfe des vorstehend beschriebenen Sättigungsbegrenzungsblocks 35 begrenzt. Der Roboter 11 wird sich in das ihn umgebende Umfeld einfügen, ohne sich durch Hindernisse zu kämpfen, die er möglicherweise in seinem Arbeitsraum kontaktiert. Schritt 102 stellt eine inhärente Arbeitsraumsicherheit bereit, da er immer läuft und keine Kontakt- oder Näherungsdetektion benötigt.
-
Bei Schritt 104 kann der Controller 12 außerdem ermitteln, ob eine Schwellenwertkontaktkraft vorhanden ist. Zum Beispiel kann der Kontaktdetektionsblock 42 von 2 verwendet werden, um einen Kontakt zwischen dem Roboter 11 und einem Objekt zu detektieren, indem ein Modellieren der Dynamik verwendet wird und/oder indem die Kontaktkraft wie vorstehend erwähnt erfasst wird. Der Vergleichsblock 44 kann verwendet werden, um die Schwellenwertentscheidung zu treffen und um die Entscheidung, ob ein dynamischer Reflex eingeleitet werden soll oder nicht, innerhalb des Controllers 12 zu übermitteln.
-
Bei Schritt 106 führt der Controller 12 einen dynamischen Reflex am Roboter 11 ein. Aufgrund der Massenträgheit wird der Roboter 11 bei einem Kontakt mit einem Objekt in seinem Arbeitsraum eine größere dynamische Kraft ausüben. Wenn die Kontaktkraft einen Schwellenwert überschreitet, leitet der Controller 12 den kalibrierten Reflex mit Hilfe des Reflexblocks 46 ein. Der Algorithmus 100 geht zu Schritt 108 weiter.
-
Bei Schritt 108 unterbricht der Controller 12 den dynamischen Reflex und schaltet zurück zu der rein statischen Nachgiebigkeit von Schritt 102. Das heißt, dass der Controller 12 zur Steuerphase I standardmäßig zurückkehrt, d. h. dem statischen Überwachen durch Block 34, während er fortfährt, einen Kontakt im Arbeitsraum zu überwachen.
-
Durch die Verwendung des Algorithmus 100, wenn dieser gemäß dem Logikdiagramm 32 von 2 ausgeführt wird, wird ein sicherer Betrieb in einer unstrukturierten Arbeitsumgebung sichergestellt, die von geschickten Robotern wie etwa dem Roboter 11, menschlichen Bedienern und beliebigen nicht festgelegten Objekten gemeinsam genutzt wird. Das Impedanzgerüst mit der ununterbrochenen statischen Nachgiebigkeit stellt sicher, dass die Nachgiebigkeit immer im Betrieb steht, ohne den Bedarf zur Wahrnehmung der Umgebung. Die optionale dynamische Reflexphase kann verwendet werden, um die Kontaktkraft zu verringern, die bei einer schnellen Bewegung des Roboters 11 auftritt, sodass sie innerhalb einer kalibrierten Steuerungsbandbreite liegt.
-
Abwahl die besten Arten zum Ausführen der Erfindung im Detail beschrieben wurden, werden Fachleute auf dem Gebiet, das diese Erfindung betrifft, verschiedene alternative Entwürfe und Ausführungsformen erkennen, um die Erfindung im Umfang der beigefügten Ansprüche in die Praxis umzusetzen.