IP Library Granted Patent US 11,045,956
Granted Patent B2
US 11,045,956 · App. 16/273,361 · Granted Jun 29, 2021

Programming of a robotic arm using a motion capture system

Inventor: Jeffrey Linnell (San Francisco, CA)
Assignee: X Development LLC
B25J9/1697B25J9/1664G05B19/427G05B2219/36442G05B2219/37563Y10S901/01Y10S901/46Y10S901/47
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,045,956
App. No.
16/273,361
Granted
Jun 29, 2021
Kind
B2
Abstract

An example method includes receiving position data indicative of position of a demonstration tool. Based on the received position data, the method further includes determining a motion path of the demonstration tool, wherein the motion path comprises a sequence of positions of the demonstration tool. The method additionally includes determining a replication control path for a robotic device, where the replication control path includes one or more robot movements that cause the robotic device to move a robot tool through a motion path that corresponds to the motion path of the demonstration tool. The method also includes providing for display of a visual simulation of the one or more robot movements within the replication control path.

Claims (42)

1. A computer-implemented method comprising:

receiving position data indicative of position of a demonstration tool;

based on the received position data, determining a motion path of the demonstration tool, wherein the motion path comprises a sequence of positions of the demonstration tool;

determining a replication control path for a robotic device, wherein the replication control path comprises one or more robot movements that cause the robotic device to move a robot tool through a motion path that corresponds to the motion path of the demonstration tool; and

providing the replication control path.

2. The method of claim 1 , wherein receiving the position data indicative of the position of the demonstration tool comprises receiving the position data from one or more sensors.

3. The method of claim 1 , wherein receiving the position data indicative of the position of the demonstration tool comprises receiving the position data from one or more cameras.

4. The method of claim 3 , wherein the position data received from the one or more cameras comprises data indicative of position of one or more control markers attached to the demonstration tool.

5. The method of claim 4 , wherein the one or more control markers comprise one or more light emitting diode markers.

6. The method of claim 5 , wherein:

the one or more light emitting diode markers have a distinguishing characteristic that is distinguishable by the one or more cameras; and

determining the motion path of the demonstration tool comprises identifying the distinguishing characteristic of the one or more light emitting diode markers using the one or more cameras.

7. The method of claim 1 , wherein the position data indicative of the position of the demonstration tool is received only while a button on the demonstration tool indicative of when to record movements is pressed.

8. The method of claim 1 , wherein the motion path of the robot tool comprises scaled positions from the motion path of the demonstration tool.

9. The method of claim 1 , wherein:

the demonstration tool is a camera used to film a scene; and

the robot tool is a camera used by the robotic device to film a different iteration of the scene.

10. The method of claim 1 , wherein:

the demonstration tool is a manufacturing tool used to fabricate an output product; and

the robot tool is a manufacturing tool used by the robotic device to fabricate a copy of the output product.

11. The method of claim 10 , wherein the robot tool is a welding tool.

12. The method of claim 10 , wherein the robot tool is a paint brush.

13. The method of claim 1 , wherein the sequence of positions within the motion path of the demonstration tool comprises a sequence of positions resulting from a force of nature applied to the demonstration tool.

14. The method of claim 13 , wherein the force of nature comprises gravity.

15. The method of claim 1 , further comprising determining one or more refinements to the one or more robot movements within the replication control path in order to smooth one or more curves of robot movements within the replication control path before providing the replication control path.

16. The method of claim 1 , further comprising:

receiving one or more refinements to the one or more robot movements within the replication control path via a user interface; and

updating a displayed visual simulation of the one or more robot movements within the replication control path to reflect the one or more refinements.

17. A system comprising:

a demonstration tool; and

a control system configured to:

receive position data indicative of position of the demonstration tool;

based on the received position data, determine a motion path of the demonstration tool, wherein the motion path comprises a sequence of positions of the demonstration tool;

determine a replication control path for a robotic device, wherein the replication control path comprises one or more robot movements that cause the robotic device to move a robot tool through a motion path that corresponds to the motion path of the demonstration tool; and

provide the replication control path.

18. The system of claim 17 , further comprising one or more sensors, wherein the position data indicative of the position of the robot tool is received from the one or more sensors.

19. The system of claim 18 , wherein the one or more sensors comprise one or more cameras.

20. A non-transitory computer readable medium having stored therein instructions, that when executed by a computing system, cause the computing system to perform functions comprising:

receiving position data indicative of position of a demonstration tool;

based on the received position data, determining a motion path of the demonstration tool, wherein the motion path comprises a sequence of positions of the demonstration tool;

determining a replication control path for a robotic device, wherein the replication control path comprises one or more robot movements that cause the robotic device to move a robot tool through a motion path that corresponds to the motion path of the demonstration tool; and

providing the replication control path.

Assignments (5)
CORRECTIVE ASSIGNMENT TO CORRECT THE RECEIVING PARTY ADDRESS PREVIOUSLY RECORDED AT REEL: 057650 FRAME: 0325. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Oct 8, 2021
From: X DEVELOPMENT LLC
To: INTRINSIC INNOVATION LLC
Reel/Frame 057896/0807 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 3, 2021
From: X DEVELOPMENT LLC
To: INTRINSIC INNOVATION LLC
Reel/Frame 057650/0325 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 6, 2019
From: LINNELL, JEFFREY
To: AUTOFUSS
Reel/Frame 050934/0776 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 6, 2019
From: AUTOFUSS
To: GOOGLE LLC
Reel/Frame 050934/0787 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 6, 2019
From: GOOGLE LLC
To: X DEVELOPMENT LLC
Reel/Frame 050934/0798 →
Continuity (6)
Continuation 15892008 · Feb 8, 2018
Continuation 15242875 · Aug 22, 2016
Continuation 14712579 · May 14, 2015
Continuation 14195412 · Mar 3, 2014
Provisional Application 61773077 · Mar 5, 2013
Related Publication 20190168390A1 · Jun 6, 2019
Cited By (1)
US 12,194,632