IP Library Granted Patent US 11,157,016
Granted Patent B2
US 11,157,016 · App. 16/508,242 · Granted Oct 26, 2021

Automatic recognition of multiple floorplans by cleaning robot

Inventors: Sarath Kumar Suvarna (Fremont, CA); Bryant Pong (San Jose, CA); Pawel Orzechowski (Los Gatos, CA); Joe Tate (San Jose, CA); Henry Leinhos (Palo Alto, CA)
Assignee: Neato Robotics, Inc.
G05D1/024G05D1/0088G05D1/0248G05D2201/0203G05D2201/0215
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 11,157,016
App. No.
16/508,242
Granted
Oct 26, 2021
Kind
B2
Abstract

In one embodiment, a cleaning robot stores multiple floorplans. The robot automatically determines which floorplan it is in by localizing and trying to match its detected environment to the stored map. The best fit is the map for the current floor. If there is no match above a confidence threshold, the robot assumes it is a new floor or the floorplan has changed (e.g., furniture has moved), and the robot initiates a discovery mode to map the floorplan and add it to the robot's memory.

Claims (90)

1. A method for operating a cleaning robot comprising:

(a) using a location sensor to create multiple floorplan maps of multiple environments;

(b) storing the multiple floorplan maps in a memory;

(c) detecting features of an environment around the cleaning robot;

(d) matching the features to each of the multiple floorplan maps to determine a best match to identify which environment the cleaning robot is in by

first, localizing within each floorplan map by testing for a match for different locations within each floorplan map;

second, identifying a best match within each floorplan map; and

third, comparing the best match for each floorplan map to determine a best match floorplan map;

(e) determining a confidence level for the best match floorplan map;

(f) determining if the confidence level exceeds a confidence threshold; and

(g) if the confidence level exceeds the confidence threshold, initiating cleaning of the environment using the best match floorplan map.

2. The method of claim 1 further comprising:

if the confidence level does not exceed the confidence threshold, initiating a discovery mode to map the environment and add it as a new floorplan to the memory.

3. The method of claim 1 wherein the localizing is performed using a SLAM method with data from one of an LDS sensor or an image sensor.

4. The method of claim 1 further comprising:

moving the cleaning robot;

after the cleaning robot moves to a new location during the cleaning, repeating steps (c)-(g) to verify that the cleaning robot has identified a correct floorplan map.

5. The method of claim 4 wherein repeating steps (c)-(g) is performed if the cleaning robot is unable to determine a best match because a plurality of the multiple floorplan maps match within a threshold.

6. The method of claim 4

wherein the new location is one of a new room or beyond a detection range of the sensor from a location of the cleaning robot during step (c).

7. The method of claim 1 further comprising:

determining, with a movement sensor, that the cleaning robot has not been picked up; and

using a last floorplan map if the cleaning robot has not been picked up.

8. The method of claim 7 wherein the movement sensor is one of an accelerometer, gyroscopic sensor and a tilt sensor.

9. The method of claim 7 wherein determining, with a movement sensor, that the cleaning robot has not been picked up comprises determining that there has been no tilt of more than a tilt threshold between 3-10 degrees or an acceleration that exceeds an acceleration threshold between 0.5-2.0 g-force.

10. A cleaning robot, comprising:

a cleaning robot housing of the cleaning robot;

a motor mounted in the housing for moving the cleaning robot;

a battery connected to provide electrical power to the motor;

a location sensor mounted in the cleaning robot for detecting surroundings;

a processor mounted in the cleaning robot;

a memory in the cleaning robot;

a localization module in the cleaning robot;

non-transitory, computer-readable code in the memory having instructions for:

(a) using the location sensor to create multiple floorplan maps of multiple environments;

(b) storing the multiple floorplan maps in the memory;

(c) detecting features of an environment around the cleaning robot;

(d) matching, by the processor, the features to each of the multiple floorplan maps to determine a best match floorplan map to identify which environment the cleaning robot is in by

first, localizing within each floorplan map by testing for a match for different locations within each floorplan map;

second, identifying a best match within each floorplan map; and

third, comparing the best match for each floorplan map to determine a best match floorplan map;

(e) determining a confidence level for the best match floorplan map;

(f) determining if the confidence level exceeds a confidence threshold; and

(g) if the confidence level exceeds the confidence threshold, initiating cleaning of the environment using the best match floorplan map by providing controls to the motor.

11. The cleaning robot of claim 10 wherein the non-transitory, computer-readable code in the memory further comprises instructions for:

if the confidence level does not exceed the confidence threshold, initiating a discovery mode to map the environment and add it as a new floorplan to the memory.

12. The cleaning robot of claim 10 wherein the non-transitory, computer-readable code in the memory further comprises instructions for:

determining, with a movement sensor, that the cleaning robot has not been picked up; and

using a last floorplan map if the cleaning robot has not been picked up.

13. The cleaning robot of claim 12 wherein

the movement sensor is one of an accelerometer, gyroscopic sensor and a tilt sensor.

14. The cleaning robot of claim 13 wherein:

the location sensor is one of an LDS sensor or an image sensor; and

the instruction for the localizing uses a SLAM method with data from one of an LDS sensor or an image sensor.

15. The cleaning robot of claim 10 wherein the non-transitory, computer-readable code in the memory further comprises instructions for:

moving the cleaning robot;

after the cleaning robot moves to a new location during the cleaning, repeating steps (c)-(g) to verify that the cleaning robot has identified a correct floorplan map.

16. The cleaning robot of claim 15 wherein the non-transitory, computer-readable code instructions for repeating the instructions for (c)-(d) is performed if the robot is unable to determine a best match because a plurality of the multiple floorplan maps match within a threshold.

17. The cleaning robot of claim 10 wherein the non-transitory, computer-readable code in the memory further comprises instructions for:

determining by the cleaning robot that the robot should be in another environment corresponding to a different floorplan map; and

sending a notification to a user asking the user to move the cleaning robot to another environment.

18. The cleaning robot of claim 10 wherein the non-transitory, computer-readable code in the memory further comprises instructions for:

assigning a name to each of the multiple floorplan maps; and

sending a notification to a user identifying, with a name of a map, an environment where the cleaning robot is currently located.

19. A cleaning robot, comprising:

a robot housing of the cleaning robot;

a motor mounted in the housing for moving the cleaning robot;

a battery connected to provide electrical power to the motor;

a location sensor mounted in the cleaning robot for detecting surroundings, the location sensor being one of an LDS sensor or an image sensor;

a processor mounted in the cleaning robot;

a memory in the cleaning robot;

a localization module in the cleaning robot;

non-transitory, computer-readable code in the memory having instructions for:

(a) using the location sensor to create multiple floorplan maps of multiple environments;

(b) storing the multiple floorplan maps in the memory;

(c) detecting features of an environment around the cleaning robot;

(d) matching, by the processor, the features to each of the multiple floorplan maps to determine a best match floorplan map to identify which environment the cleaning robot is in, by

first, localizing within each floorplan map by testing for a match for different locations within each floorplan map;

second, identifying a best match with in each floorplan map; and

third, comparing the best match for each floorplan map to determine a best match floorplan map;

(e) determining a confidence level for the best match floorplan map;

(f) determining if the confidence level exceeds a confidence threshold; and

(g) if the confidence level exceeds the confidence threshold, initiating cleaning of the environment using the best match map by providing controls to the motor

(h) if the confidence level does not exceed the confidence threshold, initiating a discovery mode to map the environment and add it as a new floorplan to the memory;

(i) moving the cleaning robot;

(j) after the cleaning robot moves to a new location during the cleaning, repeating steps (c)-(g) to verify that the cleaning robot has identified a correct floorplan map; and

(k) determining, with a movement sensor, that the cleaning robot has not been picked up; and

(l) using a last floorplan map if the cleaning robot has not been picked up.

20. The cleaning robot of claim 19 wherein

the movement sensor is one of an accelerometer, gyroscopic sensor and a tilt sensor.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 3, 2022
From: NEATO ROBOTICS, INC.
To: VORWERK & CO. INTERHOLDING GMBH
Reel/Frame 061292/0293 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2021
From: SUVARNA, SARATH KUMAR; PONG, BRYANT; ORZECHOWSKI, PAWEL; TATE, JOE; LEINHOS, HENRY
To: NEATO ROBOTICS, INC.
Reel/Frame 057468/0933 →
Continuity (2)
Provisional Application 62696224 · Jul 10, 2018
Related Publication 20200019169A1 · Jan 16, 2020