IP Library › Granted Patent US 11,597,084
Granted Patent B2
US 11,597,084 · App. 16/570,736 · Granted Mar 7, 2023

Controlling robot torque and velocity based on context

Inventors: David M. S. Johnson (Cambridge, MA); Syler Wagner (Somerville, MA); Steven Lines (Brookline, MA)
Assignee: The Charles Stark Draper Laboratory, Inc.
B25J9/1666B25J9/0009B25J9/16B25J9/161B25J9/1633B25J9/1653B25J9/1664B25J9/1674B25J9/1676B25J9/1682B25J9/1687B25J9/1697B25J11/0045B25J13/003B25J13/085B25J13/088B25J15/0052B25J15/0408B25J19/0083B25J19/023B65G1/137G05D1/02G06N3/08G06Q10/06316G06V40/28G10L15/22A47J44/00G05B19/4061G05B2219/32335G05B2219/39001G05B2219/39091G05B2219/39319G05B2219/39342G05B2219/39468G05B2219/40201G05B2219/40202G05B2219/40411G05B2219/40497G05B2219/45111G05B2219/49157G05B2219/50391H04L67/12
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,597,084
App. No.
16/570,736
Granted
Mar 7, 2023
Kind
B2
Abstract

In an embodiment, a method includes identifying a force and torque for a robot to accomplish a task and identifying context of a portion of a movement plan indicating motion of the robot to perform the task. Based on the identified force, torque, and context, a context specific torque is determined for at least one aspect of the robot while the robot executes the portion of the movement plan. In turn, a control signal is generated for the at least one aspect of the robot to operate in accordance with the determined context specific torque.

Claims (54)

1. A method comprising:

identifying a respective minimum force and a respective minimum torque for a robot to execute each portion of a plurality of portions of a movement plan indicating motion of the robot to perform a task in an environment;

receiving real-time data from one or more sensors in the environment;

identifying a respective context of each portion of the plurality of portions of the movement plan using the received real-time data;

based on the identified respective minimum force, respective minimum torque, and the respective context, determining a respective context specific torque for each of the plurality of portions, for at least one aspect of the robot, while the robot executes each portion of the movement plan; and

modifying the motion plan to control at least one aspect of the robot to operate in accordance with each respective determined context specific torque.

2. The method of claim 1 , wherein modifying the motion plan comprises:

controlling the at least one aspect of the robot to operate by limiting the at least one aspect to each respective determined context specific torque.

3. The method of claim 1 , wherein identifying the respective context of each portion of the movement plan comprises at least one of:

determining a likelihood of accident during at least one portion of the movement plan based on standards for (i) speed and separation limits and (ii) allowable harm;

identifying expected resistance encountered by the robot during at least one portion of the movement plan using a model of the environment;

processing context data using a neural network, trained on labeled context data indicating if contact occurs under conditions of the labeled context data, to determine if contact occurs during at least one portion of the movement plan;

identifying physical objects in the environment to determine proximity of the robot to the physical objects during at least one portion of the movement plan;

analyzing a computer based model of the environment to determine proximity of the robot to physical objects during at least one portion of the movement plan;

performing a computer-based simulation of the environment using (i) the movement plan, (ii) a computer-based model of the environment, and (iii) a computer-based model of the robot, to predict motion of the robot during at least one portion of the movement plan;

processing data related to at least one of the robot, the task, the movement plan and the environment using a neural network trained to determine respective context of at least one portion of the movement plan given the data related to at least one of the robot, the task, the movement plan and the environment of the robot; and

identifying a tool or a tool category being used by the robot during at least one portion of the movement plan.

4. The method of claim 1 , wherein identifying the respective context of each portion of the movement plan comprises identifying a tool or a tool category being used by the robot during at least one portion of the movement plan and the identified tool or tool category indicates a specific operating torque and where the received real-time data and the specific operating torque are used in determining a respective context specific torque for the at least one portion.

5. The method of claim 1 , wherein the identified context for at least one portion is at least one of: (a) free space, (b) active contact, (c) collision, (d) anticipated collision, (e) a likelihood of accident during the at least one portion of the movement plan based on standards for (1) speed and separation limits and (2) allowable harm, (f) the task performed by the robot, (g) a set of possible colliding objects, where each object has an object class, and the object class indicates a severity of a collision with the object, (h) a probability distribution of possible colliding objects, (i) a probability distribution of one or more possible world configurations, (j) a continuous distribution of world configurations, and (k) a continuous distribution of objects.

6. The method of claim 5 , wherein at least one of the probability distribution of possible colliding objects, the probability distribution of one or more possible world configurations, the continuous distribution of world configurations, and the continuous distribution of objects indicate probability of contact between the robot and objects during the at least one portion of the movement plan.

7. The method of claim 1 , further comprising:

based on a given respective identified context, determining a context specific velocity and a context specific position limit for the at least one aspect of the robot while the robot executes at least one portion of the movement plan.

8. The method of claim 7 , wherein a given respective context specific torque, the context specific velocity, and the context specific position limit are computed by choosing limits which, based on a probability distribution, have a probability of safe operation in accordance with a specified standard.

9. The method of claim 7 , wherein a given respective context specific torque, the context specific velocity, and the context specific position limit are determined using at least one of:

a monte carlo analysis that determines a stopping distance of the robot, maximum allowed velocity of the robot, and maximum allowed torque of the robot by simulating one or more of object collisions, object detection rates, communication failures, and camera failures, wherein the given respective context specific torque, the context specific velocity, and the context specific position limit are based on the determined stopping distance, maximum allowed velocity, and maximum allowed torque; and

a non-linear trajectory optimization using a collision probability and severity distribution as a cost function to directly compute a trajectory of the robot during at least one portion of the movement plan which minimizes collision costs wherein the given respective context specific torque, the context specific velocity, and the context specific position limit are based on the computed trajectory.

10. The method of claim 9 , wherein the collision probability and severity distribution is generated from a simulation of possible ingressing objects, or from direct measurements of objects interacting with the robot, wherein results of the simulation or the measurements are used to create a set of possible objects, or a function is fit to the results of the simulation or the measurements to generate the collision probability and severity distribution.

11. The method of claim 7 wherein feed-forward torque is used to generate motion of the robot and the method further comprises:

using a low-gain feedback controller implementing the feed-forward torque to control tracking of the at least one aspect of the robot against a reference trajectory that is in accordance with at least one of the context specific position limit, the context specific velocity, acceleration, and a given respective context specific torque.

12. The method of claim 11 , wherein the given respective context specific torque, the context specific velocity, and the context specific position limit are determined in accordance with velocity and torque limits required by a safety analysis and the feedback controller is designed based on tracking a desired trajectory of the robot and meeting the given respective context specific torque, the context specific velocity, and the context specific position limit.

13. The method of claim 7 , wherein:

identifying the given respective context of the at least one portion of the movement plan includes detecting, with the one or more sensors, at least one obstacle in the environment of the robot; and

wherein, at least one of a given respective context specific torque, the context specific velocity, and the context specific position limit are determined to avoid collision between the robot and the detected obstacle.

14. The method of claim 1 , wherein identifying a respective context of each portion of the movement plan comprises:

continuously computing a current stopping distance of the robot to evaluate an instantaneous torque limit, velocity limit, and acceleration limit based on appearance of previously unknown obstacles in the environment including the robot, wherein at least one identified context includes the computed current stopping distance.

15. The method of claim 1 , wherein a feed-forward torque controller is employed to generate motion of the robot and the method further comprises:

using a collision severity and probability density function as a cost function for the feed-forward torque controller, determining a trajectory of the robot which has a low probability of causing a collision, given a modeled likelihood of unknown objects appearing in the environment.

16. The method of claim 1 , wherein the at least one aspect of the robot is one of a joint, a hydraulic system, an electric actuator, an air driven actuator, or an end effector tool.

17. A system comprising:

a processor; and

a memory with computer code instructions stored thereon, the processor and the memory, with the computer code instructions, being configured to cause the system to:

identify a respective minimum force and a respective minimum torque for a robot to execute each portion of a plurality of portions of a movement plan indicating motion of the robot to perform a task in an environment;

receive real-time data from one or more sensors in the environment;

identify a respective context of each portion of the plurality of portions of the movement plan using the received real-time data;

based on the identified respective minimum force, respective minimum torque, and the respective context, determine a respective context specific torque for each of the plurality of portions, for at least one aspect of the robot, while the robot executes each portion of the movement plan; and

modify the motion plan to control at least one aspect of the robot to operate in accordance with each respective determined context specific torque.

18. The system of claim 17 wherein, in modifying the motion plan, the processor and the memory, with the computer code instructions, are configured to cause the system to:

control the at least one aspect of the robot to operate by limiting the at least one aspect to each respective determined context specific torque.

19. A non-transitory computer program product comprising a computer-readable medium with computer code instructions stored thereon, the computer code instructions being configured, when executed by a processor, to cause an apparatus associated with the processor to:

identify a respective minimum force and a respective minimum torque for a robot to execute each portion of a plurality of portions of a movement plan indicating motion of the robot to perform a task in an environment;

receive real-time data from one or more sensors in the environment;

identify a respective context of each portion of the plurality of portions of the movement plan using the received real-time data;

based on the identified respective minimum force, respective minimum torque, and the respective context, determine a respective context specific torque for each of the plurality of portions, for at least one aspect of the robot, while the robot executes each portion of the movement plan; and

modify the motion plan to control the at least one aspect of the robot to operate in accordance with each respective determined context specific torque.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2025
From: THE CHARLES STARK DRAPER LABORATORY, INC.
To: DEXAI ROBOTICS, INC.
Reel/Frame 071796/0179 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TYPOGRAPHICAL ERROR IN ASSIGNEE NAME FROM THE CHARLES START DRAPER LABORATORY, INC. TO CHARLES STARK DRAPER LABORATORY, INC. PREVIOUSLY RECORDED AT REEL: 66964 FRAME: 614. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Apr 5, 2024
From: THE CHARLES STARK DRAPER LABORATORY, INC.
To: DEXAI ROBOTICS, INC.
Reel/Frame 067845/0985 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2024
From: THE CHARLES START DRAPER LABORATORY, INC.
To: DEXAI ROBOTICS, INC.
Reel/Frame 066964/0614 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2023
From: JOHNSON, DAVID M.S.; WAGNER, SYLER; HEBERT, MITCHELL
To: THE CHARLES STARK DRAPER LABORATORY, INC.
Reel/Frame 062530/0838 →
Continuity (7)
Provisional Application 62731398 · Sep 14, 2018
Provisional Application 62730947 · Sep 13, 2018
Provisional Application 62730933 · Sep 13, 2018
Provisional Application 62730934 · Sep 13, 2018
Provisional Application 62730918 · Sep 13, 2018
Provisional Application 62730703 · Sep 13, 2018
Related Publication 20200086482A1 · Mar 19, 2020
Cited By (1)
US 12,205,594