DE102012213188B4 - 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
DE102012213188B4
DE102012213188B4 DE102012213188.4A DE102012213188A DE102012213188B4 DE 102012213188 B4 DE102012213188 B4 DE 102012213188B4 DE 102012213188 A DE102012213188 A DE 102012213188A DE 102012213188 B4 DE102012213188 B4 DE 102012213188B4
Authority
DE
Germany
Prior art keywords
robot
controller
classification module
sensor signals
state
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.)
Expired - Fee Related
Application number
DE102012213188.4A
Other languages
English (en)
Other versions
DE102012213188A1 (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

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

Robotersystem (10), das umfasst: einen geschickten Roboter (110) mit einer Vielzahl von Robotergelenken (A, B, C, D, E, F), Stellgliedern, die zum Bewegen der Robotergelenke (A, B, C, D, E, F) ausgestaltet sind, und Sensoren (29), die zum Messen einer Eigenschaft eines zugehörigen der Robotergelenke (A, B, C, D, E, F) bei der Ausführung einer Arbeitsaufgabe und zum Übertragen der Eigenschaften als Sensorsignale (22) ausgestaltet sind; und einen Controller (24) für die Steuerung des Roboters (110) über Steuerungs- und Rückmeldesignale (11), der ausgestaltet ist, um die gemessenen Sensorsignale (22) zu empfangen, wobei der Controller (24) umfasst: einen konkreten nicht vorübergehenden Speicher (25), in dem von einem Computer ausführbare Anwendungen aufgezeichnet sind, die ein Zustandsklassifizierungsmodul (23) enthalten; einen Prozessor (17), der ausgestaltet ist, um: die Anweisungen aus dem konkreten nicht vorübergehenden Speicher (25) auszuführen; die Sensorsignale (22) über das Zustandsklassifizierungsmodul (23) in mindestens zwei verschiedene Klassen (40, 42) zu klassifizieren; einen Systemzustand des Roboters (110) unter Verwendung der Klassen (40, 42) zu überwachen; und den Roboter (110) bei der Ausführung alternativer Arbeitsaufgaben auf der Grundlage des Systemzustands zu steuern.

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.
  • Die Druckschrift DE 10 2010 045 528 A1 offenbart ein Steuerungsgrundgerüst zur Steuerung eines geschickten Roboters unter Verwendung eines verteilten Rechnernetzwerks, das eine hierarchische Struktur verwendet, in der Sensoreingaben von lokalen, in Robotergelenke eingebetteten Controllern verarbeitet werden, welche von einem übergeordneten Controller koordiniert werden, der wiederum Signale zum Ausführen einer Aufgabe von einem Hauptcontroller erhält.
  • In der Druckschrift US 2004/0 117 063 A1 sind ein Roboter und ein Steuerungsverfahren offenbart, bei denen Sensormesswerte asynchron eintreffen, gesammelt und an ein Verhaltensmodul weitergeleitet werden. Durch Störungen und Sensorrauschen temporär fehlende Sensormesswerte wirken sich nicht stark aus, da in diesem Fall gespeicherte Sensormesswerte verwendet werden, sodass die Systemsteuerung nicht vom Zeitpunkt des Eintreffens von Informationen abhängt.
  • Die Druckschrift US 6 556 892 B2 offenbart eine Steuerungsvorrichtung und ein Steuerungsverfahren für einen Roboter, der auf den Empfang von Befehlen hin ein Verhaltensmuster ausführt, durch das Gelenkaktoren des Roboters betätigt werden. Die Implementierung des Verhaltensmusters wird überwacht und protokolliert.
  • In der Druckschrift US 5 813 406 A sind belastungserfassende Winkelmesser und zugehörige Systeme zur Kommunikation von tauben, taubstummen und blinden Menschen mit hörenden Menschen offenbart, die zur Detektion von komplexen Glied- und Gelenkbewegungen verwendet werden können, um z. B. in Gebärdensprache zu kommunizieren.
  • Die Druckschrift JP 2007-265 103 A offenbart einen Robotercontroller, der Störungen in einem Servosteuerungsabschnitt eines Roboters schnell und genau detektieren kann, indem zwei arithmetische Verarbeitungsabschnitte parallel eine Roboterposition schätzen und miteinander vergleichen und bei Übereinstimmung einen Vergleich mit einer erfassten Roboterposition ausführen. Bei einer zu großen Abweichung zwischen Schätzwert und Messwert oder bei einer fehlenden Übereinstimmung der Schätzwerte wird der für die Roboterposition zuständige Servomotor ausgeschaltet.
  • In der Druckschrift JP 2003-346 152 A ist ein Verfahren zur dreidimensionalen Objekterkennung offenbart, bei dem ein zu detektierendes Objekt von einem Roboter relativ zu einem Bilderfassungsgerät an einer vorbestimmten Stelle gehalten und anhand einer Ausgabe des Bilderfassungsgeräts detektiert wird. Wenn das Objekt nicht erkannt wird, wird es erlernt.
  • Die Aufgabe der Erfindung besteht darin, die bei der Steuerung eines geschickten Roboters mit vielen Freiheitsgraden anfallende Verarbeitung von Sensorsignalen so zu optimieren, dass der Roboter bei der Ausführung einer gegebenen Arbeitsaufgabe oder Sequenz adaptiv gesteuert werden kann.
  • Diese Aufgabe wird durch die Gegenstände der unabhängigen Ansprüche gelöst.
  • 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 (10), das umfasst: einen geschickten Roboter (110) mit einer Vielzahl von Robotergelenken (A, B, C, D, E, F), Stellgliedern, die zum Bewegen der Robotergelenke (A, B, C, D, E, F) ausgestaltet sind, und Sensoren (29), die zum Messen einer Eigenschaft eines zugehörigen der Robotergelenke (A, B, C, D, E, F) bei der Ausführung einer Arbeitsaufgabe und zum Übertragen der Eigenschaften als Sensorsignale (22) ausgestaltet sind; und einen Controller (24) für die Steuerung des Roboters (110) über Steuerungs- und Rückmeldesignale (11), der ausgestaltet ist, um die gemessenen Sensorsignale (22) zu empfangen, wobei der Controller (24) umfasst: einen konkreten nicht vorübergehenden Speicher (25), in dem von einem Computer ausführbare Anwendungen aufgezeichnet sind, die ein Zustandsklassifizierungsmodul (23) enthalten; einen Prozessor (17), der ausgestaltet ist, um: die Anweisungen aus dem konkreten nicht vorübergehenden Speicher (25) auszuführen; die Sensorsignale (22) über das Zustandsklassifizierungsmodul (23) in mindestens zwei verschiedene Klassen (40, 42) zu klassifizieren; einen Systemzustand des Roboters (110) unter Verwendung der Klassen (40, 42) zu überwachen; und den Roboter (110) bei der Ausführung alternativer Arbeitsaufgaben auf der Grundlage des Systemzustands zu steuern.
  2. Robotersystem (10) nach Anspruch 1, wobei der Controller (24) ausgestaltet ist, um über den Prozessor (17) tatsächliche Sensormesswerte (22) zu verarbeiten, die von der Vielzahl von Sensoren (29) während einer Ausführung einer Trainingsphase des Zustandsklassifizierungsmoduls (23) aufgenommen wurden.
  3. Robotersystem (10) nach Anspruch 1, wobei das Zustandsklassifizierungsmodul (23) eine Support Vector Machine ist, die eine Hyperebene oder Linie (43) berechnet, welche die Klassen (40, 42) in einem Eingaberaum der Vielzahl von Sensoren (29) trennt.
  4. Robotersystem (10) nach Anspruch 3, wobei die Support Vector Machine einen Kern einer radialen Basisfunktion selektiv als eine Koordinatentransformation verwendet.
  5. Robotersystem (10) nach Anspruch 1, wobei der geschickte Roboter (110) ein humanoider Roboter mit mindestens 42 Freiheitsgraden ist.
  6. Verfahren (100) zum Steuern eines geschickten Roboters (110), wobei der Roboter (110) eine Vielzahl von Robotergelenken (A, B, C, D, E, F), Stellgliedern, die zum Bewegen der Robotergelenke (A, B, C, D, E, F) ausgestaltet ist, und Sensoren (29) umfasst, die ausgestaltet sind, um eine Eigenschaft eines zugehörigen der Robotergelenke (A, B, C, D, E, F) bei der Ausführung einer Arbeitsaufgabe zu messen, welche eine Position jedes Gelenks (A, B, C, D, E, F) umfasst, das bei der Ausführung einer Arbeitsaufgabe oder Sequenz verwendet wird, und um die Eigenschaften als Sensorsignale (22) zu übertragen, wobei das Verfahren (100) umfasst, dass: die Sensorsignale (22) unter Verwendung eines Controllers (24) mit einem Zustandsklassifizierungsmodul (23) empfangen werden, der für die Steuerung des Roboters (110) über Steuerungs- und Rückmeldesignale (11) ausgestaltet ist; die Sensorsignale (22) unter Verwendung eines Zustandsklassifizierungsmoduls (23) des Controllers (24) in mindestens zwei unterschiedliche Klassen (40, 42) klassifiziert werden; ein gegenwärtiger Systemzustand des Roboters (110) unter Verwendung der Klassen (40, 42) überwacht wird; und der Roboter (110) bei der Ausführung alternativer Arbeitsaufgaben auf der Grundlage des gegenwärtigen Systemzustands gesteuert wird.
  7. Verfahren (100) nach Anspruch 6, das ferner umfasst, dass: über den Controller (24) tatsächliche Sensormesswerte (22) verarbeitet werden, die von den Sensoren (29) während der Ausführung einer Trainingsphase des Zustandsklassifizierungsmoduls (23) aufgenommen wurden.
  8. Verfahren (100) nach Anspruch 7, das ferner umfasst, dass: eine Hyperebene oder Linie (43) berechnet wird, welche die Klassen (40, 42) in einem Eingaberaum der Sensoren (29) unter Verwendung des Zustandsklassifizierungsmoduls (23) trennt.
  9. Verfahren (100) nach Anspruch 8, wobei das Berechnen einer Hyperebene oder Linie (43) 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 (100) nach Anspruch 9, wobei das Berechnen einer Hyperebene oder Linie (43) 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 DE102012213188A1 (de) 2013-02-07
DE102012213188B4 true 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021212494A1 (de) 2021-11-05 2023-05-11 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zur Steuerung einer Robotervorrichtung

Families Citing this family (6)

* 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 苏州大学 机器人仿生手抓取方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5813406A (en) * 1988-10-14 1998-09-29 The Board Of Trustees Of The Leland Stanford Junior University Strain-sensing goniometers, systems and recognition algorithms
US6556892B2 (en) * 2000-04-03 2003-04-29 Sony Corporation Control device and control method for robot
JP2003346152A (ja) * 2002-05-24 2003-12-05 Sony Corp 物体認識装置及び方法並びにロボット装置
US20040117063A1 (en) * 2001-10-22 2004-06-17 Kohtaro Sabe Robot apparatus and control method thereof
JP2007265103A (ja) * 2006-03-29 2007-10-11 Nachi Fujikoshi Corp ロボット制御装置
DE102010045528A1 (de) * 2009-09-22 2011-08-04 GM Global Technology Operations LLC, ( n. d. Ges. d. Staates Delaware ), Mich. Gerüst und Verfahren zum Steuern eines Robotersystems unter Verwendung eines verteilten Rechnernetzwerks

Family Cites Families (17)

* 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
JP3555107B2 (ja) * 1999-11-24 2004-08-18 ソニー株式会社 脚式移動ロボット及び脚式移動ロボットの動作制御方法
US6754560B2 (en) * 2000-03-31 2004-06-22 Sony Corporation Robot device, robot device action control method, external force detecting device and external force detecting method
US6447719B1 (en) * 2000-10-02 2002-09-10 Johnson & Johnson Power system for sterilization systems employing low frequency plasma
JP2003266352A (ja) * 2002-03-18 2003-09-24 Sony Corp ロボット装置及びロボット装置の制御方法
JP3833567B2 (ja) * 2002-05-01 2006-10-11 本田技研工業株式会社 移動ロボットの姿勢制御装置
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 日本電信電話株式会社 特異映像検出装置、特異映像検出方法およびプログラム
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
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
US8442684B2 (en) * 2009-09-22 2013-05-14 GM Global Technology Operations LLC Integrated high-speed torque control system for a robotic joint

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5813406A (en) * 1988-10-14 1998-09-29 The Board Of Trustees Of The Leland Stanford Junior University Strain-sensing goniometers, systems and recognition algorithms
US6556892B2 (en) * 2000-04-03 2003-04-29 Sony Corporation Control device and control method for robot
US20040117063A1 (en) * 2001-10-22 2004-06-17 Kohtaro Sabe Robot apparatus and control method thereof
JP2003346152A (ja) * 2002-05-24 2003-12-05 Sony Corp 物体認識装置及び方法並びにロボット装置
JP2007265103A (ja) * 2006-03-29 2007-10-11 Nachi Fujikoshi Corp ロボット制御装置
DE102010045528A1 (de) * 2009-09-22 2011-08-04 GM Global Technology Operations LLC, ( n. d. Ges. d. Staates Delaware ), Mich. Gerüst und Verfahren zum Steuern eines Robotersystems unter Verwendung eines verteilten Rechnernetzwerks

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021212494A1 (de) 2021-11-05 2023-05-11 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zur Steuerung einer Robotervorrichtung

Also Published As

Publication number Publication date
US8706299B2 (en) 2014-04-22
JP2013031913A (ja) 2013-02-14
DE102012213188A1 (de) 2013-02-07
US20130035792A1 (en) 2013-02-07

Similar Documents

Publication Publication Date Title
DE102012213188B4 (de) Verfahren und System zum Steuern einer Ausführungssequenz eines geschickten Roboters unter Verwendung einer Zustandsklassifizierung
DE102014108287B4 (de) Schnelles Erlernen durch Nachahmung von Kraftdrehmoment-Aufgaben durch Roboter
DE102018215057B4 (de) Maschinelles-Lernen-Vorrichtung, Robotersystem und maschinelles-Lernen-Verfahren
DE102017008475B4 (de) Maschinenlernvorrichtung, robotersystem und maschinenlernverfahren zum erlernen eines roboter-betriebsprogramms
DE102010045529B4 (de) Interaktives Robotersteuerungssystem und Verwendungsverfahren
DE112010000775B4 (de) Industrierobotersystem
DE102012218297B4 (de) Verfahren zur dynamischen Optimierung einer Robotersteuerschnittstelle
DE112019002310B4 (de) Ausführen einer "peg in hole"-aufgabe mit unbekannter neigung
DE102010045528B4 (de) Gerüst und Verfahren zum Steuern eines Robotersystems unter Verwendung eines verteilten Rechnernetzwerks
DE102010045345B4 (de) Eingebettetes System und Verfahren zur Diagnose, Prognose und zum Gesundheitsmanagement für einen humanoiden Roboter
DE102014103738B3 (de) Visuelle fehlersuche bei roboteraufgaben
DE102013202378A1 (de) Prozedurales Gedächtnislernen und Robotersteuerung
DE102015106227B3 (de) Steuern und/oder Regeln von Motoren eines Roboters
DE112019000097B4 (de) Steuervorrichtung, Arbeitsroboter, Programm und Steuerverfahren
DE102019216229A1 (de) Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE202018103922U1 (de) Greifsystem als intelligentes Sensor-Aktor-System
DE102015122998B3 (de) Roboter und Verfahren zum Betreiben eines Roboters
DE102019205651B3 (de) Verfahren und System zum Ausführen von Roboterapplikationen
WO2021018552A1 (de) Verfahren und manipulationssystem zur manipulation eines objekts durch einen roboter
DE102018112370B4 (de) Richtungsabhängige Kollisionsdetektion für einen Robotermanipulator
DE102020210823A1 (de) Maschinen-Steueranordnung
EP3965999A1 (de) Verfahren und system zur bestimmung von optimierten programmparametern für ein roboterprogramm
DE112019007579B4 (de) Numerische-Steuerung-Vorrichtung und Maschinelles-Lernen-Gerät
EP3710900B1 (de) Verfahren und system zum vorgeben bzw. lernen eines roboterbefehls
DE102022201116B4 (de) Verfahren zum Steuern einer Robotervorrichtung

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