IP Library Granted Patent US 9,056,396
Granted Patent B1
US 9,056,396 · App. 14/195,412 · Granted Jun 16, 2015

Programming of a robotic arm using a motion capture system

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,056,396
App. No.
14/195,412
Granted
Jun 16, 2015
Kind
B1
Abstract

Example systems and methods allow for capturing motions of a demonstration tool and using the captured motions to cause a robotic device to replicate motions of the demonstration tool with a robot tool. One example method includes receiving data from one or more cameras indicative of position of a demonstration tool. Based on the received data, the method may further include determining a motion path of the demonstration tool, where the motion path includes a sequence of positions of the demonstration tool. The method may also include 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 may further include causing the robotic device to move the robot tool using the one or more robot movements within the replication control path.

Claims (51)

1. A computer-implemented method comprising:

receiving data from one or more cameras indicative of position of a demonstration tool;

based on the received 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;

causing the robotic device to move the robot tool using the one or more robot movements within the replication control path.

2. 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.

3. 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.

4. The method of claim 1 , further comprising:

while receiving data from the one or more cameras indicative of position of the demonstration tool, providing for display of a visual simulation of the robot movements within the replication control path.

5. The method of claim 4 , wherein the visual simulation comprises a visual representation of a virtual robot performing the robot movements within the replication control path.

6. The method of claim 4 , wherein the visual simulation comprises a warning signal indicating when the replication control path violates one or more predefined physical constraints of the robotic device.

7. The method of claim 4 , wherein:

the demonstration tool comprises a display screen; and

the visual simulation is displayed within the display screen.

8. The method of claim 1 , further comprising determining one or more refinements to the robot movements within the replication control path in order to smooth one or more curves of robot movements within the replication control path before causing the robotic device to move the robot tool using the one or more robot movements within the replication control path.

9. The method of claim 1 , further comprising:

displaying a user interface comprising a visual demonstration of the robot movements within the replication control path for the robotic device; and

receiving one or more refinements to the robot movements within the replication control path via the user interface before causing the robotic device to move the robot tool using the robot movements within the replication control path.

10. The method of claim 1 , wherein data from the one or more cameras is received while a button on the demonstration tool indicative of when to record movements is pressed.

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

12. The method of claim 1 , further comprising:

receiving data from one or more cameras indicative of position of the robot tool while causing the robotic device to move the robot tool using the one or more robot movements within the replication control path;

determining one or more differences between positions of the robot tool and corresponding positions within the motion path of the demonstration tool; and

adjusting the replication control path based on the determined differences.

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

14. The method of claim 13 , wherein:

the one or more control markers comprise one or more light emitting diode markers.

15. The method of claim 14 , wherein:

the 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 light emitting diode markers using the one or more cameras.

16. 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.

17. The method of claim 16 , wherein the force of nature comprises gravity.

18. A system comprising:

a demonstration tool;

a robotic device;

at least one camera; and

a control system configured to:

receive data from the at least one camera indicative of position of the demonstration tool;

based on the received 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 the 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;

cause the robotic device to move the robot tool using the one or more robot movements within the replication control path.

19. The system of claim 18 , wherein the control system is further configured to provide for display of a visual simulation of the robot movements within the replication control path while receiving data from the one or more cameras indicative of position of the demonstration tool.

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 data from one or more cameras indicative of position of a demonstration tool;

based on the received 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;

causing the robotic device to move the robot tool using the one or more robot movements within 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 29, 2017
From: STOWELL LINNELL, LLC D/B/A AUTOFUSS
To: GOOGLE LLC
Reel/Frame 044253/0936 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 29, 2017
From: GOOGLE LLC
To: X DEVELOPMENT LLC
Reel/Frame 044253/0950 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2014
From: LINNELL, JEFFREY
To: AUTOFUSS
Reel/Frame 032339/0159 →