IP Library Granted Patent US 9,186,795
Granted Patent B1
US 9,186,795 · App. 14/312,877 · Granted Nov 17, 2015

Programming and execution of force-based tasks with torque-controlled robot arms

Inventors: Aaron Edsinger (San Francisco, CA); Advait Jain (San Francisco, CA); Anthony Jules (Oakland, CA)
B25J9/1664B25J9/1633G05B19/416G05B2219/43203
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 9,186,795
App. No.
14/312,877
Granted
Nov 17, 2015
Kind
B1
Abstract

A robotic device may receive task information defining (i) a nominal trajectory for an end-effector coupled to a manipulator of the robotic device, and (ii) forces to be exerted by the end-effector along the nominal trajectory; determining, based on the task information, a modified trajectory that is offset from the nominal trajectory; determining, based on the modified trajectory and the forces, torques to be applied to the manipulator over time; causing the torques to be applied to the manipulator so as to cause the end-effector to follow the modified trajectory and substantially exert the forces along the modified trajectory; receiving force feedback information from a sensor coupled to the robotic device indicating respective forces being experienced by the end-effector at respective points along the modified trajectory; and adjusting the torques to be applied to the manipulator based on the force feedback information.

Claims (66)

1. A method comprising:

receiving task information defining (i) a nominal trajectory for an end-effector coupled to a manipulator of a robotic device, and (ii) forces to be exerted by the end-effector at points along the nominal trajectory, wherein the robotic device includes a joint coupled to the manipulator;

determining, based on the task information, a modified trajectory that is offset from the nominal trajectory so as to cause the forces to be exerted by the end-effector;

determining, based on the modified trajectory and the forces, torques to be applied to the manipulator via the joint of the robotic device over time;

causing the torques to be applied to the manipulator via the joint so as to cause the end-effector to follow the modified trajectory and substantially exert the forces along the modified trajectory;

as the end-effector follows the modified trajectory, receiving force feedback information from a sensor coupled to the robotic device indicating respective forces being experienced by the end-effector at respective points along the modified trajectory; and

adjusting the torques to be applied to the manipulator based on the force feedback information as the end-effector follows the modified trajectory.

2. The method of claim 1 , further comprising:

adjusting a speed of motion of the end-effector based on the force feedback information as the end-effector follows the modified trajectory.

3. The method of claim 2 , wherein the force feedback information indicates that a given force being experienced by the end-effector at a given point is larger than a force defined by the task information for the given point, wherein adjusting the speed of motion of the end-effector comprises:

causing the speed of motion the end-effector to be reduced.

4. The method of claim 1 , further comprising:

causing the end-effector to repeat a portion of the modified trajectory based on the force feedback information indicating that a given force being experienced by the end-effector at a given point along the modified trajectory is greater than a threshold force.

5. The method of claim 1 , wherein adjusting the torques to be applied to the manipulator causes the end-effector to deviate from the modified trajectory.

6. The method of claim 1 , wherein the nominal trajectory is associated with a contour of an object, and the forces are to be exerted by the end-effector on the object.

7. The method of claim 6 , wherein the offset between points of the modified trajectory and the points of the nominal trajectory is proportional to the forces defined by the task information.

8. The method of claim 6 , further comprising:

determining an initial orientation for the end-effector; and

modifying the initial orientation of the end-effector based on the force feedback information so as to maintain contact between the end-effector and a surface of the object as the end-effector follows the modified trajectory.

9. The method of claim 6 , further comprising:

receiving material property information indicative of a type of material of the object; and

determining a speed of motion of the end-effector while following the modified trajectory and pressures to be exerted by the end-effector to induce the forces defined by the task information based on the material property information.

10. The method of claim 1 , further comprising:

generating a display of the nominal trajectory, the modified trajectory, and a visual indication of direction and magnitude of the forces to be applied by the end-effector along the modified trajectory;

receiving, based on interaction with the display, an input indicative of a request to change one or more of the nominal trajectory, the modified trajectory, and the direction and magnitude of the forces to be applied by the end-effector along the modified trajectory; and

in response to receiving the input, revising the torques to be applied to the manipulator based on the force feedback information as the end-effector follows the modified trajectory.

11. The method of claim 1 , further comprising:

receiving feedback responsive to the end-effector following a portion of the modified trajectory, wherein the feedback is indicative of success or failure in following the portion;

adjusting one or more of (i) the modified trajectory, and (ii) the torques to be applied to the manipulator based on the feedback; and

causing the end-effector to repeat the portion based on adjustments to the one or more of (i) the modified trajectory, and (ii) the torques.

12. The method of claim 1 , further comprising:

receiving revised task information, wherein the task information is revised based on the force feedback information; and

determining a revised trajectory to be followed by the end-effector based on the revised task information.

13. A non-transitory computer readable memory having stored thereon instructions that, when executed by a computing device, cause the computing device to perform functions comprising:

receiving task information defining (i) a nominal trajectory for an end-effector coupled to a manipulator of a robotic device, and (ii) forces to be exerted by the end-effector at points along the nominal trajectory, wherein the robotic device includes a joint coupled to the manipulator;

determining, based on the task information, a modified trajectory that is offset from the nominal trajectory so as to cause the forces to be exerted by the end-effector;

determining, based on the modified trajectory and the forces, torques to be applied to the manipulator via the joint of the robotic device over time;

causing the torques to be applied to the manipulator via the joint so as to cause the end-effector to follow the modified trajectory and substantially exert the forces along the modified trajectory;

as the end-effector follows the modified trajectory, receiving force feedback information from a sensor coupled to the robotic device indicating respective forces being experienced by the end-effector at respective points along the modified trajectory; and

adjusting the torques to be applied to the manipulator based on the force feedback information as the end-effector follows the modified trajectory.

14. The non-transitory computer readable memory of claim 13 , wherein the functions further comprise:

adjusting a speed of motion of the end-effector based on the force feedback information as the end-effector follows the modified trajectory.

15. The non-transitory computer readable memory of claim 14 , wherein the force feedback information indicates that a given force being experienced by the end-effector at a given point is larger than a force defined by the task information for the given point, and wherein the function of adjusting the speed of motion of the end-effector comprises:

causing the speed of motion the end-effector to be reduced.

16. The non-transitory computer readable memory of claim 13 , wherein the nominal trajectory is associated with a contour of an object, and the forces are to be exerted by the end-effector on the object.

17. The non-transitory computer readable memory of claim 16 , wherein the offset between points of the modified trajectory and the points of the nominal trajectory is proportional to the forces defined by the task information.

18. A robotic device, comprising:

a manipulator;

an end-effector coupled to the manipulator;

a sensor;

a joint coupled to the manipulator;

one or more processors; and

memory configured to store instructions, that when executed by the one or more processors, cause the robotic device to perform functions comprising:

receiving task information defining (i) a nominal trajectory for the end-effector, and (ii) forces to be exerted by the end-effector at points along the nominal trajectory;

determining, based on the task information, a modified trajectory that is offset from the nominal trajectory so as to cause the forces to be exerted by the end-effector;

determining, based on the modified trajectory and the forces, torques to be applied to the manipulator via the joint over time;

causing the torques to be applied to the manipulator via the joint so as to cause the end-effector to follow the modified trajectory and substantially exert the forces along the modified trajectory;

as the end-effector follows the modified trajectory, receiving force feedback information from the sensor indicating respective forces being experienced by the end-effector at respective points along the modified trajectory; and

adjusting the torques to be applied to the manipulator based on the force feedback information as the end-effector follows the modified trajectory.

19. The robotic device of claim 18 , wherein the functions further comprise:

receiving material property information indicative of a type of material of an object; and

determining a speed of motion of the end-effector while following the modified trajectory and pressures to be exerted by the end-effector to induce the forces defined by the task information based on the material property information.

20. The robotic device of claim 18 , wherein the functions further comprise:

receiving feedback responsive to the end-effector following a portion of the modified trajectory, wherein the feedback is indicative of success or failure in following the portion;

adjusting one or more of (i) the modified trajectory, and (ii) the torques to be applied to the manipulator based on the feedback; and

causing the end-effector to repeat the portion based on adjustments to the one or more of (i) the modified trajectory, and (ii) the torques.

Assignments (7)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE REMOVAL OF THE INCORRECTLY RECORDED APPLICATION NUMBERS 14/149802 AND 15/419313 PREVIOUSLY RECORDED AT REEL: 44144 FRAME: 1. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME. Recorded Mar 4, 2024
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 068092/0502 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2018
From: REDWOOD ROBOTICS LLC
To: GOOGLE LLC
Reel/Frame 044547/0557 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2018
From: GOOGLE LLC
To: X DEVELOPMENT LLC
Reel/Frame 044547/0574 →
CHANGE OF NAME Recorded Jan 5, 2018
From: REDWOOD ROBOTICS, INC.
To: REDWOOD ROBOTICS LLC
Reel/Frame 045012/0947 →
CHANGE OF NAME Recorded Oct 6, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044144/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE'S NAME PREVIOUSLY RECORDED AT REEL: 033273 FRAME: 0384. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Oct 9, 2015
From: EDSINGER, AARON; JAIN, ADVAIT; JULES, ANTHONY
To: REDWOOD ROBOTICS, INC.
Reel/Frame 036821/0749 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2014
From: EDSINGER, AARON; JAIN, ADVAIT; JULES, ANTHONY
To: GOOGLE INC.
Reel/Frame 033273/0384 →
Continuity (1)
Provisional Application 61838718 · Jun 24, 2013