U.S. patent application number 11/987115 was filed with the patent office on 2008-08-14 for robot cleaner using edge detection and method of controlling the same.
This patent application is currently assigned to Samsung Electronics Co., Ltd.. Invention is credited to Hyen Young Choi, Jeong Su Han, Su Ho Jo, Young Hoon Kang, Hyo Suk Kim, Odo Ryu.
Application Number | 20080191653 11/987115 |
Document ID | / |
Family ID | 39326973 |
Filed Date | 2008-08-14 |
United States Patent
Application |
20080191653 |
Kind Code |
A1 |
Han; Jeong Su ; et
al. |
August 14, 2008 |
Robot cleaner using edge detection and method of controlling the
same
Abstract
A robot cleaner and a method of controlling the same are
disclosed. The robot cleaner cleans a given cleaning area
simultaneously while moving in the cleaning area. The method
includes detecting whether an obstacle exists in a traveling path
of the robot cleaner, determining whether the detected obstacle is
an edge when the obstacle is detected, cleaning a predetermined
area centering around the edge when the detected obstacle is
determined to be the edge, and determining whether the cleaning
area is completely cleaned on the basis of information of the
detected edge while cleaning the predetermined area.
Inventors: |
Han; Jeong Su; (Suwon-si,
KR) ; Kim; Hyo Suk; (Hwasung-guni, KR) ; Kang;
Young Hoon; (Suwon-si, KR) ; Jo; Su Ho;
(Seongnam-si, KR) ; Choi; Hyen Young; (Suwon-si,
KR) ; Ryu; Odo; (Suwon-si, KR) |
Correspondence
Address: |
STAAS & HALSEY LLP
SUITE 700, 1201 NEW YORK AVENUE, N.W.
WASHINGTON
DC
20005
US
|
Assignee: |
Samsung Electronics Co.,
Ltd.
Suwon-si
KR
|
Family ID: |
39326973 |
Appl. No.: |
11/987115 |
Filed: |
November 27, 2007 |
Current U.S.
Class: |
318/568.12 ;
701/25; 901/1 |
Current CPC
Class: |
A47L 9/00 20130101; A47L
2201/04 20130101 |
Class at
Publication: |
318/568.12 ;
701/25; 901/1 |
International
Class: |
B25J 5/00 20060101
B25J005/00; G01C 22/00 20060101 G01C022/00 |
Foreign Application Data
Date |
Code |
Application Number |
Feb 10, 2007 |
KR |
10-2007-0014100 |
Claims
1. A method of controlling a robot cleaner which cleans a given
cleaning area simultaneously while moving in the cleaning area, the
method comprising: detecting whether an obstacle exists in a
traveling path of the robot cleaner; determining whether the
obstacle is an edge when the obstacle is detected; cleaning a
predetermined area centering around the edge when the detected
obstacle is determined to be the edge.
2. The method according to claim 1, further comprising: determining
whether the obstacle is a wall, before determining whether the
detected obstacle is the edge.
3. The method according to claim 2, wherein the determining whether
the obstacle is the wall includes: detecting whether the obstacle
is in the traveling path of the robot cleaner; moving the robot
cleaner to go straight in parallel to the obstacle by a first
predetermined distance when the obstacle is detected to be in the
traveling path of the robot cleaner; determining whether the
obstacle is detected while the robot cleaner goes straight in
parallel to the obstacle by the first predetermined distance or
more; and determining that the detected obstacle is the wall when
the obstacle is detected while the robot cleaner goes straight in
parallel to the obstacle by the first predetermined distance or
more.
4. The method according to claim 3, wherein the determining whether
the obstacle is the edge includes: moving the robot cleaner to go
straight in parallel to the wall by a second predetermined distance
when the detected obstacle is determined to be the wall;
determining whether the obstacle is detected while the robot
cleaner goes straight in parallel to the obstacle by the second
predetermined distance or more; and determining that the detected
obstacle is the edge when the obstacle is detected while the robot
cleaner goes straight in parallel to the obstacle by the second
predetermined distance or more.
5. The method according to claim 1, wherein the predetermined area
is a square area formed by the edge and a reference point located
in a diagonal direction from the edge.
6. The method according to claim 5, wherein the cleaning of the
predetermined area centering around the edge includes: moving the
robot cleaner to go straight in parallel to the wall by a set
distance at coordinates of the edge, rotating the robot cleaner by
90.degree. and moving the robot cleaner to go straight again by the
set distance when the detected obstacle is determined to be the
edge; establishing a square area in which a reference point and
coordinates of the edge are used as both end points of a diagonal
line when the robot cleaner is moved straight by the set distance,
rotated by 90.degree., moved straight again by the set distance and
reaches the reference point acting as an arrival point; and
cleaning a cleaning area for each established area.
7. The method according to claim 1, wherein the edge information is
indicative of a sum ( j Q j .degree. ) ##EQU00013## of angles of
the robot cleaner which rotates at the edge simultaneously while
cleaning the cleaning area.
8. The method according to claim 7, wherein the determining whether
the cleaning area is completely cleaned includes: calculating the
sum ( j Q j .degree. ) ##EQU00014## of angles of the robot cleaner
rotating at the edge; and determining whether a predetermined
cleaning-completion condition of the cleaning area is satisfied on
the basis of both the sum ( j Q j .degree. ) ##EQU00015## of the
angles and a number of determined edges.
9. The method according to claim 8, wherein the cleaning-completion
condition indicates whether the sum ( j Q j .degree. ) ##EQU00016##
of angles of the robot cleaner rotating at the edge satisfies the
following equation: 180 .degree. .times. ( n c - n m - 2 ) -
.DELTA. .ltoreq. j Q j .degree. .ltoreq. 180 .degree. .times. ( n c
- n m - 2 ) + .DELTA. ##EQU00017## where, n.sub.c is indicative of
the number of edges, n.sub.m is indicative of a number of similar
edges, Q.sub.j.sup.o is indicative of an interior angle of a
polygon, and .DELTA. is indicative of an error value capable of
reducing an error rate when the cleaning-completion condition is
determined to be satisfied.
10. A robot cleaner which cleans a given cleaning area
simultaneously while moving in the cleaning area, the robot cleaner
comprising: an obstacle detector detecting whether an obstacle
exists in a traveling path of the robot cleaner; and a controller
determining whether the detected obstacle is an edge when the
obstacle is detected, cleaning a predetermined area centering
around the edge if the detected obstacle is determined to be the
edge, and determining whether the cleaning area is cleaned on the
basis of information of the edge.
11. The robot cleaner according to claim 10, wherein the controller
determines whether the obstacle is a wall before determining
whether the detected obstacle is the edge.
12. The robot cleaner according to claim 11, wherein the controller
moves the robot cleaner to go straight in parallel to the obstacle
by a first predetermined distance when the obstacle is detected in
the traveling path of the robot cleaner, determines whether the
obstacle is detected while the robot cleaner goes straight in
parallel to the obstacle by first predetermined distance or more,
and determines that the detected obstacle is the wall when the
obstacle is detected while the robot cleaner goes straight in
parallel to the obstacle by the first predetermined distance or
more.
13. The robot cleaner according to claim 12, wherein the controller
moves the robot cleaner to go straight in parallel to the wall by a
second predetermined distance when the detected obstacle is
determined to be the wall, determines whether the obstacle is
detected while the robot cleaner goes straight in parallel to the
obstacle by the second predetermined distance or more, and
determines that the detected obstacle is the edge when the obstacle
is detected while the robot cleaner goes straight in parallel to
the obstacle by the second predetermined distance or more.
14. The robot cleaner according to claim 10, wherein the
predetermined area is a square area which is formed by the edge and
a reference point located in a diagonal direction from the
edge.
15. The robot cleaner according to claim 1, further comprising
determining whether the cleaning area is cleaned on the basis of
information of the determined edge while cleaning the predetermined
area.
16. A method of controlling a robot cleaner, comprising:
determining coordinates of a detected edge of a wall; moving the
robot cleaner indirectly to a reference point located in a diagonal
direction from the edge; determining a cleaning area using
coordinates of the detected edge and the reference point; and
cleaning the determined cleaning area.
17. A method of controlling a robot, comprising: detecting an
obstacle in a path of the robot cleaner; determining whether the
detected obstacle is a wall; and performing a cleaning operation
specific to the detected obstacle, on the basis of information
obtained as a result of the determination as to whether the
detected obstacle is a wall.
18. The method of claim 17, wherein the determining whether the
detected obstacle is the wall includes: moving the robot cleaner to
go straight in parallel to the obstacle; and determining that the
obstacle is the wall when the obstacle is detected while the robot
cleaner moves straight in parallel to the obstacle by a
predetermined distance or more.
19. A robot cleaner, comprising: an obstacle detector detecting an
obstacle in a path of the robot cleaner, the obstacle detected
being an edge of a wall; and a controller determining coordinates
of a detected edge of a wall; moving the robot cleaner to a
diagonal point from the detected edge with respect to the wall;
determining a cleaning area using coordinates of the detected edge
and the diagonal point; and controlling the robot cleaner to clean
the determined cleaning area.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of Korean Patent
Application No. 2007-0014100, filed on Feb. 10, 2006 in the Korean
Intellectual Property Office, the disclosure of which is
incorporated herein by reference.
BACKGROUND
[0002] 1. Field
[0003] The present invention relates to a robot cleaner to move in
a specific area to be cleaned by itself so that it cleans the
specific area, and more particularly to a robot cleaner to
determine whether a target area is completely cleaned using edge
information of the target area, and a method for controlling the
same.
[0004] 2. Description of the Related Art
[0005] Generally, a robot cleaner moves in a target area to be
cleaned by itself without receiving a user command, and sucks up
dust or foreign material from the bottom of the target area,
thereby cleaning the target area. The robot cleaner decides the
distance to an obstacle (e.g., a furniture, office supplies, or a
wall) contained in the target area using its sensor, and moves in
the target area without colliding with the obstacle on the basis of
the decided distance to clean the target area.
[0006] The above-mentioned case in which the given area is cleaned
by the robot cleaner indicates that the robot cleaner moves in the
area according to a predetermined cleaning pattern so that the area
is repeatedly cleaned. Representative cleaning patterns are a
zigzag-moving pattern, a spiral-moving pattern, and a random-moving
pattern, for example. A method of cleaning a target area using the
robot cleaner when the predetermined cleaning pattern is the
combination of the spiral-moving pattern and the random-moving
pattern will hereinafter be described with reference to FIG. 1.
[0007] In FIG. 1, if the robot cleaner is powered on, the robot
cleaner begins to clean a given cleaning area at operation 1. In
this case, the robot cleaner rotates by a predetermined spiral size
to clean the cleaning area. After the spiral rotation of the robot
cleaner is terminated, the robot cleaner moves in the area by a
predetermined distance at random, and increases the number of
cleaning-pattern executions by "1" at operation 3. The robot
cleaner compares the number of cleaning-pattern executions with a
predetermined number at operation 5. If the number of
cleaning-pattern executions is equal to or higher than the
predetermined number at operation 5, the robot cleaner determines
the given area is completely cleaned at operation 7. If the number
of cleaning-pattern executions is less than the predetermined
number at operation 5, the robot cleaner returns to operation 1 and
repeats the cleaning operation of the predetermined cleaning
pattern.
[0008] If the robot cleaner recognizes that the given cleaning area
has been completely cleaned, it moves to another cleaning area
using a wall-following technique at operation 9, and begins to
clean the corresponding cleaning area.
[0009] The cleaning area of the robot cleaner is composed of
various-sized rooms, so that the number of cleaning-pattern
executions must be changed according to the room sizes. However,
most robot cleaners that have initially prescribed the number of
cleaning-pattern executions to decide whether the cleaning is
completed or not have come onto the market. In this case, the
number of executions prescribed by manufacturers of the robot
cleaners has been generally less than the number of necessary
executions appropriate for the room size, so that the room may be
unsatisfactorily cleaned and an uncleaned area may occur.
Otherwise, if the number of executions prescribed by the
manufacturers is excessively higher than the number of appropriate
executions, an uncleaned area may not occur, but the number of
repeatedly-cleaned areas increases, so that a battery lifetime of
the robot cleaner may be unavoidably shortened.
[0010] Besides, if the cleaning area is complicated, an uncleaned
area may also occur. Specifically, if the robot cleaner rotates at
an edge part adjacent to the wall, the conventional robot cleaner
has difficulty in effectively cleaning the edge part.
SUMMARY
[0011] Therefore, it is an aspect of the embodiment to provide a
robot cleaner determining whether a target area is completely
cleaned using both a rotation angle of the robot cleaner at each
edge of the target area and the number of edges, and effectively
cleaning the target area, and a method of controlling the same.
[0012] Additional aspects and/or advantages will be set forth in
part in the description which follows and, in part, will be obvious
from the description, or may be learned by practice of the
invention.
[0013] In accordance with the embodiment, the above and/or other
aspects can be achieved by the provision of a method of controlling
a robot cleaner which cleans a given cleaning area simultaneously
while moving in the cleaning area, the method including: detecting
whether an obstacle exists in a traveling path of the robot
cleaner; determining whether the detected obstacle is an edge when
the obstacle is detected; cleaning a predetermined area centering
around the edge when the detected obstacle is determined to be the
edge; and determining whether the cleaning area is cleaned on the
basis of information of the detected edge while cleaning the
predetermined area.
[0014] The method further includes determining whether the obstacle
is the wall, before determining whether the detected obstacle is
the edge.
[0015] The determining whether the obstacle is the wall includes:
detecting whether the obstacle is in the traveling path of the
robot cleaner, moving the robot cleaner to go straight in parallel
to the obstacle by a first predetermined distance when the obstacle
is detected to be in the traveling path of the robot cleaner; and
determining whether the obstacle is detected while the robot
cleaner goes straight in parallel to the obstacle by the first
predetermined distance or more, and determining that the detected
obstacle is the wall when the obstacle is detected while the robot
cleaner goes straight in parallel to the obstacle by the first
predetermined distance or more.
[0016] The determining whether the obstacle is the edge includes:
moving the robot cleaner to go straight in parallel to the wall by
a second predetermined distance when the detected obstacle is
determined to be the wall; and determining whether the obstacle is
detected while the robot cleaner goes straight in parallel to the
obstacle by the second predetermined distance or more, and
determining that the detected obstacle is the edge when the
obstacle is detected while the robot cleaner goes straight in
parallel to the obstacle by the second predetermined distance or
more.
[0017] The predetermined area may be a square area formed by the
edge and a reference point located in a diagonal direction from the
edge.
[0018] The cleaning of the predetermined area centering around the
edge includes: moving the robot cleaner to go straight in parallel
to the wall by a set distance at coordinates of the edge, rotating
the robot cleaner by 90.degree. and moving the robot cleaner to go
straight again by the set distance when the detected obstacle is
determined to be the edge; establishing a square area in which a
reference point and coordinates of the edge are used as both end
points of a diagonal line when the robot cleaner is moved straight
by the set distance, rotated by 90.degree., moved straight again by
the set distance and reaches the reference point acting as an
arrival point; and cleaning a cleaning area for each established
area.
[0019] The edge information is indicative of a sum
( j Q j .degree. ) ##EQU00001##
of angles of the robot cleaner which rotates at the edge
simultaneously while cleaning the cleaning area.
[0020] The determining whether the cleaning area is cleaned
includes: calculating the sum
( j Q j .degree. ) ##EQU00002##
of angles of the robot cleaner rotating at the edge; and
determining whether a predetermined cleaning-completion condition
of the cleaning area is satisfied on the basis of both the sum
( j Q j .degree. ) ##EQU00003##
of the angles and a number of determined edges.
[0021] The cleaning-completion condition indicates whether the
sum
( j Q j .degree. ) ##EQU00004##
of angles of the robot cleaner rotating at the edge satisfies the
following equation:
180 .degree. .times. ( n c - n m - 2 ) - .DELTA. .ltoreq. j Q j
.degree. .ltoreq. 180 .degree. .times. ( n c - n m - 2 ) + .DELTA.
##EQU00005##
[0022] where, n.sub.c is indicative of the number of edges, n.sub.m
is indicative of the number of similar edges, Q.sub.j.sup.o is
indicative of an interior angle of a polygon, and .DELTA. is
indicative of an error value capable of reducing an error rate when
the cleaning-completion condition is determined to be
satisfied.
[0023] The foregoing and/or other aspects are achieved by providing
a robot cleaner which cleans a given cleaning area simultaneously
while moving in the cleaning area, the robot cleaner including: an
obstacle detector detecting whether an obstacle exists in a
traveling path of the robot cleaner; and a controller determining
whether the detected obstacle is an edge when the obstacle is
detected, cleaning a predetermined area centering around the edge
if the detected obstacle is determined to be the edge, and
determining whether the cleaning area is cleaned on the basis of
information of the edge.
[0024] The controller determines whether the obstacle is a wall
before determining whether the detected obstacle is the edge.
[0025] The controller, moves the robot cleaner to go straight in
parallel to the obstacle by a first predetermined distance when the
obstacle is detected in the traveling path of the robot cleaner,
determines whether the obstacle is detected while the robot cleaner
goes straight in parallel to the obstacle by the first
predetermined distance or more, and determines that the detected
obstacle is the wall when the obstacle is detected while the robot
cleaner goes straight in parallel to the obstacle by the first
predetermined distance or more.
[0026] The controller moves the robot cleaner to go straight in
parallel to the wall by a second predetermined distance when the
detected obstacle is determined to be the wall, determines whether
the obstacle is detected while the robot cleaner goes straight in
parallel to the obstacle by the second predetermined distance or
more, and determines that the detected obstacle is the edge when
the obstacle is detected while the robot cleaner goes straight in
parallel to the obstacle by the second predetermined distance or
more.
[0027] The predetermined area may be a square area which is formed
by the edge and a reference point located in a diagonal direction
from the edge.
[0028] The foregoing and/or other aspects are achieved by providing
a method of controlling a robot cleaner, including: determining
coordinates of a detected edge of a wall; moving the robot cleaner
indirectly to a reference point located in a diagonal direction
from the edge; determining a cleaning area using coordinates of the
detected edge and the reference point; and cleaning the determined
cleaning area.
[0029] The foregoing and/or other aspects are achieved by providing
a method of controlling a robot, including: detecting an obstacle
in a path of the robot cleaner; determining whether the detected
obstacle is a wall; and performing a cleaning operation specific to
the detected obstacle, on the basis of information obtained as a
result of the determination as to whether the detected obstacle is
a wall.
[0030] The determining whether the detected obstacle is the wall
includes: moving the robot cleaner to go straight in parallel to
the obstacle; and determining that the obstacle is the wall when
the obstacle is detected while the robot cleaner moves straight in
parallel to the obstacle by a predetermined distance or more.
[0031] The foregoing and/or other aspects are achieved by providing
a robot cleaner, including: an obstacle detector detecting an
obstacle in a path of the robot cleaner, the obstacle detected
being an edge of a wall; and a controller determining coordinates
of a detected edge of a wall; moving the robot cleaner to a
diagonal point from the detected edge with respect to the wall;
determining a cleaning area using coordinates of the detected edge
and the diagonal point; and controlling the robot cleaner to clean
the determined cleaning area.
BRIEF DESCRIPTION OF THE DRAWINGS
[0032] These and/or other aspects and advantages will become
apparent and more readily appreciated from the following
description of the embodiments, taken in conjunction with the
accompanying drawings of which:
[0033] FIG. 1 is a flow chart illustrating a conventional method of
determining whether a target area is completely cleaned using a
robot cleaner;
[0034] FIG. 2 is a block diagram illustrating a robot cleaner
according to an embodiment;
[0035] FIG. 3 is a flow chart illustrating a method of determining
whether a target area is completely cleaned using a robot cleaner
according to the present embodiment;
[0036] FIG. 4 is a flow chart illustrating a method of recognizing
a wall of a target area using a robot cleaner according to the
present embodiment;
[0037] FIG. 5 is a conceptual diagram illustrating a method of
recognizing a wall using a robot cleaner according to the present
embodiment;
[0038] FIG. 6 is a flow chart illustrating a method of recognizing
an edge part of a target area using a robot cleaner according to
the present embodiment; and
[0039] FIG. 7 is a conceptual diagram illustrating a method of
cleaning a target area using a robot cleaner according to the
present embodiment.
DETAILED DESCRIPTION OF THE EMBODIMENTS
[0040] Reference will now be made in detail to the embodiment,
examples of which are illustrated in the accompanying drawings,
wherein like reference numerals refer to like elements throughout.
The embodiment is described below to explain the present invention
by referring to the figures.
[0041] A robot cleaner according to the present embodiment is a
general automatic robot cleaner which includes wheels to move the
robot cleaner and a suction part to perform a cleaning function. It
should be noted that the present embodiment can be applied to all
kinds of robot cleaners, so that a detailed description of the
robot cleaners will herein be omitted for the convenience of
description.
[0042] FIG. 2 is a block diagram illustrating a robot cleaner
according to an embodiment. Referring to FIG. 1, the robot cleaner
according to the present embodiment includes an input unit 10, an
obstacle detector 12, a traveling-distance detector 14, a
traveling-direction detector 16, a controller 18, a driver 20, a
suction part 24, and a storage unit 26.
[0043] The input unit 10 includes a key entry unit or
remote-controller to receiving a cleaning command of the robot
cleaner from a user.
[0044] The obstacle detector 12 detects furniture, office supplies,
walls, etc. contained in a cleaning area of the robot cleaner. The
obstacle detector 12 emits an ultrasound signal to a traveling path
of the robot cleaner, receives the ultrasound signal reflected from
the obstacle, and determines the presence or absence of an obstacle
and the distance to the obstacle. Meanwhile, the obstacle detector
12 may include a plurality of infrared light-emitting elements and
a plurality of infrared light-receiving elements, so that the
obstacle detector 12 may be configured in the form of an infrared
sensor to emit/receive the light signal.
[0045] The traveling-distance detector 14 detects the traveling
distance of the robot cleaner, measures the number of rotations of
wheels mounted to the bottom of the robot cleaner using an encoder,
and detects the traveling distance of the robot on the basis of the
measured number of rotations.
[0046] The traveling-direction detector 16 detects a rotation angle
of the robot cleaner. If an obstacle has been detected on the
traveling path of the robot cleaner, the traveling-direction
detector is implemented with a rotation-angle sensor (e.g., a gyro
sensor) to detect the rotation angle of the robot cleaner at the
detected obstacle.
[0047] The controller 18 controls overall operations of the robot
cleaner. The robot cleaner moves in a cleaning area by itself using
a variety of cleaning patterns capable of effectively cleaning the
cleaning area, and cleans the cleaning area. For this purpose, the
controller 18 extracts edge information, performs the cleaning
operation for each edge, and determines whether the area to be
cleaned is completely cleaned or not using the rotation angle and
the number of edges of the robot cleaner located at each edge
simultaneously while cleaning each edge.
[0048] The driver 20 drives the left and right wheels 21 and 22
mounted to a bottom of the robot cleaner, so that the robot cleaner
moves in the cleaning area by itself according to a control signal
of the controller 18 simultaneously while diverting the rotation
direction to another direction using the wheels 21 and 22.
[0049] The suction part 24 sucks up dust or foreign material from
the target area to be cleaned upon receiving a control signal from
the controller 18, thereby cleaning the target area.
[0050] The storage unit 26 registers obstacle- and edge-information
extracted from the controller 18, and stores the registered
information.
[0051] Operations of the above-mentioned robot cleaner, a method of
controlling the robot cleaner, and effects thereof will hereinafter
be described.
[0052] FIG. 3 is a flow chart illustrating a method of determining
whether a target area is completely cleaned using a robot cleaner
according to the present invention.
[0053] Referring to FIG. 3, if the robot cleaner is powered on and
the input unit 10 enters a cleaning command in the robot cleaner,
the controller 18 initializes a number (n.sub.c) of edges of a
target area to be cleaned to be zero, initializes a number
(n.sub.m) of similar edges of the target area to be zero, and
initializes a sum
( j Q j .degree. ) ##EQU00006##
of interior angles created by the robot cleaner rotating at the
edge at operation 100.
[0054] The controller 18 recognizes walls of the target area at
operation 200, such that the controller 18 recognizes the presence
of any edge at operation 300 and the controller 18 recognizes the
edge coordinates (X.sub.c, Y.sub.c, .theta..sub.c). A detailed
description thereof will be described later with reference to FIGS.
4 and 6.
[0055] After recognizing the wall and edge of the target area
indicating the cleaning area, the robot cleaner goes straight in
parallel to the walls by a predetermined distance Dset pre-stored
in the controller 18 at the recognized edge at operation 400, so
that the robot cleaner establishes a cleaning area for each area
centering around the recognized edge. The robot cleaner rotates in
the left or right direction by 90.degree. at operation 500, so that
the robot cleaner goes straight again by the predetermined distance
Dset at operation 600.
[0056] In this way, the robot cleaner goes straight along the wall
by the distance Dset centering around the recognized edge (i.e.,
the starting point), rotates by 90.degree., and goes straight again
by the distance Dset, such that the robot cleaner reaches a
reference point (i.e., an arrival point). The robot cleaner
determines a square area in which coordinates of the recognized
edges are used as both end points of a diagonal line to be the
cleaning area for each area, and cleans the cleaning area for each
edge area using a predetermined cleaning pattern (e.g., zigzag
pattern) at operation 700.
[0057] While cleaning the cleaning area for each edge area using
the above-mentioned method, the controller 18 determines whether
the sum
( j Q j .degree. ) ##EQU00007##
of interior angles of the robot cleaner rotating at the edge
satisfies the cleaning-completion condition prescribed in the
following equation 1 at operation 800. If the cleaning-completion
condition is not satisfied at operation 800, the controller 18
returns to the operation 200 to search for the next edge, and
repeats operations from the wall-recognizing process.
180 .degree. .times. ( n c - n m - 2 ) - .DELTA. .ltoreq. j Q j
.degree. .ltoreq. 180 .degree. .times. ( n c - n m - 2 ) + .DELTA.
[ Equation 1 ] ##EQU00008##
[0058] In Equation 1, n.sub.c is indicative of the number of edges,
n.sub.m is indicative of the number of similar edges,
j Q j .degree. ##EQU00009##
is indicative of a sum of polygonal interior angles, and .DELTA. is
indicative of an error value capable of reducing an error rate when
the cleaning-completion condition is decided.
[0059] If the cleaning-completion condition of Equation 1 is
satisfied at operation 800, the controller 18 determines that the
given cleaning area has been completely cleaned at operation 900,
goes to the next cleaning area, and begins to clean the next
cleaning area.
[0060] A method of recognizing the walls of the cleaning area to be
cleaned by the robot cleaner will hereinafter be described with
reference to FIG. 4.
[0061] FIG. 4 is a flow chart illustrating a method of recognizing
the wall of a target area using a robot cleaner according to the
present embodiment, so that the controller 18 determines whether a
detected obstacle is the wall or not using the method of FIG.
4.
[0062] In order to determine whether the target area is completely
cleaned or not, the rotation angle of the robot cleaner at the edge
must be recognized. Therefore, before recognizing the edges, the
robot cleaner must recognize the wall.
[0063] Referring to FIG. 4, if the obstacle detector 12 detects an
obstacle located ahead of the robot cleaner at operation 204 while
the robot cleaner goes straight to recognize the wall at operation
202, the controller 18 rotates the robot cleaner to recognize the
obstacle in the lateral direction at operation 206. If the robot
cleaner does not detect an obstacle at operation 204, the
controller 18 returns to operation 202. After the robot cleaner
rotates, the robot cleaner goes straight in parallel to the
obstacle at operation 208.
[0064] In the case, the traveling distance created by the robot
cleaner which rotates and then goes straight in parallel to the
obstacle is detected by the traveling-distance detector 14, and is
then applied to the controller 18 at operation 210.
[0065] Therefore, after the traveling-distance detector 14 detects
the rotation of the robot cleaner, the controller 18 determines
whether the traveling distance is equal to or higher than a first
distance at operation 212. In this case, the first distance is
established by the controller 18 to determine whether the obstacle
is the wall or another obstacle, such that the robot cleaner moves
by the first distance to determine whether the obstacle is the wall
or not.
[0066] If the traveling distance is equal to or higher than the
first distance at operation 212, and the obstacle detector 12
continuously detects the obstacle at a lateral side while the robot
cleaner goes straight in parallel to the obstacle by the first
distance or more at operation 214, the controller 18 recognizes the
detected obstacle to be the wall, and registers the recognized wall
in the storage unit 26 at operation 216. If the traveling distance
is less than the first distance at operation 212, the controller 18
returns to operation 202. If the obstacle detector 12 does not
continuously detect the obstacle at a lateral side while the robot
cleaner goes straight in parallel to the obstacle by the first
distance or more, the controller 18 recognizes the detected
obstacle to be a general obstacle, returns to operation 202, and
repeats operations from the operation 202 to search for the next
obstacle.
[0067] FIG. 5 is a conceptual diagram illustrating a method of
recognizing the wall using the robot cleaner according to the
present embodiment. If the robot cleaner going straight detects the
obstacle, the method of determining whether the obstacle detected
by operations of FIG. 4 is the wall or not is shown in FIG. 5.
[0068] Referring to FIG. 5, after the robot cleaner begins to go
straight at a starting point S1 and detects the obstacle at the
point A1, the robot cleaner rotates to the right by a predetermined
angle, goes straight in parallel to the obstacle by a predetermined
distance, and determines whether the obstacle is the wall or not at
the point B1. In this case, the obstacle detector 12 does not
recognize the obstacle, such that the obstacle detected at the
point A1 is determined to be a general obstacle. Thereafter, if the
robot cleaner begins to go straight at the starting point S2,
detects the obstacle at the point A2, and determines whether the
obstacle is the wall at the point B2, the robot cleaner detects the
obstacle at the point A2, and goes straight by a predetermined
distance or more, so that the obstacle detector 12 can recognize
the obstacle. As a result, the obstacle detected at the point A2 is
recognized as the wall.
[0069] FIG. 6 is a flow chart illustrating a method of recognizing
an edge part of the target area using the robot cleaner according
to the present embodiment, so that the robot cleaner can determine
whether the wall recognized by operations of FIG. 4 is the edge or
not according to the method of FIG. 6.
[0070] In FIG. 6, if the controller 18 detects the obstacle in
front of the robot cleaner by the obstacle detector 12 at operation
304 while the robot cleaner goes straight in parallel to the wall
to recognize the edge at operation 302, the controller 18 rotates
the robot cleaner in the right or left direction to laterally
detect the obstacle at operation 306. If an obstacle is not
detected in the front of the robot cleaner by the obstacle detector
12, the controller 18 returns to operation 302. After rotating the
robot cleaner, if the obstacle is detected in front of the robot
cleaner, the controller 18 registers coordinates (Xs, Ys,
.theta..sub.s) of the robot cleaner as candidate coordinates of the
edge in the storage unit 26 at operation 308.
[0071] After registering the coordinates (Xs, Ys, .theta..sub.s) of
the robot cleaner in the storage unit 26, the robot cleaner goes
straight in parallel to the obstacle at operation 310.
[0072] In this case, the cleaner's traveling distance created when
the robot cleaner rotates and goes straight in parallel to the
obstacle is detected by the traveling-distance detector 14, and is
then applied to the controller at operation 312.
[0073] Then, the controller 18 determines whether the
above-mentioned traveling distance is equal to or higher than a
second distance at operation 314. In this case, the second distance
is established by the controller 18 to determine whether the
obstacle is the edge or the wall, such that the robot cleaner moves
by the second distance to determine whether the obstacle is the
edge or the wall.
[0074] If the traveling distance is equal to or higher than the
second distance at operation 314, and the obstacle detector 12
continuously detects the obstacle in the lateral direction while
the robot cleaner goes straight in parallel to the obstacle by the
second distance or more at operation 316, the controller 18
recognizes the registered edge candidate coordinates (Xs, Ys,
.theta..sub.s) as edge coordinates in the storage unit 26 at
operation 318, increases the number (n.sub.c) of registered edges
by "1" at operation 320, and adds the rotation angle of the robot
cleaner rotating at the edge to the sum
( j Q j .degree. ) ##EQU00010##
of all the rotation angles of the robot cleaner at operation
322.
[0075] If the number of edges of the cleaning area is N, the
sum
( j Q j .degree. ) ##EQU00011##
of the rotation angles can be calculated by the following equation
2:
j Q j .degree. = 180 .degree. .times. ( n c - n m - 2 ) [ Equation
2 ] ##EQU00012##
[0076] In Equation 2, Q.sub.j.sup.o is indicative of an interior
angle of a polygon, and n.sub.c-n.sub.m is indicative of the number
of polygonal edges. A predetermined polygon is divided into
(n.sub.c-n.sub.m-2) triangles, and the sum of interior angles of
the triangles is 180.degree., such that the above-mentioned
Equation 2 can be implemented. In other words, if the sum of
rotations angle of the robot cleaner located at the edge in a
predetermined cleaning area satisfies the above-mentioned Equation
2, this indicates that the robot cleaner has passed all the edges
of the given cleaning area one or more times. Therefore, provided
that the robot cleaner cleans a predetermined area centering around
each edge, the controller 18 determines that the given area has
been completely cleaned by the robot cleaner after the robot
cleaner has passed all the edges.
[0077] In the meantime, if the traveling distance is less than the
second distance at operation 314, the controller 18 returns to
operation 302. In addition, if the obstacle detector 12 does not
continuously detect the obstacle at a lateral side while the robot
cleaner goes straight in parallel to the obstacle by a second
distance or more at operation 316, the controller 18 recognizes the
detected obstacle as the wall instead of the edge, and increases
the number n.sub.m of similar edges by "1" at operation 324.
[0078] If the sum of the number n.sub.c of edges and the number
n.sub.m of similar edges is calculated by the above-mentioned
process, the controller substitutes the number n.sub.c of edges and
the number n.sub.m of similar edges into the above operation 800
shown in FIG. 3, so that it determines whether the robot cleaner
has completely cleaned the given area.
[0079] FIG. 7 is a conceptual diagram illustrating a method of
cleaning the target area using the robot cleaner according to the
present embodiment.
[0080] Referring to FIG. 7, after the robot cleaner begins to go
straight at the starting point S and detects the obstacle at the
point A1, it determines whether the detected obstacle is the wall
or a general obstacle using the operations of FIG. 4. If the wall
is decided, the robot cleaner goes straight in parallel to the
wall. If the robot cleaner re-detects the obstacle at the point B,
it rotates to allow the obstacle detector to recognize the
obstacle, and memorizes coordinates of the corresponding point B as
the edge candidate coordinates. If the point B is determined to be
the edge according to operations of FIG. 6, the robot cleaner goes
straight to the point C by a predetermined distance to establish
coordinates for each edge area of the cleaning area, rotates by
90.degree., and goes straight again to the point D by the
predetermined distance.
[0081] The robot cleaner determines a square area in which the B
and D points are used as both end points of a diagonal line to be
the cleaning area for each area, and cleans the cleaning area for
each edge area using a predetermined cleaning pattern (e.g., a
zigzag pattern). After the cleaning area for each edge area has
been completely cleaned, the robot cleaner determines whether the
given cleaning area has been completely cleaned. In this case, the
rotation angle of the robot cleaner located at the B point is
90.degree., so that the cleaning-completion conditions are not
satisfied. Therefore, the controller recognizes again the wall at
the E point according to operations of FIG. 4, goes straight in
parallel to the wall, and recognizes the next edge point (F). By
the above-mentioned operations, the robot cleaner establishes the
cleaning area for each area centering around the edge, and repeats
the above-mentioned operations until the cleaning-completion
condition is satisfied.
[0082] As is apparent from the above description, the robot cleaner
and the method of controlling the same according to the present
embodiment determine whether a target cleaning area is completely
cleaned using both a rotation angle of the robot cleaner at each
edge of the target area and the number of edges, and prevent any
uncleaned area from being generated, and minimize the number of
repeatedly-cleaned areas, thereby effectively cleaning the target
area.
[0083] Since the number of repeatedly-cleaned areas is minimized,
the robot cleaner can increase the battery lifetime of the robot
cleaner, and can clean a wider area. If the cleaning area is
complicated, the robot cleaner can effectively clean even the edge
part.
[0084] Although an embodiment has been shown and described, it
would be appreciated by those skilled in the art that changes may
be made in this embodiment without departing from the principles
and spirit of the invention, the scope of which is defined in the
claims and their equivalents.
* * * * *