BACKGROUND
1. Field
[0001] 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.
2. Description of the Related Art
[0002] 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.
[0003] 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.
[0004] 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.
[0005] 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.
[0006] 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.
[0007] 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
[0008] 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.
[0009] 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.
[0010] 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.
[0011] The method further includes determining whether the obstacle is the wall, before
determining whether the detected obstacle is the edge.
[0012] 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.
[0013] 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.
[0014] The predetermined area may be a square area formed by the edge and a reference point
located in a diagonal direction from the edge.
[0015] 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° 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°, 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.
[0016] The edge information is indicative of a sum

of angles of the robot cleaner which rotates at the edge simultaneously while cleaning
the cleaning area.
[0017] The determining whether the cleaning area is cleaned includes: calculating the sum

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

of the angles and a number of determined edges.
[0018] The cleaning-completion condition indicates whether the sum

of angles of the robot cleaner rotating at the edge satisfies the following equation:

where
, nc is indicative of the number of edges,
nm is indicative of the number of similar edges,

is indicative of an interior angle of a polygon, and Δ is indicative of an error
value capable of reducing an error rate when the cleaning-completion condition is
determined to be satisfied.
[0019] 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.
[0020] The controller determines whether the obstacle is a wall before determining whether
the detected obstacle is the edge.
[0021] 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.
[0022] 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.
[0023] 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.
[0024] 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.
[0025] 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.
[0026] 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.
[0027] 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
[0028] 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:
FIG. 1 is a flow chart illustrating a conventional method of determining whether a
target area is completely cleaned using a robot cleaner;
FIG. 2 is a block diagram illustrating a robot cleaner according to an embodiment;
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;
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;
FIG. 5 is a conceptual diagram illustrating a method of recognizing a wall using a
robot cleaner according to the present embodiment;
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
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
[0029] 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.
[0030] 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.
[0031] 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.
[0032] The input unit 10 includes a key entry unit or remote-controller to receiving a cleaning
command of the robot cleaner from a user.
[0033] 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.
[0034] 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.
[0035] 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.
[0036] 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.
[0037] 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.
[0038] 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.
[0039] The storage unit 26 registers obstacle- and edge- information extracted from the
controller 18, and stores the registered information.
[0040] Operations of the above-mentioned robot cleaner, a method of controlling the robot
cleaner, and effects thereof will hereinafter be described.
[0041] 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.
[0042] 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
(nc) of edges of a target area to be cleaned to be zero, initializes a number
(nm) of similar edges of the target area to be zero, and initializes a sum

of interior angles created by the robot cleaner rotating at the edge at operation
100.
[0043] 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
c, Y
c, θ
c). A detailed description thereof will be described later with reference to FIGS.
4 and 6.
[0044] 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° at operation
500, so that the robot cleaner goes straight again by the predetermined distance Dset
at operation 600.
[0045] 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°, 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.
[0046] While cleaning the cleaning area for each edge area using the above-mentioned method,
the controller 18 determines whether the sum

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.

[0047] In Equation 1,
nc is indicative of the number of edges,
nm is indicative of the number of similar edges,

is indicative of a sum of polygonal interior angles, and Δ is indicative of an error
value capable of reducing an error rate when the cleaning-completion condition is
decided.
[0048] 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.
[0049] 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.
[0050] 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.
[0051] 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.
[0052] 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.
[0053] 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.
[0054] 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.
[0055] 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.
[0056] 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.
[0057] 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.
[0058] 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.
[0059] 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,
θs) of the robot cleaner as candidate coordinates of the edge in the storage unit 26
at operation 308.
[0060] After registering the coordinates (Xs, Ys, θ
s) of the robot cleaner in the storage unit 26, the robot cleaner goes straight in
parallel to the obstacle at operation 310.
[0061] 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.
[0062] 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.
[0063] 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, θ
s) as edge coordinates in the storage unit 26 at operation 318, increases the number
(nc) of registered edges by "1" at operation 320, and adds the rotation angle of the robot
cleaner rotating at the edge to the sum

of all the rotation angles of the robot cleaner at operation 322.
[0064] If the number of edges of the cleaning area is N, the sum

of the rotation angles can be calculated by the following equation 2:

[0065] In Equation 2,

is indicative of an interior angle of a polygon, and
nc-nm is indicative of the number of polygonal edges. A predetermined polygon is divided
into (
nc-nm-2) triangles, and the sum of interior angles of the triangles is 180°, 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.
[0066] 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
nm of similar edges by "1" at operation 324.
[0067] If the sum of the number
nc of edges and the number
nm of similar edges is calculated by the above-mentioned process, the controller substitutes
the number
nc of edges and the number
nm 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.
[0068] FIG. 7 is a conceptual diagram illustrating a method of cleaning the target area
using the robot cleaner according to the present embodiment.
[0069] 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°, and goes straight again to the point D by the predetermined distance.
[0070] 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°, 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.
[0071] 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.
[0072] 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.
[0073] 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.
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° 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°, 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

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

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

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

of angles of the robot cleaner rotating at the edge satisfies the following equation:

where,n
c is indicative of the number of edges, n
m is indicative of a number of similar edges,

is indicative of an interior angle of a polygon, and Δ 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.