IP Library Granted Patent US 11,654,574
Granted Patent B2
US 11,654,574 · App. 16/921,095 · Granted May 23, 2023

Cleaning robot

Inventors: Yiming Zhang (Beijing, CN); Zhen Chen (Beijing, CN)
Assignee: QFEELTECH (BEIJING) CO., LTD.
B25J11/0085B25J9/1676B25J13/089B25J19/023B25J19/04G05D1/0246G05D1/0274G05D2201/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,654,574
App. No.
16/921,095
Granted
May 23, 2023
Kind
B2
Abstract

A cleaning robot is provided. The cleaning robot includes a motion device configured to move the cleaning robot in an environment, and an exterior housing. The cleaning robot also includes a motion sensor configured to obtain parameters relating to a motion of the cleaning robot, and a storage device configured to store data including at least one of the one or more images or the one or more motion parameters. The cleaning robot also includes a camera configured to capture one or more images of the environment. The camera is disposed internal to a slant surface located at a front end of the exterior housing and is pivotable relative to the slant surface. The slant surface inclines upwardly with respect to a forward moving direction. The camera and the slant surface face substantially a same direction. A direction of the camera and the forward moving direction form an acute angle.

Claims (131)

1. A cleaning robot, comprising:

one or more motion devices configured to move the cleaning robot in an environment;

an exterior housing;

one or more motion sensors configured to obtain one or more motion parameters relating to a motion of the cleaning robot;

a storage device configured to store data including at least one of the one or more images or the one or more motion parameters;

a camera configured to capture one or more images of the environment, wherein the camera is disposed internal to a slant surface located at a front end of the exterior housing, the slant surface inclines upwardly with respect to a forward moving direction, the camera and the slant surface face substantially a same direction, and a direction of the camera and the forward moving direction form an acute angle in a range greater than or equal to 30° and less than 90°;

one or more cleaning devices configured to clean a floor;

a power source configured to provide an electric power to the cleaning robot; and

a data processing device configured to execute a localization and mapping algorithm to:

control the one or more motion devices to move the cleaning robot in a first predetermined moving direction;

determine that the cleaning robot encounters an obstacle;

control the one or more motion devices to turn to a predetermined direction and move the cleaning robot along a periphery of the obstacle;

while the cleaning robot moves along the periphery of the obstacle,

compute a first projected distance of a moving path along the periphery of the obstacle projected in the first predetermined moving direction;

compute a first sum of the first projected distance and a distance the cleaning robot already traversed in the first predetermined moving direction up to a time instance when encountering the obstacle;

determine whether the first sum is equal to or greater than a first predetermined value; and

based on a determination that the first sum is equal to or greater than the first predetermined value, control the one or more motion devices to turn the cleaning robot to move in a second predetermined moving direction.

2. The cleaning robot of claim 1 , wherein the exterior housing further comprises protection edges protruding forwardly and higher than the slant surface disposed at at least a portion of a periphery of the slant surface.

3. The cleaning robot of claim 1 ,

wherein the data processing device is also configured to:

obtain the one or more images captured by the camera and the one or more motion parameters obtained by the one or more motion sensors; and

execute a localization and mapping algorithm based on the one or more images and the one or more motion parameters to perform localization, mapping, and path planning for the cleaning robot, and to control the one or more motion devices to move along a planned path.

4. The cleaning robot of claim 3 , wherein the data processing device is also configured to execute the localization and mapping algorithm to:

recognize feature information included in at least two images captured by the camera;

compute displacements and poses of the cleaning robot based on the one or more motion parameters obtained by the one or more motion sensors at time instances when the at least two images are captured and based on the feature information; and

compute a location of the cleaning robot at each time instance when each of the at least two images is captured.

5. The cleaning robot of claim 4 , wherein the data processing device is also configured to execute the localization and mapping algorithm to:

set a virtual zone inside the work zone;

control the cleaning robot to move to a location inside the virtual zone or at a boundary of the virtual zone; and

control the cleaning robot to move inside the virtual zone and clean the virtual zone.

6. The cleaning robot of claim 5 , wherein setting the virtual zone comprises:

controlling a moving distance and a rotating angle of the cleaning robot to cause a moving path of the cleaning robot inside the work zone to form a closed space, the closed space defining the virtual zone,

wherein controlling the cleaning robot to move inside the virtual zone and clean the virtual zone comprises controlling the cleaning robot to move inside an interior of the closed space and clean the interior of the closed space.

7. The cleaning robot of claim 6 , wherein controlling the cleaning robot to move inside the interior of the closed space and clean the interior of the closed space comprises controlling the one or more motion devices of the cleaning robot to:

a) move the cleaning robot in a first cleaning direction inside the virtual zone until the cleaning robot encounters a first boundary of the virtual zone or a first boundary of a cleaned zone;

b) turn the cleaning robot in a first turning direction to a first deviation direction that is substantially parallel with a direction of a first encountered boundary, continue to move the cleaning robot in the first deviation direction for a first deviation distance, and turn the cleaning robot in the first turning direction to a second cleaning direction parallel with and opposite to the first cleaning direction;

c) move the cleaning robot in the second cleaning direction inside the virtual zone until the cleaning robot encounters a second boundary of the virtual zone or a second boundary of the cleaned zone;

d) turn the cleaning robot in a second turning direction to a second deviation direction that is substantially parallel with a direction of a second encountered boundary, continue to move the cleaning robot in the second deviation direction for a second deviation distance, and turn the cleaning robot in the second turning direction to the first cleaning direction; and

e) repeat steps a) to d) until a coverage of a moving path of the cleaning robot exceeds a predetermined percentage of a traversable area of the virtual zone, or until the data processing device determines that the cleaning robot is surrounded by one or more boundaries of the virtual zone, one or more boundaries of one or more cleaned zones, or one or more obstacles.

8. The cleaning robot of claim 7 ,

wherein the first predetermined moving direction is one of the first cleaning direction or the second cleaning direction;

wherein the data processing device is also configured to: while controlling the cleaning robot to move along the periphery of the obstacle,

compute a second projected distance of the moving path along the periphery projected in second predetermined moving direction perpendicular to the first predetermined moving direction;

determine whether the second projected distance is substantially equal to 0;

based on a determination that the second projected distance is substantially equal to 0, control the one or more motion devices to stop moving the cleaning robot along the periphery of the obstacle and to turn the cleaning robot to the first predetermined moving direction and to move in the first predetermined moving direction;

determine whether the second projected distance is equal to or greater than a predetermined deviation distance;

based on a determination that the second projected distance is equal to or greater than the predetermined deviation distance, control the one or more motion devices to stop moving the cleaning robot along the periphery of the obstacle and to turn the cleaning robot to a third predetermined moving direction parallel with and opposite to the first predetermined moving direction; and

control the one or more motion devices to move the cleaning robot in the third predetermined moving direction parallel with and opposite to the first predetermined moving direction.

9. The cleaning robot of claim 6 , wherein controlling the moving distance and the rotating angle of the cleaning robot to cause the moving path of the cleaning robot inside the work zone to form the closed space defining the virtual zone comprises controlling the one or more motion devices of the cleaning robot to:

move the cleaning robot in a first moving direction for a first predetermined distance from a starting location;

turn the cleaning robot to a second moving direction perpendicular to the first moving direction;

move the cleaning robot in the second moving direction for a second predetermined distance;

turn the cleaning robot to a third moving direction parallel with and opposite to the first moving direction;

move the cleaning robot in the third moving direction for the first predetermined distance;

turn the cleaning robot to a fourth moving direction parallel with and opposite to the second moving direction; and

move the cleaning robot in the fourth moving direction for the second predetermined distance to return to the starting location to form the closed space defining the virtual zone.

10. The cleaning robot of claim 9 , wherein the first predetermined moving direction is one of the first moving direction, the second moving direction, the third moving direction, or the fourth moving direction;

wherein the data processing device is also configured to: while controlling the cleaning robot to move along the periphery of the obstacle,

compute a second projected distance of the moving path projected in the second predetermined moving direction that is perpendicular to the first predetermined moving direction;

wherein the second predetermined moving direction is one of the first moving direction, the second moving direction, the third moving direction, or the fourth moving direction, and

while controlling the one or more motion devices to move the cleaning robot in the second predetermined moving direction,

compute a second sum of the second projected distance and a distance the cleaning robot already traversed in the second predetermined moving direction since turning to the second predetermined moving direction from the periphery of the obstacle;

determine whether the second sum is equal to or greater than a second predetermined value;

based on a determination that the second sum is equal to or greater than the second predetermined value, control the one or more motion devices to turn the cleaning robot to a third predetermined moving direction perpendicular to the second predetermined moving direction, and

control the one or more motion devices of the cleaning robot to move the cleaning robot in the third predetermined moving direction toward the starting location of the cleaning robot and to return to the starting location to form the closed space.

11. The cleaning robot of claim 9 ,

wherein the first predetermined moving direction is one of the first moving direction, the second moving direction, the third moving direction, or the fourth moving direction;

wherein the data processing device is also configured to: while controlling the cleaning robot to move along the periphery of the obstacle,

compute a second projected distance of the moving path projected in the second predetermined moving direction that is perpendicular to the first predetermined moving direction;

determine whether the second projected distance is substantially equal to 0;

based on a determination that the second projected distance is substantially equal to 0, and the first sum is less than the first predetermined value, control the one or more motion devices of the cleaning robot to stop moving the cleaning robot along the periphery of the obstacle and to turn the cleaning robot to the first predetermined moving direction and to move in the first predetermined moving direction.

12. The cleaning robot of claim 3 , further comprising:

a collision sensor disposed at the front end of the cleaning robot, and configured to transmit a collision signal to the data processing device when detecting a collision with the obstacle,

wherein the data processing device is also configured to execute the localization and mapping algorithm to:

determine a location of the obstacle based on the collision signal and a location of the cleaning robot at a time instance when the cleaning robot collides with the obstacle; and

build a map of a work zone based on the location of the obstacle.

13. The cleaning robot of claim 3 , further comprising a distance sensor configured to detect the obstacle and transmit a relative position of the obstacle relative to the cleaning robot to the data processing device,

wherein the data processing device is also configured to execute the localization and mapping algorithm to:

determine a location of the obstacle based on the relative position of the obstacle transmitted from the distance sensor and a location of the cleaning robot at a time instance when the distance sensor obtains the relative position of the obstacle; and

build a map of a work zone based on the location of the obstacle.

14. A non-transitory computer-readable storage medium storing computer-executable instructions, which when executed by a processor, are configured to cause the processor to perform a method comprising:

setting a virtual zone inside a work zone;

controlling a cleaning robot to move to a location inside the virtual zone or at a boundary of the virtual zone;

controlling the cleaning robot to move inside the virtual zone and clean the virtual zone;

dividing, based on the virtual zone, a zone in the work zone and outside of the virtual zone to obtain a plurality of expanded virtual zones; and

based on a determination that the cleaning robot has finished cleaning the virtual zone, determining a first expanded virtual zone to be cleaned subsequently from the expanded virtual 12 zones based on distances between the expanded virtual zones and a current location of the cleaning robot when the cleaning robot finishes cleaning the virtual zone,

wherein controlling the cleaning robot to move inside the virtual zone comprises:

controlling the cleaning robot to move in a first predetermined moving direction;

determining that the cleaning robot encounters an obstacle;

controlling the cleaning robot to turn to a predetermined direction and move along a periphery of the obstacle;

while the cleaning robot moves along the periphery of the obstacle,

computing a first projected distance of a moving path along the periphery of the obstacle projected in the first predetermined moving direction;

computing a first sum of the first projected distance and a distance the cleaning robot already traversed in the first predetermined moving direction up to a time instance when encountering the obstacle;

determining whether the first sum is equal to or greater than a first predetermined value; and

based on a determination that the first sum is equal to or greater than the first predetermined value, controlling the cleaning robot to turn and move in a second predetermined moving direction.

15. The non-transitory computer-readable storage medium of claim 14 , wherein the plurality of expanded virtual zones include a plurality of inner expanded virtual zones that are located inside the work zone surrounding the virtual zone, and a plurality of outer expanded virtual zones that are at least partially located outside of the work zone surrounding the inner virtual zones.

16. The non-transitory computer-readable storage medium of claim 14 , wherein the method further comprises:

controlling the cleaning robot to clean the determined one of the expanded virtual zones; and

determining a second expanded virtual zone to be cleaned subsequently from remaining expanded virtual zones based on distances between the remaining expanded virtual zones and a current location of the cleaning robot, which is a location of the cleaning robot when the cleaning robot finishes cleaning the first expanded virtual zone.

17. The non-transitory computer-readable storage medium of claim 14 , wherein controlling the cleaning robot to move inside the virtual zone from the starting location and clean the virtual zone comprises controlling the cleaning robot to:

a) move in a first cleaning direction inside the virtual zone until the cleaning robot encounters a first boundary of the virtual zone or a first boundary of a cleaned zone;

b) turn in a first turning direction to a first deviation direction that is substantially parallel with a direction of a first encountered boundary, continue to move in the first deviation direction for a first deviation distance, and turn in the first turning direction to a second cleaning direction parallel with and opposite to the first cleaning direction;

c) move in the second cleaning direction inside the virtual zone until the cleaning robot encounters a second boundary of the virtual zone or a second boundary of the cleaned zone;

d) turn in a second turning direction to a second deviation direction that is substantially parallel with a direction of a second encountered boundary, continue to move in the second deviation direction for a second deviation distance, and turn in the second turning direction to the first cleaning direction; and

e) repeat steps a) to d) until a coverage of a moving path of the cleaning robot exceeds a predetermined percentage of a traversable area of the virtual zone, or until the processor determines that the cleaning robot is surrounded by one or more boundaries of the virtual zone, one or more boundaries of one or more cleaned zones, or one or more obstacles.

18. The non-transitory computer-readable storage medium of claim 17 ,

wherein the first predetermined moving direction is one of the first cleaning direction or the second cleaning direction;

wherein the method further comprises: while controlling the cleaning robot to move along the periphery of the obstacle, computing a second projected distance of the moving path along the periphery projected in the second predetermined moving direction perpendicular to the first predetermined moving direction;

determining whether the second projected distance is substantially equal to 0;

based on a determination that the second projected distance is substantially equal to 0, controlling the cleaning robot to stop moving along the periphery of the obstacle and to turn to the first predetermined moving direction and to move in the first predetermined moving direction;

determining whether the second projected distance is equal to or greater than a predetermined deviation distance;

based on a determination that the second projected distance is equal to or greater than the predetermined deviation distance, controlling the cleaning robot to stop moving along the periphery of the obstacle and to turn to a third predetermined moving direction parallel with and opposite to the first predetermined moving direction; and

controlling the cleaning robot to move in the third predetermined moving direction parallel with and opposite to the first predetermined moving direction.

19. The non-transitory computer-readable storage medium of claim 14 , wherein setting the virtual zone comprises controlling the cleaning robot to:

move in a first moving direction for a first predetermined distance from a starting location;

turn to a second moving direction perpendicular to the first moving direction;

move in the second moving direction for a second predetermined distance;

turn to a third moving direction parallel with and opposite to the first moving direction;

move in the third moving direction for the first predetermined distance;

turn to a fourth moving direction parallel with and opposite to the second moving direction; and

move in the fourth moving direction for the second predetermined distance to return to the starting location to form the closed space defining the virtual zone.

20. The non-transitory computer-readable storage medium of claim 19 , wherein the first predetermined moving direction is one of the first moving direction, the second moving direction, the third moving direction, or the fourth moving direction;

wherein the method further comprises:

while controlling the cleaning robot to move along the periphery of the obstacle,

computing a second projected distance of the moving path projected in the second predetermined moving direction that is perpendicular to the first predetermined moving direction;

wherein the second predetermined moving direction is one of the first moving direction, the second moving direction, the third moving direction, or the fourth moving direction, and

while controlling the cleaning robot to move the cleaning robot in the second predetermined moving direction,

computing a second sum of the second projected distance and a distance the cleaning robot already traversed in the second predetermined moving direction since turning to the second predetermined moving direction from the periphery of the obstacle;

determine whether the second sum is equal to or greater than a second predetermined value;

based on a determination that the second sum is equal to or greater than the second predetermined value, controlling the cleaning robot to turn the cleaning robot to a third predetermined moving direction perpendicular to the second predetermined moving direction, and

controlling the cleaning robot to move the cleaning robot in the third predetermined moving direction toward the starting location of the cleaning robot and to return to the starting location to form the closed space.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2020
From: ZHANG, YIMING; CHEN, ZHEN
To: QFEELTECH (BEIJING) CO., LTD.
Reel/Frame 053160/0654 →
Priority Claims (1)
CN 201810067512.8 · Jan 24, 2018 · national
Continuity (2)
Continuation In Part PCTCN2018088143 · May 24, 2018
Related Publication 20200331148A1 · Oct 22, 2020
Cited By (12)
US 12,296,694 US 12,369,509 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