Patentable/Patents/US-12202146
US-12202146

Method of robotic system dynamic velocity modification

PublishedJanuary 21, 2025
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

A method and system for robotic motion planning which perform dynamic velocity attenuation to avoid robot collision with static or dynamic objects. The technique maintains the planned robot tool path even when speed reduction is necessary, by providing feedback of a computed slowdown ratio to a tracking controller so that the path computation is always synchronized with current robot speed. The technique uses both robot-obstacle distance and relative velocity to determine when to apply velocity attenuation, and computes a joint speed limit vector based on a robot-obstacle distance, a maximum obstacle speed, and a computed stopping time as a function of the joint speed. Two different control structure implementations are disclosed, both of which provide feedback of the slowdown ratio to the motion planner as needed for faithful path following. A method of establishing velocity attenuation priority in multi-robot systems is also provided.

Patent Claims
25 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method for adaptive robot velocity modification, said method executed on one or more computing devices and comprising: providing a robot reference path which defines a robot movement for a task to be performed by the robot; providing obstacle data characterizing obstacles in a robot workspace; performing a robot velocity modification calculation when indicated by the obstacle data, including determining a joint speed limit for each joint in the robot, and calculating a robot slowdown ratio as a minimum value, among all of the joints, of the joint speed limit divided by a maximum speed for each joint; computing a commanded robot motion using the robot slowdown ratio and a desired robot motion; using the robot slowdown ratio to compute a new position along the robot reference path, and using the new position along the robot reference path to compute the desired robot motion for a next robot control cycle; and providing the commanded robot motion to a controller module which controls motions of the robot.

2

2. The method according to claim 1 wherein the desired robot motion and the commanded robot motion are vectors including a value for each of the joints in robot joint coordinates, and the robot reference path is either a tool center point path defined in Cartesian space or a robot motion defined in joint space.

3

3. The method according to claim 1 wherein performing a robot velocity modification calculation when indicated by the obstacle data includes performing the robot velocity modification calculation only when a robot-obstacle minimum distance is less than a predetermined threshold and simultaneously a robot-obstacle relative velocity is less than zero.

4

4. The method according to claim 1 wherein performing a robot velocity modification calculation includes performing an optimization computation having an objective function which minimizes deviation of a computed robot motion from the desired robot motion and an inequality constraint which dictates that a magnitude of a computed joint speed is less than or equal to the joint speed limit for each joint in the robot.

5

5. The method according to claim 1 wherein the joint speed limit for each joint in the robot is computed using an equation including a robot stop time and predefined maximum values of robot joint velocity, acceleration and jerk, and the joint speed limit for each joint is defined to have a minimum value of zero.

6

6. The method according to claim 5 wherein the robot stop time is computed as a function of the obstacle data and robot capability data.

7

7. The method according to claim 1 wherein providing obstacle data includes providing the obstacle data by a perception system including one or more cameras or sensors configured to detect any obstacle in the workspace.

8

8. The method according to claim 1 wherein the method for adaptive robot velocity modification is used by two or more robots having overlapping motion envelopes in the robot workspace, where each robot's controller communicates its state data to all other robot controllers to be used as the obstacle data, and where each of the robots is assigned a priority order for its velocity modification calculations at each robot control cycle.

9

9. The method according to claim 8 wherein the priority order is assigned based on a distance of each of the robots from a path overlap area, where a smaller distance to the overlap area corresponds to a higher priority, or the priority order is assigned based on acceleration/deceleration capability of the robots, or the priority order is assigned based on a user-defined preference.

10

10. The method according to claim 8 wherein the robot velocity modification calculation is performed for each of the robots in sequence, in descending priority order beginning with a highest priority robot, and where a value of the robot slowdown ratio for each robot is capped to be less than or equal to the value of the robot slowdown ratio for an immediately higher priority robot.

11

11. The method according to claim 1 wherein the robot velocity modification calculation is performed by a processor in a computer, where the robot slowdown ratio is provided as feedback to a tracking module running on the computer which computes the desired robot motion for the next robot control cycle, and the commanded robot motion is provided from the computer to a robot controller which performs closed-loop feedback control of the motions of the robot.

12

12. The method according to claim 1 wherein the robot velocity modification calculation is performed by a processor in a robot controller, where the robot slowdown ratio is provided to a motion system running on the robot controller, where the motion system computes the desired robot motion for the next robot control cycle using the robot slowdown ratio, and the motion system computes the commanded robot motion using the robot slowdown ratio and the desired robot motion and provides the commanded robot motion to a servo control module of the robot controller which performs closed-loop feedback control of the motions of the robot.

13

13. A method for adaptive robot velocity modification, said method executed on one or more computing devices and comprising: providing a robot reference path which defines a robot movement for a task to be performed by the robot; providing obstacle data characterizing obstacles in a robot workspace; performing a robot velocity modification calculation when indicated by the obstacle data, including determining a joint speed limit for each joint in the robot, and calculating a robot slowdown ratio as a minimum value, among all of the joints, of the joint speed limit divided by a maximum speed for each joint, where the robot velocity modification calculation includes an optimization computation having an objective function which minimizes deviation of a computed robot motion from a desired robot motion and an inequality constraint which dictates that a magnitude of a computed joint speed is less than or equal to the joint speed limit for each joint in the robot, and the joint speed limit for each joint is computed using an equation including a robot stop time and predefined maximum values of robot joint velocity, acceleration and jerk, and the robot stop time is computed as a function of the obstacle data and robot capability data; computing a commanded robot motion using the robot slowdown ratio and the desired robot motion; using the robot slowdown ratio to compute a new position along the robot reference path, and using the new position along the robot reference path to compute the desired robot motion for a next robot control cycle; and providing the commanded robot motion to a controller module which controls motions of the robot.

14

14. A system for adaptive robot velocity modification, said system comprising: means for parameterizing a robot reference path from a set of interpolation points to a continuous reference path defined as a function of a path length; means for providing obstacle data characterizing obstacles in a robot workspace; means for performing a robot velocity modification calculation when indicated by the obstacle data, including determining a joint speed limit for each joint in the robot, and calculating a robot slowdown ratio as a minimum value, among all of the joints, of the joint speed limit divided by a maximum speed for each joint; means for computing a commanded robot motion using the robot slowdown ratio and a desired robot motion; means for using the robot slowdown ratio to compute a new position along a robot reference path, and using the new position along the robot reference path to compute the desired robot motion for a next robot control cycle; and a robot in communication with the means for computing a commanded robot motion, said robot executing the commanded robot motion.

15

15. The system according to claim 14 wherein the desired robot motion and the commanded robot motion are vectors including a value for each of the joints in robot joint coordinates, and the robot reference path is either a tool center point path defined in Cartesian space or a robot motion defined in joint space.

16

16. The system according to claim 14 wherein performing a robot velocity modification calculation when indicated by the obstacle data includes performing the robot velocity modification calculation only when a robot-obstacle minimum distance is less than a predetermined threshold and simultaneously a robot-obstacle relative velocity is less than zero.

17

17. The system according to claim 14 wherein performing a robot velocity modification calculation includes performing an optimization computation having an objective function which minimizes deviation of a computed robot motion from the desired robot motion and an inequality constraint which dictates that a magnitude of a computed joint speed is less than or equal to the joint speed limit for each joint in the robot.

18

18. The system according to claim 14 wherein the joint speed limit for each joint in the robot is computed using an equation including a robot stop time and predefined maximum values of robot joint velocity, acceleration and jerk, and the joint speed limit for each joint is defined to have a minimum value of zero.

19

19. The system according to claim 18 wherein the robot stop time is computed as a function of the obstacle data and robot capability data.

20

20. The system according to claim 14 wherein the means for providing obstacle data is a perception system including one or more cameras or sensors configured to detect any obstacle in the workspace.

21

21. The system according to claim 14 wherein the system includes two or more robots having overlapping motion envelopes in the robot workspace, and the means for providing obstacle data is controllers of other robots in the system, where robot state data from the controllers of the other robots is used as the obstacle data, and where each of the robots is assigned a priority order for its velocity modification calculations at each robot control cycle.

22

22. The system according to claim 21 wherein the priority order is assigned based on a distance of each of the robots from a path overlap area, where a smaller distance to the overlap area corresponds to a higher priority, or the priority order is assigned based on acceleration/deceleration capability of the robots, or the priority order is assigned based on a user-defined preference.

23

23. The system according to claim 21 wherein the robot velocity modification calculation is performed for each of the robots in sequence, in descending priority order beginning with a highest priority robot, and where a value of the robot slowdown ratio for each robot is capped to be less than or equal to the value of the robot slowdown ratio for an immediately higher priority robot.

24

24. The system according to claim 14 wherein the means for performing a robot velocity modification calculation, the means for computing a commanded robot motion and the means for using the robot slowdown ratio to compute a new position are a computer having a processor, where the robot slowdown ratio is provided as feedback to a tracking module running on the computer which computes the desired robot motion for the next robot control cycle, and the commanded robot motion is provided from the computer to a robot controller which performs closed-loop feedback control of the joint motions of the robot.

25

25. The system according to claim 14 wherein the performing a robot velocity modification calculation, the means for computing a commanded robot motion and the means for using the robot slowdown ratio to compute a new position are a robot controller having a processor, where the robot slowdown ratio is provided to a motion system running on the robot controller, where the motion system computes the desired robot motion for the next robot control cycle using the robot slowdown ratio, and the motion system computes the commanded robot motion using the robot slowdown ratio and the desired robot motion and provides the commanded robot motion to a servo control module of the robot controller which performs closed-loop feedback control of motions of the robot.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

October 15, 2021

Publication Date

January 21, 2025

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Method of robotic system dynamic velocity modification” (US-12202146). https://patentable.app/patents/US-12202146

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.