Robot joint space graph path planning and move execution

US11673267B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11673267-B2
Application numberUS-202217963081-A
CountryUS
Kind codeB2
Filing dateOct 10, 2022
Priority dateSep 23, 2020
Publication dateJun 13, 2023
Grant dateJun 13, 2023

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A system includes a robot with a robot arm having multiple joints and an end effector to carry a substrate. A processing device is to build, with respect to a joint space for the multiple joints and the end effector, a graph of reachable positions and sub-paths between the reachable positions, wherein the reachable positions and the sub-paths satisfy Cartesian limits within the joint space. The processing device is to determine, by executing a graph optimization algorithm on the graph, multiple paths, each made up of a group of the sub-paths and having one of a shortest distance or a lowest cost between a start point and an end point of the end effector. The processing device is to select a path, of the multiple paths, through the graph that minimizes a move time of the end effector between the start point and the end point.

First claim

Opening claim text (preview).

What is claimed is: 1. A system comprising: a robot comprising a robot arm having multiple joints and one or more end effector, the one or more end effector to carry a substrate; and a processing device coupled to the robot, the processing device to: build, with respect to a joint space for the multiple joints and the one or more end effector, a graph of reachable positions and sub-paths between the reachable positions, wherein the reachable positions and the sub-paths satisfy Cartesian limits within the joint space; determine, by executing a graph optimization algorithm on the graph, multiple paths, each made up of a group of the sub-paths and having one of a shortest distance or a lowest cost between a start point and an end point of the one or more end effector; and select a path, of the multiple paths, through the graph that minimizes a move time of the one or more end effector between the start point and the end point. 2. The system of claim 1 , wherein the processing device is further to direct the robot arm to transfer the substrate over the path through the joint space. 3. The system of claim 1 , wherein the reachable positions are represented as nodes and the sub-paths between the reachable positions are represented as edges in the graph, and to build the graph, the processing device is further to: identify a plurality of nodes, each node being reachable by one of the multiple joints or the one or more end effector and satisfying the Cartesian limits of the robot arm; add edges that linearly interpolate between nearest neighbor nodes of the plurality of nodes, wherein each edge also satisfies the Cartesian limits; and calculate distances of the edges with which to execute the graph optimization algorithm. 4. The system of claim 1 , wherein to minimize the move time of the one or more end effector, the processing device is further to: randomly vary velocity limits and acceleration limits for velocity profiles of each move of a joint, of the multiple joints, between nearest neighbor reachable positions and through the multiple paths; verify that torque limits on one or more motors that move the robot arm are satisfied in view of the velocity limits and the acceleration limits that are varied; and verify that a maximum acceleration limit of the one or more end effector is satisfied. 5. The system of claim 4 , wherein the processing device is further to iteratively perform the randomly varying of the velocity limits and the acceleration limits for each joint of the multiple joints while keeping track of a shortest move time until convergence on a minimum move time for the path. 6. The system of claim 1 , wherein the processing device is further to: identify additional paths of the multiple paths that minimize move time to additional end points; and in response to the robot waking up: determine a location in the joint space of a primary end effector of the one or more end effector; determine a closest of the additional end points to the location; select an additional path, of the additional paths, based on the location; and direct the robot arm to return to a home position at the start point via the selected additional path. 7. The system of claim 1 , wherein the graph optimization algorithm comprises one of the Dijkstra graph algorithm or the A* search algorithm. 8. The system of claim 1 , wherein, within four to six radians of distance of a joint of the multiple joints, a granularity of the reachable positions is between 7 and 15 reachable positions. 9. The system of claim 1 , wherein the one or more end effector comprises a primary end effector and a passive end effector, and to select the path, the processing device is further to ensure the passive and primary end effectors satisfy acceleration limits while minimizing move time of the primary end effector. 10. A method comprising: building, with respect to a joint space for multiple joints and one or more end effector of a robot arm, a graph of reachable positions and sub-paths between the reachable positions, wherein the reachable positions and the sub-paths satisfy Cartesian limits within the joint space; determining multiple paths through the graph by executing, with a processing device, a graph optimization algorithm on the graph, wherein each path of the multiple paths comprises a group of the sub-paths and has one of a shortest distance or a lowest cost between a start point and an end point of the one or more end effector; and selecting a path, of the multiple paths, through the graph that minimizes a move time of the one or more end effector between the start point and the end point. 11. The method of claim 10 , further comprising directing the robot arm to transfer a substrate on the one or more end effector over the path through the joint space. 12. The method of claim 10 , wherein the reachable positions are represented as nodes and the sub-paths between the reachable positions are represented as edges in the graph, and building the graph further comprises: identifying a plurality of nodes, each node being reachable by one of the multiple joints or the one or more end effector and satisfying the Cartesian limits of the robot arm; adding edges that linearly interpolate between nearest neighbor nodes of the plurality of nodes, wherein each edge also satisfies the Cartesian limits; and calculating distances of the edges with which to execute the graph optimization algorithm. 13. The method of claim 10 , wherein to minimize the move time of the one or more end effector, the method further comprising: randomly varying velocity limits and acceleration limits for velocity profiles of each move of a joint, of the multiple joints, between nearest neighbor reachable positions and through the multiple paths; verifying that torque limits on one or more motors that move the robot arm are satisfied in view of the velocity limits and the acceleration limits that are varied; and verifying that a maximum acceleration limit of the one or more end effector is satisfied. 14. The method of claim 13 , further comprising iteratively performing the randomly varying of the velocity limits and the acceleration limits for each joint of the multiple joints while keeping track of a shortest move time until convergence on a minimum move time for the path. 15. The method of claim 10 , further comprising: identifying additional paths of the multiple paths that minimize move time to additional end points; and in response to the robot waking up: determining a location in the joint space of a primary end effector of the one or more end effector; determining a closest of the additional end points to the location; selecting an additional path, of the additional paths, based on the location; and directing the robot arm to return to a home position at the start point via the selected additional path. 16. The method of claim 10 , wherein the graph optimization algorithm comprises one of the Dijkstra graph algorithm or the A* search algorithm. 17. The method of claim 10 , wherein, within four to six radians of distance of a joint of the multiple joints, a granularity of the reachable positions is between 7 and 15 reachable positions. 18. The method of claim 10 , wherein the one or more end effector comprises a primary end effector and a passive end effector, and selecting the path further comprising ensuring the passive and primary end effectors satisfy acceleration limits while minimizing move time of the primary end effector. 19. A non-transitory computer-readab

Assignees

Inventors

Classifications

  • B25J9/1664Primary

    characterised by motion, path, trajectory planning · CPC title

  • Minimize time-energy cost · CPC title

  • Hardware, e.g. neural networks, fuzzy logic, interfaces, processor · CPC title

  • Wrist joints · CPC title

  • acceleration, rate control · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11673267B2 cover?
A system includes a robot with a robot arm having multiple joints and an end effector to carry a substrate. A processing device is to build, with respect to a joint space for the multiple joints and the end effector, a graph of reachable positions and sub-paths between the reachable positions, wherein the reachable positions and the sub-paths satisfy Cartesian limits within the joint space. The…
Who is the assignee on this patent?
Applied Materials Inc
What technology area does this patent fall under?
Primary CPC classification B25J9/1664. Mapped technology areas include Operations & Transport.
When was this patent published?
Publication date Tue Jun 13 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).