IP Library Granted Patent US 10,430,744
Granted Patent B2
US 10,430,744 · App. 14/943,441 · Granted Oct 1, 2019

Robot service platform

Inventors: Douglas Look (San Francisco, CA); James Awe (Santa Rosa, CA); Mark Thomas Davis (Mill Valley, CA); Negar Arabani (Mill Valley, CA); Patricia Anne Vrobel (Portland, OR)
Assignee: Autodesk, Inc.
G06Q10/06398B25J11/008G06Q10/063114G06Q10/063118G05B2219/40411Y10S901/08
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,430,744
App. No.
14/943,441
Granted
Oct 1, 2019
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, to share information in a community of robots and users to perform tasks. In one aspect, a method includes registering, a plurality of robots in a system including creating for each robot of the plurality of robots a robot profile; publishing the robot profile; providing an application programming interface to the plurality of registered robots; providing a user interface to users; receiving a service request; determining that a user or registered robot is qualified to obtain service information in response to the service request; determining, responsive to the user or registered robot being qualified, the service information for the service request based on the published robot profiles; selecting one or more registered robots to receive the service information; and sending the service information to the one or more selected registered robots.

Claims (65)

1. A computer implemented method, the method comprising:

registering, a plurality of robots in a system including creating for each robot of the plurality of robots a robot profile, wherein the registering comprises discovering robots or owners of unregistered robots in a locale based on operations of a respective robot, sending an invitation to the discovered robots or owners of unregistered robots, and receiving a response that indicates acceptance of the invitation from the discovered robots or owners of unregistered robots;

publishing the robot profile of each registered robot of the plurality of registered robots to enable discovery of each registered robot by other registered robots in the system or by users of the system including owners of registered robots in the system;

providing an application programming interface to the plurality of registered robots in the system;

providing a user interface to users of the system;

receiving a service request;

determining that a user or registered robot is qualified to obtain service information in response to the service request;

determining, responsive to the user or registered robot being qualified, the service information for the service request based on the published robot profiles;

selecting one or more registered robots to receive the service information; and

sending the service information to the one or more selected registered robots.

2. The method of claim 1 , further comprising:

determining a plurality of tasks associated with the service request; and

assigning the plurality of tasks among the one or more selected registered robots based on the published robot profiles.

3. The method of claim 2 , wherein assigning the plurality of tasks comprises:

identifying a particular registered robot from the plurality of registered robots to perform a particular task of the plurality of tasks based on (i) capabilities of the particular registered robot, (ii) schedule of availability of the particular registered robot, and (iii) tasking of the particular registered robot; and

scheduling the particular registered robot to perform the first task including (i) updating the robot profile of the particular registered robot and (ii) communicating the first task and first time to complete the particular task to the particular registered robot.

4. The method of claim 3 , wherein the service information includes information describing the plurality of tasks assigned to the one or more selected registered robots.

5. The method of claim 1 , wherein the service request is a request to link a registered robot to another registered robot in the system.

6. The method of claim 1 , wherein the service request is a request to monitor or analyze performance of registered robots.

7. The method of claim 1 , further comprising:

collecting operational data related to performance and results of performed tasks, status information, health information, and currently assigned tasks from each of the registered robots; and

evaluating the collected operational data including performing statistical analysis, modeling, and extrapolation using the collected operational data.

8. The method of claim 7 , wherein the service request is a request to transfer relevant data to one of the one or more selected registered robots, wherein sending the service information to a selected robot comprises:

determining relevant data from the evaluated collected operational data; and

sending the relevant data to the selected registered robot.

9. The method of claim 1 , wherein the interface to the users of the system includes a query box or user interface elements.

10. The method of claim 1 , wherein the robot profile includes capabilities of the robot, schedule of availability of the robot, performance ratings of specified tasks, and tasks assigned to a given robot.

11. The method of claim 10 , wherein selecting one or more registered robots to receive the service information comprises:

determining capabilities and schedule of availability of each of the one or more registered robots;

determining when each task of the plurality of tasks is to be performed in a workflow; and

identifying the one or more registered robots with the capabilities to perform the task and availability to perform the task at a time defined by the workflow.

12. The method of claim 1 , wherein the system is decentralized.

13. A system comprising:

a plurality of registered robots, each registered robot of the plurality of registered robots having a robot profile that is published to enable discovery by other registered robots in the system or by users of the system; and

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:

registering the plurality of registered robots, the registering comprising discovering robots or owners of unregistered robots in a locale based on operations of a respective robot, sending an invitation to the discovered robots or owners of unregistered robots, and receiving a response that indicates acceptance of the invitation from the discovered robots or owners of unregistered robots;

providing an application programming interface to the plurality of registered robots in the system;

providing a user interface to users of the system;

receiving a service request;

determining that a user or registered robot is qualified to obtain service information in response to the service request;

determining, responsive to the user or registered robot being qualified, the service information for the service request based on the published robot profiles;

selecting one or more registered robots to receive the service information; and

sending the service information to the one or more selected registered robots.

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

determining a plurality of tasks associated with the service request; and

assigning the plurality of tasks among the one or more selected registered robots based on the published robot profiles.

15. The system of claim 14 , wherein assigning the plurality of tasks comprises:

identifying a particular registered robot from the plurality of registered robots to perform a particular task of the plurality of tasks based on (i) capabilities of the particular registered robot,(ii) schedule of availability of the particular registered robot, and (iii) tasking of the particular registered robot; and

scheduling the particular registered robot to perform the first task including (i) updating the robot profile of the particular registered robot and (ii) communicating the first task and first time to complete the particular task to the particular registered robot.

16. The system of claim 15 , wherein the service information includes information describing the plurality of tasks assigned to the one or more selected registered robots.

17. The system of claim 13 , wherein the service request is a request to link a registered robot to another registered robot in the system.

18. The system of claim 13 , wherein the service request is a request to monitor or analyze performance of registered robots.

19. The system of claim 13 , wherein the operations further comprise:

collecting operational data related to performance and results of performed tasks, status information, health information, and currently assigned tasks from each of the registered robots; and

evaluating the collected operational data including performing statistical analysis, modeling, and extrapolation using the collected operational data.

20. The system of claim 19 , wherein the service request is a request to transfer relevant data to one of the one or more selected registered robots, wherein sending the service information to a selected robot comprises:

determining relevant data from the evaluated collected operational data; and

sending the relevant data to the selected registered robot.

21. The system of claim 13 , wherein the interface to the users of the system includes a query box or user interface elements.

22. The system of claim 13 , wherein the robot profile includes capabilities of the robot, schedule of availability of the robot, performance ratings of specified tasks, and tasks assigned to a given robot.

23. The system of claim 22 , wherein selecting one or more registered robots to receive the service information comprises:

determining capabilities and schedule of availability of each of the one or more registered robots;

determining when each task of the plurality of tasks is to be performed in a workflow; and

identifying the one or more registered robots with the capabilities to perform the task and availability to perform the task at a time defined by the workflow.

24. The system of claim 13 , wherein the system is decentralized.

Assignments (2)
CHANGE OF ADDRESS FOR ASSIGNEE Recorded Aug 19, 2022
From: AUTODESK, INC.
To: AUTODESK, INC.
Reel/Frame 061572/0061 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2015
From: LOOK, DOUGLAS; AWE, JAMES; DAVIS, MARK THOMAS; ARABANI, NEGAR; VROBEL, PATRICIA ANNE
To: AUTODESK, INC.
Reel/Frame 037393/0216 →
Continuity (2)
Provisional Application 62208285 · Aug 21, 2015
Related Publication 20170050321A1 · Feb 23, 2017