Patent ID: 12232687

Throughout the drawings, like reference numerals will be understood to refer to like parts, components, and structures.

DETAILED DESCRIPTION

The following description with reference to the accompanying drawings is provided to assist in a comprehensive understanding of various embodiments of the disclosure as defined by the claims and their equivalents. It includes various specific details to assist in that understanding but these are to be regarded as merely exemplary. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the various embodiments described herein can be made without departing from the scope and spirit of the disclosure. In addition, descriptions of well-known functions and constructions may be omitted for clarity and conciseness.

The terms and words used in the following description and claims are not limited to the bibliographical meanings, but, are merely used by the inventor to enable a clear and consistent understanding of the disclosure. Accordingly, it should be apparent to those skilled in the art that the following description of various embodiments of the disclosure is provided for illustration purpose only and not for the purpose of limiting the disclosure as defined by the appended claims and their equivalents.

It is to be understood that the singular forms “a,” “an,” and “the” include plural referents unless the context clearly dictates otherwise. Thus, for example, reference to “a component surface” includes reference to one or more of such surfaces.

In addition, the expressions, such as “first,” “second,” and the like used in the specification may modify various components regardless of an order and/or importance, and may distinguish one component from another without limiting the components. For example, a first user device and a second user device may indicate different user devices regardless of the order or importance. For example, without departing from the scope of rights described in the specification, a first component may be referred to as a second component, and similarly, a second component may be referred to as a first component.

When one component (such as a first component) is referred to as being “(operatively or communicatively) coupled with/to” or “connected to” another component (such as a second component), it should be understood that the one component is directly coupled to the other component or coupled through another component (such as a third component). On the other hand, when a component (such as a first component) is referred to as being “directly coupled to” or “directly connected to” another component (such as a second component), it may be understood that there is no component (such as a third component) between the one component and the other component.

Throughout the disclosure, the expression “at least one of a, b or c” indicates only a, only b, only c, both a and b, both a and c, both b and c, all of a, b, and c, or variations thereof.

The terms used herein may be used only to describe particular embodiments of the disclosure and may not be intended to limit the scope of other embodiments of the disclosure. Singular expressions may include plural expressions unless the context clearly indicates otherwise. The terms used herein, including technical or scientific terms, may have the same meaning as commonly understood by one of ordinary skill in the art. Among the terms used in herein, terms defined in a general dictionary may be interpreted as having the same or similar meanings as the meanings in the context of the related art, and should not be interpreted as having ideally or excessively formal meanings unless clearly defined herein. In some cases, even when terms are defined in the specification, the terms should not be interpreted to exclude embodiments of the disclosure.

Hereinafter, various embodiments of the disclosure will be described with reference to the accompanying drawings.

FIGS.1A through4Bare diagrams showing a structure of a cleaning robot10, according to various embodiments of the disclosure.

FIG.1Ais a perspective view of a cleaning robot when a guard portion is ascended andFIG.1Bis a perspective view of a cleaning robot when a guard portion is descended according to various embodiments of the disclosure.

Referring toFIGS.1A and1B, the cleaning robot10is an apparatus for providing a cleaning service to a user while moving by itself, and may include a household cleaning robot, a large building cleaning robot, or an airport cleaning robot. In addition, the cleaning robot10may have various shapes, such as a cylindrical shape, a rectangular parallelepiped shape, and the like according to purposes. According to an embodiment of the disclosure, the cleaning robot10may perform not only a task of simply removing a foreign body from the floor, but also a task of moving an object.

The cleaning robot10may include a body11-1and a dust container11-2coupled to the body11-1. The dust container11-2may be separated from the body11-1.

The cleaning robot10may be provided to suck dust on a floor surface together with the air, while moving along the floor surface. The cleaning robot10may separate and store the dust in the sucked air and discharge the air from which the dust is removed. The dust container11-2may be provided to separate and store the dust. The dust container11-2may be separately coupled to the body11-1such that a user may remove the dust inside the dust container11-2.

The cleaning robot10may include the guard portion12(or a pressing portion). The guard portion may descend towards the floor surface or ascend in an opposite direction of the floor surface, based on a Z-axis. The guard portion12may press the object to be pushed. For example, when the cleaning robot10detects the object obstructs the movement of the cleaning robot10, the cleaning robot10may lower the guard portion12towards the floor surface and drive towards the object such that the object is pushed by the guard portion12.

FIG.2is a perspective view of a part of an internal configuration of a cleaning robot according to an embodiment of the disclosure.

Referring toFIG.2, the cleaning robot10may raise or lower the guard portion12by controlling power to be transmitted to a driving motor13.

In this regard, the cleaning robot10may include a rotating shaft14connecting a pinion gear15to the driving motor13. In addition, the guard portion12of the cleaning robot10may include a guide portion16guiding a moving path of the guard portion12along rotation of the pinion gear15, and a rack gear17capable of changing rotation movement transmitted through the rotating shaft14to linear movement.

When power is transmitted to the driving motor13, the rotating shaft14may rotate clockwise or counterclockwise, and the pinion gear15may rotate according to a rotation force. When the pinion gear15rotates in engagement with the rack gear17, the guide portion16may guide the moving path of the guard portion12to ascend or descend.

According to an embodiment of the disclosure, one or more power transmitting gears transmitting power may be provided between the driving motor13and the pinion gear15, and the number of rotations, a rotation direction, a rotation speed, and the like of the pinion gear15may be controlled according to the number of power transmitting gears or the number of teeth of the power transmitting gear. According to an embodiment of the disclosure, one or more fan belts may be used instead of the rotating shaft14or the power transmitting gear.

FIG.3Ais a side view of a cleaning robot when a guard portion is ascended andFIG.3Bis a side view of a cleaning robot when a guard portion is descended according to various embodiments of the disclosure.

Referring toFIGS.3A and3B, the guard portion12may ascend or descend along a Z-axis. For example, when the pinion gear15rotates clockwise, the guard portion12may ascend according to linear movement of the guide portion16and the rack gear17engaged with the pinion gear15as shown inFIG.3A. On the other hand, when the pinion gear15rotates counterclockwise, the guard portion12may descend according to linear movement of the guide portion16and the rack gear17engaged with the pinion gear15as shown inFIG.3B.

FIG.4Ais an internal side view of a cleaning robot when a guard portion is ascended andFIG.4Bis an internal side view of a cleaning robot when a guard portion is descended.

Referring toFIGS.4A and4B, the guard portion12may be located in front of an opened portion. The opened portion may include a suction hole18or an indented portion19located in front of the suction hole18.

InFIGS.4A and4B, the guard portion12may move along a Z-axis direction by being located in front of the indented portion19. In a normal situation, the cleaning robot10may move and suck dust of the floor surface while the guard portion12is ascended as shown inFIG.4A. When the cleaning robot10needs to push an object while moving, the cleaning robot10may lower the guard portion12as shown inFIG.4Band drive towards the object. Here, the cleaning robot10may also perform an operation of sucking the dust of the floor surface.

InFIGS.4A and4B, the guard portion12is located in front of the indented portion19, but according to an embodiment of the disclosure, the guard portion12may be located in front of the suction hole18. In this case, the cleaning robot10may perform an operation of pushing the object when the object has a size lower than a certain height (for example, about 1 cm) corresponding to a suction height or has the center of gravity at a point lower than or equal to the certain height.

Processes of the cleaning robot10performing a task by raising or lowering the guard portion12according to a surrounding object will be described below.

FIG.5is a diagram illustrating processes of a cleaning robot determining a task by identifying an object according to an embodiment of the disclosure.

Referring toFIG.5, the cleaning robot10may identify an object51nearby. For example, the cleaning robot10may capture an image of at least one object51through a camera at a certain distance d1or more (for example, 15 cm or more). The cleaning robot10may capture the image of the object51before driving starts or capture the image of the object51every certain cycle (for example, 0.1 second or 3 cm movement). The cleaning robot10may determine a task to be performed by the cleaning robot10, based on the captured image.

According to an embodiment of the disclosure, the cleaning robot10may determine the task to be performed by the cleaning robot10by applying the captured image to at least one trained artificial intelligence (AI) model. Here, the cleaning robot10may determine a bounding box501regarding the object51and select an image in the bounding box501as the captured image. Then, the cleaning robot10may determine the task to be performed by the cleaning robot10by applying the image in the bounding box501to the at least one trained AI model.

The at least one trained AI model is an AI model configured to determine the task to be performed by the cleaning robot10, and may be a model trained by using {image including object, task to be performed by cleaning robot} as a training data set.

According to an embodiment of the disclosure, the cleaning robot10may obtain identification information of the object51by applying the image of the object51to a first AI model. The first AI model is an AI model configured to identify an object and may be a model trained by using {image including object, identification information of object} as a training data set. Identification information of an object may include at least one of, for example, a type of the object, a size of the object (for example, a height, width, depth, or the like of the object), or a feature of the object (for example, a color, material, or the like of the object), but is not limited thereto. Upon obtaining the identification information of the object51, the cleaning robot10may determine the task to be performed by the cleaning robot10by applying the obtained identification information to a second AI model. The second AI model is an AI model configured to determine the task to be performed by the cleaning robot10, and may be a model trained by using {identification information of object, task to be performed by cleaning robot} as a training data set.

According to an embodiment of the disclosure, the cleaning robot10may obtain identification information of the object51by applying the image of the object51to the first AI model. The first AI model is an AI model configured to identify an object and may be a model trained by using {image including object, identification information of object} as a training data set. Upon receiving the identification information of the object51, the cleaning robot10may determine the task to be performed by the cleaning robot10by applying the identification information of the object51to a rule-based model (or a mathematical model). For example, the cleaning robot10may store a matching table in which a task to be performed by the cleaning robot10is matched to each type of an object. In this case, the cleaning robot10may determine the task to be performed by the cleaning robot10corresponding to the identification information of the object51by using the matching table.

In the above embodiments of the disclosure, the AI model configured to determine the task to be performed by the cleaning robot10by using the captured image, the first AI model configured to obtain the identification information of the object51, and the second AI model configured to determine the task to be performed by the cleaning robot10by using the identification information may be included in the cleaning robot10or included in an external server (not shown). Such AI models may be trained according to, for example, a supervised learning method based on an AI algorithm or an unsupervised learning method. As an example of an AI model, a neural network model may be configured to include a plurality of network nodes having weights, and the plurality of network nodes may exchange data according to a convolution connection relationship while being located at different depths (or different layers). For example, a deep neural network (DNN), a recurrent neural network (RNN), or a bidirectional recurrent deep neural network (BRDNN) may be used as the neural network model, but is not limited thereto.

According toFIG.5, types of the task to be performed by the cleaning robot10determined based on the captured image of the object51include first through sixth tasks511through516, but according to various embodiments of the disclosure, the task of the cleaning robot10may be determined from more tasks than those just including the first through sixth tasks511through516or further subdivided tasks, or from just some of the first through sixth tasks511through516.

The first task511may be a task in which the cleaning robot10performs cleaning while closely avoiding the object51.

Close avoidance driving may indicate that the cleaning robot10moves in close contact with the object51or while maintaining a close distance (or of less than a threshold value, for example, less than 1 cm) from the object51.

In this case, the object51may be fixed at one area or may be difficult to be moved. Examples of such an object51include a wall, a couch, a table, or a bed.

FIG.6Aillustrates processes of a cleaning robot performing a task of closely avoiding an object according to an embodiment of the disclosure.

Referring toFIG.6A, the cleaning robot10may move in close contact with the object52while avoiding the object52. For example, the cleaning robot10may move in close contact with the object52, based on a 2-dimensional (2D) line included in a navigation map. Alternatively, the cleaning robot10may move in close contact with the object52while measuring distance information to the object52in real time, by using a laser imaging detection and ranging (LIDAR) sensor, an ultrasound sensor, or a position sensitive device (PSD) sensor.

The second task512may be a task in which the cleaning robot10performs cleaning while completely avoiding the object51.

Complete avoidance driving may indicate that the cleaning robot10moves while avoiding the object51by a certain distance (for example, between 1 cm and 15 cm).

In this case, the object51may easily break. For example, the object51may be a glass cup, a bowl, or a vase. Alternatively, the object51may be valuable. For example, the object51may be a mobile phone, jewelry, a watch, or glasses. Alternatively, the object51may contaminate the cleaning robot10. For example, the object51may be feces of a pet or food.

FIG.6Billustrates processes of a cleaning robot performing a task of completely avoiding an object according to an embodiment of the disclosure.

Referring toFIG.6B, the cleaning robot10may move while avoiding the object53by a certain distance d2(for example, between 1 cm to 15 cm). At this time, the cleaning robot10may decelerate near the object53and move while avoiding the object53. The cleaning robot10may obtain distance information to the object53and a space where the object53is located by using a distance sensor (for example, a depth sensor, a LIDAR sensor, an ultrasound sensor, or an infrared ray (IR) stereo sensor). The cleaning robot10may move away from the object53by the certain distance d2while measuring the distance information to the object53and the space where the object53is located in real time. As another example, the cleaning robot10may set a virtual wall around the object53by a certain distance. Then, the cleaning robot10may move in close contact with the virtual wall in the close avoidance driving manner.

The third task513may be a task in which the cleaning robot10performs cleaning while avoiding the object51after interaction.

In this case, the object51may react to the interaction. For example, referring toFIG.6C, an object54may be a while body of a person, a body part of a person, an animal, or a sensing device.

FIG.6Cillustrates processes of a cleaning robot performing a task of avoiding the object after interaction according to an embodiment of the disclosure.

Referring toFIG.6C, the cleaning robot10may perform interaction towards the object54. For example, the cleaning robot10may output voice of ‘Please move’. When the object54moves in response to the interaction of the cleaning robot10, the cleaning robot10may obtain distance information to the object54and a space where the moved object54is located, by using a distance sensor (for example, a depth sensor, a LIDAR sensor, an ultrasound sensor, or an IR stereo sensor). The cleaning robot10may move while avoiding the object54by a certain distance d3, based on the distance information to the object54and the space where the moved object54is located.

The fourth task514may be a task in which the cleaning robot10performs cleaning while pushing the object51.

In this case, the object51may need to be pushed without being sucked by the cleaning robot10. For example, the object51may have a size higher than a certain height (for example, about 1 cm) corresponding to a suction height or have the center of gravity at a point equal to or greater than the certain height. Examples of the object51include a box, a doll, or a cushion.

FIG.6Dillustrates processes of a cleaning robot performing a task of cleaning while pushing (or pressing) an object according to an embodiment of the disclosure.

Referring toFIG.6D, the cleaning robot10may identify the object55and move the object55in a driving direction. The cleaning robot10may clean an area where the object55was located. In other words, the cleaning robot10may suck dust on a floor surface through a suction hole while moving the object55. Alternatively, the cleaning robot10may clean the floor surface where the object55was located after moving the object55. Meanwhile, after cleaning the floor surface, the cleaning robot10may move the object55back to its original location. In this case, the cleaning robot10may identify the object55again and push the object55in a direction opposite to a direction the object55was previously pushed to move the object55back to its original location.

The fifth task515may be a task in which the cleaning robot10performs cleaning after pushing the object51.

In this case, the object51may get caught while the cleaning robot10is moving. For example, the object51may be a wire, a sock, or a towel. Alternatively, the object51may need to be pushed without being sucked by the cleaning robot10. For example, the object51may be a toy Lego, a note paper, or a pill. At this time, the object51may have a size lower than a certain height (for example, about 1 cm) corresponding to the suction height or have the center of gravity at a point lower than or equal to the certain height.

FIGS.7A through7Cillustrate processes of a cleaning robot performing a task of cleaning after pushing an object according to various embodiments of the disclosure.

Referring toFIG.7A, the cleaning robot10may identify the object56and control the guard portion12provided in the cleaning robot10to descend. For example, the cleaning robot10may control the guard portion12to descend to a floor surface as shown inFIGS.1B,3B, and4B.

Referring toFIG.7B, the cleaning robot10may move towards the object56such that the object56is moved (or pushed) by the guard portion12. When a designated area to which the object56is to be moved is present, the cleaning robot10may move the object56to the designated area. The designated area may be, for example, an area pre-designated by a user, an area spaced apart from the object56by a certain distance, or a wall surface or large structure near the object56. An example of the cleaning robot10determining the designated area will be described below with reference toFIGS.10and11.

Referring toFIG.7C, after the object56is moved, the cleaning robot10may control the guard portion12to ascend again. Then, the cleaning robot10may clean a floor surface where the object56was located while the guard portion12is ascended. For example, the cleaning robot10may clean the floor surface while moving towards the area where the object56was located after rotating in a direction opposite to a direction the object56was pressed.

Meanwhile, after cleaning the floor surface, the cleaning robot10may move the object56back to its original location. In this case, the cleaning robot10may control the guard portion12to descend again and move the object56back to its original location by pushing the object56in the direction opposite to the direction the object56was pushed.

FIG.8Aillustrates processes of a cleaning robot performing a task according to an embodiment of the disclosure.

Referring toFIG.8A, the cleaning robot10may identify the object57and control the guard portion12provided in the cleaning robot10to descend. Next, the cleaning robot10may determine a path for moving the object57along. First, the cleaning robot10may determine a start location of push driving. For example, the cleaning robot10may determine immediately the front of an end portion of the object57(for example, an end portion of a wire or a side surface of an object) as the start location by using an image obtained by capturing an image of the object57with a camera or by using a distance sensor (for example, a depth sensor, a LIDAR sensor, an ultrasound sensor, or an IR stereo sensor).

FIG.8Billustrates processes of a cleaning robot performing a task according to an embodiment of the disclosure.

Referring toFIG.8B, when the start location is determined the cleaning robot10may move to the start location. Then, the cleaning robot10may determine a direction of moving the object57. For example, the cleaning robot10may determine a path for moving the object57in a direction not interfering with cleaning (or a direction for securing a cleaning area). For example, the cleaning robot10may determine the direction of moving the object57such that the size of the object57is minimized, the width of the object57is minimized, or the object57is in close contact with a wall as much as possible.

FIG.8Cillustrates processes of a cleaning robot performing a task according to an embodiment of the disclosure.

Referring toFIG.8C, when the path for moving the object57along is determined, the cleaning robot10may move towards the object57along the determined path.

FIG.8Dillustrates processes of a cleaning robot performing a task according to an embodiment of the disclosure.

Referring toFIG.8D, when the object57is in close contact with the wall, the cleaning robot10may raise the guard portion12again and clean the floor surface where the object57was located while the guard portion12is ascended, as shown inFIG.8D. For example, the cleaning robot10may raise the guard portion12and clean the floor surface while moving towards the area where the object57was located, after rotating in a path opposite to the path along which the object57was pushed.

The sixth task616may be a task in which the cleaning robot10requests a user to confirm.

Here, the cleaning robot10may communicate with a user terminal device30ofFIG.9of the user to receive confirmation from the user. The cleaning robot10and the user terminal device30communicating with each other may denote direct connection via a short range communication technology or communication connection via a third repeater. Examples of the third repeater may include a base station, a hub, an access point, a gateway, a switch, or a relay server.

FIG.9illustrates processes of a cleaning robot performing a task according to an embodiment of the disclosure.

Referring toFIG.9, the cleaning robot10may capture an image of an object58and apply the captured image to at least one trained AI model. In this case, a task to be performed by the cleaning robot10may be unable to be determined, a plurality of tasks may be determined to be performed by the cleaning robot10, or a confidence value (or a probability value) of a task to be performed by the cleaning robot10may be lower than or equal to a certain value. At this time, the cleaning robot10may transmit a task request message requesting a task to be performed by the cleaning robot10to the user terminal device30at operation601. The task request message may include information about the captured image.

Upon receiving the task request message, the user terminal device30may display a screen for receiving confirmation on a task from the user. The screen may include an image611including the object58captured by the cleaning robot10and a list612of tasks performable by the cleaning robot10. The list612may include all tasks performable by the cleaning robot10or a plurality of tasks having a certain confidence value or higher.

When the user selects one user task from the list612, the user terminal device30may transmit information about the selected user task to the cleaning robot10at operation602. The cleaning robot10may determine the user task included in the received information as a task to be performed by the cleaning robot10. The cleaning robot10may perform cleaning according to the determined task.

At operation603, upon receiving the information about the user task, the cleaning robot10may update the at least one AI model configured to determine the task to be performed by the cleaning robot10, by using the captured image and the received user task as a training data set. Alternatively, when the at least one AI model configured to determine the task to be performed by the cleaning robot10is located in a server (not shown), the cleaning robot10may transmit the captured image and the user task to the server. The server may update the at least one AI model configured to determine the task to be performed by the cleaning robot10, by using the received captured image and user task as the training data set.

Thereafter, the cleaning robot10may apply the captured image to the updated at least one AI model to determine the task to be performed by the cleaning robot10. For example, when an object of the same or similar shape as the object58ofFIG.9is identified, the cleaning robot10may perform cleaning based on the task that was determined by the user for the object58.

According to an embodiment of the disclosure, even when a task of the cleaning robot10, which corresponds to an image obtained by capturing an image of an object, is pre-determined, the cleaning robot10may transmit the captured image to the user terminal device30to notify the user. For example, when the object is determined to cause danger, to break, or to become a contaminant when continuously neglected, the cleaning robot10may provide the captured image to the user terminal device30. The user may personally handle the object or provide a command to the cleaning robot10through the user terminal device30to avoid the object or move the object, based on the captured image.

According to an embodiment of the disclosure, the cleaning robot10may determine a task to be performed by the cleaning robot10by using not only information about capturing an object, but also sensing information detected by at least one sensor (for example, a LIDAR sensor, an ultrasound sensor, an IR stereo sensor, or a PSD sensor). For example, the cleaning robot10may determine the task to be performed by the cleaning robot10by applying the information about capturing the object and the sensing information to at least one AI model. Alternatively, the cleaning robot10may determine a location of starting push driving of an object, a path for moving the object along, and a location of ending the push driving, by using at least one of information about capturing the object, information about capturing surroundings of the object, information about detecting the object, or information about detecting the surroundings of the object.

FIGS.10and11are diagrams illustrating processes of determining designated areas to which objects are to be moved according to various embodiments of the disclosure.

Referring toFIG.10, the cleaning robot10may capture an image of the object59and determine a task to be performed by the cleaning robot10according to the captured image. When the task to be performed by the cleaning robot10includes an operation of moving the object59like the fourth task514or the fifth task515ofFIG.5, the cleaning robot10may designate an area where the object59is to be moved.

For example, the cleaning robot10may identify a surrounding environment of the object59by using a camera or a distance sensor (for example, a depth sensor, a LIDAR sensor, an ultrasound sensor, or an IR stereo sensor). By identifying the surrounding environment of the object59, the cleaning robot10may obtain distance information from the object59to each structure (for example, a large structure, such as a wall surface, a door, or a couch). Alternatively, the cleaning robot10may identify a structure near the object59by using a navigation map stored in the cleaning robot10and obtain the distance information from the object59to each structure.

For example, the cleaning robot10may obtain shortest distance information from the object59to structures located in upper, lower, left, and right directions. More particularly, the cleaning robot10may obtain distance information m1from the object59to a couch701located in the upper direction, distance information from m2the object59to a wall surface702located in the left direction, distance information m3from the object59to a door703located in the right direction, and distance information m4from the object59to a wall surface704located in the lower direction.

The cleaning robot10may determine a structure closest to the object59based on the obtained distance information. InFIG.10, the cleaning robot10may select the couch701as a structure closest to the object59. When the closest structure is determined, the cleaning robot10may move the object59to the front of the couch701.

Referring toFIG.11, a user may directly indicate a designated area where the object60is to be moved.

InFIG.11, the cleaning robot10may transmit, to the user terminal device30, an area designation request message requesting the user to designate the area where the object60is to be moved at operation705. The area designation request message may include information about an image obtained by capturing the object60and information about a map. The information about the map may include, for example, information about a navigation map stored in the cleaning robot10or information about a semantic map.

Upon receiving the area designation request message, the user terminal device30may display a screen for receiving area designation from the user. The screen may display an image711including the object60captured by the cleaning robot10, a map712showing at least a part of the inside of a house including an area where the object60is located, and a location713of the object60on the map712.

Here, when a user input of designating one area714on the map712is received, the user terminal device30may transmit information about the designated area714to the cleaning robot10at operation706. The cleaning robot10may move the object60to the area714designated by the user, based on the information about the designated area714received from the user terminal device30at operation707.

FIGS.12A through12Care diagrams illustrating processes of updating a driving plan of a cleaning robot according to various embodiments of the disclosure.

Referring toFIG.12A, the cleaning robot10may set a global driving plan for planning a driving path for performing a task for the inside of a house.

Referring toFIGS.12B and12C, the cleaning robot10may set a local driving plane for planning a driving path for performing a task for each area inside the house.

The global driving plan or the local driving plan may be planned such that, for example, the number of rotations (or turns) or a moving distance of the cleaning robot10is minimized. For example, the cleaning robot10may compare a horizontal length and a vertical length of a driving direction and set a driving plan to move in a longer direction first.

According to an embodiment of the disclosure, as shown inFIG.12B, the cleaning robot10may set and store the local driving plan for one area inside the house, in a situation where objects61are present.

In this situation, the cleaning robot10may perform a task of moving the objects61. For example, a task of moving an object like the fourth task514or the fifth task515ofFIG.5described above may be performed.

When locations of the objects61are changed as the objects61are pushed, the cleaning robot10may update the local driving plan. For example, the cleaning robot10may compare the numbers of rotations or the moving distances of the cleaning robot10when the vertical length is driven first and the horizontal length is driven first, and update the local driving plan such that the number of rotations or the moving distance of the cleaning robot10is minimized.

For example, the cleaning robot10may set the local driving plan to move the vertical length first before the locations of the objects61are changed, but after the locations of the objects61are changed, the cleaning robot10may set the local driving plan to move the horizontal length first as shown inFIG.12C.

FIG.10is a block diagram of a configuration of a cleaning robot according to an embodiment of the disclosure.

FIG.13Ais a block diagram of a configuration of a cleaning robot according to an embodiment of the disclosure.

FIG.13Bis a block diagram of a configuration of a cleaning robot according to an embodiment of the disclosure.

Referring toFIGS.13A and13B, the cleaning robot10may include the guard portion12, a camera1020, a memory1030, a processor1040, and a driver1070.

Because the configuration and operations of the guard portion12have been described with reference toFIGS.1A through4B, redundant descriptions are not provided again.

The camera1020may capture surrounding images of the camera1020in various directions. More particularly, the camera1020may capture a front image of the cleaning robot10or capture an image in a direction different from a driving direction, through an RGB camera. The camera1020may be provided independently from the cleaning robot10or may be included in an object recognition sensor as a part of the object recognition sensor.

The camera1020may include a plurality of cameras. More particularly, the camera1020may be provided both at the top and the front of the cleaning robot10or may be provided only at at least one of the top or the front.

The memory1030may store an image captured by the camera1020and moving state information and photographing direction information of the cleaning robot10at the time of photographing. In addition, the memory1030may store information about a map of a place where the cleaning robot10performs a task. The information about the map may include, for example, information about a navigation map or a semantic map.

For example, the cleaning robot10may detect a task area by using at least one of an IR stereo sensor, an ultrasound sensor, a LIDAR sensor, a PSD sensor, or an image sensor. The cleaning robot10may generate the navigation map for driving by using a result of detecting the task area. For example, the cleaning robot10may generate a 2D navigation map by using the LIDAR sensor. The navigation map may include, for example, areas inside the house defined by one or more 2D lines.

As another example, the cleaning robot10may obtain identification information of an object by using a result of capturing an image of an object or detecting the object. The cleaning robot10may obtain, as the identification information of the object, a name of the object, a type of the object, or an attribute of the object. The cleaning robot10may generate the semantic map indicating an environment of the task area where the cleaning robot10performs a task, by mapping the identification information of the object and an area of the object included in the navigation map. The identification information of the object may be displayed at an area of the semantic map where the object is located, in text (for example, the name of the object) or an icon. Alternatively, the identification information of the object may be displayed at the area of the semantic map where the object is located, in a reference form. More particularly, the identification information of the object may be displayed with respect to an indication line indicating the area where the object is located or the identification information of the object may be displayed with respect to a distinguished color after distinguishing the area of the object with a color. In the semantic map, the identification information of the object may be displayed, for example, with at least one of a 3D map on which a structure of the task area is reflected or the navigation map (for example, a LIDAR map) as a background.

As another example, the cleaning robot10may obtain identification information of each place of the task area by using a result of detecting the task area. The cleaning robot10may obtain a name of the place as the identification information of the place. For example, the cleaning robot10may identify an area with the most doors and the widest area as a living room and identify an area having the next widest area as a bed room. The cleaning robot10may obtain the identification information of each place of the task area by using the identification information of the object located at each place of the task area. For example, the cleaning robot10may determine an area where a dining table is identified as a kitchen, an area where a bed is identified as a bed room, and an area where a television (TV) or a couch is identified as a living room. Once the identification information of each place is obtained, the cleaning robot10may generate the semantic map indicating the environment of the task area by using the navigation map and the obtained identification information of each place.

The memory1030may store a plurality of application programs (or applications) driven by the cleaning robot10, and data and instructions for operating the cleaning robot10. At least some of the application programs may be downloaded from an external server via wireless communication. In addition, at least some of the application programs may be present in the cleaning robot10at the time of release for basic functions of the cleaning robot10. The application program may be stored in the memory and driven to perform an operation (or a function) of the cleaning robot10by the processor1040.

The memory1030may be implemented as a nonvolatile memory, a volatile memory, a flash memory, a hard disk drive (HDD), or a solid state drive (SSD). The memory1030is accessed by the processor1040and data may be read/written/modified/deleted/refined by the processor1040. In the disclosure, the term ‘memory’ may include the memory1030, a read-only memory (ROM) (not shown) or a random access memory (RAM) (not shown) in the processor1040, or a memory card (not shown (for example, a micro secure digital (SD) card or a memory stick) provided in the cleaning robot10.

According to an embodiment of the disclosure, the memory1030may store at least one instruction set such that the processor1040controls the cleaning robot10to capture an image of an object in the vicinity of the cleaning robot10, determine a task to be performed by the cleaning robot10by applying the captured image to at least one trained AI model, control the guard portion12to descend from the front of the opened portion of the cleaning robot10to a floor surface according to the determined task, and drive towards the object such that the object is moved by the descended guard portion12.

The processor1040may control overall operations of the cleaning robot10. For example, the processor1040may control the camera1020to capture an image in the vicinity of the cleaning robot10. In addition, the processor1040may include a central processing unit (CPU), RAM, ROM, and a system bus. The ROM stores an instruction set for system booting and the CPU may copy, to the RAM, an operating system (OS) stored in the memory1030of the cleaning robot10according to an instruction stored in the ROM and boot a system by executing the OS. When the booting is completed, the CPU may copy various applications stored in the memory1030to the RAM and execute the various applications to perform various operations.

According to an embodiment of the disclosure, as shown inFIG.13B, the processor1040may include a plurality of sub-processors. The plurality of sub-processors may include a CPU1041and a neural processing unit (NPU)1042. The NPU1042may be a dedicated processor optimized to identify an object by using a trained AI model. In addition, the processor1040may include at least one of a digital signal processor (DSP) processing a digital signal, a micro-processor, a time controller (TCON), a micro-controller unit (MCU), a micro-processing unit (MPU), an application processor (AP), a communication processor (CP), or an advanced reduced instruction set computer (RISC) machines (ARM) processor, and may be defined by the respective term used. The processor1040may be implemented as a system on chip (SoC) in which a processing algorithm is embedded, a large scale integration (LSI), or a field programmable gate array (FPGA).

According to an embodiment of the disclosure, the processor1040may control the camera1020to capture an image of an object in the vicinity of the cleaning robot10. The processor1040may determine a task to be performed by the cleaning robot10by applying the captured image to at least one trained AI model. The processor1040may control the driver1070to lower the guard portion12from the front of the opened portion to the floor surface, according to the determined task. When the guard portion12is descended, the processor1040may control the driver1070to drive towards the object such that the object is moved by the descended guard portion12.

According to an embodiment of the disclosure, the processor1040may determine a path for moving the object along and control the driver1070such that the cleaning robot10moves towards the object along the determined path.

According to an embodiment of the disclosure, the processor1040may control the guard portion12to ascend after the object is moved. Then, the processor1040may control the driver1070to drive on the floor surface where the object was located before being moved.

According to an embodiment of the disclosure, the processor1040may control a communicator1050ofFIG.14to transmit information about the captured image to the user terminal device30. The processor1040may determine, upon receiving information about a user task selected by a user from the user terminal device30, the user task as the task to be performed by the cleaning robot10. In this case, the processor1040may apply, to at least one AI model, the captured image and the user task received from the user terminal device30as a training data set.

According to an embodiment of the disclosure, the processor1040may control the driver1070such that the object moves to a designated area. For example, the processor1040may determine a structure closest to the object from among a plurality of structures in the vicinity of the object, and control the driver1070such that the object is moved to the front of the determined structure. Alternatively, the processor1040may control the communicator1050to transmit information about the captured image and information about a map to the user terminal device30. Upon receiving information about the designated area from the user terminal device30, the processor1040may control the driver1070such that the object is moved to the designated area.

FIG.14is a block diagram of a configuration of a cleaning robot according to an embodiment of the disclosure.

Referring toFIG.14, the cleaning robot10may include the guard portion12, a sensor1010, the camera1020, the memory1030, the communicator1050, a dust collector1060, the driver1070, a power supplier1080, and the processor1040controlling the above components by being electrically connected thereto.

Because the guard portion12, the camera1020, the memory1030, the processor1040, and the driver1070have been described with reference toFIGS.13A and13B, redundant details thereof are not provided again.

The sensor1010may include various types of sensors. More particularly, the sensor1010may include an IR stereo sensor, a LIDAR sensor, and an ultrasound sensor. The IR stereo sensor, the LIDAR sensor, and the ultrasound sensor may be implemented as one sensor or as separate sensors.

The IR stereo sensor may detect a 3D shape and distance information of an object. More particularly, the IR stereo sensor may obtain 3D depth information of the object. However, the IR stereo sensor is unable to detect black, a transparent color, or a metal.

The cleaning robot10may obtain a 2D line shape and distance information of the object by using the LIDAR sensor. Accordingly, a space and distance information of a surrounding object with respect to the object may be obtained. However, the LIDAR sensor is difficult to detect black, a transparent color, or a metal.

The ultrasound sensor may obtain distance information regarding an obstacle. The ultrasound sensor has a relatively limited sensing range but is able to detect black, a transparent color, and a metal.

In addition, the sensor1010may include a sensor for detecting the surroundings, such as a dust sensor, an odor sensor, a laser sensor, a UWB sensor, an image sensor, or an obstacle sensor, and a sensor for detecting a moving state, such as a gyro sensor or a global positioning system (GPS) sensor. Here, the sensor for detecting the surroundings and the sensor for detecting the moving state of the cleaning robot10may be configured as different configurations or may be configured as one configuration. In addition, each sensor of the sensor1010may be configured as separate configuration. The sensor1010may further include other various types of sensors, and may not include some of the sensors described above based on a task to be performed by the cleaning robot10.

The communicator1050may transmit or receive data, a control command, or the like to or from an external device. For example, the communicator1050may receive information about a map including location information about a space where the cleaning robot10is to operate, from the external device. In addition, the communicator1050may transmit information for updating the information about the map, to the external device. As another example, the communicator1050may receive a signal for controlling the cleaning robot10transmitted from the user by using a remote controlling device. Here, the remote controlling device may be implemented in any one of various shapes, such as a remote controller, a user terminal device, and the like.

In addition, the communicator1050may transmit or receive data to or from an external server (not shown). For example, when an AI model is stored in the external server, the communicator1050may transmit an image captured by the camera1020to the external server and receive identification information of an object included in the captured image identified by using the AI model from the external server. However, this is only an example and the communicator1050may receive information about a movable area with respect to a space where the cleaning robot10is to perform a task, from the external server.

Meanwhile, the communicator1050may communicate with an external electronic device via a short range communication network, such as the Bluetooth, Wi-Fi direct, or infrared data association (IrDA), or via a telecommunication network, such as a cellular network, the Internet, or a computer network (for example, a local area network (LAN) or a wireless LAN (WLAN)).

The dust collector1060is a configuration for collecting dust. More particularly, the dust collector1060may suck the air and collect dust in the sucked air. For example, the dust collector1060may include a motor for passing the air through a guide pipe extending from a suction hole to a discharge hole, a filter for filtering the dust in the sucked air, and a dust container for the dust.

The driver1070may drive the cleaning robot10. For example, the driver1070may move the cleaning robot10to a location where a task is to be performed, according to control of the processor1040. In this case, the driver1070may include at least one wheel contacting a floor surface, a motor providing power to the wheel, and a driver for controlling the motor. As another example, the driver1070may realize an operation for performing a task. For example, the driver1070may include a motor and a rotation shaft for transmitting power such that the guard portion12is ascended or descended. For example, the driver1070may enable the guard portion12to ascend or descend by controlling the motor according to a control command of the processor1040. For example, the control command may include information about a rotation direction, rotation speed, applied power of the motor.

The power supplier1080supplies power required to drive the cleaning robot10. For example, the power supplier1080may be implemented as a battery capable of being charged and discharged. When remaining power of the cleaning robot10is below a pre-set level or when a task is completed, the processor1040may control the driver1070to move to a charging station. A charging method of the power supplier1080may include both contact and non-contact charging methods.

FIGS.15A and15Bare block diagrams of a trainer and a determiner according to an embodiment of the disclosure.

Referring toFIG.15A, a processor1100may include at least one of the trainer1110or the determiner1120. The processor1100ofFIG.15Amay correspond to the processor1040of the cleaning robot10ofFIGS.13A,13B, and14, or may correspond to a processor of an external server (not shown) communicable with the cleaning robot10.

The trainer1110may generate or train an AI model having a criterion for determining a certain situation. The trainer1110may generate the AI model having the criterion by using collected training data. For example, the trainer1110may generate, train, or refine the AI model having a criterion for determining an object included in an image, by using an image including an object as training data. As another example, the trainer1110may generate, train, or refine the AI model having a criterion for determining various types of additional information around an object included in an image, by using surrounding information included in an image including an object as training data. As another example, the trainer1110may generate, train, or refine the AI model having a criterion for determining an object included in an image, by using an image captured by a camera as training data. As another example, the trainer1110may generate, train, or refine the AI model configured to identify an object, by using {image including object, identification information of object} as a training data set. As another example, the trainer1110may generate, train, or refine the AI model configured to determine a task to be performed by the cleaning robot10, by using {identification information of object, task to be performed by cleaning robot} as a training data set. As another example, the trainer1110may generate, train, or refine the AI model configured to determine a task to be performed by the cleaning robot10, by using {image including object, task to be performed by cleaning robot} as a training data set.

The determiner1120may estimate an identification target included in certain data, by using the certain data as input data of the trained AI model.

For example, the determiner1120may obtain (or estimate or infer) object identification information regarding an object included in an image by using the image including the object as input data of the trained AI model. As another example, the determiner1120may determine a task to be performed by the cleaning robot10by applying an image obtained by capturing an object to at least one trained AI model. As another example, the determiner1120may determine a task to be performed by the cleaning robot10by applying identification information of an object to at least one AI model.

At least a part of the trainer1110and at least a part of the determiner1120may be implemented as a software module or may be manufactured in a form of at least one hardware chip and mounted on an electronic device. For example, at least one of the trainer1110or the determiner1120may be manufactured in a form of a dedicated hardware chip for AI, or may be manufactured as a part of an existing general-purpose processor (for example, a CPU or an AP) or a graphics-only processor (for example, a GPU) and mounted on the cleaning robot10described above. Here, the dedicated hardware chip for AI is a dedicated processor specialized in probability calculation, and may quickly process an arithmetic operation in AI fields, such as machine learning, owing to a high parallel processing performance compared to existing general-purpose processors. When the trainer1110and the determiner1120are implemented as the software module (or a program module including instructions), the software module may be stored in a non-transitory computer-readable recording medium. In this case, the software module may be provided by an OS or provided by a certain application. Alternatively, a part of the software module may be provided by the OS and the remaining may be provided by the certain application.

In this case, the trainer1110and the determiner1120may be mounted on one electronic device or may be mounted on separate electronic devices. For example, one of the trainer1110and the determiner1120may be included in the cleaning robot10and the other one may be included in an external server. In addition, the trainer1110and the determiner1120may be connected via wires or wirelessly such that model information built by the trainer1110may be provided to the determiner1120and data input to the determiner1120may be provided to the trainer1110as additional training data.

FIG.15Bis a block diagram of a trainer and a determiner according to an embodiment of the disclosure.

Referring toFIG.15B, the trainer1110according to some embodiments of the disclosure may include a training data obtainer1110-1and a model trainer1110-4. In addition, the trainer1110may selectively further include at least one of a training data preprocessor1110-2, a training data selector1110-3, or a model evaluator1110-5.

The training data obtainer1110-1may obtain training data required for an AI model to infer an identification target. According to an embodiment of the disclosure, the training data obtainer1110-1may obtain, as the training data, an entire image including an object and an image corresponding to an area corresponding to an object. The training data may be data collected or tested by the trainer1110or a manufacturer of the trainer1110.

The model trainer1110-4may train the AI model to have a criterion about how to determine a certain identification target, by using the training data. For example, the model trainer1110-4may train the AI model through supervised learning using at least some of the training data as a criterion. Alternatively, the model trainer1110-4may train the AI model through unsupervised learning by discovering a criterion for determining a situation through, for example, self-training using the training data without separate supervision. In addition, the model trainer1110-4may train the AI model through, for example, reinforced learning using feedback about whether a result of determining a situation according to learning is correct. In addition, the model trainer1110-4may train the AI model by using a learning algorithm including, for example, error back-propagation or gradient descent.

In addition, the model trainer1110-4may learn a selection criterion about which training data is to be used to estimate an identification target by using input data.

When a plurality of pre-built AI models are present, the model trainer1110-4may determine an AI model having a high correlation between input training data and basic training data as an AI model to be trained. In this case, the basic training data may be pre-classified according to types of data, and the AI model may be pre-built for each type of data. For example, the basic training data may be pre-classified based on various standards, such as a region where training data is generated, a time when training data is generated, the size of training data, a genre of training data, a generator of training data, and a type of object in training data.

When the AI model is trained, the model trainer1110-4may store the trained AI model. In this case, the model trainer1110-4may store the trained AI model in the memory1030of the cleaning robot10. Alternatively, the model trainer1110-4may store the trained AI model in a memory of a server connected to the cleaning robot10via a wired or wireless network.

The trainer1110may further include the training data preprocessor1110-2and the training data selector1110-3to improve an analysis result of the AI model or to reduce resources or time required to generate the AI model.

The training data preprocessor1110-2may preprocess obtained data such that the obtained data is used in training for determining a situation. The training data preprocessor1110-2may process the obtained data to a pre-set format such that the model trainer1110-4is able to use the obtained data in training for determining a situation.

The training data selector1110-3may select data required for training from among data obtained by the training data obtainer1110-1or data preprocessed by the training data preprocessor1110-2. The selected training data may be provided to the model trainer1110-4. The training data selector1110-3may select the training data required for training from among obtained or preprocessed data according to a pre-set selection criterion. In addition, the training data selector1110-3may select the training data according to a selection criterion pre-set according to training by the model trainer1110-4.

The trainer1110may further include the model evaluator1110-5to improve the analysis result of the AI model.

The model evaluator1110-5may input evaluation data to the AI model and when the analysis result output from the evaluation data does not satisfy a certain standard, re-train the model trainer1110-4. In this case, the evaluation data may be pre-defined data for evaluating the AI model.

For example, the model evaluator1110-5may evaluate that the certain standard is not satisfied when the number or ratio of pieces of evaluation data of which an analysis result is not accurate from among analysis results of the trained AI model with respect to the evaluation data exceeds a pre-set threshold value.

Meanwhile, when a plurality of trained AI models are present, the model evaluator1110-5may evaluate whether each trained AI model satisfies the certain standard and determine an AI model satisfying the certain standard as a final AI model. At this time, when there are a plurality of AI models that satisfy the certain standard, the model evaluator1110-5may determine a pre-set one or certain number of AI models as the final AI model, in an order from a high evaluation score.

Referring toFIG.12B, the determiner1120according to some embodiments of the disclosure may include a determination data obtainer1120-1and a determination result provider1120-4.

In addition, the determiner1120may selectively further include at least one of a determination data preprocessor1120-2, a determination data selector1120-3, or a model refiner1120-5.

The determination data obtainer1120-1may obtain data required to determine a situation. The determination result provider1120-4may determine a situation by applying the data obtained by the determination data obtainer1120-1to a trained AI model, as an input value. The determination result provider1120-4may provide an analysis result according to an analysis purpose of data. The determination result provider1120-4may obtain the analysis result by applying data selected by the determination data preprocessor1120-2or the determination data selector1120-3described later to the AI model, as an input value. The analysis result may be determined by the AI model.

For example, the determination result provider1120-4may obtain (or estimate) identification information of an object by applying an image obtained by capturing an object to at least one trained AI model, the image being obtained by the determination data obtainer1120-1. As another example, the determination result provider1120-4may determine a task to be performed by the cleaning robot10by applying the image obtained by capturing the object to the at least one trained AI model, the image being obtained by the determination data obtainer1120-1. As another example, the determination result provider1120-4may determine the task to be performed by the cleaning robot10by applying the identification information of the object obtained by the determination data obtainer1120-1to the at least one AI model.

The determiner1120may further include the determination data preprocessor1120-2and the determination data selector1120-3to improve an analysis result of the AI model or to reduce resources or time for providing the analysis result.

The determination data preprocessor1120-2may preprocess the obtained data such that the obtained data is used to determine a situation. The determination data preprocessor1120-2may provide the obtained data in a pre-defined format such that the determination result provider1120-4uses the obtained data to determine a situation.

The determination data selector1120-3may select data required to determine a situation from among the data obtained by the determination data obtainer1120-1or the data preprocessed by the determination data preprocessor1120-2. The selected data may be provided to the determination result provider1120-4. The determination data selector1120-3may select some or all of the obtained or preprocessed data according to a pre-set selection criterion for determining a situation. In addition, the determination data selector1120-3may select the data according to a selection criterion pre-set according to training by the model trainer1110-4.

The model refiner1120-5may control the AI model to be refined, based on an evaluation regarding the analysis result provided by the determination result provider1120-4. For example, the model refiner1120-5may request the model trainer1110-4to additionally train or refine the AI model by providing the analysis result provided by the determination result provider1120-4to the model trainer1110-4.

According to an embodiment of the disclosure, the determiner1120may be located in a server (not shown) and the determiner1120may be located in the cleaning robot10. In this case, the cleaning robot10and the server may interwork with each other to learn and determine data.

For example, the server may learn a criterion for determining a situation and the cleaning robot10may determine a situation based on a learning result by the server. In this case, the model trainer1110-4of the server may learn a criterion about which image of an object to use to determine a certain situation and about how to determine a situation by using data.

In addition, the determination result provider1120-4of the cleaning robot10may determine the identification information of the object or the task to be performed by the cleaning robot10by applying the data selected by the determination data selector1120-3to the AI model generated by the server. Alternatively, the determination result provider1120-4of the cleaning robot10may receive the AI model generated by the server from the server and determine a situation by using the received AI model. In this case, the determination result provider1120-4of the cleaning robot10may determine the identification information of the object or the task to be performed by the cleaning robot10by applying the image of the object selected by the determination data selector1120-3to the AI model received from the server.

FIG.16is a flowchart of a method, performed by a cleaning robot of performing a task according to an embodiment of the disclosure.

Referring toFIG.16, first, the cleaning robot10may capture an image of an object in the vicinity of the cleaning robot10at operation1301.

The cleaning robot10may determine a task to be performed by the cleaning robot10by applying the captured image to at least one trained AI model at operation1303. For example, the cleaning robot10may obtain identification information of the object by applying the captured image to a first AI model. The cleaning robot10may determine the task to be performed by the cleaning robot10by applying the obtained identification information of the object to a second AI model.

When the task is determined, the cleaning robot10may control the guard portion12to descend from an opened portion of the cleaning robot10to a floor surface, according to the determined task at operation1305.

When the guard portion12is descended, the cleaning robot10may move towards the object such that the object is moved by the descended guard portion12at operation1307.

According to an embodiment of the disclosure, the cleaning robot10may determine a path for moving the object along. The cleaning robot10may move towards the object along the determined path.

According to an embodiment of the disclosure, the cleaning robot10may control the guard portion12to ascend after the object is moved. Then, the cleaning robot10may drive on the floor surface where the object was located before being moved.

According to an embodiment of the disclosure, the cleaning robot10may transmit information about the captured image to the user terminal device30. Upon receiving information about a user task selected by the user from the user terminal device30, the cleaning robot10may determine the user task as the task to be performed by the cleaning robot10. In this case, the cleaning robot10may apply the captured image and the user task received from the user terminal device30to the at least one AI model, as a training data set.

According to an embodiment of the disclosure, the cleaning robot10may move the object to a designated area. For example, the cleaning robot10may determine a structure closest to the object from among a plurality of structures in a vicinity of the object. The cleaning robot10may move the object to the front of the determined structure. As another example, the cleaning robot10may transmit information about the captured image and information about a map to the user terminal device30. In this regard, the cleaning robot10may receive information about the designated area from the user terminal device30. Upon receiving the information about the designated area, the cleaning robot10may move the object to the designated area.

According to an embodiment of the disclosure, the cleaning robot10may store a local driving plan for the cleaning robot10with respect to an area where the object is located. After the object is moved, the cleaning robot10may update the local driving plan.

According to an embodiment of the disclosure described above, a cleaning robot may identify an image obtained by capturing an object and perform an optimum task, such as avoiding or moving the object.

According to an embodiment of the disclosure, because the cleaning robot is able to move the object by using a guard portion, it is possible to organize the object while cleaning and reduce a situation in which the cleaning robot gets caught at the object.

According to an embodiment of the disclosure, it is possible to clean a floor surface where the object was located before being moved, and thus as many areas as possible inside a house may be cleaned.

According to an embodiment of the disclosure, a possibility in which the cleaning robot provides an optimum task considering the object may be increased by using, as training data, the captured image and a user task selected by a user.

According to an embodiment of the disclosure, efficient driving of the cleaning robot is possible because a local driving plan for the cleaning robot is updated after the object is moved.

Various embodiments of the disclosure may be implemented in a moving device. Examples of the moving device include various types, such as a service robot for a public place, a transport robot at a production site, an operator assistance robot, a housework robot, a security robot, and an autonomous vehicle.

The term “module” as used in the disclosure may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with a term, such as a logic, a logic block, a component, or circuit. The module may be an integral component or a minimum unit or part of the component, which performs one or more functions. For example, according to one embodiment of the disclosure, the module may be implemented in a form of an application-specific integrated circuit (ASIC).

Various embodiments of the disclosure may be implemented as software (for example, a program) including one or more instructions stored in a storage medium (for example, the memory1030or a memory (not shown) of a server (not shown)) readable by a machine (for example, the cleaning robot10or the server communicable with the cleaning robot10). For example, a processor (for example, the processor1040or a processor (not shown) of the server) of the machine may call, from the storage medium, at least one instruction from among the stored one or more instructions and execute the at least one instruction. This enables the machine to operate to perform at least one function according to the called at least one instruction. The one or more instructions may include a code generated by a compiler or a code executable by an interpreter. The storage medium readable by the machine may be provided in a form of a non-transitory storage medium. Here, the term ‘non-transitory’ only means that the storage medium is not tangible and does not include a signal (for example, electromagnetic waves), and the term does not distinguish a case in which data is stored in the storage medium semi-permanently and a case in which the data is stored in the storage medium temporarily.

According to an embodiment of the disclosure, a method according to various embodiments of the disclosure may be provided by being included in a computer program product. The computer program product may be traded between a seller and a buyer as a product. The computer program product may be distributed in a form of a machine-readable storage medium (for example, a compact disc read-only memory (CD-ROM)) or distributed (for example, downloaded or uploaded) online through an application store (for example, Play Store™) or directly between two user devices (for example, smart phones). In case of online distribution, at least a portion of the computer program product may be stored at least temporarily or temporarily generated on a machine-readable storage medium, such as a server of a manufacturer, a server of an application store, or a memory of a relay server.

While the disclosure has been shown and described with reference to various embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the disclosure as defined by the appended claims and their equivalents.