WO2021130193A1 - Erzeugung eines steuerprogramms für einen robotermanipulator - Google Patents

Erzeugung eines steuerprogramms für einen robotermanipulator Download PDF

Info

Publication number
WO2021130193A1
WO2021130193A1 PCT/EP2020/087557 EP2020087557W WO2021130193A1 WO 2021130193 A1 WO2021130193 A1 WO 2021130193A1 EP 2020087557 W EP2020087557 W EP 2020087557W WO 2021130193 A1 WO2021130193 A1 WO 2021130193A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot manipulator
robot
manipulator
commands
time series
Prior art date
Application number
PCT/EP2020/087557
Other languages
English (en)
French (fr)
Inventor
Andreas SPENNINGER
Jose Ramon Medina Hernandez
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 US17/784,916 priority Critical patent/US20230001580A1/en
Priority to CN202080083951.3A priority patent/CN114746223A/zh
Priority to JP2022539640A priority patent/JP2023508490A/ja
Priority to KR1020227025275A priority patent/KR20220116289A/ko
Priority to EP20839027.8A priority patent/EP4081373A1/de
Publication of WO2021130193A1 publication Critical patent/WO2021130193A1/de

Links

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

Definitions

  • the invention relates to a method for generating a control program for a second robot manipulator on the basis of empirical data from an execution of a given application by a first robot manipulator and a robot system with a first control unit and a second control unit for executing the method.
  • the object of the invention is to simplify the generation of a control program for carrying out a task by means of a robot manipulator.
  • a first aspect of the invention relates to a method for generating a control program for a second robot manipulator on the basis of empirical data from an execution of a given application by a first robot manipulator, comprising the steps:
  • trajectory data include kinematic data with respect to a reference point of the first robot manipulator or with respect to the joint angle of the first robot manipulator and wherein the force winder data include forces and / or moments acting between the first robot manipulator and an object from the environment
  • the step is preferably also carried out:
  • the first robot manipulator and the second robot manipulator are not necessarily constructed similarly or identically, but can also have different technical solutions and designs.
  • the first robot manipulator is in particular connected to such a (first) control unit which is designed to execute a first control program in order to execute the specified application.
  • This first control program is optimized in particular for the first robot manipulator, that is, it takes into account the technical conditions and structural solutions on the first robot manipulator, so that the application can even be carried out by the first robot manipulator, the first control program also being optimized in particular for the structural conditions of the first robot manipulator is. All the steps of the method according to the first aspect of the invention are preferably carried out by the first control unit. Alternatively, the generation of the control program for the second robot manipulator is preferably carried out by a second control unit different from the first.
  • the specified application is carried out by the first robot manipulator.
  • Possible applications are in particular moving an object from one location to another, merely gripping the object, selecting an object from a large number of objects, gripping the selected object, machining a surface of a workpiece, or others typical of a robot manipulator Tasks.
  • a time series of trajectory data is determined in particular by the first control unit. This is done on the basis of the sensor values from joint angle sensors of the first robot manipulator. These joint angle sensors are designed in particular to detect and output a respective angle between two members of the first robot manipulator that are connected to one another by a common joint. This takes place repeatedly, in particular, in discrete time steps and at high frequencies, so that a time series of discrete joint angle data from the first robot manipulator is available.
  • a pose of the first robot manipulator is known at any point in time, from which a trajectory of a reference point of the first robot manipulator can be determined in Cartesian coordinate systems, in particular with respect to a first fixed coordinate system.
  • the reference point of the first robot manipulator is preferably arranged at a distal end, and particularly preferably at an end effector, of the first robot manipulator.
  • the term trajectory also includes a trajectory, that is, the purely geometric information of a movement, either purely with regard to the joint angle or (also) with regard to a Cartesian path of the reference point of the first robot manipulator.
  • the term trajectory also contains time information, so that a time is also assigned to each location of the geometric trajectory, and the information on the geometric course of the trajectory also provides information about the speed and / or acceleration of the reference point while this geometric trajectory is being followed.
  • Cartesian information of a path curve or a trajectory based on the joint angle information and in particular one or more forces and / or moments that arise between the first robot manipulator and an object are recorded by the first robot manipulator the environment of the robot manipulator.
  • the latter is done in particular by the sensor unit for detecting forces and / or torques, preferably torque sensors in the joints or strain gauges on the robot structure, so that a time series of force-related interactions between the first robot manipulator and the environment are recorded.
  • the robot commands are therefore abstracted function blocks of a control program, which in principle should be executed independently of the architecture of the robot manipulator currently in use. They therefore basically correspond to the commands of an outermost loop of a regulation of the respective robot manipulator when executing the control program.
  • a specific control program for the second robot manipulator is then generated on the basis of this abstracted information, the complete control program for the second robot manipulator taking into account the structural features of the second robot manipulator, in particular how many joints the second robot manipulator has, whether it is a redundant or a unique second robot manipulator is what type of gripper or generally type of end effector is currently arranged on the second robot manipulator, etc ..
  • a control program is provided for the second robot manipulator on the basis of the empirically acquired data during the execution of the application by the first robot manipulator, which already contains the functionally essential information in the form of robot commands, and so further sensors for the second robot manipulator and for the application to be executed by him and his control program, in particular to detect objects in the vicinity of the second robot manipulator, and, in general terms, to adapt the control program for the second robot manipulator to the current situation.
  • the application is executed on the basis of the robot commands provided, which contain the empirically determined information about the execution of the application by the first robot manipulator.
  • the generation of the control program for the second robot manipulator is therefore advantageously significantly accelerated and simplified, since this is based on Information from executions of the applications that have already been carried out can be used, regardless of whether the first robot manipulator is structurally identical to the second robot manipulator, or whether these two differ structurally or in their configuration or in their software.
  • the robot commands include at least one from the following categories:
  • At least two consecutive robot commands from different categories are determined, a smooth transition between the two consecutive categorically different robot commands being determined.
  • the smooth transition has the effect, in particular, that the selected robot commands are transferred to one another in a smooth transition.
  • a transition from impedance control and so-called "visual servoing" is generated as a weighting function using a smooth function curve without jumps.
  • the smooth transition takes place by means of a constant and predetermined function curve that is time-dependent over the time of the transition.
  • a continuous function curve is in particular without jumps and kinks, and in particular has a strictly monotonically falling or rising curve over the duration of the transition.
  • Such a function profile advantageously provides a particularly smooth transition between the applications of the robot commands.
  • the robot commands are determined from the stored time series by non-linear optimization. In the case of non-linear optimization, in particular a cost function is used which reproduces the difference between the time series hypothetically produced by the selected commands and the time series actually carried out.
  • Such a cost function is then minimized by methods of non-linear optimization, in particular gradient-based methods, evolution methods, genetic algorithms, methods of quadratic optimization, etc., so that in particular those robot commands are selected that lead backwards to time series that also correspond to the actual time series. This is how the most suitable robot commands are selected.
  • the robot commands are determined from the stored time series by applying a predetermined artificial neural network, an input variable of the artificial neural network using the saved time series and an output variable of the artificial neural network being one selected from a plurality of at least structurally prescribed ones Robot commands is, with parameters of the respectively selected one of the specified robot commands being adapted on the basis of the stored time series.
  • time series of trajectory data are additionally determined by a camera unit.
  • the camera unit is preferably arranged on the robot manipulator itself.
  • the camera unit is also preferably a stereo camera unit, so that spatial information about the trajectory and / or the trajectory of the reference point of the robot manipulator is advantageously captured by the camera unit.
  • the information from the camera unit is preferably merged with the information from the joint angle sensors or added to them.
  • the camera unit is an external camera unit.
  • the external camera unit is preferably arranged physically separated from the first robot manipulator on a frame or on another carrier in the vicinity of the first robot manipulator.
  • Information is also advantageous of sensors not owned by the robot are available, which can be optimally supplemented with the robot’s own sensors to form more reliable data sources overall.
  • the structural features of the first robot manipulator and / or of the second robot manipulator include at least one of the following:
  • Another aspect of the invention relates to a robot system with a first control unit and a second control unit, which together serve to generate a control program for a second robot manipulator of the robot system on the basis of empirical data of an execution of a given application by a first robot manipulator of the robot system
  • the first Control unit for controlling the first robot manipulator is designed to execute the specified application, and is designed to determine time series of trajectory data by means of joint angle sensors of the first robot manipulator and / or time series of power winder data by means of a sensor unit of the first robot manipulator while the specified application is being executed, and the to store determined time series in a memory unit
  • the Trajectory data include kinematic data with respect to a reference point of the first robot manipulator and / or with respect to the joint angle of the first robot manipulator
  • the force winder data include forces and / or moments acting between the first robot manipulator and an object from the environment
  • the first control unit for determining robot commands the stored time series and storage of the determined robot commands is carried out in the
  • Robot manipulator based on empirical data of an execution of a predetermined application by a first robot manipulator according to an embodiment of the invention
  • FIG. 2 shows a robot system for carrying out the method according to FIG. 1.
  • FIG. 1 shows a method for generating a control program for a second robot manipulator 2 on the basis of empirical data from an execution of a predetermined application by a first robot manipulator 1.
  • the following description of the method also relates to the robot system 10 of FIG. 2. Both figures can therefore be used for understanding, in particular the following mentioned reference numerals also relate to both FIG. 1 and optionally to FIG. 2.
  • the specified application is executed S1 by the first robot manipulator 1.
  • the Application concerns the excavation of a pointed object from a cylindrical box.
  • a control program is specified for the first robot manipulator 1, which is adapted to the structural conditions of the first robot manipulator 1, in particular to the number of joints, the geometry of the links and the configuration with its gripper.
  • the next step is to determine S2 of time series of trajectory data by means of joint angle sensors 3 of the first robot manipulator 1 and of time series of Kraftwinder data by a sensor unit 5 of the first robot manipulator 1, the joint angle sensors 3 together with the torque sensors of the sensor unit 5 for detection of forces and moments are accommodated in a respective joint of the first robot manipulator 1.
  • These determined time series are stored in a memory unit 7.
  • the trajectory data include data on a trajectory with respect to a reference point of the first robot manipulator 1 of the first robot manipulator 1 by transforming the joint angles into a Cartesian position profile of the reference point at the end effector of the first robot manipulator 1.
  • the Kraftwinder data comprise the forces and moments acting between the first robot manipulator 1 and the pointed object. Furthermore, the determination S3 of robot commands from the stored time series and the storage of the determined robot commands in the memory unit 7, the robot commands being basic elements of a control program for a respective robot manipulator without reference to the structural conditions of the first robot manipulator 1.
  • the composite robot commands include the specified trajectory of the reference point of the first robot manipulator 1 from the box to a specified end point, an acceleration of the reference point on the trajectory, as well as a force and a moment that the end effector exerts on the pointed object at the reference point.
  • the composition of these robot commands results in a functional sequence of the application that is independent of the structural features of the first robot manipulator 1 mentioned above.
  • the robot commands are determined through the use of an artificial neural network in that all time series are fed to the artificial neural network as an input variable and the combination of the robot commands follows as an output by executing the artificial neural network.
  • Generation S4 then takes place of the control program for the second robot manipulator 2 on the basis of the stored robot commands and on the basis of structural features of the second robot manipulator 2. Further explanations of these can be found in the description of FIG. 2.
  • the Robot manipulator 1 is a conventional one-arm robot manipulator without redundant degrees of freedom.
  • the second robot manipulator 2 is a two-arm system with two robot arms. The structural conditions of the two robot manipulators 1, 2 therefore differ from one another.
  • the first control unit 11 is arranged on the first robot manipulator 1 and is used to control the first robot manipulator 1 to execute S1 the specified application, as well as to generate time series of trajectory data by means of joint angle sensors 3 of the first robot manipulator 1 and time series of power winder data by means of a To determine the sensor unit 5 of the first robot manipulator 1, and to store the determined time series in a memory unit 7. Furthermore, the first control unit 11 determines the robot commands from the stored time series and stores these determined robot commands in the memory unit 7, which is part of the first control unit 11.
  • the second control unit 12 is arranged on the second robot manipulator 2 and is used to generate the control program for the second robot manipulator 2 on the basis of the stored robot commands and on the basis of structural features of the second robot manipulator 2.

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

Erzeugung eines Steuerprogramms für einen Robotermanipulator 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.
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:
Fig. 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
Fig. 2 ein Robotersystem zum Ausführen des Verfahrens nach Fig. 1.
Die Darstellungen in den Figuren sind schematisch und nicht maßstäblich.
Fig. 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 Fig. 2. Zum Verständnis können daher beide Figuren herangezogen werden, insbesondere beziehen sich auch die folgenden erwähnten Bezugszeichen sowohl auf die Fig. 1 als auch wahlweise auf die Fig. 2. In einem ersten Schritt erfolgt das Ausführen S1 der vorgegebenen Anwendung durch den ersten Robotermanipulator 1. Die Anwendung betrifft das Flerausheben 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 Fig. 2.
Fig. 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.
Obwohl die Erfindung im Detail durch bevorzugte Ausführungsbeispiele näher illustriert und erläutert wurde, so ist die Erfindung nicht durch die offenbarten Beispiele eingeschränkt und andere Variationen können vom Fachmann hieraus abgeleitet werden, ohne den Schutzumfang der Erfindung zu verlassen. Es ist daher klar, dass eine Vielzahl von Variationsmöglichkeiten existiert. Es ist ebenfalls klar, dass beispielhaft genannte Ausführungsformen wirklich nur Beispiele darstellen, die nicht in irgendeiner Weise als Begrenzung etwa des Schutzbereichs, der Anwendungsmöglichkeiten oder der Konfiguration der Erfindung aufzufassen sind. Vielmehr versetzen die vorhergehende Beschreibung und die Figurenbeschreibung den Fachmann in die Lage, die beispielhaften Ausführungsformen konkret umzusetzen, wobei der Fachmann in Kenntnis des offenbarten Erfindungsgedankens vielfältige Änderungen, beispielsweise hinsichtlich der Funktion oder der Anordnung einzelner, in einer beispielhaften Ausführungsform genannter Elemente, vornehmen kann, ohne den Schutzbereich zu verlassen, der durch die Ansprüche und deren rechtliche Entsprechungen, wie etwa weitergehende Erläuterungen in der Beschreibung, definiert wird.
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
53 Ermitteln
54 Erzeugen

Claims

Patentansprüche
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.
PCT/EP2020/087557 2019-12-27 2020-12-22 Erzeugung eines steuerprogramms für einen robotermanipulator WO2021130193A1 (de)

Priority Applications (5)

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

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
WO2021130193A1 true WO2021130193A1 (de) 2021-07-01

Family

ID=72840129

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2020/087557 WO2021130193A1 (de) 2019-12-27 2020-12-22 Erzeugung eines steuerprogramms für einen robotermanipulator

Country Status (7)

Country Link
US (1) US20230001580A1 (de)
EP (1) EP4081373A1 (de)
JP (1) JP2023508490A (de)
KR (1) KR20220116289A (de)
CN (1) CN114746223A (de)
DE (1) DE102019135810B3 (de)
WO (1) WO2021130193A1 (de)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
EP3528070A1 (de) * 2018-02-15 2019-08-21 Omron Corporation Steuerungssystem für master und slave, steuerungsverfahren und programm

Family Cites Families (15)

* 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
EP2055446A1 (de) * 2007-10-31 2009-05-06 Abb As Tragbares Robotersteuerungsgerät und Verfahren zur Steuerung der Bewegungen 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
JP5743495B2 (ja) * 2010-11-05 2015-07-01 キヤノン株式会社 ロボット制御装置
CN102662350B (zh) * 2012-05-31 2013-11-27 东南大学 主从式多机器人协作系统的轨迹示教与规划方法
US9120226B2 (en) * 2012-10-23 2015-09-01 Lincoln Global, Inc. System and method for remotely positioning an end effector
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
JP6576255B2 (ja) * 2016-01-25 2019-09-18 キヤノン株式会社 ロボット軌道生成方法、ロボット軌道生成装置、および製造方法
WO2018153474A1 (en) * 2017-02-24 2018-08-30 Abb Schweiz Ag Robot system, method for programming a robot manipulator and control system
JP2019188561A (ja) * 2018-04-27 2019-10-31 株式会社東芝 物品把持装置及び物品把持装置の制御装置
CN108705536A (zh) * 2018-06-05 2018-10-26 雅客智慧(北京)科技有限公司 一种基于视觉导航的牙科机器人路径规划系统及方法
DE102018214417B3 (de) * 2018-08-27 2019-07-25 Volkswagen Aktiengesellschaft Verfahren zur Programmierung eines Roboters sowie Recheneinrichtung und Computerprogramm
DE202019102430U1 (de) * 2019-04-30 2019-06-05 Franka Emika Gmbh Ermittlung eines externen Kraftwinders durch Drehmomentsensoren eines Robotermanipulators

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE202017105598U1 (de) * 2016-09-15 2018-05-24 Google LLC (n.d.Ges.d. Staates Delaware) System zum tiefen Verstärkungslernen für Robotermanipulation
EP3528070A1 (de) * 2018-02-15 2019-08-21 Omron Corporation Steuerungssystem für master und slave, steuerungsverfahren und programm
DE202019101831U1 (de) * 2019-04-01 2019-05-13 Franka Emika Gmbh System zum Entwickeln von Steuerprogrammen für Robotermanipulatoren

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
COSTA LUIS FELIPHE S ET AL: "Online Learning and Teaching of Emergent Behaviors in Multi-Robot Teams", IEEE ACCESS, vol. 7, 7 November 2019 (2019-11-07), pages 158989 - 159001, XP011754267, DOI: 10.1109/ACCESS.2019.2951013 *
PEREZ-D'ARPINO CLAUDIA ET AL: "C-LEARN: Learning geometric constraints from demonstrations for multi-step manipulation in shared autonomy", 2017 IEEE INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION (ICRA), IEEE, 29 May 2017 (2017-05-29), pages 4058 - 4065, XP033127208, DOI: 10.1109/ICRA.2017.7989466 *
PETERNEL LUKA ET AL: "Robots learning from robots: A proof of concept study for co-manipulation tasks", 2017 IEEE-RAS 17TH INTERNATIONAL CONFERENCE ON HUMANOID ROBOTICS (HUMANOIDS), IEEE, 15 November 2017 (2017-11-15), pages 484 - 490, XP033291628, DOI: 10.1109/HUMANOIDS.2017.8246916 *

Also Published As

Publication number Publication date
CN114746223A (zh) 2022-07-12
KR20220116289A (ko) 2022-08-22
JP2023508490A (ja) 2023-03-02
US20230001580A1 (en) 2023-01-05
EP4081373A1 (de) 2022-11-02
DE102019135810B3 (de) 2020-10-29

Similar Documents

Publication Publication Date Title
DE102016008908B4 (de) Industrierobotersystem und Steuerverfahren dafür
DE112013003209B4 (de) Robotersteuerungsvorrichtung und Robotersteuerungsverfahren
DE102019001948B4 (de) Steuerung und maschinelle Lernvorrichtung
EP2546711B2 (de) Verfahren zum Programmieren eines Roboters
DE102018112360B3 (de) Bereichsabhängige Kollisionsdetektion für einen Robotermanipulator
DE102014202145A1 (de) Verfahren zum Programmieren eines Industrieroboters und zugehörigerIndustrieroboter
DE102016108077B4 (de) Verfahren zur Lastparameterfestlegung und Vorrichtung zur Lastparameterfestlegung
EP2987592A2 (de) Verfahren zum programmieren eines industrieroboters und zugehöriger industrieroboter
DE102006056051B4 (de) Roboter mit Steuerung für Zusatzachsen
DE102006061752A1 (de) Roboter und Verfahren zum Programmieren eines Roboters
EP3934859A1 (de) Verfahren zum ermitteln einer trajektorie eines roboters
DE102008029657A1 (de) Positionsgesteuerter Mechanismus und Verfahren zur Steuerung von in mehreren Bewegungsfreiheitsgraden beweglichen Mechanismen
DE102019134665B3 (de) Kalibrieren eines virtuellen Kraftsensors eines Robotermanipulators
DE102017120221A1 (de) Steuereinheit, Arbeit-Steuervorrichtung, Mehrachsenbewegung-Steuervorrichtung und Antrieb-Steuervorrichtung
DE102019205651B3 (de) Verfahren und System zum Ausführen von Roboterapplikationen
EP3328595A2 (de) Verfahren und system zum steuern eines roboters
EP3802013B1 (de) Kraftregelung eines roboters
DE102018112370B4 (de) Richtungsabhängige Kollisionsdetektion für einen Robotermanipulator
DE102020103857A1 (de) Kraftbegrenzung bei Kollision eines Robotermanipulators
EP4081373A1 (de) Erzeugung eines steuerprogramms für einen robotermanipulator
EP3710900B1 (de) Verfahren und system zum vorgeben bzw. lernen eines roboterbefehls
DE102015209773B3 (de) Verfahren zur kontinuierlichen Synchronisation einer Pose eines Manipulators und einer Eingabevorrichtung
EP4061586B1 (de) Kraftmessung und krafterzeugung in redundanten robotermanipulatoren
DE102018207921B3 (de) Steuern eines Roboters
DE102019213676B3 (de) Robotersteuerung

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20839027

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022539640

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 20227025275

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020839027

Country of ref document: EP

Effective date: 20220727