IP Library Granted Patent US 10,150,213
Granted Patent B1
US 10,150,213 · App. 15/221,555 · Granted Dec 11, 2018

Guide placement by a robotic device

Inventors: Jeff Linnell (Woodside, CA); Marek Michalowski (San Francisco, CA); Kendra Byrne (San Francisco, CA); Brandon Kruysman (San Francisco, CA); Eli Reekmans (San Francisco, CA)
Assignee: X Development LLC
B25J9/0084B25J9/1679B25J9/1687B25J15/0028B25J9/009B25J9/0096G05B2219/50151
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 10,150,213
App. No.
15/221,555
Granted
Dec 11, 2018
Kind
B1
Abstract

Example implementations may relate to providing a dynamic jig in a three-dimensional (3D) coordinate system. Specifically, a control system may (i) receive task data specifying a manipulation of one or more parts at a specified location; (ii) determine: (a) one or more work surfaces and (b) a first position of each of the one or more work surfaces, such that the one or more work surfaces collectively provide a jig to facilitate the specified manipulation of the parts; (iii) a plurality of guide end effectors that are positionable by one or more robotic devices such that the end effectors provide the work surfaces at the respectively determined first positions; and (iv) operate the one or more robotic devices to position the guide end effectors to provide the one or more work surfaces at the respectively determined first positions, thereby forming the jig from the one or more work surfaces.

Claims (51)

1. A method comprising:

receiving, by a control system, task data specifying a manipulation of one or more parts at a specified location within a three-dimensional (3D) coordinate system;

based on the task data, the control system determining: (a) multiple work surfaces and (b) a first position of the multiple work surfaces in the 3D coordinate system, wherein, when dynamically assembled in the first position, the multiple work surfaces serve as a jig to facilitate the specified manipulation of the one or more parts at the specified location in the 3D coordinate system;

selecting, by the control system, from a plurality of end effectors, multiple different planar guide end effectors that are each positionable by a different articulated robotic arm, to dynamically assemble the multiple work surfaces that serve as the jig to facilitate the specified manipulation of the one or more parts, at the determined first position in the 3D coordinate system;

determining, by the control system, robot control data for operating the different articulated robotic arms to position the selected planar guide end effectors to dynamically assemble the multiple work surfaces at the determined first position in the 3D coordinate system; and

operating the different articulated robotic arms according to the robot control data.

2. The method of claim 1 , comprising:

based on the task data, determining, by the control system, a second position of the one or more parts, wherein the one or more parts are placed against the multiple work surfaces when positioned at the determined second position;

selecting, from a plurality of end effectors, one or more gripper end effectors to grip and position the one or more parts at the determined second position;

operating, by the control system, the different articulated robotic arms to position the one or more parts at the determined second position.

3. The method of claim 1 , comprising:

selecting, from a plurality of end effectors, one or more tool end effectors to perform the specified manipulation of the one or more parts;

determining robot control data for operating one or more robotic devices to perform the specified manipulation of the one or more parts, wherein the one or more robotic devices are equipped with the one or more tool end effectors; and

operating, by the control system, the one or more robotic devices to perform the specified manipulation of the one or more parts using the one or more tool end effectors.

4. The method of claim 1 , comprising, selecting, based on the task data, at least one work surface from a library of work surfaces stored in the non-transitory computer readable medium.

5. The method of claim 1 , wherein the multiple work surfaces are not assembled until after the task data specifying the manipulation of the one or more parts is received.

6. The method of claim 1 , wherein, when assembled, the shape of the multiple work surfaces is complementary to a shape of the one or more parts after the manipulation.

7. A control system comprising one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:

receiving task data specifying a manipulation of one or more parts at a specified location within a three-dimensional (3D) coordinate system;

based on the task data, determining: (a) multiple work surfaces and (b) a first position of the multiple work surfaces in the 3D coordinate system, wherein, when dynamically assembled in the first position, the multiple work surfaces serve as a jig to facilitate the specified manipulation of the one or more parts at the specified location in the 3D coordinate system;

selecting, from a plurality of end effectors, multiple different planar guide end effectors that are each positionable by a different articulated robotic arm, to dynamically assemble the multiple work surfaces that serve as the jig to facilitate the specified manipulation of the one or more parts, at the determined first position in the 3D coordinate system;

determining robot control data for operating the different articulated robotic arms to position the selected planar guide end effectors to dynamically assemble the multiple work surfaces at the determined first position in the 3D coordinate system; and

operating the different articulated robotic arms according to the robot control data.

8. The system of claim 7 , wherein the operations comprise:

based on the task data, determining a second position of the one or more parts, wherein the one or more parts are placed against the multiple work surfaces when positioned at the determined second position;

selecting, from a plurality of end effectors, one or more gripper end effectors to grip and position the one or more parts at the determined second position;

operating the different articulated robotic arms to position the one or more parts at the determined second position.

9. The system of claim 7 , wherein the operations comprise:

selecting, from a plurality of end effectors, one or more tool end effectors to perform the specified manipulation of the one or more parts;

determining robot control data for operating one or more robotic devices to perform the specified manipulation of the one or more parts, wherein the one or more robotic devices are equipped with the one or more tool end effectors; and

operating the one or more robotic devices to perform the specified manipulation of the one or more parts using the one or more tool end effectors.

10. The system of claim 7 , wherein the operations comprise, selecting, based on the task data, at least one work surface from a library of work surfaces stored in the non-transitory computer readable medium.

11. The system of claim 7 , wherein the multiple work surfaces are not assembled until after the task data specifying the manipulation of the one or more parts is received.

12. The system of claim 7 , wherein, when assembled, the shape of the multiple work surfaces is complementary to a shape of the one or more parts after the manipulation.

13. A non-transitory computer-readable storage device storing instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:

receiving task data specifying a manipulation of one or more parts at a specified location within a three-dimensional (3D) coordinate system;

based on the task data, determining: (a) multiple work surfaces and (b) a first position of the multiple work surfaces in the 3D coordinate system, wherein, when dynamically assembled in the first position, the multiple work surfaces serve as a jig to facilitate the specified manipulation of the one or more parts at the specified location in the 3D coordinate system;

selecting, from a plurality of end effectors, multiple different planar guide end effectors that are each positionable by a different articulated robotic arm, to dynamically assemble the multiple work surfaces that serve as the jig to facilitate the specified manipulation of the one or more parts, at the determined first position in the 3D coordinate system;

determining robot control data for operating the different articulated robotic arms to position the selected planar guide end effectors to dynamically assemble the multiple work surfaces at the determined first position in the 3D coordinate system; and

operating the different articulated robotic arms according to the robot control data.

14. The device of claim 13 , wherein the operations comprise:

based on the task data, determining a second position of the one or more parts, wherein the one or more parts are placed against the multiple work surfaces when positioned at the determined second position;

selecting, from a plurality of end effectors, one or more gripper end effectors to grip and position the one or more parts at the determined second position;

operating the different articulated robotic arms to position the one or more parts at the determined second position.

15. The device of claim 13 , wherein the operations comprise:

selecting, from a plurality of end effectors, one or more tool end effectors to perform the specified manipulation of the one or more parts;

determining robot control data for operating one or more robotic devices to perform the specified manipulation of the one or more parts, wherein the one or more robotic devices are equipped with the one or more tool end effectors; and

operating the one or more robotic devices to perform the specified manipulation of the one or more parts using the one or more tool end effectors.

16. The device of claim 13 , wherein the operations comprise, selecting, based on the task data, at least one work surface from a library of work surfaces stored in the non-transitory computer readable medium.

17. The device of claim 13 , wherein the multiple work surfaces are not assembled until after the task data specifying the manipulation of the one or more parts is received.

18. The device of claim 13 , wherein, when assembled, the shape of the multiple work surfaces is complementary to a shape of the one or more parts after the manipulation.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2021
From: X DEVELOPMENT LLC
To: INTRINSIC INNOVATION LLC
Reel/Frame 057650/0218 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 19, 2016
From: LINNELL, JEFF; MICHALOWSKI, MAREK; BYRNE, KENDRA; KRUYSMAN, BRANDON; REEKMANS, ELI
To: GOOGLE INC.
Reel/Frame 039781/0905 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2016
From: GOOGLE INC.
To: X DEVELOPMENT LLC
Reel/Frame 039900/0610 →
Cited By (1)
US 12,397,434