IP Library Granted Patent US 9,833,897
Granted Patent B2
US 9,833,897 · App. 15/003,383 · Granted Dec 5, 2017

Calibration and programming of robots

Inventors: Rune Søe-Knudsen (Årslev, DK); Esben Hallundbæk Østergaard (Odense C, DK); Henrik Gordon Petersen (Odense NV, DK)
Assignee: Universal Robots A/S
B25J9/0081B25J9/009B25J9/163B25J9/1656B25J9/1682B25J9/1692B25J9/1694G05B19/4083G05B2219/39049G05B2219/40387Y10S901/05
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 9,833,897
App. No.
15/003,383
Granted
Dec 5, 2017
Kind
B2
Abstract

Methods includes calibrating robots without the use of external measurement equipment and copying working programs between un-calibrated robots. Both methods utilize the properties of a closed chain and the relative position of the links in the chain in order to update the kinematic models of the robots.

Claims (50)

1. A method for making a working program for a first robot usable with a second robot, each of the first robot and the second robot having joints connecting two flanges, the two flanges comprising a base flange and a tool flange, the method comprising:

obtaining the working program for the first robot;

selecting positions or angles based on the working program for the first robot;

moving the second robot to the positions or angles to produce a position pair data set;

estimating kinematic models of the first robot and the second robot based on a base flange offset and a tool flange center point offset between the first robot and the second robot using the position pair data set; and

performing a conversion operation on the working program based on the kinematic models.

2. The method of claim 1 , further comprising:

making a determination about whether the working program is runnable on the second robot within one or more defined tolerances.

3. The method of claim 2 , wherein making the determination comprises making a determination that the working program is not runnable on the second robot within the one or more defined tolerances; and

wherein, when the working program is not runnable on the second robot within the one or more predefined tolerances, the method further comprises:

selecting additional positions based on the working program;

moving the second robot to the additional positions to produce an extended position pair data set;

estimating revised kinematic models of the first robot and the second robot using the extended position pair data set; and

performing a conversion operation on the working program based on the revised kinematic models.

4. The method of claim 1 , further comprising:

performing a conversion operation on a second working program based on the kinematic models.

5. The method of claim 1 , wherein performing the conversion operation comprises:

applying forward kinematics to first position pair data in the working program for a first kinematic model associated with the first robot to produce a first program;

applying inverse kinematics to the first program using a second kinematic model for the second robot to produce second position pair data; and

completing the conversion operation by replacing the first position pair data in the first working program with the second position pair data to produce a converted working program that is usable with the second robot.

6. The method of claim 1 , wherein the kinematic models are based on parameters defining transformations.

7. The method of claim 6 , wherein the kinematic models are based on three types of Denavit-Hartenberg parameters.

8. The method of claim 7 , wherein the three types of Denavit-Hartenberg parameters comprise Schilling parameters, Parallel variant parameters, and RPY parameters.

9. The method of claim 6 , wherein RPY parameters are usable to modulate a last joint of each of the first robot and the second robot.

10. The method of claim 1 , wherein the kinematic models are estimated using predetermined models as a starting point.

11. Non-transitory machine-readable data storage storing instructions that are executable to make a working program for a first robot usable with a second robot, each of the first robot and the second robot having joints connecting two flanges, the two flanges comprising a base flange and a tool flange, the instructions being executable to perform operations comprising:

obtaining the working program for the first robot;

selecting positions or angles based on the working program for the first robot;

causing the second robot to move to the positions or angles to produce a position pair data set;

estimating kinematic models of the first robot and the second robot based on a base flange offset and a tool flange center point offset between the first robot and the second robot using the position pair data set; and

performing a conversion operation on the working program based on the kinematic models.

12. The non-transitory machine-readable data storage of claim 11 , wherein the operations comprise:

making a determination about whether the working program is runnable on the second robot within one or more defined tolerances.

13. The non-transitory machine-readable data storage of claim 12 , wherein making the determination comprises making a determination that the working program is not runnable on the second robot within the one or more defined tolerances; and

wherein the operations comprise, when the working program is not runnable on the second robot within the one or more predefined tolerances:

selecting additional positions based on the working program;

causing the second robot to move to the additional positions to produce an extended position pair data set;

estimating revised kinematic models of the first robot and the second robot using the extended position pair data set; and

performing a conversion operation on the working program based on the revised kinematic models.

14. The non-transitory machine-readable data storage of claim 11 , wherein the operations comprise:

performing a conversion operation on a second working program based on the kinematic models.

15. The non-transitory machine-readable data storage of claim 11 , wherein performing the conversion operation comprises:

applying forward kinematics to first position pair data in the working program for a first kinematic model associated with the first robot to produce a first program;

applying inverse kinematics to the first program using a second kinematic model for the second robot to produce second position pair data; and

completing the conversion operation by replacing the first position pair data in the first working program with the second position pair data to produce a converted working program that is usable with the second robot.

16. The non-transitory machine-readable data storage of claim 11 , wherein the kinematic models are based on parameters defining transformations.

17. The non-transitory machine-readable data storage of claim 16 , wherein the kinematic models are based on three types of Denavit-Hartenberg parameters.

18. The non-transitory machine-readable data storage of claim 17 , wherein the three types of Denavit-Hartenberg parameters comprise Schilling parameters, Parallel variant parameters, and RPY parameters.

19. The non-transitory machine-readable data storage of claim 16 , wherein RPY parameters are usable to modulate a last joint of each of the first robot and the second robot.

20. The non-transitory machine-readable data storage of claim 11 , wherein the kinematic models are estimated using predetermined models as a starting point.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2016
From: SØE-KNUDSEN, RUNE; ØSTERGAARD, ESBEN HALLUNDBÆK; PETERSEN, HENRIK GORDON
To: UNIVERSAL ROBOTS A/S
Reel/Frame 040308/0178 →
Continuity (3)
Division 13630380 · Sep 28, 2012
Provisional Application 61540150 · Sep 28, 2011
Related Publication 20160136805A1 · May 19, 2016