IP Library Granted Patent US 11,465,282
Granted Patent B2
US 11,465,282 · App. 16/113,320 · Granted Oct 11, 2022

System and method for multi-goal path planning

Inventor: Chalongrath Pholsiri (Round Rock, TX)
Assignee: Teradyne, Inc.
B25J9/1666B25J9/1669B25J9/1671G05B2219/40369G05B2219/40448G05B2219/45066
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 11,465,282
App. No.
16/113,320
Granted
Oct 11, 2022
Kind
B2
Abstract

A method and computing system comprising identifying a plurality of robot configurations for each inspection point of a plurality of inspection points of a problem. A graph may be generated with each feasible robot configuration as a node on the graph. A distance may be calculated between a pair of feasible robot configurations. A shortest complete path connecting each node on the graph may be obtained based upon, at least in part, the distance between the pair of feasible robot configurations.

Claims (72)

1. A method for multi-goal path planning comprising:

defining a plurality of inspection points of a problem;

identifying a plurality of robot configurations for each inspection point of the plurality of inspection points of the problem;

generating a graph with each feasible robot configuration as a node on the graph;

calculating a distance between a pair of feasible robot configurations, wherein the distance between the pair of feasible robot configurations is a measurement of time;

obtaining a shortest complete path connecting each node on the graph based upon, at least in part, the distance between the pair of feasible robot configurations, wherein obtaining the shortest complete path comprises applying, using at least one processor, a traveling salesman problem (“TSP”) methodology based upon, at least in part, the graph;

obtaining a visit order from the TSP methodology;

applying, using at least one processor, a path planning methodology to obtain a path between a plurality of neighboring nodes that are not directly connected; and

controlling a robot, based upon, at least in part, the shortest complete path.

2. The method of claim 1 , further comprising:

grouping at least a subset of the plurality of inspection points into a plurality of groups of inspection points.

3. The method of claim 2 , wherein grouping at least a subset of the plurality of inspection points occurs prior to generating the graph.

4. The method of claim 2 , wherein identifying the plurality of feasible robot configurations for each inspection point includes identifying a plurality of feasible robot configurations for each group of inspection points.

5. The method of claim 4 , wherein identifying the plurality of feasible robot configurations for each group of inspection points is performed using multiple threads.

6. The method of claim 1 , wherein calculating the distance comprises:

identifying a pair of robot configurations that can be directly connected without collisions;

calculating a distance between the pair of robot configurations that can be directly connected without collisions; and

generating a connection between the pair of nodes associated with the pair of robot configurations that can be directly connected without collisions.

7. The method of claim 1 , wherein calculating the distance comprises:

identifying a pair of robot configurations that cannot be directly connected without a collision;

generating an artificial distance between the pair of nodes associated with the plurality of robot configurations that cannot be directly connected without collisions; and

generating a connection between the pair of nodes associated with the plurality of robot configurations that cannot be directly connected without collisions.

8. The method of claim 1 , further comprising:

removing at least one node from the visit order that is not directly connected to either of a plurality of neighbor nodes;

connecting the plurality of neighboring nodes in the visit order.

9. The method of claim 1 , further comprising:

re-inserting the at least one removed node after a plurality of candidate nodes.

10. The method of claim 1 , wherein the problem is associated with an automotive application or a printed circuit board.

11. The method of claim 1 , wherein at least one inspection point is not associated with a feasible robotic configuration.

12. A computing system including a processor and memory configured to perform operations comprising:

defining a plurality of inspection points of a problem;

identifying a plurality of robot configurations for each inspection point of the plurality of inspection points of the problem;

generating a graph with each feasible robot configuration as a node on the graph;

calculating a distance between a pair of feasible robot configurations, wherein the distance between the pair of feasible robot configurations is a measurement of time;

obtaining a shortest complete path connecting each node on the graph based upon, at least in part, the distance between the pair of feasible robot configurations, wherein obtaining the shortest complete path comprises applying, using at least one processor, a traveling salesman problem (“TSP”) methodology based upon, at least in part, the graph;

obtaining a visit order from the TSP methodology;

applying, using at least one processor, a path planning methodology to obtain a path between a plurality of neighboring nodes that are not directly connected; and

controlling a robot, based upon, at least in part, the shortest complete path.

13. The computing system of claim 12 , wherein operations further comprise:

grouping at least a subset of the plurality of inspection points into a plurality of groups of inspection points.

14. The computing system of claim 13 , wherein grouping the at least a subset of the plurality of inspection points occurs prior to generating the graph.

15. The computing system of claim 13 , wherein identifying the plurality of feasible robot configurations for each inspection point includes identifying a plurality of feasible robot configurations for each group of inspection points.

16. The computing system of claim 15 , wherein identifying the plurality of feasible robot configurations for each group of inspection points is performed using multiple threads.

17. The computing system of claim 12 , wherein calculating the distance comprises:

identifying a pair of robot configurations that can be directly connected without collisions;

calculating a distance between the pair of robot configurations that can be directly connected without collisions; and

generating a connection between the pair of nodes associated with the pair of robot configurations that can be directly connected without collisions.

18. The computing system of claim 12 , wherein calculating the distance comprises:

identifying a pair of robot configurations that cannot be directly connected without a collision;

generating an artificial distance between the pair of nodes associated with the plurality of robot configurations that cannot be directly connected without collisions; and

generating a connection between the pair of nodes associated with the plurality of robot configurations that cannot be directly connected without collisions.

19. The computing system of claim 12 , further comprising:

removing at least one node from the visit order that is not directly connected to either of a plurality of neighbor nodes;

connecting the plurality of neighboring nodes in the visit order.

20. The computing system of claim 19 , further comprising:

re-inserting the at least one removed node after a plurality of candidate nodes.

21. The computing system of claim 12 , wherein the problem is associated with an automotive application or a printed circuit board.

22. The computing system of claim 12 , wherein at least one inspection point is not associated with a feasible robotic configuration.

23. The method of claim 1 , wherein the path planning methodology includes a rapidly exploring random tree (“RRT”) methodology.

24. The computing system of claim 12 , wherein the path planning methodology includes a rapidly exploring random tree (“RRT”) methodology.

25. The method of claim 4 , wherein identifying the plurality of robot configurations for each group of inspection points is performed in parallel.

26. The system of claim 15 , wherein identifying the plurality of robot configurations for each group of inspection points is performed in parallel.

27. The method of claim 1 , wherein defining the plurality of inspection points of the problem comprises:

receiving the plurality of inspection points of the problem.

28. The system of claim 12 , wherein defining the plurality of inspection points of the problem comprises:

receiving the plurality of inspection points of the problem.

29. The method of claim 27 , wherein the plurality of inspection points of the problem are received from a user interface.

30. The method of claim 1 , wherein the plurality of inspection points of the problem are defined by a processor.

31. The method of claim 1 , wherein the plurality of robot configurations comprise a plurality of robot poses.

32. The system of claim 12 , wherein the plurality of robot configurations comprise a plurality of robot poses.

33. The method of claim 1 , wherein the plurality of robot configurations comprise a plurality of robot arm poses.

34. The system of claim 12 , wherein the plurality of robot configurations comprise a plurality of robot arm poses.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2022
From: TERADYNE, INC.
To: UNIVERSAL ROBOTS USA, INC.
Reel/Frame 062052/0831 →
SECURITY INTEREST Recorded May 7, 2020
From: TERADYNE, INC.
To: TRUIST BANK
Reel/Frame 052595/0632 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2018
From: PHOLSIRI, CHALONGRATH
To: TERADYNE, INC.
Reel/Frame 046767/0485 →
Continuity (1)
Related Publication 20200061824A1 · Feb 27, 2020