IP Library › Granted Patent US 9,298,863
Granted Patent B2
US 9,298,863 · App. 14/448,416 · Granted Mar 29, 2016

Method and apparatus for saving energy and reducing cycle time by using optimal robotic joint configurations

Inventors: Moshe Hazan (Elad, IL); Lisandro Embon (Petah Tikva, IL); Rahav Madvil (Rishon Lezion, IL)
Assignee: Siemens Industry Software Ltd.
G06F17/5009
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,298,863
App. No.
14/448,416
Granted
Mar 29, 2016
Kind
B2
Abstract

Methods for saving energy and reducing cycle time of a complex operation by using optimal robotic joint configurations. A method includes receiving inputs including the complex operation, generating a plurality of joint configurations of a simulated robot for each one of a plurality of task locations based on the inputs of the complex operation, calculating an edge rating for each of a plurality of robotic movements, wherein a robotic movement accounts for movement between joint configurations of consecutive task locations, calculating a plurality of candidate ratings for each of a plurality of candidate configuration paths, wherein a candidate rating is a summation of edge ratings of robotic movements for a candidate configuration path, determining an optimal configuration path based the candidate configuration path with an optimal rating, wherein the optimal rating is determined by the lowest candidate rating, and return the optimal configuration path.

Claims (55)

1. A method for saving energy and reducing cycle time of a complex operation by using optimal robotic joint configurations, the method performed by a data processing system and comprising:

receiving inputs including the complex operation;

generating a plurality of joint configurations of a simulated robot for each one of a plurality of task locations based on the inputs of the complex operation;

calculating an edge rating for each of a plurality of robotic movements edges, wherein a robotic movement edge accounts for a robotic movement between joint configurations of consecutive task locations;

calculating a plurality of candidate ratings for each of a plurality of candidate configuration paths, wherein a candidate rating is a summation of edge ratings of robotic movement edges for a candidate configuration path;

determining an optimal configuration path based on the candidate configuration path with an optimal rating, wherein the optimal rating is determined by the lowest candidate rating; and

returning the optimal configuration path.

2. The method of claim 1 , wherein determining the optimal configuration path comprises using a directed acyclic graph algorithm.

3. The method of claim 1 , further comprising:

removing the robotic movement edges that change joint configurations at a locked task location.

4. The method of claim 1 , further comprising:

simulating the plurality of robotic movements to determine a total energy consumption and a total cycle time for each of the plurality of robotic movement edges.

5. The method of claim 4 , further comprising:

for each of the plurality of robotic movement edges, determining an energy consumption weight and a cycle time weight based on the total cycle time and the total energy consumption of the robotic movement edge.

6. The method of claim 5 , further comprising:

for each of the plurality of robotic movement edges, determining an energy consumption rating and a cycle time rating based on the energy consumption weight, the cycle time weight, the total cycle time, and the total energy consumption of the robotic movement edge.

7. The method of claim 6 , further comprising:

for each of the plurality of robotic movement edges, determining a candidate rating based on one or more of the energy consumption rating, the cycle time rating, the energy consumption weight, the cycle time weight, the total cycle time, and total energy consumption of the robotic movement edge.

8. A data processing system comprising:

a processor; and

an accessible memory, the data processing system particularly configured to:

receive inputs including a complex operation;

generate a plurality of joint configurations of a simulated robot for each one of a plurality of task locations based on the inputs of the complex operation;

calculate an edge rating for each of a plurality of robotic movement edges, wherein a robotic movement edge accounts for a robotic movement between joint configurations of consecutive task locations;

calculate a plurality of candidate ratings for each of a plurality of candidate configuration paths, wherein a candidate rating is a summation of edge ratings of robotic movement edges for a candidate configuration path;

determine an optimal configuration path based on the candidate configuration path with an optimal rating, wherein the optimal rating is determined by the lowest candidate rating; and

return the optimal configuration path.

9. The data processing system of claim 8 , wherein to determine the optimal configuration path comprises using a directed acyclic graph algorithm.

10. The data processing system of claim 8 , further comprising:

remove the robotic movement edges that change joint configurations at a locked task location.

11. The data processing system of claim 8 , further comprising:

simulate the plurality of robotic movements to determine a total energy consumption and a total cycle time for each of the plurality of robotic movement edges.

12. The data processing system of claim 11 , further comprising:

for each of the plurality of robotic movement edges, determine an energy consumption weight and a cycle time weight based on the total cycle time and the total energy consumption of the robotic movement edge.

13. The data processing system of claim 12 , further comprising:

for each of the plurality of robotic movement edges, determine an energy consumption rating and a cycle time rating based on the energy consumption weight, the cycle time weight, the total cycle time, and the total energy consumption of the robotic movement edge.

14. The data processing system of claim 13 , further comprising:

for each of the plurality of robotic movement edges, determine a candidate rating based on one or more of the energy consumption rating, the cycle time rating, the energy consumption weight, the cycle time weight, the total cycle time, and total energy consumption of the robotic movement edge.

15. A non-transitory computer-readable medium encoded with executable instructions that, when executed, cause one or more data processing systems to:

receive inputs including a complex operation;

generate a plurality of joint configurations of a simulated robot for each one of a plurality of task locations based on the inputs of the complex operation;

calculate an edge rating for each of a plurality of robotic movement edges, wherein a robotic movement edge accounts for a robotic movement between joint configurations of consecutive task locations in a graph including joint configuration vertices that represent the joint configurations, and wherein the robotic movement edges connect the joint configuration vertices of a first task location the joint configuration vertices of a second task location;

calculate a plurality of candidate ratings for each of a plurality of candidate configuration paths, wherein a candidate rating is a summation of edge ratings of robotic movement edges

for a candidate configuration path;

determine an optimal configuration path based on the candidate configuration path with an optimal rating, wherein the optimal rating is determined by the lowest candidate rating; and

return the optimal configuration path.

16. The computer-readable medium of claim 15 , wherein to determine an optimal configuration path comprises using a directed acyclic graph algorithm.

17. The computer-readable medium of claim 15 , further comprising:

remove robotic movement edges that change joint configurations at a locked task location.

18. The computer-readable medium of claim 15 , further comprising:

simulate the plurality of robotic movements to determine a total energy consumption and a total cycle time for each of the plurality of robotic movement edges.

19. The computer-readable medium of claim 18 , further comprising:

for each of the plurality of robotic movement edges, determine an energy consumption weight and a cycle time weight based on the total cycle time and the total energy consumption of the robotic movement edge.

20. The computer-readable medium of claim 19 , further comprising:

for each of the plurality of robotic movement edges, determine an energy consumption rating and a cycle time rating based on the energy consumption weight, the cycle time weight, the total cycle time, and the total energy consumption of the robotic movement edge.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2014
From: EMBON, LISANDRO; HAZAN, MOSHE; MADVIL, RAHAV
To: SIEMENS INDUSTRY SOFTWARE LIMITED
Reel/Frame 033437/0076 →
Continuity (1)
Related Publication 20160034613A1 · Feb 4, 2016