Patent Description:
Artificial intelligence (AI) systems are computer systems for implementing human-level intelligence. Unlike general rule-based smart systems, the AI systems autonomously learn and make decisions, and get smarter. The more the AI systems are used, the more recognition rates of the AI systems increase and the more accurately the AI systems understand user preferences. As such, the general rule-based smart systems are increasingly replaced by deep-learning-based AI systems.

AI technology includes machine learning (or deep learning) and element technologies using machine learning.

Machine learning is an algorithm technology for autonomously classifying and learning features of input data, and element technologies are technologies for mimicking functions of human brains, e.g., cognition and decision, by using a machine learning algorithm such as deep learning, and include technological fields such as linguistic understanding, visual understanding, inference/prediction, knowledge expression, and operation control.

Various fields to which the AI technology is applicable are as follows. Linguistic understanding is a technology for recognizing and applying/processing verbal or written languages of people, and includes natural language processing, machine translation, dialogue systems, questions and answers, speech recognition/synthesis, etc. Visual understanding is a technology for recognizing and processing objects as in human views, and includes object recognition, object tracking, image search, human recognition, scene understanding, space understanding, image enhancement, etc. Inference/ prediction is a technology for determining and logically inferring and predicting information, and includes knowledge/probability-based inference, optimized prediction, preference-based planning, recommendation, etc. Knowledge expression is a technology for automating human experience information into knowledge data, and includes knowledge construction (e.g., data generation/classification), knowledge management (e.g., data utilization), etc. Operation control is a technology for controlling autonomous driving of vehicles and motion of robots, and includes motion control (e.g., steering, collision, or driving control), manipulation control (e.g., behavior control), etc..

Robotic cleaning apparatuses need to efficiently clean a cleaning space in various operation modes and environments, and thus a technology for appropriately determining a cleaning target area under various conditions is required.

<CIT> discloses a robot cleaner, and remote controlling system and method of the robot cleaner. A cleaning map may be created by searching for a region to be cleaned, and a contaminant degree map may be created by detecting a contamination material and a contaminant degree according to each position within the cleaning region. The cleaning map and the contaminant degree map with respect to the cleaning region may be received at a remote place through the terminal device. This may allow a user to easily check information on a cleaning state, a contamination state, etc. of the cleaning region, and to control the robot cleaner based on the checked information.

<CIT> discloses a robot cleaner with a real-time sensing function and a control method thereof to efficiently perform cleaning by calculating an optimum cleaning route. A robot cleaner with a real-time sensing function comprises sensors and a robot body. The sensors are installed on inner walls and a ceiling and sense the state of inside. Each sensor comprises a photographing unit, a wireless communication unit, and a controller. The photographing unit photographs the bottom of inside. The wireless communication unit wirelessly transmits the photographed image to the robot body. The controller controls the photographing unit and the wireless communication unit. The robot body calculates an optimum cleaning route and performs cleaning.

<CIT> discloses a method for controlling a robotic cleaner using the cooperative game theory. The method for controlling a robotic cleaner according to an embodiment of the present invention includes the steps of: receiving utility functions, which are determined based on cleaning environment data, from another robotic cleaner; determining an effective utility set based on the received utility functions; determining a negotiation solution related with a cleaning method based on conditions previously set in the effective utility set; and transferring a control data determined based on the negotiation solution to another robotic cleaner.

The above information is presented as background information only to assist with an understanding of the invention. No determination has been made, and no assertion is made, as to whether any of the above might be applicable as prior art with regard to the invention.

Aspects of the invention are to address at least the above-mentioned problems and/or disadvantages and to provide at least the advantages described below. Accordingly, an aspect of the invention is to provide a robotic cleaning system and method capable of generating contamination map data based on a contamination level of a cleaning space, per a time period, and using the contamination map data.

Another aspect of the invention is to provide a robotic cleaning system and method capable of determining a cleaning target area and a priority of the cleaning target area by using a learning model.

Another aspect of the invention is to provide a robotic cleaning system and method capable of efficiently controlling a robotic cleaning apparatus in a plurality of operation modes and environments by using contamination map data per a time period.

The above and other aspects, features, and advantages of certain embodiments of the invention will be more apparent from the following description taken in conjunction with the accompanying drawings, in which:.

In accordance with an aspect of the invention, a robotic cleaning apparatus for cleaning a cleaning space is provided. The robotic cleaning apparatus includes a communication interface, a memory storing one or more instructions, and at least one processor configured to execute the one or more instructions to control the robotic cleaning apparatus, execute the one or more instructions to acquire contamination data indicating a contamination level of the cleaning space, transmit map data of the cleaning space and the contamination data to a server, receive, from the server, contamination map data generated based on the contamination data and the map data, wherein the contamination map data is generated by the server based on another map data and another contamination map data received from another robotic cleaning apparatus, the contamination data, the map data, and wherein a similarity of the other map data and the map data is greater than a threshold value, determine at least one cleaning target area in the cleaning space, based on a current time and the contamination map data, determine a priority and a cleaning strength for the at least one cleaning target area and clean the determined at least one cleaning target area according to the determined priority and cleaning strength, wherein the contamination map data comprises: information indicating locations of contaminated areas in the cleaning space, contamination levels of the contaminated areas, and locations of objects in the cleaning space, and is stored for a predetermined time period.

In accordance with another aspect of the invention, a method, performed by a robotic cleaning apparatus, of cleaning a cleaning space is provided. The method includes acquiring contamination data indicating a contamination level of the cleaning space, transmitting map data of the cleaning space and the contamination data to a server, receiving, from the server, contamination map data generated based on the contamination data and the map data, wherein the contamination map data is generated by the server based on another map data and another contamination map data provided from another robotic cleaning apparatus, the contamination data, the map data, and wherein a similarity of the other map data and the map data is greater than a threshold value; determining at least one cleaning target area in the cleaning space, based on a current time and the contamination map data; determining a priority and a cleaning strength for the at least one cleaning target area; and cleaning the determined at least one cleaning target area according to the determined priority and cleaning strength, wherein the contamination map data comprises information indicating locations of contaminated areas in the cleaning space, contamination levels of the contaminated areas, and locations of objects in the cleaning space, and wherein the contamination map data is stored for a predetermined time period.

In accordance with another aspect of the invention, a non-transitory computer program product is provided. The non-transitory computer program product includes a computer-readable recording medium having recorded thereon a plurality of instructions that instruct at least one processor to perform the method above.

Other aspects, advantages, and salient features of the invention will become apparent to those skilled in the art from the following detailed description, which, taken in conjunction with the annexed drawings, discloses various embodiments of the invention.

The following description with reference to the accompanying drawings is provided to assist in a comprehensive understanding of various embodiments of the invention as defined by the claims and their equivalents. 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 invention.

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 invention. Accordingly, it should be apparent to those skilled in the art that the following description of various embodiments of the invention is provided for illustration purpose only and not for the purpose of limiting the invention as defined by the appended claims and their equivalents.

<FIG> is a schematic diagram of a cleaning system according to an embodiment of the invention.

Referring to <FIG>, the cleaning system according to an embodiment of the invention may include a robotic cleaning apparatus <NUM>, a server <NUM>, and at least one external device <NUM>.

The robotic cleaning apparatus <NUM> may clean a cleaning space while moving in the cleaning space. The cleaning space may be a space to be cleaned, e.g., a home or an office. The robotic cleaning apparatus <NUM> is a robotic apparatus capable of autonomously moving by using wheels or the like, and may perform a cleaning function while moving in the cleaning space.

The robotic cleaning apparatus <NUM> may collect contamination data about contamination in the cleaning space, generate contamination map data and determine a cleaning target area, based on the generated contamination map data.

The robotic cleaning apparatus <NUM> may predict contaminated regions in the cleaning space by using the contamination map data and determine a priority of and a cleaning strength for the cleaning target area considering the predicted contaminated regions. The contamination map data may include map information of the cleaning space and information indicating contaminated areas, and the robotic cleaning apparatus <NUM> may generate the contamination map data per a certain time period (e.g., a predetermined time period).

The robotic cleaning apparatus <NUM> may use at least one learning model to generate the contamination map data and determine the cleaning target area. The learning model may be operated by at least one of the robotic cleaning apparatus <NUM> or the server <NUM>.

The server <NUM> may generate the contamination map data and determine the cleaning target area in association with the robotic cleaning apparatus <NUM>. The server <NUM> may comprehensively manage a plurality of robotic cleaning apparatuses and a plurality of external devices <NUM>. The server <NUM> may use information collected from another robotic cleaning apparatus (not shown), contamination map data of another cleaning space, etc. to determine the contamination map data and the cleaning target area of the robotic cleaning apparatus <NUM>.

The external device <NUM> may generate contamination data about contamination in the cleaning space and data required to determine a status of the cleaning space and provide the generated data to the robotic cleaning apparatus <NUM> or the server <NUM>. The external device <NUM> may be installed in the cleaning space. The external device <NUM> may include, for example, a closed-circuit television (CCTV), a sensor, or a home appliance, but is not limited thereto.

A network is a comprehensive data communication network capable of enabling appropriate communication between network entities illustrated in <FIG>, e.g., a local area network (LAN), a wide area network (WAN), a value added network (VAN), a mobile radio communication network, a satellite communication network, or a combination thereof, and may include the wired Internet, the wireless Internet, and a mobile communication network. Wireless communication may include, for example, wireless local area network (WLAN) (or Wi-Fi) communication, Bluetooth communication, Bluetooth low energy (BLE) communication, Zigbee communication, Wi-Fi direct (WFD) communication, ultra-wideband (UWB) communication, Infrared Data Association (IrDA) communication, and near field communication (NFC), but is not limited thereto.

<FIG> is a flowchart of a method, performed by the robotic cleaning apparatus <NUM>, of determining a cleaning target area, based on contamination data, according to an embodiment of the invention.

In operation S200, the robotic cleaning apparatus <NUM> may acquire contamination data. The robotic cleaning apparatus <NUM> may generate contamination data of a cleaning space by using a camera and a sensor of the robotic cleaning apparatus <NUM>. The robotic cleaning apparatus <NUM> may generate image data indicating a contamination level of the cleaning space, by photographing the cleaning space with the camera while cleaning the cleaning space. The robotic cleaning apparatus <NUM> may generate sensing data indicating a dust quantity in the cleaning space, by sensing the cleaning space through a dust sensor while cleaning the cleaning space.

The robotic cleaning apparatus <NUM> may receive contamination data from the external device <NUM>. For example, a CCTV installed in the cleaning space may photograph the cleaning space and, when a motion of contaminating the cleaning space is detected, the CCTV may provide image data including the detected motion, to the robotic cleaning apparatus <NUM>. For example, a dust sensor installed in the cleaning space may provide sensing data about a dust quantity of the cleaning space to the robotic cleaning apparatus <NUM>.

The external device <NUM> may provide the contamination data generated by the external device <NUM>, to the server <NUM>, and the robotic cleaning apparatus <NUM> may receive the contamination data generated by the external device <NUM>, from the server <NUM>.

The contamination data may be used to determine a contaminated location and a contamination level of the cleaning space. For example, the contamination data includes information about a location where and a time when the contamination data is generated.

In operation S210, the robotic cleaning apparatus <NUM> may acquire contamination map data based on the contamination data. The robotic cleaning apparatus <NUM> may generate and update the contamination map data by using the acquired contamination data. The contamination map data may include a map of the cleaning space and information indicating locations and contamination levels of contaminated areas in the cleaning space. The contamination map data may be generated per a time period and indicate the locations and the contamination levels of the contaminated areas in the cleaning space, in each time period.

The robotic cleaning apparatus <NUM> may generate map data of the cleaning space by recognizing a location of the robotic cleaning apparatus <NUM> while moving. The robotic cleaning apparatus <NUM> may generate the contamination map data indicating the contaminated areas in the cleaning space, by using the contamination data and the map data.

The map data of the cleaning space may include, for example, data about at least one of a navigation map used to move while cleaning, a simultaneous localization and mapping (SLAM) map used for location recognition, or an obstacle recognition map including information about recognized obstacles.

The contamination map data may indicate, for example, locations of rooms and furniture in the cleaning space, and include information about the locations and the contamination levels of the contaminated areas in the cleaning space.

The robotic cleaning apparatus <NUM> may generate the contamination map data by, for example, applying the map data and the contamination data of the cleaning space to a learning model for generating the contamination map data.

Alternatively, the robotic cleaning apparatus <NUM> may request the contamination map data from the server <NUM>. In this case, the robotic cleaning apparatus <NUM> may provide the map data and the contamination data of the cleaning space to the server <NUM>, and the server <NUM> may generate the contamination map data by applying the map data and the contamination data of the cleaning space to the learning model for generating the contamination map data.

In operation S220, the robotic cleaning apparatus <NUM> may determine a cleaning target area, based on the contamination map data. The robotic cleaning apparatus <NUM> may predict the locations and the contamination levels of the contaminated areas in the cleaning space, based on the contamination map data and determine at least one cleaning target area, based on an operation mode and an apparatus state of the robotic cleaning apparatus <NUM>.

The robotic cleaning apparatus <NUM> may determine a priority of and a cleaning strength for the cleaning target area in the cleaning space considering the operation mode and the apparatus state of the robotic cleaning apparatus <NUM>. The robotic cleaning apparatus <NUM> may determine the cleaning strength of the robotic cleaning apparatus <NUM> by, for example, determining a speed and suction power of the robotic cleaning apparatus <NUM>. For example, at a high cleaning strength, the robotic cleaning apparatus <NUM> may strongly suck up dust while moving slowly. For example, at a low cleaning strength, the robotic cleaning apparatus <NUM> may weakly suck up dust while moving fast. For example, the robotic cleaning apparatus <NUM> may strongly suck up dust while moving fast, or weakly suck up dust while moving slowly.

The operation mode of the robotic cleaning apparatus <NUM> may include, for example, a normal mode, a quick mode, a power-saving mode, and a low-noise mode, but is not limited thereto. For example, when the operation mode of the robotic cleaning apparatus <NUM> is the quick mode, the robotic cleaning apparatus <NUM> may determine the cleaning target area and the priority of the cleaning target area considering an operating time of the robotic cleaning apparatus <NUM> to preferentially clean a seriously contaminated area within the operating time. For example, when the operation mode of the robotic cleaning apparatus <NUM> is the low-noise mode, the robotic cleaning apparatus <NUM> may determine the cleaning target area and the cleaning strength to clean a seriously contaminated area with low noise. For example, the robotic cleaning apparatus <NUM> may determine the cleaning target area and the priority of the cleaning target area considering a battery level of the robotic cleaning apparatus <NUM>.

The robotic cleaning apparatus <NUM> determines the cleaning target area by applying information about the robotic cleaning apparatus <NUM> and the cleaning space to a learning model for determining the cleaning target area. For example, the robotic cleaning apparatus <NUM> determines the cleaning target area, the priority of and the cleaning strength for the cleaning target area, etc. by inputting information about the operation mode of the robotic cleaning apparatus <NUM>, the apparatus state of the robotic cleaning apparatus <NUM>, and a motion of a user in the cleaning space, to the learning model for determining the cleaning target area.

In operation S230, the robotic cleaning apparatus <NUM> cleans the determined cleaning target area. The robotic cleaning apparatus <NUM> cleans the cleaning space according to the priority of and the cleaning strength for the cleaning target area. The robotic cleaning apparatus <NUM> collects contamination data about contamination of the cleaning space in real time while cleaning, and change the cleaning target area by reflecting the contamination data collected in real time.

<FIG> is a flowchart of a method, performed by the robotic cleaning apparatus <NUM>, of acquiring contamination data, according to an embodiment of the invention.

In operation S300, the robotic cleaning apparatus <NUM> may detect contamination by using a sensor of the robotic cleaning apparatus <NUM>. The robotic cleaning apparatus <NUM> may include, for example, an infrared sensor, an ultrasonic sensor, a radio frequency (RF) sensor, a geomagnetic sensor, a position sensitive device (PSD) sensor, and a dust sensor. The robotic cleaning apparatus <NUM> may detect a location and motion of the robotic cleaning apparatus <NUM> and determine locations and contamination levels of contaminated areas by using the sensors of the robotic cleaning apparatus <NUM> while cleaning. The robotic cleaning apparatus <NUM> may generate contamination data including information about the contamination levels measured in the contaminated areas and the locations of the contaminated areas. The robotic cleaning apparatus <NUM> may include, in the contamination data, information about a time when the contamination data is generated.

In operation S310, the robotic cleaning apparatus <NUM> may photograph the contaminated areas by using a camera of the robotic cleaning apparatus <NUM>. The robotic cleaning apparatus <NUM> may generate image data of contaminants by photographing the contaminated areas determined as having the contaminants, while cleaning. The robotic cleaning apparatus <NUM> may include, in the contamination data, information about a time when the contamination data is generated.

In operation S320, the robotic cleaning apparatus <NUM> may receive contamination data from the external device <NUM>. At least one external device <NUM> may be installed in a cleaning space to generate the contamination data. When contamination occurs in an area near a location where the external device <NUM> is installed, the external device <NUM> may generate and provide the contamination data to the robotic cleaning apparatus <NUM>. In this case, the robotic cleaning apparatus <NUM> may determine the location of the external device <NUM> in the cleaning space by communicating with the external device <NUM>. The robotic cleaning apparatus <NUM> may determine the location of the external device <NUM> in the cleaning space by determining the location of the robotic cleaning apparatus <NUM> in the cleaning space and a relative location between the robotic cleaning apparatus <NUM> and the external device <NUM>. Alternatively, the external device <NUM> may determine the location thereof in the cleaning space and provide information indicating the location of the external device <NUM>, to the robotic cleaning apparatus <NUM>.

The external device <NUM> may include, for example, a CCTV, an Internet protocol (IP) camera, an ultrasonic sensor, an infrared sensor, and a dust sensor. For example, when the external device <NUM> is a CCTV installed in the cleaning space, the CCTV may continuously photograph the cleaning space and, when a motion of contaminating the cleaning space is detected, the CCTV may provide video data or captured image data including the detected motion, to the robotic cleaning apparatus <NUM>. For example, when the external device <NUM> is a dust sensor installed in the cleaning space, the dust sensor may provide sensing data about a dust quantity of the cleaning space to the robotic cleaning apparatus <NUM> in real time or periodically. For example, when the external device <NUM> is a home appliance, the home appliance may provide information about an operating state thereof to the robotic cleaning apparatus <NUM> in real time or periodically. The external device <NUM> may include, in the contamination data, information about a time when the contamination data is generated.

In operation S330, the robotic cleaning apparatus <NUM> may acquire contamination map data. The robotic cleaning apparatus <NUM> may generate the contamination map data by analyzing the contamination data generated by the robotic cleaning apparatus <NUM> and the contamination data generated by the external device <NUM>. The contamination data may include information about the locations and the contamination levels of the contaminated areas in the cleaning space.

The robotic cleaning apparatus <NUM> may generate the contamination map data indicating a contaminated location and a contamination level in the cleaning space, by using map data of the cleaning space and the contamination data acquired in operations S300 to S320. The robotic cleaning apparatus <NUM> may generate the contamination map data per a time period.

The robotic cleaning apparatus <NUM> may generate the contamination map data by data about motion of the robotic cleaning apparatus <NUM> and the contamination data to a learning model for generating the contamination map data. In this case, the learning model for generating the contamination map data may be previously learned by the robotic cleaning apparatus <NUM> or the server <NUM>. Alternatively, for example, the robotic cleaning apparatus <NUM> may provide the data about motion of the robotic cleaning apparatus <NUM> and the contamination data to the server <NUM>, and the server <NUM> may apply the data about motion of the robotic cleaning apparatus <NUM> and the contamination data to the learning model for generating the contamination map data.

<FIG> is a flowchart of a method, performed by the robotic cleaning apparatus <NUM>, of determining a priority of and a cleaning strength for a cleaning target area considering an operation mode of the robotic cleaning apparatus <NUM>, according to an embodiment of the invention.

In operation S400, the robotic cleaning apparatus <NUM> may determine an operation mode of the robotic cleaning apparatus <NUM>. The robotic cleaning apparatus <NUM> may determine the operation mode of the robotic cleaning apparatus <NUM> considering an environment of a cleaning space, a current time, and an apparatus state of the robotic cleaning apparatus <NUM>. For example, the robotic cleaning apparatus <NUM> may determine the operation mode of the robotic cleaning apparatus <NUM> considering information about whether a user is present in the cleaning space, information about a motion of the user, a current time, a battery level of the robotic cleaning apparatus <NUM>, etc. In this case, the robotic cleaning apparatus <NUM> may determine the operation mode of the robotic cleaning apparatus <NUM> by collecting the information about whether a user is present in the cleaning space, the information about a motion of the user, the current time, and the battery level of the robotic cleaning apparatus <NUM> and analyzing the collected information.

The operation mode of the robotic cleaning apparatus <NUM> may include, for example, a normal mode, a quick mode, a power-saving mode, and a low-noise mode, but is not limited thereto. The operation mode of the robotic cleaning apparatus <NUM> will be described in detail below.

The robotic cleaning apparatus <NUM> may determine the operation mode of the robotic cleaning apparatus <NUM>, based on a user input.

In operation S410, the robotic cleaning apparatus <NUM> may determine a priority of and a cleaning strength for a cleaning target area, based on contamination map data and the operation mode. For example, when the operation mode is the quick mode, the robotic cleaning apparatus <NUM> may determine the cleaning target area, and the priority of and the cleaning strength for the cleaning target area to clean only a cleaning target area having a contamination level equal to or greater than a certain value. For example, when the operation mode is the low-noise mode, the robotic cleaning apparatus <NUM> may determine the cleaning target area, and the priority of and the cleaning strength for the cleaning target area to slowly clean a cleaning target area having a contamination level equal to or greater than a certain value, at a low cleaning strength.

Although the robotic cleaning apparatus <NUM> determines the cleaning target area, the priority of the cleaning target area, and the cleaning strength for the cleaning target area according to the operation mode in the above description, the invention is not limited thereto. The robotic cleaning apparatus <NUM> may not determine the operation mode of the robotic cleaning apparatus <NUM> and, in this case, the robotic cleaning apparatus <NUM> may determine the cleaning target area, and the priority of and the cleaning strength for the cleaning target area considering the environment of the cleaning space, the current time, and the apparatus state of the robotic cleaning apparatus <NUM>. The cleaning strength may be differently set per a cleaning target area.

The robotic cleaning apparatus <NUM> may determine the cleaning target area and the priority of and the cleaning strength for the cleaning target area by inputting information about the environment of the cleaning space, the current time, and the apparatus state of the robotic cleaning apparatus <NUM> to a learning model for determining the cleaning target area. In this case, the learning model for determining the cleaning target area may be previously learned by the robotic cleaning apparatus <NUM> or the server <NUM>. Alternatively, the robotic cleaning apparatus <NUM> may provide the information about the environment of the cleaning space, the current time, and the apparatus state of the robotic cleaning apparatus <NUM> to the server <NUM>, and the server <NUM> may input the information about the environment of the cleaning space, the current time, and the apparatus state of the robotic cleaning apparatus <NUM> to the learning model for determining the cleaning target area.

In operation S420, the robotic cleaning apparatus <NUM> may perform cleaning according to the determined priority and cleaning strength. The robotic cleaning apparatus <NUM> may clean the cleaning target area according to the priority of the cleaning target area at a different cleaning strength per a cleaning target area.

In operation S430, the robotic cleaning apparatus <NUM> may acquire real-time contamination data while cleaning. The robotic cleaning apparatus <NUM> may generate real-time contamination data by using a camera and a sensor of the robotic cleaning apparatus <NUM>. The robotic cleaning apparatus <NUM> may receive real-time contamination data generated by the external device <NUM>, from the external device <NUM>.

In operation S440, the robotic cleaning apparatus <NUM> may update the contamination map data. The robotic cleaning apparatus <NUM> may update the contamination map data by reflecting the real-time contamination data acquired in operation S430. In this case, the robotic cleaning apparatus <NUM> may reflect a time when the real-time contamination data is generated, to update the contamination map data.

In operation S450, the robotic cleaning apparatus <NUM> may change the cleaning target area, and the priority of and the cleaning strength for the cleaning target area. The robotic cleaning apparatus <NUM> may change the cleaning target area, and the priority of and the cleaning strength for the cleaning target area, which are determined in operation S410, considering the real-time contamination data acquired in operation S430.

Although the robotic cleaning apparatus <NUM> uses the learning model for generating the contamination map data and the learning model for determining the cleaning target area in <FIG>, respectively, the invention is not limited thereto. The robotic cleaning apparatus <NUM> may acquire data about the contamination map data and the cleaning target area by using a learning model for generating the contamination map data and determining the cleaning target area.

<FIG> is a flowchart of a method, performed by the robotic cleaning apparatus <NUM>, of determining an operation mode of the robotic cleaning apparatus <NUM>, according to an embodiment of the invention.

In operation S500, the robotic cleaning apparatus <NUM> may check a current time. In operation S510, the robotic cleaning apparatus <NUM> may check a battery level of the robotic cleaning apparatus <NUM>.

In operation S520, the robotic cleaning apparatus <NUM> may receive real-time data from a CCTV in a cleaning space. When motion of a user in the cleaning space is detected, the CCTV may provide image data obtained by photographing the motion of the user, to the robotic cleaning apparatus <NUM>. In addition, when the motion of the user in the cleaning space is detected, the CCTV may provide information indicating that the motion of the user is detected, to the robotic cleaning apparatus <NUM>.

In operation S530, the robotic cleaning apparatus <NUM> may determine and change an operation mode of the robotic cleaning apparatus <NUM>. The robotic cleaning apparatus <NUM> may determine and change the operation mode of the robotic cleaning apparatus <NUM> considering the current time, the battery level, and the real-time CCTV data.

For example, the robotic cleaning apparatus <NUM> may determine and change the operation mode considering the current time in such a manner that the robotic cleaning apparatus <NUM> operates in a low-noise mode at night. For example, the robotic cleaning apparatus <NUM> may determine and change the operation mode considering the battery level in such a manner that the robotic cleaning apparatus <NUM> operates in a power-saving mode when the battery level is equal to or less than a certain value. For example, when the user is present in the cleaning space, the robotic cleaning apparatus <NUM> may determine and change the operation mode in such a manner that the robotic cleaning apparatus <NUM> operates in a quick mode. For example, when the user is not present in the cleaning space, the robotic cleaning apparatus <NUM> may determine and change the operation mode in such a manner that the robotic cleaning apparatus <NUM> operates in a normal mode.

<FIG> is a schematic diagram showing contamination map data according to an embodiment of the invention.

Referring to <FIG>, the contamination map data may include information about a plan view of a cleaning space. For example, the cleaning space may be divided into a plurality of rooms, and the contamination map data may include information about locations of the rooms in the cleaning space, information about locations of furniture, information about locations of contaminated areas, and information about contamination levels of the contaminated areas. As indicated by reference numerals <NUM>, <NUM>, and <NUM> in <FIG>, the contamination map data may be differently generated per a time period.

<FIG> and <FIG> are flowcharts of methods, performed by the robotic cleaning apparatus <NUM>, of determining and changing a cleaning target area in association with the server <NUM>, according to various embodiments of the invention.

Referring to <FIG>, the server <NUM> may determine and change a cleaning target area by acquiring contamination data from the robotic cleaning apparatus <NUM>.

In operation S700, the robotic cleaning apparatus <NUM> may generate contamination data. In operation S705, the robotic cleaning apparatus <NUM> may receive contamination data from the external device <NUM>.

In operation S710, the robotic cleaning apparatus <NUM> may provide the generated contamination data and the received contamination data to the server <NUM>. The robotic cleaning apparatus <NUM> may provide the generated contamination data and the received contamination data to the server <NUM> in real time or periodically.

In operation S715, the server <NUM> may generate and update contamination map data. The server <NUM> may receive map data generated by the robotic cleaning apparatus <NUM>, from the robotic cleaning apparatus <NUM>. The server <NUM> may generate the contamination map data by analyzing the received map data and contamination data. For example, the server <NUM> may generate the contamination map data by applying the map data and the contamination data to a learning model for generating the contamination map data, but is not limited thereto.

The server <NUM> may generate the contamination map data by using other map data and other contamination map data of another cleaning space, which are received from another robotic cleaning apparatus (not shown). In this case, the other map data of the other cleaning space, which is used by the server <NUM>, may be similar to the map data of the cleaning space of the robotic cleaning apparatus <NUM> by a certain value or more. For example, when the other cleaning space and the cleaning space have similar space structures and similar furniture arrangements, the contamination map data of the other cleaning space may be used by the server <NUM>. To determine whether the other cleaning space is similar to the cleaning space, for example, the server <NUM> may determine whether users in the other cleaning space are similar to users in the cleaning space of the robotic cleaning apparatus <NUM>. In this case, information such as occupations, ages, and genders of the users may be used to determine similarity between the users.

In operation S720, the robotic cleaning apparatus <NUM> may provide information about an operation mode of the robotic cleaning apparatus <NUM> to the server <NUM>. The robotic cleaning apparatus <NUM> may determine the operation mode, based on a user input. Alternatively, the robotic cleaning apparatus <NUM> may determine the operation mode considering an environment of the cleaning space and a state of the robotic cleaning apparatus <NUM>.

In operation S725, the robotic cleaning apparatus <NUM> may provide information about an apparatus state of the robotic cleaning apparatus <NUM> to the server <NUM>. The robotic cleaning apparatus <NUM> may periodically transmit the information about the apparatus state of the robotic cleaning apparatus <NUM> to the server <NUM>, but is not limited thereto.

In operation S730, the server <NUM> may determine a cleaning target area. The server <NUM> may determine a location of the cleaning target area, a priority of the cleaning target area, and a cleaning strength for the cleaning target area. The server <NUM> may determine the location of the cleaning target area, the priority of the cleaning target area, and the cleaning strength for the cleaning target area considering the contamination map data, the operation mode of the robotic cleaning apparatus <NUM>, and the apparatus state of the robotic cleaning apparatus <NUM>. The cleaning strength may be determined by, for example, a speed and suction power of the robotic cleaning apparatus <NUM>.

The server <NUM> may determine the location of the cleaning target area, the priority of the cleaning target area, and the cleaning strength for the cleaning target area by applying the contamination map data and information about the operation mode of the robotic cleaning apparatus <NUM> and the apparatus state of the robotic cleaning apparatus <NUM> to a learning model for determining the cleaning target area.

In operation S735, the server <NUM> may provide information about the cleaning target area to the robotic cleaning apparatus <NUM>. In operation S740, the robotic cleaning apparatus <NUM> may perform a cleaning operation. The robotic cleaning apparatus <NUM> may perform cleaning, based on information about the location of the cleaning target area, the priority of the cleaning target area, and the cleaning strength for the cleaning target area, which is provided from the server <NUM>.

In operation S745, the robotic cleaning apparatus <NUM> may generate real-time contamination data. In operation S750, the robotic cleaning apparatus <NUM> may receive real-time contamination data from the external device <NUM>. In operation S755, the robotic cleaning apparatus <NUM> may provide the generated real-time contamination data and the received real-time contamination data to the server <NUM>.

In operation S760, the server <NUM> may change the cleaning target area, based on the real-time contamination data. The server <NUM> may change the cleaning target area by applying the real-time contamination data to the learning model for determining the cleaning target area.

In operation S765, the server <NUM> may provide information about the changed cleaning target area to the robotic cleaning apparatus <NUM>.

Referring to <FIG>, contamination data generated by the external device <NUM> (at operation S800) may be provided from the external device <NUM> to the server <NUM> (at operation S800).

In operation S805, the external device <NUM> may provide contamination data generated by the external device <NUM>, to the server <NUM>. In operation S850, the external device <NUM> may provide real-time contamination data generated by the external device <NUM>, to the server <NUM>. In this case, the server <NUM> may manage the robotic cleaning apparatus <NUM> and the external device <NUM> together by using an integrated ID of a user. Operations S815 to S845 and S855 to S865 are akin to corresponding operations S715 to S745 and S755 to S765 shown in <FIG>, and a detailed description thereof will be omitted. In brief, in operation S810, the robotic cleaning apparatus <NUM> may provide contamination data to the server <NUM>, in operation S815, the server <NUM> may generated and update the contamination data, in operation S820, the robotic cleaning apparatus <NUM> may provide an operation mode of the robotic cleaning apparatus to the server <NUM>, in operation S825, the robotic cleaning apparatus <NUM> may provide information related to the battery level of the robotic cleaning apparatus to the server <NUM>, in operation S830, the server may determine the cleaning target area based on the received information, in operation S835, the server <NUM> may provide information about the cleaning target area to the robotic cleaning apparatus, in operation S840, the robotic cleaning apparatus <NUM> may perform the cleaning operation of the cleaning target area, in operation S845, the robotic cleaning apparatus may generate real-time contamination data. , in operation S855, the robotic cleaning apparatus <NUM> provides real-time contamination data to the server <NUM>, in operation S860, based on the received real-time data, the server <NUM> may change the cleaning target area, and in operation S865, the server <NUM> may provide information about the changed cleaning target area to the robotic cleaning apparatus.

<FIG>, <FIG> are schematic diagrams showing examples in which a cleaning target area is determined using learning models, according to various embodiments of the invention.

Referring to <FIG>, for example, when contamination data of a cleaning space and map data of the cleaning space are applied to a first learning model, contamination map data of the cleaning space may be determined. In this case, the first learning model may be a learning model for generating the contamination map data of the cleaning space.

For example, when the contamination map data of the cleaning space, data about a status of the cleaning space, and data about an apparatus state of the robotic cleaning apparatus <NUM> are applied to a second learning model, a cleaning target area, and a priority of and a cleaning strength for the cleaning target area may be determined. In this case, the second learning model may be a learning model for determining the cleaning target area.

Referring to <FIG>, for example, when contamination data of a cleaning space, map data of the cleaning space, and contamination map data of another cleaning space are applied to a third learning model, contamination map data of the cleaning space may be determined. In this case, the third learning model may be a learning model for generating the contamination map data of the cleaning space.

For example, when the contamination map data of the cleaning space, data about a status of the cleaning space, and data about an apparatus state of the robotic cleaning apparatus <NUM> are applied to a fourth learning model, an operation mode of the robotic cleaning apparatus <NUM>, a cleaning target area, and a priority of and a cleaning strength for the cleaning target area may be determined. In this case, the fourth learning model may be a learning model for determining the operation mode of the robotic cleaning apparatus <NUM> and the cleaning target area.

Referring to <FIG>, for example, when contamination data of a cleaning space, map data of the cleaning space, contamination map data of another cleaning space, data about a status of the cleaning space, and data about an apparatus state of the robotic cleaning apparatus <NUM> are applied to a fifth learning model, contamination map data of the cleaning space, an operation mode of the robotic cleaning apparatus <NUM>, a cleaning target area, and a priority of and a cleaning strength for the cleaning target area may be determined. In this case, the fifth learning model may be a learning model for determining the contamination map data of the cleaning space, the operation mode of the robotic cleaning apparatus <NUM>, and the cleaning target area.

Referring to <FIG>, for example, when contamination data of a cleaning space, map data of the cleaning space, contamination map data of another cleaning space, data about a status of the cleaning space, data about an apparatus state of the robotic cleaning apparatus <NUM>, and schedule information of a user are applied to a sixth learning model, a cleaning target area, and a priority of and a cleaning strength for the cleaning target area may be determined. In this case, the sixth learning model may be a learning model for determining the cleaning target area.

Although the contamination map data of the cleaning space, the operation mode of the robotic cleaning apparatus <NUM>, and the cleaning target area are determined using various types of learning models in <FIG>, the invention is not limited thereto. Learning models different in types and numbers from those illustrated in <FIG> may be used to determine the contamination map data of the cleaning space, the operation mode of the robotic cleaning apparatus <NUM>, and the cleaning target area. Different and various types of information may be input to the learning models.

<FIG> is a table for describing operation modes of the robotic cleaning apparatus <NUM>, according to an embodiment of the invention.

Referring to <FIG>, the operation modes of the robotic cleaning apparatus <NUM> may include, for example, a normal mode, a quick mode, a low-noise mode, and a power-saving mode. The normal mode may be an operation mode for normal cleaning.

The quick mode may be an operation mode for quick cleaning. In the quick mode, the robotic cleaning apparatus <NUM> may clean only a contaminated area having a contamination level equal to or greater than a certain value, with high suction power while moving at a high speed. When an operating time is set by a user, the robotic cleaning apparatus <NUM> may determine a cleaning target area to quickly complete cleaning within the set operating time.

The low-noise mode may be an operation mode for minimizing noise. When a user is present in a cleaning space or at night, the robotic cleaning apparatus <NUM> may perform cleaning in the low-noise mode. In this case, the robotic cleaning apparatus <NUM> may perform cleaning with low suction power while moving at a low speed.

The power-saving mode may be an operation mode for reducing battery consumption. When the robotic cleaning apparatus <NUM> has a low battery level, the robotic cleaning apparatus <NUM> may operate with a low power consumption and determine a cleaning target area considering the battery level.

The above-described operation modes of the robotic cleaning apparatus <NUM> are merely examples, and the operation modes of the robotic cleaning apparatus <NUM> are not limited thereto. The robotic cleaning apparatus <NUM> may operate in operation modes different from the above-described operation modes and perform cleaning by using a combination of two or more operation modes. The operation mode of the robotic cleaning apparatus <NUM> may not be set in a simple manner. For example, the robotic cleaning apparatus <NUM> may operate by continuously setting and changing weights for quick cleaning, low-noise cleaning, and save cleaning.

<FIG> is a schematic diagram of a cleaning system according to another embodiment of the invention.

Referring to <FIG>, the cleaning system according to another embodiment of the invention may include the robotic cleaning apparatus <NUM>, the server <NUM>, at least one external device <NUM>, and a mobile device <NUM>.

The mobile device <NUM> may communicate with the robotic cleaning apparatus <NUM>, the server <NUM>, and the at least one external device <NUM> through a network. The mobile device <NUM> may perform some of the functions of the robotic cleaning apparatus <NUM>, which are described above in relation to <FIG>. For example, the mobile device <NUM> may display a graphical user interface (GUI) for controlling the robotic cleaning apparatus <NUM>, and a map showing a contamination level of a cleaning space, on a screen of the mobile device <NUM>. For example, the mobile device <NUM> may receive information about a state of the robotic cleaning apparatus <NUM> and a status of the cleaning space from the robotic cleaning apparatus <NUM>, and use a learning model to determine how to clean the cleaning space. The mobile device <NUM> may use at least one learning model to generate contamination map data and determine a cleaning target area. In this case, the mobile device <NUM> may perform operations of the robotic cleaning apparatus <NUM>, as described below with reference to <FIG>.

The mobile device <NUM> may include, for example, a display (not shown), a communication interface (not shown) used to communicate with an external device, a memory (not shown) storing one or more instructions, at least one sensor (not shown), and a processor (not shown) executing the instructions stored in the memory. The processor of the mobile device <NUM> may control operations of the other elements of the mobile device <NUM> by executing the instructions stored in the memory.

<FIG> are schematic diagrams showing an example in which the mobile device <NUM> controls the robotic cleaning apparatus <NUM> to operate in a certain operation mode, according to an embodiment of the invention.

Referring to <FIG>, the mobile device <NUM> may receive contamination map data from the robotic cleaning apparatus <NUM> and display the received contamination map data on a screen of the mobile device <NUM>. For example, the mobile device <NUM> may display the contamination map data indicating a current contamination level of a home, and a GUI for determining whether to start cleaning by using the robotic cleaning apparatus <NUM>, on the screen.

Referring to <FIG>, the mobile device <NUM> may display a GUI for selecting an operation mode of the robotic cleaning apparatus <NUM>, on the screen. The mobile device <NUM> may display a list of operation modes of the robotic cleaning apparatus <NUM>. For example, the mobile device <NUM> may display an operation mode list including a normal mode, a low-noise mode, a quick mode, and a power-saving mode, and receive a user input for selecting the quick mode. The mobile device <NUM> may request the robotic cleaning apparatus <NUM> to perform cleaning in the quick mode.

Referring to <FIG>, the mobile device <NUM> may display a GUI showing a result of cleaning performed using the robotic cleaning apparatus <NUM>. For example, the robotic cleaning apparatus <NUM> may clean a cleaning space in the quick mode according to the request of the mobile device <NUM>. For example, the robotic cleaning apparatus <NUM> may clean an extremely contaminated area and a highly contaminated area of the cleaning space in the quick mode and provide contamination map data indicating a result of cleaning, to the mobile device <NUM>. As such, the mobile device <NUM> may display the contamination map data indicating the result of cleaning. The mobile device <NUM> may display a GUI for determining whether to schedule a cleaning using the robotic cleaning apparatus <NUM>.

<FIG> is a block diagram of the robotic cleaning apparatus <NUM> according to an embodiment of the invention.

Referring to <FIG>, the robotic cleaning apparatus <NUM> according to an embodiment of the invention may include a user inputter <NUM>, a communication unit <NUM>, a memory <NUM>, a camera <NUM>, a mover <NUM>, an outputter <NUM>, a sensor unit <NUM>, and a processor <NUM>, and the outputter <NUM> may include a speaker <NUM> and a display <NUM>.

The user inputter <NUM> may receive user inputs for controlling operations of the robotic cleaning apparatus <NUM>. For example, the user inputter <NUM> may include, for example, a key pad, a dome switch, a touchpad (e.g., a capacitive overlay, resistive overlay, infrared beam, surface acoustic wave, integral strain gauge, or piezoelectric touchpad), a jog wheel, and a jog switch, but is not limited thereto.

The communication unit <NUM> may include one or more communication modules for communicating with the server <NUM> and the external device <NUM>. For example, the communication unit <NUM> may include a short-range wireless communication unit and a mobile communication unit. The short-range wireless communication unit may include, for example, a Bluetooth communication unit, a BLE communication unit, an NFC unit, a WLAN (or Wi-Fi) communication unit, a Zigbee communication unit, an IrDA communication unit, a WFD communication unit, a UWB communication unit, or an Ant+ communication unit, but is not limited thereto. The mobile communication unit transmits and receives radio signals to and from at least one of a base station, an external terminal, or a server in a mobile communication network. Herein, the radio signals may include voice call signals, video call signals, or various types of data due to transception of text/multimedia messages.

The memory <NUM> may store programs for controlling operations of the robotic cleaning apparatus <NUM>. The memory <NUM> may include at least one instruction for controlling operations of the robotic cleaning apparatus <NUM>. The memory <NUM> may store, for example, map data, contamination data, contamination map data, and data about a cleaning target area. The memory <NUM> may store, for example, a learning model for generating the contamination map data, and a learning model for determining the cleaning target area. The programs stored in the memory <NUM> may be classified into a plurality of modules according to functions thereof.

The memory <NUM> may include at least one type of storage medium among flash memory, a hard disk, a multimedia card micro, card-type memory (e.g., secure digital (SD) or extreme digital (XD) memory), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable ROM (EEPROM), programmable ROM (PROM), magnetic memory, a magnetic disc, and an optical disc.

The camera <NUM> may photograph an ambient environment of the robotic cleaning apparatus <NUM>. The camera <NUM> may photograph the ambient environment of the robotic cleaning apparatus <NUM> or a floor while the robotic cleaning apparatus <NUM> is performing cleaning.

The mover <NUM> may include at least one driving wheel for moving the robotic cleaning apparatus <NUM>. The mover <NUM> may include a driving motor connected to the driving wheel to rotate the driving wheel. The driving wheel may include a left wheel and a right wheel respectively provided at a left side and a right side of a main body of the robotic cleaning apparatus <NUM>. The left and right wheels may be driven by a single driving motor, or a left wheel driving motor for driving the left wheel and a right wheel driving motor for driving the right wheel may be separately used when needed. In this case, the robotic cleaning apparatus <NUM> may be steered to a left side or a right side by rotating the left and right wheels at different speeds.

The outputter <NUM> may output an audio signal or a video signal. The outputter <NUM> may include the speaker <NUM> and the display <NUM>. The speaker <NUM> may output audio data received from the communication unit <NUM> or stored in the memory <NUM>. The speaker <NUM> may output a sound signal (e.g., call signal reception sound, message reception sound, or notification sound) related to a function performed by the robotic cleaning apparatus <NUM>.

The display <NUM> displays information processed by the robotic cleaning apparatus <NUM>. For example, the display <NUM> may display a user interface for controlling the robotic cleaning apparatus <NUM> or a user interface indicating a state of the robotic cleaning apparatus <NUM>.

When the display <NUM> and a touchpad are layered to configure a touchscreen, the display <NUM> may be used not only as an output device but also as an input device.

The sensor unit <NUM> may include at least one sensor for sensing data about an operation and a state of the robotic cleaning apparatus <NUM>, and data about contamination of a cleaning space. The sensor unit <NUM> may include, for example, at least one of an infrared sensor, an ultrasonic sensor, an RF sensor, a geomagnetic sensor, or a PSD sensor.

The sensor unit <NUM> may detect a contaminated area near the robotic cleaning apparatus <NUM> and detect a contamination level. The sensor unit <NUM> may detect an obstacle near the robotic cleaning apparatus <NUM>, or detect whether a cliff is present near the robotic cleaning apparatus <NUM>.

The sensor unit <NUM> may further include an operation detection sensor for detecting operations of the robotic cleaning apparatus <NUM>. For example, the sensor unit <NUM> may include a gyro sensor, a wheel sensor, and an acceleration sensor.

The gyro sensor may detect a rotation direction and a rotation angle when the robotic cleaning apparatus <NUM> moves. The wheel sensor may be connected to the left and right wheels to detect the number of revolutions of each wheel. For example, the wheel sensor may be a rotary encoder but is not limited thereto.

The processor <NUM> may generally control overall operations of the robotic cleaning apparatus <NUM>. For example, the processor <NUM> may control the user inputter <NUM>, the communication unit <NUM>, the memory <NUM>, the camera <NUM>, the mover <NUM>, the outputter <NUM>, and the sensor unit <NUM> by executing the programs stored in the memory <NUM>. The processor <NUM> may control the operations of the robotic cleaning apparatus <NUM>, which are described above in relation to <FIG>, by controlling the user inputter <NUM>, the communication unit <NUM>, the memory <NUM>, the camera <NUM>, the mover <NUM>, the outputter <NUM>, and the sensor unit <NUM>.

The processor <NUM> may acquire contamination data. The processor <NUM> may generate contamination data of the cleaning space by using a camera and a sensor of the robotic cleaning apparatus <NUM>. The processor <NUM> may generate image data indicating a contamination level of the cleaning space, by photographing the cleaning space with the camera while cleaning the cleaning space. The processor <NUM> may generate sensing data indicating a dust quantity in the cleaning space, by sensing the cleaning space through a dust sensor while cleaning the cleaning space.

The processor <NUM> may receive contamination data from the external device <NUM>. The external device <NUM> may provide the contamination data generated by the external device <NUM>, to the server <NUM>, and the processor <NUM> may receive the contamination data generated by the external device <NUM>, from the server <NUM>.

The processor <NUM> may acquire contamination map data based on the contamination data. The processor <NUM> may generate and update the contamination map data by using the acquired contamination data. The contamination map data may include a map of the cleaning space and information indicating locations and contamination levels of contaminated areas in the cleaning space. The contamination map data may be generated per a time period and indicate the locations and the contamination levels of the contaminated areas in the cleaning space, in each time period.

The processor <NUM> may generate map data of the cleaning space by recognizing a location of the robotic cleaning apparatus <NUM> while moving. The processor <NUM> may generate the contamination map data indicating the contaminated areas in the cleaning space, by using the contamination data and the map data.

The processor <NUM> may generate the contamination map data by, for example, applying the map data and the contamination data of the cleaning space to the learning model for generating the contamination map data.

Alternatively, the processor <NUM> may request the contamination map data from the server <NUM>. In this case, the processor <NUM> may provide the map data and the contamination data of the cleaning space to the server <NUM>, and the server <NUM> may generate the contamination map data by applying the map data and the contamination data of the cleaning space to the learning model for generating the contamination map data.

The processor <NUM> may determine a cleaning target area, based on the contamination map data. The processor <NUM> may predict the locations and the contamination levels of the contaminated areas in the cleaning space, based on the contamination map data, and determine at least one cleaning target area, based on an operation mode and an apparatus state of the robotic cleaning apparatus <NUM>.

The processor <NUM> may determine a priority of and a cleaning strength for the cleaning target area in the cleaning space considering the operation mode and the apparatus state of the robotic cleaning apparatus <NUM>. The processor <NUM> may determine the cleaning strength of the robotic cleaning apparatus <NUM> by, for example, determining a speed and suction power of the robotic cleaning apparatus <NUM>.

The processor <NUM> may determine the cleaning target area by applying information about the robotic cleaning apparatus <NUM> and the cleaning space to the learning model for determining the cleaning target area. For example, the processor <NUM> may determine the cleaning target area, and the priority of and the cleaning strength for the cleaning target area by inputting information about the operation mode of the robotic cleaning apparatus <NUM>, the apparatus state of the robotic cleaning apparatus <NUM>, and a motion of a user in the cleaning space, to the learning model for determining the cleaning target area.

The processor <NUM> may clean the determined cleaning target area. The processor <NUM> may clean the cleaning space according to the priority of and the cleaning strength for the cleaning target area. The processor <NUM> may collect contamination data about contamination of the cleaning space in real time while cleaning, and change the cleaning target area by reflecting the contamination data collected in real time.

<FIG> is a block diagram of the server <NUM> according to an embodiment of the invention.

Referring to <FIG>, the server <NUM> according to an embodiment of the invention may include a communication unit <NUM>, a storage <NUM>, and a processor <NUM>.

The communication unit <NUM> may include one or more communication modules for communicating with the robotic cleaning apparatus <NUM> and the external device <NUM>. For example, the communication unit <NUM> may include a short-range wireless communication unit and a mobile communication unit. The short-range wireless communication unit may include, for example, a Bluetooth communication unit, a BLE communication unit, an NFC unit, a WLAN (or Wi-Fi) communication unit, a Zigbee communication unit, an IrDA communication unit, a WFD communication unit, a UWB communication unit, or an Ant+ communication unit, but is not limited thereto. The mobile communication unit transmits and receives radio signals to and from at least one of a base station, an external terminal, or a server in a mobile communication network. Herein, the radio signals may include voice call signals, video call signals, or various types of data due to transception of text/multimedia messages.

The storage <NUM> may store programs for controlling operations of the server <NUM>. The storage <NUM> may include at least one instruction for controlling operations of the server <NUM>. The storage <NUM> may store, for example, map data, contamination data, contamination map data, and data about a cleaning target area. The storage <NUM> may store, for example, a learning model for generating the contamination map data, and a learning model for determining the cleaning target area. The programs stored in the storage <NUM> may be classified into a plurality of modules according to functions thereof.

The storage <NUM> may include a plurality of databases (DBs) to comprehensively manage, for example, user identifiers (IDs) of a plurality of users, contamination map data of a plurality of robotic cleaning apparatuses, and sensing data of a plurality of external devices.

The processor <NUM> may generally control overall operations of the server <NUM>. For example, the processor <NUM> may control the communication unit <NUM> and the storage <NUM> by executing the programs stored in the storage <NUM>. The processor <NUM> may control the operations of the server <NUM>, which are described above in relation to <FIG>, by controlling the communication unit <NUM> and the storage <NUM>.

The processor <NUM> may receive contamination data from at least one of the robotic cleaning apparatus <NUM> or the external device <NUM>. The processor <NUM> may receive the contamination data from at least one of the robotic cleaning apparatus <NUM> or the external device <NUM> in real time or periodically.

The processor <NUM> may generate and update contamination map data. The processor <NUM> may receive map data generated by the robotic cleaning apparatus <NUM>, from the robotic cleaning apparatus <NUM>. The processor <NUM> may generate the contamination map data by analyzing the received map data and contamination data. For example, the processor <NUM> may generate the contamination map data by applying the map data and the contamination data to the learning model for generating the contamination map data, but is not limited thereto.

The processor <NUM> may generate the contamination map data by using other map data and other contamination map data of another cleaning space, which are received from another robotic cleaning apparatus (not shown). In this case, the other map data of the other cleaning space, which is used by the processor <NUM>, may be similar to the map data of the cleaning space of the robotic cleaning apparatus <NUM> by a certain value or more. For example, when the other cleaning space and the cleaning space have similar space structures and similar furniture arrangements, the contamination map data of the other cleaning space may be used by the processor <NUM>. To determine whether the other cleaning space is similar to the cleaning space, for example, the processor <NUM> may determine whether users in the other cleaning space are similar to users in the cleaning space of the robotic cleaning apparatus <NUM>. In this case, information such as occupations, ages, and genders of the users may be used to determine similarity between the users.

The processor <NUM> may receive information about an operation mode of the robotic cleaning apparatus <NUM> from the robotic cleaning apparatus <NUM>. The processor <NUM> may receive information about an apparatus state of the robotic cleaning apparatus <NUM> from the robotic cleaning apparatus <NUM>.

The processor <NUM> may determine a cleaning target area. The processor <NUM> may determine a location of the cleaning target area, a priority of the cleaning target area, and a cleaning strength for the cleaning target area. The processor <NUM> may determine the location of the cleaning target area, the priority of the cleaning target area, and the cleaning strength for the cleaning target area considering the contamination map data, the operation mode of the robotic cleaning apparatus <NUM>, and the apparatus state of the robotic cleaning apparatus <NUM>. The cleaning strength may be determined by, for example, a speed and suction power of the robotic cleaning apparatus <NUM>.

The processor <NUM> may determine the location of the cleaning target area, the priority of the cleaning target area, and the cleaning strength for the cleaning target area by applying the contamination map data and information about the operation mode of the robotic cleaning apparatus <NUM> and the apparatus state of the robotic cleaning apparatus <NUM> to the learning model for determining the cleaning target area.

The processor <NUM> may receive real-time contamination data from at least one of the robotic cleaning apparatus <NUM> or the external device <NUM>. The processor <NUM> may change the cleaning target area, based on the real-time contamination data. The processor <NUM> may change the cleaning target area by applying the real-time contamination data to the learning model for determining the cleaning target area. The processor <NUM> may provide information about the changed cleaning target area to the robotic cleaning apparatus <NUM>.

The processor <NUM> may manage the robotic cleaning apparatus <NUM> and the external device <NUM> together by using an integrated ID of a user.

<FIG> is a block diagram of the processor <NUM> according to an embodiment of the invention.

Referring to <FIG>, the processor <NUM> according to an embodiment of the invention may include a data learner <NUM> and a data recognizer <NUM>.

The data learner <NUM> may learn criteria for at least one of generation of contamination map data, determination of a cleaning target area, or determination of an operation mode of the robotic cleaning apparatus <NUM>. The data learner <NUM> may learn which data is used for decision of at least one of the generation of the contamination map data, the determination of the cleaning target area, or the determination of the operation mode of the robotic cleaning apparatus <NUM>, and learn criteria about how to decide at least one of the generation of the contamination map data, the determination of the cleaning target area, or the determination of the operation mode of the robotic cleaning apparatus <NUM> by using the data. The data learner <NUM> may learn the criteria for at least one of the generation of the contamination map data, the determination of the cleaning target area, or the determination of the operation mode of the robotic cleaning apparatus <NUM> by acquiring data to be used for learning and applying the acquired data to a data recognition model to be described below.

The data recognizer <NUM> may decide at least one of the generation of the contamination map data, the determination of the cleaning target area, or the determination of the operation mode of the robotic cleaning apparatus <NUM>, based on data. The data recognizer <NUM> may perform at least one of the generation of the contamination map data, the determination of the cleaning target area, or the determination of the operation mode of the robotic cleaning apparatus <NUM> by using certain data and a learned data recognition model. The data recognizer <NUM> may perform at least one of the generation of the contamination map data, the determination of the cleaning target area, or the determination of the operation mode of the robotic cleaning apparatus <NUM> by acquiring the certain data according to the learned preset criteria and using the acquired data as an input value of the data recognition model. A resultant value output from the data recognition model by using the acquired data as an input value may be used to update the data recognition model.

At least one of the data learner <NUM> or the data recognizer <NUM> may be produced in the form of at least one hardware chip and be mounted in an electronic apparatus. For example, at least one of the data learner <NUM> or the data recognizer <NUM> may be produced in the form of an exclusive hardware chip for artificial intelligence (AI), or as a part of a general-use processor (e.g., a central processing unit (CPU) or an application processor) or a dedicated graphics processor (e.g., a graphics processing unit (GPU)), and be mounted in various electronic apparatuses.

In this case, the data learner <NUM> and the data recognizer <NUM> may be mounted together in one electronic apparatus or mounted separately in different electronic apparatuses. For example, one of the data learner <NUM> and the data recognizer <NUM> may be included in an electronic apparatus, and the other may be included in a server. In a wired or wireless manner, model information constructed by the data learner <NUM> may be provided to the data recognizer <NUM> and data input to the data recognizer <NUM> may be provided to the data learner <NUM> as additional training data.

At least one of the data learner <NUM> or the data recognizer <NUM> may be implemented as a software module. When at least one of the data learner <NUM> or the data recognizer <NUM> is implemented as a 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, one or more software modules may be provided by an operating system (OS) or a certain application. Alternatively, some of the one or more software modules may be provided by the OS and the others may be provided by the certain application.

<FIG> is a block diagram of the data learner <NUM> according to an embodiment of the invention.

Referring to <FIG>, the data learner <NUM> according to an embodiment of the invention may include a data acquirer <NUM>-<NUM>, a pre-processor <NUM>-<NUM>, a training data selector <NUM>-<NUM>, a model learner <NUM>-<NUM>, and a model evaluator <NUM>-<NUM>.

The data acquirer <NUM>-<NUM> may acquire data required for at least one of generation of contamination map data, determination of a cleaning target area, or determination of an operation mode of the robotic cleaning apparatus <NUM>. The data acquirer <NUM>-<NUM> may acquire data required for learning for at least one of the generation of the contamination map data, the determination of the cleaning target area, or the determination of the operation mode of the robotic cleaning apparatus <NUM>.

For example, at least one of an image captured by the robotic cleaning apparatus <NUM>, sensing data sensed by the robotic cleaning apparatus <NUM>, an image captured by the external device <NUM>, sensing data sensed by the external device <NUM>, map data of a cleaning space, contamination map data of another cleaning space, information about a status of the cleaning space, or information about a state of the robotic cleaning apparatus <NUM> may be acquired for the learning. However, the data acquired for the learning is not limited thereto and, for example, data inputable to the learning models of <FIG> may be acquired for the learning.

The pre-processor <NUM>-<NUM> may pre-process the acquired data to be usable for the learning for at least one of the generation of the contamination map data, the determination of the cleaning target area, or the determination of the operation mode of the robotic cleaning apparatus <NUM>. The pre-processor <NUM>-<NUM> may process the acquired data to a preset format in such a manner that the model learner <NUM>-<NUM> to be described below may use the acquired data for the learning for at least one of the generation of the contamination map data, the determination of the cleaning target area, or the determination of the operation mode of the robotic cleaning apparatus <NUM>.

The training data selector <NUM>-<NUM> may select data required for the learning, from the pre-processed data. The selected data may be provided to the model learner <NUM>-<NUM>. The training data selector <NUM>-<NUM> may select the data required for the learning, from the pre-processed data according to preset criteria for at least one of the generation of the contamination map data, the determination of the cleaning target area, or the determination of the operation mode of the robotic cleaning apparatus <NUM>. The training data selector <NUM>-<NUM> may select the data according to preset criteria learned by the model learner <NUM>-<NUM> to be described below.

The model learner <NUM>-<NUM> may learn criteria for at least one of the generation of the contamination map data, the determination of the cleaning target area, or the determination of the operation mode of the robotic cleaning apparatus <NUM>, based on training data. The model learner <NUM>-<NUM> may learn criteria about which training data needs to be used for at least one of the generation of the contamination map data, the determination of the cleaning target area, or the determination of the operation mode of the robotic cleaning apparatus <NUM>.

The model learner <NUM>-<NUM> may learn a data recognition model used for at least one of the generation of the contamination map data, the determination of the cleaning target area, or the determination of the operation mode of the robotic cleaning apparatus <NUM> by using training data. In this case, the data recognition model may be a previously constructed model. For example, the data recognition model may be a model previously constructed by receiving basic training data.

The data recognition model may be constructed considering an applicable field of the recognition model, the purpose of learning, or the computer performance of an apparatus, or the like. The data recognition model may be, for example, a model based on a neural network. For example, a model based on a deep neural network (DNN), a recurrent neural network (RNN), or a bidirectional recurrent deep neural network (BRDNN) may be used as the data recognition model. However, the data recognition model is not limited thereto.

According to various embodiments of the invention, when a plurality of previously constructed data recognition models are present, the model learner <NUM>-<NUM> may determine a data recognition model highly relevant to the input training data and the basic training data, as a data recognition model to be learned. In this case, the basic training data may be previously classified according to data types, and the data recognition models may be previously constructed according to data types. For example, the basic training data may be previously classified according to various criteria, e.g., regions where the training data is generated, times when the training data is generated, sizes of the training data, genres of the training data, creators of the training data, and types of objects in the training data.

The model learner <NUM>-<NUM> may learn the data recognition model by, for example, using a learning algorithm including error back-propagation or gradient descent.

The model learner <NUM>-<NUM> may learn the data recognition model through, for example, supervised learning using training data as an input value. The model learner <NUM>-<NUM> may learn the data recognition model through, for example, unsupervised learning for finding criteria for determining a situation, by autonomously learning types of data required to determine the situation without any supervision. The model learner <NUM>-<NUM> may learn the data recognition model through, for example, reinforcement learning using feedback on whether a result of determining the situation through learning is correct.

When the data recognition model is learned, the model learner <NUM>-<NUM> may store the learned data recognition model. In this case, the model learner <NUM>-<NUM> may store the learned data recognition model in memory of an electronic apparatus including the data recognizer <NUM>. Specifically, the model learner <NUM>-<NUM> may store the learned data recognition model in memory of an electronic apparatus including the data recognizer <NUM> to be described below. Alternatively, the model learner <NUM>-<NUM> may store the learned data recognition model in memory of a server connected to an electronic apparatus in a wired or wireless network.

In this case, the memory storing the learned data recognition model may also store, for example, commands or data related to at least one other element of the electronic apparatus. The memory may also store software and/or programs. The programs may include, for example, a kernel, middleware, application programming interfaces (APIs), and/or application programs (or "applications").

The model evaluator <NUM>-<NUM> may input evaluation data to the data recognition model and, when recognition results output using the evaluation data do not satisfy a certain criterion, the model evaluator <NUM>-<NUM> may request the model learner <NUM>-<NUM> to learn again. In this case, the evaluation data may be preset data for evaluating the data recognition model.

For example, when the number or a ratio of pieces of evaluation data corresponding to incorrect recognition results among the recognition results of the learned data recognition model for the evaluation data exceeds a preset threshold value, the model evaluator <NUM>-<NUM> may evaluate that the certain criterion is not satisfied. For example, assuming that the certain criterion is defined a ratio of <NUM>%, when the learned data recognition model outputs wrong recognition results for more than <NUM> pieces of evaluation data out of a total of <NUM>,<NUM> pieces of evaluation data, the model evaluator <NUM>-<NUM> may evaluate that the learned data recognition model is not appropriate.

When a plurality of learned data recognition models are present, the model evaluator <NUM>-<NUM> may evaluate whether each of the learned data recognition models satisfies the certain criterion and determine a model satisfying the certain criterion, as a final data recognition model. In this case, when a plurality of models satisfy the certain criterion, the model evaluator <NUM>-<NUM> may determine a preset model or a certain number of models selected in the order of evaluation scores, as a final data recognition model(s).

At least one of the data acquirer <NUM>-<NUM>, the pre-processor <NUM>-<NUM>, the training data selector <NUM>-<NUM>, the model learner <NUM>-<NUM>, or the model evaluator <NUM>-<NUM> in the data learner <NUM> may be produced in the form of at least one hardware chip and be mounted in an electronic apparatus. For example, at least one of the data acquirer <NUM>-<NUM>, the pre-processor <NUM>-<NUM>, the training data selector <NUM>-<NUM>, the model learner <NUM>-<NUM>, or the model evaluator <NUM>-<NUM> may be produced in the form of an exclusive hardware chip for AI, or as a part of a general-use processor (e.g., a CPU or an application processor) or a dedicated graphics processor (e.g., a GPU), and be mounted in various electronic apparatuses.

The data acquirer <NUM>-<NUM>, the pre-processor <NUM>-<NUM>, the training data selector <NUM>-<NUM>, the model learner <NUM>-<NUM>, and the model evaluator <NUM>-<NUM> may be mounted together in one electronic apparatus or mounted separately in different electronic apparatuses. For example, some of the data acquirer <NUM>-<NUM>, the pre-processor <NUM>-<NUM>, the training data selector <NUM>-<NUM>, the model learner <NUM>-<NUM>, and the model evaluator <NUM>-<NUM> may be included in an electronic apparatus, and the others may be included in a server.

At least one of the data acquirer <NUM>-<NUM>, the pre-processor <NUM>-<NUM>, the training data selector <NUM>-<NUM>, the model learner <NUM>-<NUM>, or the model evaluator <NUM>-<NUM> may be implemented as a software module. When at least one of the data acquirer <NUM>-<NUM>, the pre-processor <NUM>-<NUM>, the training data selector <NUM>-<NUM>, the model learner <NUM>-<NUM>, or the model evaluator <NUM>-<NUM> is implemented as a 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, one or more software modules may be provided by an OS or a certain application. Alternatively, some of the one or more software modules may be provided by the OS and the others may be provided by the certain application.

<FIG> is a block diagram of the data recognizer <NUM> according to an embodiment of the invention.

Referring to <FIG>, the data recognizer <NUM> according to an embodiment of the invention may include a data acquirer <NUM>-<NUM>, a pre-processor <NUM>-<NUM>, a feature data selector <NUM>-<NUM>, a recognition result provider <NUM>-<NUM>, and a model updater <NUM>-<NUM>.

The data acquirer <NUM>-<NUM> may acquire data required for at least one of generation of contamination map data, determination of a cleaning target area, or determination of an operation mode of the robotic cleaning apparatus <NUM>, and the pre-processor <NUM>-<NUM> may pre-process the acquired data to be usable for at least one of the generation of the contamination map data, the determination of the cleaning target area, or the determination of the operation mode of the robotic cleaning apparatus <NUM>. The pre-processor <NUM>-<NUM> may process the acquired data to a preset format in such a manner that the recognition result provider <NUM>-<NUM> to be described below may use the acquired data for at least one of the generation of the contamination map data, the determination of the cleaning target area, or the determination of the operation mode of the robotic cleaning apparatus <NUM>.

The feature data selector <NUM>-<NUM> may select data required for at least one of the generation of the contamination map data, the determination of the cleaning target area, or the determination of the operation mode of the robotic cleaning apparatus <NUM>, from the pre-processed data. The selected data may be provided to the recognition result provider <NUM>-<NUM>. The feature data selector <NUM>-<NUM> may select a part of or the whole pre-processed data according to preset criteria for at least one of the generation of the contamination map data, the determination of the cleaning target area, or the determination of the operation mode of the robotic cleaning apparatus <NUM>. The feature data selector <NUM>-<NUM> may select the data according to preset criteria learned by the model learner <NUM>-<NUM> described above in relation to <FIG>.

The recognition result provider <NUM>-<NUM> may perform at least one of the generation of the contamination map data, the determination of the cleaning target area, or the determination of the operation mode of the robotic cleaning apparatus <NUM> by applying the selected data to a data recognition model. The recognition result provider <NUM>-<NUM> may provide a recognition result according to a purpose of data recognition. The recognition result provider <NUM>-<NUM> may apply the selected data to the data recognition model by using the data selected by the feature data selector <NUM>-<NUM>, as an input value. The recognition result may be determined by the data recognition model.

For example, at least one of an image captured by the robotic cleaning apparatus <NUM>, sensing data sensed by the robotic cleaning apparatus <NUM>, an image captured by the external device <NUM>, sensing data sensed by the external device <NUM>, map data of a cleaning space, contamination map data of another cleaning space, information about a status of the cleaning space, or information about a state of the robotic cleaning apparatus <NUM> may be acquired for the recognition. However, the data acquired for the recognition is not limited thereto and, for example, data inputable to the learning models of <FIG> may be acquired for the recognition.

The model updater <NUM>-<NUM> may request updating of the data recognition model, based on evaluation of the recognition result provided from the recognition result provider <NUM>-<NUM>. For example, the model updater <NUM>-<NUM> may request the model learner <NUM>-<NUM> to update the data recognition model, by providing the recognition result provided from the recognition result provider <NUM>-<NUM>, to the model learner <NUM>-<NUM>.

At least one of the data acquirer <NUM>-<NUM>, the pre-processor <NUM>-<NUM>, the feature data selector <NUM>-<NUM>, the recognition result provider <NUM>-<NUM>, or the model updater <NUM>-<NUM> in the data recognizer <NUM> may be produced in the form of at least one hardware chip and be mounted in an electronic apparatus. For example, at least one of the data acquirer <NUM>-<NUM>, the pre-processor <NUM>-<NUM>, the feature data selector <NUM>-<NUM>, the recognition result provider <NUM>-<NUM>, or the model updater <NUM>-<NUM> may be produced in the form of an exclusive hardware chip for AI, or as a part of a general-use processor (e.g., a CPU or an application processor) or a dedicated graphics processor (e.g., a GPU), and be mounted in various electronic apparatuses.

The data acquirer <NUM>-<NUM>, the pre-processor <NUM>-<NUM>, the feature data selector <NUM>-<NUM>, the recognition result provider <NUM>-<NUM>, and the model updater <NUM>-<NUM> may be mounted together in one electronic apparatus or mounted separately in different electronic apparatuses. For example, some of the data acquirer <NUM>-<NUM>, the pre-processor <NUM>-<NUM>, the feature data selector <NUM>-<NUM>, the recognition result provider <NUM>-<NUM>, and the model updater <NUM>-<NUM> may be included in an electronic apparatus, and the others may be included in a server.

At least one of the data acquirer <NUM>-<NUM>, the pre-processor <NUM>-<NUM>, the feature data selector <NUM>-<NUM>, the recognition result provider <NUM>-<NUM>, or the model updater <NUM>-<NUM> may be implemented as a software module. When at least one of the data acquirer <NUM>-<NUM>, the pre-processor <NUM>-<NUM>, the feature data selector <NUM>-<NUM>, the recognition result provider <NUM>-<NUM>, or the model updater <NUM>-<NUM> is implemented as a 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, one or more software modules may be provided by an OS or a certain application. Alternatively, some of the one or more software modules may be provided by the OS and the others may be provided by the certain application.

<FIG> is a block diagram showing an example in which the robotic cleaning apparatus <NUM> and the server <NUM> learn and recognize data in association with each other, according to an embodiment of the invention.

Referring to <FIG>, the server <NUM> may learn criteria for at least one of generation of contamination map data, determination of a cleaning target area, or determination of an operation mode of the robotic cleaning apparatus <NUM>, and the robotic cleaning apparatus <NUM> may perform at least one of the generation of the contamination map data, the determination of the cleaning target area, or the determination of the operation mode of the robotic cleaning apparatus <NUM>, based on a learning result of the server <NUM>.

In this case, the server <NUM> may serve as the data learner <NUM> illustrated in <FIG>. A data acquirer <NUM> may serve as the data acquirer <NUM>-<NUM> illustrated in <FIG>. A pre-processor <NUM> may serve as the pre-processor <NUM>-<NUM> illustrated in <FIG>. A training data selector <NUM> may serve as the training data selector <NUM>-<NUM> illustrated in <FIG>. A model learner <NUM> may serve as the model learner <NUM>-<NUM> illustrated in <FIG>. A model evaluator <NUM> may serve as the model evaluator <NUM>-<NUM> illustrated in <FIG>. The server <NUM> may learn which data is used for at least one of the generation of the contamination map data, the determination of the cleaning target area, or the determination of the operation mode of the robotic cleaning apparatus <NUM>, and learn criteria for at least one of the generation of the contamination map data, the determination of the cleaning target area, or the determination of the operation mode of the robotic cleaning apparatus <NUM> by using the data. The model learner <NUM> may learn the criteria for at least one of the generation of the contamination map data, the determination of the cleaning target area, or the determination of the operation mode of the robotic cleaning apparatus <NUM> by acquiring data to be used for learning, and applying the acquired data to a data recognition model.

The recognition result provider <NUM>-<NUM> of the robotic cleaning apparatus <NUM> may perform at least one of the generation of the contamination map data, the determination of the cleaning target area, or the determination of the operation mode of the robotic cleaning apparatus <NUM> by applying data selected by the feature data selector <NUM>-<NUM>, to the data recognition model generated by the server <NUM>. For example, the recognition result provider <NUM>-<NUM> may transmit the data selected by the feature data selector <NUM>-<NUM>, to the server <NUM> to request to decide at least one of the generation of the contamination map data, the determination of the cleaning target area, or the determination of the operation mode of the robotic cleaning apparatus <NUM>, and the server <NUM> may apply the data selected by the feature data selector <NUM>-<NUM>, to the data recognition model to decide at least one of the generation of the contamination map data, the determination of the cleaning target area, or the determination of the operation mode of the robotic cleaning apparatus <NUM>. The recognition result provider <NUM>-<NUM> may receive information about the decision of the server <NUM>, from the server <NUM>.

Alternatively, the recognition result provider <NUM>-<NUM> of the robotic cleaning apparatus <NUM> may receive the data recognition model generated by the server <NUM>, from the server <NUM>, and perform at least one of the generation of the contamination map data, the determination of the cleaning target area, or the determination of the operation mode of the robotic cleaning apparatus <NUM> by using the received data recognition model. In this case, the recognition result provider <NUM>-<NUM> of the robotic cleaning apparatus <NUM> may apply the data selected by the feature data selector <NUM>-<NUM>, to the data recognition model received from the server <NUM>.

<FIG> is a flowchart of a method, performed by the robotic cleaning apparatus <NUM>, of moving an object in a cleaning space to a certain location, according to an embodiment of the invention.

Referring to <FIG>, in operation S2400, an object in a cleaning space may be detected. The robotic cleaning apparatus <NUM> may detect the object in the cleaning space by using at least one sensor of the robotic cleaning apparatus <NUM>. The robotic cleaning apparatus <NUM> may detect the object by using at least one of, for example, a mono/stereo vision camera, a lidar, an ultrasonic sensor, an infrared sensor, or a RF sensor. The robotic cleaning apparatus <NUM> may detect a location and a size of the object in the cleaning space by using, for example, a lidar sensor. The robotic cleaning apparatus <NUM> may detect material properties of the object in the cleaning space by using, for example, a RF sensor. The robotic cleaning apparatus <NUM> may, for example, capture an image of the object in the cleaning space.

In operation S2410, the robotic cleaning apparatus <NUM> may identify a type of the detected object. The robotic cleaning apparatus <NUM> may identify the type of the object by using sensing data about the object detected in operation S2400. By identifying the type of the object, the robotic cleaning apparatus <NUM> may determine whether the detected object is a waste. The robotic cleaning apparatus <NUM> may determine whether the detected object is a significant object, by identifying the type of the object. The robotic cleaning apparatus <NUM> may determine whether the detected object needs to be moved, by identifying the type of the object.

The robotic cleaning apparatus <NUM> may identify a type or properties of the object by inputting the sensing data to at least one learning model. In this case, the learning model for identifying the type or the properties of the object may use various data processing methods such as deep learning and image processing, but is not limited thereto.

In operation S2420, the robotic cleaning apparatus <NUM> may determine whether to move the object. When the object is determined as being not significant, the robotic cleaning apparatus <NUM> may determine that the object needs to be trashed, and determine not to move the object. Otherwise, when the object is determined as being significant, the robotic cleaning apparatus <NUM> may determine whether to move the object. For example, the robotic cleaning apparatus <NUM> may determine a remote controller, a pen, a ring, a coin, a button, or the like as a movable significant object. In addition, for example, the robotic cleaning apparatus <NUM> may determine a fragile object such as a hand mirror, a drinking glass, or a ceramic plate, as an unmovable significant object.

The robotic cleaning apparatus <NUM> may determine whether to move the object, by inputting a value about the type or the properties of the object to a certain learning model, but is not limited thereto. As the robotic cleaning apparatus <NUM> inputs the sensing data to the certain learning model, resultant values of operations S2410 and S2420 may be output from the learning model.

In operation S2430, the robotic cleaning apparatus <NUM> may move the object while cleaning. The robotic cleaning apparatus <NUM> may move the object to a certain location according to preset criteria.

For example, the robotic cleaning apparatus <NUM> may set the location to which the object is to be moved, in such a manner that all significant objects are moved to one location. For example, the robotic cleaning apparatus <NUM> may set the location to which the object is to be moved, in such a manner that different types of objects are moved to different locations. For example, the robotic cleaning apparatus <NUM> may set the location to which the object is to be moved, in such a manner that only a specific object designated by a user is moved to a certain location. In this case, the robotic cleaning apparatus <NUM> may display a GUI for setting the location to which the object is to be moved, on a screen of the robotic cleaning apparatus <NUM>. The GUI for setting the location to which the object is to be moved may also be displayed on a screen of the mobile device <NUM> capable of controlling the robotic cleaning apparatus <NUM>.

The robotic cleaning apparatus <NUM> may determine a timing for moving the significant object, according to preset criteria. For example, the robotic cleaning apparatus <NUM> may move the significant object to a certain place after determining the cleaning target area and setting a route to clean the cleaning target area and before performing cleaning. For example, the robotic cleaning apparatus <NUM> may move the significant object to a certain place after completely cleaning the cleaning target area. For example, when the significant object is found during cleaning, the robotic cleaning apparatus <NUM> may interrupt the cleaning operation, move the significant object, and then return to the location of the robotic cleaning apparatus <NUM>, where the cleaning operation is interrupted, to continue the cleaning operation. In this case, the robotic cleaning apparatus <NUM> may display a GUI for setting the timing for moving the significant object, on the screen of the robotic cleaning apparatus <NUM>. The GUI for setting the timing for moving the significant object may also be displayed on the screen of the mobile device <NUM> capable of controlling the robotic cleaning apparatus <NUM>.

While the significant object is being moved, the robotic cleaning apparatus <NUM> may interrupt at least one of cleaning functions thereof, e.g., suction and brushing.

The robotic cleaning apparatus <NUM> may create a route for moving the significant object to the certain location, and move the object to the certain location along the created route. In this case, the route for moving the significant object to the certain location may be created to move the significant object without contaminating an area already cleaned by the robotic cleaning apparatus <NUM> in the cleaning space. The robotic cleaning apparatus <NUM> may create the route differently depending on whether the significant object is located in the already cleaned area.

The robotic cleaning apparatus <NUM> may create the route for moving the significant object, by using at least one learning model. In this case, the robotic cleaning apparatus <NUM> may determine the route of the significant object by inputting a map of the cleaning space, information about the object in the cleaning space, information about the cleaned area of the cleaning space, and setup information about moving of the significant object, to the learning model. In operation S2440, the robotic cleaning apparatus <NUM> may output notification information about the moving of the object. The robotic cleaning apparatus <NUM> may output various types of notification information according to the type of the object. For example, the robotic cleaning apparatus <NUM> may output notification information indicating that the significant object is found. For example, the robotic cleaning apparatus <NUM> may move the significant object and then output notification information indicating a place to which the significant object is moved. For example, when the significant object is determined as being fragile or hardly movable, the robotic cleaning apparatus <NUM> may not move the significant object and merely output notification information indicating that the significant object is found or indicating a location where the significant object is found.

The robotic cleaning apparatus <NUM> may output the notification information through an outputter of the robotic cleaning apparatus <NUM>. In this case, the notification information may include, for example, text data, image data, and sound data, but is not limited thereto. The robotic cleaning apparatus <NUM> may provide the notification information to the mobile device <NUM> capable of controlling the robotic cleaning apparatus <NUM>.

The method of <FIG> may be performed by the robotic cleaning apparatus <NUM> together with the operations of the robotic cleaning apparatus <NUM>, which are described above in relation to <FIG>.

An embodiment of the invention may be implemented in the form of a computer-readable recording medium including instructions executable by a computer, e.g., a program module executed by a computer. The computer-readable recording medium may be an arbitrary available medium accessible by a computer, and examples thereof include all volatile, nonvolatile media, removable, and non-removable media. The computer-readable recording medium may include a computer storage medium. Examples of the computer storage medium include all volatile, nonvolatile media, removable, and non-removable media implemented using an arbitrary method or technology for storing information such as computer-readable instructions, data structures, program modules, or other data.

As used herein, a suffix "unit" or "---er/or" may indicate a hardware component such as a processor or a circuit, and/or a software component executed by the hardware component such as the processor.

It should be understood that embodiments of the invention should be considered in a descriptive sense only and not for purposes of limitation. Descriptions of features or aspects within each embodiment of the invention should be considered as available for other similar features or aspects in other embodiments of the invention. For example, each component described to be of a single type may be implemented in a distributed manner. Likewise, components described to be distributed may be implemented in a combined manner.

Claim 1:
A robotic cleaning apparatus (<NUM>) for cleaning a cleaning space, the robotic cleaning apparatus (<NUM>) comprising:
a communication interface (<NUM>);
a memory (<NUM>) storing one or more instructions; and
at least one processor (<NUM>) configured to:
execute the one or more instructions to control the robotic cleaning apparatus (<NUM>),
execute the one or more instructions to acquire contamination data indicating a contamination level of the cleaning space, wherein the contamination data include information about a location where and a time when the contamination data is generated,
acquire contamination map data based on the contamination data, wherein the contamination map data includes a plurality of contamination maps corresponding to different time periods,
determine at least one cleaning target area in the cleaning space, based on a current time and the contamination map data,
determine a priority and a cleaning strength for the at least one cleaning target area using an operation mode of the robotic cleaning apparatus and an apparatus state of the robotic cleaning apparatus, and
clean the determined at least one cleaning target area according to the determined priority and cleaning strength,
wherein the contamination map data comprises:
information indicating locations of contaminated areas in the cleaning space,
contamination levels of the contaminated areas, and
locations of objects in the cleaning space, and is stored for a predetermined time period.