IP Library Granted Patent US 9,465,384
Granted Patent B1
US 9,465,384 · App. 14/311,799 · Granted Oct 11, 2016

Methods and systems for tiered programming of robotic device

Inventors: Advait Jain (San Francisco, CA); Anthony Jules (Oakland, CA); Aaron Edsinger (San Francisco, CA)
Assignee: Redwood Robotics, Inc.
G05B19/41865B25J9/16B25J9/1656B25J9/1661G05B19/0426G06Q10/06311G06Q10/06316
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,465,384
App. No.
14/311,799
Granted
Oct 11, 2016
Kind
B1
Abstract

A method operable by a computing device is provided. The method may include receiving a request for a given task to be performed by a robotic system. The method may also determining one or more subtasks required to perform the given task, where the one or more subtasks include one or more parameters used to define the one or more subtasks. The method may also include determining an arrangement of the one or more subtasks to perform the given task, and providing for display an indication of the one or more undefined parameters for the given task. The method may also include receiving an input defining the one or more undefined parameters for the given task, and executing the one or more subtasks in the determined arrangement and in accordance with the one or more defined parameters to cause the robotic system to perform the given task.

Claims (37)

1. A method operable by a computing device, the method comprising:

receiving a request for a given task to be performed by a robotic system, wherein the robotic system includes a modular reconfigurable workcell including two or more modular docking bays on a surface of the workcell that support attachment of two or more docking modules in a fixed geometric configuration;

determining two or more subtasks required to perform the given task, wherein the two or more subtasks are performed by two or more peripherals attached to the two or more docking modules of the robotic system, wherein a first peripheral of the two or more peripherals is configured to perform a first set of subtasks and a second peripheral of the two or more peripherals is configured to perform a second set of subtasks, wherein the two or more subtasks include one or more parameters used to define the two or more subtasks, wherein the one or more parameters include information required for the robotic system to execute a given subtask, and wherein at least one of the one or more parameters is undefined such that the one or more undefined parameters prevent the robotic system from executing a corresponding subtask;

determining an arrangement of the two or more subtasks to perform the given task, wherein the arrangement includes a combination of the two or more subtasks in a particular order;

based on the determined arrangement of the two or more subtasks, (i) determining an arrangement of the two or more peripherals on the modular reconfigurable workcell to perform the given task, and (ii) providing for display a visual representation of each of the two or more subtasks in the particular order simultaneously on an interface of the computing device, wherein the visual representation includes an indication of the one or more undefined parameters for the given task;

receiving, via the interface of the computing device, an input defining the one or more undefined parameters for the given task, wherein a defined parameter includes information required for the robotic system to execute the given subtask; and

executing the two or more subtasks in the determined arrangement and in accordance with the one or more defined parameters to cause the two or more peripherals of the robotic system to perform the given task.

2. The method of claim 1 , wherein the two or more peripherals include two or more of a robot arm, a camera, a gripper, a seven degree of freedom (DOF) arm with a camera, a device for assessing device-under-test functionality, a sensor for measuring a location of a device-under-test, and an input/output (I/O) peripheral for interfacing to an external device.

3. The method of claim 1 , wherein the one or more parameters include one or more of a location of a given peripheral of the two or more peripherals, an orientation of a component of the given peripheral, a force limit for a component of the given peripheral, a rotation speed of a component of the given peripheral, a pattern for the given peripheral to follow, and a count of a number of times the given subtask is performed.

4. The method of claim 1 , wherein the input defining the one or more undefined parameters comprises moving a component of the robotic system to define a geometrical bound for the component.

5. The method of claim 1 , wherein at least one of the one or more parameters are initially defined by a default setting, wherein the default setting is based at least in part by sensor data from one or more sensors of the robotic system.

6. The method of claim 1 , wherein the two or more subtasks include one or more error conditions, wherein an occurrence of one of the one or more error conditions cause the robotic system to stop performing the given task and provide for display an error message on the interface of the computing device.

7. The method of claim 1 , wherein respective modular docking bays include a plurality of electrical connections for a variety of power and communication busses of the two or more docking modules to be attached, and wherein the two or more docking modules provide an electrical and mechanical interface between a respective peripheral and the workcell.

8. The method of claim 7 , wherein the two or more modular docking bays couple to the two or more docking modules through the plurality of electrical connections and via a printed circuit board (PCB) card edge connector or a wire harness.

9. A computing device, comprising:

one or more processors; and

a non-transitory computer-readable medium, configured to store instructions, that when executed by the one or more processors, cause the computing device to perform functions comprising:

receiving a request for a given task to be performed by a robotic system, wherein the robotic system includes a modular reconfigurable workcell including two or more modular docking bays on a surface of the workcell that support attachment of two or more docking modules in a fixed geometric configuration;

determining two or more subtasks required to perform the given task, wherein the two or more subtasks are performed by two or more peripherals attached to the two or more docking modules of the robotic system, wherein a first peripheral of the two or more peripherals is configured to perform a first set of subtasks and a second peripheral of the two or more peripherals is configured to perform a second set of subtasks, wherein the two or more subtasks include one or more parameters used to define the two or more subtasks, wherein the one or more parameters include information required for the robotic system to execute a given subtask, and wherein at least one of the one or more parameters is undefined such that the one or more undefined parameters prevent the robotic system from executing a corresponding subtask;

determining an arrangement of the two or more subtasks to perform the given task, wherein the arrangement includes a combination of the two or more subtasks in a particular order;

based on the determined arrangement of the two or more subtasks, (i) determining an arrangement of the two or more peripherals on the modular reconfigurable workcell to perform the given task; and (ii) providing for display a visual representation of each of the two or more subtasks in the particular order simultaneously on an interface of the computing device, wherein the visual representation includes an indication of the one or more undefined parameters for the given task;

receiving, via the interface of the computing device, an input defining the one or more undefined parameters for the given task, wherein a defined parameter includes information required for the robotic system to execute the given subtask; and

executing the two or more subtasks in the determined arrangement and in accordance with the one or more defined parameters to cause the two or more peripherals of the robotic system to perform the given task.

10. The computing device of claim 9 , wherein the two or more peripherals include two or more of a robot arm, a camera, a gripper, a seven degree of freedom (DOF) arm with a camera, a device for assessing device-under-test functionality, a sensor for measuring a location of a device-under-test, and an input/output (I/O) peripheral for interfacing to an external device.

11. The computing device of claim 9 , wherein the input defining the one or more undefined parameters comprises moving a component of the robotic system to define a geometrical bound for the component.

12. A robotic system, comprising:

a modular reconfigurable workcell including two or more modular docking bays on a surface of the workcell that support attachment of two or more docking modules in a fixed geometric configuration;

a computer-based controller in communication with the modular reconfigurable workcell, wherein the computer-based controller is configured to:

receive a request for a given task to be performed by two or more peripherals attached to the two or more docking modules of the modular reconfigurable workcell;

determine two or more subtasks required to perform the given task, wherein the two or more subtasks are performed by two or more peripherals attached to the two or more docking modules of the robotic system, wherein a first peripheral of the two or more peripherals is configured to perform a first set of subtasks and a second peripheral of the two or more peripherals is configured to perform a second set of subtasks, wherein the two or more subtasks include one or more parameters used to define the two or more subtasks, wherein the one or more parameters include information required for the robotic system to execute a given subtask, and wherein at least one of the one or more parameters is undefined such that the one or more undefined parameters prevent the robotic system from executing a corresponding subtask;

determine an arrangement of the two or more subtasks to perform the given task, wherein the arrangement includes a combination of the two or more subtasks in a particular order;

based on the determined arrangement of the two or more subtasks, (i) determine an arrangement of the two or more peripherals on the modular reconfigurable workcell to perform the given task; and (ii) provide for display a visual representation of each of the two or more subtasks in the particular order simultaneously on an interface of the computer-based controller, wherein the visual representation includes an indication of the one or more undefined parameters for the given task;

receive, via the interface of the computer-based controller, an input defining the one or more undefined parameters for the given task, wherein a defined parameter includes information required for the robotic system to execute the given subtask; and

execute the two or more subtasks in the determined arrangement and in accordance with the one or more defined parameters to cause the two or more peripherals of the modular reconfigurable workcell to perform the given task.

13. The robotic system of claim 12 , wherein respective modular docking bays include a plurality of electrical connections for a variety of power and communication busses of the two or more docking modules to be attached, and wherein the two or more docking modules provide an electrical and mechanical interface between a respective peripheral and the workcell.

14. The robotic system of claim 13 , wherein the plurality of electrical connections include Ethernet and USB connections.

15. The robotic system of claim 12 , wherein the two or more peripherals include two or more of a robot arm, a camera, a gripper, a seven degree of freedom (DOF) arm with a camera, a device for assessing device-under-test functionality, a sensor for measuring a location of a device-under-test, and an input/output (I/O) peripheral for interfacing to an external device.

Assignments (4)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 10, 2014
From: JULES, ANTHONY; EDSINGER, AARON; JAIN, ADVAIT
To: REDWOOD ROBOTICS, INC.
Reel/Frame 033284/0795 →
Continuity (1)
Provisional Application 61838707 · Jun 24, 2013