DE102014110355B3 - Robotersystem und Verfahren zur Roboter-Geschwindigkeitssteuerung - Google Patents

Robotersystem und Verfahren zur Roboter-Geschwindigkeitssteuerung Download PDF

Info

Publication number
DE102014110355B3
DE102014110355B3 DE102014110355.6A DE102014110355A DE102014110355B3 DE 102014110355 B3 DE102014110355 B3 DE 102014110355B3 DE 102014110355 A DE102014110355 A DE 102014110355A DE 102014110355 B3 DE102014110355 B3 DE 102014110355B3
Authority
DE
Germany
Prior art keywords
end effector
path
control
module
robot
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.)
Active
Application number
DE102014110355.6A
Other languages
English (en)
Inventor
Heiko Hoffmann
David W. Payton
Derek Mitchell
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
Original Assignee
GM Global Technology Operations LLC
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 filed Critical GM Global Technology Operations LLC
Application granted granted Critical
Publication of DE102014110355B3 publication Critical patent/DE102014110355B3/de
Active 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/1628Programme controls characterised by the control loop
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/30Surgical robots
    • 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
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/19Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Robotics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Surgery (AREA)
  • Mechanical Engineering (AREA)
  • Molecular Biology (AREA)
  • Animal Behavior & Ethology (AREA)
  • Veterinary Medicine (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Public Health (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Medical Informatics (AREA)
  • Manufacturing & Machinery (AREA)
  • Human Computer Interaction (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)
  • Feedback Control In General (AREA)

Abstract

Ein Robotersystem weist einen Endeffektor und ein Steuerungssystem auf. Das Steuerungssystem weist einen Prozessor, eine dynamisches Systemmodul (DSM) und ein Geschwindigkeitssteuerungsmodul (VCM) auf. Durch Ausführung eines Verfahrens verarbeitet das DSM Eingaben durch ein Flussvektorfeld und gibt einen Steuerungsgeschwindigkeitsbefehl aus. Die Eingaben können eine tatsächliche Position, eine erwünschte Zielposition und einen vorgeführten Referenzpfad des Endeffektors aufweisen. Das VCM erhält eine tatsächliche Geschwindigkeit des Endeffektors und den Steuerungsgeschwindigkeitsbefehl als Eingaben und überträgt einen Motordrehmomentbefehl an den Endeffektor als einen Ausgabebefehl. Das Steuerungssystem verwendet einen vorbestimmten Satz von Differentialgleichungen, um eine Bewegungstrajektorie des Endeffektors in Echtzeit zu generieren, die den vorgeführten Referenzpfad annähert. Das Steuerungssystem ist auch programmiert, um in Antwort auf Pertubationen der Bewegung des Endeffektors durch das VCM eine Bewegung des Endeffektors in Echtzeit zu modifizieren.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Anmeldung betrifft ein Robotersystem und ein Verfahren zur Roboter-Geschwindigkeitssteuerung.
  • HINTERGRUND
  • Roboter weisen üblicherweise eine Reihe von Koppelelementen auf, die durch motorgetriebene Robotergelenke miteinander verbunden sind. Jedes Robotergelenk stellt ein oder mehrere unabhängige Steuerungsvariablen/Freiheitsgrade dar. Endeffektoren, wie zum Beispiel Roboterhände oder -greifer, sind diejenigen Endkoppelelemente in einem seriellen Roboter, die direkt auf ein Objekt beim Durchführen einer gegebenen Arbeitsanweisung, wie zum Beispiel Greifen oder Bewegen des Objekts, wirken. Komplexe Programmierung und Bewegungssteuerungstechniken werden in einer Vielzahl von Arten benutzt, um die geforderten Level von Robotermobilität, -geschicklichkeit und arbeitsanweisungsbezogener -funktionalität zu erreichen. Endeffektoren nähern sich und entfernen sich von einer spezifizierten Zielposition entsprechend einem bestimmten Pfad oder einer bestimmten Trajektorie. Solche Pfade werden in Logik unter Verwendung einer Vielzahl von Ansätzen geplant. Allerdings kann konventionelle Endeffektor-Pfadplanung weniger als optimal robust in bestimmten Fällen sein, wie unten beschrieben.
  • Herkömmliche Robotersysteme und Steuerungsverfahren, die insbesondere zur Roboter-Geschwindigkeitssteuerung eingesetzt werden können, sind aus den Druckschriften DE 38 86 989 T2 , DE 10 2007 061 323 A1 , US 6 266 578 B1 , US 7 289 884 B1 und US 2007/0 046 677 A1 bekannt.
  • ZUSAMMENFASSUNG
  • Ein Robotersteuerungssystem und ein Verfahren sind hierin offenbart, die sich dazu eignen, einen Roboterendeffektor zu steuern. Während konventionelle Roboter typischerweise durch Tore oder Barrieren von der umgebenden Arbeitsumgebung isoliert sind, ist direkte Interaktion zwischen Robotern und Linienbedienern und/oder Objekten, die sich in der Roboterarbeitsumgebung befinden, bei einigen der komplexeren aufkommenden geschickten Roboterdesigns vorgesehen. Manchmal allerdings kann immer noch unerwarteter Kontakt mit dem Endeffektor solcher Roboter auftreten, der wiederum zu Endeffektor-Pertubationen führen kann. Solche Pertubationen können dazu führen, dass die Endeffektorbewegung von dem geplanten Pfad abweicht, und erfordern eine robustere Steuerungsverarbeitungsfunktionalität.
  • Der Erfindung liegt die Aufgabe zugrunde, ein Robotersystem sowie ein Verfahren zur Roboter-Geschwindigkeitssteuerung zu schaffen, welche dazu ausgelegt sind, um in Antwort auf Pertubationen der Bewegung des Endeffektors die Bewegung des Endeffektors in Echtzeit anzupassen oder zu modifizieren.
  • Die vorstehende Aufgabe wird durch die Merkmale der unabhängigen Ansprüche 1 und 6 gelöst.
  • Das vorliegende Steuerungs-Framework ist vorgesehen, um diese besondere Steuerungsherausforderung zu adressieren durch die Verwendung eines Steuerungssystems, das Funktionen eines Geschwindigkeitssteuerungsmoduls mit denen eines dynamischen Systemmoduls wie unten beschrieben kombiniert. Wie im Stand der Technik gut bekannt ist, beinhaltet eine Endeffektorsteuerung typischerweise die Programmierung eines Controllers mit vordefinierten Näherungs- und Entfernungstrajektorien in einem gegebenen Aufgabenraum, zum Beispiel einem XYZ-Kartesischen Koordinatensystem. Die Position und Geschwindigkeit des Endeffektors werden in Echtzeit gemessen und gesteuert, während sich der Endeffektor hin zu oder weg von den spezifizierten Zielpositionen bewegt. Dynamische Systeme bieten einen alternativen Ansatz. In einem dynamischen System sind die Endeffektor-Bewegungstrajektorien nicht vordefiniert. Stattdessen werden solche Trajektorien automatisch durch einen Controller während einer gegebenen Endeffektorbewegung generiert. Anders als in den oben angegebenen kontinuierlichen, programmierungsintensiven Steuerungsschemata mit Rückführung, werden in einem dynamischen System nur wenige Steuerungsbefehle spezifiziert. Differentialgleichungen generieren letztendlich die entsprechenden Bewegungstrajektorien.
  • Ein Dynamic Movement Primitive (DMP) Framework kann verwendet werden, um solche dynamischen Systeme zu implementieren. In einem DMP-Framework werden die zuvor genannten Differentialgleichungen angepasst, um gegebene Bewegungen zu generieren. Zusammen können diese Differentialgleichungen eine Bibliothek von sogenannten ”movement primitives” bilden. Allerdings können konventionelle Endeffektorsteuerungstechniken weniger als optimal robust bleiben, besonders beim Erfahren von Pertubationen, wie zum Beispiel solche, die durch äußere Kräfte verursacht werden, die der Endeffektor während der Bewegung durch geplante Trajektorien erfährt.
  • Das hierin offenbarte Steuerungssystem generiert letztendlich Bewegungsbefehle für den Endeffektor, möglicherweise in Antwort auf eine vorherige, vom Bediener demonstrierte Arbeitsanweisung. Das dynamische Systemmodul generiert erwünschte Geschwindigkeitsbefehle für die Bewegung des Endeffektors unter Einsatz eines Flussvektorfeldes. Die tatsächliche Position des Endeffektors im freien Raum wird gemessen und als eine Steuerungseingabe an das dynamische Systemmodul übertragen. Das hierin offenbarte Steuerungssystem erlaubt unterschiedlichere oder flexiblere Roboterbewegungen im Vergleich zum vorherrschenden Stand der Technik, wobei der Roboter besser in der Lage ist, sich online oder in Echtzeit an neu festgesetzte Zielpositionen und/oder das Antreffen dynamischer oder statischer Hindernisse in der Arbeitsumgebung des Roboters anzupassen.
  • In einer beispielhaften Ausführungsform weist ein Robotersystem einen Endeffektor und ein Steuerungssystem auf. Das Steuerungssystem, das in Kommunikation mit dem Endeffektor steht, weist einen Prozessor, ein dynamisches Systemmodul (DSM) und ein Geschwindigkeitssteuerungsmodul (VCM) auf, wobei der Begriff ”Modul” wie hierin gebraucht die Hardware und Softwareteile des Steuerungssystems, welche zur Ausführung verknüpfter Funktionen wie unten beschrieben bestimmt sind, betrifft. Insbesondere das DSM verarbeitet einen Satz von Eingaben und wendet das Flussvektorfeld an, und dann gibt es einen Steuergeschwindigkeitsbefehl aus. Der Satz von Eingaben kann eine gemessene oder tatsächliche Position des Endeffektors, eine erwünschte Zielposition des Endeffektors und einen optionalen bedienervorgeführten Bezugspfad des Endeffektors, zum Beispiel einen durch Zurückfahren oder Teleoperation des Endeffektors vorgeführten Pfad, aufweisen. Das VCM empfängt oder berechnet eine tatsächliche Geschwindigkeit des Endeffektors und den Steuerungsgeschwindigkeitsbefehl als Eingabe und generiert letztendlich einen Motordrehmomentbefehl an den Endeffektor als Ausgabebefehl.
  • Das Steuerungssystem verwendet einen vorbestimmten Satz von Differentialgleichungen, um eine Bewegungstrajektorie des Endeffektors in Echtzeit zu generieren. Die Bewegungstrajektorie nähert den vorgeführten Bezugspfad an. Das Steuerungssystem ist dazu programmiert, die Bewegung des Endeffektors in Echtzeit durch das VCM in Antwort auf erfahrene Pertubationen der Bewegung des Endeffektors anzupassen oder zu modifizieren.
  • Das DSM weist ein Pfadtransformationsmodul, welches programmiert ist, um ein Bezugssystem eines Flussvektorfeldes zu transformieren, und ein Pfadvermischungsmodul auf, das einen einstellbaren linearen Interpolationsterm in die Differentialgleichung einbezieht. Der einstellbare lineare Interpolationsterm mischt einen vorwärts von der Startposition gezeichneten Pfad des Endeffektors mit einem rückwärts von der Zielposition gezeichneten Pfad zusammen.
  • Das Steuerungssystem fügt der Flussvektorfeldfunktion eine Transformation hinzu, wobei die Flussvektorfeldfunktion das oben genannte Flussvektorfeld definiert. Die Transformation rotiert ein Bezugssystem des Flussvektorfeldes, um eine Orientierung des vorgeführten Pfades an eine Orientierung der neuen Start- und Zielposition anzugleichen.
  • Das VCM kann bei einer Taktrate arbeiten, die mindestens fünf mal (5×) höher ist als die Taktrate des DSM. Zum Beispiel kann das DSM bei ungefähr 20–40 Hz arbeiten und das VCM bei ungefähr 100–1000 Hz arbeiten, so dass die Differentialgleichungen mit einer höheren Frequenz aktualisiert werden.
  • Ein dazugehöriges Verfahren weist ein Verarbeiten eines Satzes von Eingaben durch das DSM mit einem vordefinierten Flussvektorfeld auf. Der Satz von Eingaben weist eine tatsächliche Position eines Endeffektors eines Robotersystems, eine erwünschte Zielposition des Endeffektors und einen vorgeführten Bezugspfad des Endeffektors auf. Das Verarbeiten weist ein Verwenden eines vorbestimmten Satzes von Differentialgleichungen auf, um eine Bewegungstrajektorie des Endeffektors in Echtzeit zu generieren, um den vorgeführten Bezugspfad anzunähern. Das Verfahren weist auch ein Ausgeben eines Steuerungsgeschwindigkeitsbefehls durch das DSM und ein Empfangen und Verarbeiten einer tatsächlichen Geschwindigkeit des Endeffektors und des Steuerungsgeschwindigkeitsbefehls von dem DSM durch das VCM auf. Das Verfahren weist ferner ein Generieren und Übertragen eines Motordrehmomentbefehls zum Endeffektor durch das VCM auf, um dadurch die Bewegung des Endeffektors in Echtzeit in Antwort auf Pertubationen der Bewegung des Endeffektors anzupassen oder zu modifizieren. Ferner wird ein Bezugssystem des Flussvektorfeldes durch ein Pfadtransformationsmodul des Steuerungssystems transformiert, und ein einstellbarer linearer Interpolationsterm wird in die Differentialgleichungen durch ein Pfadvermischungsmodul des Steuerungssystems eingebracht, um einen Pfad des Endeffektors, der von einer Startposition vorwärts gezogen wird, mit einem Pfad, der von einer Zielposition rückwärts gezogen wird, zusammenzumischen.
  • Die oberen Merkmale und Vorteile und andere Merkmale und Vorteile der vorliegenden Erfindung sind leicht erkennbar aus der folgenden detaillierten Beschreibung in Verbindung mit den begleitenden Zeichnungen.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist eine schematische Darstellung eines beispielhaften Robotersystems aufweisend einen Roboter mit einem Endeffektor und ein verknüpftes Steuerungssystem mit einem kombinierten dynamischen Systemmodul (DSM) und einem Geschwindigkeitssteuerungsmodul (VCM), welches angepasst ist um die Bewegungen des Endeffektors bei Vorliegen von Endeffektor-Pertubationen auszugleichen.
  • 2 ist eine schematische Darstellung eines beispielhaften dynamischen, differentialgleichungsdefinierten Flussvektorfeldes, das durch das Steuerungssystem von 1 verwendbar ist, um den Endeffektor des Roboters richtig zu einem Zielpunkt zu führen.
  • 3A ist eine schematische Darstellung eines vorgeführten und eines generalisierten Pfades ohne die Verwendung einer Beispielpfadtransformationslogik.
  • 3B ist eine schematische Darstellung eines vorgeführten und eines generalisierten Pfades unter Verwendung der Beispielpfadtransformationslogik.
  • 4A ist eine schematische Darstellung eines vorgeführten und eines generalisierten Pfades ohne die Verwendung einer Beispielpfadvermischungslogik.
  • 4B ist eine schematische Darstellung eines vorgeführten und eines generalisierten Pfades unter Verwendung der Beispielpfadvermischungslogik.
  • 5 ist ein Flussdiagramm, das ein beispielhaftes Verfahren der Verwendung des in 1 gezeigten Steuerungssystems beschreibt.
  • DETAILLIERTE BESCHREIBUNG
  • Unter Bezugnahme auf die Zeichnungen, in denen gleiche Bezugszeichen auf die gleichen oder ähnliche Komponenten über verschiedene Ansichten hinweg verweisen, ist ein Robotersystem 10 schematisch in 1 gezeigt. Das Robotersystem 10 weist einen Roboter 12 auf, der als beispielhafter geschickter humanoider Roboter dargestellt ist, der aber alternativ als jeglicher mehrachsiger Roboter ausgeführt sein kann. Der Roboter 12 weist einen Endeffektor 14 auf, der an einem distalen Ende eines Roboterarms 16 angeordnet ist. Die Bewegung des Roboters 12, insbesondere des Endeffektors 14 und des Roboterarms 16, wird automatisch durch ein Steuerungssystem (C) 50 mit einem integrierten dynamischen Systemmodul (DSM) 52 und einem Geschwindigkeitssteuerungsmodul (VCM) 54 gesteuert, deren spezifische programmierte Funktionen unten detailliert beschrieben sind.
  • Der Roboter 12 ist in Hardware und Software konfiguriert, um eine oder mehrere automatisierte Aufgaben mit mehreren Steuerungsfreiheitsgraden zu absolvieren und um andere interaktive Aufgaben zu absolvieren oder um andere integrierte Systemkomponenten zu steuern, zum Beispiel Klemmung, Relais, Aufgabenbeleuchtung und dergleichen. In der in 1 gezeigten Ausführungsform beinhaltet der Roboter 12 eine Mehrzahl von unabhängig und zwischenabhängig beweglichen Robotergelenken, um die Bewegung des Roboterarms 16 und letztendlich des Endeffektors 14 zu steuern. Obwohl es in 1 wegen darstellerischer Einfachheit weggelassen ist, beinhaltet jedes Robotergelenk und/oder ist jedes Robotergelenk angetrieben von einem oder mehreren Gelenkaktuatoren, wie zum Beispiel einem Gelenkmotor, Linearaktuator, Drehaktuator oder dergleichen.
  • Das Steuerungssystem 50 bietet eine präzise Bewegungssteuerung des Roboters 12, inklusive einer Kontrolle über die feinen und groben Bewegungen, die für die Manipulation eines Objektes (nicht dargestellt) benötigt werden, auf das der Endeffektor 14 wirken kann. Zusätzlich bietet das Steuerungssystem 50 eine Online-Bewegungserzeugung und eine Motorsteuerung für den Roboter 12. Wie unten beschrieben wird, kann das Steuerungssystem 50 programmiert werden, um Dynamic Movement Primitives oder DMPs bereitzustellen, um so eine Bewegungstrajektorie in Echtzeit unter Verwendung von Differentialgleichungen zu generieren, wobei dies in einer bestimmten Weise unter Verwendung der vorliegend offenbarten Modifikation geschieht, welche die Bewegungen an eine große Vielfalt von neuen oder unerwarteten Zusammenhängen anpasst.
  • Insbesondere kann das Steuerungssystem 50, wie in 1 gezeigt, mit einem an die Differentialgleichungen angehängten Term programmiert werden, der eine Rotation einer generierten Bewegung des Endeffektors 14 bewirkt, so dass die generierte Bewegung mit neuen Start und End/Zielpositionen in einem gegebenen Endeffektorpfad ausgerichtet wird. Das Steuerungssystem 50 hängt auch einen zusätzlichen Term an, der einen Zielparameter von einer ursprünglichen Zielposition zu einer neuen Zielposition hin allmählich verändert. Mit anderen Worten werden bekannte Fähigkeiten von DMPs unter Verwendung des vorliegenden Frameworks erweitert, so dass eine einzelne Bewegung des Endeffektors 14 oder eines anderen Teils des Roboters 12 von 1 einfach moduliert werden kann, um einen viel größeren Satz von unvorhersehbaren Umständen zu handhaben. Dieser Ansatz, der eine Pfadtransformations-(PT)-Logik 55 und eine Pfadvermischungs-(PB)-Logik 57 verwenden kann, um jeweils das Bezugssystem eines Flussvektorfeldes zu transformieren und eine lineare Interpolation einzubeziehen, wird mit Bezug auf 3A und 3B unten detailliert diskutiert.
  • Das Steuerungssystem 50 kann als ein Computergerät oder als mehrere solche Computergeräte ausgeführt sein und ist programmiert, um Roboterbewegungen des Roboterarms 16 und des Endeffektors 14 zu planen und zu generieren. Das Steuerungssystem 50 kann einen oder mehrere Prozessoren (P) und Speicher (M) beinhalten, inklusive ausreichender Mengen von greifbarem, nichtflüchtigem Speicher. Speichertypen können optischen oder magnetischen Festspeicher (ROM), Arbeitsspeicher (RAM), löschbaren elektrisch programmierbaren Festspeicher (EEPROM) und dergleichen umfassen. Das Steuerungssystem 50 kann auch beinhalten eine Hochgeschwindigkeitsuhr, Analog-zu-Digital-(A/D-)Schaltkreise, Digital-zu-Analog-(D/A-)Schaltkreise und beliebige benötigte Eingabe/Ausgabe-(I/O-)Schaltkreise und Geräte sowie Signalkonditionierungs- und Pufferelektronik.
  • Individuelle Steuerungsalgorithmen, die in dem Controller 50 angesiedelt sind oder durch diese einfach zugänglich sind, wie zum Beispiel Instruktionen, die ein in 1 gezeigtes Verfahren 100 bilden, können im Speicher (M) gespeichert sein und automatisch durch den Prozessor (P) auf einer oder mehreren verschiedenen Steuerungsebenen ausgeführt werden, um die jeweilige Steuerungsfunktionalität zu bieten.
  • DYNAMIC MOVEMENT PRIMITIVES
  • Ein Dynamic Movement Primitive oder DMP, wie es in der Technik der Robotersteuerung gut bekannt ist, kann verwendet werden, um eine bestimmte Roboterbewegungstrajektorie x(t) mit einer gegebenen Geschwindigkeit v(t) zu generieren. Die Bewegungsgleichungen für ein DMP sind motiviert durch die Dynamik einer gedämpften Feder, die an eine Zielposition g angeknüpft ist und die durch eine nichtlineare Beschleunigung pertubiert ist: v . = K(g – x) – Dv + (g – x0)f(s) ẋ = v wobei x0 der Startpunkt einer gegebenen Bewegung ist, K die Federkonstante ist, D die Dämpfungskonstante ist und f eine parametrisierte nichtlineare Funktion ist.
  • Im Allgemeinen empfängt das in 1 gezeigte Steuerungssystem 50 ein erwünschtes Ziel (gd), d. h. eine Sollendposition einer gegebenen Endeffektorbewegung, entweder durch Programmierung oder durch einen Bezugspfad, der durch Vorführungslernen angeboten wird, und führt einen Satz von Differentialgleichungen durch das DSM 52 aus. Das DSM 52 beinhaltet den Satz von wie unten spezifizierten nichtlinearen Differentialgleichungen, die durch den Prozessor (P) gelöst werden. In bestimmten existierenden Systemen werden Differentialgleichungen in Echtzeit gelöst, um erwünschte Gelenkwinkel oder Roboterendeffektorpositionen zu produzieren, die dann von einem anderen Robotercontroller verfolgt werden. Ein solcher Ansatz ist förderlich für das Vorführungslernen.
  • Allerdings wird hierin erkannt, dass Abweichungen zwischen einer tatsächlichen Position und einer erwünschten Position des Endeffektors 14 auftreten können. Diese Abweichungen werden in konventionellen Endeffektorplanungen oft ignoriert. Als ein Ergebnis können existierende Planungsansätze möglicherweise nicht verwendet werden, wenn ausreichend große Pertubationen vorliegen, wie zum Beispiel eine äußere Kraft, die auf den Endeffektor 14 ausgeübt wird, wie zum Beispiel durch ein Objekt, das in dem Arbeitsraum des Roboters 12 von 1 unerwartet angetroffen wird. Mit anderen Worten kann der Roboter 12 von 1 dabei versagen, die erwünschte Bewegung des Endeffektors 14 richtig zu verfolgen, und kann stattdessen eine unerwartete unerwünschte Bewegung produzieren. Das Steuerungssystem 50 der vorliegenden Erfindung ist daher dazu vorgesehen, eine gleichmäßige Bewegung des Roboterarms 16 und des Endeffektors 14 trotz solcher Pertubationen zu produzieren.
  • Das in 1 schematisch gezeigte DSM 52 gibt letztendlich eine erwünschte Gelenkgeschwindigkeit (vd) aus und interagiert mit dem Geschwindigkeitssteuerungsmodul (VCM) 54, welches wiederum einen befohlenen Motordrehmomentbefehl (τm) an den Roboter 12 sendet und eine tatsächliche Gelenkgeschwindigkeit (va) von dem Roboter 12 empfängt. Das DSM 52 empfängt auch gemessene tatsächliche Gelenkpositionen (Pa) von dem Roboter 12, zum Beispiel von einem oder mehreren Positionssensoren Sp. Wie in der Technik bekannt ist, kann die tatsächliche Geschwindigkeit (va) einfach aus den gemessenen Gelenkpositionen berechnet werden.
  • Das VCM 54 kann bei einer schnelleren Rate ausgeführt werden als die Kommunikationsrate mit dem DSM 52, wie zum Beispiel wenigstens fünfmal (5×) schneller und bis zu fünfzigmal (50×) schneller in einer anderen Ausführungsform. In einem beispielhaften Ansatz kann das DSM 52 mit einer Taktrate zwischen 20–40 Hz ausgeführt werden, während das VCM 54 mit einer Taktrate zwischen 100–1000 Hz ausgeführt werden kann. Der Prozessor (P) aktualisiert die dynamischen Systemgleichungen des DSM 52 mit einer höheren Rate. In der vorliegenden Erfindung erstellt das DSM 52 für jeden Zeitschritt in der Bewegung ein DMP als eine Bewegungstrajektorie, die hierin als eine erwünschte Position (x) und Geschwindigkeit (v) des Endeffektors 14 definiert ist. Solch ein dynamisches System kann wie folgt beschrieben werden, wobei Terme ähnlich denen, die oben zur allgemeinen Beschreibung von DMPs verwendet wurden, verwendet werden: v . = K(g – x) – Dv – K(g – x0)s + Kf(s) + p(x, v) ẋ = v
  • In den obigen Gleichungen ist x0 die Startposition einer Bewegung, ist g das erwünschte Ziel/die Sollvorgabe der Bewegung, ist s eine Phasenvariable, die während der Bewegung exponentiell abnimmt, ist K die Federkonstante, ist D eine Dämpfungskonstante, ist f eine anpassbare nichtlineare Funktion, und ist p ein optionaler Term, der die Einbeziehung einer wie unten weiter ausgeführten Hindernisausweichtechnik erlaubt. f kann folgendermaßen definiert werden:
    Figure DE102014110355B3_0002
    wobei ψi(s) eine Gaußsche Funktion ist. f ist explizit abhängig von der Phasenvariable (s), d. h. τs . = –αs, wobei α eine vordefinierte Konstante ist. Mit anderen Worten ist die nichtlineare Funktion f nicht abhängig von der Zeit, und daher kann f einfach derart angepasst werden, dass die Gleichungen eine erwünschte Trajektorie für den Endeffektor 14 erzeugen. Dies ist ein zugrundeliegendes Prinzip der Diskussion, die mit Bezug auf 24B folgt.
  • Bezug nehmend auf 2 ist ein Vorteil des Steuerungssystems 50 von 1 gegenüber der Verwendung von statischen Trajektorien die Flexibilität, die gegen Pertubationen der Bewegung des Endeffektors 14 geschaffen wird, da eine erwünschte Position/Geschwindigkeit einfach für jeden Ort im Zustandsraum bereitgestellt werden kann. Dieser Vorteil erlaubt auch die Einbeziehung von Hindernisausweichfähigkeiten, wodurch eine Echtzeitplanung von Bewegungen um beliebige dynamische, d. h. bewegliche, Hindernisse im Arbeitsraum des Roboters 12 ermöglicht wird.
  • Um dieses Konzept weiter zu verdeutlichen, ist ein beispielhaftes Flussvektorfeld (FF) 20 für Pertubationen in der XY-Position im Zustandsraum dargestellt, wobei die X-Achse Änderungen in der Position repräsentiert, die in der X-Richtung auftreten, und wobei die Y-Achse Änderungen in der Position repräsentiert, die in der Y-Richtung auftreten. Das Flussfeld 20 wirkt als Geschwindigkeitsvektorfeld, zum Beispiel als ein Feld von individuellen Geschwindigkeitsvektoren 22, was dabei hilft, den Endeffektor 14 von seiner gegenwärtigen Position Pc zu einer Zielposition Pg zu führen. Pfeil A in 2 stellt die Pertubation in verschiedenen Richtungen dar.
  • Wieder Bezug nehmend auf 1 berechnet das Steuerungssystem 50 von 1 das erforderliche Motordrehmoment, das benötigt wird, um eine bestimmte Geschwindigkeit (v) des Endeffektors 14 zu erreichen. Für die Steuerung des Roboters 12 generiert das DSM 52 von 1 die erwünschte Geschwindigkeit vd, welche dann durch das VCM 54 in ein entsprechendes Steuerungsdrehmoment τ umgewandelt wird. Bei einer möglichen Ausführungsform ist die erwünschte Geschwindigkeit (vd) im Kartesischen Raum des Endeffektors 14 definiert. In einem solchen Fall kann das VCM 54 mathematisch folgendermaßen ausgeführt werden: τ = PJT(xd – x) + DJT(vd – v) wobei einmal mehr τ das befohlene Steuerungsdrehmoment ist, xd und vd die jeweilige erwünschte Position und Geschwindigkeit sind, x und v die gemessene Position und Geschwindigkeit sind, J die Jacobi-Matrix des Roboterarms 16 und P und D auswählbare oder einstellbare Parameter sind. Die Jacobi-Matrix J kann entweder innerhalb oder außerhalb der Geschwindigkeitssteuerungsschleife berechnet werden. Alternativ können x und v die Bewegung im Gelenkraum wie in 1 beschreiben. In einem solchen Fall kann die Jacobi-Matrix J ausgelassen werden.
  • Bei einer Ausführungsform kann der einstellbare Parameter P Null oder nahe Null sein, wodurch das Steuerungssystem 50 vom Geschwindigkeitsfehler dominiert wird. Dennoch wird das Steuerungssystem 50 fortfahren, Bewegungen zu befehlen, die zu der erwünschten Position (xd) konvergieren, da der Positionsfehler als Rückführung zum DSM 52 bereitgestellt wird, der wiederum vorgesehen ist, bei der erwünschten Sollvorgabe zu konvergieren. Die Sensor(en) Sp des Roboters 12 sorgen für eine Rückmeldung über die tatsächliche Roboterposition, zum Beispiel des Endeffektors 14. Daher erlaubt die Kombination des VCM 54 mit dem DSM 52 kleine oder Null Verstärkungen des Positionsfehlers. Dies wiederum hat den Vorteil, die Bewegungen des Endeffektors 14 gleichmäßiger und toleranter gegenüber Pertubationen zu machen.
  • Der obige Ansatz kann weiter optimiert werden durch eine Erweiterung des Frameworks, um eine Modulation der individuellen Dynamic Movement Primitives zu erlauben. Ein Dynamic Movement Primitive generiert eine Trajektorie in Echtzeit unter Verwendung einer Differentialgleichung, wie es im Stand der Technik bekannt und oben bemerkt ist. Die verbleibende Diskussion unter Bezug auf 3A4B bezieht sich auf die Modifikationen, die vorgenommen werden können, um Bewegungen des Endeffektors 14 an eine größere Vielfalt von Zusammenhängen anzupassen. Insbesondere werden erste und zweite Terme den Differentialgleichungen hinzugefügt. Der erste Term rotiert die generierte Bewegung, sodass sich die Bewegung mit einer neuen erwünschte Startposition und Zielpositionen ausrichtet, während der zweite Term einen Zielparameter allmählich von dem ursprünglichen Ziel zu einem neuen Ziel variiert.
  • Ein Ziel dieses Zwei-Term-Ansatzes ist, hinzugefügte Flexibilität bei der Generalisierung einer Mensch-vorgeführten Roboterbewegung an neue Bewegungszusammenhänge zu bieten. Zum Beispiel kann eine Bewegung, bei der ein Objekt vertikal durch den Roboter 12 von 1 angehoben, hin zu einer Zielposition gefahren, und fallengelassen wird, nicht einfach unter Verwendung von DMPs generalisiert werden, sofern nicht die Richtung der Bewegung ähnlich der vorgeführten Bewegung ist. Mit den folgenden Ansatzmodifikationen induziert allerdings eine angewandte Transformation eine rotatorische Invarianz bezüglich der vertikalen Achse der Bewegung und generiert eine ähnliche Bewegung für eine beliebige Näherungsrichtung. Zusätzlich bietet der in 3A4B gezeigte Ansatz einen Ansatz, um die Geschwindigkeit, mit der sich ein generalisierter Pfad an einen vorgeführten Pfad annähert, anzupassen. Diese zusätzlichen Merkmale führen hinzufügte Flexibilität in die existierenden DMPs ein, die eine relativ kleine Bibliothek von DMPs zur Darstellung von einer viel größeren Bewegungsreichweite erlauben.
  • In Bezug auf die Vorführung allgemein kann, wie es im Stand der Technik bekannt ist, ein Eingabegerät (nicht gezeigt) wie zum Beispiel eine 3D-Maus, ein Joystick oder eine andere Steuerungsvorrichtung benutzt werden, um den Roboter 12 fernzubedienen, oder der Roboter 12 kann durch eine gegebene Arbeitsanweisung manuell zurückgefahren werden. Das heißt, dem Roboter 12 kann durch eine Mensch-unterstützte Vorführung der Arbeitsanweisung „beigebracht werden”, eine bestimmte Arbeitsanweisungssequenz auszuführen. Daher können dem Roboter 12 alle benötigten Greifpositionen und Näherungs-/Entfernungsrichtungen während des Lernens, wie man ein Objekt greift, beigebracht werden.
  • Ein Beispiel von Anweisungsvorführung/-lernen ist eine simple „Greifen und Anheben” Anweisung, wobei der Roboter 12 von 1 seinen Endeffektor 14 benutzt, um ein Objekt 25 zu greifen und anzuheben, welches in 1 beispielhaft als Kugel gezeigt ist. Ein Bediener des Roboters 12 kann den Endeffektor 14 in eine erwünschte Position in Bezug auf des Objekt 25 bewegen und dann das Objekt 27 korrekt greifen, zum Beispiel durch manuelle oder automatische Betätigung des Endeffektors 14 mit ausreichender Kraft, um eine erwünschte Greifpose herzustellen. Der Bediener bewegt dann den Roboterarm 16 und den Endeffektor 14, um das Objekt 25 aufzuheben und zu bewegen. Obwohl der in 1 gezeigte Roboter 12 potentiell Anweisungssequenzen und manche relevanten Wahrnehmungsdaten einfach durch Überwachung eines menschlichen Bedieners, der dieselbe Anweisung ausführt, identifizieren könnte, besteht einer der herausfordernderen Aspekte der Handhabung neuer Objekte und der Erschaffung neuer Zusammensetzungen darin präzise zu bestimmen, wo der Endeffektor 14 zu platzieren ist. Dadurch, dass ein menschlicher Bediener den Roboterarm 16 und den Endeffektor 14 manuell durch jede Anweisung bewegt, während das Steuerungssystem 50 seine eigenen rohen Sensordaten aufnimmt, kann jede Anweisungsvorführung für einen wertvollen Datenfluss von Erfahrungen sorgen, aus dem der Roboter 12 letztendlich diese schwierigen Steuerungsprobleme beim Nachverarbeiten nach einem Mensch-unterstützten Lernen lösen kann.
  • Der Roboter 12 sollte, insbesondere wenn er wie gezeigt als humanoider Roboter ausgeführt ist und in der Gegenwart von menschlichen Bedienern arbeitet, sollte in der Lage sein, sich schnell in einer dynamischen Umgebung anzupassen. Anders als konventionelle Roboter, die zugangsbeschränkt oder durch einen Zaun, einen Lichtvorhang oder eine andere Barriere geschützt sein können, kann von einem geschickten Humanoiden erwartet werden, dass er direkt mit den menschlichen Bedienern interagiert. Die Steuerung eines solchen Roboters 12 sollte ausreichend robust gegen jegliche Ungewissheit über den Ort und die Pose des Objektes 25 von 1 sein. Der vorliegende Ansatz adressiert diese Herausforderungen durch die Beschreibung von Roboterbewegungen als Flussvektorfelder/Differentialgleichungen anstelle von statischen Trajektorien. Die Flussvektorfelder werden durch Anweisungsvorführung gelernt, und sie generalisieren zu neuen Kontexten, wie zum Beispiel neue Start- und Endpositionen einer gegebenen Bewegung. Solche Bewegungen sind schematisch dargestellt in 3A bis 4B.
  • Das DSM von 1 kann ein Pfadtransformationsmodul 55 (PT) und ein Pfadvermischungsmodul 57 aufweisen, welches in 1 als PB abgekürzt ist. Der Begriff ”Modul”, wie hier und auch in Bezug auf das DSM 52 und das VCM 54 verwendet, bezieht sich auf eine Reihe von notwendiger Hardware und Software, die zur Durchführung der unten beschriebenen vorgesehenen Funktionen gebraucht werden. Das Pfadtransformationsmodul 55 ist programmiert oder anderweitig konfiguriert, um das Bezugssystem des Flussfeldes, zum Beispiel des in 2 gezeigten beispielhaften Flussvektorfeldes 20, zu transformieren. Das Pfadvermischungsmodul 57 beinhaltet eine lineare Interpolation, um einen Pfad, der von einer Startposition (Ps) vorwärts gezogen wird, mit einem Pfad, der von einer Zielposition Pg rückwärts gezogen wird, zusammenzumischen. Ein Abstimmen der Interpolation schafft die Fähigkeit, auszuwählen, wie schnell ein tatsächlicher Pfad zu einem Pfad konformiert, der von dem Ziel gezogen wird.
  • Die ursprüngliche Differentialgleichung des dynamischen Systems kann wie folgt umgeformt werden: v . = K(g – x) – Dv – K(g – x0)s + Kf(s)
  • Jeder Parameter der oben angeführten Gleichung ist anderswo oben definiert. Das Pfadtransformationsmodul 55 moduliert dann diesen dynamischen Ausdruck durch Anhängen einer Transformierenden T an die Flussvektorfeldfunktion f: v . = K(g – x) – Dv – K(g – x0)s + KTf(s)
  • Hier kann die Transformierende T sowohl Skalare als auch rotatorische Komponenten besitzen. Die Transformierende T kann auch als eine Funktion der abnehmenden Phasenvariablen s festgesetzt werden, um eine zeitveränderliche Transformierende darzustellen. Durch Rotieren des Bezugssystems eines Flussvektorfeldes 20, das durch die Funktion f definiert ist, um die Orientierung vorgeführter Pfade an eine Orientierung eines neuen Starts und Ziels anzugleichen, wird eine rotatorische Invarianz in die generalisierte Bewegung des Roboters 12 eingeführt.
  • 3A zeigt solche generalisierten Bewegungstrajektorien 40 des Endeffektors 14 in einer beispielhaften Pick-and-Place-Arbeitsanweisung ohne den zusätzlichen Nutzen des Pfadtransformationsmoduls 55, das in 1 gezeigt ist. 3B zeigt die gleichen Bewegungstrajektorien 40 nach der Verarbeitung durch das Pfadtransformationsmodul 55. In 3A und 3B ist der menschvorgeführte Referenzpfad Spur 42, während der generalisierte Pfad, der von einer Startposition PS hin zu einer Zielposition Pg realisiert wird, als Spur 44 gezeigt ist. Die momentane Position des Endeffektors 14 ist als Pc beschriftet. Ein Vergleich von 3A und 3B wird zeigen, dass die Darstellung in 3B eine intuitivere Anpassung des vorgeführten Referenzpfades (Spur 42) ist.
  • Die Implementierung des Pfadvermischungsmoduls 57 des Steuerungssystems 50 ist ein wenig komplexer. Die Differentialgleichungen werden wie folgt umgeformt:
    Figure DE102014110355B3_0003
    wobei gd die Zielposition des vorgeführten Pfades (Spur 44) ist, x0d die Startposition des vorgeführten Pfades (Spur 44) ist und die Phasenvariable sm ein anpassbarer Parameter ist, der bestimmt, wie schnell sich die Position gm an g, also die erwünschte Ziel- oder Sollposition der Bewegung, annähert. Die Variable sm kann als der Wert der Variablen s, bei dem gm und g gleich sind und daher die Vermischung abgeschlossen ist, verstanden werden.
  • 4A und 4B zeigen die Wirkungen der Pfadvermischung auf die Bewegungstrajektorien 40 von 3A und 3B, wenn die Startposition und die Endzielpositionen näher beieinander sind als sie es in dem vorgeführten Pfad (Spur 44) sind. 4A zeigt Bewegungstrajektorien 140 mit einem generalisierten Pfad 144 ohne den Nutzen einer Vermischung durch das Pfadvermischungsmodul 57, während 4B den gleichen generalisierten Pfad 144 nach einer solchen Vermischung zeigt. Man beachte, dass in 4B die Verarbeitung durch das Pfadvermischungsmodul 57 den generalisierten Pfad 144 der Bewegungstrajektorien 140 veranlasst, die Struktur des vorgeführten Pfades 142 beizubehalten, ohne den Roboter 12 zu veranlassen sich zurückzubewegen, wie er es in 4A tut, wie es durch den Pfeil B angedeutet ist. Anpassen der Variablen sm wird in diesem Fall die Form des Pfades zwischen den generalisierten Pfaden 144 in 4A und 4B skalieren.
  • Unter kurzer Bezugnahme auf 5 beginnt ein Verfahren 100 der Verwendung des oben beschriebenen Steuerungssystems 50 mit Schritt 102. Schritt 102 kann das Verarbeiten eines Satzes von Eingaben durch das DSM 52 und sein vorbestimmtes Flussvektorfeld 20 mit sich bringen. Wie oben angeführt, können solche Eingaben die tatsächliche Position Px des Endeffektors 14 des Robotersystems 10 aufweisen wie auch eine erwünschte Zielposition (gd) des Endeffektors 14 und möglicherweise einen vorgeführten Referenzpfad des Endeffektors 14. Schritt 102 weist die Anwendung eines vorbestimmten Satzes von Differentialgleichungen auf, um eine Bewegungstrajektorie des Endeffektors 14 in Echtzeit zu generieren, um einen vorgeführten Referenzpfad anzunähern.
  • Bei Schritt 104 gibt das Steuerungssystem 50 von 1 einen erwünschten Steuerungsgeschwindigkeitsbefehl Vd durch das DSM 52 aus. Das Verfahren 100 fährt dann mit Schritt 106 fort, wo das VCM 54 eine tatsächliche Geschwindigkeit Va des Endeffektors und den Steuerungsgeschwindigkeitsbefehl Vd von dem DSM 52 erhält und verarbeitet.
  • Bei Schritt 108 generiert und überträgt das VCM 54 einen Motordrehmomentbefehl τM an den Endeffektor 14, um eine Bewegung des Endeffektors 14 in Echtzeit in Antwort auf Pertubationen der Bewegung des Endeffektors 14 anzupassen oder zu modifizieren.
  • Das oben beschriebene Steuerungssystem 50 und das Verfahren 100 bietet also einen generischen Ansatz zur Steuerung der Bewegung für einen beliebigen Typ eines Endeffektors oder eines Robotermanipulators. Unter Verwendung von Flussvektorfeldern, die speziell durch die hier beschriebenen modifizierten Differentialgleichungen definiert sind, werden erwünschte Geschwindigkeiten in einer Art berechnet, die jegliche Pertubationen des Endeffektors 14 berücksichtigt. In dieser Art strebt die offenbarte Erfindung an, sich gegenüber konventionellen DMPs zu verbessern, indem das Framework erweitert wird, um eine Modulation individueller Primitive zu erlauben.

Claims (8)

  1. Robotersystem umfassend: einen Endeffektor; und einen Steuerungssystem in Kommunikation mit dem Endeffektor aufweisend: einen Prozessor; ein dynamisches Systemmodul (DSM), welches einen Satz von Eingaben durch ein vorbestimmtes Flussvektorfeld verarbeitet und einen Steuerungsgeschwindigkeitsbefehl mit einer erwünschten Steuerungsgeschwindigkeit ausgibt, wobei der Satz von Eingaben eine tatsächliche Position des Endeffektors, eine erwünschte Zielposition des Endeffektors und einen vorgeführten Referenzpfad des Endeffektors aufweist; und ein Geschwindigkeitssteuerungsmodul (VCM) in Kommunikation mit dem dynamischen Systemmodul, wobei das Geschwindigkeitssteuerungsmodul eine tatsächliche Geschwindigkeit des Endeffektors und den Steuerungsgeschwindigkeitsbefehl als Eingaben erhält und einen Motordrehmomentbefehl für den Endeffektor als einen Ausgabebefehl generiert; wobei das Steuerungssystem einen vorbestimmten Satz von Differentialgleichung anwendet, um eine Bewegungstrajektorie des Endeffektors in Echtzeit zu generieren, die den vorgeführten Referenzpfad annähert, und wobei das Steuerungssystem programmiert ist, um durch das Geschwindigkeitssteuerungsmodul in Antwort auf Pertubationen der Bewegung des Endeffektors eine Bewegung des Endeffektors in Echtzeit anzupassen oder zu modifizieren; und wobei das dynamische Systemmodul ein Pfadtransformationsmodul, welches programmiert ist, ein Bezugssystem des Flussvektorfeldes zu transformieren, und ein Pfadvermischungsmodul aufweist, das einen einstellbaren linearen Interpolationsterm in die Differentialgleichungen einbringt, um einen Pfad des Endeffektors, der von einer Startposition vorwärts gezogen wird, mit einem Pfad, der von einer Zielposition rückwärts gezogen wird, zusammenzumischen.
  2. Robotersystem nach Anspruch 1, wobei das Steuerungssystem in der Lage ist, um einer Flussvektorfeldfunktion, die ein Flussvektorfeld definiert, eine Transformierende anzuhängen, die ein Bezugssystem der Flussvektorfeldfunktionen rotiert, um eine Orientierung des vorgeführten Pfades an eine Orientierung der neuen Start- und Zielpositionen anzugleichen.
  3. Robotersystem nach Anspruch 1, wobei der Endeffektor ein Robotergreifer ist.
  4. Robotersystem nach Anspruch 1, wobei das Geschwindigkeitssteuerungsmodul bei einer Taktrate arbeitet, die wenigstens 5× höher als eine Taktrate des dynamischen Systemmoduls ist.
  5. Robotersystem nach Anspruch 4, wobei die Taktrate des dynamischen Systemmoduls 20–40 Hz beträgt und die Taktrate des Geschwindigkeitssteuerungsmoduls 100–1000 Hz beträgt.
  6. Verfahren umfassend: Verarbeiten eines Satzes von Eingaben durch ein dynamisches Systemmodul (DSM) mit einem vorbestimmten Flussvektorfeld, wobei der Satz von Eingaben eine tatsächliche Position eines Endeffektors eines Robotersystems, eine erwünschte Zielposition des Endeffektors und einen vorgeführten Referenzpfad des Endeffektors aufweist, wobei das Verarbeiten eine Anwendung eines vorbestimmten Satzes von Differentialgleichungen umfasst, um eine Bewegungstrajektorie des Endeffektors in Echtzeit zu generieren, um den vorgeführten Referenzpfad anzunähern; Ausgeben eines Steuerungsgeschwindigkeitsbefehls mit einer erwünschten Steuerungsgeschwindigkeit durch das dynamische Systemmodul; Empfangen und Verarbeiten einer tatsächlichen Geschwindigkeit des Endeffektors und des Steuerungsgeschwindigkeitsbefehls von dem dynamischen Systemmodul durch das Geschwindigkeitssteuerungsmodul (VCM); Generieren eines Motordrehmomentbefehls an den Endeffektor durch das Geschwindigkeitssteuerungsmodul, um dadurch die Bewegung des Endeffektors in Echtzeit in Antwort auf Pertubationen der Bewegung des Endeffektors anzupassen oder zu modifizieren; und Transformieren eines Bezugssystems des Flussvektorfeldes durch ein Pfadtransformationsmodul des Steuerungssystems, und Einbringen eines einstellbaren linearen Interpolationsterms in die Differentialgleichungen durch ein Pfadvermischungsmodul des Steuerungssystems, um einen Pfad des Endeffektors, der von einer Startposition vorwärts gezogen wird, mit einem Pfad, der von einer Zielposition rückwärts gezogen wird, zusammenzumischen.
  7. Verfahren nach Anspruch 6, ferner umfassend ein Anhängen an eine Flussvektorfeldfunktion, die das Flussvektorfeld definiert, einer Transformierenden, die ein Bezugssystem der Flussvektorfeldfunktion rotiert, um dadurch eine Orientierung des vorgeführten Pfades an eine Orientierung der neuen Start- und Zielpositionen anzugleichen.
  8. Verfahren nach Anspruch 6, wobei ein Weiterleiten eines Motordrehmomentbefehls an den Endeffektor ein Weiterleiten eines Motordrehmomentbefehls an einen Robotergreifer umfasst.
DE102014110355.6A 2014-07-03 2014-07-23 Robotersystem und Verfahren zur Roboter-Geschwindigkeitssteuerung Active DE102014110355B3 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/323,047 US9381643B2 (en) 2014-07-03 2014-07-03 Dynamical system-based robot velocity control
US14/323,047 2014-07-03

Publications (1)

Publication Number Publication Date
DE102014110355B3 true DE102014110355B3 (de) 2015-08-20

Family

ID=53759202

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014110355.6A Active DE102014110355B3 (de) 2014-07-03 2014-07-23 Robotersystem und Verfahren zur Roboter-Geschwindigkeitssteuerung

Country Status (3)

Country Link
US (1) US9381643B2 (de)
CN (1) CN105270385B (de)
DE (1) DE102014110355B3 (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107791252A (zh) * 2016-09-06 2018-03-13 夏普株式会社 控制装置、控制系统、控制方法以及记录介质
DE102018209870B3 (de) 2018-06-19 2019-07-04 Kuka Deutschland Gmbh Verfahren und System zum Überführen eines Endeffektors eines Roboters zwischen einer Endeffektorpose und einer weiteren Endeffektorpose
DE102021125628B3 (de) 2021-10-04 2022-10-13 Physik Instrumente (PI) GmbH & Co KG Geschwindigkeitsvorgaben zur Trajektorienbestimmung von Kinematiken

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6328599B2 (ja) * 2015-11-20 2018-05-23 ファナック株式会社 ロボットの動作可能範囲を算出するロボットの手動送り装置
US10131053B1 (en) * 2016-09-14 2018-11-20 X Development Llc Real time robot collision avoidance
CN106383440A (zh) * 2016-10-18 2017-02-08 河池学院 基于路径规划控制运动的机器人
WO2018075611A1 (en) * 2016-10-18 2018-04-26 Apium Inc. Swarm communication method and device
JP7087316B2 (ja) * 2017-09-27 2022-06-21 オムロン株式会社 情報処理装置、情報処理方法およびプログラム
CN108015775A (zh) * 2017-12-25 2018-05-11 上海物景智能科技有限公司 一种机器人的速度控制方法及系统
EP3530418A1 (de) * 2018-02-21 2019-08-28 Siemens Aktiengesellschaft Verfahren und vorrichtung zum bestimmen eines optimierten bewegungsablaufs einer robotereinrichtung
CN108469732A (zh) * 2018-03-13 2018-08-31 同济大学 基于dmp的机器人工作空间适应性行走控制系统及方法
EP3776125A4 (de) * 2018-03-26 2021-12-15 HRL Laboratories, LLC System und verfahren zur abschätzung der unsicherheit der von einem beaufsichtigten maschinenlernenden getroffenen entscheidungen
WO2019213164A1 (en) 2018-04-30 2019-11-07 Vanderbilt University A control method for a robotic system
CN108972558B (zh) * 2018-08-16 2020-02-21 居鹤华 一种基于轴不变量的多轴机器人动力学建模方法
CN109358568B (zh) * 2018-12-17 2020-04-07 大连理工大学 基于矢量场的曲面分区加工轨迹拓扑形状设计方法
CN109551485B (zh) * 2019-01-21 2020-10-16 北京镁伽机器人科技有限公司 运动控制方法、装置和系统及存储介质
US11707843B2 (en) * 2020-04-03 2023-07-25 Fanuc Corporation Initial reference generation for robot optimization motion planning
CN112518756B (zh) * 2020-12-10 2022-08-05 深圳市优必选科技股份有限公司 机械臂的运动轨迹规划方法及装置、机械臂及存储介质
CN113043251B (zh) * 2021-04-23 2023-07-07 江苏理工学院 一种机器人示教再现轨迹学习方法
CN116687320B (zh) * 2023-08-07 2023-10-24 深圳英美达医疗技术有限公司 一种医疗器械控制装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3886989T2 (de) * 1987-05-01 1994-04-28 Gen Motors Corp Bewegungssteuergerät mit einer selbstanpassenden Bahnnachführung mit Vorwärtskopplung.
US6266578B1 (en) * 1998-05-15 2001-07-24 Firdaus E. Udwadia Computer based control system
US20070046677A1 (en) * 2005-03-23 2007-03-01 Hurco Companies, Inc. Method of tolerance-based trajectory planning
US7289884B1 (en) * 2006-03-02 2007-10-30 Honda Motor Co., Ltd. Hand control system, method, program, hand, and robot
DE102007061323A1 (de) * 2007-12-19 2009-07-02 Kuka Roboter Gmbh Verfahren zum Steuern der Bewegung eines Roboters innerhalb eines Arbeitsraums

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101726296B (zh) * 2009-12-22 2013-10-09 哈尔滨工业大学 空间机器人视觉测量、路径规划、gnc一体化仿真系统
CN102830644B (zh) * 2012-09-26 2014-08-20 苏州工业园区职业技术学院 五轴高速点胶机器人伺服控制系统
CN103029818B (zh) * 2012-12-18 2015-10-07 浙江工业大学 一种仿生海底生物捕捞机器人

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3886989T2 (de) * 1987-05-01 1994-04-28 Gen Motors Corp Bewegungssteuergerät mit einer selbstanpassenden Bahnnachführung mit Vorwärtskopplung.
US6266578B1 (en) * 1998-05-15 2001-07-24 Firdaus E. Udwadia Computer based control system
US20070046677A1 (en) * 2005-03-23 2007-03-01 Hurco Companies, Inc. Method of tolerance-based trajectory planning
US7289884B1 (en) * 2006-03-02 2007-10-30 Honda Motor Co., Ltd. Hand control system, method, program, hand, and robot
DE102007061323A1 (de) * 2007-12-19 2009-07-02 Kuka Roboter Gmbh Verfahren zum Steuern der Bewegung eines Roboters innerhalb eines Arbeitsraums

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107791252A (zh) * 2016-09-06 2018-03-13 夏普株式会社 控制装置、控制系统、控制方法以及记录介质
DE102018209870B3 (de) 2018-06-19 2019-07-04 Kuka Deutschland Gmbh Verfahren und System zum Überführen eines Endeffektors eines Roboters zwischen einer Endeffektorpose und einer weiteren Endeffektorpose
DE102021125628B3 (de) 2021-10-04 2022-10-13 Physik Instrumente (PI) GmbH & Co KG Geschwindigkeitsvorgaben zur Trajektorienbestimmung von Kinematiken

Also Published As

Publication number Publication date
US9381643B2 (en) 2016-07-05
CN105270385A (zh) 2016-01-27
CN105270385B (zh) 2018-04-10
US20160000511A1 (en) 2016-01-07

Similar Documents

Publication Publication Date Title
DE102014110355B3 (de) Robotersystem und Verfahren zur Roboter-Geschwindigkeitssteuerung
DE102014115774B3 (de) Robotersystem und Verfahren zum Vermeiden eines Kontakts zwischen einem Greiforgan des Robotersystems und einem dynamischen Hindernis in der Umgebung
EP3013537B2 (de) Verfahren und system zur programmierung eines roboters
DE102014103738B3 (de) Visuelle fehlersuche bei roboteraufgaben
EP2918378B1 (de) Verfahren zur Wegfindung in einem automatisierten Handhabungssystem sowie Handhabungssystem mit entsprechendem Kontrollmodul zur Wegfindung
DE102018122376B3 (de) Verfahren und Vorrichtung zur kollisionsfreien Bewegungsplanung eines Manipulators
DE102011113590B4 (de) Planen simultaner Pfade mit einem oder mehreren humanoiden Robotern
DE102011110902B4 (de) Sicherer Betrieb eines Kraft- oder ImpedanzgesteuertenRoboters im Arbeitsraum
EP2500789B1 (de) Roboter und Verfahren zum Betreiben eines Roboters
DE102009058004B4 (de) Impedanzsteuerung im Betriebsraum mit mehreren Prioritäten
DE102015109646B4 (de) Planen des Greifens eines Roboters in Echtzeit
DE102020121561B3 (de) Steuerungsverfahren für ein bilaterales Teleoperationssystem, Controller, Teleoperationssystem und Verwendung des Controllers und/oder des Teleoperationssystems
DE102016000754A1 (de) Verfahren und System zur Bahnplanung eines redundanten Roboters
EP2208584B1 (de) Verfahren zur Steuerung von Industrierobotern
DE19800552C2 (de) Verfahren zur Kommandosteuerung eines Manipulators
DE102019125326B3 (de) Prognostizierter Bremsbereich eines Robotermanipulators
EP3569367A1 (de) Rechnergestütztes ermitteln einer bewegung einer vorrichtung
WO2019219790A1 (de) Robotersteuerung
WO2017133929A1 (de) Mehrachsroboter sowie verfahren zu dessen steuerung bei der lackierung von gegenständen
EP4084937B1 (de) Bewegen einer roboterfesten referenz
DE102011102314B4 (de) Anwenden von Arbeitsraumgrenzen in einem geschwindigkeitsgesteuerten Robotermechanismus
DE102020209866B3 (de) Verfahren und System zum Betreiben eines Roboters
DE102021125628B3 (de) Geschwindigkeitsvorgaben zur Trajektorienbestimmung von Kinematiken
DE102018109320A1 (de) Verfahren zur Erkennung einer Intention eines Partners gegenüber einer mehrgliedrigen aktuierten Kinematik
EP3752327A1 (de) Koordinierungsanlage, handhabungseinrichtung und verfahren

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