US11597084B2ActiveUtilityA1
Controlling robot torque and velocity based on context
Assignee: CHARLES STARK DRAPER LABORATORY INCPriority: Sep 13, 2018Filed: Sep 13, 2019Granted: Mar 7, 2023
Est. expirySep 13, 2038(~12.2 yrs left)· nominal 20-yr term from priority
G06N 3/0464B25J 9/1676B25J 9/1674G05B 2219/39342G05B 2219/40497B25J 9/1666G05B 2219/40202B25J 9/1697G05B 2219/39319G05B 2219/49157B25J 9/1682B25J 11/0045G05B 2219/39091G05B 2219/40411B25J 9/1653G05B 2219/39468B25J 9/1664A47J 44/00G05B 19/4061B25J 9/161G05B 2219/40201G06N 3/08B25J 19/023B25J 9/0009G10L 15/22B25J 15/0408B25J 13/003G06Q 10/06316B25J 9/16G05B 2219/45111B65G 1/137B25J 19/0083G05D 1/02H04L 67/12B25J 9/1633G05B 2219/32335G06V 40/28B25J 13/088G05B 2219/50391B25J 13/085B25J 9/1687G05B 2219/39001B25J 15/0052
90
PatentIndex Score
5
Cited by
224
References
19
Claims
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
exact text as granted — not AI-modifiedWhat is claimed is:
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.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.