DE102012213188A1 - Verfahren und System zum Steuern einer Ausführungssequenz eines geschickten Roboters unter Verwendung einer Zustandsklassifizierung - Google Patents

Verfahren und System zum Steuern einer Ausführungssequenz eines geschickten Roboters unter Verwendung einer Zustandsklassifizierung Download PDF

Info

Publication number
DE102012213188A1
DE102012213188A1 DE102012213188A DE102012213188A DE102012213188A1 DE 102012213188 A1 DE102012213188 A1 DE 102012213188A1 DE 102012213188 A DE102012213188 A DE 102012213188A DE 102012213188 A DE102012213188 A DE 102012213188A DE 102012213188 A1 DE102012213188 A1 DE 102012213188A1
Authority
DE
Germany
Prior art keywords
robot
controller
classification module
state
sensor signals
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE102012213188A
Other languages
English (en)
Other versions
DE102012213188B4 (de
Inventor
Adam M. Sanders
Robert J. Platt Jr.
Nathaniel Quillin
Frank Noble Permenter
Joseph Pfeiffer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GM Global Technology Operations LLC
National Aeronautics and Space Administration NASA
Original Assignee
GM Global Technology Operations LLC
National Aeronautics and Space Administration NASA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by GM Global Technology Operations LLC, National Aeronautics and Space Administration NASA filed Critical GM Global Technology Operations LLC
Publication of DE102012213188A1 publication Critical patent/DE102012213188A1/de
Application granted granted Critical
Publication of DE102012213188B4 publication Critical patent/DE102012213188B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40387Modify without repeating teaching operation

Abstract

Ein Robotersystem umfasst einen geschickten Roboter und einen Controller. Der Roboter enthält eine Vielzahl von Robotergelenken, Stellgliedern zum Bewegen der Robotergelenke und Sensoren zum Messen einer Eigenschaft der Gelenke und zum Übertragen der Eigenschaften als Sensorsignale. Der Controller empfängt die Sensorsignale und ist ausgestaltet, um Anweisungen aus einem Speicher auszuführen, die Sensorsignale in unterschiedliche Klassen über das Zustandsklassifizierungsmodul zu klassifizieren, einen Systemzustand des Roboters unter Verwendung der Klassen zu überwachen und den Roboter bei der Ausführung von alternativen Arbeitsaufgaben auf der Grundlage des Systemzustands zu steuern. Ein Verfahren zum Steuern des Roboters in dem vorstehenden System umfasst, dass die Signale über den Controller empfangen werden, die Signale unter Verwendung des Zustandsklassifizierungsmoduls klassifiziert werden, der gegenwärtige Systemzustand des Roboters unter Verwendung der Klassen überwacht wird und der Roboter bei der Ausführung alternativer Arbeitsaufgaben auf der Grundlage des gegenwärtigen Systemzustands gesteuert wird.

Description

  • 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 zu Zwecken der US-Regierung (d. h. nicht kommerzielle Zwecke) hergestellt und verwendet werden, ohne dass darauf oder dafür Gebühren zu entrichten sind.
  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung betrifft die automatische Steuerung eines geschickten Roboters.
  • HINTERGRUND
  • Roboter sind elektromechanische Vorrichtungen, die verwendet werden können, um Objekte mit Hilfe einer Reihe von Gliedern zu manipulieren. Die Glieder sind durch Gelenkverbindungen oder stellgliedgetriebene Robotergelenke verbunden. Jedes Gelenk in einem typischen Roboter stellt eine unabhängige Steuervariable oder einen Freiheitsgrad (DOF) dar. Greiforgane sind die speziellen Glieder, die verwendet werden, um eine gegebene Arbeitsaufgabe auszuführen, wie etwa das Ergreifen eines Arbeitswerkzeugs oder ein anderweitiges Einwirken auf ein Objekt. Eine präzise Bewegungssteuerung eines Roboters durch seine verschiedenen Freiheitsgrade kann durch die Aufgabenebene organisiert sein: Eine Steuerung auf Objektebene, d. h. die Fähigkeit zum Steuern des Verhaltens eines Objekts, das in einem einzelnen oder zusammenwirkenden Griff des Roboters gehalten wird, eine Greiforgansteuerung, und eine Steuerung auf Gelenkebene. Die verschiedenen Steuerungsebenen arbeiten zusammen, um gemeinsam die erforderliche Geschicklichkeit und aufgabenbezogene Funktionalität des Roboters zu erreichen.
  • Die strukturelle Komplexität eines geschickten Roboters hängt in großem Maß vom Wesen der Arbeitsaufgabe ab. Während einer Objektmanipulation ist es notwendig, den Manipulator mit Bezug auf seine Umgebung, d. h. den Systemzustand, zu verfolgen. Ohne eine derartige Nachverfolgung weiß der Roboter nichts über das Ergebnis seiner Aktionen während einer gegebenen Arbeitssequenz. Bei geschickten Robotern, die eine relativ hohe Anzahl von Freiheitsgraden aufweisen, ist das Überwachen und Nachverfolgen des Systemzustands jedoch eine hochkomplizierte Aufgabe. Es treten üblicherweise Hunderte von einzelnen Sensorsignalen auf, wobei bei der Verarbeitung und Bestimmung der Relevanz der verschiedenen Sensorsignale zur letztendlichen Bestimmung des gegenwärtigen Systemzustands Schwierigkeiten auftreten. Daher können existierende Robotersteuerungssysteme und Steuerungsverfahren nicht optimal sein, wenn sie zur Nachverfolgung und Überwachung des Zustands eines geschickten Roboters mit relativ vielen Freiheitsgraden verwendet werden.
  • ZUSAMMENFASSUNG
  • Entsprechend wird hier ein Robotersystem offenbart, das einen geschickten Roboter und einen Controller aufweist. Der Roboter weist eine relativ hohe Anzahl von Freiheitsgraden (DOF) auf, bei einer beispielhaften Ausführungsform beispielsweise mindestens 42 Freiheitsgrade. Der Controller ist ausgestaltet, um einen taktilen Rückmeldungskreis bereitzustellen, der verwendet werden kann, um eine automatisierte Sequenz des Roboters anzupassen. Das heißt, dass der Controller den Zustand des Roboters und seiner Betriebsumgebung während einer Manipulation unter Verwendung einer Logikschicht nachverfolgt. Die Logikschicht ermöglicht, dass der Roboter auf der Grundlage des Ergebnisses der aktuellen Maßnahmen eine willkürliche Anzahl von Ausführungsstrecken ausführt. Dieses Wissen wird dann verwendet, um eine gegebene Aufgabe oder Sequenz in eine adaptive Steuerung einzubetten.
  • Die Zustandssequenz wird während einer Lernphase ermittelt, während der tatsächliche Sensormessungen, die während der Ausführung einer Aufgabe durchgeführt wurden, in einem konkreten nicht vorübergehenden Speicher des Controllers gespeichert werden. Diese Messungen werden dann von einer Support Vector Machine (SVM) verarbeitet. Eine Bewertung des Systemzustands während der Ausführung einer Aufgabe kann vom Controller als eine Abschlussbedingung für nachfolgende Aufgabenschritte verwendet werden, oder um alternative Maßnahmen zu ergreifen.
  • Insbesondere enthält ein Robotersystem einen geschickten Roboter und einen Controller. Der Roboter enthält eine Vielzahl von Robotergelenken, Stellgliedern, die zum Bewegen der Robotergelenke ausgestaltet sind, und Sensoren, die zum Messen einer Eigenschaft eines zugehörigen der Robotergelenke, z. B. einer Position, und zum Senden der Eigenschaften als Sensorsignale ausgestaltet sind. Der Controller enthält einen konkreten nicht vorübergehenden Speicher, in dem von einem Computer ausführbare Anwendungen aufgezeichnet sind, die ein Zustandsklassifizierungsmodul enthalten, einen Prozessor, der ausgestaltet ist, um die Anweisungen aus dem konkreten nicht vorübergehenden Speicher auszuführen, um die Sensorsignale in mindestens zwei verschiedene Klassen unter Verwendung des Zustandsklassifizierungsmoduls zu klassifizieren, z. B. einer Support Vector Machine (SVM), um einen Systemzustand des Roboters unter Verwendung der Klassen zu überwachen, und um den Roboter bei der Ausführung von alternativen Arbeitsaufgaben auf der Grundlage des Systemzustands zu steuern.
  • Ein Verfahren zum Steuern des vorstehend erwähnten geschickten Roboters umfasst, dass unter Verwendung des Controllers die Sensorsignale empfangen werden, dass unter Verwendung des Zustandsklassifizierungsmoduls die Sensorsignale in mindestens zwei verschiedene Klassen klassifiziert werden, dass unter Verwendung der Klassen ein gegenwärtiger Systemzustand des Roboters überwacht wird, und dass der Roboter bei der Ausführung alternativer Arbeitsaufgaben auf der Grundlage des gegenwärtigen Systemzustands gesteuert wird.
  • Es wird hier auch ein Controller offenbart, der ausgestaltet ist, um das vorstehende Verfahren auszuführen. Der Controller enthält eine Trägermaschine, die mit dem Roboter in Verbindung steht und ausgestaltet ist, um die Sensorsignale zu empfangen. Der Controller enthält außerdem einen Prozessor und einen konkreten nicht vorübergehenden Speicher, in dem von einem Computer ausführbare Anweisungen, welche das Zustandsklassifizierungsmodul umfassen, aufgezeichnet sind. Der Prozessor führt die Anweisungen aus, um dadurch das vorliegende Verfahren auszuführen, wie hier im Detail offengelegt wird.
  • 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 mit einem Controller, der Zustandsklassifizierungsdaten bei der Steuerung eines geschickten Roboters während der Ausführung einer Arbeitsaufgabe oder Sequenz verwendet.
  • 2 ist eine schematische Zeichnung von parallelen Hyperebenen, die von einer Support Vector Machine bei der Klassifizierung von Sensoreingaben innerhalb des in 1 gezeigten Systems erzeugt werden.
  • 3 ist ein Flussdiagramm, das einen beispielhaften Steuerungsansatz zum Nachverfolgen des Systemzustands innerhalb des Robotersystems von 1 beschreibt.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
  • Mit Bezug auf die Zeichnungen, in denen gleiche Bezugszeichen gleiche oder ähnliche Komponenten in den mehreren Ansichten bezeichnen, ist in 1 ein beispielhaftes Robotersystem 10 gezeigt. Das Robotersystem 10 enthält einen geschickten Roboter 110 und einen Controller 24. Wie nachstehend mit Bezug auf 2 und 3 im Detail erläutert wird, ist der vorliegende Controller 24 ausgestaltet, um das Verhalten des Roboters 110 zu steuern, wenn der Roboter eine gegebene Arbeitsaufgabe oder Sequenz ausführt. Der Controller 24 erledigt dies teilweise, indem er Zustandsklassifizierungsdaten verwendet, die unter Verwendung eines Zustandsklassifizierungsmoduls 23 erzeugt werden, zum Beispiel einer Support Vector Machine (SVM) oder einer anderen geeigneten Zustandsschätztechnik.
  • Der in 1 gezeigte Roboter 110 kann bei einer möglichen Ausführungsform als ein Humanoide ausgestaltet sein. Die Verwendung von Humanoiden kann dort vorteilhaft sein, wo eine direkte Interaktion zwischen dem Roboter 110 und beliebigen Vorrichtungen oder Systemen benötigt wird, die speziell zur menschlichen Verwendung oder Bedienung gedacht sind. Derartige Roboter weisen typischerweise eine annähernd menschliche Struktur oder ein annähernd menschliches Erscheinungsbild in der Form eines vollständigen Körpers oder eines Torsos, eines Arms und/oder einer Hand in Abhängigkeit von den benötigten Arbeitsaufgaben auf.
  • Der Roboter 110 kann eine Vielzahl von unabhängig und voneinander abhängig bewegbaren nachgiebigen Robotergelenken enthalten, wie etwa ein Schultergelenk (allgemein durch Pfeil A angezeigt), ein Ellenbogengelenk (Pfeil B), ein Handgelenk (Pfeil C), ein Nackengelenk (Pfeil D) und ein Taillengelenk (Pfeil E) sowie die verschiedenen Fingergelenke (Pfeil F), die zwischen den Fingergliedern jedes Roboterfingers 19 positioniert sind, ohne jedoch darauf beschränkt zu sein. Jedes Robotergelenk kann einen oder mehrere Freiheitsgrade (DOF) aufweisen.
  • Beispielsweise können bestimmte Gelenke wie etwa ein Schultergelenk (Pfeil A), ein Ellenbogengelenk (Pfeil B) und ein Handgelenk (Pfeil C) mindestens zwei Freiheitsgrade in der Form von Nicken und Rollen aufweisen. Auf ähnliche Weise kann das Nackengelenk (Pfeil D) mindestens drei Freiheitsgrade aufweisen, während die Taille und das Handgelenk (Pfeile E bzw. C) einen oder mehrere Freiheitsgrade aufweisen können. In Abhängigkeit vom Niveau der Aufgabenkomplexität kann sich der Roboter 110 mit mehr als 42 Freiheitsgraden bewegen, wie es mit der in 1 gezeigten beispielhaften Ausführungsform möglich ist. Eine derart hohe Anzahl von Freiheitsgraden ist charakteristisch für einen geschickten Roboter, was bei der Verwendung hierin einen Roboter mit menschenähnlichen Geschicklichkeitsniveaus bezeichnet, beispielsweise mit Bezug auf die menschenähnlichen Geschicklichkeitsniveaus in den Finger 19 und den Händen 18.
  • Obwohl es der Klarheit der Darstellung halber in 1 nicht gezeigt ist, enthält jedes Robotergelenk ein oder mehrere Gelenkstellglieder und wird von diesen angetrieben, z. B. Motoren, lineare Stellglieder, rotatorische Stellglieder, elektrisch gesteuerte einander entgegenwirkende Sehnen und dergleichen. Jedes Gelenk enthält außerdem einen oder mehrere Sensoren 29, wobei der Einfachheit halber in 1 nur die Schulter- und Ellenbogensensoren gezeigt sind. Die Sensoren 29 messen und übertragen Sensorsignale (Pfeile 22) an den Controller 24, wo sie in einem computerlesbaren Speicher 25 aufgezeichnet werden und zur Überwachung und Nachverfolgung von sich verändernden Systemzuständen während der Ausführung einer gegebenen Arbeitsaufgabensequenz verwendet werden.
  • Wenn der Roboter 110 als ein Humanoide ausgestaltet ist, kann er einen Kopf 12, einen Torso 14, eine Taille 15, Arme 16, Hände 18, Finger 19 und Daumen 21 enthalten. Der Roboter 110 kann außerdem eine für die Aufgabe geeignete Halterung oder Basis (nicht gezeigt) enthalten, wie etwa Beine, Laufflächen oder eine andere bewegbare oder stationäre Basis in Abhängigkeit von der speziellen Anwendung oder der beabsichtigten Verwendung des Roboters 110. Eine Stromversorgung 13 kann bezüglich des Roboters 110 einstückig montiert sein, z. B. kann ein wiederaufladbarer Batteriestapel, der an dem Torso 14 getragen oder mitgeführt wird, oder eine andere geeignete Energieversorgung, verwendet werden, um ausreichend elektrische Energie für die verschiedenen Gelenke bereitzustellen, um beliebige elektrisch angetriebene Stellglieder, die darin verwendet werden, mit Leistung zu versorgen. Die Stromversorgung 13 kann über einen Satz von Leistungssteuerungs- und Rückmeldungssignalen (Pfeil 27) gesteuert werden.
  • Immer noch mit Bezug auf 1 stellt der vorliegende Controller 24 eine präzise Bewegungssteuerung und Steuerung auf Systemebene der verschiedenen integrierten Systemkomponenten des Roboters 110 über Steuerungs- und Rückmeldesignale (Pfeil 11) bereit, entweder in einem geschlossenen oder einem offenen Kreis. Derartige Komponenten können die verschiedenen nachgiebigen Gelenke, Relais, Laser, Lichter, elektromagnetische Klemmvorrichtungen, und/oder andere Komponenten umfassen, die verwendet werden, um eine präzise Steuerung des Verhaltens des Roboters 110 herzustellen, welche eine Steuerung der feinen und groben Bewegungen umfasst, die benötigt werden, um ein Objekt 20 zu manipulieren, das von den Fingern 19 und dem Daumen 21 von einer oder mehreren Händen 18 ergriffen wird. Der Controller 24 ist ausgestaltet, um jedes Robotergelenk isoliert von den anderen Gelenken zu steuern, sowie, um die Aktionen von mehreren Gelenken beim Ausführen einer komplexeren Arbeitsaufgabe vollständig zu koordinieren.
  • Der Controller 24 kann als ein oder mehrere digitale Computer oder Trägermaschinen ausgeführt sein, die jeweils einen oder mehrere Prozessoren 17, einen Festwertspeicher (ROM), einen Speicher mit wahlfreiem Zugriff (RAM), einen elektrisch programmierbaren Festwertspeicher (EPROM), optische Laufwerke, magnetische Laufwerke usw., einen Hochgeschwindigkeits-Taktgeber, Analog/Digital-Schaltungen (A/D-Schaltungen), Digital/Analog-Schaltungen (D/A-Schaltungen) und beliebige benötigte Eingabe/Ausgabe-Schaltungen (E/A-Schaltungen), E/A-Geräte und Kommunikationsschnittstellen sowie Signalaufbereitungs- und Pufferelektronik aufweisen.
  • Der computerlesbare Speicher 25 kann ein beliebiges nicht vorübergehendes/konkretes Medium enthalten, das an der Bereitstellung von Daten oder computerlesbaren Anweisungen teilnimmt. Der Speicher 25 kann nicht flüchtig oder flüchtig sein. Nichtflüchtige Medien können beispielsweise optische oder magnetische Platten und anderen dauerhaften Speicher umfassen. Beispielhafte flüchtige Medien können einen dynamischen Speicher mit wahlfreiem Zugriff (DRAM) umfassen, der einen Hauptspeicher bilden kann. Andere Beispiele von Ausführungsformen für den Speicher 25 umfassen eine Diskette, eine flexible Platte oder eine Festplatte, ein Magnetband oder ein anderes magnetisches Medium, eine CD-ROM, eine DVD und/oder ein beliebiges anderes optisches Medium sowie andere mögliche Speichervorrichtungen, etwa einen Flash-Speicher.
  • Der Controller 24 enthält ein Zustandsklassifizierungsmodul 23. Das Modul 23 kann beispielsweise als eine Support Vector Machine (SVM) oder eine andere Logikschicht ausgeführt sein, die zur Bestimmung des gegenwärtigen Zustands des Robotersystems 10 aus gemessenen Sensorsignalen (Pfeile 22) geeignet ist, wie nachstehend erläutert wird. Computerlesbare Anweisungen zum Implementieren des vorliegenden Verfahrens 100 können im Speicher 25 aufgezeichnet sein und sind von dem bzw. den Prozessoren 17 des Controllers 24 unter Verwendung zugehöriger Hardwareelemente des Controllers 24 ausführbar. Eine beispielhafte Ausführungsform des vorliegenden Verfahrens 100 ist in 3 zu sehen und wird nachstehend im Detail beschrieben.
  • Das Zustandsklassifizierungsmodul 23 kann als eine Logikschicht ausgeführt sein und von dem Controller 24 während einer oder mehrerer Phasen eines überwachten Maschinenlernens selektiv ausgeführt werden, wie in der Technik gut verstanden wird. Die Verwendung des Moduls 23 ermöglicht dem Controller 24, auf effektive Weise Daten zu analysieren und Muster zu erkennen, die durch Eingabedaten dargestellt werden, etwa die verschiedenen Sensorsignale (Pfeile 22), die vom Roboter 110 im Verlauf des Ausführens einer Arbeitsaufgabe oder Sequenz empfangen werden.
  • Bei einer Ausführungsform ist das Zustandsklassifizierungsmodul 23 als eine SVM konfiguriert, welche häufig auch als ein nicht probabilistischer binärer linearer Klassifikator beschrieben wird. Der Fachmann auf dem Gebiet wird jedoch feststellen, dass andere Ansätze verwendet werden können, ohne den beabsichtigten erfinderischen Umfang zu verlassen. Zum Beispiel kann das Zustandsklassifizierungsmodul 23 alternativ als ein neuronales Netz, ein logistisches Regressionsmodell, ein Naïve-Bayes-Klassifikator, ein Perceptron-Netz und ein Algorithmus mit k nächsten Nachbarn usw. ausgeführt sein, wobei jeder Begriff in der Technik gut bekannt ist. Zur Konsistenz der Darstellung wird hier nachstehend die Ausführungsform mit SVM verwendet.
  • Für jede Eingabe kann die SVM vorhersagen, in welche von mindestens zwei Datenklassen oder Kategorien ein spezieller Eingabewert korrekt passt. Wenn ein ausreichend großer und informativer Satz von Trainingsmustern jeweils mit einer zugeordneten Klassifizierung gegeben ist, kann der Controller 24 anschließend die SVM verwenden, um jeden neuen Abtastwert der Sensorsignale (Pfeile 22) genau zu klassifizieren, wenn eine gegebene Arbeitssequenz ausgeführt wird.
  • Mit Bezug auf 2 ist eine Zeichnung 50 gezeigt, um den Klassifizierungsprozess einer SVM-Ausführungsform des Zustandsklassifizierungsmodul 23 weiter zu erläutern. Eine beispielhafte Klasse von 1 könnte sein ”Roboter 110 hält das Objekt 20”. Eine weitere beispielhafte Klasse könnte sein ”Roboter 110 hält das Objekt 20 nicht”. Die Achsen x1 und x2 stellen Eingaben von den Sensoren 29 dar, von denen zwei in 1 gezeigt sind. Folglich ist in 2 eine erste Klasse durch eine Gruppe 40 repräsentiert, und eine zweite Klasse ist durch eine Gruppe 42 repräsentiert.
  • Die SVM trennt Klassen, indem sie Werte w und b sucht, so dass die Linie, die durch die Gleichungen w·x – b = 0 (Linie 43) definiert ist, welche in der Technik auch als eine Hyperebene bezeichnet wird, die Distanz (Linie 47) zwischen den Klassen 40, 42 maximiert. Es wird darauf hingewiesen, dass w und x Vektoren sind, bei dem in 1 dargestellten Beispiel beispielsweise zweidimensionale Vektoren, und w·x das Vektorskalarprodukt ist. In einigen Fällen kann es sein, dass es keine Linie w·x – b gibt, welche die Klassen trennt. In diesem Fall kann der Controller 24 eine Koordinatentransformation auf die Sensoreingaben x = (x1, x2) anwenden, so dass die Klassen durch eine Linie im transformierten Raum getrennt werden können, wie in der Technik verstanden wird. Eine derartige Koordinatentransformation kann verwendet werden, um die Leistung des SVM-Ansatzes zu optimieren. Eine mögliche Transformation ist der Kern der radialen Basisfunktion (RBF-Kern).
  • Der Controller 24 kann zu Beginn eine Trainings/Lernphase ausführen, in der tatsächliche Sensormesswerte (Pfeile 22 in 1) von der SVM verarbeitet und im Speicher 25 aufgezeichnet werden. Die SVM berechnet zunächst eine Hyperebene, d. h. eine Linie 43. Dann werden parallele Linien oder Hyperebenen 41 und 45 von dem Controller 24 unter Verwendung jeweiliger Gleichungen (w·x – b = 1) und (w·x – b = –1) definiert. Die Werte für w und b sollen so gewählt werden, dass der Abstand oder die Trennung zwischen Hyperebenen oder den Linien 41 und 45 maximiert wird, um die Möglichkeit für Fehler bei der Klassifizierung eines gegebenen Sensorwerts zu minimieren.
  • Mit Bezug auf 3 in Verbindung mit der in 2 gezeigten Zeichnung 50 beginnt eine beispielhafte Ausführungsform des vorliegenden Verfahrens 100 bei Schritt 102, bei dem der Roboter 110 von 1 eine Arbeitsaufgabe ausführt, sei es in einer Teach/Lern-Phase oder bei der Ausführung einer tatsächlichen Arbeitsaufgabe. Nach dem Ausführen der Aufgabe bei Schritt 102 geht der Controller 24 von 1 zu Schritt 104 weiter.
  • Bei Schritt 104 zeichnet der Controller 24 einen Satz von Sensormesswerten, beispielsweise durch Aufzeichnen der verschiedenen Sensorsignale (Pfeile 22) von 1, im Speicher 25 auf. Der Controller 24 kann dann den Satz von Sensorsignalen (Pfeile 22) unter Verwendung des Moduls 23 verarbeiten, zum Beispiel der vorstehend beschriebenen SVM, oder unter Verwendung eines beliebigen anderen geeigneten alternativen Vorhersagemittels.
  • Schritt 104 kann umfassen, dass die Sensormesswerte mit zuvor aufgezeichneten Klassen oder Klassifizierungen verglichen werden, wie etwa den Beispielklassen 40 und 42, die in 2 gezeigt sind, und dass dann die Messwerte in eine dieser verschiedenen Klassen unter Verwendung existierenden Wissens aus den vorherigen Trainingsphasen gestellt werden. Nachdem der Systemstatus korrekt identifiziert wurde, geht der Controller 24 zu Schritt 106 oder 108 weiter, welche zwei mögliche divergente Arbeitsaufgaben darstellen, die in Abhängigkeit vom gegenwärtigen Systemzustand verfügbar sein können oder nicht.
  • Beispielsweise kann Schritt 106 umfassen, dass das Objekt 20 von 1 in einem gemeinsamen Griff in eine vorbestimmte Position gedreht wird, und Schritt 108 kann umfassen, dass das gleiche Objekt 20 an eine stationäre Oberfläche geschweißt wird. Bei diesem hypothetischen Beispiel kann Schritt 106 nur auftreten, wenn sich der Roboter 110 in einem ersten Systemzustand befindet und Schritt 108 kann nur auftreten, wenn sich der Roboter 110 in einem zweiten Systemzustand befindet. Folglich ist die korrekte Zustandsklassifizierung bei Schritt 104 essentiell, um zu ermöglichen, dass der Roboter 110 auf der Grundlage des Ergebnisses seiner aktuellen Aktionen durch eine willkürliche Anzahl von Ausführungsstrecken hindurchläuft.
  • Obwohl die besten Arten zum Ausführen der Erfindung im Detail beschrieben wurden, werden Fachleute auf dem Gebiet, das diese Erfindung betrifft, verschiedene alternative Konstruktionen und Ausführungsformen zum Umsetzen der Erfindung in die Praxis im Schutzumfang der beigefügten Ansprüche erkennen.

Claims (10)

  1. Robotersystem, das umfasst: einen geschickten Roboter mit einer Vielzahl von Robotergelenken, Stellgliedern, die zum Bewegen der Robotergelenke ausgestaltet sind, und Sensoren, die zum Messen einer Eigenschaft eines zugehörigen der Robotergelenke und zum Übertragen der Eigenschaften als Sensorsignale ausgestaltet sind; und einen Controller, der ausgestaltet ist, um die Sensorsignale zu empfangen, wobei der Controller umfasst: einen konkreten nicht vorübergehenden Speicher, in dem von einem Computer ausführbare Anwendungen aufgezeichnet sind, die ein Zustandsklassifizierungsmodul enthalten; einen Prozessor, der ausgestaltet ist, um: die Anweisungen aus dem konkreten nicht vorübergehenden Speicher auszuführen; die Sensorsignale über das Zustandsklassifizierungsmodul in mindestens zwei verschiedene Klassen zu klassifizieren; einen Systemzustand des Roboters unter Verwendung der Klassen zu überwachen; und den Roboter bei der Ausführung alternativer Arbeitsaufgaben auf der Grundlage des Systemzustands zu steuern.
  2. Robotersystem nach Anspruch 1, wobei der Controller ausgestaltet ist, um über den Prozessor tatsächliche Sensormesswerte zu verarbeiten, die von der Vielzahl von Sensoren während einer Ausführung einer Trainingsphase des Zustandsklassifizierungsmoduls aufgenommen wurden.
  3. Robotersystem nach Anspruch 1, wobei das Zustandsklassifizierungsmodul eine Support Vector Machine ist, die eine Hyperebene oder Linie berechnet, welche die Klassen in einem Eingaberaum der Vielzahl von Sensoren trennt.
  4. Robotersystem nach Anspruch 3, wobei die Support Vector Machine einen Kern einer radialen Basisfunktion selektiv als eine Koordinatentransformation verwendet.
  5. Robotersystem nach Anspruch 1, wobei der geschickte Roboter ein humanoider Roboter mit mindestens 42 Freiheitsgraden ist.
  6. Verfahren zum Steuern eines geschickten Roboters, wobei der Roboter eine Vielzahl von Robotergelenken, Stellgliedern, die zum Bewegen der Robotergelenke ausgestaltet ist, und Sensoren umfasst, die ausgestaltet sind, um eine Eigenschaft eines zugehörigen der Robotergelenke zu messen, welche eine Position jedes Gelenks umfasst, das bei der Ausführung einer Arbeitsaufgabe oder Sequenz verwendet wird, und um die Eigenschaften als Sensorsignale zu übertragen, wobei das Verfahren umfasst, dass: die Sensorsignale unter Verwendung eines Controllers mit einem Zustandsklassifizierungsmodul empfangen werden; die Sensorsignale unter Verwendung eines Zustandsklassifizierungsmoduls des Controllers in mindestens zwei unterschiedliche Klassen klassifiziert werden; ein gegenwärtiger Systemzustand des Roboters unter Verwendung der Klassen überwacht wird; und der Roboter bei der Ausführung alternativer Arbeitsaufgaben auf der Grundlage des gegenwärtigen Systemzustands gesteuert wird.
  7. Verfahren nach Anspruch 6, das ferner umfasst, dass: über den Controller tatsächliche Sensormesswerte verarbeitet werden, die von den Sensoren während der Ausführung einer Trainingsphase des Zustandsklassifizierungsmoduls aufgenommen wurden.
  8. Verfahren nach Anspruch 7, das ferner umfasst, dass: eine Hyperebene oder Linie berechnet wird, welche die Klassen in einem Eingaberaum der Sensoren unter Verwendung des Zustandsklassifizierungsmoduls trennt.
  9. Verfahren nach Anspruch 8, wobei das Berechnen einer Hyperebene oder Linie umfasst, dass eine Support Vector Machine (SVM) oder ein neuronales Netz oder ein logistisches Regressionsmodell oder ein Naïve-Bayes-Klassifikator oder ein Perceptron-Netz oder ein Algorithmus mit k nächsten Nachbarn verwendet wird.
  10. Verfahren nach Anspruch 9, wobei das Berechnen einer Hyperebene oder Linie umfasst, dass die SVM verwendet wird, wobei das Verfahren ferner umfasst, dass: selektiv ein Kern einer radialen Basisfunktion als eine Koordinatentransformation verwendet wird, um dadurch die Leistung der SVM zu optimieren.
DE102012213188.4A 2011-08-02 2012-07-26 Verfahren und System zum Steuern einer Ausführungssequenz eines geschickten Roboters unter Verwendung einer Zustandsklassifizierung Expired - Fee Related DE102012213188B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/196,252 US8706299B2 (en) 2011-08-02 2011-08-02 Method and system for controlling a dexterous robot execution sequence using state classification
US13/196,252 2011-08-02

Publications (2)

Publication Number Publication Date
DE102012213188A1 true DE102012213188A1 (de) 2013-02-07
DE102012213188B4 DE102012213188B4 (de) 2015-06-25

Family

ID=47554321

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102012213188.4A Expired - Fee Related DE102012213188B4 (de) 2011-08-02 2012-07-26 Verfahren und System zum Steuern einer Ausführungssequenz eines geschickten Roboters unter Verwendung einer Zustandsklassifizierung

Country Status (3)

Country Link
US (1) US8706299B2 (de)
JP (1) JP2013031913A (de)
DE (1) DE102012213188B4 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6150337B2 (ja) * 2013-08-27 2017-06-21 国立大学法人信州大学 ロボティックスーツの制御方法
CN104057450B (zh) * 2014-06-20 2016-09-07 哈尔滨工业大学深圳研究生院 一种针对服务机器人的高维操作臂遥操作方法
USD774148S1 (en) * 2015-09-01 2016-12-13 Softbank Robotics Europe Humanoid robot
JP6850638B2 (ja) 2017-03-03 2021-03-31 本田技研工業株式会社 移動ロボットの異常接触検知方法及び接触部位特定方法
US11787050B1 (en) * 2019-01-01 2023-10-17 Sanctuary Cognitive Systems Corporation Artificial intelligence-actuated robot
CN113942009B (zh) * 2021-09-13 2023-04-18 苏州大学 机器人仿生手抓取方法
DE102021212494A1 (de) 2021-11-05 2023-05-11 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zur Steuerung einer Robotervorrichtung

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6701296B1 (en) * 1988-10-14 2004-03-02 James F. Kramer Strain-sensing goniometers, systems, and recognition algorithms
US5047952A (en) * 1988-10-14 1991-09-10 The Board Of Trustee Of The Leland Stanford Junior University Communication system for deaf, deaf-blind, or non-vocal individuals using instrumented glove
JP3555107B2 (ja) * 1999-11-24 2004-08-18 ソニー株式会社 脚式移動ロボット及び脚式移動ロボットの動作制御方法
CN1283428C (zh) * 2000-03-31 2006-11-08 索尼公司 机器人设备、控制机器人设备动作的方法
JP2001277163A (ja) * 2000-04-03 2001-10-09 Sony Corp ロボットの制御装置及び制御方法
US6447719B1 (en) * 2000-10-02 2002-09-10 Johnson & Johnson Power system for sterilization systems employing low frequency plasma
WO2003035334A1 (fr) * 2001-10-22 2003-05-01 Sony Corporation Appareil robotique et procede de commande pour un tel appareil
JP2003266352A (ja) * 2002-03-18 2003-09-24 Sony Corp ロボット装置及びロボット装置の制御方法
JP3833567B2 (ja) * 2002-05-01 2006-10-11 本田技研工業株式会社 移動ロボットの姿勢制御装置
JP4164737B2 (ja) 2002-05-24 2008-10-15 ソニー株式会社 物体認識装置及び方法並びにロボット装置
JP2005044330A (ja) * 2003-07-24 2005-02-17 Univ Of California San Diego 弱仮説生成装置及び方法、学習装置及び方法、検出装置及び方法、表情学習装置及び方法、表情認識装置及び方法、並びにロボット装置
JP4657796B2 (ja) * 2004-10-19 2011-03-23 本田技研工業株式会社 脚式移動ロボットの過電流防止装置
JP2006202049A (ja) * 2005-01-20 2006-08-03 Omron Corp 顔認識装置
JP2007015037A (ja) * 2005-07-05 2007-01-25 Sony Corp ロボットのモーション編集装置及びモーション編集方法、コンピュータ・プログラム、並びにロボット装置
JP4641492B2 (ja) * 2005-11-16 2011-03-02 日本電信電話株式会社 特異映像検出装置、特異映像検出方法およびプログラム
JP2007265103A (ja) 2006-03-29 2007-10-11 Nachi Fujikoshi Corp ロボット制御装置
JP4560658B2 (ja) * 2007-12-10 2010-10-13 本田技研工業株式会社 脚式移動ロボットの制御装置
US8280837B2 (en) * 2009-05-28 2012-10-02 GM Global Technology Operations LLC Contact state estimation for multi-finger robot hands using particle filters
US8442684B2 (en) * 2009-09-22 2013-05-14 GM Global Technology Operations LLC Integrated high-speed torque control system for a robotic joint
US9120224B2 (en) * 2009-09-22 2015-09-01 GM Global Technology Operations LLC Framework and method for controlling a robotic system using a distributed computer network
US8511964B2 (en) * 2009-09-22 2013-08-20 GM Global Technology Operations LLC Humanoid robot
US8291788B2 (en) * 2009-09-22 2012-10-23 GM Global Technology Operations LLC Rotary series elastic actuator
US8250901B2 (en) * 2009-09-22 2012-08-28 GM Global Technology Operations LLC System and method for calibrating a rotary absolute position sensor

Also Published As

Publication number Publication date
JP2013031913A (ja) 2013-02-14
US20130035792A1 (en) 2013-02-07
US8706299B2 (en) 2014-04-22
DE102012213188B4 (de) 2015-06-25

Similar Documents

Publication Publication Date Title
DE102012213188B4 (de) Verfahren und System zum Steuern einer Ausführungssequenz eines geschickten Roboters unter Verwendung einer Zustandsklassifizierung
DE102013202378B4 (de) Prozedurales Gedächtnislernen und Robotersteuerung
DE102012218297B4 (de) Verfahren zur dynamischen Optimierung einer Robotersteuerschnittstelle
DE102014108287B4 (de) Schnelles Erlernen durch Nachahmung von Kraftdrehmoment-Aufgaben durch Roboter
DE112019002310B4 (de) Ausführen einer "peg in hole"-aufgabe mit unbekannter neigung
DE112010000775B4 (de) Industrierobotersystem
DE102010045529B4 (de) Interaktives Robotersteuerungssystem und Verwendungsverfahren
DE102010045528B4 (de) Gerüst und Verfahren zum Steuern eines Robotersystems unter Verwendung eines verteilten Rechnernetzwerks
DE102011113590B4 (de) Planen simultaner Pfade mit einem oder mehreren humanoiden Robotern
DE102019216229B4 (de) Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
CN111223141B (zh) 基于强化学习的自动化流水线作业效率优化系统及方法
DE102015122998B3 (de) Roboter und Verfahren zum Betreiben eines Roboters
DE102020214633A1 (de) Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE102020212658A1 (de) Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE102019205651B3 (de) Verfahren und System zum Ausführen von Roboterapplikationen
DE102018112370B4 (de) Richtungsabhängige Kollisionsdetektion für einen Robotermanipulator
WO2020083633A1 (de) Vorrichtung und verfahren zur ansteuerung eines robotersystems
DE102020210823A1 (de) Maschinen-Steueranordnung
WO2022022784A1 (de) Verfahren und system zur bestimmung von optimierten programmparametern für ein roboterprogramm
Cipriani et al. Applications of learning algorithms to industrial robotics
Muthusamy et al. Decentralized approaches for cooperative grasp planning
DE102020200165B4 (de) Robotersteuereinrichtung und Verfahren zum Steuern eines Roboters
DE102018109320A1 (de) Verfahren zur Erkennung einer Intention eines Partners gegenüber einer mehrgliedrigen aktuierten Kinematik
DE102019105820A1 (de) Verfahren, System sowie nichtflüchtiges Speichermedium
DE102022208082B3 (de) Verfahren zum Steuern eines technischen Systems

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee