IP Library Granted Patent US 9,996,369
Granted Patent B2
US 9,996,369 · App. 14/968,589 · Granted Jun 12, 2018

Adaptive data analytics service

Inventors: Patrick DeNeale (Oakland, CA); Tom Eliaz (Menlo Park, CA)
Assignee: Anki, Inc.
G06F9/44505G06F11/3024G06F11/3428G06F11/3447G06F11/3452G06F11/3466G06N3/08G06N99/005
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,996,369
App. No.
14/968,589
Granted
Jun 12, 2018
Kind
B2
Abstract

A closed-loop service, referred to as an Adaptive Data Analytics Service (ADAS), characterizes the performance of a system or systems by providing information describing how users or agents are operating the system, how the system components interact, and how these respond to external influences and factors. The ADAS then builds models and/or defines relationships that can be used to optimize performance and/or to predict the results of changes made to the system(s). Subsequently, this learning provides the basis for administering, maintaining, and/or adjusting the system(s) under study. Measurement can be ongoing, even after the operating parameters or controls of a system under the administration or monitoring of the ADAS have been adjusted, so that the impact of such adjustments can be determined. This recursive process of observation, analysis, and adjustment provides a closed-loop system that affords adaptability to changing operating conditions and facilitates self-regulation and self-adjustment of systems.

Claims (66)

1. A system comprising:

an adaptive analytics system comprising 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 to remotely control actions of one or more robots, the operations comprising:

obtaining, by the adaptive analytics system from the one or more robots, a plurality of respective values for an operational attribute recorded by the one or more robots, the values respectively representing a property of respective environments of the one or more robots;

aggregating by the adaptive analytics system, the plurality of values to compute a benchmark range of values for the operational attribute;

receiving, by the adaptive analytics system from a first robot of the one or more robots, a first value of the operational attribute recorded by the first robot at a first location in a first environment of the first robot;

determining, by the adaptive analytics system, that the first value of the operational attribute recorded by the first robot is outside the benchmark range of values for the operational attribute; and

in response to determining that the first value of the operational attribute recorded by the first robot is outside the benchmark range of values for the operational attribute,

selecting a particular robot from the one or more robots to navigate toward the first location in the first environment of the first robot and to record a subsequent value for the operational attribute,

generating one or more commands that when executed by the particular robot cause the particular robot to navigate toward the first location in the first environment and to record the subsequent value of the operational attribute, and

providing, by the adaptive analytics system to the particular robot, the one or more generated commands; and

one or more robots, each robot comprising one or more actuators that are each configured to effect a physical movement of the robot, one or more processors, and one or more storage devices storing instructions that are operable, when executed by the one or more processors, to cause the robot to perform operations comprising:

receiving, by the robot from the adaptive analytics system, the one or more generated commands; and

executing the one or more generated commands to perform operations comprising:

navigating toward the first location in the first environment of the first robot at which the first value of the operational attribute was recorded,

recording a subsequent value of the operational attribute, and

providing, by the robot to the adaptive data analytics system, the recorded subsequent value of the operational attribute.

2. The system of claim 1 , wherein the operations further comprise scheduling, by the adaptive analytics system, a time for the particular robot to navigate toward the first location in the first environment of the first robot and to record the subsequent value for the operational attribute.

3. The system of claim 2 , wherein scheduling a time for the particular robot to navigate toward the first location comprises scheduling the navigation and recording to be performed during a current task being performed by the particular robot.

4. The system of claim 2 , wherein scheduling a time for the particular robot to navigate toward the first location comprises scheduling the navigation and recording to be performed after a current task being performed by the particular robot.

5. The system of claim 1 , wherein the operations further comprise determining, by the adaptive analytics system, that the recorded subsequent value of the operational attribute is outside the benchmark range of values for the operational attribute.

6. The system of claim 5 , wherein the operations further comprise providing, by the adaptive analytics system, a notification to a user that the first and subsequent values of the operations attribute recorded in a first location in the first environment are outside the benchmark range of values for the operational attribute.

7. The system of claim 1 , wherein the robots comprise toy vehicles.

8. The system of claim 7 , wherein the respective environments comprise respective encoded racing tracks for toy vehicles.

9. The adaptive analytics system of claim 8 , wherein the plurality of respective values for the operational attribute represent values generated by the toy vehicles while decoding the encoded racing tracks.

10. A computer program product, encoded on one or more non-transitory computer storage media, comprising instructions that when executed by one or more computers cause the one or more computers to perform operations to remotely control actions of a one or more robots, the operations comprising:

obtaining, by an adaptive analytics system from the one or more robots having one or more similar operating characteristics, a plurality of respective values for an operational attribute recorded by the one or more robots, the values respectively representing a property of respective environments of the one or more robots;

aggregating by the adaptive analytics system, the plurality of values to compute a benchmark range of values for the operational attribute;

receiving, by the adaptive analytics system from a first robot of the one or more robots, a first value of the operational attribute recorded by the first robot at a first location in a first environment of the first robot;

determining, by the adaptive analytics system, that the first value of the operational attribute recorded by the first robot is outside the benchmark range of values for the operational attribute; and

in response to determining that the first value of the operational attribute recorded by the first robot is outside the benchmark range of values for the operational attribute,

selecting, by the adaptive analytics system, a particular robot from the one or more robots to navigate toward the first location in the first environment of the first robot and to record a subsequent value for the operational attribute,

generating, by the adaptive analytics system, one or more commands that when executed by the particular robot cause the particular robot to perform operations comprising:

navigating toward the first location in the first environment of the first robot at which the first value of the operational attribute was recorded,

recording a subsequent value of the operational attribute, and

providing, to the adaptive data analytics system, the recorded subsequent value of the operational attribute, and

providing, by the adaptive analytics system to the particular robot, the one or more generated commands.

11. The computer program product of claim 10 , wherein the operations further comprise scheduling, by the adaptive analytics system, a time for the particular robot to navigate toward the first location in the first environment of the first robot and to record the subsequent value for the operational attribute.

12. The computer program product of claim 11 , wherein scheduling a time for the particular robot to navigate toward the first location comprises scheduling the navigation and recording to be performed during a current task being performed by the particular robot.

13. The computer program product of claim 10 , wherein scheduling a time for the particular robot to navigate toward the first location comprises scheduling the navigation and recording to be performed after a current task being performed by the particular robot.

14. The computer program product of claim 10 , wherein the operations further comprise determining, by the adaptive analytics system, that the recorded subsequent value of the operational attribute is outside the benchmark range of values for the operational attribute.

15. The computer program product of claim 14 , wherein the operations further comprise providing, by the adaptive analytics system, a notification to a user that the first and subsequent values of the operations attribute recorded in a first location in the first environment are outside the benchmark range of values for the operational attribute.

16. The computer program product of claim 10 , wherein the robots comprise toy vehicles.

17. The computer program product of claim 16 , wherein the respective environments comprise respective encoded racing tracks for toy vehicles.

18. The computer program product of claim 17 , wherein the plurality of respective values for the operational attribute represent values generated by the toy vehicles while decoding the encoded racing tracks.

19. A system comprising:

an adaptive analytics system comprising 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 to remotely control actions of one or more robots, the operations comprising:

obtaining, by the adaptive analytics system from the one or more robots having one or more similar operating characteristics, a plurality of respective values for an operational attribute representing a property of respective environments of the one or more robots;

aggregating by the adaptive analytics system, the plurality values to compute a benchmark range of values for the operational attribute;

receiving, by the adaptive analytics system from a first robot of the one or more robots, a first value of the operational attribute recorded by the first robot at a first location in a first environment of the first robot;

determining, by the adaptive analytics system, that the first value of the operational attribute recorded by the first robot is outside the benchmark range of values for the operational attribute;

in response to determining that the first value of the operational attribute recorded by the first robot is outside the benchmark range of values for the operational attribute,

determining an increased performance rate of a physical component of the first robot, wherein the physical component was used to record the first value of the operational attribute at the first location in the first environment;

generating one or more commands that when executed by the first robot cause the first robot to record the subsequent value of the operational attribute at the increased performance rate, and

providing, by the adaptive analytics system to the first robot, the one or more commands to cause the first robot to record the subsequent value of the operational attribute at the increased performance rate; and

one or more robots of the one or more robots, each robot comprising one or more actuators that are each configured to effect a physical movement of the robot, one or more processors, and one or more storage devices storing instructions that are operable, when executed by the one or more processors, to cause the robot to perform operations comprising:

receiving, by the first robot from the adaptive analytics system, the one or more generated commands; and

executing the one or more generated commands to perform operations comprising:

recording a subsequent value of the operational attribute at the increased performance rate, and

providing, by the first robot to the adaptive data analytics system, the recorded subsequent value of the operational attribute recorded at the increased performance rate.

20. The system of claim 19 , wherein the operations further comprise navigating toward the first location during a current task being performed by the first robot.

21. The system of claim 20 , wherein navigating toward the first location comprises navigating after a current task being performed by the first robot.

22. The system of claim 19 , wherein the robots comprise toy vehicles.

23. The system of claim 22 , wherein the respective environments comprise respective encoded racing tracks for toy vehicles.

24. The system of claim 23 , wherein the plurality of respective values for the operational attribute represent values generated by the toy vehicles while decoding the encoded racing tracks.

25. The system of claim 24 , wherein the physical component performs decoding of the encoded racing tracks.

26. The system of claim 25 , wherein the physical component comprises a camera imager chip or an LED.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 28, 2022
From: DIGITAL DREAM LABS, LLC
To: DIGITAL DREAM LABS, INC.
Reel/Frame 059819/0720 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 24, 2020
From: DSI ASSIGNMENTS, LLC
To: DIGITAL DREAM LABS, LLC
Reel/Frame 052211/0235 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2020
From: ANKI, INC.
To: DSI ASSIGNMENTS, LLC
Reel/Frame 052190/0487 →
RELEASE OF SECURITY INTEREST Recorded Jan 6, 2020
From: SILICON VALLEY BANK
To: ANKI, INC.
Reel/Frame 051485/0600 →
RELEASE OF SECURITY INTEREST Recorded Aug 13, 2019
From: FISH & RICHARDSON
To: ANKI, INC
Reel/Frame 050034/0151 →
LIEN Recorded Jun 3, 2019
From: ANKI, INC.
To: FISH & RICHARDSON P.C.
Reel/Frame 049342/0887 →
SECURITY INTEREST Recorded Apr 4, 2018
From: ANKI, INC.
To: SILICON VALLEY BANK
Reel/Frame 046231/0312 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2015
From: DENEALE, PATRICK; ELIAZ, TOM
To: ANKI, INC.
Reel/Frame 037287/0290 →
Continuity (2)
Provisional Application 62099749 · Jan 5, 2015
Related Publication 20160196152A1 · Jul 7, 2016