DE112016002013T5 - Systeme und Verfahren zur Steuerung einer Robotermanipulation - Google Patents

Systeme und Verfahren zur Steuerung einer Robotermanipulation Download PDF

Info

Publication number
DE112016002013T5
DE112016002013T5 DE112016002013.9T DE112016002013T DE112016002013T5 DE 112016002013 T5 DE112016002013 T5 DE 112016002013T5 DE 112016002013 T DE112016002013 T DE 112016002013T DE 112016002013 T5 DE112016002013 T5 DE 112016002013T5
Authority
DE
Germany
Prior art keywords
arm
information
control
rate
perceptual
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.)
Pending
Application number
DE112016002013.9T
Other languages
English (en)
Inventor
Huan Tan
John Michael Lizi
Charles Theurer
Tai-Peng Tian
Balajee Kannan
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.)
General Electric Co
Original Assignee
General Electric Co
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 General Electric Co filed Critical General Electric Co
Publication of DE112016002013T5 publication Critical patent/DE112016002013T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/081Touching devices, e.g. pressure-sensitive
    • B25J13/084Tactile sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • B25J5/007Manipulators mounted on wheels or on carriages mounted on wheels
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/06Programme-controlled manipulators characterised by multi-articulated arms
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39391Visual servoing, track end effector with camera image feedback
    • 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/42Servomotor, servo controller kind till VSS
    • G05B2219/42263Different sample rates, multiple sample rates for the different loops
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/02Arm motion controller
    • Y10S901/09Closed loop, sensor feedback controls arm movement

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)

Abstract

Es sind ein Robotersystem und ein Verfahren geschaffen, die einen Gelenkarm relativ zu einem Zielobjekt bewegen. Es werden Wahrnehmungsinformation, die einer Position des Arms relativ zu dem Zielobjekt entsprechen, mit einer Erfassungsrate erfasst. Eine Bewegung des Arms wird mit einer Steuerungsrate gesteuert, die entweder schneller als die Erfassungsrate und/oder mit dieser nicht synchronisiert ist. Unter Verwendung der Wahrnehmungsinformationen werden vorhergesagte Positionsinformationen, die für eine vorhergesagte Positionierung des Arms repräsentativ sind, bereitgestellt. Der Arm wird unter Verwendung der Wahrnehmungsinformationen und der vorhergesagten Positionsinformationen gesteuert.

Description

  • HINTERGRUND
  • Es können verschiedene Aufgaben in einem Bahnbetriebshof auf einem oder mehreren Schienenfahrzeugsystemen innerhalb des Betriebshofs durchgeführt werden. Zwischen Einsätzen, die von einem Schienenfahrzeug durchgeführt werden, können beispielsweise verschiedene Systeme, wie etwa Bremssysteme, der Einheiten eines Schienenfahrzeugs inspiziert und/oder getestet werden. Als ein Beispiel kann eine Bremsentlüftungsaufgabe an einer oder mehreren Einheiten eines Schienenfahrzeugsystems durchgeführt werden. In einem Bahnbetriebshof kann es eine große Anzahl von Schienenfahrzeugen in einem relativ engen Bereich geben, was zu einer großen Anzahl von Inspektions- und/oder Wartungsaufgaben führt. Schwierige, gefährliche und/oder alltägliche oder sich wiederholende Aufgaben können von Robotern durchgeführt werden.
  • In einigen Anwendungen kann, wenn z.B. ein Fehler bei der Erfassung eines Objektes, mit dem ein Roboter interagieren soll, groß ist (z.B. 3–5 Zentimeter), eine Regelung implementiert sein. Jedoch kann z.B. eine Anwendung einer kontinuierlichen Servosteuerung in Anwendungen, in denen die Frequenz der Informationserfassung, die bei der kontinuierlichen Servosteuerung eingesetzt wird, langsamer als eine Frequenz der Steuervorrichtung ist, ein Übersteuerungsproblem hervorrufen.
  • KURZE BESCHREIBUNG
  • In einer Ausführungsform ist ein Robotersystem (z.B. ein Robotersystem, das zur Manipulation eines Zielobjekts eingerichtet ist) geschaffen, das einen Gelenkarm, eine Wahrnehmungserfassungseinheit und wenigstens einen Prozessor umfasst. Der Gelenkarm ist eingerichtet, um sich relativ zu dem Zielobjekt zu bewegen. Die Wahrnehmungserfassungseinheit ist eingerichtet, um an dem Arm montiert zu werden und Wahrnehmungsinformationen, die einer Position des Arms relativ zu dem Zielobjekt entsprechen, mit einer Erfassungsrate zu erfassen. Der wenigstens eine Prozessor ist mit dem Arm und der Wahrnehmungserfassungseinheit betriebsmäßig verbunden. Der wenigstens eine Prozessor ist eingerichtet, um die Bewegung des Arms mit einer Steuerungsrate zu steuern, die entweder schneller als die Erfassungsrate der Wahrnehmungserfassungseinheit und/oder mit der Erfassungsrate der Wahrnehmungserfassungseinheit nicht synchronisiert ist, vorhergesagte Positionsinformationen, die für eine vorhergesagte Positionierung des Arms unter Verwendung der Wahrnehmungsinformationen und Steuersignalinformationen repräsentativ sind, bereitzustellen und den Arm unter Verwendung der Wahrnehmungsinformationen und der vorhergesagten Positionsinformationen zu steuern.
  • In einer weiteren Ausführungsform ist ein Verfahren zur Steuerung eines Robotersystems geschaffen. Das Verfahren enthält ein Bestimmen eines Zielobjektes, in dessen Richtung ein Roboterarm mit einer Steuerungsrate geführt werden soll. Das Verfahren enthält ferner ein Erfassen (über eine an dem Arm montierte Wahrnehmungserfassungseinheit) mit einer Erfassungsrate, die entweder langsamer als Steuerungsrate und/oder mit dieser nicht synchronisiert ist, von Wahrnehmungsinformationen, die einer Position des Arms relativ zum Zielobjekt entsprechen. Außerdem enthält das Verfahren ein Erzeugen vorhergesagter Positionsinformationen, die für eine vorhergesagte Positionierung des Arms repräsentativ sind, unter Verwendung der Wahrnehmungsinformationen und der Steuersignalinformation mit wenigstens einem Prozessor, der mit der Wahrnehmungserfassungseinheit und dem Arm betriebsmäßig verbunden ist. Das Verfahren enthält ferner ein Steuern, mit dem wenigstens einen Prozessor, des Arms, um ihn in Richtung auf das Zielobjekt zu bewegen, unter Verwendung der Wahrnehmungsinformationen und der vorhergesagten Positionsinformationen.
  • In einer weiteren Ausführungsform ist ein materielles und nicht-transitorisches computerlesbares Medium geschaffen. Das materielle und nicht-transitorische computerlesbare Medium enthält ein oder mehrere Computersoftwaremodule. Das eine oder die mehreren Computersoftwaremodule sind eingerichtet, um einen oder mehrere Prozessoren anzuweisen, ein Zielobjekt zu bestimmen, zu dem hin ein Roboterarm mit einer Steuerungsrate geführt werden soll, über eine an dem Arm montierte Wahrnehmungserfassungseinheit Wahrnehmungsinformationen, die einer Position des Arms relativ zu dem Zielobjekt entsprechen, mit einer Erfassungsrate, die entweder langsamer als die Steuerungsrate und/oder mit dieser nicht synchronisiert ist, zu erfassen, unter Verwendung der Wahrnehmungsinformationen und der Steuersignalinformationen vorhergesagte Positionsinformationen bereitzustellen, die für eine vorhergesagte Positionierung des Arms repräsentativ sind, und den Arm unter Verwendung der Wahrnehmungsinformationen und der vorhergesagten Positionsinformationen zu steuern, damit er sich in Richtung auf das Zielobjekt bewegt.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein schematisches Blockdiagramm eines Robotersystems gemäß verschiedenen Ausführungsformen.
  • 2 ist eine graphische Darstellung, die Steuerungsoperationen gemäß verschiedenen Ausführungsformen darstellt.
  • 3 ist ein schematisches Blockdiagramm eines Robotersteuersystems gemäß verschiedenen Ausführungsformen.
  • 4 4 ist ein Ablaufdiagramm eines Verfahrens zur Steuerung eines Roboters gemäß verschiedenen Ausführungsformen.
  • DETAILLIERTE BESCHREIBUNG
  • Verschiedene Ausführungsformen werden in Verbindung mit den beigefügten Zeichnungen besser verstanden. Soweit die Figuren Diagramme der Funktionsblöcke verschiedener Ausführungsformen darstellen, sind die Funktionsblöcke nicht notwendigerweise ein Indikator für die Aufteilung zwischen den Hardware-Schaltungen. So können z.B. ein oder mehrere Funktionsblöcke (z.B. Prozessoren, Steuervorrichtungen oder Speicher) in einer einzigen Hardware (z.B. universellem Signalprozessor oder einem Direktzugriffsspeicher, einer Festplatte o. ä.) oder in mehreren Hardwarekomponenten implementiert sein. In ähnlicher Weise können beliebige Programme eigenständige Programme sein, als Unterprogramme in ein Betriebssystem eingebunden sein, Funktionen in einem installierten Softwarepaket enthalten und Ähnliches. Es ist zu verstehen, dass sich die verschiedenen Ausführungsformen nicht auf die in den Zeichnungen gezeigten Anordnungen und Mittel beschränken.
  • Wie hierin verwendet, können die Begriffe „System“, „Einheit“ oder „Modul“ ein Hard- und/oder Softwaresystem enthalten, das eine oder mehrere Funktionen ausführt. Ein Modul, eine Einheit oder ein System kann z.B. einen Computerprozessor, eine Steuervorrichtung oder eine andere logikbasierte Vorrichtung enthalten, der/die Operationen ausführt, die auf einem materiellen und nicht-transitorischen, computerlesbaren Speichermedium, wie etwa einem Computerspeicher, gespeichert sind. Alternativ kann ein Modul, eine Einheit oder ein System auch eine fest verdrahtete Vorrichtung enthalten, die auf einer fest verdrahteten Logik der Vorrichtung basierende Operationen durchführt. Die in den beigefügten Figuren gezeigten Module oder Einheiten können die Hardware, die auf der Basis von Software- oder festverdrahteten Anweisungen betrieben wird, die Software, die eine Hardware zur Durchführung der Operationen anweist, oder eine Kombination daraus darstellen. Die Hardware kann elektronische Schaltkreise umfassen, die eine oder mehrere logikbasierte Vorrichtungen, wie Mikroprozessoren, Prozessoren, Steuervorrichtungen oder ähnliches, enthalten und/oder mit diesen verbunden sind. Bei diesen Vorrichtungen kann es sich um handelsübliche Vorrichtungen handeln, die geeignet programmiert oder dazu angewiesen sind, die hier beschriebenen Funktionen aus den vorstehend beschriebenen Anweisungen durchzuführen. Zusätzlich oder alternativ können ein oder mehrere dieser Vorrichtungen mit Logikschaltungen festverdrahtet sein, um diese Funktionen durchzuführen.
  • Wie hierin verwendet, sollte ein Element oder ein Schritt, das/der im Singular erwähnt und dem das Wort „ein(e)“ vorangestellt wird, so verstanden werden, dass es/er die Mehrzahl der genannten Elemente oder Schritte nicht ausschließt, es sei denn, dass dies ausdrücklich erwähnt wird. Darüber hinaus schließen Verweise auf „eine Ausführungsform“ der Erfindung nicht aus, dass es zusätzliche Ausführungsformen gibt, die auch die erwähnten Merkmale mit enthalten. Sofern außerdem nichts ausdrücklich anders angegeben ist, können Ausführungsformen, die ein Element oder mehrere Elemente mit einer bestimmten Eigenschaft „umfassen“ oder „aufweisen“, zusätzliche solche Elemente mit einer bestimmten Eigenschaft enthalten, die diese Eigenschaft nicht haben.
  • Allgemein bieten verschiedene Ausführungsformen Verfahren und Systeme zur Steuerung von Robotersystemen. So ermöglichen z.B. verschiedene Ausführungsformen eine Steuerung eines Roboters zur Annäherung an ein und/oder Interaktion mit einem Zielobjekt. In einigen Ausführungsformen werden die Robotersysteme so gesteuert, dass sie einen Hebel, wie z.B. einen Hebel zur Durchführung einer Bremsentlüftungsaktivität, ergreifen. In verschiedenen Ausführungsformen werden Wahrnehmungsinformationen, die einer Position eines Zielobjekts entsprechen, mit einer Rate gewonnen, die langsamer als eine Steuerungsrate ist, und ein Bewegungsvorhersagemodell wird verwendet, um eine Position eines Zielobjekts zwischen Erfassungen von Wahrnehmungsinformationen zu schätzen, wobei das Schätzergebnis in einem schrittweisen Regelungsmechanismus verwendet wird, um die Wahrnehmung und die Bewegungssteuerung zu synchronisieren und um die Systemgenauigkeit zu erhöhen.
  • Wenigstens ein technischer Effekt verschiedener Ausführungsformen umfasst eine Verbesserung der Zuverlässigkeit, Genauigkeit und/oder Präzision der Steuerung (z.B. der kontinuierlichen Servosteuerung) für Robotersysteme. Wenigstens ein technischer Effekt verschiedener Ausführungsformen ist die Verbesserung der Robotersteuerung für Systeme, die höhere Steuerungsraten als Erfassungsraten (z.B. Erfassungsraten für Wahrnehmungsinformationen von einer Kamera oder einem dreidimensionalen (3D)-Sensor) aufweisen. Wenigstens ein technischer Effekt verschiedener Ausführungsformen ist die Verbesserung der Robotersteuerung für Systeme, die nicht mit den Erfassungsraten synchronisierte Steuerungsraten haben. Wenigstens ein technischer Effekt verschiedener Ausführungsformen ist die Eliminierung oder Reduzierung von Problemen im Zusammenhang mit der Übersteuerung von Robotersystemen. Wenigstens ein technischer Effekt verschiedener Ausführungsformen enthält die Aufrechterhaltung einer höchstmöglichen Ansprechrate eines Systems (z.B. der höchsten Rate von Hauptmodulen eines Steuerungssystems, wie z.B. der Rate eines Betätigungsmoduls).
  • 1 ist eine schematische Ansicht eines Robotersystems 100 gemäß verschiedenen Ausführungsformen. Das Robotersystem 100 ist so eingerichtet, dass es ein Zielobjekt 102 manipuliert (z.B. eines oder mehrere von Greifen, Kontaktieren, Betätigen oder anderweitiges Ergreifen durchführt). Das Zielobjekt 102 kann z.B. ein Hebel sein, für dessen Ergreifen und Betätigen das Robotersystem 100 eingerichtet ist. Bei einigen Ausführungsformen kann das Zielobjekt 102 ein Bremsentlüftungshebel eines Schienenfahrzeugs sein. Wie in 1 zu sehen, enthält das dargestellte Robotersystem 100 einen Gelenkarm 110, eine Manipulatoreinheit 120, eine Wahrnehmungserfassungseinheit 130 und eine Verarbeitungseinheit 140. Allgemein wirkt die Verarbeitungseinheit 140 (z.B. ein Steuerteil der Verarbeitungseinheit 140), um den Betrieb des Robotersystems 100, einschließlich der Bewegung des Arms 110, zu steuern.
  • In der dargestellten Ausführungsform ist der Arm 110 gelenkig und so eingerichtet, dass er sich in Richtung auf das Zielobjekt 102 hin bewegen kann (z.B. aufgrund von Anweisungen oder Steuersignalen von der Verarbeitungseinheit 140). Die dargestellte Manipulatoreinheit 120 ist in der Nähe eines Endes des Arms 110 befestigt und ist so eingerichtet, dass sie das Zielobjekt 102 ergreifen kann. Wie in 1 zu sehen, ist die Wahrnehmungserfassungseinheit 130 der dargestellten Ausführungsform an dem Arm montiert (z.B. nahe einem Ende des Arms 110 mit der daran angebrachten Manipulatoreinheit 120). Die Wahrnehmungserfassungseinheit 130 ist für die Erfassung von Wahrnehmungsinformationen mit einer Erfassungsrate eingerichtet. In der dargestellten Ausführungsform entsprechen die Wahrnehmungsinformationen einer Position des Arms 110 relativ zu dem Zielobjekt 102. Die Wahrnehmungsinformationen können beispielsweise eine Differenz der Positionen der Manipulatoreinheit 120 (oder eines Teils von dieser) oder eines Endes des Arms, an dem die Manipulatoreinheit 120 befestigt ist, und des Zielobjektes 102 (oder eines Teils davon) definieren, darstellen oder anderweitig diesen entsprechen. Beispielsweise kann der Abstand zwischen einem Greifteil der Manipulatoreinheit 120 und einem zu ergreifenden Teil des Zielobjekts 102 durch die Wahrnehmungsinformationen beschrieben werden.
  • Die Verarbeitungseinheit 140 ist mit dem Arm 110 (z.B. zur Steuerung einer Bewegung des Arms 110) und mit der Wahrnehmungserfassungseinheit 130 (z.B. zum Empfang von Wahrnehmungsinformationen aus der Wahrnehmungserfassungseinheit 130) betriebsmäßig verbunden. Die Verarbeitungseinheit 140 ist so eingerichtet, dass sie die Bewegung des Arms 110 mit einer Steuerungsrate steuern kann, die entweder schneller als die und/oder mit der Erfassungsrate der Wahrnehmungserfassungseinheit 130 nicht synchronisiert ist. Beispielsweise kann die Steuerungsrate zwischen 10–100 Hz betragen, und die Erfassungsrate kann 1 Hz betragen. Die Verarbeitungseinheit 140 ist außerdem eingerichtet, um eine Positionierung des Arms 110 vorherzusagen, um unter Verwendung der Wahrnehmungsinformationen und Steuersignalinformationen (z.B. Informationen, die eine Richtung und/oder Geschwindigkeit einer Steuerungsanweisung, die dem Arm nach einer Zeit, die der Erfassung von Wahrnehmungsinformationen oder einer anderen Bestimmung einer vorherigen Position des Arms 110 entspricht, zugeführt wird, beschreiben, darstellen oder entsprechen) vorhergesagte Positionsinformationen zu liefern. Die Verarbeitungseinheit 140 in der dargestellten Ausführungsform ist ebenfalls so eingerichtet, dass sie den Arm anhand der Wahrnehmungsinformationen und der vorhergesagten Positionsinformationen steuern kann. Die vorhergesagten Positionsinformationen können mit der Steuerungsrate bestimmt und zur Änderung nachfolgender Steuerbefehle verwendet werden. In der dargestellten Ausführungsform nutzt die Verarbeitungseinheit 140 die vorhergesagten Positionsinformationen zur Rückmeldung und Steuerung des Arms 110 zwischen Erfassungen von Wahrnehmungsinformationen, wodurch sie vorhergesagte Positionsinformationen verwendet, wenn aktuelle Wahrnehmungsinformationen nicht verfügbar sind, und die Wahrnehmungsinformationen für eine Zuverlässigkeit und Genauigkeit nutzt, wenn aktuelle Wahrnehmungsinformationen verfügbar sind. Wie hierin verwendet, können Wahrnehmungsinformationen als aktuell verstanden werden, wenn seit der Erfassung der Wahrnehmungsinformationen keine nachfolgende Steuerungsmaßnahme durchgeführt wurde. Wie in 1 zu sehen ist, enthält das Robotersystem 100 eine Basis oder einen Körper 104, von der bzw. dem aus sich der Arm 110 erstreckt. Das Robotersystem 100 (z.B. Körper 104) kann in verschiedenen Ausführungsformen Räder, Schienen oder ähnliches zusammen mit einem Antriebssystem (z.B. Motor) für die Mobilität aufweisen.
  • Der dargestellte Arm 110 enthält einen ersten Teil 112 und einen zweiten Teil 114, die durch ein Gelenk 116 verbunden sind. Der erste Teil 112 erstreckt sich von dem Körper 104 aus und ist in Bezug auf den Körper 104 gelenkig gelagert, und der erste Teil 112 und der zweite Teil 114 sind in Bezug auf einander gelenkig gelagert. Die Bewegung des Arms 110 (z.B. des ersten Teils 112 und des zweiten Teils 114) kann über zugehörige Motoren gesteuert werden, die von der Verarbeitungseinheit 140 zugeführte Steuersignale empfangen. Es sei angemerkt, dass zur Vereinfachung der Veranschaulichung in der dargestellten Ausführungsform nur zwei Teile dargestellt sind; in verschiedenen Ausführungsformen können jedoch Arme mit mehreren Teilen und Gelenken verwendet werden. Der dargestellte Arm 110 enthält auch einen Sensor 118, der so eingerichtet ist, dass er die Position und/oder Bewegung des Arms 110 (oder von Teilen davon) an dem Gelenk detektiert oder erfasst, um eine Rückmeldung an die Verarbeitungseinheit 140 zu liefern.
  • In der dargestellten Ausführungsform ist die Manipulatoreinheit 120 so eingerichtet, dass sie das Zielobjekt 102 ergreift. Die Manipulatoreinheit 120 kann einen oder mehrere Sensoren zur Erfassung des Kontakts mit dem Zielobjekt 102 und/oder zur Bereitstellung einer Rückmeldung während des Greifens des Zielobjektes 102 enthalten. Wie in 1 zu sehen, ist die dargestellte Manipulatoreinheit 120 an einem Ende des Arms 110 montiert. Während die dargestellte Manipulatoreinheit 120 so eingerichtet ist, dass sie ein Objekt ergreift, können von der Manipulatoreinheit 120 in verschiedenen Ausführungsformen zusätzliche oder alternative Aufgaben durchgeführt werden. So sind z.B. in der dargestellten Ausführungsform der Arm 110 und die Manipulatoreinheit 120 so eingerichtet, dass sie einen Hebel (z.B. einen Hebel von der Bremsentlüftung eines Eisenbahnwagens) ergreifen und betätigen können; in anderen Ausführungsformen können jedoch der Arm 110 und die Manipulatoreinheit 120 zusätzlich oder alternativ für die Durchführung anderer Aufgaben, wie etwa Inspektions- oder Wartungsaufgaben eingerichtet sein. In verschiedenen Ausführungsformen kann die Manipulatoreinheit 120 einen oder mehrere Arme, Scharniere, Gelenke oder andere Mechanismen zur Steuerung der Position eines oder mehrerer Greifer, Halterungen, Kameras oder anderer Vorrichtungen enthalten. Die Manipulatoreinheit 120 kann in verschiedenen Ausführungsformen einen oder mehrere Motoren, Zahnräder, Zylinder oder ähnliches zur Betätigung eines Mechanismus auf Basis von Steuersignalen oder Befehlen, die durch die Verarbeitungseinheit 140 geliefert werden, enthalten. Die Manipulatoreinheit 120 kann hydraulisch, elektrisch oder auf andere Weise betätigt werden. Beispielsweise kann die Manipulatoreinheit 120 so eingerichtet sein, dass sie einen Gegenstand ergreifen und manipulieren, z.B. eine Bremse lösen, einen Schalter betätigen, eine Verriegelung oder einen Verschluss sichern (oder lösen), ein Teil oder Werkzeug positionieren und halten, um es für die Wartung und Inspektion eines Schienenfahrzeugs zu verwenden, ein Teil oder Werkzeug laden, um es zu dem Robotersystem 100 zu transportieren (oder das Werkzeug oder Teil vom Robotersystem 100 abladen), oder ähnliches kann. Alternativ oder zusätzlich kann die Manipulatoreinheit 120 zur Positionierung einer Vorrichtung verwendet werden, die zum Sammeln von Informationen verwendet wird. Beispielsweise kann die Manipulatoreinheit 120 eine Inspektionskamera in einem schwer zugänglichen Bereich (z.B. unter einem Schienenfahrzeug) positionieren, wobei die Informationen von der Kamera für Inspektions- oder Diagnosezwecke verwendet werden.
  • Die Wahrnehmungserfassungseinheit 130 ist an dem Arm 110 montiert und eingerichtet, um Wahrnehmungsinformationen, die einer Position des Arms 110 zu dem Zielobjekt 102 entsprechen, mit einer Erfassungsrate zu erfassen. Eine Erfassungsrate kann als eine Rate verstanden werden, mit der unterschiedliche Sätze von Bildgebungsinformationen (z.B. Bilder, Frames) erfasst werden können. Beispielsweise kann die Wahrnehmungserfassungseinheit 130 Bilder oder Bildgebungsinformationen mit einer Rate von 1 Frame pro Sekunde oder 1 Hz erfassen. In der dargestellten Ausführungsform ist die Wahrnehmungserfassungseinheit 130 an dem Arm 110 nahe dem Ende des Arms 110 montiert, mit dem die Manipulatoreinheit 120 verbunden ist (z.B. an einer „Anlenk“-Position). Die dargestellte Wahrnehmungserfassungseinheit 130 erfasst Wahrnehmungsinformationen hinsichtlich der Position des Zielobjekts 102 relativ zu einer Position des Arms 110 (z.B. einen Abstand von einem zu ergreifenden Teil des Zielobjekts 102 zu der Manipulatoreinheit 120, die an dem Arm 110 montiert ist). In verschiedenen Ausführungsformen kann die Wahrnehmungserfassungseinheit 110 eine(n) oder mehrere von einer Kamera, Stereokamera oder einem Lasersensor enthalten.
  • Die dargestellte Verarbeitungseinheit 140 ist betriebsmäßig mit dem Arm 110 und der Erfassungseinheit 130 gekoppelt. Beispielsweise kann die Verarbeitungseinheit 140 Steuersignale an den Arm 110 liefern und Rückmeldesignale vom Arm 110 empfangen und kann Wahrnehmungsinformationen von der Wahrnehmungserfassungseinheit 130 empfangen. In der dargestellten Ausführungsform ist die Verarbeitungseinheit 140 an Bord des Robotersystems 100 (z.B. an Bord der Basis oder des Gehäuses 104) angeordnet; in einigen Ausführungsformen kann die Verarbeitungseinheit 140 oder ein Teil davon auch außerhalb des Systems (off-board) angeordnet sein. So kann z.B. das ganze Robotersystem 100 oder ein Teil desselben über eine Fernsteuervorrichtung drahtlos gesteuert werden. Die Verarbeitungseinheit 140 kann auch mit einer Eingabeeinheit betriebsmäßig verbunden sein (nicht dargestellt), die so eingerichtet ist, dass ein Bediener Informationen an das Robotersystem 100 liefern kann, um z.B. eine durchzuführende Aufgabe zu identifizieren oder zu beschreiben. Wie hierin verwendet, kann eine Steuerungsrate beispielsweise als eine Rate verstanden werden, mit der verschiedene Steuersignale oder Steuerbefehle bestimmt, bereitgestellt und ausgeführt werden können.
  • Die dargestellte Verarbeitungseinheit 140 ist auch für eine Vorhersage oder Schätzung der Positionierung des Arms 110 unter Verwendung der Wahrnehmungsinformationen und Steuersignalinformationen eingerichtet, um vorhergesagte Positionsinformationen zu liefern. In einigen Ausführungsformen kann die vorhergesagte oder geschätzte Position des Arms 110 zu einer bestimmten (z.B. aktuellen) Zeit auf der Basis einer früheren Position des Arms zu einem Anfangszeitpunkt, Geschwindigkeitsinformationen, die einer Geschwindigkeit des Arms zwischen der Anfangszeit und der aktuellen Zeit entsprechen, und der verstrichenen Zeitspanne zwischen der Anfangszeit und der aktuellen Zeit bestimmt werden. So kann sich z.B. der Arm 110 (und/oder die Manipulatoreinheit 120) zu einem ersten Zeitpunkt an einer bekannten Position relativ zu dem Zielobjekt 102 befinden (z.B. basierend auf einer bekannten Ausgangsposition oder durch Verwendung von Wahrnehmungsinformationen, die über die Wahrnehmungserfassungseinheit 130 erlangt werden). Dem Arm 110 kann ein Steuersignal zugeführt werden, das eine Bewegung des Arms 110 bewirkt. Das Steuersignal kann Geschwindigkeitsinformationen angeben, wie etwa sowohl einen Betrag als auch eine Richtung der Geschwindigkeit (z.B. ein Befehl, der angibt, dass sich ein Teil des Arms mit einer spezifizierten Geschwindigkeit in eine spezifizierte Richtung bewegen soll). In einigen Ausführungsformen können die Geschwindigkeitsinformationen auch eine Beschleunigung (oder Geschwindigkeitsänderungsrate über die Zeit) für eine durchzuführende Bewegung enthalten.
  • Basierend auf den Geschwindigkeitsinformationen und der verstrichenen Zeitdauer kann die Verarbeitungseinheit 140 eine Position des Arms 110 vorhersagen, indem sie die ursprünglich bestimmte Position basierend auf den Geschwindigkeitsinformationen modifiziert. Beispielsweise beginnt in einem Beispielszenario einer eindimensionalen Bewegung die Manipulatoreinheit 120 an einer Position von x = 0 zu einem Anfangszeitpunkt von 0 (wobei x die Position entlang einer einzigen Richtung oder Achse darstellt). Dem Arm 110 wird ein Steuersignal zugeführt, um die Manipulatoreinheit in eine positive x-Richtung mit einem Zoll pro Sekunde zu betätigen. Zu einem nachfolgenden Zeitpunkt von 1 Sekunde kann die Verarbeitungseinheit 140 eine geschätzte oder vorhergesagte Position von x = 1 Zoll oder etwa 2,5 Zentimeter (oder der Ausgangsposition von 0 plus Geschwindigkeit (1 Zoll/Sekunde) oder (etwa 2,5 Zentimeter/Sekunde) mal die verstrichene Zeit (1 Sekunde)) bestimmen. In der Praxis können andere Inkremente und Geschwindigkeiten verwendet werden, die Beschleunigung kann genutzt und berücksichtigt werden, und die Bewegung kann in einer oder mehreren zusätzlichen Dimensionen erfolgen. Die dargestellte Verarbeitungseinheit 140 ist ferner eingerichtet, um den Arm 110 anhand der Wahrnehmungsinformationen und der vorhergesagten Positionsinformationen zu steuern. So kann z.B. der Arm 110 während der Durchführung einer Aufgabe an verschiedenen Stellen unter Verwendung von Wahrnehmungsinformationen gesteuert werden, während die vorhergesagten Positionsinformationen an anderen Stellen während der Durchführung der Aufgabe verwendet werden (z.B. an Stellen, an denen vorhergesagte Positionsinformationen verfügbar sind, aktuelle oder verlässliche Wahrnehmungsinformationen aber nicht verfügbar sind). Dementsprechend sorgen verschiedene Ausführungsformen für eine höhere Steuerungs- oder Anpassungsrate als sonst bei einer gegebenen Erfassungsrate verfügbar, während gleichzeitig Übersteuerungsprobleme vermieden oder minimiert werden.
  • In verschiedenen Ausführungsformen ist die Verarbeitungseinheit 140 eingerichtet, um den Arm unter Verwendung der vorhergesagten Positionsinformationen für ein erstes Intervall, das der Steuerungsrate entspricht, zu steuern und den Arm mit den Wahrnehmungsinformationen für ein zweites Intervall, das der Erfassungsrate entspricht, zu steuern. Beispielsweise kann ein gegebenes Intervall die Inverse der entsprechenden Rate sein. Man beachte, dass die Steuerung mit einer Art von Informationen für ein Intervall nicht unbedingt bedeutet, dass die Art der Informationen über das gesamte Intervall verwendet wird. Das Intervall kann z.B. als die verstrichene Zeit verstanden werden, für die eine auf der speziellen Art der Informationen basierende Steuerungsaktion geändert werden kann. Beispielsweise können vorhergesagte Positionsinformationen während eines Teils eines Erfassungsintervalls verwendet werden, wenn aktuelle Wahrnehmungsinformationen nicht verfügbar sind. In verschiedenen Ausführungsformen kann der Verwendung von Wahrnehmungsinformationen Vorrang vor der Verwendung von vorhergesagten Informationen eingeräumt werden. In einigen Ausführungsformen kann die Verarbeitungseinheit 140 nur dann vorhergesagte oder geschätzte Positionsinformationen bestimmen, wenn die aktuellen Wahrnehmungsinformationen nicht verfügbar sind.
  • 2 zeigt eine graphische Darstellung 200, die die Position eines Arms (z.B. einen Teil davon) im Laufe der Zeit zeigt. Die Graphik 200 ist zur Vereinfachung der Veranschaulichung nur für eine einzige Positionsdimension vorgesehen. Es kann darauf hingewiesen werden, dass in verschiedenen Ausführungsformen Bewegungen in 2 oder 3 Dimensionen eingesetzt, wahrgenommen oder erfasst und vorhergesagt werden können. Der Graph 200 zeigt die vorhergesagten Positionen 212, 214, 216 und 218, die jeweils in einem Steuerungsintervall 210 von einer unmittelbar vorausgehenden Position (entweder Wahrnehmung oder Vorhersage) beabstandet sind, sowie Wahrnehmungspositionen 222 und 224, die in einem Wahrnehmungsintervall von 220 voneinander beabstandet sind. Wenn die Steuerungsrate schneller als die Wahrnehmungsrate ist, ist das Steuerungsintervall 210 kürzer als das Wahrnehmungsintervall 220. Für das in 2 dargestellte Beispielszenario wird der Arm so gesteuert, dass er sich in Richtung einer gewünschten Position 202 bewegt. Die gewünschte Position ist durch ein Quadrat angezeigt, während Positionen, die durch Wahrnehmungsinformationen identifiziert werden, durch Kreise gekennzeichnet sind und die Steuersignalinformationen geschätzte oder vorhergesagte Positionen durch Xe angezeigt sind.
  • In einem Beispielszenario beginnt der Arm bei einer Position 222 zu einem Anfangszeitpunkt T1, der unter Verwendung von Informationen von einer Wahrnehmungserfassungseinheit bestimmt wird. Da die Position 222 unterhalb der gewünschten Position 202 liegt, wird dem Arm ein Steuersignal zugeführt, um den Arm in eine positive Richtung und zu der gewünschten Position 202 hin zu betätigen. Sobald sich der Arm zu bewegen beginnt, ist die zuvor wahrgenommene Position 222 nicht mehr aktuell. Weil die Steuerungsrate schneller als die Erfassungsrate ist, kann eine Steuerungsanweisung zugeführt oder geändert werden, bevor aktualisierte Erfassungsinformationen verfügbar sind.
  • Dementsprechend wird in dem Beispielszenario zum Zeitpunkt T2 eine vorhergesagte Position 212 bestimmt. Die vorhergesagte Position 212 basiert auf der Position 222, die durch die vom Steuersignal angeforderte Geschwindigkeit geändert wird, das basierend auf der Position 222 über die verstrichene Zeit zwischen T1 und T2 zugeführt wird. Da die Position 212 unterhalb der gewünschten Position 202 liegt, wird dem Arm als Nächstes ein Steuersignal zugeführt, um den Arm in eine positive Richtung und zu der gewünschten Position 202 hin zu betätigen.
  • Zum Zeitpunkt T3 sind die aktuellen Erfassungsinformationen noch immer nicht verfügbar, so dass zum Zeitpunkt T3 eine vorhergesagte Position 214 bestimmt wird, die zur Steuerung des Arms zwischen den Zeiten T3 und T4 verwendet wird. Die vorhergesagte Position 214 basiert auf der Position 212, die durch die von dem Steuersignal angeforderte Geschwindigkeit modifiziert wird, das basierend auf der Position 212 über der verstrichenen Zeit zwischen T2 und T3 geliefert wird. Da die Position 214 noch immer unterhalb der gewünschten Position 202 liegt, wird als Nächstes ein weiteres Steuersignal dem Arm zugeführt, um den Arm in positive Richtung und zu der gewünschten Position 202 hin zu betätigen.
  • Ferner stehen zum Zeitpunkt T4 des Beispielszenarios keine aktuellen Erfassungsinformationen zur Verfügung. Dementsprechend wird zum Zeitpunkt T4 eine vorhergesagte Position 216 bestimmt und zur Steuerung des Arms zwischen den Zeitpunkten T4 und T5 verwendet. Die vorhergesagte Position 216 basiert auf der vorhergesagten Position 214 (bei T3), modifiziert durch die von dem Steuersignal, das basierend auf der Position 214 über der verstrichenen Zeit zwischen T3 und T4 bereitgestellt wird, angeforderte Geschwindigkeit. Da die Position 216 noch immer unter der gewünschten Position 202 liegt, wird als Nächstes ein weiteres Steuersignal dem Arm zugeführt, um den Arm in positive Richtung und zu der gewünschten Position 202 hin zu betätigen.
  • Zum Zeitpunkt T5 stehen wieder aktuelle Erfassungsinformationen zur Verfügung und werden zur Ermittlung der Position 224 verwendet. Da die Position 224 noch immer unterhalb der gewünschten Position 202 liegt, wird dem Arm erneut ein Steuersignal zugeführt, um den Arm zwischen den Zeitpunkten T5 und T6 in eine positive Richtung und zu der gewünschten Position 202 hin zu betätigen. Sobald sich der Arm zu bewegen beginnt, ist die zuvor wahrgenommene Position 224 nicht mehr aktuell. Dementsprechend wird zum Zeitpunkt T6 eine vorhergesagte Position 218 bestimmt. Die vorhergesagte Position 218 basiert auf der Position 224, die durch die von dem Steuersignal angeforderte Geschwindigkeit modifiziert wird, das basierend auf der Position 224 über die verstrichene Zeit zwischen T5 und T6 bereitgestellt wird. Da die Position 218 unterhalb der gewünschten Position 202 liegt, wird ein weiteres Steuersignal als Nächstes an den Arm geliefert, um den Arm in eine positive Richtung und zu der gewünschten Position 202 hin zu betätigen. Der Vorgang kann fortgesetzt werden, bis sich der Arm in der gewünschten Position 202 befindet.
  • Man beachte, dass das vorstehend dargestellte Beispiel von 2 als Beispiel zu Veranschaulichungszwecken dient. In verschiedenen Ausführungsformen können unterschiedliche Anzahlen von Vorhersagezyklen zwischen den Erfassungszyklen auftreten (z.B. in der dargestellten Ausführungsform ist die Steuerungsrate 4 mal schneller als die Wahrnehmungs- oder Erfassungsrate; in anderen Ausführungsformen kann die Steuerungsrate jedoch unter anderem 2 mal schneller als die Wahrnehmungs- oder Erfassungsrate, 5 mal schneller oder 10 mal schneller sein). Weiterhin ist zu beachten, dass das Beispiel aus 2 zwar in Bezug auf eine einzige Positionsdimension im Zeitablauf dargestellt ist, andere Ausführungsformen aber Bewegungen in zusätzlichen Dimensionen (z.B. drei Dimensionen) steuern können. Wie aus der obigen Darstellung hervorgeht, verwenden verschiedene Ausführungsformen vorhergesagte Positionen als eine Positionsschätzung, wenn aktuelle oder verlässliche Wahrnehmungsinformationen nicht verfügbar sind, und sie profitieren von der Genauigkeit und/oder Zuverlässigkeit der Wahrnehmungsinformationen, wenn Wahrnehmungsinformationen verfügbar sind.
  • So ist die Verarbeitungseinheit 140 in verschiedenen Ausführungsformen so eingerichtet, dass sie den Arm über eine Reihe von mehreren ersten Intervallen (z.B. dem Steuerintervall 210) während wenigstens eines zweiten Intervalls (z.B. des Wahrnehmungsintervalls 220) steuert. In der in 2 dargestellten Ausführungsform ist die Steuerungsrate (oder Vorhersagerate) viermal schneller als die Wahrnehmungsrate (oder Akquisitionsrate), so dass 3 vorhergesagte Positionen bestimmt oder geschätzt und zur Steuerung des Arms verwendet werden, bevor eine neue, aktualisierte oder momentane wahrgenommene Position verfügbar ist. Auch hier ist anzumerken, dass in verschiedenen Ausführungsformen andere Raten oder relative Intervalldauern verwendet werden können.
  • Erneut zurückkehrend zu 1 enthält die dargestellte Verarbeitungseinheit 140 ein Steuerungsmodul 142, ein Wahrnehmungsmodul 144, ein Vorhersagemodul 146 und einen Speicher 148. Man beachte, dass die in 1 dargestellten besonderen Einheiten bzw. Module beispielhaft gemeint sind und dass in verschiedenen Ausführungsformen andere Anordnungen von Einheiten bzw. Untereinheiten der Verarbeitungseinheit 140 verwendet werden können und dass in alternativen Ausführungsformen andere Typen, Anzahlen oder Kombinationen von Modulen verwendet werden können und/oder dass verschiedene Aspekte der hier beschriebenen Module zusätzlich bzw. alternativ in Verbindung mit anderen Modulen verwendet werden können. Im Allgemeinen wirken die verschiedenen Aspekte der Verarbeitungseinheit 140 einzeln oder kooperativ mit anderen Aspekten zusammen, um einen oder mehrere Aspekte der hierin erläuterten Verfahren, Schritte oder Prozesse durchzuführen. Die Verarbeitungseinheit 140 kann eine Verarbeitungsschaltung enthalten, die so eingerichtet ist, dass sie eine(n) oder mehrere Aufgaben, Funktionen oder Schritte ausführen kann, die hier beschrieben sind. Man beachte, dass die hier verwendete „Verarbeitungseinheit“ nicht unbedingt auf einen einzelnen Prozessor oder Computer beschränkt sein soll. So kann die Prozessoreinheit 140 beispielsweise mehrere Prozessoren und/oder Computer enthalten, die in ein gemeinsames Gehäuse oder einer gemeinsamen Einheit integriert oder auf verschiedene Einheiten oder Gehäuse verteilt sein können.
  • Das dargestellte Steuerungsmodul 142 verwendet Eingaben von dem Wahrnehmungsmodul 144 und dem Vorhersagemodul 146, um die Bewegung des Arms 110 auf der Basis einer Position des Arms 110 relativ zu dem Zielobjekt 102 zu steuern (z.B. basierend auf einer Differenz zwischen einem wahrgenommenen Abstand zwischen dem Arm 110 und dem Zielobjekt 102, wenn Wahrnehmungsinformationen verfügbar sind, und basierend auf einer vorhergesagten Differenz, wenn Wahrnehmungsinformationen nicht verfügbar sind). Das Steuermodul 142 ist eingerichtet, um Steuersignale dem Arm 110 (z.B. einem oder mehreren Motoren oder anderen Aktoren, die einem oder mehreren Teilen des Arms 110 zugeordnet sind) zuzuführen und auch nach Erreichen des Zielobjekts 102 durch die Manipulatoreinheit 130 die Manipulatoreinheit 120 zu steuern. Zusätzlich führt das dargestellte Steuerungsmodul 142 dem Vorhersagemodul 146 auch Steuersignalinformationen zu, die Steuersignale beschreiben oder Steuersignalen entsprechen, die dem Arm 110 zur Verwendung durch das Vorhersagemodul 146 bei der Schätzung der Position, wenn keine Wahrnehmungsinformationen zur Verfügung stehen, zugeführt werden.
  • Das dargestellte Wahrnehmungsmodul 144 ist eingerichtet, um Erfassungsinformationen von der Wahrnehmungserfassungseinheit 130 zu erfassen und eine Position des Arms 110 zu bestimmen (z.B. eine Position eines Teils des Arms 110 oder eines damit verbundenen Bauteils, wie z.B. der Manipulatoreinheit 120, relativ zu dem Zielobjekt 102). Das Wahrnehmungsmodul 144 in der dargestellten Ausführungsform liefert dem Steuermodul Informationen, die der Lage des Arms 110 entsprechen, die durch das Wahrnehmungsmodul 144 anhand von Informationen aus der Wahrnehmungserfassungseinheit 130 ermittelt wird.
  • Das dargestellte Vorhersagemodul 146 ist zur Vorhersage einer Positionierung des Arms 110 eingerichtet, um vorhergesagte Positionsinformationen unter Verwendung von Wahrnehmungsinformationen aus dem Wahrnehmungsmodul 144 (und/oder der Wahrnehmungserfassungseinheit 130) und Steuersignalinformationen aus dem Steuermodul 142 zu liefern. Allgemein verwendet das Vorhersagemodul 146 in verschiedenen Ausführungsformen eine frühere Position und entsprechende Steuersignalinformationen (z.B. Geschwindigkeit und Richtung des Arms, die sich aus einem Steuersignal über einen verstrichenen Zeitraum seit der Ausführung des Steuersignals ergeben), um eine nachfolgende Position vorherzusagen. Beispielsweise kann das Vorhersagemodul 146 eine früher bestimmte Position (entweder anhand von Wahrnehmungsinformationen oder aus einer vorherigen Vorhersage) um eine Größe modifizieren, die einer Geschwindigkeit des Arms 110 (oder eines Teils davon) entspricht, die einem Steuersignal (z.B. Betrag und Richtung der Geschwindigkeit) entspricht, das nach der früher bestimmten Position geliefert wird. In verschiedenen Ausführungsformen können eine Beschleunigung oder Geschwindigkeitsänderung vorliegen und berücksichtigt werden.
  • Der Speicher 148 kann ein oder mehrere materielle und nicht-transitorische computerlesbare Speichermedien enthalten. Der Speicher 148 kann z.B. verwendet werden, um Informationen zu speichern, die einer durchzuführenden Aufgabe, einem Zielobjekt, Steuerinformationen (z.B. aktuellen und/oder kürzlich verwendeten Steuersignalen und/oder entsprechenden Bewegungen), die zur Vorhersage der Position verwendet werden, oder ähnlichem entsprechen. Darüber hinaus können die hierin besprochenen Prozessabläufe und/oder Ablaufdiagramme (oder Aspekte davon) einen oder mehrere Sätze von Anweisungen darstellen, die in dem Speicher 148 zur Leitung von Operationen des Robotersystems 100 gespeichert werden.
  • Man beachte, dass das Robotersystem 100 zusätzliche Aspekte enthalten kann, die in 1 nicht ausdrücklich dargestellt sind. Zum Beispiel kann das Robotersystem 100 auch eine Antriebseinheit, die eingerichtet ist, um das Robotersystem 100 unter anderem zwischen verschiedenen Standorten zu bewegen, und/oder eine Kommunikationseinheit enthalten, die eingerichtet ist, um dem Robotersystem 100 zu ermöglichen, mit einem entfernten Benutzer, einem zentralen Planungs- oder Dispositionssystem oder anderen Robotersystemen zu kommunizieren.
  • 3 ist ein schematisches Blockdiagramm eines Robotersteuersystems 300 gemäß verschiedenen Ausführungsformen. Wie in 3 zu sehen, ist das dargestellte Robotersteuersystem 300 für den Einsatz mit einer Umgebung 350 eingerichtet. Die Umgebung 350 kann z.B. ein oder mehrere Zielobjekte oder Stellen umfassen, die einer oder mehreren Aufgaben entsprechen, die von einem Robotersystem, das von dem Robotersteuersystem 300 gesteuert wird, durchzuführen sind. Das Robotersteuersystem 300 der dargestellten Ausführungsform enthält eine Benutzerschnittstelle 302, einen Aufgabenplanungsblock 304, einen Kommunikationsblock 306, einen Bewegungsplanungsblock 308, einen Zielpositionsschätzungsblock 310, eine Positionssteuerungsvorrichtung 312, eine Geschwindigkeitssteuerungsvorrichtung 314, einen Robotersensor 316, einen dynamischen Planungsblock 318, einen Betätigungsblock 319, einen Robotermanipulator 320, einen Wahrnehmungsvorrichtungsblock 322 und einen Umgebungsmodellierungsblock 324. Aspekte des Robotersteuersystems 300 können mit dem in 1 dargestellten Robotersystem 100 verwendet werden (z.B. können verschiedene Blöcke des Steuerungssystems 300 als Teil oder in Verbindung mit der Verarbeitungseinheit 140 eingesetzt werden). Die Kernkomponenten der Robotersteuerung 300 sind in der Regel Planungsmodule und Steuerungsvorrichtungen. Bei einer gegebenen Aufgabe, die entweder über die Benutzerschnittstelle 302 oder den Kommunikationsblock 306 empfangen wird, der die Robotersteuerung 300 mit einem oder mehreren anderen Systemen koppelt, kann das Robotersteuersystem 300 Aufgaben planen, indem es Aufgabenprimitive einplant, um die bestimmte Aufgabe durchzuführen.
  • Beispielsweise kann jedes eingeplante Aufgabenprimitiv den Bewegungsplanungsblock 308 anstoßen, um eine Bewegungsbahn (Bewegungstrajektorie) zu erzeugen, die Beschreibungen von Positions-, Geschwindigkeits- und Beschleunigungswerten aller Zwischenpunkte enthalten kann und Ergebnisse der Umgebungsmodellierung einbeziehen kann. In verschiedenen Ausführungsformen wird ein Regelungssystems mit zweifachem geschlossenem Regelkreis verwendet, um den Robotermanipulator 320 durch alle Zwischenpunkte mit gewünschten dynamischen Bewegungen anzutreiben. Das Regelungssystems mit zweifachem geschlossenem Regelkreis kann eine Positionsschleife und eine Geschwindigkeitsschleife enthalten. Der Positionssteuerungsvorrichtung 312 in der dargestellten Ausführungsform ist eine auf einem geschlossenen Regelkreis basierende Steuervorrichtung mit Rückmeldeinformationen, die sowohl von dem gesteuerten Roboter als auch von der Umgebung (z.B. dem Arbeitsraum) erhalten werden. Die dargestellte Geschwindigkeitssteuervorrichtung 314 basiert ebenfalls auf einem geschlossenen Regelkreis, empfängt aber keine Informationen von Umgebungwahrnehmungsvorrichtungen. Die Geschwindigkeitssteuervorrichtung 314 kann unter diesem Gesichtspunkt als ein System mit „offenem Steuerkreis“ betrachtet werden, da die Rückmeldeinformationen von dem Aufgabenbereich nicht erhalten werden. Berechnete Bewegungsinformationen werden an den dynamischen Planungsblock 318 gesendet, um Gelenkdrehmomente zu erzeugen, die die Bewegung des Robotermanipulators antreiben. Beispielsweise kann der Betätigungsblock 319 basierend Berechnungsergebnissen aus dem dynamischen Planungsblock 318 die notwendige Eingabe für den Robotermanipulator 320 bereitstellen. Für eine übergeordnete Einmalplanung werden Umgebungsinformationen an die Planungsmodule gesandt. Die Aufgabenvalidierung kann auch an dem Aufgabenplanungsblock 304 anhand von Umgebungsinformationen durchgeführt werden. Als nächstes werden verschiedene beispielhafte Hardware und/oder Algorithmen im Zusammenhang mit bestimmten Blöcken oder Aspekten des Robotersteuersystems 300 beschrieben.
  • Der Robotermanipulator 320 kann einen oder mehrere gelenkig gelagerte Arme enthalten. Zum Beispiel kann der Robotermanipulator in einigen Ausführungsformen einen Roboter, wie den SIA20F von Yaskawa Motoman Robotics, verwenden. Der SIA20F ist ein 7-achsiger Einarmroboter für die Automatisierung von Arbeitsvorgängen, wie Montage, Inspektion, Maschinenbedienung und Handling. So kann z.B. bei einer Bremsentlüftungsanwendung eine Nutzlast von 15 Kilogramm gehandhabt werden, wobei der Robotermanipulator 320 zur mobilen Manipulation auf einer mobilen Basis montiert ist. Für die Durchführung einer Bremsentlüftungsaufgabe kann eine Reichweite von wenigstens 800 Millimetern mit einem wiederholbaren Fehler von weniger als +/–2 Millimetern erforderlich sein. Der SIA20F kann für eine solche Anwendung eingesetzt werden, da er 7 Freiheitsgrade, eine spezifizierte Nutzlast von 20 Kilogramm, eine maximale Reichweite von 910 Millimetern mit einer Wiederholgenauigkeit von +/–0,1 Millimetern und ein relativ geringes Gewicht von 100 Kilogramm aufweist. Es ist zu beachten, dass in verschiedenen Ausführungsformen zusätzliche oder alternative Manipulatoren eingesetzt werden können.
  • Der Robotersensor 316 kann einen oder mehrere Kodierer enthalten, die auf einem Gelenk (oder Gelenken) eines Roboterarms angeordnet sind. Bei einigen Ausführungsformen kann ein Dreh-/Linearkodierer verwendet werden, um die Dreh-/Linearposition in ein analoges oder digitales elektronisches Signal umzuwandeln. Mit Hilfe von Kodiererwerten und Vorwärtskinematik kann der aktuelle kinematische Zustand des Robotermanipulators 320, einschließlich der Position, Geschwindigkeit und Beschleunigung, berechnet werden. In einigen Ausführungsformen können Absolutwertgeber verwendet werden, um zu helfen, die akkumulierte Drift oder die damit verbundenen Fehler zu reduzieren.
  • In einigen Ausführungsformen kann zur Erfassung von Kräften und Drehmomenten ein Kraftsensorwiderstand eingesetzt werden. Ein Kraftsensorwiderstand kann ein Material enthalten, dessen Widerstand sich verändert, wenn eine Kraft oder ein Druck angelegt wird, und es werden entsprechende elektrische Signale erzeugt. In einigen Ausführungen können ein oder mehrere ATI Gamma F/T-Sensoren eingesetzt werden. Der ATI Gamma F/T-Sensor ist ein hochpräziser 6-Achsen-Sensor mit einem Umfang von gemessenen Kräften und Drehmomenten, die die Anforderungen für eine Bremsentlüftungsanwendung erfüllen. Beispielsweise kann der ATI Gamma F/T-Sensor eine maximale Kraft von 130 Newton (N) mit einer Auflösung von 1/40 N in X- und Y-Richtung, eine maximale Kraft von 400 N mit einer Auflösung von 1/20 N in der Z-Richtung und ein maximales Drehmoment in den X-, Y- und Z-Richtungen von 10 Nm mit einer Auflösung von 1/800 Nm aufweisen.
  • Der Wahrnehmungsvorrichtungsblock 322 kann in gewisser Hinsicht der hier erläuterten Wahrnehmungserfassungseinheit 120 im Wesentlichen ähnlich sein. Der Wahrnehmungsvorrichtungsblock 322 kann z.B. einen dreidimensionalen Bereichssensor enthalten, der Bereichswerte zurückgibt, die Entfernungen zwischen dem Sensor und einem oder mehreren in der Umgebung 350 detektierten Punkten (z.B. einem oder mehreren Zielobjekten oder Teilen davon) messen. Alternativ oder zusätzlich kann der Wahrnehmungsvorrichtungsblock 322 eine Stereokamera enthalten, die ein Zielobjekt (z.B. einen Bremshebel) in der Umgebung 350 erkennt und eine 6-dimensionale Haltung des Zielobjekts schätzt.
  • In verschiedenen Ausführungsformen kann zur Fehlertoleranz ein Endeffektor eingesetzt werden. Beispielsweise können Fehler aufgrund der Bewegungssteuerung und/oder Objekterkennung erzeugt werden. In einigen Ausführungsformen kann ein Endeffektor eingerichtet sein, um Fehler von 5 Zentimetern oder mehr auf allen Achsen zu tolerieren.
  • Der dargestellte Aufgabenplanungsblock 304 ist eingerichtet, um eine Aufgabe als eine Eingabe (z.B. von der Benutzerschnittstelle 302 und/oder dem Kommunikationsblock 306) zu empfangen und Aufgabenprimitive als eine Ausgabe zu liefern. Die Aufgabenplanung, wie sie hierin verwendet wird, kann sich auf die Planung einer Sequenz oder mehrerer paralleler Sequenzen von Aufgaben beziehen, die ein Roboter durchzuführen hat. Der Aufgabenplanungsblock 304 kann eine moderne Steuerungsarchitektur, wie z.B. eine aufgabenbezogene reaktive Steuerung (Task-Based Reactive Control, TBRC), verwenden, um ein Steuerungsproblem als eingeschränkte Minimierung von Aufgabenfehlern zu formulieren, und er kann die Redundanz von in verschiedenen Ausführungsformen bereitgestellten Plattformen effizient nutzen. Man beachte, dass eine inverse TBRC und Kostenoptimierung verwendet werden können, um die Aufgabe zu planen, um bestimmte Aufgabenziele zu erreichen, wenn das Ziel der Aufgaben betrachtet wird, um einen Endzustand eines Steuerungsalgorithmus zu erreichen. Die Planung für eine typische Bremsenentlüftungsaufgabe ist in manchen Ausführungsformen ein typisches auf einer einzigen Aufgabe basierendes Planungsproblem mit mehreren Anforderungen.
  • Der Umgebungsmodellierungsblock 324 kann Punktwolken-basierte Techniken verwenden. Wie hierin verwendet, kann sich die Umgebungsmodellierung auf die Beschreibung eines Arbeitsraums eines Roboters beziehen. Je nach den unterschiedlichen Anforderungen von verschiedenen Aufgaben können unterschiedliche Modellierungsverfahren zum Einsatz kommen. Im Allgemeinen wird die Umgebungsmodellierung durchgeführt, um Robotern zu helfen, die Umgebung auf eine Art und Weise zu verstehen, die mit einer Aufgabe verbunden ist, die durchgeführt werden soll. Der Umgebungsmodellierungsblock 324 erhält in verschiedenen Ausführungsformen sensorische Wahrnehmungsinformationen als eine Eingabe und liefert als Ausgabe eine Zielposition. Aufgrund von Umgebungseinschränkungen ist eine hohe Präzision in den Wahrnehmungsaspekten verschiedener Ausführungsformen in der Regel wünschenswert. Ein Punktwolken-basiertes Verfahren kann verwendet werden, um die Position eines Zielpunktes zu finden, während andere Verfahren verwendet werden können, um ein Zielobjekt zu segmentieren.
  • Die Bewegungsbahnplanung (die z.B. durch den Bewegungsplanungsblock 308 durchgeführt wird) kann in verschiedenen Ausführungsformen ein künstliches Potentialfeld nutzen. Die Bewegungsbahnplanung kann verwendet werden, um eine glatte und kollisionsfreie Bewegungsbahn in dem Arbeitsraum für einen Roboter zur Durchführung einer oder mehrerer Aufgaben zu bestimmen. Eine erzeugte Bewegungsbahn kann z.B. als eine Folge von Zwischenpunkten mit zeitlichen Informationen und Bewegungsinformationen, einschließlich Position, Geschwindigkeit und Beschleunigung, dargestellt werden. Der Bewegungsplanungsblock 308 kann als Eingabe Zielposition(en) und Hindernisposition(en) empfangen und als Ausgabe eine gewünschte Position eines nächsten Zeitschrittes liefern. In einigen Ausführungsformen kann der Aufbau eines Roboters so behandelt werden, als würde er in einem künstlichen Potentialfeld eingesetzt werden, das eine Anziehung zu dem Ziel und eine Abstoßung von Hindernissen kombiniert. Als der Pfad wird die resultierende Bewegungsbahn ausgegeben. Ein Vorteil dieses Ansatzes ist es, dass die Bewegungsbahn mit wenig Rechenaufwand erzeugt werden kann. Man beachte jedoch, dass die Bewegungsbahn möglicherweise in lokalen Minima des Potenzialfeldes gefangen werden und keinen Pfad finden kann. Dabei ist zu beachten, dass bei einem Ansatz mit geschlossener Schleife die Zielposition und die Hindernisse kontinuierlich aktualisiert werden.
  • Der Zielpositionsschätzungsblock 310 kann in verschiedenen Ausführungsformen einen erweiterten Kalman-Filter verwenden. Es kann beachtet werden, dass, weil die Häufigkeit der Erfassung von Wahrnehmungsinformationen in verschiedenen Ausführungsformen deutlich langsamer ist als die Steuerungsfrequenz, die Zielposition in Bezug auf den Roboterrahmen in verschiedenen Ausführungsformen unter Verwendung eines Bewegungsmodells geschätzt werden kann. In jeder Schleife kann dann die geschätzte Zielposition als eine gewünschte Referenzeingabe für den Steuerungsalgorithmus verwendet werden. Der Zielpositionsschätzungsblock 310 kann die Bewegung des Manipulators und die geschätzte Zielposition des letzten Erfassungsergebnisses von dem Wahrnehmungsvorrichtungsblock 322 als Eingabe empfangen und eine geschätzte Zielposition ausgeben. Eine Kalman-Filterung verwendet eine Reihe von Messungen, die im Laufe der Zeit beobachtet werden, die Rauschen (zufällige Abweichungen) und andere Ungenauigkeiten enthalten, und erzeugt Schätzwerte für unbekannte Variablen, die in der Regel genauer sind als solche, die auf einer einzelnen Messung allein basieren. Ein Kalman-Filter kann rekursiv auf Strömen von verrauschten Eingangsdaten arbeiten, um eine statistisch optimale Schätzung des zugrundeliegenden Systemzustands zu erhalten.
  • Nach der Erzeugung einer gewünschten Bewegungsbahn verwendet die dargestellte Positionssteuervorrichtung 312 einen Steuerungsalgorithmus, um den Fehler zwischen der gewünschten Position und den Ist-Positionen der Zwischenpunkte zu minimieren. Die Positionssteuervorrichtung 312 empfängt als Eingabe eine gewünschte Position bei einem nächsten Zeitschritt und liefert als Ausgabe eine Antriebsstufe. In verschiedenen Ausführungsformen kann ein Proportional-Integral-Differenzial (PID)-Regler eingesetzt werden. Ein PID-Regler ist ein Rückkopplungsmechanismus mit Regelkreis, der in industriellen Steuerungssystemen weit verbreitet ist. Ein PID-Regler berechnet einen Fehlerwert als die Differenz zwischen einer gemessenen Prozessgröße und einem gewünschten Sollwert. Der Regler versucht, den Fehler durch Anpassung des Prozesses durch Verwendung einer Stellgröße zu minimieren.
  • Die dargestellte Geschwindigkeitssteuervorrichtung 314 kann in einigen Ausführungsformen zwei Teile enthalten. Der erste Teil ist eine äußere Schleife, die von Benutzern entwickelt werden kann, und der zweite Teil ist eine bordeigene Geschwindigkeitssteuerung. Die vom Benutzer entwickelte Geschwindigkeitssteuerung nimmt die aktuelle Position und die aktualisierte Zielposition als Eingabe, um einen Fehler zu berechnen, und erzeugt dann ein Kompensationssignal für die bordeigene Geschwindigkeitssteuerung, die es dem Roboter ermöglicht, seine Geschwindigkeit zu steuern, um den berechneten Fehler zu reduzieren. Die Eingabe zu dem ersten Teil kann eine gewünschte Geschwindigkeit sein, und die Ausgabe aus dem ersten Teil kann ein Geschwindigkeitskompensationssignal sein. Die Eingabe für den zweiten Teil kann das Geschwindigkeitskompensationssignal sein, und die Ausgabe aus dem zweiten Teil kann ein Geschwindigkeitsantriebssignal sein.
  • In der dargestellten Ausführungsform kann der dynamische Planungsblock 318 die hybride Bewegungs- und Kraftplanung nutzen. In der Regel beinhaltet die dynamische Planung die Umwandlung von Bewegungen in Drehmomente an Gelenken unter Verwendung eines dynamischen Robotermodells.
  • Der Einsatz der dynamischen Planung ermöglicht eine robustere, präzisere und flexiblere Steuerung eines Robotermanipulators. Derzeit verfügen viele handelsübliche Roboter bereits über eine dynamische Steuerung. Der dargestellte dynamische Planungsblock 318 kann als Eingabe gewünschte Zwischenpunkte mit Position, Geschwindigkeit und Beschleunigung empfangen und als Ausgabe Drehmomente liefern, die an Gelenken eines Roboterarms bereitgestellt werden sollen. In einer hybriden Bewegungs- und Kraftplanungskomponente werden die Kräfte separat in dem Gelenkraum und Arbeitsraum definiert und behandelt. Dieser Ansatz plant die Bewegung und Kraft gleichzeitig unter Berücksichtigung der gewünschten Bewegung und der Kräfte sowohl im Arbeitsraum als auch im Gelenkraum. Das Ergebnis der Planung hilft, ein optimiertes Ergebnis sowohl im Arbeitsraum als auch im Gelenkraum zu erzielen.
  • Der Kommunikationsblock 306 ist allgemein eingerichtet, um Informationen von anderen Komponenten zu empfangen und Statusinformationen über eine oder mehrere Kommunikationsplattformen und/oder -protokolle an andere Komponenten zu senden. In einigen Ausführungsformen kann eine drahtlose Kommunikation auf der Basis des Transmission Control Protocol (TCP) implementiert werden, um eine mobile Manipulation zu realisieren und zu helfen, eine robuste und stabile Datenübertragung zu gewährleisten.
  • Die Benutzerschnittstelle 302 kann in verschiedenen Ausführungsformen eine grafische Benutzerschnittstelle bieten, die einem oder mehreren Benutzern zur Verfügung gestellt wird. Im Allgemeinen kann eine Benutzerschnittstelle verwendet werden, um ein Verfahren zur Verfügung zu stellen, damit Benutzer die Statusinformationen des Roboters beobachten und/oder den Roboter mit verschiedenen Steuerungen oder Befehlen steuern können. Beispielsweise kann eine grafische Benutzeroberfläche (GUI) in einer Bremsenentlüftungsaufgabe verwendet werden, um dem menschlichen Benutzer eine visuelle Möglichkeit zu bieten, den Roboterstatus zu beobachten und Tasten (oder andere Eingabeeinrichtungen) zur Steuerung eines Roboters zu verwenden.
  • 4 zeigt ein Ablaufdiagramm eines Verfahrens 400 zur Steuerung eines Roboters, z.B. eines Roboters für den Einsatz in einer Bremsenentlüftungsaufgabe. In verschiedenen Ausführungsformen kann das Verfahren 400 beispielsweise Strukturen oder Aspekte verschiedener Ausführungsformen (z.B. Systeme und/oder Verfahren) verwenden, die hierin erläutert sind. In verschiedenen Ausführungsformen können bestimmte Schritte weggelassen oder hinzugefügt, bestimmte Schritte kombiniert, bestimmte Schritte gleichzeitig ausgeführt, bestimmte Schritte parallel ausgeführt, bestimmte Schritte in mehrere Schritte aufgeteilt, bestimmte Schritte in einer anderen Reihenfolge ausgeführt oder bestimmte Schritte oder Schrittfolgen iterativ wiederholt durchgeführt werden. In verschiedenen Ausführungsformen können Teile, Aspekte und/oder Variationen des Verfahrens 400 als ein oder mehrere Algorithmen verwendet werden, um Hardware zur Durchführung der hierin beschriebenen Operationen zu leiten.
  • Bei 402 wird eine Aufgabe bestimmt. Beispielsweise kann eine Aufgabe an einer Benutzerschnittstelle eingegeben werden oder auf andere Weise durch ein System zur Steuerung eines Roboters (z.B. eines Roboters mit einem Gelenkarm) ermittelt werden. Zum Beispiel kann die Aufgabe eine Bremsenentlüftungsaufgabe sein, bei der ein Roboter einen Hebel ergreifen und betätigen soll. Im Rahmen der oder im Anschluss an die Aufgabenbestimmung werden ein oder mehrere Zielobjekte (z.B. ein zu betätigender Hebel oder ein Teil davon) ermittelt. In der dargestellten Ausführungsform wird bei 404 ein Zielobjekt bestimmt, in dessen Richtung ein Roboterarm geführt werden soll. Der Roboterarm wird mit einer Steuerungsrate gesteuert, wenn er zu dem Zielobjekt hin geführt wird. Das Zielobjekt kann z.B. ein Hebel sein, der als Teil einer Bremsentlüftungsaufgabe ergriffen und betätigt werden soll.
  • Bei 406 wird die Aufgabe geplant. Beispielsweise werden Bewegungen und/oder Kräfte (z.B. Positionen, Geschwindigkeiten, Beschleunigungen und/oder Drehmomente an einem oder mehreren Gelenken an verschiedenen Stellen während der Aufgabendurchführung) geplant, um die Aufgabe zu erreichen. Wie hierin besprochen, kann in verschiedenen Ausführungsformen eine hybride Bewegungs- und Kraftplanung eingesetzt werden, die Drehmomente an Gelenken eines Roboterarms auf der Basis von gewünschten Zwischenpunkten mit Position, Geschwindigkeit und Beschleunigung liefert.
  • Bei 408 werden Wahrnehmungsinformationen erfasst. Außerdem kann eine Position basierend auf den erfassten Wahrnehmungsinformationen bestimmt werden. In verschiedenen Ausführungsformen entsprechen die Wahrnehmungsinformationen einer Position des Arms relativ zu dem Zielobjekt. Die Wahrnehmungsinformationen können über eine an dem Arm montierte Wahrnehmungserfassungseinheit erfasst werden. Die Wahrnehmungserfassungseinheit kann z.B. eine(n) oder mehrere von einer Kamera, einer Stereokamera und/oder einem 3-dimensionalen Sensor umfassen. In der dargestellten Ausführungsform werden die Wahrnehmungsinformationen mit einer Erfassungsrate erfasst, die niedriger ist als die Steuerungsrate, mit der der Roboterarm gesteuert wird.
  • Bei 410 wird das Robotersystem auf Basis der Wahrnehmungsinformationen (z.B. basierend auf einer Position, die unter Verwendung der bei 408 erfassten Wahrnehmungsinformationen bestimmt wird) gesteuert. In der dargestellten Ausführungsform wird z.B. der Arm so gesteuert, dass er dem Zielobjekt näher kommt. Der Arm kann basierend auf einer Differenz zwischen der Position des Arms, wie sie unter Verwendung von Wahrnehmungsinformationen von der Wahrnehmungserfassungseinheit bestimmt wird, und einer dem Zielobjekt entsprechenden gewünschten Position gesteuert werden.
  • Bei 412 wird bestimmt, ob der Zielort erreicht worden ist. Wenn der Zielort erreicht wurde, schreitet das Verfahren 400 zu 414 voran. Bei 414 wird die Aufgabe durchgeführt (z.B. der Hebel wird ergriffen und betätigt). Wurde die Zielposition nicht erreicht, schreitet das Verfahren 400 zu 416 fort.
  • Bei 416 wird eine Positionierung des Arms vorhergesagt, um vorhergesagte Positionsinformationen bereitzustellen. Beispielsweise kann die Positionierung des Arms in der dargestellten Ausführungsform anhand der Wahrnehmungsinformationen (z.B. bei 408 erlangter Informationen) und der Steuersignalinformationen vorhergesagt oder geschätzt werden. Die bei 408 wahrgenommene Position kann durch eine Bewegung, die durch ein Steuersignal angefordert wird, das bei 410 zur Steuerung des Arms geliefert wird, zur Bestimmung der geschätzten Position modifiziert werden. Beispielsweise kann eine vorhergesagte Position des Arms zu einem aktuellen Zeitpunkt unter Verwendung einer vorherigen Position des Arms zu einem Anfangszeitpunkt, von Geschwindigkeitsinformationen, die einer Geschwindigkeit des Arms zwischen der Anfangszeit und der aktuellen Zeit entsprechen (sowie Beschleunigungsinformationen, falls die Geschwindigkeit nicht konstant ist, wie unten angegeben), und einer Zeitspanne, die zwischen der Anfangszeit und der aktuellen Zeit vergangen ist, bestimmt werden. Man beachte, dass Geschwindigkeitsinformationen, wie hierin verwendet, auch Informationen, die einer Änderung der Geschwindigkeit im Laufe der Zeit entsprechen, oder Beschleunigungsinformationen enthalten können. Man beachte, dass in der dargestellten Ausführungsform, weil die Steuerungsrate schneller als die Erfassungsrate ist, wenigstens ein Zyklus der Verwendung von Vorhersageinformationen verwendet werden kann, bevor die Wahrnehmungsinformationen wieder verwendet werden, da ein Steuerungsereignis wenigstens einmal auftritt, bevor vor aktuelle Wahrnehmungsinformationen wieder verfügbar sind. Weiterhin kann eine aktuelle vorhergesagte Position auch unter Verwendung der aktuellsten früheren vorhergesagten Position bestimmt oder geschätzt werden, wenn die aktuellste frühere vorhergesagte Position jünger ist als die verfügbaren Wahrnehmungsinformationen. Bei einigen Ausführungsformen kann der Arm gesteuert werden, um sich unter Verwendung vorhergesagter Positionsinformationen für ein erstes Intervall, das der Steuerungsrate entspricht, und unter Verwendung der Wahrnehmungsinformationen für ein zweites Intervall, das der Erfassungsrate entspricht, in Richtung auf das Zielobjekt zu bewegen. Beispielsweise kann der Arm über eine Reihe von ersten Intervallen (unter Verwendung von Vorhersageinformationen) während wenigstens eines zweiten Intervalls (oder einer Zeit, die zwischen der Verfügbarkeit von Wahrnehmungsinformationen verstrichen ist) gesteuert werden.
  • Bei 418 wird das Robotersystem auf der Basis vorhergesagter Positionsinformationen (z.B. basierend auf einer Position, die bei 416 bestimmt oder geschätzt wird) gesteuert. In der dargestellten Ausführungsform wird z.B. der Arm gesteuert, um dem Zielobjekt näher zu kommen. Der Arm kann auf der Basis einer Differenz zwischen der geschätzten oder vorhergesagten Position des Arms und einer dem Zielobjekt entsprechenden gewünschten Position gesteuert werden.
  • Bei 420 wird bestimmt, ob die Zielposition erreicht worden ist. Wurde die Zielposition erreicht, schreitet das Verfahren 400 zu 422 voran. Bei 422 wird die Aufgabe durchgeführt (z.B. der Hebel wird ergriffen und betätigt). Wurde die Zielposition nicht erreicht, schreitet das Verfahren 400 zu 424 voran. Bei 424 wird bestimmt, ob aktuelle oder aktualisierte Wahrnehmungsinformationen verfügbar sing oder vor dem nächsten Steuerungsereignis zur Verfügung stehen werden. Ist dies der Fall, schreitet das Verfahren 400 zu 408 zur Bestimmung einer aktuellen Position unter Verwendung von Wahrnehmungsinformationen voran. Falls nicht, schreitet das Verfahren zu 416 zur Bestimmung einer aktuellen vorhergesagten oder geschätzten Position voran.
  • Es sollte beachtet werden, dass die besondere Anordnung der Komponenten (z.B. Anzahl, Art, Platzierung und dgl.) der dargestellten Ausführungsformen in verschiedenen alternativen Ausführungsformen modifiziert werden kann. So können z.B. in verschiedenen Ausführungsformen verschiedene Anzahlen eines bestimmten Moduls oder einer bestimmten Einheit verwendet werden, ein anderer Typ oder andere Typen eines bestimmten Moduls oder einer bestimmten Einheit kann/können verwendet werden, eine Anzahl von Modulen oder Einheiten (oder deren Aspekte) kann kombiniert werden, ein bestimmtes Modul oder eine bestimmte Einheit kann in mehrere Module (oder Submodule) oder Einheiten (oder Untereinheiten) aufgeteilt werden, ein oder mehrere Aspekte eines oder mehrerer Module können zwischen den Modulen geteilt werden, ein bestimmtes Modul oder eine bestimmte Einheit kann hinzugefügt werden, oder ein Modul oder eine Einheit kann ausgelassen werden.
  • Wie hierin verwendet, ist eine Struktur, Begrenzung oder ein Element, die bzw. das „eingerichtet“ ist, um eine Aufgabe oder Operation durchzuführen, besonders strukturell gebildet, konstruiert oder in einer Art und Weise angepasst, die der Aufgabe oder Operation entspricht. Aus Gründen der Übersichtlichkeit und zur Vermeidung von Zweifeln ist ein Objekt, das lediglich in der Lage ist, geändert zu werden, um die Aufgabe oder Operation durchzuführen, wie hierin verwendet, nicht „eingerichtet“, um die Aufgabe oder den Vorgang durchzuführen. Stattdessen kennzeichnet die Verwendung von „eingerichtet“, wie hierin verwendet, strukturelle Anpassungen oder Eigenschaften und bezeichnet strukturelle Anforderungen an jede Struktur, Beschränkung oder jedes Element, die bzw. das als „eingerichtet“ beschrieben ist, um die Aufgabe oder Operation durchzuführen. Beispielsweise kann eine Verarbeitungseinheit, ein Prozessor oder Computer, die/der „eingerichtet“ ist, um eine Aufgabe oder Operation durchzuführen, als besonders strukturiert angesehen werden, um die Aufgabe oder Operation durchzuführen (z.B., wenn ein oder mehrere Programme oder Anweisungen darauf gespeichert sind oder in Verbindung damit verwendet werden, die maßgeschneidert oder beabsichtigt sind, um die Aufgabe oder Operation durchzuführen, und/oder wenn eine für die Aufgabe oder Operation maßgeschneiderte oder beabsichtigte Anordnung von Verarbeitungsschaltungen vorhanden ist). Zum Zwecke der Klarheit und zur Vermeidung von Zweifeln ist ein Universalcomputer (der bei entsprechender Programmierung „eingerichtet“ werden kann, um die Aufgabe oder Operation durchzuführen) nicht „eingerichtet“, um eine Aufgabe oder Operation durchzuführen, es sei denn, er ist speziell programmiert oder strukturell modifiziert worden, um die Aufgabe oder Operation durchzuführen.
  • Es sollte beachtet werden, dass verschiedene Ausführungsformen in Hardware, Software oder einer Kombination daraus umgesetzt werden können. Die verschiedenen Ausführungsformen und/oder Komponenten, beispielsweise die Module oder Komponenten und Steuerungen darin, können auch als Teil eines oder mehrerer Computer oder Prozessoren verwirklicht sein. Der Computer oder der Prozessor kann ein Rechengerät, ein Eingabegerät, eine Anzeigeeinheit und eine Schnittstelle beispielsweise für das Zugreifen auf das Internet beinhalten. Der Computer oder der Prozessor kann einen Mikroprozessor beinhalten. Der Mikroprozessor kann an einen Kommunikationsbus angeschlossen sein. Der Computer oder der Prozessor kann auch einen Speicher enthalten. Der Speicher kann einen Speicher mit direktem Zugriff (RAM) oder einen Nur-Lese-Speicher (ROM) enthalten. Der Computer oder der Prozessor kann ferner ein Speichergerät beinhalten, das ein Festplattenlaufwerk oder ein entfernbares Speicherlaufwerk, wie etwa ein Halbleiterlaufwerk, ein optisches Laufwerk o.ä., sein kann. Das Speichergerät kann auch ein anderes ähnliches Mittel zum Laden von Computerprogrammen oder anderen Anweisungen in den Computer oder den Prozessor sein.
  • Wie hierin verwendet, können die Begriffe „Computer“, „Steuerung“ und „Modul“ jeweils irgendein Prozessor-basiertes oder Mikroprozessor-basiertes System, einschließlich Systemen, die Mikrocontroller, Computer mit reduziertem Befehlssatz (RISC), anwendungsspezifische integrierte Schaltkreise (ASIC), logische Schaltkreise, GPUs, FPGAs, und jeden anderen Schaltkreis oder Prozessor beinhalten der fähig ist, die hierin beschriebenen Funktionen auszuführen. Die vorstehend erwähnten Beispiele sind nur beispielhaft und sind nicht dazu gedacht, die Definition und/oder Bedeutung des Begriffs „Modul“ oder „Computer“ in irgendeiner Weise zu beschränken.
  • Der Computer, das Modul oder der Prozessor führen einen Satz von Anweisungen aus, die in einem oder mehreren Speicherelementen gespeichert sind, um Eingangsdaten zu verarbeiten. Die Speicherelemente können auch Daten oder andere Informationen, wie gewünscht oder gebraucht, speichern. Das Speicherelement kann in Form einer Informationsquelle oder eines physikalischen Speicherelementes innerhalb einer Verarbeitungsmaschine vorliegen
  • Der Satz von Anweisungen kann verschiedene Befehle beinhalten, die den Computer, das Modul oder den Prozessor als eine Verarbeitungsmaschine anweisen, bestimmte Abläufe sowie die Verfahren und Prozesse der verschiedenen Ausführungsformen, die hierin beschrieben und/oder veranschaulicht sind, auszuführen. Der Satz von Anweisungen kann in Gestalt eines Softwareprogramms vorliegen. Die Software kann in verschiedenen Formen, wie etwa Systemsoftware oder Anwendungssoftware, vorliegen und kann als ein materielles und nicht-transitorisches computerlesbares Medium verkörpert sein. Ferner kann die Software in Form einer Sammlung von separaten Programmen oder Modulen, als ein Programmmodul innerhalb eines größeren Programms oder als ein Teil eines Programmmoduls vorliegen. Die Software kann auch modulares Programmieren in Gestalt von objektorientiertem Programmieren beinhalten. Die Verarbeitung von Eingangsdaten durch die Verarbeitungsmaschine kann als Reaktion auf Bedienerbefehle oder als Reaktion auf Ergebnisse einer vorherigen Verarbeitung oder als Reaktion auf eine Anforderung, die durch eine andere Verarbeitungsmaschine gestellt wird, erfolgen.
  • So wie hierin verwendet, sind die Begriffe „Software“ und „Firmware“ gegeneinander austauschbar und beinhalten jedes Computerprogramm, das in einem Speicher zur Ausführungsform durch einen Computer, einschließlich RAM-Speicher, ROM-Speicher, EPROM-Speicher, EEPROM-Speicher und nicht flüchtigem RAM(NVRAM)-Speicher, gespeichert ist. Die vorstehend erwähnten Speichertypen sind nur beispielhaft und sind somit nicht beschränkend hinsichtlich der Arten von für die Speicherung eines Computerprogramms verwendbaren Speichern. Die einzelnen Komponenten der verschiedenen Ausführungsformen können virtualisiert und durch eine Cloud-artige Rechnerumgebung bereitgestellt werden, beispielsweise um einer dynamischen Bereitstellung von Rechnerleistung Rechnung zu tragen, ohne den Nutzer hinsichtlich des Ortes, der Konfiguration und/oder spezieller Hardware des Computersystems zu beanspruchen.
  • Es sollte verstanden werden, dass die obige Beschreibung dazu gedacht ist, veranschaulichend und nicht beschränkend zu sein. Beispielsweise können die oben beschriebenen Ausführungsformen (und/oder Aspekte davon) in Kombination miteinander verwendet werden. Zusätzlich können viele Modifikationen gemacht werden, um eine spezielle Situation oder ein spezielles Material an die Lehren der Erfindung anzupassen, ohne von ihrem Umfang abzuweichen. Dimensionen, Typen von Materialien, Orientierungen der verschiedenen Komponenten und die Anzahl und Positionen der verschiedenen Komponenten, die hierin beschrieben sind, sind dazu gedacht, Parameter von bestimmten Ausführungsformen anzugeben, und sie sind in keiner Weise beschränkend und sind lediglich beispielhafte Ausführungsformen. Viele andere Ausführungsformen und Modifikationen innerhalb des Geistes und des Umfangs der Ansprüche werden Fachleuten bei dem Durchsehen der obigen Beschreibung deutlich werden. Der Schutzumfang der Erfindung sollte deshalb in Bezug auf die beigefügten Ansprüche zusammen mit dem gesamten Umfang von Äquivalenten, zu denen solche Ansprüche berechtigen, bestimmt werden. In den beigefügten Ansprüchen werden die Begriffe „enthalten“ und „in dem/der/denen“ als sprachliche Äquivalente der entsprechenden Begriffe „aufweisen“ und „worin“ verwendet. Außerdem werden die Begriffe „erster/erste“, „zweiter/ zweite“ und „dritter/dritte“ usw. in den folgenden Ansprüche lediglich als Bezeichnungen verwendet und sind nicht dazu gedacht, numerische Anforderungen an ihre Objekte zu richten. Ferner sind die Beschränkungen der folgenden Ansprüche nicht in dem Mittel-plus-Funktions-Format beschrieben und sind nicht dazu gedacht, basierend auf 35 U.S.C. §112 (f) interpretiert zu werden, sofern und bis solche Anspruchsbeschränkungen nicht ausdrücklich die Formulierung „Mittel für“, gefolgt von einer Angabe der Funktion ohne weitere Struktur, verwenden.
  • Diese schriftliche Beschreibung verwendet Beispiele zur Offenbarung der Erfindung, die die beste Art enthalten, und um jeden Fachmann auch in die Lage zu versetzen, die Erfindung in die Praxis umzusetzen, einschließlich der Herstellung und Verwendung jeglicher Vorrichtungen und Systeme sowie der Durchführung aller enthaltenen Verfahren. Der patentierbare Umfang der Erfindung ist durch die Ansprüche definiert und kann weitere Beispiele umfassen, die Fachleuten einfallen. Es ist beabsichtigt, dass derartige weitere Beispiele innerhalb des Schutzumfangs der Ansprüche liegen, wenn sie strukturelle Elemente aufweisen, die nicht von dem Wortlaut der Ansprüche abweichen, oder wenn sie äquivalente strukturelle Elemente mit unwesentlichen Abweichungen von dem Wortlaut der Ansprüche enthalten.

Claims (20)

  1. Robotersystem, das eingerichtet ist, um ein Zielobjekt zu manipulieren, wobei das Robotersystem aufweist: einen Gelenkarm, der eingerichtet ist, um sich relativ zu dem Zielobjekt zu bewegen; eine Wahrnehmungserfassungseinheit, die dazu eingerichtet ist, an dem Arm montiert zu sein und Wahrnehmungsinformationen, die einer Position des Arms relativ zu dem Zielobjekt entsprechen, mit einer Erfassungsrate zu erfassen; wenigstens einen Prozessor, der eingerichtet ist, um mit dem Arm und der Wahrnehmungserfassungseinheit betriebsmäßig verbunden zu sein, wobei der wenigstens eine Prozessor eingerichtet ist, um: eine Bewegung des Arms mit einer Steuerungsrate zu steuern, die entweder schneller als die Erfassungsrate der Wahrnehmungserfassungseinheit und/oder mit der Erfassungsrate der Wahrnehmungserfassungseinheit nicht synchronisiert ist, vorhergesagte Positionsinformationen, die für eine vorhergesagte Positionierung des Arms repräsentativ sind, unter Verwendung der Wahrnehmungsinformationen bereitzustellen und den Arm unter Verwendung der Wahrnehmungsinformationen und der vorhergesagten Positionsinformationen zu steuern.
  2. Robotersystem nach Anspruch 1, wobei der wenigstens eine Prozessor eingerichtet ist, um den Arm unter Verwendung der vorhergesagten Positionsinformationen für ein der Steuerungsrate entsprechendes erstes Intervall zu steuern und den Arm unter Verwendung der Wahrnehmungsinformationen für ein der Erfassungsrate entsprechendes zweites Intervall zu steuern.
  3. Robotersystem nach Anspruch 2, wobei der wenigstens eine Prozessor eingerichtet ist, um den Arm während wenigstens eines zweiten Intervalls über eine Reihe von mehreren ersten Intervallen zu steuern.
  4. Robotersystem nach Anspruch 1, wobei die Steuerungsrate wenigstens zehnmal schneller ist als die Erfassungsrate.
  5. Robotersystem nach Anspruch 1, wobei die Steuerungsrate zwischen 10 und 100 Hz beträgt.
  6. Robotersystem nach Anspruch 1, wobei der wenigstens eine Prozessor eingerichtet ist, um eine vorhergesagte Position des Arms zu einem aktuellen Zeitpunkt unter Verwendung einer vorherigen Position des Arms zu einem Anfangszeitpunkt, von Geschwindigkeitsinformationen, die einer Geschwindigkeit des Arms zwischen dem Anfangszeitpunkt und dem aktuellen Zeitpunkt entsprechen, und einer verstrichenen Zeitdauer zwischen dem Anfangszeitpunkt und dem aktuellen Zeitpunkt zu bestimmen.
  7. Robotersystem nach Anspruch 1, wobei die Wahrnehmungserfassungseinheit wenigstens eines von einer Kamera, einer Stereokamera oder einem Lasersensor aufweist.
  8. Verfahren zur Steuerung eines Robotersystems, wobei das Verfahren aufweist: Bestimmen eines Zielobjektes, zu dem hin ein Roboterarm mit einer Steuerungsrate geführt werden soll; Erfassen von Wahrnehmungsinformationen, die einer Position des Arms relativ zu dem Zielobjekt entsprechen, über eine am Arm montierte Wahrnehmungserfassungseinheit mit einer Erfassungsrate, die entweder langsamer als die Steuerungsrate und/oder mit dieser nicht synchronisiert ist; Erzeugen vorhergesagter Positionsinformationen, die für eine vorhergesagte Positionierung des Arms repräsentativ sind, unter Verwendung der Wahrnehmungsinformationen mit wenigstens einem Prozessor, der mit der Wahrnehmungserfassungseinheit und dem Arm betriebsmäßig verbunden ist; und Steuern des Arms, mit dem wenigstens einen Prozessor, zur Bewegung zu dem Zielobjekt hin unter Verwendung der Wahrnehmungsinformationen und der vorhergesagten Positionsinformation.
  9. Verfahren nach Anspruch 8, wobei das Steuern des Arms, damit er sich zu dem Zielobjekt hin bewegt, ein Verwenden der vorhergesagten Positionsinformationen für ein der Steuerungsrate entsprechendes erstes Intervall und Verwenden der Wahrnehmungsinformationen für ein der Erfassungsrate entsprechendes zweites Intervall aufweist.
  10. Verfahren nach Anspruch 9, das ferner sin Steuern des Arms über eine Reihe mehrerer erster Intervallen während wenigstens eines zweiten Intervalls aufweist.
  11. Verfahren nach Anspruch 8, wobei die Steuerungsrate wenigstens zehnmal schneller ist als die Erfassungsrate.
  12. Verfahren nach Anspruch 8, wobei die Steuerungsrate zwischen 10 und 100 Hz beträgt.
  13. Verfahren nach Anspruch 8, wobei das Vorhersagen der Positionierung des Arms ein Bestimmen einer vorhergesagten Position des Arms zu einem aktuellen Zeitpunkt unter Verwendung einer vorherigen Position des Arms zu einem Anfangszeitpunkt, von Geschwindigkeitsinformationen, die einer Geschwindigkeit des Arms zwischen dem Anfangszeitpunkt und dem aktuellen Zeitpunkt entsprechen, und einer verstrichenen Zeitdauer zwischen dem Anfangszeitpunkt und dem aktuellen Zeitpunkt aufweist.
  14. Verfahren nach Anspruch 8, wobei die Wahrnehmungsinformationen unter Verwendung wenigstens eines von einer Kamera, einer Stereokamera oder eines Lasersensors erfasst wird.
  15. Materielles und nicht-transitorisches computerlesbares Medium, das ein oder mehrere Computersoftwaremodule aufweist, die eingerichtet sind, um einen oder mehrere Prozessoren anzuweisen, um: ein Zielobjekt, zu dem hin ein Roboterarm mit einer Steuerungsrate geführt werden soll, zu bestimmen; über eine an dem Arm montierte Wahrnehmungserfassungseinheit Wahrnehmungsinformationen, die einer Position des Arms relativ zu dem Zielobjekt entsprechen, mit einer Erfassungsrate, die entweder langsamer als die Steuerungsrate und/oder mit dieser nicht synchronisiert ist, zu erfassen; vorhergesagte Positionsinformationen, die für eine vorhergesagte Positionierung des Arms repräsentativ sind, unter Verwendung der Wahrnehmungsinformationen bereitzustellen; und den Arm unter Verwendung der Wahrnehmungsinformationen und der vorhergesagten Positionsinformationen zu steuern, damit er sich zu dem Zielobjekt hin bewegt.
  16. Computerlesbares Medium nach Anspruch 15, wobei das computerlesbare Medium ferner eingerichtet ist, um den einen oder die mehreren Prozessoren anzuweisen, den Arm unter Verwendung der vorhergesagten Positionsinformationen für ein der Steuerungsrate entsprechendes erstes Intervall und unter Verwendung der Wahrnehmungsinformationen für ein der Erfassungsrate entsprechendes zweites Intervall zu steuern, damit er sich zu dem Zielobjekt hin bewegt.
  17. Computerlesbares Medium nach Anspruch 16, wobei das computerlesbare Medium ferner eingerichtet ist, um den einen oder die mehreren Prozessoren anzuweisen, den Arm über eine Reihe von mehreren ersten Intervallen während wenigstens eines zweiten Intervalls zu steuern.
  18. Computerlesbares Medium nach Anspruch 15, wobei die Steuerungsrate wenigstens zehnmal schneller als die Erfassungsrate ist.
  19. Computerlesbares Medium nach Anspruch 15, wobei das computerlesbare Medium ferner eingerichtet ist, um den einen oder die mehreren Prozessoren anzuweisen, eine vorhergesagte Position des Arms zu einem aktuellen Zeitpunkt unter Verwendung einer vorherigen Position des Arms zu einer Anfangszeitpunkt, von Geschwindigkeitsinformationen, die einer Geschwindigkeit des Arms zwischen dem Anfangszeitpunkt und dem aktuellen Zeitpunkt entsprechen, und einer Zeitdauer, die zwischen dem Anfangszeitpunkt und dem aktuellen Zeitpunkt verstrichen ist, zu bestimmen.
  20. Computerlesbares Medium nach Anspruch 15, wobei die Steuerungsrate zwischen 10 und 100 Hz beträgt.
DE112016002013.9T 2015-05-01 2016-04-29 Systeme und Verfahren zur Steuerung einer Robotermanipulation Pending DE112016002013T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/702,014 US9889566B2 (en) 2015-05-01 2015-05-01 Systems and methods for control of robotic manipulation
US14/702,014 2015-05-01
PCT/US2016/030230 WO2016179029A1 (en) 2015-05-01 2016-04-29 Systems and methods for control of robotic manipulation

Publications (1)

Publication Number Publication Date
DE112016002013T5 true DE112016002013T5 (de) 2018-01-18

Family

ID=56069228

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112016002013.9T Pending DE112016002013T5 (de) 2015-05-01 2016-04-29 Systeme und Verfahren zur Steuerung einer Robotermanipulation

Country Status (5)

Country Link
US (2) US9889566B2 (de)
JP (1) JP2018514403A (de)
CN (1) CN107921626B (de)
DE (1) DE112016002013T5 (de)
WO (1) WO2016179029A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020129743A1 (de) 2020-11-11 2022-05-12 Carl Zeiss Ag Vorrichtung und verfahren zur vermessung, inspektion oder bearbeitung von objekten

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10093022B2 (en) 2015-12-18 2018-10-09 General Electric Company Control system and method for brake bleeding
DE102015212171B3 (de) * 2015-06-30 2016-06-30 Kuka Roboter Gmbh Verfahren zum Steuern eines Manipulatorsystems
KR101703587B1 (ko) * 2015-08-03 2017-02-07 현대자동차 주식회사 차량 전장품 동작 검사 장치 및 방법
WO2017197018A2 (en) * 2016-05-10 2017-11-16 Trustees Of Tufts College Systems and methods enabling online one-shot learning and generalization by intelligent systems of task-relevant features and transfer to a cohort of intelligent systems
AU2017294796B2 (en) 2016-07-15 2019-05-30 Fastbrick Ip Pty Ltd Brick/block laying machine incorporated in a vehicle
US10427305B2 (en) * 2016-07-21 2019-10-01 Autodesk, Inc. Robotic camera control via motion capture
EP3282327A1 (de) * 2016-08-12 2018-02-14 KUBO Robotics ApS Programmierbarer roboter für bildungszwecke
GB2554363B (en) 2016-09-21 2021-12-08 Cmr Surgical Ltd User interface device
US10955838B2 (en) * 2016-09-26 2021-03-23 Dji Technology, Inc. System and method for movable object control
DE102017005194C5 (de) * 2017-05-31 2022-05-19 Kuka Deutschland Gmbh Steuern einer Roboteranordnung
JP7003454B2 (ja) * 2017-06-15 2022-01-20 オムロン株式会社 制御装置、位置制御システム、位置制御方法、および、位置制御プログラム
AU2018295572B2 (en) 2017-07-05 2022-09-29 Fastbrick Ip Pty Ltd Real time position and orientation tracker
EP3668689A4 (de) * 2017-08-17 2021-04-28 Fastbrick IP Pty Ltd Interaktionssystemkonfiguration
WO2019033170A1 (en) 2017-08-17 2019-02-21 Fastbrick Ip Pty Ltd LASER TRACKING DEVICE WITH ENHANCED ROLL ANGLE MEASUREMENT
US11847841B2 (en) 2017-10-18 2023-12-19 Brown University Probabilistic object models for robust, repeatable pick-and-place
JP6669713B2 (ja) * 2017-11-28 2020-03-18 ファナック株式会社 ロボットおよびロボットシステム
JP7092307B2 (ja) 2019-02-01 2022-06-28 三菱電機株式会社 作業判別装置および作業判別方法
JP7059968B2 (ja) * 2019-03-01 2022-04-26 オムロン株式会社 制御装置および位置合わせ装置
CN109947119B (zh) * 2019-04-23 2021-06-29 东北大学 一种基于多传感器融合的移动机器人自主跟随方法
JP7395877B2 (ja) * 2019-08-26 2023-12-12 セイコーエプソン株式会社 ロボットシステムおよび制御方法
US11389957B2 (en) 2019-09-30 2022-07-19 Mitsubishi Electric Research Laboratories, Inc. System and design of derivative-free model learning for robotic systems
CN111203849A (zh) * 2020-01-08 2020-05-29 浙江大学 一种移动机器人抓取作业系统及控制方法
US11795637B2 (en) * 2020-03-04 2023-10-24 Pioneer Industrial Systems, Llc Robotic maintenance vehicle and modules
CN113352314A (zh) * 2020-03-06 2021-09-07 思特威(上海)电子科技股份有限公司 基于闭环反馈的机器人运动控制系统及方法
WO2022081577A1 (en) * 2020-10-12 2022-04-21 The Johns Hopkins University Robot watchdog
CN112549009B (zh) * 2020-11-27 2022-02-08 合肥艾创微电子科技有限公司 一种基于可编程智能材料的仿生波形软体机器人
CN113001547B (zh) * 2021-03-10 2022-07-26 西北工业大学 一种基于混合现实的机器人遥操作控制方法
KR20230008302A (ko) 2021-07-06 2023-01-16 현대자동차주식회사 차량 내장형 영상 기록 장치의 평가 시스템
CN114061603B (zh) * 2021-09-30 2024-08-16 浙江大华技术股份有限公司 路径规划方法、装置、电子设备和存储介质
CN115453916A (zh) * 2022-08-24 2022-12-09 三一重机有限公司 作业机械的控制方法、装置、设备及作业机械
CN117901124B (zh) * 2024-03-20 2024-05-31 沈阳奇辉机器人应用技术有限公司 基于摘钩机器人的翻车机智能识别车钩方法及系统

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0113627D0 (en) 2001-06-05 2001-07-25 Univ Stirling Controller and method of controlling an apparatus
GB0309662D0 (en) * 2003-04-28 2003-06-04 Crampton Stephen Robot CMM arm
JP4504228B2 (ja) * 2005-03-01 2010-07-14 川崎重工業株式会社 ロボットの制御装置および制御方法
JP2007011978A (ja) * 2005-07-04 2007-01-18 Toyota Motor Corp ロボットの運動制御装置
US8301318B2 (en) 2008-03-05 2012-10-30 Robotic Research Llc Robotic vehicle remote control system having a virtual operator environment
US20100256814A1 (en) 2009-04-07 2010-10-07 Smith Joshua R System and methods for robotic manipulation
CN101587329A (zh) * 2009-06-18 2009-11-25 北京理工大学 机器人预测的方法和系统
CN101726296B (zh) 2009-12-22 2013-10-09 哈尔滨工业大学 空间机器人视觉测量、路径规划、gnc一体化仿真系统
JP5306313B2 (ja) * 2010-12-20 2013-10-02 株式会社東芝 ロボット制御装置
JP5679121B2 (ja) * 2011-05-25 2015-03-04 株式会社Ihi ロボットの運動予測制御方法と装置
WO2012153629A1 (ja) * 2011-05-12 2012-11-15 株式会社Ihi 運動予測制御装置と方法
JP5733518B2 (ja) * 2011-05-25 2015-06-10 株式会社Ihi 運動予測制御装置と方法
US9279661B2 (en) * 2011-07-08 2016-03-08 Canon Kabushiki Kaisha Information processing apparatus and information processing method
US20130041508A1 (en) 2011-08-12 2013-02-14 Georgia Tech Research Corporation Systems and methods for operating robots using visual servoing
JP5636119B2 (ja) * 2011-11-30 2014-12-03 パナソニック株式会社 ロボットの教示装置、ロボット装置、ロボットの教示装置の制御方法、ロボットの教示装置の制御プログラム
WO2014089316A1 (en) 2012-12-06 2014-06-12 International Electronic Machines Corporation Human augmentation of robotic work
DE102012112466B4 (de) 2012-12-18 2023-07-06 Dr. Ing. H.C. F. Porsche Aktiengesellschaft Vorrichtung zur Kompensation von Aufbaubewegungen
JP2014140941A (ja) * 2013-01-25 2014-08-07 Seiko Epson Corp ロボット制御システム、ロボット、ロボット制御方法及びプログラム
CN104827469B (zh) * 2013-10-10 2016-10-19 精工爱普生株式会社 机器人控制装置、机器人系统、机器人以及机器人控制方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020129743A1 (de) 2020-11-11 2022-05-12 Carl Zeiss Ag Vorrichtung und verfahren zur vermessung, inspektion oder bearbeitung von objekten

Also Published As

Publication number Publication date
US10252424B2 (en) 2019-04-09
US9889566B2 (en) 2018-02-13
JP2018514403A (ja) 2018-06-07
US20180154525A1 (en) 2018-06-07
CN107921626A (zh) 2018-04-17
WO2016179029A1 (en) 2016-11-10
CN107921626B (zh) 2023-02-03
US20160318187A1 (en) 2016-11-03

Similar Documents

Publication Publication Date Title
DE112016002013T5 (de) Systeme und Verfahren zur Steuerung einer Robotermanipulation
EP3165978B1 (de) Verfahren zur erstinbetriebnahme einer anlage
EP2905111B1 (de) Verfahren zum Programmieren eines Industrieroboters und zugehöriger Industrieroboter
DE102019001948B4 (de) Steuerung und maschinelle Lernvorrichtung
DE102017001298B4 (de) Robotersimulationsvorrichtung, die einen überstrichenen Raum berechnet
WO2016087590A1 (de) Verfahren zur bewegungssimulation eines manipulators
EP1950010B1 (de) Roboter und Verfahren zum Programmieren eines Roboters
DE102015004483B4 (de) Robotersteuerung und Robotersystem zum Bewegen eines Roboters als Reaktion auf eine Kraft
DE102015103451B4 (de) Verfahren zum zeitdiskreten Kontrollieren antreibbarer Achsen und Computerprogrammprodukt
DE102007050232A1 (de) Handhabungsroboter und Verfahren zur Steuerung eines Handhabungsroboters
EP1366867A2 (de) Verfahren und Vorrichtung zum Vermeiden von Kollisionen zwischen Industrierobotern und anderen Objekten
DE102006055359A1 (de) Roboter und Verfahren zur Vermeidung einer Interferenz bei vielen Robotern
DE102018102995A1 (de) Redundanter unterbetätigter roboter mit multimodus-steuerungsrahmen
EP2492062B1 (de) Industrieroboter
DE102019205651B3 (de) Verfahren und System zum Ausführen von Roboterapplikationen
DE102015223258A1 (de) Verfahren zum Bearbeiten der Oberfläche eines dreidimensionalen Objekts
DE102007059480A1 (de) Verfahren und Vorrichtung zur Posenüberwachung eines Manipulators
EP2324966A1 (de) Verfahren und Vorrichtung zur Planung und/oder Steuerung einer Roboterapplikation
DE102013016019B3 (de) Verfahren zum Betreiben eines mehrgliedrigen Manipulators
EP3037219B1 (de) Sicherer roboter mit bahnfortschrittsvariablen
WO2017016641A2 (de) Verfahren und system zum steuern eines roboters
DE102010008240B4 (de) Verfahren zum Betrieb eines mehrachsigen, vorzugsweise sechsachsigen, Roboters
DE102006036490A1 (de) Verfahren und Vorrichtung zum Steuern eines Handhabungsgeräts
WO2017080649A2 (de) Sensitive roboter durch sensorik vor der ersten roboterachse
WO2019201873A1 (de) Verfahren zur erkennung einer intention eines partners gegenüber einer mehrgliedrigen aktuierten kinematik

Legal Events

Date Code Title Description
R012 Request for examination validly filed