IP Library Granted Patent US 10,241,478
Granted Patent B2
US 10,241,478 · App. 14/602,585 · Granted Mar 26, 2019

Determining states and modifying environments according to states

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,241,478
App. No.
14/602,585
Granted
Mar 26, 2019
Kind
B2
Abstract

Methods and systems for determining states of environments and modifying the environments according to the states are disclosed. In one aspect, the method includes a robot device determining for an environment a state comprising a plurality of state attributes for the environment. The method further includes receiving a request for the state and, in response to receiving the request, modifying the environment to comprise at least some of state attributes. The robot device may determine the state by receiving indications of at least some of the state attributes from some or all of a user, a server, another robot device, and another device. The attributes may be user attributes for a particular user, or may be event attributes for a particular type of event. The request may take the form of a request from a user, a calendar event, or a user arrival.

Claims (35)

1. A method comprising:

receiving, by a computing device, data corresponding to a desired state for a particular environment, wherein the data corresponding to the desired state comprises: at least one state attribute describing a desired attribute for the particular environment, and a condition for causing the desired state to be created when the condition is satisfied;

monitoring, by the computing device, the particular environment using a plurality of images from at least one camera on a mobile device positioned in the particular environment, wherein monitoring the particular environment includes performing image analysis on images in the plurality of images to compile an inventory of objects in the particular environment;

while monitoring the particular environment, detecting a change in the particular environment based on the plurality of images, wherein detecting the change involves identifying a difference in the inventory of objects in the particular environment between a first image and a second image of the plurality of images;

based on the detected change in the particular environment, determining, by the computing device, that the condition is satisfied; and

responsive to determining that the condition is satisfied, causing one or more other devices to adjust operation to modify the at least one state attribute for the particular environment, thereby creating the desired state.

2. The method of claim 1 , wherein the computing device comprises a server, and wherein the computing device receives the data corresponding to the desired state from a client device.

3. The method of claim 2 , wherein determining that the condition is satisfied comprises:

the server requesting data related to the condition from the client device; and

the server determining, based on data related to the condition that is received from the client device, that the condition is satisfied.

4. The method of claim 3 , wherein the condition comprises a presence of a particular user in the particular environment, and wherein the data related to the condition indicates that the particular user is present in the particular environment.

5. The method of claim 1 , wherein the condition comprises a presence of a particular user in the particular environment, and wherein determining that the condition is satisfied comprises receiving an indication that the particular user is present in the particular environment.

6. The method of claim 1 , wherein the condition comprises a condition selected from the group consisting of: a time of day, a day of week, a particular date, or a particular time on a particular date.

7. The method of claim 1 , wherein the data corresponding to the desired state comprises a calendar event indicating: the at least one state attribute and a time for creating the desired state.

8. The method of claim 1 , wherein causing the one or more other devices to modify the at least one state attribute for the particular environment comprises causing the one or more other devices to power on or off.

9. The method of claim 1 , wherein the one or more other devices comprise a building/home automation system.

10. The method of claim 1 , wherein the one or more other devices comprise a robot in the particular environment.

11. A device comprising:

at least one processor; and

memory including instructions executable by the at least one processor to cause the device to perform functions comprising:

maintaining a state database having individual data corresponding to each of a plurality of desired states for a particular environment, wherein the individual data for each of the plurality of desired states comprises one or more corresponding state attributes describing a desired attribute for the particular environment,

identifying a need to produce a particular one of the plurality of desired states in the particular environment, wherein the particular desired state involves a user-specific state,

monitoring the particular environment using a plurality of images from at least one camera on a mobile device positioned in the particular environment, wherein monitoring the particular environment includes performing image analysis on images in the plurality of images to compile an inventory of objects in the particular environment,

while monitoring the particular environment, detecting a change in the particular environment based on the plurality of images, wherein detecting the change involves identifying a difference in the inventory of objects in the particular environment between a first image and a second image of the plurality of images,

determining that a user associated with the user-specific state is present in the particular environment, and

responsive to determining that the user associated with the user-specific state is present in the particular environment and based on the detected change in the particular environment, causing one or more other devices to adjust operation in the particular environment to modify at least one state attribute corresponding to the particular desired state.

12. The device of claim 11 , wherein the particular desired state comprises an event-specific state, and wherein identifying the need to produce the particular desired state comprises determining that an event associated with the particular desired state is scheduled to occur within a predetermined amount of time.

13. The device of claim 11 , wherein the particular desired state is specific to a particular day of the week, and wherein identifying the need to produce the particular desired state comprises determining that it is the particular day of the week.

14. The device of claim 11 , wherein the functions further comprise:

receiving a request to store a current state of the particular environment in the state database,

responsive to receiving the request, querying at least one sensor in the particular environment to determine at least one current state attribute, and

adding a new state to the state database that has individual data indicating the at least one current state attribute.

15. The device of claim 11 , wherein the functions further comprise:

receiving from a client device individual data for a new state that includes at least one state attribute for the new state, and

adding to the state database another state that includes the individual data.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2025
From: GOOGLE LLC
To: GDM HOLDING LLC
Reel/Frame 071109/0342 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2023
From: X DEVELOPMENT LLC
To: GOOGLE LLC
Reel/Frame 064658/0001 →
CHANGE OF NAME Recorded Oct 6, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044144/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2016
From: GOOGLE INC.
To: X DEVELOPMENT LLC
Reel/Frame 039900/0610 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 22, 2015
From: HICKMAN, RYAN
To: GOOGLE INC.
Reel/Frame 034791/0153 →