IP Library › Granted Patent US 11,052,540
Granted Patent B2
US 11,052,540 · App. 16/251,926 · Granted Jul 6, 2021

Methods and systems for complete coverage of a surface by an autonomous robot

Inventors: Michael S. Stout (Rancho Palos Verdes, CA); Gabriel Francis Brisson (Albany, CA); Enrico Di Bernardo (Glendora, CA); Paolo Pirjanian (Pasadena, CA); Dhiraj Goel (Pasadena, CA); James Philip Case (Los Angeles, CA); Michael Dooley (Pasadena, CA)
Assignee: iRobot Corporation
B25J9/1684B25J5/00B25J5/005B25J5/007B25J9/163G05D1/0219G05D1/0234G05D1/0238G05D1/0255G05D1/0257G05D1/0263G05D1/0272G05D1/0274G05D2201/0203G05D2201/0208G05D2201/0215Y10S901/01Y10S901/46
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,052,540
App. No.
16/251,926
Granted
Jul 6, 2021
Kind
B2
Abstract

A robot configured to navigate a surface, the robot comprising a movement mechanism; a logical map representing data about the surface and associating locations with one or more properties observed during navigation; an initialization module configured to establish an initial pose comprising an initial location and an initial orientation; a region covering module configured to cause the robot to move so as to cover a region; an edge-following module configured to cause the robot to follow unfollowed edges; a control module configured to invoke region covering on a first region defined at least in part based at least part of the initial pose, to invoke region covering on least one additional region, to invoke edge-following, and to invoke region covering cause the mapping module to mark followed edges as followed, and cause a third region covering on regions discovered during edge-following.

Claims (37)

1. A mobile robot, comprising:

a drive motor configured to move the mobile robot to traverse a surface;

one or more sensors configured to output localization data indicative of a first location of the mobile robot on the surface, wherein the first location is associated with a first region of the surface; and

a processor coupled to the drive motor and the one or more sensors, wherein the processor is configured to perform operations comprising:

determining, based on the localization data, a path to navigate the mobile robot from the first location to a portion of the first region that has not been traversed by the mobile robot; and

deferring coverage of the portion of the first region by operating the drive motor to move the mobile robot to a second location that is associated with a second region of the surface before traversing the portion of the first region based on the path that was determined.

2. The mobile robot of claim 1 , wherein the processor is further configured to perform operations comprising:

operating the drive motor to move the mobile robot in ranks in the first region prior to operating the drive motor to move the mobile robot to the second location.

3. The mobile robot of claim 1 , wherein operating the drive motor further comprises:

operating the drive motor to move the mobile robot to traverse the portion of the first region after completing coverage of the second region.

4. The mobile robot of claim 1 , wherein determining the path comprises determining that the path from the first location to the portion of the first region comprises a previously-traversed portion of the first region, and wherein operating the drive motor to move the mobile robot to the second location does not traverse the previously-traversed portion of the first region.

5. The mobile robot of claim 1 , wherein determining the path comprises determining that no path exists within the first region to navigate the mobile robot from the first location to the portion of the first region.

6. The mobile robot of claim 5 , wherein determining that no path exists is based on an obstacle in the first region between the first location and the portion of the first region.

7. The mobile robot of claim 1 , wherein determining the path comprises determining a distance from the first location to the portion of the first region, and wherein operating the drive motor to move the mobile robot to the second location is based on the distance.

8. The mobile robot of claim 7 , wherein determining the path further comprises determining a ratio of the distance to a length of a previously-traversed portion of the first region, and wherein operating the drive motor to move the mobile robot to the second location is further based on the ratio.

9. The mobile robot of claim 1 , wherein the processor is further configured to perform operations comprising:

storing data indicating deferred coverage of the portion of the first region in a nontransitory memory.

10. The mobile robot of claim 9 , wherein the data comprises a list indicating deferred coverage of a plurality of portions of the first and/or second regions, and wherein the processor is further configured to perform operations comprising:

determining an order of coverage for the plurality of portions based on a current location relative thereto; and

operating the drive motor to move the mobile robot to sequentially navigate one or more of the plurality of portions according to the order.

11. The mobile robot of claim 1 , wherein the processor is configured to access a non-transitory memory comprising a map of the surface that associates the first and second locations on the surface with the first and second regions, respectively.

12. The mobile robot of claim 1 , wherein the surface comprises a carpeted or uncarpeted floor, and wherein the mobile robot comprises a floor-cleaning robot.

13. A method for operating a mobile robot, the method comprising:

executing, by a processor coupled to a drive motor configured to move the mobile robot to traverse a surface and coupled to one or more sensors configured to output localization data indicative of a first location of the mobile robot on the surface, computer readable instructions stored in a non-transitory storage medium to perform operations comprising:

determining, based on the localization data, a path to navigate the mobile robot from the first location to a portion of a first region of the surface that has not been traversed by the mobile robot, wherein the first location is associated with the first region of the surface; and

deferring coverage of the portion of the first region by operating the drive motor to move the mobile robot to a second location on the surface before traversing the portion of the first region based on the path that was determined, wherein the second location is associated with a second region of the surface that is different from the first region.

14. The method of claim 13 , wherein operating the drive motor further comprises:

operating the drive motor to move the mobil robot to traverse the portion of the first region after completing coverage of the second region.

15. The method of claim 13 , wherein determining the path comprises determining that the path from the first location to the portion of the first region comprises a previously-traversed portion of the first region, and wherein operating the drive motor to move the mobile robot to the second location does not traverse the previously-traversed portion of the first region.

16. The method of claim 13 , wherein determining the path comprises determining that no path exists within the first region to navigate the mobile robot from the first location to the portion of the first region.

17. The method of claim 16 , wherein determining that no path exists is based on an obstacle in the first region between the first location and the portion of the first region.

18. The method of claim 13 , wherein determining the path comprises determining a distance from the first location to the portion of the first region, and wherein operating the drive motor to move the mobile robot to the second location is based on the distance.

19. The method of claim 13 , wherein the surface comprises a carpeted or uncarpeted floor, and wherein the mobile robot comprises a floor-cleaning robot.

20. A computer program product for operating a mobile robot, the computer program product comprising:

a non-transitory storage medium having computer readable instructions stored therein that, when executed by a processor coupled to a drive motor configured to move the mobile robot to traverse a surface and coupled to one or more sensors configured to output localization data indicative of a first location of the mobile robot on the surface, causes the processor to perform operations comprising:

determining, based on the localization data, a path to navigate the mobile robot from the first location to a portion of a first region of the surface that has not been traversed by the mobile robot, wherein the first location is associated with the first region of the surface; and

deferring coverage of the portion of the first region by operating the drive motor to move the mobile robot to a second location on the surface before traversing the portion of the first region based on the path that was determined, wherein the second location is associated with a second region of the surface that is different from the first region.

Assignments (6)
NOTICE OF ASSIGNMENT OF SECURITY INTEREST IN INTELLECTUAL PROPERTY Recorded Nov 25, 2025
From: TCG SENIOR FUNDING L.L.C., AS COLLATERAL AGENT
To: SANTRUM HONG KONG CO., LIMITED, AS SUCCESSOR COLLATERAL AGENT
Reel/Frame 073707/0516 →
SECURITY INTEREST Recorded Aug 9, 2023
From: IROBOT CORPORATION
To: TCG SENIOR FUNDING L.L.C., AS COLLATERAL AGENT
Reel/Frame 064532/0856 →
RELEASE OF SECURITY INTEREST Recorded Jul 31, 2023
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: IROBOT CORPORATION
Reel/Frame 064430/0001 →
SECURITY INTEREST Recorded Nov 3, 2022
From: IROBOT CORPORATION
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 061878/0097 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2019
From: STOUT, MICHAEL S.; BRISSON, GABRIEL FRANCIS; DI BERNARDO, ENRICO; PIRJANIAN, PAOLO; GOEL, DHIRAJ; CASE, JAMES PHILIP; DOOLEY, MICHAEL
To: EVOLUTION ROBOTICS, INC.
Reel/Frame 048061/0121 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2019
From: EVOLUTION ROBOTICS, INC.
To: IROBOT CORPORATION
Reel/Frame 048061/0330 →
Continuity (6)
Continuation 15461106 · Mar 16, 2017
Continuation 14880610 · Oct 12, 2015
Continuation 14251390 · Apr 11, 2014
Continuation 12940871 · Nov 5, 2010
Provisional Application 61280678 · Nov 6, 2009
Related Publication 20190152059A1 · May 23, 2019
Cited By (14)
US 12,296,694 US 12,361,323 US 12,369,509 US 12,380,070 US 12,425,197 US 12,443,180 US 12,472,611 US 12,510,892 US 12,564,130 US 12,653,097 US 12,677,737 US 12,690,518 US 12,696,838 US 12,714,019