-
TECHNISCHES GEBIET
-
Die vorliegende Erfindung betrifft ein System und ein Verfahren zum Steuern eines Roboters in einem interaktiven Mensch-Roboter-System.
-
HINTERGRUND DER ERFINDUNG
-
Bei einem interaktiven Mensch-Roboter-System (HRI-System) interagiert ein menschlicher Bediener direkt mit einer Robotereinrichtung, die die Ausführung einer speziellen Aufgabe durch Aufbringen einer Kraft auf ein oder mehrere Glieder durchführt oder unterstützt. Der Bediener kann eine Eingabe in der Gestalt einer aufgebrachten Kraft und/oder eines aufgebrachten Drehmoments aufbringen, die ein Controller im Hinblick auf die Aufgabe, die gerade ausgeführt wird, interpretieren muss. Dadurch bilden der Roboter sowie der Bediener ein integriertes System, das die gewünschten Aufgaben durchführt. Als einer von zwei Teilen im System muss der Roboter zu einer effektiven Arbeit mit dem Menschen in der Lage sein. Es ist daher ein grundlegendes Ziel jedes HRI-Systems, ein Menschenmodell typischerweise in der Gestalt von Arbeitsprinzipien und/oder Steueralgorithmen genau zu definieren, das eine natürlichere und effektivere Interaktion zwischen dem oder den menschlichen Bedienern und den verschiedenen integrierten Komponenten des Roboters ermöglicht.
-
Die
US 2008/0 161 937 A1 offenbart eine anziehbare Bewegungsunterstützungsvorrichtung und ein zugehöriges Steuerungsprogramm zur Unterstützung von Menschen mit Muskelschwächen, bei der ein Controller das Niveau der Steuerungsempfindlichkeit der Bewegungsunterstützungsvorrichtung unter Verwendung eines vom Controller ermittelten sich verändernden Steifigkeitswerts automatisch einstellt.
-
In der
US 2007/0 052 496 A1 ist eine Rückmeldung mit hoher Frequenz für Telerobotiksysteme offenbart, die Bedienereingabewerte über einen Griff erfassen.
-
Die
US 4 964 061 A offenbart ein Telerobotiksystem, das Muskelsignale eines Bedieners erfasst und zur Steuerung entfernter Stellglieder verwendet.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Entsprechend werden hier ein HRI-System und ein Verfahren zur Steuerung desselben mit einem optimierten Niveau an Steuerstabilität bereitgestellt. Das System umfasst einen Controller mit einer Bediener-Roboter-Schnittstelle, z. B. einem Bediengerät und Sensoren, und einen Roboter, mit dem der Bediener kommuniziert, wie hier beschrieben wird, mit einer proportionalen Reaktion auf eine von dem Bediener aufgebrachte Eingabekraft. Der Roboter kann ein oder mehrere mit Leistung versorgte Elemente umfassen, etwa Stellglieder in der Form von Motoren, Bremsen, Riemenscheiben, Seilen und/oder anderen Gliedern, wobei die verschiedenen mit Leistung versorgten Elemente gemeinsam an einer Nutzlast oder einem anderen Objekt arbeiten. Beispielsweise kann es bei einer Montageumgebung vorkommen, dass relativ sperrige Nutzlasten wie etwa Maschinen und Getriebe von dem Bediener in einer Arbeitszelle positioniert werden müssen. Bei einer derartigen Umgebung kann ein über Kopf angebrachter Unterstützungsroboter verwendet werden, um eine Bewegung der Nutzlast in der Arbeitszelle zu unterstützen, um dadurch die Montage zu erleichtern. Es können jedoch auch andere Objekte oder Nutzlasten verwendet werden, ohne den beabsichtigten Umfang der Erfindung zu verlassen.
-
Wenn ein Bediener eine Eingabekraft auf einen Satz von Griffstangen aufbringt, die an einem Bediengerät der Bediener-Roboter-Schnittstelle oder alternativ an der Nutzlast selbst angebracht sind, ermittelt der Controller automatisch einen dem Bediener zugeordneten Steifigkeitswert, stellt die Steuerungsempfindlichkeit unter Verwendung dieses Werts ein und steuert und koordiniert dann die Funktionen von verschiedenen mit Leistung versorgten Elementen des Roboters, z. B. der verschiedenen Motoren, Bremsen, Gelenke, Relais, Laser, usw., um dadurch den Roboter mit einer proportionalen Reaktion auf die Eingabekraft zu steuern. Das heißt, dass eindeutige Steifigkeitseigenschaften eines gegebenen Bedieners zu einem gegebenen Zeitpunkt sowie des Roboters die Gesamtstabilität und die Leistung des HRI-Systems beeinflussen. Steifigkeit ist hier als der Widerstand eines elastischen Körpers, z. B. eines menschlichen Bedieners, gegen eine Deformation durch eine aufgebrachte Kraft definiert. Die Steifigkeit des menschlichen Bedieners kann die Gesamtsystemstabilität und damit die Gesamteffektivität des Controllers in großem Maße beeinflussen.
-
Bei einer Ausführungsform wird eine Nutzlast von einem Bediener über ein Schnittstellengerät mit Griffstangen, die jeweils mit Kraftsensoren ausgerüstet sind, positioniert. Zusätzliche Sensoren, wie etwa Druckmatten und Laser können mit Bezug auf den Bediener positioniert sein, um den Bediener in der Arbeitszelle präzise zu identifizieren und zu lokalisieren. Die Positions- und Kraftmesswerte werden von dem Controller aufgezeichnet und ein Steifigkeitswert des Bedieners wird berechnet. Derartige Berechnungen können offline durchgeführt und einem speziellen Bediener zugeordnet werden, oder sie können in Echtzeit durchgeführt werden. Eine Varianz von einem kalibrierten minimalen und maximalen Steifigkeitswert eines gegebenen Bedieners kann gemessen werden, indem Muskelaktivierungsniveaus direkt oder indirekt detektiert werden. Dann findet eine automatische Einstellung des Niveaus der Steuerungsempfindlichkeit auf der Grundlage des in Echtzeit berechneten Steifigkeitswerts statt, wodurch die Steuerungsstabilität optimiert wird.
-
Spezielle Muskeln, die bei einer gegebenen Operation am wahrscheinlichsten direkt betroffen sind, etwa der menschliche Unterarm und/oder das Handgelenk, können als Zielmessgebiete zur Ermittlung des Niveaus an Muskelaktivierung isoliert sein. Elektroden oder andere Einrichtungen zur direkten Messung des Muskelaktivierungsniveaus können während einer speziellen roboterunterstützten Operation verwendet werden, z. B. wenn ein Bediener eine Nutzlast mit Unterstützung des Roboters bewegt, um die Steifigkeitsberechnung zu optimieren. Indirekt kann eine Varianz bei der Muskelgröße oder eine Veränderung bei der Greifkraft eines gegebenen Bedieners verwendet werden, um Muskelaktivierungsniveaus und aus diesen Werten einen relativen Steifigkeitswert zu ermitteln. Ein höheres Niveau an Steuerungsempfindlichkeit kann automatisch in Kraft gesetzt werden, wenn ermittelt wird, dass der Steifigkeitswert mit Bezug auf einen kalibrierten Schwellenwert niedrig ist. Auf ähnliche Weise kann, wenn ermittelt wird, dass der Steifigkeitswert relativ hoch ist, ein niedrigeres Niveau an Steuerungsempfindlichkeit in Kraft gesetzt werden.
-
Insbesondere wird ein Robotersystem bereitgestellt, das einen Roboter umfasst, der mit Leistung versorgte Elemente aufweist, die zum Bewegen einer Nutzlast in einer proportionalen Reaktion auf eine Eingabekraft von einem menschlichen Bediener ausgelegt sind. Das System umfasst eine Bediener-Roboter-Schnittstelle mit einer Vielzahl von Sensoren, die zum Messen eines vorbestimmten Satzes von Bedienereingabewerten ausgelegt sind, welche die Eingabekraft umfassen, und einen Controller in Verbindung mit der Schnittstelle. Der Controller betätigt die mit Leistung versorgten Elemente in Ansprechen auf die Eingabekraft und ermittelt einen Steifigkeitswert des Bedieners unter Verwendung des Satzes von Bedienereingabewerten. Während der Ausführung einer Aufgabe werden Muskelaktivierungsniveaus entweder direkt oder indirekt detektiert, um eine Veränderung bei der Steifigkeit von kalibrierten Maximal- oder Minimalwerten zu ermitteln. Der Controller stellt ein Niveau der Steuerungsempfindlichkeit des Roboters unter Verwendung des Steifigkeitswerts auf automatische Weise ein, wodurch die Steuerungsstabilität optimiert wird.
-
Ein Steuersystem zur Bereitstellung einer Bewegungssteuerung des vorstehend erwähnten Roboters umfasst die Bediener-Roboter-Schnittstelle mit der Vielzahl von Sensoren und eine Host-Maschine mit einem Algorithmus, der zur Ermittlung des Steifigkeitswerts des Bedieners unter Verwendung des Satzes von Bedienereingabewerten ausgelegt ist. Der Controller stellt das Niveau der Steuerungsempfindlichkeit des Roboters unter Verwendung des Steifigkeitswerts automatisch ein, wodurch die Steuerungsstabilität optimiert wird.
-
Ein Verfahren zum Steuern des vorstehend erwähnten Roboters umfasst, dass unter Verwendung der Vielzahl von Sensoren der vorbestimmte Satz von Bedienereingabewerten gemessen wird, welche die Eingabekraft umfassen, dass die Eingabewerte unter Verwendung des Controllers verarbeitet werden, um dadurch den Steifigkeitswert des Bedieners zu berechnen, und dass dann ein Niveau der Steuerungsempfindlichkeit des Roboters unter Verwendung des Steifigkeitswerts automatisch eingestellt wird. Während der Durchführung einer Aufgabe werden, wie vorstehend erwähnt, Muskelaktivierungsniveaus entweder direkt oder indirekt ermittelt, um eine Veränderung bei der Steifigkeit von kalibrierten Maximal- oder Minimalwerten zu ermitteln.
-
Die vorstehenden Merkmale und Vorteile und andere Merkmale und Vorteile der vorliegenden Erfindung ergeben sich leicht aus der folgenden genauen Beschreibung der besten Arten zum Ausführen der Erfindung, wenn sie in Verbindung mit den beiliegenden Zeichnungen gelesen wird.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 ist eine schematische Veranschaulichung eines interaktiven Mensch-Roboter-Systems (HRI-Systems) gemäß der Erfindung; und
-
2 ist ein Flussdiagramm, das einen Steuerungsalgorithmus zur Verwendung mit dem in 1 gezeigten HRI-System beschreibt.
-
BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
-
Mit Bezug auf die Zeichnungen, bei denen gleiche Bezugszeichen in den verschiedenen Ansichten gleiche oder ähnliche Komponenten bezeichnen, zeigt 1 ein interaktives Mensch-Roboter-System (HRI-System) 10, das zum Durchführen einer roboterunterstützten Operation ausgelegt ist. Innerhalb des HRI-Systems 10 interagiert ein menschlicher Bediener 12 mit einem Roboter (R) 14, indem er eine Eingabe (Pfeil F), z. B. eine Druckkraft, auf eine Bediener-Roboter-Schnittstelle 16 ausübt, die einen Rahmen 15 und Griffstangen 20 aufweist, die zum Empfang der Eingabe ausgelegt sind.
-
Bei einer Ausführungsform kann der Roboter 14 als eine über Kopf angebrachte Nutzlastunterstützungseinrichtung ausgestaltet sein, die zum Unterstützen bei der Positionierung einer Nutzlast 30 in einem Arbeitsbereich oder einer Zelle ausgestaltet ist, wie durch Pfeile A und B angezeigt ist. Der Roboter 14 kann verschiedene mit Leistung versorgte Elemente und/oder Stellglieder umfassen, z. B. einen oder mehrere Motoren (M) 21 und Bremsen (B) 25 sowie beliebige notwendige Relais, Zahnräder, Leistungsversorgungen, Leistungsaufbereitungsgeräte usw., die zum Betreiben des Roboters benötigt werden. Die Nutzlast 30, beispielsweise eine Kraftfahrzeugmaschine, ein Getriebe oder eine andere relativ sperrige Nutzlast, kann mit dem Roboter 14 mit so vielen Gliedern 18 verbunden sein, wie zur Durchführung der gewünschten Operation geeignet sind. Obwohl das bzw. die Glieder 18 in 1 der Einfachheit halber als ein einziges Glied gezeigt sind, kann es bzw. können sie in Abhängigkeit von der Größe und dem Gewicht der Nutzlast 30 als ein Netzwerk aus Seilen, Riemenscheiben, über Kopf angebrachten und/oder vertikalen Stützelementen, Auslegerbalken usw. ausgestaltet sein.
-
Das HRI-System 10 umfasst ein Steuersystem mit einem Controller (C) 23, der als eine Host-Maschine 23 ausgeführt ist, die zum Ausführen eines Algorithmus 100 ausgelegt ist, und verschiedenen Sensoren, wie nachstehend erläutert wird. Eine Ausführung des Algorithmus 100 stellt eine automatische auf der Steifigkeit des Menschen beruhende Bewegungs- und Systemebenensteuerung der Operationen des Roboters 14 bereit, die alle integrierten Komponenten umfasst, die zur Schaffung einer präzisen Steuerung des Roboters notwendig sind. Der Controller 23 kann als ein einzelner Digitalrechner oder als ein verteiltes Netzwerk von Digitalrechnern, Host-Maschinen, Datenverarbeitungseinrichtungen oder Servern ausgestaltet sein, die jeweils einen oder mehrere Mikroprozessoren oder zentrale Verarbeitungseinheiten (CPU), genügend Festwertspeicher (ROM), Speicher mit wahlfreiem Zugriff (RAM) und elektrisch programmierbaren Festwertspeicher (EPROM) aufweisen. Der Controller 23 kann einen Hochgeschwindigkeitstaktgeber, Analog/Digital-Schaltungen (A/D-Schaltungen), Digital/Analog-Schaltungen (D/A-Schaltungen) sowie beliebige benötigte Eingabe/Ausgabe-Schaltungen (E/A-Schaltungen), E/A-Einrichtungen und Kommunikationsschnittstellen sowie Signalaufbereitungs- und Pufferelektronik umfassen. Einzelne Steuerungsalgorithmen, die im Controller 23 vorhanden oder für diesen leicht zugänglich sind, welche den nachstehend mit Bezug auf 2 beschriebenen Algorithmus 100 umfassen, können im ROM gespeichert sein und automatisch auf einer oder mehreren verschiedenen Steuerungsebenen ausgeführt werden, um die jeweilige Steuerungsfunktionalität bereitzustellen.
-
Immer noch mit Bezug auf 1 kann die Bediener-Roboter-Schnittstelle 16 bei einer Ausführungsform den Rahmen 15 und die Griffstangen 20 umfassen. Optional können die Griffstangen 20 mit der Nutzlast 30 direkt verbunden sein, wie durch optionale Griffstangen 20A gestrichelt dargestellt ist. Wenn der Rahmen 15 verwendet wird, kann er in Abhängigkeit vom speziellen Entwurf mit einer oder mehreren Eingabeeinrichtungen 17 verbunden sein, z. B. Autostopp-Tastern, Anzeigegeräten, Eingabetastenfeldern usw. Jede Griffstange 20 umfasst einen Sensor 22 oder ein Feld derselben, wobei eine Kraft (Pfeil F), die vom Bediener 12 auf jeden der Griffe aufgebracht wird, von den Sensoren 22 gemessen und in ein Eingangssignal 11 umgesetzt wird. Das Eingangssignal 11, das die von Pfeil F aufgebrachte Kraft darstellt, wird an den Controller 23 zur Verwendung durch den Algorithmus 100, wie nachstehend offengelegt wird, weitergeleitet. Steuerungsdaten und Rückkopplungsdaten, die durch einen Doppelpfeil 13 dargestellt sind, können zwischen dem Roboter 14 und dem Controller 23 ausgetauscht werden, um eine präzise Bewegungs- und Systemsteuerung des Roboters mit einer proportionalen Reaktion auf die aufgebrachte Kraft sicherzustellen.
-
Der Controller 23 von 1 verwendet den Ansatz einer menschlichen Steifigkeit, um ein benötigtes Niveau an Steuerungsempfindlichkeit zu ermitteln. Vom Standpunkt einer variablen Impedanzsteuerung aus kann es vorteilhaft sein, die Steuerungsempfindlichkeit auf eine Weise zu modifizieren, die für den Bediener 12 leicht wahrnehmbar ist. Wie der Fachmann versteht, kann beispielsweise aus dem Lyapunov-Theorem erhalten werden, dass die menschliche Steifigkeit verwendet werden kann, um Impedanzgrenzparameter in einem Steuersystem zu ermitteln.
-
Unter der Voraussetzung des möglicherweise weiten Bereichs an Arbeitsaufgaben, die von dem Roboter 14 gefordert werden und des weiten Bereichs möglicher menschlicher Bediener, von denen jeder ein möglicherweise abweichendes Steifigkeitsniveau aufweist, kann ein für alle Bediener konstantes Systemempfindlichkeitsniveau suboptimal sein. Das heißt, dass verschiedene menschliche Bediener verschiedene Steifigkeitsbereiche mit Bezug zueinander aufweisen können. Auf ähnliche Weise könnte ein gegebener Bediener verschiedene Steifigkeitsniveaus zeigen, während er verschiedene Operationen ausführt, oder während er die gleiche Operation zu verschiedenen Zeitpunkten ausführt. Die einfache Annahme eines konstanten oder konservativen Steifigkeitswerts, die von einigen herkömmlichen kommerziellen Unterstützungsrobotern verwendet wird, kann ein effektives Arbeiten mit dem Roboter schwierig machen.
-
Immer noch mit Bezug auf 1 wird der Algorithmus 100 von dem Controller 23 automatisch ausgeführt, um einen auf der Steifigkeit basierenden Ansatz für die Steuerung des Roboters 14 bereitzustellen. Ein Mensch, wie etwa der menschliche Bediener 12 von 1, weist viele Gelenke auf, z. B. Handgelenk, Finger, Ellenbogen usw. Eine korrekte Ermittlung der menschlichen Steifigkeit zieht daher die Gliedsteifigkeit in Betracht, d. h. eine mechanische Eigenschaft der menschlichen Knochen, und eine Gelenksteifigkeit, d. h. eine mechanische Eigenschaft der verschiedenen Gelenkstellglieder, wie etwa der Muskeln und Sehnen.
-
Wie der Fachmann versteht, kann der menschliche Körper bis zu einem gewissen Grad als eine mechanische Feder aufgefasst werden, die modelliert werden kann als Δf = –k(Δx).
-
Bei dieser Gleichung stellt Δf die Veränderung bei einer Wiederherstellkraft dar, die von der Feder in Ansprechen auf die aufgebrachte Kraft (Pfeil F) ausgeübt wird, Δx stellt die Distanz dar, um welche die Feder aus der Gleichgewichtsposition weg gedehnt oder komprimiert wurde, und k stellt die Steifigkeit der Feder dar. Auf ähnliche Weise befinden sich menschliche Muskeln in einem Gleichgewichtszustand, bevor sie sich bewegen. Bei einer gegebenen Aufgabe identifiziert ein Mensch den oder die nächsten Gleichgewichtszustände und verändert nicht deformierte Längen einiger Muskeln durch ein Aktivieren der benötigten Muskel. Die Muskeln selbst werden sich in einem Dehnungs- oder Kompressionszustand befinden, bevor die tatsächliche Längenänderung auftritt. Dieser Zustand ist messbar. Von den Muskeln erzeugte Kräfte bewegen schließlich die Glieder des Bedieners und eine beliebige Nutzlast oder ein beliebiges Objekt, das durch den Roboter 14 unterstützt wird, zu einem gewünschten Ziel hin.
-
Bei einer menschlichen Feder kann die Variable Δx in der vorstehenden Gleichung dargestellt werden als: Δx = ΔxSTART – ΔxEND – ΔL wobei ΔL die Längenänderung der undeformierten menschlichen Feder ist. Während einer Operation, z. B. wenn ein Bediener ein Teil unter Verwendung des Roboters 14 bewegt, ändert sich der Wert von Δf sowie derjenige von ΔxSTART, ΔxEND und ΔL. Es kann sein, dass Messwerte des Längenwerts (ΔL) in Echtzeit schwierig präzise zu ermitteln sind. Daher kann der Controller 23 verwendet werden, um Grundliniensteifigkeitswerte für einen gegebenen Bediener 12 zu messen, d. h. einen minimalen, Gleichgewichts- oder entspannten Steifigkeitswert, wenn sich der Bediener nicht bewegt und nicht beabsichtigt, sich zu bewegen, sowie einen maximalen Steifigkeitswert. Ein Übergang innerhalb eines Steifigkeitsbereichs, der durch diese kalibrierten Werte definiert wird, kann von dem Controller 23 ermittelt werden, indem Muskelaktivierungsniveaus des Bedieners 12 gemessen werden, wie nachstehend angemerkt wird.
-
Die theoretische Formel Δf = –k(Δx) trifft in einem Fall zu, bei dem sich der Bediener 12 nicht bewegt und nicht beabsichtigt, sich zu bewegen, d. h. ΔxSTART oder ΔxEND = 0 und ΔL in einem undeformierten Zustand = 0. Δx kann bei einem Gleichgewichtszustand gemessen werden. Der Wert von Δf kann von den Sensoren 22 der Schnittstelle 16 direkt gemessen werden, wobei ein Wert für die Steifigkeit k berechnet wird.
-
In einem Fall, bei dem sich der Bediener 12 bewegt, und bei dem weder ΔxSTART noch ΔxEND gleich Null sind, kann die Ermittlung dieser Terme durch Messen sich verändernder Positionen des Bedieners 12 und/oder der Nutzlast 30 über eine Druckmatte 40 oder durch Messen eines relevanten Teils des Körpers des Bedieners und/oder der Nutzlast unter Verwendung eines Sichterkennungssystems (V) 42, z. B. einer lokalen Positionierungseinrichtung, die geeignete Lichtquellen 44 verwendet, welche Lichtstrahlen 46 erzeugen, eines Felddetektionsmechanismus, Messungen auf der Grundlage eines linearen Umformers mit variablem Differential (LVDT), Ultraschallsensoren 31 oder anderen geeigneten lokalen Positionierungseinrichtungen bewerkstelligt werden. Wenn der Bediener 12 beabsichtigt, sich zu bewegen, ändert sich die Länge L der undeformierten menschlichen Feder und ΔL ist nicht gleich Null. In diesen Fällen kann die Formel Δf = –k(ΔxSTART – ΔxEND – ΔL) verwendet werden, um den Steifigkeitswert (k) zu berechnen, wobei der Wert von ΔL entweder durch direktes oder durch indirektes Messen von Muskelaktivierungsniveaus des Bedieners 12 ermittelt wird.
-
Das heißt, dass die Länge (L) der undeformierten menschlichen Feder, d. h. des Bedieners 12, in Bezug zum Niveau oder Grad an Muskelbetätigung steht und durch Messen von elektrischen Eigenschaften der Muskeln des Bedieners 12 direkt ermittelt, oder durch Messung von Veränderungen bei der Muskelgröße des Bedieners, wenn der Bediener eine Aufgabe ausführt, indirekt ermittelt werden kann. Zu diesem Zweck kann bei einer Ausführungsform ein Biosensor 32, z. B. ein Streifen, von dem Bediener 12 an einem Unterarm oder einer Hand getragen werden, um in Abhängigkeit von der Ausgestaltung des Streifens das Muskelaktivierungsniveau direkt zu ermitteln, oder um die Veränderung bei der Muskelgröße zu ermitteln. Bei einer anderen Ausführungsform kann der Sensor 22 ausgelegt sein, um eine Veränderung bei der auf die Griffstangen 20 ausgeübten Greifkraft zu messen, oder ein separater Sensor kann an dieser Stelle bereitgestellt und für den gleichen Zweck eingesetzt werden.
-
Der Controller 23 kann diesen Wert verwenden, um die Berechnung des Steifigkeitswerts (k) zu optimieren. Ein derartiger Streifen kann elektromyographische Elektroden (EMG-Elektroden), kraftempfindliche Widerstände (FSR), optische Fasern und/oder beliebige andere geeignete Sensoren der Muskeldeformation oder Muskelverbiegung des in der Technik bekannten Typs umfassen, wenn eine direkte Detektion der Muskelaktivierung gewünscht ist. Alternativ ergeben sich, wenn der Bediener 12 beispielsweise Muskelaktivierungsniveaus in einem Unterarm ändert, Änderungen bei der Größe des Unterarms, welche über den Sensor 32 gemessen werden können und mit L augenblicklich korreliert werden können, z. B. unter Verwendung einer Nachschlagetabelle, um L anzunähern.
-
Bei einer anderen Ausführungsform kann ein Bediener die Griffstangen 20 ergreifen, Muskelsteifigkeitsniveaus, die über den Sensor 32 gemessen werden, und die Kraft, die über die Sensoren 22 der Schnittstelle 16 gemessen wird, verändern, während der Roboter 14 Störungen in unterschiedliche Richtungen einbringt. Offline-Messwerte des Bereichs der menschlichen Steifigkeit für den speziellen Bediener können aufgezeichnet werden, wobei diese aufgezeichneten Werte verwendet werden, um die Parameter des Controllers 23 einzustellen. Eine derartige Ausführungsform kann zum Überwinden von Schwierigkeiten bei einer präzisen Messung der Steifigkeit in Echtzeit während eines tatsächlichen Betriebs beitragen, indem sie zumindest die maximalen und minimalen Steifigkeitsgrenzen für einen gegebenen Bediener einstellt, und sie kann zur Optimierung der Steuerungsreaktion beitragen, indem sie die Reaktion für jeden Bediener anpasst. Die Messung der Muskelbetätigung unter Verwendung der Sensoren im Streifen 32 oder der Sensoren 22 kann auch direkt mit der relativen Steifigkeit innerhalb der minimalen und maximalen Werte eines bestimmten Bedieners korreliert und daher von dem Controller 23 verwendet werden.
-
Mit Bezug auf 2 ist der Algorithmus 100 derart ausgelegt, dass sich, wenn sich der Bediener 12 bewegt, die Körper- und Armposition relativ zu den Griffen 20, wie auch die effektive Steifigkeit des Bedieners konstant ändern können. Folglich kann eine Bewertung der Bedienersteifigkeit und die Aktualisierung des Steueralgorithmus 100 ein kontinuierlicher, sich wiederholender Prozess sein, z. B. ein Wiederholen in einer Steuerschleife mit einer Frequenz, die ausreichend größer als die Frequenz ist, mit der ein menschlicher Bediener die Steifigkeit verändern kann.
-
Der Algorithmus 100 beginnt mit Schritt 102, bei dem die Positionswerte ΔxSTART und ΔxEND, der Kraftwert (Δf) und der Längenwert (ΔL) wie vorstehend offengelegt ermittelt und von dem Controller 23 im Speicher aufgezeichnet werden. Nach der Ermittlung geht der Algorithmus 100 zu Schritt 104 weiter, bei dem der Controller 23 den Steifigkeitswert (k) für den Bediener 12 berechnet, beispielsweise unter Verwendung der Gleichung Δf = –k(ΔxSTART – ΔxEND – ΔL) wie vorstehend erläutert wurde, und geht dann zu Schritt 106 weiter. Alternativ kann der Algorithmus 100, wenn eine Bedienerkorrelation gewünscht ist, zu dem optionalen Schritt 107 weitergehen.
-
Bei Schritt 106 kann der Algorithmus 100 den Steifigkeitswert (k) mit einem kalibrierten Schwellenwert vergleichen. Wenn der Steifigkeitswert (k) den kalibrierten Schwellenwert überschreitet, kann der Algorithmus 100 zu Schritt 108 weitergehen, wobei der Algorithmus andernfalls zu Schritt 110 weitergeht.
-
Bei Schritt 107 kann der Algorithmus 100 den Steifigkeitswert (k) für einen gegebenen Bediener in einem für den Controller 23 zugänglichen Speicher speichern. Nach dem Speichern kann der Algorithmus 100 zu Schritt 109 weitergehen.
-
Bei Schritt 108 kann der Controller 23 die Steuerungsempfindlichkeit automatisch verringern. Das heißt, dass bei Schritt 106 ermittelt wurde, dass der Bediener 12 ein größeres Steifigkeitsniveau als erwartet zeigt. Der Controller 23 senkt die Empfindlichkeit ab, so dass der Roboter 14 den Aktionen des Bedieners 12 nicht mit dem Niveau widersteht, mit dem er dies in der Abwesenheit einer Verringerung bei der Steuerungsempfindlichkeit könnte. Die Steuerungsstabilität wird somit optimiert. Es können verschiedene Schritte implementiert werden, um die Steuerungsempfindlichkeit zu verringern, wie der Fachmann versteht, z. B. ein Verringern von Steuerungsverstärkungen usw. Der Algorithmus 100 kehrt dann zu Schritt 102 zurück. Wie vorstehend angemerkt, kann die gesamte Steuerschleife mit einer vorbestimmten Zyklusfrequenz wiederholt werden, z. B. 50 Hz, 100 Hz, usw.
-
Bei Schritt 109 kann der Controller 23 ermitteln, welcher einer Vielzahl von bekannten Bedienern die Griffstangen 20, 20A gerade verwendet, z. B. indem der Bediener eine eindeutige Identifikationsnummer durch eine der Einrichtungen 17 wählt oder über eine eindeutige Identifikationsnummer automatisch identifiziert wird. Sobald die Identität des Bedieners bekannt ist, geht der Algorithmus 100 zu Schritt 111 weiter.
-
Bei Schritt 110 kann der Controller die Steuerungsempfindlichkeit automatisch erhöhen. Das heißt, dass bei Schritt 106 ermittelt wurde, dass der Bediener 12 ein niedrigeres Steifigkeitsniveau zeigt als erwartet. Der Controller 23 erhöht die Steuerungsempfindlichkeit daher so, dass der Roboter 14 auf die Aktionen des Bedieners 12 aktiver reagiert. Zur Erhöhung der Steuerungsempfindlichkeit können verschiedene Schritte implementiert werden, wie der Fachmann versteht, z. B. ein Erhöhen von Steuerungsverstärkungen usw. Der Algorithmus 100 kehrt dann zu Schritt 102 zurück. Wie vorstehend angemerkt, kann die gesamte Steuerschleife mit einer vorbestimmten Zyklusfrequenz wiederholt werden, z. B. 50 Hz, 100 Hz, usw.
-
Bei Schritt 111 verwendet der Controller 18 die Bedieneridentifikation von Schritt 109 und wählt aus einer gespeicherten Liste von Steuerungsempfindlichkeiten eine geeignete Empfindlichkeit für den gegebenen Bediener aus. Der Algorithmus 100 geht dann zu Schritt 106 weiter.
-
Obwohl 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 zum Umsetzen der Erfindung in die Praxis im Umfang der beigefügten Ansprüche erkennen.