IP Library Granted Patent US 12,280,507
Granted Patent B2
US 12,280,507 · App. 17/784,916 · Granted Apr 22, 2025

Generating a control program for a robot manipulator

Inventors: Andreas Spenninger (Karlsfeld, DE); Jose Ramon Medina Hernandez (Munich, DE)
Assignee: Franka Emika GmbH
B25J9/1664B25J9/161B25J13/085B25J13/088G05B2219/40599G05B2219/40607
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,280,507
App. No.
17/784,916
Granted
Apr 22, 2025
Kind
B2
Abstract

A method of generating a control program, wherein the method includes: executing an application by the first robot manipulator, at the same time, determining trajectory data and/or wrench data, determining robot commands from a stored time series, the robot commands being principal elements of the control program for the robot manipulator without relation to design conditions of a first robot manipulator, and generating the control program for a second robot manipulator based on the stored robot commands and based on the design conditions of the second robot manipulator.

Claims (68)

1. A method of generating a control program for a second robot manipulator based on empirical data from executing a predetermined application by a first robot manipulator, the method comprising:

executing the predetermined application by the first robot manipulator;

during execution of the predetermined application: determining time series of trajectory data by joint angle sensors of the first robot manipulator and/or time series of wrench data by a sensor unit of the first robot manipulator for detecting forces and/or torques, and storing the determined time series in a storage unit, the trajectory data comprising kinematic data relating to a reference point of the first robot manipulator or relating to the joint angles of the first robot manipulator, and the wrench data comprising forces and/or torques acting between the first robot manipulator and an object in the surroundings;

determining robot commands from the stored time series, and storing the determined robot commands in the storage unit, the robot commands being principal elements of a control program for a respective robot manipulator without reference to design conditions of the first robot manipulator; and

generating the control program for the second robot manipulator based on the stored robot commands and based on design conditions of the second robot manipulator.

2. The method of claim 1 , wherein the robot commands comprise at least one category of different categories comprising:

a predetermined path curve of a reference point of the respective robot manipulator from a predetermined start point to a predetermined end point of the predetermined path curve;

a velocity of the reference point on the predetermined path curve;

an acceleration of the reference point on the predetermined path curve;

a force and/or a torque that the reference point of the respective robot manipulator exerts on an object in the surroundings of the respective robot manipulator; and

target torques for rotational actuators of the respective robot manipulator.

3. The method of claim 2 , wherein the method comprises:

determining at least two successive robot commands from the different categories; and

determining a blending transition between the at least two successive robot commands from the different categories.

4. The method of claim 3 , wherein the method further comprises performing the blending transition by a continuous, and over time of the blending transition, a time-dependent predetermined function course.

5. The method of claim 1 , wherein the method further comprises performing nonlinear optimization in determination of the robot commands from the stored time series.

6. The method of claim 1 , wherein in determination of the robot commands from the stored time series, the method further comprises:

applying a predetermined artificial neural network, an input variable of the artificial neural network being the stored time series and an output variable of the artificial neural network being a respectively selected one of a plurality of structurally predetermined robot commands; and

adapting parameters of the respectively selected one of the predetermined robot commands based on the stored time series.

7. The method of claim 1 , wherein determination of the time series of trajectory data is additionally performed by a camera unit.

8. The method of claim 7 , wherein the camera unit is an external camera unit.

9. The method of claim 1 , wherein the design conditions of the first robot manipulator and/or the design conditions of the second robot manipulator comprise at least one of the following:

distances between joints of the respective robot manipulator;

number of joints of the respective robot manipulator;

maximum torque that is capable of being applied by rotational actuators of the respective robot manipulator;

type and configuration of an end effector of the respective robot manipulator;

virtual stiffness of a closed-loop control of the respective robot manipulator;

material stiffness of links and/or joints of the respective robot manipulator;

a geometrically maximum possible working space of the respective robot manipulator;

time constants and/or bandwidths of actuators of the respective robot manipulator;

safety level, and/or current safety configuration, and/or residual risk of the respective robot manipulator;

physical existence and/or configuration of communication interfaces of the respective robot manipulator;

number of robot arms of the respective robot manipulator; and

mass and/or inertia of components, in particular links, of the respective robot manipulator.

10. A robot system to generate a control program for a second robot manipulator of the robot system based on empirical data from executing a predetermined application by a first robot manipulator of the robot system, the robot system comprising:

a first control unit configured to:

control the first robot manipulator to execute the predetermined application, and further designed to determine time series of trajectory data by joint angle sensors of the first robot manipulator and/or time series of wrench data by a sensor unit of the first robot manipulator during execution of the predetermined application and to store the determined time series in a storage unit, the trajectory data comprising kinematic data relating to a reference point of the first robot manipulator or relating to the joint angles of the first robot manipulator, the wrench data comprising forces and/or torques acting between the first robot manipulator and an object in the surroundings; and

determine robot commands from the stored time series and to store the determined robot commands in the storage unit, the robot commands being principal elements of a control program for a respective robot manipulator without reference to design conditions of the first robot manipulator; and

a second control unit configured to generate the control program for the second robot manipulator based on stored robot commands and based on design conditions of the second robot manipulator.

11. The robot system of claim 10 , wherein the robot commands comprise at least one category of different categories comprising:

a predetermined path curve of a reference point of the respective robot manipulator from a predetermined start point to a predetermined end point of the predetermined path curve;

a velocity of the reference point on the predetermined path curve;

an acceleration of the reference point on the predetermined path curve;

a force and/or a torque that the reference point of the respective robot manipulator exerts on an object in the surroundings of the respective robot manipulator; and

target torques for rotational actuators of the respective robot manipulator.

12. The robot system of claim 11 , wherein the first control unit is further configured to:

determine at least two successive robot commands from the different categories; and

determine a blending transition between the at least two successive robot commands from the different categories.

13. The robot system of claim 12 , wherein the first control unit is further configured to perform the blending transition by a continuous, and over time of the blending transition, a time-dependent predetermined function course.

14. The robot system of claim 10 , wherein the first control unit is further configured to perform nonlinear optimization in determination of the robot commands from the stored time series.

15. The robot system of claim 10 , wherein in determination of the robot commands from the stored time series, the first control unit is further configured to:

apply a predetermined artificial neural network, an input variable of the artificial neural network being the stored time series and an output variable of the artificial neural network being a respectively selected one of a plurality of structurally predetermined robot commands; and

adapt parameters of the respectively selected one of the predetermined robot commands based on the stored time series.

16. The robot system of claim 10 , wherein determination of the time series of trajectory data is additionally performed by a camera unit.

17. The robot system of claim 16 , wherein the camera unit is an external camera unit.

18. The robot system of claim 10 , wherein the design conditions of the first robot manipulator and/or the design conditions of the second robot manipulator comprise at least one of the following:

distances between joints of the respective robot manipulator;

number of joints of the respective robot manipulator;

maximum torque that is capable of being applied by rotational actuators of the respective robot manipulator;

type and configuration of an end effector of the respective robot manipulator;

virtual stiffness of a closed-loop control of the respective robot manipulator;

material stiffness of links and/or joints of the respective robot manipulator;

a geometrically maximum possible working space of the respective robot manipulator;

time constants and/or bandwidths of actuators of the respective robot manipulator;

safety level, and/or current safety configuration, and/or residual risk of the respective robot manipulator;

physical existence and/or configuration of communication interfaces of the respective robot manipulator;

number of robot arms of the respective robot manipulator; and

mass and/or inertia of components, in particular links, of the respective robot manipulator.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 20, 2026
From: FRANKA ROBOTICS GMBH
To: FR ADMINISTRATION GMBH
Reel/Frame 073519/0124 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2026
From: FRANKA EMIKA GMBH
To: AGILE ROBOTS HANOVER GMBH, NOW TRADING AS FRANKA ROBOTICS GMBH
Reel/Frame 073493/0884 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2024
From: SPENNINGER, ANDREAS; HERNANDEZ, JOSE RAMON MEDINA
To: FRANKA EMIKA GMBH
Reel/Frame 068228/0897 →
Priority Claims (1)
DE 10 2019 135 810.8 · Dec 27, 2019 · national
Continuity (1)
Related Publication 20230001580A1 · Jan 5, 2023
References Cited (31)
US 9186795B1 · Edsinger · 2015 [cited by examiner]
US 20110125321A1 · Finkemeyer · 2011 [cited by examiner]
US 20140114478A1 · William et al. · 2014 [cited by applicant]
US 20150290795A1 · Oleynik · 2015 [cited by applicant]
US 20190232488A1 · Levine · 2019 [cited by examiner]
US 20190314989A1 · Sokabe et al. · 2019 [cited by applicant]
US 20200061818A1 · Schwinge · 2020 [cited by applicant]
US 20200070346A1 · Oaki · 2020 [cited by examiner]
US 20210110089A1 · Chen · 2021 [cited by examiner]
US 20240131695A1 · Levine et al. · 2024 [cited by applicant]
CN 104552300A · 2015 [cited by applicant]
CN 106775807A · 2017 [cited by applicant]
CN 106938470A · 2017 [cited by applicant]
CN 109906132A · 2019 [cited by applicant]
DE 202008014481U1 · 2009 [cited by applicant]
DE 102010029745A1 · 2011 [cited by applicant]
DE 212013000217U1 · 2015 [cited by applicant]
DE 202017105598U1 · 2018 [cited by applicant]
DE 202019101831U1 · 2019 [cited by applicant]
DE 102018214417B3 · 2019 [cited by applicant]
EP 2055446A1 · 2009 [cited by applicant]
EP 3528070A1 · 2019 [cited by applicant]
JP 2019188561A · 2019 [cited by examiner]
JP 6705977B2 · 2020 [cited by applicant]
KR 1020120005082A · 2012 [cited by applicant]
KR 1020160124770A · 2016 [cited by applicant]
KR 1020190040506A · 2019 [cited by applicant]
English-language translation of International Preliminary Report on Patentability issued in International Application No. PCT/EP2020/087557 on Jul. 7, 2022. [cited by applicant]
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, M… [cited by applicant]
Costa, Luis Feliphe S., et al. “Online Learning and Teaching of Emergent Behaviors in Multi-Robot Teams”, IEEE Access, vol. 7, Nov. 7, 2019, pp. 158989-159001. [cited by applicant]
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, Nov. 15, 2017, pp. 484-490. [cited by applicant]