IP Library Granted Patent US 10,481,885
Granted Patent B2
US 10,481,885 · App. 12/300,594 · Granted Nov 19, 2019

Synchronization of a graphical program and a robot program

Inventors: Gunilla Lönnemark (Linköping, SE); Steve Murphy (Göteborg, SE); Ragnar Nohre (Jönköping, SE); Niklas Skoglund (Västerås, SE); Daniel Wadenhof (Göteborg, SE)
Assignee: ABB Schweiz AG
G06F8/52
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 10,481,885
App. No.
12/300,594
Granted
Nov 19, 2019
Kind
B2
Abstract

A device and a method for synchronization of a robot program and a graphical program. The device includes a first converter adapted to convert a graphical program into a first sequence of tokens representing data for motions and actions contained in the graphical program. A second converter is adapted to convert the robot program into a second sequence of tokens representing data for motions and actions contained in the robot program. A modification command generator is adapted to compare the first and second sequences of tokens and based thereon generate modification commands. The first converter is adapted to receive the modification commands and edit the graphical program based on the modification commands so that the token sequence of the graphical program matches the token sequence of the robot program. The second converter is adapted to receive the modification commands and edit the robot program based on the modification commands so that the token sequence of the robot program matches the token sequence of the graphical program.

Claims (31)

1. A method for synchronizing a graphical program generated in an off-line simulation environment and a robot program, wherein the graphical program includes a graphical 3D representation of robot motions along a path including 3D points and actions given in a sequence, the actions contain events that will occur along the path, and the robot program includes a sequence of textual instructions for robot motions and actions, the method comprising:

receiving information on which of the programs is a leader program during synchronization and which of the programs is a follower program during synchronization, wherein the leader program is to remain unchanged during the synchronization, the follower program is to be modified according to the leader program, and wherein both the graphical program and robot program are capable of being selected as the leader program,

converting the sequence of 3D points and actions of the graphical program into a first sequence of tokens including data and instructions for motions and actions contained in the graphical program,

converting the motion content of the robot program into a second sequence of tokens including data and instructions for motions and actions contained in the robot program,

comparing the first and second sequences of tokens and based thereon:

generating modification commands in dependence on which program is the leader and which is the follower, and

editing the follower program based on the generated modification commands so that the token sequence of the follower matches the sequence of the leader.

2. The method according to claim 1 , wherein the editing comprises editing the sequence of tokens of the follower so that the token sequence matches the sequence of the leader, and converting the edited sequence of tokens of the follower back to the original program form.

3. The method according to claim 1 , wherein said programs are converted into sequences of sentences built up of said tokens, and said modification commands include: insert sentence, delete sentence and edit token.

4. The method according to claim 1 , wherein the difference between the first and second sequences of token is calculated by a Longest Common Subsequence algorithm.

5. A computer program product, comprising:

a non-transitory computer readable medium; and

computer program instructions recorded on the computer readable medium and executable by a processor for performing a method for synchronizing a graphical program generated in an off-line simulation environment and a robot program, wherein the graphical program includes a graphical 3D representation of robot motions along a path including 3D points and actions given in a sequence, the actions contain events that will occur along the path, and the robot program includes a sequence of textual instructions for robot motions and actions, the method comprising

receiving information on which of the programs is a leader program during synchronization and which of the programs is a follower program during synchronization, wherein the leader program is to remain unchanged during the synchronization, the follower program is to be modified according to the leader program, and wherein both the graphical program and robot program are capable of being selected as the leader program,

converting the sequence of 3D points and actions of the graphical program into a first sequence of tokens including data and instructions for motions and actions contained in the graphical program,

converting the motion content of the robot program into a second sequence of tokens including data and instructions for motions and actions contained in the robot program,

comparing the first and second sequences of tokens and based thereon:

generating modification commands in dependence on which program is the leader and which is the follower, and

editing the follower program based on the generated modification commands so that the token sequence of the follower matches the sequence of the leader.

6. A device comprising a processor for synchronizing a graphical program generated in an off-line simulation environment and a robot program, wherein the graphical program includes a graphical 3D representation of robot motions along a path including 3D points and actions given in a sequence, the actions contain events that will occur along the path, and the robot program includes a sequence of textual instructions for robot motions and actions, the device comprising:

a first converter adapted to convert a sequence of 3D points and actions of a graphical program into a first sequence of tokens including data and instructions for motions and actions contained in the graphical program,

a second converter adapted to convert the motion content of the robot program into a second sequence of tokens including data and instructions for motions and actions contained in the robot program, and

a modification command generator adapted to compare the first and second sequences of tokens and based thereon generate modification commands, wherein said first converter is adapted to receive said modification commands and edit the graphical program based on the modification commands so that the token sequence of the graphical program matches the token sequence of the robot program and said second converter is adapted to receive said modification commands and edit the robot program based on the modification commands so that the token sequence of the robot program matches the token sequence of the graphical program.

7. The device according to claim 6 , wherein the device is adapted to receiving information on which of the programs is to remain unchanged during the synchronization, in the following called a leader program for the synchronization, and which of the programs to be modified according to the program that is selected as the leader program, in the following called a follower program, and the modification command generator is adapted to generate and send said modification commands to either the first or the second converter in dependence on which program is the leader and which is the follower.

8. The device according to claim 7 , wherein said converters are adapted to edit the sequence of tokens of the follower so that the token sequence matches the sequence of the leader and converting the edited sequence of tokens of the follower back to the original program form.

9. The method according to claim 1 , further comprising utilizing off-line programming of an industrial robot.

10. The method of claim 1 , wherein the robot program includes comments.

11. The method of claim 1 , wherein elements from the graphical program sequence are selectively converted.

12. The method of claim 1 , wherein elements from the robot program sequence are selectively converted.

13. The method of claim 1 , wherein the conversion of the robot program and the conversion of the graphical program are performed simultaneously.

14. The method of claim 1 , wherein the graphical program includes a graphical representation of the robot.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 23, 2018
From: ABB AB
To: ABB SCHWEIZ AG
Reel/Frame 045713/0398 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 12, 2008
From: LONNEMARK, GUNILLA; MURPHY, STEVE; NOHRE, RAGNAR; SKOGLUND, NIKLAS; WADENHOF, DANIEL
To: ABB AB
Reel/Frame 021823/0613 →
Priority Claims (1)
EP 06113817 · May 11, 2006 · regional
Continuity (1)
Related Publication 20090164202A1 · Jun 25, 2009
Cited By (1)
US 12,254,292