IP Library Granted Patent US 9,649,767
Granted Patent B2
US 9,649,767 · App. 15/286,237 · Granted May 16, 2017

Methods and systems for distributing remote assistance to facilitate robotic object manipulation

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,649,767
App. No.
15/286,237
Granted
May 16, 2017
Kind
B2
Abstract

Methods and systems for distributing remote assistance to facilitate robotic object manipulation are provided herein. Regions of a model of objects in an environment of a robotic manipulator may be determined, where each region corresponds to a different subset of objects with which the robotic manipulator is configured to perform a respective task. Certain tasks may be identified, and a priority queue of requests for remote assistance associated with the identified tasks may be determined based on expected times at which the robotic manipulator will perform the identified tasks. At least one remote assistor device may then be requested, according to the priority queue, to provide remote assistance with the identified tasks. The robotic manipulator may then be caused to perform the identified tasks based on responses to the requesting, received from the at least one remote assistor device, that indicate how to perform the identified tasks.

Claims (84)

1. A system, comprising:

a remote assistor device; and

a control system for a robotic device, wherein the control system is configured to:

identify a first task and a second task, wherein the first task involves a first object and the second task involves a second object;

determine a first expected time at which the robotic device is expected to perform the first task;

determine a second expected time at which the robotic device is expected to perform the second task;

based on the first expected time and the second expected time, determine an order in which to transmit a first request for remote assistance with the first task and a second request for remote assistance with the second task;

transmit the first request and the second request to the remote assistor device in accordance with the order;

receive, from the remote assistor device, a first response including data relating to performance of the first task;

receive, from the remote assistor device, a second response including data relating to performance of the second task; and

cause the robotic device to perform both the first task and the second task based on the first response and the second response.

2. The system of claim 1 , wherein the control system is further configured to:

determine a first distance of the first object from the robotic device;

determine a second distance of the second object from the robotic device; and

determine the order in which to transmit the first request and the second request based on the first distance and the second distance.

3. The system of claim 1 , wherein the control system is further configured to determine the order in which to transmit the first request and the second request based on whether at least one of the first object and the second object is a fragile object.

4. The system of claim 1 , wherein one or both of the first task and the second task involves identifying a virtual boundary line representing at least a portion of a border of the respective object involved in the respective task.

5. The system of claim 1 , wherein the remote assistor device is configured to:

receive, from the control system, the first and second request in the order;

receive a first input relating to performance of the first task;

receive a second input relating to performance of the second task;

based on the first input, determine the data relating to performance of the first task;

based on the second input, determine the data relating to performance of the second task;

transmit, to the control system, the first response including the data relating to performance of the first task; and

transmit, to the control system, the second response including the data relating to performance of the second task.

6. The system of claim 5 , wherein the remote assistor device includes a display, and wherein the remote assistor device is further configured to:

based on the first request, cause the display to include first information relating to performance of the first task; and

based on the second request, cause the display to include second information relating to performance of the second task.

7. The system of claim 1 , wherein the control system is further configured to:

determine a first confidence score indicating a level of confidence in performance of the first task;

determine a second confidence score indicating a level of confidence in performance of the second task; and

identify the first task and the second task based on the first confidence score and the second confidence score.

8. The system of claim 1 , wherein the control system is further configured to:

before determining the order in which to transmit the first request and the second request:

determine a remote assistor rating that indicates, for the remote assistor device, a history of whether the robotic device has correctly performed one or more previous tasks based on one or more responses the robotic device has previously received from the remote assistor device;

make a determination that the remote assistor rating exceeds a predetermined threshold rating; and

responsive to the determination being that the remote assistor rating exceeds the predetermined threshold rating, select the remote assistor device for transmission of the first request and the second request.

9. The system of claim 1 , wherein the control system is further configured to:

determine task performance statistics relating to performance of the first task and the second task by the robotic device based on the first response and the second response; and

transmit the task performance statistics to the remote assistor device.

10. The system of claim 1 , further comprising:

a sensor system configured to acquire video data; and

a robotic manipulator configured to manipulate an object,

wherein the first task involves the robotic manipulator manipulating the first object,

wherein the second task involves the robotic manipulator manipulating the second object,

wherein the control system is further configured to:

cause the sensor system to acquire a first video feed of performance of the first task;

cause the sensor system to acquire a second video feed of performance of the second task;

transmit the first video feed and the second video feed to the remote assistor device.

11. A method performed by a control system of a robotic device, the method comprising:

identifying a first task and a second task, wherein the first task involves a first object and the second task involves a second object;

determining a first expected time at which the robotic device is expected to perform the first task;

determining a second expected time at which the robotic device is expected to perform the second task;

based on the first expected time and the second expected time, determining an order in which to transmit a first request for remote assistance with the first task and a second request for remote assistance with the second task;

transmitting the first request and the second request to a remote assistor device in accordance with the order;

receiving, from the remote assistor device, a first response including data relating to performance of the first task;

receiving, from the remote assistor device, a second response including data relating to performance of the second task; and

causing the robotic device to perform both the first task and the second task based on the first response and the second response.

12. The method of claim 11 , further comprising:

determining a first distance of the first object from the robotic device;

determining a second distance of the second object from the robotic device; and

determining the order in which to transmit the first request and the second request based on the first distance and the second distance.

13. The method of claim 11 , further comprising:

determining the order in which to transmit the first request and the second request based on whether at least one of the first object and the second object is a fragile object.

14. The method of claim 11 , wherein one or both of the first task and the second task involves (i) identifying a virtual boundary line separating two adjacent objects, the two adjacent objects including the respective object involved in the respective task, and (ii) manipulating the respective object based on the identified virtual boundary line.

15. The method of claim 11 , wherein one or both of the first task and the second task involves (i) identifying a location on the respective object involved in the respective task and (ii) gripping the respective object at the location with a gripper of a robotic manipulator.

16. The method of claim 11 , wherein one or both of the first task and the second task involves determining a sequenced order in which a robotic manipulator is expected to manipulate a respective set of objects, the respective set of objects including the respective object involved in the respective task.

17. A non-transitory computer readable medium having stored thereon instructions that, upon execution by a control system for a robotic device, cause the control system to perform operations comprising:

identifying a first task and a second task, wherein the first task involves a first object and the second task involves a second object;

determining a first expected time at which the robotic device is expected to perform the first task;

determining a second expected time at which the robotic device is expected to perform the second task;

based on the first expected time and the second expected time, determining an order in which to transmit a first request for remote assistance with the first task and a second request for remote assistance with the second task;

transmitting the first request and the second request to a remote assistor device in accordance with the order;

receiving, from the remote assistor device, a first response including data relating to performance of the first task;

receiving, from the remote assistor device, a second response including data relating to performance of the second task; and

causing the robotic device to perform both the first task and the second task based on the first response and the second response.

18. The non-transitory computer readable medium of claim 17 , wherein one or both of the first task and the second task involves (i) identifying a virtual boundary line separating two adjacent objects, the two adjacent objects including the respective object involved in the respective task, and (ii) manipulating the respective object based on the identified virtual boundary line.

19. The non-transitory computer readable medium of claim 17 , wherein the order is a first order the operations further comprising:

based on the first expected time and the second expected time, determining a second order in which the robotic device is expected to cause the robotic device to perform both the first task and the second task; and

causing the robotic device to perform both the first task and the second task in the second order.

20. The non-transitory computer readable medium of claim 19 , the operations further comprising:

determining a first distance of the first object from the robotic device;

determining a second distance of the second object from the robotic device; and

determining the second order in which the robotic device is expected to cause the robotic device to perform both the first task and the second task based on the first distance and the second distance.

Assignments (6)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE REMOVAL OF THE INCORRECTLY RECORDED APPLICATION NUMBERS 14/149802 AND 15/419313 PREVIOUSLY RECORDED AT REEL: 44144 FRAME: 1. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME. Recorded Mar 4, 2024
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 068092/0502 →
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 →
CHANGE OF NAME Recorded Oct 6, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044144/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 11, 2017
From: GOOGLE INC.
To: X DEVELOPMENT LLC
Reel/Frame 043528/0311 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 6, 2016
From: NUSSER, STEFAN; RUBLEE, ETHAN; STRASZHEIM, TROY DONALD; WATTS, KEVIN WILLIAM; ZEVENBERGEN, JOHN WILLIAM
To: GOOGLE INC.
Reel/Frame 039952/0303 →