IP Library Granted Patent US 10,365,660
Granted Patent B2
US 10,365,660 · App. 15/799,738 · Granted Jul 30, 2019

Computer system and method for automated indoor surveying by robots

Inventors: Stephan Wirth (Palma de Mallorca, ES); Phil Herget (Sunnyvale, CA); Steve Cousins (San Jose, CA)
Assignee: Savioke, Inc.
G05D1/0274B25J5/007G05D1/0212H04B17/318Y10S901/01
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,365,660
App. No.
15/799,738
Granted
Jul 30, 2019
Kind
B2
Abstract

A method for autonomous sensor data collection by a robot comprising: receiving, at the robot, a digitally stored initial map representing a plurality of locations within an environment, wherein each location of the plurality of locations is associated with first sensor data; determining, based on the initial map and one or more stored parameters, whether one or more portions of the initial map should be updated; in response to determining one or more portions of the initial map should be updated, the robot calculating a route to one or more target locations corresponding to the one or more portions of the initial map, and the robot physically traversing the environment on the route; during traversal of the route, collecting second sensor data from one or more sensors of the robot at each target location of the one or more target locations; generating updated map data associating each target location of the one or more locations with respective updated sensor data based on the second sensor data.

Claims (59)

1. A method comprising:

determining, based on an initial map and one or more stored parameters, whether one or more portions of the initial map should be updated, wherein the initial map represents a plurality of locations within an environment, and wherein each location of the plurality of locations is associated with first sensor data;

in response to determining one or more portions of the initial map should be updated, causing:

calculating a route to one or more target locations corresponding to the one or more portions of the initial map;

a robot physically traversing the environment on the route;

during the traversing the environment on the route, the robot collecting second sensor data from one or more sensors of the robot at each target location of the one or more target locations;

generating updated map data associating each target location of the one or more target locations with respective updated sensor data based on the second sensor data.

2. The method of claim 1 wherein the initial map associates the sensor data of each location with an initial time and wherein the updated map data associates the sensor data of each target location with an update time.

3. The method of claim 2 further comprising:

receiving input specifying a first time and a second time;

in response to receiving the input, generating a comparison map, wherein the comparison map indicates, for one or more comparison locations of the plurality of locations, at least first sensor data associated with the first time and second sensor data associated with the second time.

4. The method of claim 2 wherein the initial map is stored in association with the initial time, the method further comprising storing an updated map in association with the update time.

5. The method of claim 1 wherein at least one stored parameter of the one or more stored parameters indicates a schedule.

6. The method of claim 1 wherein at least one stored parameter of the one or more stored parameters indicates a maximum sensor measurement age.

7. The method of claim 1 wherein the sensor data comprises signal strength measurements.

8. The method of claim 1 wherein the sensor data comprises digital images.

9. The method of claim 1 wherein determining the one or more portions of the initial map should be updated comprises:

determining a plurality of portions of the initial map should be updated;

selecting one or more portions of the plurality of portions based on one or more of: a current location of the robot, a location of a task assigned to the robot, and a destination location of the robot.

10. A method comprising:

reading, at a robot, a digitally stored initial map representing a plurality of locations within an environment, wherein each location of the plurality of locations is associated with first sensor data;

determining, based on the initial map and one or more stored parameters, whether one or more portions of the initial map should be updated;

in response to determining one or more portions of the initial map should be updated, causing:

calculating a route to one or more target locations corresponding to the one or more portions of the initial map;

the robot physically traversing the environment on the route;

during the traversing the environment on the route, the robot collecting second sensor data from one or more sensors of the robot at each target location of the one or more target locations;

the robot generating updated map data associating each target location of the one or more target locations with respective updated sensor data based on the second sensor data.

11. A system comprising:

one or more processors;

a non-transitory computer-readable storage medium storing instructions which, when executed by the one or more processors, cause performing:

determining, based on the initial map and one or more stored parameters, whether one or more portions of the initial map should be updated, wherein the initial map represents a plurality of locations within an environment, and wherein each location of the plurality of locations is associated with first sensor data;

in response to determining one or more portions of the initial map should be updated, causing:

calculating a route to one or more target locations corresponding to the one or more portions of the initial map;

a robot physically traversing the environment on the route;

during the traversing the environment on the route, the robot collecting second sensor data from one or more sensors of the robot at each target location of the one or more target locations;

generating updated map data associating each target location of the one or more target locations with respective updated sensor data based on the second sensor data.

12. The robot of claim 11 wherein the initial map associates the sensor data of each location with an initial time and wherein the updated map data associates the sensor data of each target location with an update time.

13. The robot of claim 12 , further comprising instructions which when executed by the one or more processors cause:

receiving input specifying a first time and a second time;

in response to receiving the input, generating a comparison map, wherein the comparison map indicates, for one or more comparison locations of the plurality of locations, at least first sensor data associated with the first time and second sensor data associated with the second time.

14. The robot of claim 12 wherein the initial map is stored in association with the initial time, the robot further comprising instructions which when executed by the one or more processors cause storing an updated map in association with the update time.

15. The robot of claim 11 wherein at least one stored parameter of the one or more stored parameters indicates a schedule.

16. The robot of claim 11 wherein at least one stored parameter of the one or more stored parameters indicates a maximum sensor measurement age.

17. The robot of claim 11 wherein the sensor data comprises signal strength measurements.

18. The robot of claim 11 wherein the sensor data comprises digital images.

19. The robot of claim 11 wherein determining the one or more portions of the initial map should be updated comprises:

determining a plurality of portions of the initial map should be updated;

selecting one or more portions of the plurality of portions based on one or more of: a current location of the robot, a location of a task assigned to the robot, and a destination location of the robot.

20. A robot comprising:

one or more sensors that collect data;

one or more processors;

a non-transitory computer-readable storage medium storing instructions which, when executed by the one or more processors, cause performing:

reading a digitally stored initial map representing a plurality of locations within an environment, wherein each location of the plurality of locations is associated with first sensor data;

determining, based on the initial map and one or more stored parameters, whether one or more portions of the initial map should be updated;

in response to determining one or more portions of the initial map should be updated, causing:

calculating a route to one or more target locations corresponding to the one or more portions of the initial map;

the robot physically traversing the environment on the route;

during the traversing the environment on the route, the robot collecting second sensor data from one or more sensors of the robot at each target location of the one or more target locations;

the robot generating updated map data associating each target location of the one or more target locations with respective updated sensor data based on the second sensor data.

Assignments (2)
SECURITY AGREEMENT Recorded Dec 17, 2020
From: SAVIOKE INC.
To: SILICON VALLEY BANK
Reel/Frame 054800/0535 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2017
From: WIRTH, STEPHAN; HERGET, PHIL; COUSINS, STEVE
To: SAVIOKE, INC.
Reel/Frame 043997/0475 →
Continuity (1)
Related Publication 20190129444A1 · May 2, 2019