IP Library Granted Patent US 11,813,751
Granted Patent B2
US 11,813,751 · App. 17/006,492 · Granted Nov 14, 2023

Multi-objective robot path planning

Inventors: Ryan Butterfoss (San Francisco, CA); Jean-Francois Dupuis (San Francisco, CA)
Assignee: Intrinsic Innovation LLC
B25J9/1664B25J9/1661G05D1/0217G05D1/0291
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,813,751
App. No.
17/006,492
Granted
Nov 14, 2023
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for generating paths for a robot based on optimizing multiple objectives. One of the methods includes: receiving, by a motion planner, request to generate a path for a robot between a start point and an end point in a workcell of the robot, wherein the workcell is associated with one or more soft margin values that define spaces in which the robot should avoid when transitioning between points in the workcell; classifying path segments within the workcell as being inside the soft margin or outside the soft margin; generating a respective cost for each of the plurality of path segments within the workcell; generating a plurality of alternative paths; evaluating the plurality of alternative paths according to the respective costs; and selecting an alternative path based on respective total costs of the plurality of alternative paths.

Claims (56)

1. A method performed by one or more computers, the method comprising:

receiving, by a motion planner that runs one or more path planning algorithms, and in response to receiving a request to generate a path for a robot between a start point and an end point in a workcell of the robot, a plurality of different waypoints each corresponding to a possible configuration of the robot within the workcell, wherein the workcell is associated with one or more soft margins that define respective spaces surrounding objects in the workcell, wherein one or more of the plurality of different waypoints lie within a soft margin and wherein one or more of the plurality of different waypoints lie in free space outside of all of the one or more soft margins;

generating a plurality of path segments between the plurality of different waypoints in the workcell;

identifying one or more crossing path segments that each cross over a boundary of a soft margin in the workcell;

partitioning each of the one or more crossing path segments at the soft margin boundary to generate respective pairs of path segments, wherein each generated pair of path segments includes a first path segment lying within a soft margin and a second path segment lying within free space outside all of the one or more soft margins;

generating a respective cost for each of the plurality of path segments within the workcell, wherein the generated path segments that are inside a soft margin have a higher cost than generated path segments that are outside all of the one or more soft margins;

generating, from the plurality of path segments, one or more alternative paths between the start point and the end point in the work cell, including generating a first path that passes through at least one waypoint inside the soft margin and generating a second path that does not pass through any waypoints that are inside the soft margin;

generating a respective total cost of each of the one or more alternative paths according at least to the respective costs for the path segments inside the soft margin and for the path segments outside the soft margin;

selecting, based on the respective total costs of the one or more alternative paths, the first path that passes through the at least one waypoint inside the soft margin; and

submitting, by the motion planner, the first path that passes through the at least one waypoint inside the soft margin to an onsite execution engine for execution by the robot.

2. The method of claim 1 , wherein identifying the one or more crossing path segments depends on a specified speed of the robot.

3. The method of claim 1 , wherein generating the first path that passes through at least one waypoint inside the soft margin comprises generating a path that lies entirely within the soft margin.

4. The method of claim 3 , wherein the path that lies entirely within the soft margin connects two or more waypoints that lie within the soft margin.

5. The method of claim 1 , wherein generating the respective total cost of each of the one or more alternative paths further comprises:

generating the respective total cost of each of the one or more alternative paths according to a respective elapsed time required to traverse the alternative path.

6. The method of claim 5 , further comprising, for each of the one or more alternative paths:

generating the respective total cost of the alternative path from the respective costs of the one or more path segments within the alternative path.

7. The method of claim 1 , wherein generating the respective cost for each of the one or more path segments within the workcell further comprises:

generating the cost based on one or more of robot swept volume, robot travel distance, margin violation, robot travel time, or usage of hot spots in a predefined heat map of the workcell.

8. A system comprising: one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:

receiving, by a motion planner that runs one or more path planning algorithms, and in response to receiving a request to generate a path for a robot between a start point and an end point in a workcell of the robot, a plurality of different waypoints each corresponding to a possible configuration of the robot within the workcell, wherein the workcell is associated with one or more soft margins that define respective spaces surrounding objects in the workcell, wherein one or more of the plurality of different waypoints lie within a soft margin and wherein one or more of the plurality of different waypoints lie in free space outside of all of the one or more soft margins;

generating a plurality of path segments between the plurality of different waypoints in the workcell;

identifying one or more crossing path segments that each cross over a boundary of a soft margin in the workcell;

partitioning each of the one or more crossing path segments at the soft margin boundary to generate respective pairs of path segments, wherein each generated pair of path segments includes a first path segment lying within a soft margin and a second path segment lying within free space outside all of the one or more soft margins;

generating a respective cost for each of the plurality of path segments within the workcell, wherein the generated path segments that are inside a soft margin have a higher cost than generated path segments that are outside all of the one or more soft margins;

generating, from the plurality of path segments, one or more alternative paths between the start point and the end point in the work cell, including generating a first path that passes through at least one waypoint inside the soft margin and generating a second path that does not pass through any waypoints that are inside the soft margin;

generating a respective total cost of each of the one or more alternative paths according at least to the respective costs for the path segments inside the soft margin and for the path segments outside the soft margin;

selecting, based on the respective total costs of the one or more alternative paths, the first path that passes through the at least one waypoint inside the soft margin; and

submitting, by the motion planner, the first path that passes through the at least one waypoint inside the soft margin to an onsite execution engine for execution by the robot.

9. The system of claim 8 , wherein identifying the one or more crossing path segments depends on a specified speed of the robot.

10. The system of claim 8 , wherein generating the first path that passes through at least one waypoint inside the soft margin comprises generating a path that lies entirely within the soft margin.

11. The system of claim 10 , wherein the path that lies entirely within the soft margin connects two or more waypoints that lie within the soft margin.

12. The system of claim 8 , wherein generating the respective total cost of each of the one or more alternative paths further comprises:

generating the respective total cost of each of the one or more alternative paths according to a respective elapsed time required to traverse the alternative path.

13. The system of claim 12 , wherein the operations further comprise, for each of the one or more alternative paths:

generating the respective total cost of the alternative path from the respective costs of the one or more path segments within the alternative path.

14. The system of claim 8 , wherein generating the respective cost for each of the one or more path segments within the workcell further comprises:

generating the cost based on one or more of robot swept volume, robot travel distance, margin violation, robot travel time, or usage of hot spots in a predefined heat map of the workcell.

15. A non-transitory computer storage medium encoded with a computer program, the program comprising instructions that are operable, when executed by data processing apparatus, to cause the data processing apparatus to perform the operations comprising:

receiving, by a motion planner that runs one or more path planning algorithms, and in response to receiving a request to generate a path for a robot between a start point and an end point in a workcell of the robot, a plurality of different waypoints each corresponding to a possible configuration of the robot within the workcell, wherein the workcell is associated with one or more soft margins that define respective spaces surrounding objects in the workcell, wherein one or more of the plurality of different waypoints lie within a soft margin and wherein one or more of the plurality of different waypoints lie in free space outside of all of the one or more soft margins;

generating a plurality of path segments between the plurality of different waypoints in the workcell;

identifying one or more crossing path segments that each cross over a boundary of a soft margin in the workcell;

partitioning each of the one or more crossing path segments at the soft margin boundary to generate respective pairs of path segments, wherein each generated pair of path segments includes a first path segment lying within a soft margin and a second path segment lying within free space outside all of the one or more soft margins;

generating a respective cost for each of the plurality of path segments within the workcell, wherein the generated path segments that are inside a soft margin have a higher cost than generated path segments that are outside all of the one or more soft margins;

generating, from the plurality of path segments, one or more alternative paths between the start point and the end point in the work cell, including generating a first path that passes through at least one waypoint inside the soft margin and generating a second path that does not pass through any waypoints that are inside the soft margin;

generating a respective total cost of each of the one or more alternative paths according at least to the respective costs for the path segments inside the soft margin and for the path segments outside the soft margin;

selecting, based on the respective total costs of the one or more alternative paths, the first path that passes through the at least one waypoint inside the soft margin; and

submitting, by the motion planner, the first path that passes through the at least one waypoint inside the soft margin to an onsite execution engine for execution by the robot.

16. The non-transitory computer storage medium of claim 15 , wherein identifying the one or more crossing path segments depends on a specified speed of the robot.

17. The non-transitory computer storage medium of claim 15 , wherein generating the first path that passes through at least one waypoint inside the soft margin comprises generating a path that lies entirely within the soft margin.

18. The non-transitory computer storage medium of claim 17 , wherein the path that lies entirely within the soft margin connects two or more waypoints that lie within the soft margin.

19. The non-transitory computer storage medium of claim 15 , wherein generating the respective total cost of each of the one or more alternative paths further comprises:

generating the respective total cost of each of the one or more alternative paths according to a respective elapsed time required to traverse the alternative path.

20. The non-transitory computer storage medium of claim 19 , wherein the operations further comprise, for each of the one or more alternative paths:

generating the respective total cost of the alternative path from the respective costs of the one or more path segments within the alternative path.

21. The method of claim 1 , wherein the spaces to be avoided that are defined by the one or more soft margin values comprise spaces in which a likelihood of the robot causing a collision is above a predetermined threshold.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2021
From: X DEVELOPMENT LLC
To: INTRINSIC INNOVATION LLC
Reel/Frame 057650/0405 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 25, 2020
From: BUTTERFOSS, RYAN; DUPUIS, JEAN-FRANCOIS
To: X DEVELOPMENT LLC
Reel/Frame 054472/0589 →