[go: up one dir, main page]

DE102019135810B3 - Erzeugung eines Steuerprogramms für einen Robotermanipulator - Google Patents

Erzeugung eines Steuerprogramms für einen Robotermanipulator Download PDF

Info

Publication number
DE102019135810B3
DE102019135810B3 DE102019135810.8A DE102019135810A DE102019135810B3 DE 102019135810 B3 DE102019135810 B3 DE 102019135810B3 DE 102019135810 A DE102019135810 A DE 102019135810A DE 102019135810 B3 DE102019135810 B3 DE 102019135810B3
Authority
DE
Germany
Prior art keywords
robot
robot manipulator
manipulator
commands
time series
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102019135810.8A
Other languages
English (en)
Inventor
Andreas Spenninger
Jose Ramon Medina Hernandez
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.)
Fr Administration De GmbH
Original Assignee
Franka Emika GmbH
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 Franka Emika GmbH filed Critical Franka Emika GmbH
Priority to DE102019135810.8A priority Critical patent/DE102019135810B3/de
Application granted granted Critical
Publication of DE102019135810B3 publication Critical patent/DE102019135810B3/de
Priority to CN202080083951.3A priority patent/CN114746223B/zh
Priority to EP20839027.8A priority patent/EP4081373A1/de
Priority to KR1020227025275A priority patent/KR102754191B1/ko
Priority to US17/784,916 priority patent/US12280507B2/en
Priority to PCT/EP2020/087557 priority patent/WO2021130193A1/de
Priority to JP2022539640A priority patent/JP2023508490A/ja
Priority to JP2024096306A priority patent/JP2024119974A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • 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/085Force or torque sensors
    • 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/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36231Translate, convert machine independent to machine dependent program
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40599Force, torque sensor integrated in joint
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40607Fixed camera to observe workspace, object, workpiece, global

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum Erzeugen eines Steuerprogramms, aufweisend die Schritte:- Ausführen (S1) einer Anwendung durch den ersten Robotermanipulator (1),- Ermitteln (S2) von Trajektoriendaten und/oder von Kraftwinderdaten dabei,- Ermitteln (S3) von Roboterkommandos aus den abgespeicherten Zeitreihen, wobei die Roboterkommandos prinzipielle Elemente eines Steuerprogramms für einen jeweiligen Robotermanipulator ohne Bezug zu den konstruktiven Gegebenheiten des ersten Robotermanipulators (1) sind, und- Erzeugen (S4) des Steuerprogramms für den zweiten Robotermanipulator (2) auf Basis der abgespeicherten Roboterkommandos und auf Basis von konstruktiven Gegebenheiten des zweiten Robotermanipulators (2).

Description

  • Die Erfindung betrifft ein Verfahren zum Erzeugen eines Steuerprogramms für einen zweiten Robotermanipulator auf Basis von empirischen Daten einer Ausführung einer vorgegebenen Anwendung durch einen ersten Robotermanipulator sowie ein Robotersystem mit einer ersten Steuereinheit und einer zweiten Steuereinheit zum Ausführen des Verfahrens.
  • Im Stand der Technik sind diverse Techniken zur Ansteuerung von Robotermanipulatoren bekannt.
  • So betrifft die DE 20 2019 101 831 U1 ein System zum Erzeugen und Ausführen von modularen Steuerprogrammen für Robotermanipulatoren, aufweisend eine Verteilereinrichtung und eine Vielzahl von jeweils mit der Verteilereinrichtung in einem Netzwerk verbundenen Steuereinheiten von Robotermanipulatoren, wobei eine erste der Steuereinheiten dazu ausgeführt ist, ein der ersten der Steuereinheiten zur Verfügung stehendes erstes Steuerprogramm an die Verteilereinrichtung zu übermitteln, und ein fusioniertes Steuerprogramm durch Verbinden einer Vielzahl von der ersten der Steuereinheiten zur Verfügung stehenden Steuerprogrammen an ihren Schnittstellen zu erzeugen und das fusionierte Steuerprogramm an die Verteilereinrichtung zu übermitteln, wobei die Verteilereinrichtung dazu ausgeführt ist, das erste Steuerprogramm und das fusionierte Steuerprogramm abzuspeichern und auf Anfrage einer zweiten der Steuereinheiten das erste Steuerprogramm und/oder das fusionierte Steuerprogramm an die zweite der Steuereinheiten zu übermitteln, und wobei die erste und die zweite der Steuereinheiten jeweils dazu ausgeführt sind, das erste Steuerprogramm und das fusionierte Steuerprogramm auszuführen und beim Ausführen des fusionierten Steuerprogramms die im fusionierten Steuerprogramm verbundenen Steuerprogramme sequentiell in einem Steuerablauf auszuführen und Daten zumindest unidirektional zwischen den verbundenen Steuerprogrammen auszutauschen.
  • Die DE 10 2018 214 417 B3 betrifft außerdem ein Verfahren zur Programmierung eines Roboters für die Durchführung einer Tätigkeit, wobei der Roboter mit einer programmierbaren Steuereinheit ausgestattet ist, wobei die Roboter-Programme mit einem einheitlichen Programm-Generator erstellt werden, wobei der Programm-Generator eine oder mehrere Sequenzen von Schlüsselwörtern in gültigen Programmcode für die programmierbare Steuereinheit umsetzt, derart, dass der Programm-Generator bei der Umsetzung der Schlüsselwörter der jeweiligen Sequenz einen Abruf von Informationen in einem Programmier-Regelwerk durchführt von dem er den für den jeweiligen Robotertyp passenden Programmcode in der vorgegebenen Syntax zurückerhält und wobei der Programm-Generator die empfangenen ProgrammCode-Abschnitte zu einem fertigen Programmcode zusammensetzt.
  • Die DE 20 2017 105 598 U1 betrifft ferner ein nichttransitorisches computerlesbares Speichermedium, auf dem Anweisungen gespeichert sind, wobei die Anweisungen, wenn sie durch einen oder mehrere Prozessoren ausgeführt werden, bewirken, dass der eine oder die mehreren Prozessoren Schritte durchführen, die umfassen: während der Durchführung von mehreren Episoden durch jeden von mehreren Robotern, wobei jede der Episoden eine Untersuchung der Durchführung einer Aufgabe auf der Basis eines neuronalen Richtliniennetzes ist, das eine Verstärkungslernrichtlinie für die Aufgabe darstellt: Speichern von Instanzen von Robotererfahrungsdaten in einem Puffer, die während der Episoden durch die Roboter erzeugt werden, wobei jede der Instanzen der Robotererfahrungsdaten während einer entsprechenden der Episoden erzeugt wird und zumindest teilweise an einer entsprechenden Ausgabe erzeugt wird, die unter Verwendung des neuronalen Richtliniennetzes mit entsprechenden Richtlinienparametern für das neuronalen Richtliniennetz für die entsprechende Episode erzeugt wird; iteratives Erzeugen von aktualisierten Richtlinienparametern des neuronalen Richtliniennetzes, wobei jede der Iterationen des iterativen Erzeugens das Erzeugen der aktualisierten Richtlinienparameter unter Verwendung einer Gruppe von einer oder mehreren Instanzen der Robotererfahrungsdaten im Puffer während der Iteration umfasst; und durch jeden der Roboter in Verbindung mit einem Start von jeder von mehreren Episoden, die durch den Roboter durchgeführt werden, Aktualisieren des neuronalen Richtliniennetzes, das durch den Roboter in der Episode verwendet werden soll, wobei das Aktualisieren des neuronalen Richtliniennetzes die Verwendung der aktualisierten Richtlinienparameter einer jüngsten Iteration des iterativen Erzeugens der aktualisierten Richtlinienparameter umfasst.
  • Die DE 21 2013 000 217 U1 betrifft ein System zur Fernpositionierung eines Endeffektors, das Folgendes umfasst: Eine Eingabevorrichtung; einen ersten Sensor in der Eingabevorrichtung, wobei der erste Sensor auf eine erste Achse ausgerichtet ist und dafür konfiguriert ist, ein erstes Signal zu generieren, das eine erste Winkelverschiebung des ersten Sensors um die erste Achse herum widerspiegelt; und einen Prozessor in Kommunikation mit dem ersten Sensor, so dass der Prozessor das erste Signal empfängt, wobei der Prozessor dafür konfiguriert ist, einen ersten Satz Logik auszuführen, der in einem Speicher gespeichert ist, der den Prozessor veranlasst, das erste Signal zu filtern, das erste Signal zu glätten und ein erstes Steuersignal an den Endeffektor zu generieren, das proportional zu der ersten Winkelverschiebung des ersten Sensors um die erste Achse herum ist.
  • Die DE 10 2010 029 745 A1 betrifft ein Werkstück-Handhabungssystem, aufweisend mindestens zwei zur Handhabung von Werkstücken kooperierende Manipulatoren, die mittels wenigstens einer frei programmierbaren Steuervorrichtung in drei oder mehr Achsen automatisch steuerbar und/oder programmierbar sind, wobei mindestens ein erster Manipulator in wenigstens einem seiner Freiheitsgrade zum manuell geführten Bewegen eingerichtet ist, und die Steuervorrichtung eingerichtet ist, mindestens einen zweiten Manipulator in Abhängigkeit des manuell geführten Manipulators automatisch zu steuern.
  • Die DE 20 2008 014 481 U1 betrifft schließlich ein tragbares Roboterkontrollgerät zum Kontrollieren einer Bewegung eines Roboters oder eines Roboterwerkzeugendes, wobei es eine Trägheitsvorrichtung umfasst mit zumindest einem Beschleunigungssensor und/oder zumindest einem Rotationssensor, wobei die Trägheitsvorrichtung ihre relative Bewegung misst und das Gerät ein die relative Bewegung darstellendes Signal zu einem Roboterkontroller aussendet, so dass es dem Roboterkontroller möglich ist, den Roboter derart zu kontrollieren, dass die relative Bewegung von dem Roboter oder von dem Roboterwerkzeugende in Echtzeit wiederholt wird.
  • Aufgabe der Erfindung ist es, das Erzeugen eines Steuerprogramms zum Ausführen einer Aufgabe durch einen Robotermanipulator zu vereinfachen.
  • Die Erfindung ergibt sich aus den Merkmalen der unabhängigen Ansprüche. Vorteilhafte Weiterbildungen und Ausgestaltungen sind Gegenstand der abhängigen Ansprüche.
  • Ein erster Aspekt der Erfindung betrifft ein Verfahren zum Erzeugen eines Steuerprogramms für einen zweiten Robotermanipulator auf Basis von empirischen Daten einer Ausführung einer vorgegebenen Anwendung durch einen ersten Robotermanipulator, aufweisend die Schritte:
    • - Ausführen der vorgegebenen Anwendung durch den ersten Robotermanipulator,
    • - während der Ausführung der vorgegebenen Anwendung: Ermitteln von Zeitreihen von Trajektoriendaten mittels Gelenkwinkelsensoren des ersten Robotermanipulators und/oder von Zeitreihen von Kraftwinderdaten durch eine Sensoreinheit des ersten Robotermanipulators zum Erfassen von Kräften und/oder Momenten, und Abspeichern der ermittelten Zeitreihen in einer Speichereinheit, wobei die Trajektoriendaten kinematische Daten bezüglich eines Referenzpunktes des ersten Robotermanipulators oder bezüglich der Gelenkwinkel des ersten Robotermanipulators umfassen und wobei die Kraftwinderdaten zwischen dem ersten Robotermanipulator und einem Objekt aus der Umgebung wirkende Kräfte und/oder Momente umfassen,
    • - Ermitteln von Roboterkommandos aus den abgespeicherten Zeitreihen und Abspeichern der ermittelten Roboterkommandos in der Speichereinheit, wobei die Roboterkommandos prinzipielle Elemente eines Steuerprogramms für einen jeweiligen Robotermanipulator ohne Bezug zu den konstruktiven Gegebenheiten des ersten Robotermanipulators sind, und
    • - Erzeugen des Steuerprogramms für den zweiten Robotermanipulator auf Basis der abgespeicherten Roboterkommandos und auf Basis von konstruktiven Gegebenheiten des zweiten Robotermanipulators.
  • Bevorzugt erfolgt weiterhin der Schritt:
    • - Ausführen des Steuerprogramms für den zweiten Robotermanipulator durch den zweiten Robotermanipulator, insbesondere durch die zweite Steuereinheit des zweiten Robotermanipulators.
  • Der erste Robotermanipulator und der zweiten Robotermanipulator sind nicht notwendigerweise ähnlich oder gleich aufgebaut, sondern können auch verschiedene technische Lösungen und Bauweisen aufweisen. Der erste Robotermanipulator ist insbesondere mit einer solchen (ersten) Steuereinheit verbunden, die zum Ausführen eines ersten Steuerprogramms ausgeführt ist, um die vorgegebene Anwendung auszuführen. Dieses erste Steuerprogramm ist insbesondere für den ersten Robotermanipulator optimiert, das heißt es berücksichtigt die technischen Gegebenheiten und konstruktiven Lösungen am ersten Robotermanipulator, sodass die Anwendung durch den ersten Robotermanipulator überhaupt ausgeführt werden kann wobei das erste Steuerprogramm insbesondere für die konstruktiven Gegebenheiten des ersten Robotermanipulators auch optimiert ist. Bevorzugt werden dabei sämtliche Schritte des Verfahrens gemäß dem ersten Aspekt der Erfindung durch die erste Steuereinheit ausgeführt. Alternativ bevorzugt wird das Erzeugen des Steuerprogramms für den zweiten Robotermanipulator von einer zweiten, von der ersten verschiedenen, Steuereinheit ausgeführt.
  • Im ersten Schritt des Verfahrens gemäß dem ersten Aspekt der Erfindung wird die vorgegebene Anwendung durch den ersten Robotermanipulator ausgeführt. Mögliche Anwendungen sind insbesondere das Bewegen eines Gegenstands von einem Ort zu einem anderen, das ledigliche Greifen des Gegenstands, das Auswählen eines Gegenstands aus einer Vielzahl von Gegenständen, das Greifen des ausgewählten Gegenstands, das Bearbeiten einer Oberfläche eines Werkstücks, oder andere für einen Robotermanipulator typische Aufgaben.
  • Während dieser Ausführung der vorgegebenen Anwendung durch den ersten Robotermanipulator wird insbesondere von der ersten Steuereinheit eine Zeitreihe von Trajektoriendaten ermittelt. Dies erfolgt auf Basis der Sensorwerte von Gelenkwinkelsensoren des ersten Robotermanipulators. Diese Gelenkwinkelsensoren sind insbesondere dazu ausgeführt, einen jeweiligen Winkel zwischen zwei durch ein gemeinsames Gelenk miteinander verbundenen Gliedern des ersten Robotermanipulators zu erfassen und auszugeben. Dies erfolgt insbesondere in diskreten Zeitschritten und in hohen Frequenzen wiederholt, sodass eine Zeitreihe von diskreten Gelenkwinkeldaten des ersten Robotermanipulators zur Verfügung steht. Durch die Gesamtheit aller Gelenkwinkel ist zu jedem Zeitpunkt daher eine Pose des ersten Robotermanipulators bekannt, woraus in kartesischen Koordinatensystemen, insbesondere gegenüber einem ersten festen Koordinatensystem, eine Bahnkurve eines Referenzpunktes des ersten Robotermanipulators ermittelt werden kann.
  • Bevorzugt ist der Referenzpunkt des ersten Robotermanipulators an einem distalen Ende, und insbesondere bevorzugt an einem Endeffektor, des ersten Robotermanipulators gedacht angeordnet. Der Begriff der Trajektorie beinhaltet außerdem eine Bahnkurve, das heißt die rein geometrische Information einer Bewegung, entweder rein bezüglich von Gelenkwinkel oder (auch) bezüglich einer kartesischen Bahn des Referenzpunktes des ersten Robotermanipulators. Optional enthält der Begriff der Trajektorie zusätzlich eine Zeitinformation, sodass jedem Ort der geometrischen Bahnkurve auch eine Zeit zugeordnet ist, und über die Information des geometrischen Verlaufs der Bahnkurve auch eine Geschwindigkeit und/oder eine Beschleunigung des Referenzpunktes während des Abfahrens dieser geometrischen Bahnkurve bekannt sind.
  • Zusätzlich oder alternativ zu den Gelenkwinkelinformationen werden während dieser Ausführung der vorgegebenen Anwendung durch den ersten Robotermanipulator auf den Gelenkwinkelinformationen basierende kartesische Informationen einer Bahnkurve bzw. einer Trajektorie sowie insbesondere eine oder mehrere Kräfte und/oder Momente erfasst, die zwischen dem ersten Robotermanipulator und einem Objekt aus der Umgebung des Robotermanipulators wirken. Letzteres erfolgt insbesondere durch die Sensoreinheit zum Erfassen von Kräften und/oder Momenten, bevorzugt Drehmomentsensoren in den Gelenken oder auch Dehnmessstreifen an der Roboterstruktur, sodass hierdurch eine Zeitreihe von kraft-bezogenen Wechselwirkungen zwischen dem ersten Robotermanipulator und der Umgebung aufgezeichnet werden.
  • Damit stehen kinematische und/oder Informationen bezüglich einer Kraft/Moment während der Ausführung der vorgegebenen Anwendung durch den ersten Robotermanipulator zur Verfügung. Diese Daten werden jeweils in Zeitreihen abgespeichert, sodass eine Historie über den Verlauf der Ausführung der Anwendung bekannt ist.
  • Aus diesen Informationen der Zeitreihen werden anschließend Roboterkommandos gebildet. Solche Roboterkommandos geben unabhängig von den konstruktiven Gegebenheiten des ersten Robotermanipulators funktionale Informationen wieder, wie die vorgegebene Anwendung generell ausgeführt wird, basierend darauf, wie sie speziell vom ersten Robotermanipulator ausgeführt wurde. Diese Roboterkommandos beinhalten damit nicht die Umrechnung über die für den ersten Robotermanipulator gültige Jacobimatrix bzw. deren (Pseudo-)inverse, das heißt, es wird nicht berücksichtigt, wie eine Bewegung eines Gegenstands von einem ersten Ort auf einen zweiten Ort konkret durch Ansteuerung der Aktuatoren im Verhältnis untereinander auszuführen ist. Die Roboterkommandos sind daher abstrahierte Funktionsbausteine eines Steuerprogramms, die prinzipiell und unabhängig von der Architektur des aktuell verwendeten Robotermanipulators ausgeführt werden sollen. Sie entsprechen daher grundsätzlich den Kommandos einer äußersten Schleife einer Regelung des jeweiligen Robotermanipulators bei der Ausführung des Steuerprogramms.
  • Auf Basis dieser abstrahierten Informationen wird anschließend ein konkretes Steuerprogramm für den zweiten Robotermanipulator erzeugt, wobei das vollständige Steuerprogramm für den zweiten Robotermanipulator die konstruktiven Gegebenheiten des zweiten Robotermanipulators berücksichtigt, insbesondere wie viele Gelenke der zweite Robotermanipulator aufweist, ob es ein redundanter oder ein eindeutiger zweiter Robotermanipulator ist, welche Art von Greifer oder generell Art von Endeffektor aktuell am zweiten Robotermanipulator angeordnet ist, etc..
  • Es ist daher eine vorteilhafte Wirkung der Erfindung, dass für den zweiten Robotermanipulator auf Basis der empirisch erfassten Daten während der Ausführung der Anwendung durch den ersten Robotermanipulator ein Steuerprogramm bereitgestellt wird, welches die funktional wesentlichen Informationen in Form von Roboterkommandos bereits beinhaltet, und sodass weitere Sensoren für den zweiten Robotermanipulator und für die durch ihn und sein Steuerprogramm auszuführende Anwendung nicht benötigt werden, insbesondere um Objekte in der Umgebung des zweiten Robotermanipulators zu erfassen, und, allgemein ausgedrückt, das Steuerprogramm für den zweiten Robotermanipulator an die aktuelle Situation anzupassen. Die Ausführung der Anwendung erfolgt vielmehr auf Basis der bereitgestellten Roboterkommandos, die die empirisch ermittelten Informationen der Ausführung der Anwendung durch den ersten Robotermanipulator enthalten. Vorteilhaft wird daher das Erzeugen des Steuerprogramms für den zweiten Robotermanipulator deutlich beschleunigt und vereinfacht, da dieser auf Informationen von bereits erfolgten Ausführungen der Anwendungen zurückgreifen kann, unabhängig davon, ob der erste Robotermanipulator baugleich mit dem zweiten Robotermanipulator ist, oder ob sich diese beiden konstruktiv oder in ihrer Konfiguration oder in ihrer Software unterscheiden.
  • Gemäß einer vorteilhaften Ausführungsform umfassen die Roboterkommandos zumindest eine aus den folgenden Kategorien:
    • - eine vorgegebene Bahnkurve eines Referenzpunktes des jeweiligen Robotermanipulators von einem vorgegebenen Startpunkt zu einem vorgegebenen Endpunkt der Bahnkurve,
    • - eine Geschwindigkeit des Referenzpunktes auf der Bahnkurve,
    • - eine Beschleunigung des Referenzpunktes auf der Bahnkurve,
    • - eine Kraft und/oder ein Moment, die der Referenzpunkt des jeweiligen Robotermanipulators auf ein Objekt aus der Umgebung des jeweiligen Robotermanipulators ausübt,
    • - Soll- Drehmomente für rotatorische Aktuatoren des jeweiligen Robotermanipulators.
  • Gemäß einer weiteren vorteilhaften Ausführungsform werden zumindest zwei aufeinander folgende Roboterkommandos aus unterschiedlichen Kategorien ermittelt, wobei ein überschleifender Übergang zwischen den zwei aufeinander folgenden kategorisch unterschiedlichen Roboterkommandos ermittelt werden. Der überschleifende Übergang bewirkt insbesondere, dass die ausgewählten Roboterkommandos zueinander in einem weichen Übergang überführt werden. Dies entspricht dem intuitiven menschlichen Verhalten, bei dem beispielsweise der Sehsinn und der Tastsinn miteinander zum haptisch und optisch koordinierten Handeln kombiniert werden. Beispielsweise wird ein Übergang von einer Impedanzregelung und dem sogenannten „visual servoing“ (optisch geführte Bahn) durch einen weichen Funktionsverlauf ohne Sprünge als Gewichtungsfunktion erzeugt.
  • Gemäß einer weiteren vorteilhaften Ausführungsform erfolgt der überschleifende Übergang durch einen stetigen und über die Zeit des Übergangs zeitabhängigen vorgegebenen Funktionsverlauf. Ein solcher stetiger Funktionsverlauf ist insbesondere ohne Sprünge und Knicke, und weist insbesondere einen streng monoton fallenden oder steigenden Verlauf über die Zeitdauer des Übergangs auf. Vorteilhaft liefert ein solcher Funktionsverlauf einen besonders weichen Übergang zwischen den Anwendungen der Roboterkommandos.
  • Gemäß einer weiteren vorteilhaften Ausführungsform erfolgt das Ermitteln der Roboterkommandos aus den abgespeicherten Zeitreihen durch nichtlineare Optimierung. Bei der nichtlinearen Optimierung wird insbesondere eine Kostenfunktion verwendet, die die Differenz zwischen der durch die ausgewählten Kommandos hypothetisch erfolgten Zeitreihen und den tatsächlich erfolgten Zeitreihen wiedergibt. Eine solche Kostenfunktion wird dann durch Methoden der nichtlinearen Optimierung, insbesondere gradientenbasierte Methoden, Evolutionsmethoden, genetische Algorithmen, Methoden quadratischer Optimierung etc., minimiert, sodass insbesondere diejenigen Roboterkommandos ausgewählt werden, die rückwärtsgerechnet zu Zeitreihen führen, die auch den tatsächlichen Zeitreihen entsprechen. So werden die am besten passenden Roboterkommandos ausgewählt.
  • Gemäß einer weiteren vorteilhaften Ausführungsform erfolgt das Ermitteln der Roboterkommandos aus den abgespeicherten Zeitreihen durch Anwenden eines vorgegebenen künstlichen neuronalen Netzes, wobei eine Eingangsgröße des künstlichen neuronalen Netzes die abgespeicherten Zeitreihen, und eine Ausgangsgröße des künstlichen neuronalen Netzes ein jeweils ausgewähltes aus einer Vielzahl von zumindest strukturell vorgegebenen Roboterkommandos ist, wobei Parameter des jeweils ausgewählten der vorgegebenen Roboterkommandos auf Basis der abgespeicherten Zeitreihen angepasst werden. Der Vorteil eines künstlichen neuronalen Netzes ist die große Flexibilität und die breite Klasse von Funktionen, die durch das künstliche neuronale Netz abgebildet werden können.
  • Gemäß einer weiteren vorteilhaften Ausführungsform erfolgt das Ermitteln von Zeitreihen von Trajektoriendaten zusätzlich durch eine Kameraeinheit. Die Kameraeinheit ist bevorzugt am Robotermanipulator selbst angeordnet. Weiterhin bevorzugt ist die Kameraeinheit eine Stereokameraeinheit, sodass vorteilhaft räumliche Informationen über die Bahnkurve und/oder die Trajektorie des Referenzpunktes des Robotermanipulators von der Kameraeinheit erfasst werden. Bevorzugt werden die Informationen der Kameraeinheit mit den Informationen aus den Gelenkwinkelsensoren fusioniert bzw. zu diesen ergänzt.
  • Gemäß einer weiteren vorteilhaften Ausführungsform ist die Kameraeinheit eine externe Kameraeinheit. Die externe Kameraeinheit ist bevorzugt physisch getrennt vom ersten Robotermanipulator an einem Gestell oder an einem anderen Träger in der Umgebung des ersten Robotermanipulators angeordnet. Vorteilhaft stehen damit auch Informationen von nicht robotereigenen Sensoren zur Verfügung, die sich optimal mit den robotereigenen Sensoren zu insgesamt zuverlässigeren Datenquellen ergänzen lassen.
  • Gemäß einer weiteren vorteilhaften Ausführungsform die konstruktiven Gegebenheiten des ersten Robotermanipulators und/oder des zweiten Robotermanipulators zumindest eine aus den folgenden umfassen:
    • - Abstände zwischen Gelenken des jeweiligen Robotermanipulators,
    • - Anzahl der Gelenke des jeweiligen Robotermanipulators,
    • - maximal aufbringbares Drehmoment von rotatorischen Aktuatoren des jeweiligen Robotermanipulators,
    • - Art und Konfiguration eines Endeffektors des jeweiligen Robotermanipulators,
    • - virtuelle Steifigkeit einer Regelung des jeweiligen Robotermanipulators, insbesondere die Steifigkeit einer virtuellen Feder in der Regelung, insbesondere Impedanzregelung,
    • - materielle Steifigkeit von Gliedern und/oder Gelenken des jeweiligen Robotermanipulators,
    • - ein geometrisch maximal möglicher Arbeitsraum des jeweiligen Robotermanipulators,
    • - Zeitkonstanten und/oder Bandbreiten von Aktuatoren des jeweiligen Robotermanipulators,
    • - Sicherheitsniveau und/oder aktuelle Sicherheitskonfiguration und/oder Residualrisiko des jeweiligen Robotermanipulators,
    • - physische Existenz und/oder Konfiguration von Kommunikationsschnittstellen des jeweiligen Robotermanipulators,
    • - Zahl der Roboterarme des jeweiligen Robotermanipulators,
    • - Masse und/oder Trägheit von Komponenten, insbesondere Gliedern, des jeweiligen Robotermanipulators.
  • Ein weiterer Aspekt der Erfindung betrifft ein Robotersystem mit einer ersten Steuereinheit und einer zweiten Steuereinheit, die zusammen zum Erzeugen eines Steuerprogramms für einen zweiten Robotermanipulator des Robotersystems auf Basis von empirischen Daten einer Ausführung einer vorgegebenen Anwendung durch einen ersten Robotermanipulator des Robotersystems dienen, wobei die erste Steuereinheit zum Ansteuern des ersten Robotermanipulators zum Ausführen der vorgegebenen Anwendung ausgeführt ist, und dazu ausgeführt ist, während der Ausführung der vorgegebenen Anwendung Zeitreihen von Trajektoriendaten mittels Gelenkwinkelsensoren des ersten Robotermanipulators und/oder Zeitreihen von Kraftwinderdaten mittels einer Sensoreinheit des ersten Robotermanipulators zu ermitteln, und die ermittelten Zeitreihen in einer Speichereinheit abzuspeichern, wobei die Trajektoriendaten kinematische Daten bezüglich eines Referenzpunktes des ersten Robotermanipulators und/oder bezüglich der Gelenkwinkel des ersten Robotermanipulators umfassen und die Kraftwinderdaten zwischen dem ersten Robotermanipulator und einem Objekt aus der Umgebung wirkende Kräfte und/oder Momente umfassen, und wobei die erste Steuereinheit zum Ermitteln von Roboterkommandos aus den abgespeicherten Zeitreihen und Abspeichern der ermittelten Roboterkommandos in der Speichereinheit ausgeführt ist, wobei die Roboterkommandos prinzipielle Elemente eines Steuerprogramms für einen jeweiligen Robotermanipulator ohne Bezug zu den konstruktiven Gegebenheiten des ersten Robotermanipulators sind, und wobei die zweite Steuereinheit zum Erzeugen des Steuerprogramms für den zweiten Robotermanipulator auf Basis der abgespeicherten Roboterkommandos und auf Basis von konstruktiven Gegebenheiten des zweiten Robotermanipulators ausgeführt ist.
  • Vorteile und bevorzugte Weiterbildungen des vorgeschlagenen Robotersystems ergeben sich durch eine analoge und sinngemäße Übertragung der im Zusammenhang mit dem vorgeschlagenen Verfahren vorstehend gemachten Ausführungen.
  • Weitere Vorteile, Merkmale und Einzelheiten ergeben sich aus der nachfolgenden Beschreibung, in der - gegebenenfalls unter Bezug auf die Zeichnung - zumindest ein Ausführungsbeispiel im Einzelnen beschrieben ist. Gleiche, ähnliche und/oder funktionsgleiche Teile sind mit gleichen Bezugszeichen versehen.
  • Es zeigen:
    • 1 ein Verfahren zum Erzeugen eines Steuerprogramms für einen zweiten Robotermanipulator auf Basis von empirischen Daten einer Ausführung einer vorgegebenen Anwendung durch einen ersten Robotermanipulator gemäß einem Ausführungsbeispiel der Erfindung, und
    • 2 ein Robotersystem zum Ausführen des Verfahrens nach 1.
  • Die Darstellungen in den Figuren sind schematisch und nicht maßstäblich.
  • 1 zeigt ein Verfahren zum Erzeugen eines Steuerprogramms für einen zweiten Robotermanipulator 2 auf Basis von empirischen Daten einer Ausführung einer vorgegebenen Anwendung durch einen ersten Robotermanipulator 1. Die folgende Beschreibung des Verfahrens bezieht sich auch auf das Robotersystem 10 der 2. Zum Verständnis können daher beide Figuren herangezogen werden, insbesondere beziehen sich auch die folgenden erwähnten Bezugszeichen sowohl auf die 1 als auch wahlweise auf die 2. In einem ersten Schritt erfolgt das Ausführen S1 der vorgegebenen Anwendung durch den ersten Robotermanipulator 1. Die Anwendung betrifft das Herausheben eines spitzen Gegenstandes aus einer zylinderförmigen Kiste. Dafür ist ein Steuerprogramm für den ersten Robotermanipulator 1 vorgegeben, das auf die konstruktiven Gegebenheiten des ersten Robotermanipulators 1 angepasst ist, insbesondere an die Zahl der Gelenke, die Geometrie der Glieder und die Konfiguration mit seinem Greifer. Während der Ausführung der Anwendung erfolgt im weiteren Schritt das Ermitteln S2 von Zeitreihen von Trajektoriendaten mittels Gelenkwinkelsensoren 3 des ersten Robotermanipulators 1 und von Zeitreihen von Kraftwinderdaten durch eine Sensoreinheit 5 des ersten Robotermanipulators 1, wobei die Gelenkwinkelsensoren 3 zusammen mit den Drehmomentsensoren der Sensoreinheit 5 zum Erfassen von Kräften und Momenten in einem jeweiligen Gelenk des ersten Robotermanipulators 1 untergebracht sind. Diese ermittelten Zeitreihen werden in einer Speichereinheit 7 abgespeichert. Die Trajektoriendaten weißen dabei Daten über eine Bahnkurve bezüglich eines Referenzpunktes des ersten Robotermanipulators 1 des ersten Robotermanipulators 1 auf, indem die Gelenkwinkel mittels Transformation in einen kartesischen Positionsverlauf des Referenzpunktes am Endeffektor des ersten Robotermanipulators 1 transformiert werden. Die Kraftwinderdaten dagegen umfassen die zwischen dem ersten Robotermanipulator 1 und dem spitzen Gegenstand wirkenden Kräfte und Momente. Ferner folgt das Ermitteln S3 von Roboterkommandos aus den abgespeicherten Zeitreihen und das Abspeichern der ermittelten Roboterkommandos in der Speichereinheit 7, wobei die Roboterkommandos prinzipielle Elemente eines Steuerprogramms für einen jeweiligen Robotermanipulator ohne Bezug zu den konstruktiven Gegebenheiten des ersten Robotermanipulators 1 sind. Die zusammengesetzten Roboterkommandos umfassen die vorgegebene Bahnkurve des Referenzpunktes des ersten Robotermanipulators 1 von der Kiste zu einem vorgegebenen Endpunkt, dabei eine Beschleunigung des Referenzpunktes auf der Bahnkurve, sowie eine Kraft und ein Moment, die der Endeffektor am Referenzpunkt auf den spitzen Gegenstand ausübt. Diese Roboterkommandos ergeben in ihrer Zusammensetzung einen funktionellen Ablauf der Anwendung, der unabhängig von den oben genannten konstruktiven Gegebenheiten des ersten Robotermanipulators 1 ist. Die Roboterkommandos werden durch die Anwendung eines künstlichen neuronalen Netzes ermittelt, indem sämtliche Zeitreihen dem künstlichen neuronalen Netz als Eingangsgröße zugeführt werden und als Ausgang die Kombination der Roboterkommandos durch Ausführung des künstlichen neuronalen Netzes folgen. Hierauf erfolgt das Erzeugen S4 des Steuerprogramms für den zweiten Robotermanipulator 2 auf Basis der abgespeicherten Roboterkommandos und auf Basis von konstruktiven Gegebenheiten des zweiten Robotermanipulators 2. Weitere Erläuterungen zu diesen findet sich in der Beschreibung der 2.
  • 2 zeigt ein Robotersystem 10 mit einer ersten Steuereinheit 11 und einer zweiten Steuereinheit 12, zum Erzeugen eines Steuerprogramms für einen zweiten Robotermanipulator 2 des Robotersystems 10 auf Basis von empirischen Daten einer Ausführung einer vorgegebenen Anwendung durch einen ersten Robotermanipulator 1 des Robotersystems 10. Der Robotermanipulator 1 ist dabei ein konventioneller Ein-Arm Robotermanipulator ohne redundante Freiheitsgrade. Dagegen ist der zweite Robotermanipulator 2 ein Zweiarmsystem mit zwei Roboterarmen. Die konstruktiven Gegebenheiten der beiden Robotermanipulatoren 1,2 weichen daher voneinander ab. Die erste Steuereinheit 11 ist am ersten Robotermanipulator 1 angeordnet und dient zum Ansteuern des ersten Robotermanipulators 1 zum Ausführen S1 der vorgegebenen Anwendung, sowie, um während der Ausführung der vorgegebenen Anwendung Zeitreihen von Trajektoriendaten mittels Gelenkwinkelsensoren 3 des ersten Robotermanipulators 1 und Zeitreihen von Kraftwinderdaten mittels einer Sensoreinheit 5 des ersten Robotermanipulators 1 zu ermitteln, und die ermittelten Zeitreihen in einer Speichereinheit 7 abzuspeichern. Ferner ermittelt die erste Steuereinheit 11 die Roboterkommandos aus den abgespeicherten Zeitreihen und speichert diese ermittelten Roboterkommandos in der Speichereinheit 7 ab, die Teil der ersten Steuereinheit 11 ist. Die zweite Steuereinheit 12 ist am zweiten Robotermanipulator 2 angeordnet und dient zum Erzeugen des Steuerprogramms für den zweiten Robotermanipulator 2 auf Basis der abgespeicherten Roboterkommandos und auf Basis von konstruktiven Gegebenheiten des zweiten Robotermanipulators 2.
  • Bezugszeichenliste
  • 1
    erster Robotermanipulator
    2
    zweiter Robotermanipulator
    3
    Gelenkwinkelsensoren
    5
    Sensoreinheit
    7
    Speichereinheit
    10
    Robotersystem
    11
    erste Steuereinheit
    12
    zweite Steuereinheit
    S1
    Ausführen
    S2
    Ermitteln
    S3
    Ermitteln
    S4
    Erzeugen

Claims (10)

  1. Verfahren zum Erzeugen eines Steuerprogramms für einen zweiten Robotermanipulator (2) auf Basis von empirischen Daten einer Ausführung einer vorgegebenen Anwendung durch einen ersten Robotermanipulator (1), aufweisend die Schritte: - Ausführen (S1) der vorgegebenen Anwendung durch den ersten Robotermanipulator (1), - während der Ausführung der vorgegebenen Anwendung: Ermitteln (S2) von Zeitreihen von Trajektoriendaten mittels Gelenkwinkelsensoren (3) des ersten Robotermanipulators (1) und/oder von Zeitreihen von Kraftwinderdaten durch eine Sensoreinheit (5) des ersten Robotermanipulators (1) zum Erfassen von Kräften und/oder Momenten, und Abspeichern der ermittelten Zeitreihen in einer Speichereinheit (7), wobei die Trajektoriendaten kinematische Daten bezüglich eines Referenzpunktes des ersten Robotermanipulators (1) oder bezüglich der Gelenkwinkel des ersten Robotermanipulators (1) umfassen und wobei die Kraftwinderdaten zwischen dem ersten Robotermanipulator (1) und einem Objekt aus der Umgebung wirkende Kräfte und/oder Momente umfassen, - Ermitteln (S3) von Roboterkommandos aus den abgespeicherten Zeitreihen und Abspeichern der ermittelten Roboterkommandos in der Speichereinheit (7), wobei die Roboterkommandos prinzipielle Elemente eines Steuerprogramms für einen jeweiligen Robotermanipulator ohne Bezug zu den konstruktiven Gegebenheiten des ersten Robotermanipulators (1) sind, und - Erzeugen (S4) des Steuerprogramms für den zweiten Robotermanipulator (2) auf Basis der abgespeicherten Roboterkommandos und auf Basis von konstruktiven Gegebenheiten des zweiten Robotermanipulators (2).
  2. Verfahren nach Anspruch 1, wobei die Roboterkommandos zumindest eine aus den folgenden Kategorien umfassen: - eine vorgegebene Bahnkurve eines Referenzpunktes des jeweiligen Robotermanipulators von einem vorgegebenen Startpunkt zu einem vorgegebenen Endpunkt der Bahnkurve, - eine Geschwindigkeit des Referenzpunktes auf der Bahnkurve, - eine Beschleunigung des Referenzpunktes auf der Bahnkurve, - eine Kraft und/oder ein Moment, die der Referenzpunkt des jeweiligen Robotermanipulators auf ein Objekt aus der Umgebung des jeweiligen Robotermanipulators ausübt, - Soll- Drehmomente für rotatorische Aktuatoren des jeweiligen Robotermanipulators.
  3. Verfahren nach Anspruch 2, wobei zumindest zwei aufeinander folgende Roboterkommandos aus unterschiedlichen Kategorien ermittelt werden, wobei ein überschleifender Übergang zwischen den zwei aufeinander folgenden kategorisch unterschiedlichen Roboterkommandos ermittelt werden.
  4. Verfahren nach Anspruch 3, wobei der überschleifende Übergang durch einen stetigen und über die Zeit des Übergangs zeitabhängigen vorgegebenen Funktionsverlauf erfolgt.
  5. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Ermitteln der Roboterkommandos aus den abgespeicherten Zeitreihen durch nichtlineare Optimierung erfolgt.
  6. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Ermitteln der Roboterkommandos aus den abgespeicherten Zeitreihen durch Anwenden eines vorgegebenen künstlichen neuronalen Netzes erfolgt, wobei eine Eingangsgröße des künstlichen neuronalen Netzes die abgespeicherten Zeitreihen, und eine Ausgangsgröße des künstlichen neuronalen Netzes ein jeweils ausgewähltes aus einer Vielzahl von strukturell vorgegebenen Roboterkommandos ist, wobei Parameter des jeweils ausgewählten der vorgegebenen Roboterkommandos auf Basis der abgespeicherten Zeitreihen angepasst werden.
  7. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Ermitteln von Zeitreihen von Trajektoriendaten zusätzlich durch eine Kameraeinheit (7) erfolgt.
  8. Verfahren nach Anspruch 7, wobei die Kameraeinheit (7) eine externe Kameraeinheit ist.
  9. Verfahren nach einem der vorhergehenden Ansprüche, wobei die konstruktiven Gegebenheiten des ersten Robotermanipulators (1) und/oder des zweiten Robotermanipulators (2) zumindest eine aus den folgenden umfassen: - Abstände zwischen Gelenken des jeweiligen Robotermanipulators, - Anzahl der Gelenke des jeweiligen Robotermanipulators, - maximal aufbringbares Drehmoment von rotatorischen Aktuatoren des jeweiligen Robotermanipulators, - Art und Konfiguration eines Endeffektors des jeweiligen Robotermanipulators, - virtuelle Steifigkeit einer Regelung des jeweiligen Robotermanipulators, - materielle Steifigkeit von Gliedern und/oder Gelenken des jeweiligen Robotermanipulators, - ein geometrisch maximal möglicher Arbeitsraum des jeweiligen Robotermanipulators, - Zeitkonstanten und/oder Bandbreiten von Aktuatoren des jeweiligen Robotermanipulators, - Sicherheitsniveau und/oder aktuelle Sicherheitskonfiguration und/oder Residualrisiko des jeweiligen Robotermanipulators, - physische Existenz und/oder Konfiguration von Kommunikationsschnittstellen des jeweiligen Robotermanipulators, - Zahl der Roboterarme des jeweiligen Robotermanipulators, - Masse und/oder Trägheit von Komponenten, insbesondere Gliedern, des jeweiligen Robotermanipulators.
  10. Robotersystem (10) mit einer ersten Steuereinheit (11) und einer zweiten Steuereinheit (12), zum Erzeugen eines Steuerprogramms für einen zweiten Robotermanipulator (2) des Robotersystems (10) auf Basis von empirischen Daten einer Ausführung einer vorgegebenen Anwendung durch einen ersten Robotermanipulator (1) des Robotersystems (10), wobei die erste Steuereinheit (12) zum Ansteuern des ersten Robotermanipulators (1) zum Ausführen (S1) der vorgegebenen Anwendung ausgeführt ist, und dazu ausgeführt ist, während der Ausführung der vorgegebenen Anwendung Zeitreihen von Trajektoriendaten mittels Gelenkwinkelsensoren (3) des ersten Robotermanipulators (1) und/oder Zeitreihen von Kraftwinderdaten mittels einer Sensoreinheit (5) des ersten Robotermanipulators (1) zu ermitteln, und die ermittelten Zeitreihen in einer Speichereinheit (7) abzuspeichern, wobei die Trajektoriendaten kinematische Daten bezüglich eines Referenzpunktes des ersten Robotermanipulators (1) oder bezüglich der Gelenkwinkel des ersten Robotermanipulators (1) umfassen und die Kraftwinderdaten zwischen dem ersten Robotermanipulator (1) und einem Objekt aus der Umgebung wirkende Kräfte und/oder Momente umfassen, und wobei die erste Steuereinheit (11) zum Ermitteln von Roboterkommandos aus den abgespeicherten Zeitreihen und Abspeichern der ermittelten Roboterkommandos in der Speichereinheit (7) ausgeführt ist, wobei die Roboterkommandos prinzipielle Elemente eines Steuerprogramms für einen jeweiligen Robotermanipulator ohne Bezug zu den konstruktiven Gegebenheiten des ersten Robotermanipulators (1) sind, und wobei die zweite Steuereinheit (12) zum Erzeugen des Steuerprogramms für den zweiten Robotermanipulator (2) auf Basis der abgespeicherten Roboterkommandos und auf Basis von konstruktiven Gegebenheiten des zweiten Robotermanipulators (2) ausgeführt ist.
DE102019135810.8A 2019-12-27 2019-12-27 Erzeugung eines Steuerprogramms für einen Robotermanipulator Active DE102019135810B3 (de)

Priority Applications (8)

Application Number Priority Date Filing Date Title
DE102019135810.8A DE102019135810B3 (de) 2019-12-27 2019-12-27 Erzeugung eines Steuerprogramms für einen Robotermanipulator
JP2022539640A JP2023508490A (ja) 2019-12-27 2020-12-22 ロボットマニピュレータの制御プログラムの生成
KR1020227025275A KR102754191B1 (ko) 2019-12-27 2020-12-22 로봇 조작기를 위한 제어 프로그램 생성
EP20839027.8A EP4081373A1 (de) 2019-12-27 2020-12-22 Erzeugung eines steuerprogramms für einen robotermanipulator
CN202080083951.3A CN114746223B (zh) 2019-12-27 2020-12-22 生成用于机器人机械手的控制程序
US17/784,916 US12280507B2 (en) 2019-12-27 2020-12-22 Generating a control program for a robot manipulator
PCT/EP2020/087557 WO2021130193A1 (de) 2019-12-27 2020-12-22 Erzeugung eines steuerprogramms für einen robotermanipulator
JP2024096306A JP2024119974A (ja) 2019-12-27 2024-06-13 ロボットマニピュレータの制御プログラムの生成

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102019135810.8A DE102019135810B3 (de) 2019-12-27 2019-12-27 Erzeugung eines Steuerprogramms für einen Robotermanipulator

Publications (1)

Publication Number Publication Date
DE102019135810B3 true DE102019135810B3 (de) 2020-10-29

Family

ID=72840129

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019135810.8A Active DE102019135810B3 (de) 2019-12-27 2019-12-27 Erzeugung eines Steuerprogramms für einen Robotermanipulator

Country Status (7)

Country Link
US (1) US12280507B2 (de)
EP (1) EP4081373A1 (de)
JP (2) JP2023508490A (de)
KR (1) KR102754191B1 (de)
CN (1) CN114746223B (de)
DE (1) DE102019135810B3 (de)
WO (1) WO2021130193A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12214502B2 (en) * 2021-09-10 2025-02-04 Honda Motor Co., Ltd. Object manipulation
JP7652127B2 (ja) * 2022-04-13 2025-03-27 トヨタ自動車株式会社 情報処理装置、情報処理方法、プログラム、及び学習済みモデル

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE202008014481U1 (de) * 2007-10-31 2009-01-15 Abb As Tragbares Roboterkontrollgerät zum Kontrollieren einer Bewegung eines Roboters
DE102010029745A1 (de) * 2010-06-07 2011-12-08 Kuka Laboratories Gmbh Werkstück-Handhabungssystem und Verfahren zum Manipulieren von Werkstücken mittels kooperierender Manipulatoren
DE212013000217U1 (de) * 2012-10-23 2015-10-23 Lincoln Global, Inc. System zur Fernpositionierung eines Endeffektors
DE202017105598U1 (de) * 2016-09-15 2018-05-24 Google LLC (n.d.Ges.d. Staates Delaware) System zum tiefen Verstärkungslernen für Robotermanipulation
DE202019101831U1 (de) * 2019-04-01 2019-05-13 Franka Emika Gmbh System zum Entwickeln von Steuerprogrammen für Robotermanipulatoren
DE102018214417B3 (de) * 2018-08-27 2019-07-25 Volkswagen Aktiengesellschaft Verfahren zur Programmierung eines Roboters sowie Recheneinrichtung und Computerprogramm

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9390203B2 (en) * 2004-06-15 2016-07-12 Abb Ab Method and system for off-line programming of multiple interacting robots
DE102009054230A1 (de) * 2009-11-23 2011-05-26 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Steuern von Manipulatoren
KR20120005082A (ko) 2010-07-08 2012-01-16 대우조선해양 주식회사 로봇 연속모션 블랜딩 방법 및 그 방법을 구현하기 위한 로봇 제어 시스템
JP5743495B2 (ja) * 2010-11-05 2015-07-01 キヤノン株式会社 ロボット制御装置
CN102662350B (zh) * 2012-05-31 2013-11-27 东南大学 主从式多机器人协作系统的轨迹示教与规划方法
US9186795B1 (en) * 2013-06-24 2015-11-17 Redwood Robotics, Inc. Programming and execution of force-based tasks with torque-controlled robot arms
US9694495B1 (en) * 2013-06-24 2017-07-04 Redwood Robotics Inc. Virtual tools for programming a robot arm
US9597797B2 (en) * 2013-11-01 2017-03-21 Brain Corporation Apparatus and methods for haptic training of robots
DE102014202145A1 (de) * 2014-02-06 2015-08-06 Kuka Roboter Gmbh Verfahren zum Programmieren eines Industrieroboters und zugehörigerIndustrieroboter
RU2743044C1 (ru) 2014-02-20 2021-02-12 Марк ОЛЕЙНИК Роботизированная кухонная система
CN104552300B (zh) 2014-12-26 2016-02-03 佛山市新鹏机器人技术有限公司 一种基于示教机器人的离线编程示教装置及方法
JP6576255B2 (ja) * 2016-01-25 2019-09-18 キヤノン株式会社 ロボット軌道生成方法、ロボット軌道生成装置、および製造方法
CN106775807A (zh) 2016-11-17 2017-05-31 北京光年无限科技有限公司 实现应用信息移植的智能机器人系统及信息移植方法
EP3578322A4 (de) 2017-01-31 2020-08-26 Kabushiki Kaisha Yaskawa Denki Roboterpfaderzeugungsvorrichtung und robotersystem
WO2018153474A1 (en) * 2017-02-24 2018-08-30 Abb Schweiz Ag Robot system, method for programming a robot manipulator and control system
CN106938470B (zh) 2017-03-22 2017-10-31 华中科技大学 一种机器人力控示教模仿学习的装置及方法
JP6965785B2 (ja) 2018-02-15 2021-11-10 オムロン株式会社 制御システム、スレーブ装置制御部、制御方法およびプログラム
JP2019188561A (ja) * 2018-04-27 2019-10-31 株式会社東芝 物品把持装置及び物品把持装置の制御装置
CN108705536A (zh) * 2018-06-05 2018-10-26 雅客智慧(北京)科技有限公司 一种基于视觉导航的牙科机器人路径规划系统及方法
JP7199178B2 (ja) * 2018-08-28 2023-01-05 株式会社東芝 ロボット制御装置、ロボット装置、ロボット制御のパラメータ調整方法、およびプログラム
DE202019102430U1 (de) * 2019-04-30 2019-06-05 Franka Emika Gmbh Ermittlung eines externen Kraftwinders durch Drehmomentsensoren eines Robotermanipulators
US12122053B2 (en) * 2019-10-10 2024-10-22 Nvidia Corporation Generating computer simulations of manipulations of materials based on machine learning from measured statistics of observed manipulations

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE202008014481U1 (de) * 2007-10-31 2009-01-15 Abb As Tragbares Roboterkontrollgerät zum Kontrollieren einer Bewegung eines Roboters
DE102010029745A1 (de) * 2010-06-07 2011-12-08 Kuka Laboratories Gmbh Werkstück-Handhabungssystem und Verfahren zum Manipulieren von Werkstücken mittels kooperierender Manipulatoren
DE212013000217U1 (de) * 2012-10-23 2015-10-23 Lincoln Global, Inc. System zur Fernpositionierung eines Endeffektors
DE202017105598U1 (de) * 2016-09-15 2018-05-24 Google LLC (n.d.Ges.d. Staates Delaware) System zum tiefen Verstärkungslernen für Robotermanipulation
DE102018214417B3 (de) * 2018-08-27 2019-07-25 Volkswagen Aktiengesellschaft Verfahren zur Programmierung eines Roboters sowie Recheneinrichtung und Computerprogramm
DE202019101831U1 (de) * 2019-04-01 2019-05-13 Franka Emika Gmbh System zum Entwickeln von Steuerprogrammen für Robotermanipulatoren

Also Published As

Publication number Publication date
CN114746223A (zh) 2022-07-12
CN114746223B (zh) 2025-08-29
JP2024119974A (ja) 2024-09-03
WO2021130193A1 (de) 2021-07-01
KR20220116289A (ko) 2022-08-22
JP2023508490A (ja) 2023-03-02
EP4081373A1 (de) 2022-11-02
US12280507B2 (en) 2025-04-22
KR102754191B1 (ko) 2025-01-10
US20230001580A1 (en) 2023-01-05

Similar Documents

Publication Publication Date Title
EP2546711B2 (de) Verfahren zum Programmieren eines Roboters
EP2905111B1 (de) Verfahren zum Programmieren eines Industrieroboters und zugehöriger Industrieroboter
EP2987592B1 (de) Verfahren zum programmieren eines industrieroboters und zugehöriger industrieroboter
EP1950010B1 (de) Roboter und Verfahren zum Programmieren eines Roboters
DE102020209511B3 (de) Verfahren und System zur Bestimmung von optimierten Programmparametern für ein Roboterprogramm
EP3966731B1 (de) Maschinelles lernen einer objekterkennung mithilfe einer robotergeführten kamera
DE102019205651B3 (de) Verfahren und System zum Ausführen von Roboterapplikationen
DE102013222456A1 (de) Verfahren zum Programmieren von Bewegungsabläufen eines redundanten Industrieroboters und zugehöriger Industrieroboter
DE102019134665B3 (de) Kalibrieren eines virtuellen Kraftsensors eines Robotermanipulators
EP3112094B1 (de) Verfahren zum steuern eines manipulatorsystems
DE102018112370B4 (de) Richtungsabhängige Kollisionsdetektion für einen Robotermanipulator
DE102019118637A1 (de) Automatische pfadgenerierungsvorrichtung
DE102009007026A1 (de) Steuerung und Steuerungsverfahren für einen Manipulator
DE102019135810B3 (de) Erzeugung eines Steuerprogramms für einen Robotermanipulator
DE102020212658A1 (de) Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE102015103451A1 (de) Verfahren zum zeitdiskreten Kontrollieren antreibbarer Achsen, Computerprogrammprodukt und Vorrichtung zur Durchführung eines derartigen Verfahrens
DE102020107612B3 (de) Adaptive Eingabevorrichtung
DE102021209761A1 (de) Verfahren zum Trainieren einer Steuerungsstrategie
DE102016212958A1 (de) Redundanzauflösung für einen redundanten Manipulator
DE102020200165A1 (de) Robotersteuereinrichtung und Verfahren zum Steuern eines Roboters
EP3328595A2 (de) Verfahren und system zum steuern eines roboters
DE102020209866B3 (de) Verfahren und System zum Betreiben eines Roboters
DE102019209616A1 (de) Durchführen einer vorgegebenen Aufgabe mithilfe wenigstens eines Roboters
DE112008003870T5 (de) Verfahren und System zum Steuern eines Industrieroboters in Übereinstimmung mit einem Bewegungssteuerungs-Parametersatz
EP3710900B1 (de) Verfahren und system zum vorgeben bzw. lernen eines roboterbefehls

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R083 Amendment of/additions to inventor(s)
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R082 Change of representative

Representative=s name: COHAUSZ & FLORACK PATENT- UND RECHTSANWAELTE P, DE

R081 Change of applicant/patentee

Owner name: FR ADMINISTRATION GMBH, DE

Free format text: FORMER OWNER: FRANKA EMIKA GMBH, 80797 MUENCHEN, DE