IP Library Granted Patent US 12,053,890
Granted Patent B2
US 12,053,890 · App. 17/338,401 · Granted Aug 6, 2024

Robotic workspace introspection via force feedback

Inventors: Timothy Robert Kelch (San Jose, CA); Dirk Holz (Mountain View, CA)
Assignee: Intrinsic Innovation LLC
B25J9/1671B25J13/085
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 12,053,890
App. No.
17/338,401
Granted
Aug 6, 2024
Kind
B2
Abstract

In one aspect, there is provided a computer-implemented method that includes receiving a request to generate workcell data representing physical dimensions of a workcell having a physical robot arm, executing a calibration program that causes the physical robot arm to move within the workcell and record locations within the workcell at which the robot arm made contact with an object, generating, from the locations within the workcell at which one or more sensors of the robot arm recorded a resistance above a threshold, a representation of physical boundaries in the workcell, obtaining an initial virtual representation of the workcell, and updating the initial virtual representation of the workcell according to the representation of physical boundaries generated from executing the calibration program.

Claims (54)

1. A computer-implemented method comprising:

receiving a request to generate workcell data representing physical dimensions of a workcell having a physical robot arm;

receiving a plurality of contact points generated from an operator-guided survey using the physical robot arm to contact object in the workcell;

executing a calibration program that causes the physical robot arm to move within the workcell and record locations within the workcell at which the physical robot arm made contact with an object including evaluating different kinematic configurations for a same particular point within the workcell, including causing the physical robot arm to make contact with contact points that are not among the plurality of contact points generated from the operator-guided survey and that are between two contact points generated from the operator-guided survey;

determining that a first kinematic configuration for the particular point is valid and determining that a second kinematic configuration for the particular point is invalid due to contact of the physical robot arm with an object in the workcell;

generating, from the locations within the workcell at which one or more sensors of the physical robot arm recorded a resistance above a threshold, a representation of physical boundaries in the workcell;

obtaining an initial virtual representation of the workcell;

updating the initial virtual representation of the workcell according to the representation of physical boundaries generated from executing the calibration program;

receiving a request to generate a motion plan for an end effector of the physical robot to reach the particular point within the workcell; and

based on determining that executing the calibration program caused the physical robot to contact the object in the second kinematic configuration, generating a motion plan for the particular point in the workcell that uses the first kinematic configuration to avoid a collision of the physical robot with the object in the workcell.

2. The method of claim 1 , wherein the one or more sensors include a force sensor, and wherein recording the locations within the workcell at which the physical robot arm made contact with the object comprises recording locations at which the force sensor of the physical robot arm recorded the resistance above the threshold.

3. The method of claim 1 , wherein the one or more sensors include a torque sensor, and wherein recording the locations within the workcell at which the physical robot arm made contact with the object comprises recording locations at which the torque sensor of the physical robot arm recorded the resistance above the threshold.

4. The method of claim 1 , wherein executing the calibration program comprises automatically altering a direction of motion of the physical robot arm when the one or more sensors of the physical robot arm record the resistance above the threshold.

5. The method of claim 1 , further comprising:

identifying intersections between edges in the virtual representation of the workcell; and

updating the calibration program to cause the physical robot arm to contact the edges in the virtual representation.

6. The method of claim 1 , wherein updating the initial virtual representation comprises updating the dimensions of an object in the workcell or updating the location of an object in the workcell.

7. The method of claim 6 , wherein updating the location of the object comprises:

identifying a virtual representation of a physical object in the workcell;

updating the calibration program to cause the robot to contact the physical object to determine a location of the physical object in the workcell; and

updating the virtual representation with the determined location of the physical object.

8. The method of claim 1 , further comprising:

identifying, from the virtual representation of the workcell, a planar surface of a physical object in the workcell;

updating the calibration program to cause the robot to make contact with one or more points on the planar surface of the physical object in the workcell; and

updating, within the virtual representation of the workcell, the representation of the planar surface according to the one or more points on the planar surface that the robot contacted during execution of the calibration program.

9. A system comprising one or more computers, and one or more storage devices communicatively coupled to the one or more computers, wherein the one or more storage devices store instructions that, when executed by the one or more computers, cause the one or more computers to perform operations comprising:

receiving a request to generate workcell data representing physical dimensions of a workcell having a physical robot arm;

receiving a plurality of contact points generated from an operator-guided survey using the physical robot arm to contact object in the workcell;

executing a calibration program that causes the physical robot arm to move within the workcell and record locations within the workcell at which the physical robot arm made contact with an object including evaluating different kinematic configurations for a same particular point within the workcell, including causing the physical robot arm to make contact with contact points that are not among the plurality of contact points generated from the operator-guided survey and that are between two contact points generated from the operator-guided survey;

determining that a first kinematic configuration for the particular point is valid and determining that a second kinematic configuration for the particular point is invalid due to contact of the physical robot arm with an object in the workcell;

generating, from the locations within the workcell at which one or more sensors of the physical robot arm recorded a resistance above a threshold, a representation of physical boundaries in the workcell;

obtaining an initial virtual representation of the workcell;

updating the initial virtual representation of the workcell according to the representation of physical boundaries generated from executing the calibration program;

receiving a request to generate a motion plan for an end effector of the physical robot to reach the particular point within the workcell; and

based on determining that executing the calibration program caused the physical robot to contact the object in the second kinematic configuration, generating a motion plan for the particular point in the workcell that uses the first kinematic configuration to avoid a collision of the physical robot with the object in the workcell.

10. The system of claim 9 , wherein the one or more sensors include a force sensor, and wherein recording the locations within the workcell at which the physical robot arm made contact with the object comprises recording locations at which the force sensor of the physical robot arm recorded the resistance above the threshold.

11. The system of claim 9 , wherein the one or more sensors include a torque sensor, and wherein recording the locations within the workcell at which the physical robot arm made contact with the object comprises recording locations at which the torque sensor of the physical robot arm recorded the resistance above the threshold.

12. The system of claim 9 , wherein executing the calibration program comprises automatically altering a direction of motion of the physical robot arm when the one or more sensors of the physical robot arm record the resistance above the threshold.

13. The system of claim 9 , further comprising:

identifying intersections between edges in the virtual representation of the workcell; and

updating the calibration program to cause the physical robot arm to contact the edges in the virtual representation.

14. One or more non-transitory computer storage media storing instructions that, when executed by one or more computers, cause the one or more computers to perform operations comprising:

receiving a request to generate workcell data representing physical dimensions of a workcell having a physical robot arm;

receiving a plurality of contact points generated from an operator-guided survey using the physical robot arm to contact object in the workcell;

executing a calibration program that causes the physical robot arm to move within the workcell and record locations within the workcell at which the physical robot arm made contact with an object including evaluating different kinematic configurations for a same particular point within the workcell, including causing the physical robot arm to make contact with contact points that are not among the plurality of contact points generated from the operator-guided survey and that are between two contact points generated from the operator-guided survey;

determining that a first kinematic configuration for the particular point is valid and determining that a second kinematic configuration for the particular point is invalid due to contact of the physical robot arm with an object in the workcell;

generating, from the locations within the workcell at which one or more sensors of the physical robot arm recorded a resistance above a threshold, a representation of physical boundaries in the workcell;

obtaining an initial virtual representation of the workcell;

updating the initial virtual representation of the workcell according to the representation of physical boundaries generated from executing the calibration program;

receiving a request to generate a motion plan for an end effector of the physical robot to reach the particular point within the workcell; and

based on determining that executing the calibration program caused the physical robot to contact the object in the second kinematic configuration, generating a motion plan for the particular point in the workcell that uses the first kinematic configuration to avoid a collision of the physical robot with the object in the workcell.

15. The one or more non-transitory computer storage media of claim 14 , wherein the one or more sensors include a force sensor, and wherein recording the locations within the workcell at which the physical robot arm made contact with the object comprises recording locations at which the force sensor of the physical robot arm recorded the resistance above the threshold.

16. The one or more non-transitory computer storage media of claim 14 , wherein the one or more sensors include a torque sensor, and wherein recording the locations within the workcell at which the physical robot arm made contact with the object comprises recording locations at which the torque sensor of the physical robot arm recorded the resistance above the threshold.

17. The one or more non-transitory computer storage media of claim 14 , wherein executing the calibration program comprises automatically altering a direction of motion of the robot arm when the one or more sensors of the physical robot arm record the resistance above the threshold.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2021
From: X DEVELOPMENT LLC
To: INTRINSIC INNOVATION LLC
Reel/Frame 057650/0405 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2021
From: KELCH, TIMOTHY ROBERT; HOLZ, DIRK
To: X DEVELOPMENT LLC
Reel/Frame 056610/0512 →