Robotic cleaner and control method thereof

WO2025037734A1PCT designated stage expired Publication Date: 2025-02-20SAMSUNG ELECTRONICS CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/KR2024/008433
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-08-17
Filing Date
2024-06-19
Publication Date
2025-02-20

Smart Images

  • Figure KR2024008433_20022025_PF_FP_ABST
    Figure KR2024008433_20022025_PF_FP_ABST
Patent Text Reader

Abstract

This robotic cleaner comprises: a sensor unit; at least one memory in which at least one instruction is stored; and at least one processor, wherein the at least one processor executes the at least one instruction to: identify a plurality of objects on the basis of sensing data acquired through the sensor unit; identify a target object located on a driving surface of the robotic cleaner among the plurality of objects; acquire power information indicating the remaining power of the robotic cleaner; determine whether to avoid the target object on the basis of the result of comparing the power information with a threshold power value; if the power information is less than the threshold power value, control the robotic cleaner to travel while avoiding the target object; if the power information is equal to or greater than the threshold power value, acquire feature information of the target object on the basis of the sensing data; acquire type information of the target object on the basis of the feature information; if the type information includes a predetermined type, control the robotic cleaner to travel while avoiding the target object; and if the type information does not include the predetermined type, control the robotic cleaner to travel on the basis of a movement path for moving the target object to a target position.
Need to check novelty before this filing date? Find Prior Art

Description

Robot vacuum cleaner and its control method

[0001] The present disclosure relates to a robot vacuum cleaner and a control method thereof, and more particularly, to a robot vacuum cleaner that moves an object while the robot vacuum cleaner is moving, and a control method thereof.

[0002] Robot vacuums may encounter various obstacles while performing their cleaning functions. Since most obstacles are fixed objects, robot vacuums can avoid or circumvent them.

[0003] For objects that can be moved depending on the type of obstacle, performing a cleanup function can provide a more convenient service to users. The cleanup function can be a service that moves obstacles according to a preset method.

[0004] When a robot vacuum cleaner forcibly moves an obstacle, there is a risk that the obstacle may tip over and become damaged. Furthermore, there may be situations where forcibly moving an obstacle can be difficult. For example, if the obstacle is heavy, the robot vacuum cleaner may struggle to move it, and moving the obstacle may consume more power.

[0005] The present disclosure is designed to improve the above-described problems, and an object of the present disclosure is to provide a robot vacuum cleaner and a control method thereof that performs a cleaning function by analyzing an object to determine whether to avoid and / or move.

[0006] According to one embodiment, a robot cleaner includes a sensor unit, at least one memory storing at least one instruction, and at least one processor, and by executing the at least one instruction, the at least one processor identifies a plurality of objects based on sensing data acquired through the sensor unit, identifies a target object located on a driving surface of the robot cleaner among the plurality of objects, acquires power information indicating a remaining power of the robot cleaner, determines whether to avoid the target object based on a comparison result of the power information and a threshold power value, and if the power information is less than the threshold power value, controls the robot cleaner to drive while avoiding the target object, and if the power information is greater than or equal to the threshold power value, acquires characteristic information of the target object based on the sensing data, acquires type information of the target object based on the characteristic information, and if the type information includes a preset type, controls the robot cleaner to drive while avoiding the target object, and if the type information does not include a preset type, controls the robot cleaner to drive based on a movement path for moving the target object to a target position.

[0007] The at least one processor may control the robot cleaner to drive based on a test mode in which the robot cleaner contacts the target object at a preset acceleration if the type information does not include a preset type, and if the target object moves while driving in the test mode, determine a movement path for moving the target object to a target position, and control the robot cleaner to drive based on a movement mode in which the target object moves along the movement path.

[0008] The at least one processor may control the robot cleaner to drive while avoiding the target object if the target object does not move while driving in the test mode.

[0009] The above characteristic information may include at least one of size information of the target object, mass information of the target object, and texture information of the target object, and the type information may include information related to the possibility of movement of the target object.

[0010] The above size information includes a height of the target object, and the at least one processor can identify the type information as including the preset type if the height of the target object is greater than or equal to a threshold height.

[0011] The mass information includes the mass of the target object, and the at least one processor can identify that the type information includes the preset type if the mass of the target object is greater than or equal to a threshold mass.

[0012] The texture information includes a texture of the target object, and the at least one processor can identify that the type information includes the preset type if the texture of the target object is glass.

[0013] The above movement path is a first movement path, and the at least one processor controls the robot cleaner to drive to move the target object to a temporary location when the power information is less than a threshold power value, and when the target object is moved to the temporary location, controls the robot cleaner to drive to move to a charging location without the target object, and when the charging operation is completed, changes the first movement path to a second movement path to move the target object from the temporary location to the target location, and controls the robot cleaner to drive based on the second movement path.

[0014] The at least one processor can identify a movement type corresponding to the power information among a plurality of movement types stored in the at least one memory, and determine the target location based on the movement type.

[0015] The at least one processor may control the robot cleaner to drive to clean the movement path without the target object if the type information does not include the preset type, and to move the target object to the target position along the movement path when cleaning of the movement path is completed.

[0016] According to one embodiment, a control method of a robot cleaner includes the steps of: identifying a plurality of objects based on sensing data, and identifying a target object located on a driving surface of the robot cleaner among the plurality of objects; obtaining power information indicating a remaining power of the robot cleaner; determining whether to avoid the target object based on a comparison result of the power information and a threshold power value; driving while avoiding the target object if the power information is less than the threshold power value; obtaining characteristic information of the target object based on the sensing data if the power information is greater than or equal to the threshold power value; obtaining type information of the target object based on the characteristic information; driving while avoiding the target object if the type information includes a preset type; and driving based on a movement path for moving the target object to a target position if the type information does not include the preset type.

[0017] The control method may include a step of driving based on a test mode in which the robot cleaner contacts the target object at a preset acceleration when the type information does not include a preset type, a step of determining a movement path for moving the target object to a target position when the target object moves while driving in the test mode, and a step of driving based on a movement mode for moving the target object along the movement path.

[0018] The above control method may include a step of driving while avoiding the target object if the target object does not move while driving in the test mode.

[0019] The above characteristic information may include at least one of size information of the target object, mass information of the target object, and texture information of the target object, and the type information may include information related to the possibility of movement of the target object.

[0020] The above size information includes a height of the target object, and the control method may include a step of identifying the type information as including the preset type if the height of the target object is greater than or equal to a threshold height.

[0021] The mass information may include a mass of the target object, and the control method may include a step of identifying the type information as including the preset type if the mass of the target object is greater than or equal to a threshold mass.

[0022] The texture information may include a texture of the target object, and the control method may include a step of identifying the type information as including the preset type if the texture of the target object is glass.

[0023] The above movement path is a first movement path, and the control method may include a step of driving to move the target object to a temporary location when the power information is less than a threshold power value, a step of driving to move the target object to a charging location without the target object when the target object is moved to the temporary location, a step of changing the first movement path to a second movement path when the charging operation is completed to move the target object from the temporary location to the target location, and a step of driving based on the second movement path.

[0024] The above control method may include a step of identifying a movement type corresponding to the power information among a plurality of movement types stored in the robot cleaner and a step of determining the target position based on the movement type.

[0025] The above control method may include a step of driving to clean the movement path without the target object if the type information does not include the preset type, and a step of moving the target object to the target position along the movement path if cleaning of the movement path is completed.

[0026] The above and other aspects, features and advantages of specific embodiments of the present invention will become more apparent from the following description taken in conjunction with the accompanying drawings.

[0027] FIG. 1 is a drawing for explaining an operation of moving an object according to one embodiment.

[0028] FIG. 2 is a block diagram illustrating the configuration of a robot vacuum cleaner according to one embodiment.

[0029] Figure 3 is a block diagram for explaining the specific configuration of the robot vacuum cleaner of Figure 2.

[0030] FIG. 4 is a drawing for explaining an operation for controlling driving in a robot vacuum cleaner according to one embodiment.

[0031] FIG. 5 is a flowchart for explaining a driving operation using characteristic information of an object, according to one embodiment.

[0032] FIG. 6 is a flowchart illustrating an operation for determining whether to avoid an object, according to one embodiment.

[0033] FIG. 7 is a flowchart illustrating an operation for determining whether to avoid an object, according to one embodiment.

[0034] FIG. 8 is a flowchart for explaining a driving operation using power information according to one embodiment.

[0035] FIG. 9 is a drawing for explaining an operation for determining a movement type according to one embodiment.

[0036] FIG. 10 is a drawing for explaining a distributed movement type according to one embodiment.

[0037] FIG. 11 is a drawing for explaining a concentrated movement type according to one embodiment.

[0038] FIG. 12 is a drawing for explaining a linear type according to one embodiment.

[0039] FIG. 13 is a flowchart for explaining a driving operation using power information according to one embodiment.

[0040] FIG. 14 is a drawing for explaining a charging operation while driving, according to one embodiment.

[0041] FIG. 15 is a flowchart illustrating an operation of first cleaning a target location according to one embodiment.

[0042] FIG. 16 is a drawing for explaining an operation of first cleaning a target location according to one embodiment.

[0043] FIG. 17 is a drawing for explaining an operation of first cleaning a movement path according to one embodiment.

[0044] FIG. 18 is a drawing for explaining an operation of first cleaning a target location according to one embodiment.

[0045] FIG. 19 is a drawing for explaining an operation of determining a target location according to one embodiment.

[0046] FIG. 20 is a flowchart illustrating an operation for identifying an additional object, according to one embodiment.

[0047] FIG. 21 is a diagram illustrating an operation for identifying an additional object according to one embodiment.

[0048] FIG. 22 is a flowchart illustrating an operation for obtaining mass information of an object according to one embodiment.

[0049] FIG. 23 is a flowchart illustrating an operation for obtaining mass information of an object, according to one embodiment.

[0050] FIG. 24 is a flowchart illustrating an operation for obtaining mass information of an object according to one embodiment.

[0051] FIG. 25 is a drawing for explaining an operation of obtaining mass information of an object according to one embodiment.

[0052] FIG. 26 is a drawing for explaining an operation of obtaining mass information of an object according to one embodiment.

[0053] FIG. 27 is a flowchart illustrating an operation for determining whether an object moves, according to one embodiment.

[0054] FIG. 28 is a flowchart for explaining a method for controlling a robot vacuum cleaner, according to one embodiment.

[0055] Hereinafter, the present disclosure will be described in detail with reference to the attached drawings.

[0056] The terms used in the embodiments of this disclosure have been selected from widely used, current terms, taking into account the functions of this disclosure. However, these terms may vary depending on the intentions of those skilled in the art, precedents, the emergence of new technologies, etc. Furthermore, in certain cases, terms may be arbitrarily selected by the applicant, and in such cases, their meanings will be described in detail in the description of the relevant disclosure. Therefore, the terms used in this disclosure should not be defined simply as names of terms, but rather based on the meanings of the terms and the overall content of this disclosure.

[0057] In this specification, expressions such as “has,” “can have,” “includes,” or “may include” indicate the presence of a feature (e.g., a number, function, operation, or component such as a part), and do not exclude the presence of additional features.

[0058] The expression "at least one of A, B or / and C" should be understood to mean any one of "A", "B", "C", "A and B", "A and C", "B and C" or "A, B and C".

[0059] As used herein, the expressions “first,” “second,” “first,” or “second,” etc., may describe various components, regardless of order and / or importance, and are only used to distinguish one component from another, but do not limit the components.

[0060] When it is said that a component (e.g., a first component) is “(operatively or communicatively) coupled with / to” or “connected to” another component (e.g., a second component), it should be understood that the component may be directly coupled to the other component, or may be connected through another component (e.g., a third component).

[0061] Singular expressions include plural expressions unless the context clearly dictates otherwise. In this application, terms such as "comprise" or "consist of" are intended to indicate the presence of a feature, number, step, operation, component, part, or combination thereof described in the specification, but should be understood not to preclude the presence or addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.

[0062] In the present disclosure, a "module" or "part" performs at least one function or operation and may be implemented in hardware or software, or a combination of hardware and software. Furthermore, multiple "modules" or multiple "parts" may be integrated into at least one module and implemented as at least one processor, excluding any "modules" or "parts" that need to be implemented as specific hardware.

[0063] In this specification, the term user may refer to a person using a robot vacuum cleaner or a device using a robot vacuum cleaner (e.g., an artificial intelligence robot vacuum cleaner).

[0064] An embodiment of the present disclosure will be described in more detail with reference to the attached drawings below.

[0065] FIG. 1 is a drawing for explaining an operation of moving a target object (10) according to one embodiment.

[0066] Referring to FIG. 1, the robot cleaner (100) may be a mobile device. The robot cleaner (100) may be a device that moves according to a preset method. The robot cleaner (100) may be a mobile robot. The robot cleaner (100) may be a mobile robot that moves according to a preset method. The robot cleaner (100) may be described as a robot cleaner or a mobile robot cleaner. The robot cleaner (100) may be described as a mobile device.

[0067] For example, the robot cleaner (100) may be a mobile cleaning robot. To perform a cleaning operation for the space in which the robot cleaner (100) is located, the robot cleaner (100) may move along a movement path.

[0068] The robot cleaner (100) can identify a target object (10) while driving. The target object (10) may be a preset object. The target object (10) may be an obstacle object. The target object (10) may be an object that needs to be moved by the robot cleaner (100). The robot cleaner (100) can move the target object (10) using physical force.

[0069] FIG. 2 is a block diagram for explaining the configuration of a robot vacuum cleaner (100) according to one embodiment.

[0070] The robot vacuum cleaner (100) may include at least one of a sensor unit (110), a memory (120), and at least one processor (130).

[0071] The robot cleaner (100) may be described as a mobile electronic device or an electronic device for controlling a mobile device. For example, the robot cleaner (100) may include a mobile robot capable of movement or a device for controlling a mobile robot. Furthermore, the robot cleaner (100) may be a server that performs analysis operations to control the movement of the device.

[0072] According to various embodiments, the robot cleaner (100) may be a mobile cleaning robot that performs cleaning operations.

[0073] Here, the sensor unit (110) can sense sensing data. The sensor unit (110) can include at least one sensor. Here, the at least one sensor can be one of a lidar sensor that senses a position, an image sensor that captures an image, or an acceleration sensor (or gyro sensor) that senses a rotation angle.

[0074] In various embodiments, a single sensor may sense position, image, rotation angle, etc.

[0075] Here, the memory (120) can store sensing data or processed sensing data. Here, the processed sensing data can be described as mapping data. The memory (120) can store mapping data. In addition, new data can be added to the memory (120) or some data can be deleted.

[0076] The processor (130) can perform the overall control operation of the robot cleaner using the components included in the robot cleaner. Specifically, the processor (130) has a function of controlling the overall operation of the robot cleaner.

[0077] At least one processor (130) can identify a plurality of objects based on sensing data acquired through the sensor unit (110), and identify a target object located on the driving surface of the robot cleaner (100) among the plurality of objects.

[0078] At least one processor (130) can obtain power information indicating the remaining power of the robot cleaner (100).

[0079] At least one processor (130) can determine whether to avoid a target object based on a comparison result of power information and a threshold power value. If the power information is less than the threshold power value, the at least one processor (130) can control the robot cleaner (100) to drive while avoiding the target object. If the power information is greater than or equal to the threshold power value, the at least one processor (130) can acquire characteristic information of the target object based on sensing data.

[0080] At least one processor (130) can obtain type information of a target object based on characteristic information. If the type information includes a preset type, the at least one processor (130) can drive while avoiding the target object. If the type information does not include a preset type, the at least one processor (130) can drive based on a movement path for moving the target object to a target location.

[0081] At least one processor (130) can obtain sensing data through the sensor unit (110). The sensor unit (110) can include a sensor for identifying an object. The sensing data can include data for identifying an object.

[0082] For example, the sensor unit (110) may include an image sensor. At least one processor (130) may obtain image data (or image information) using the image sensor of the sensor unit (110). The image sensor may include an RGB camera, a depth camera, an infrared camera, etc.

[0083] For example, the sensor unit (110) may include a lidar sensor. At least one processor (130) may obtain lidar data (or lidar information) using the lidar sensor of the sensor unit (110).

[0084] The types of sensing data are not limited to the examples described above, and various sensors can be used to identify objects.

[0085] At least one processor (130) can identify a plurality of objects present around the robot cleaner (100) through sensing data. The plurality of objects may include all objects identifiable through the sensing data.

[0086] At least one processor (130) can select an object among a plurality of objects to determine at least one of whether to avoid or move.

[0087] For example, objects with fixed locations, such as tables, walls, and shelves, do not require any consideration for avoidance or movement. These objects may be objects that should be avoided.

[0088] For example, objects that can move, such as toys, cups, and boxes, need to be determined whether to avoid them or whether to move them themselves. This is because there is a need to perform a function to move the objects using a robot vacuum cleaner (100).

[0089] There is a need to select a target object from among multiple objects. This is because analyzing objects that have no possibility of movement in the first place reduces data processing efficiency. At least one processor (130) can determine an object with a possibility of movement as a target object (10). At least one processor (130) can determine an object with a possibility of movement from among multiple objects identified based on sensing data as a target object (10). The target object (10) can include at least one object.

[0090] At least one processor (130) may determine a target object (10) based on an object located on a driving surface of the robot cleaner (100) among a plurality of objects. The driving surface may include a plane on a moving path along which the robot cleaner (100) moves. The driving surface may be described as a driving plane, a driving floor surface, a plane of a moving path, etc.

[0091] Power information may include information related to power or power for driving the robot cleaner (100). The power information may include the power value charged in the robot cleaner (100). The power information may include the remaining power value of the robot cleaner (100). The power information may be described as battery information, remaining battery capacity information, remaining power information, etc.

[0092] At least one processor (130) can obtain current power information of the robot cleaner (100). When a target object (10) is identified, at least one processor (130) can obtain power information. At least one processor (130) can compare the power information with a threshold power value. At least one processor (130) can determine whether to move the target object (10) based on the comparison result of the power information and the threshold power value.

[0093] At least one processor (130) may determine whether to avoid the target object (10) based on the comparison result. If the power information is equal to or greater than the threshold power value, the at least one processor (130) may determine not to avoid the target object (10). If the power information is less than the threshold power value, the at least one processor (130) may determine to avoid the target object (10). The at least one processor (130) may control the robot cleaner (100) to drive while avoiding the target object (10). The path that serves as a reference for the robot cleaner (100) to move before discovering the target object (10) may be a first movement path. If the at least one processor (130) identifies the target object (10), the first movement path may be changed to a second movement path. Depending on whether the movement path described in the description below is changed or modified, it may be described as a first movement path, a second movement path, a third movement path, etc. Each ordinal number does not indicate a specific movement path, but may indicate the number of times the initial movement path has been changed.

[0094] If the power information is below the threshold power value, at least one processor (130) can change the first movement path to a second movement path to avoid the target object (10).

[0095] If the power information is greater than or equal to the threshold power value, at least one processor (130) can determine whether to move the target object (10) without avoiding the target object (10).

[0096] At least one processor (130) can analyze characteristic information of the target object (10) to determine whether the target object (10) is moving. At least one processor (130) can obtain characteristic information of the target object (10) based on sensing data.

[0097] The feature information may include information indicating the characteristics of the target object (10). The feature information may include at least one of size information, mass information, and texture information.

[0098] At least one processor (130) can obtain detailed data corresponding to a target object (10) using characteristic information. At least one processor (130) can identify type information of the target object (10) based on the characteristic information.

[0099] Type information may include information that classifies an object into a preset category.

[0100] For example, type information can include a movable type or an immovable type. The type information of a wall object can be an immovable type, while a toy object can be a movable type.

[0101] For example, type information can include fragile and non-fragile types. An object with a glass texture might be a fragile type, while an object with a plastic texture might be a non-fragile type.

[0102] Type information may include at least one type. The type information of the target object (10) may be multiple. At least one processor (130) may determine whether the type information of the target object (10) includes a preset type.

[0103] The preset type may be described as an avoidance type. The preset type may include a type that requires avoidance because the target object (10) itself cannot move.

[0104] At least one processor (130) may be classified into a driving mode, a test mode, and a movement mode. The driving mode may be described as a first mode. The test mode may be described as a second mode. The movement mode may be described as a third mode.

[0105] The driving mode may be a mode that drives the robot cleaner (100) with a first force (or a first acceleration) and / or a first speed.

[0106] The driving mode may be a mode in which the cleaning operation is performed while moving. The driving mode may be a mode in which the cleaning operation is performed without a target object (10).

[0107] The test mode may be a mode that drives the robot cleaner (100) with a second force (or a second acceleration) and / or a second speed.

[0108] The test mode may be a mode that performs an action of pushing a target object (10) with a preset force (or acceleration). The test mode may not be a mode for moving the target object (10) to a target position, but may be a mode for applying a preset force (or acceleration) to the target object (10) to determine whether the target object (10) moves.

[0109] The moving mode may be a mode that drives the robot cleaner (100) with a third force (or a third acceleration) and / or a third speed.

[0110] The movement mode may be a mode in which the robot cleaner (100) moves together with the target object (10). The movement mode may be a mode in which the robot cleaner (100) moves directly to move the target object (10).

[0111] In one embodiment, the third force (or third velocity) may be greater than the first force (or first velocity). A relatively greater force may be required to move the target object (10).

[0112] In one embodiment, the third force (or third velocity) may be greater than the second force (or second velocity). Since the test motion is merely an action to determine whether the target object (10) moves, the second force (or second velocity) may be less than the third force (or third velocity).

[0113] In another implementation example, the third force (or third velocity) may be the same as the second force (or second velocity). The test mode and the movement mode may have different force application times. The test mode may only apply force to the target object (10) for a preset time.

[0114] In one embodiment, the second force (or second speed) may be less than the first force (or first speed). Since at least one processor (130) must apply force to the target object (10) in the test mode, the robot cleaner (100) may be driven using a greater force than in the driving mode.

[0115] In another implementation example, the second force (or second velocity) may be the same as the first force (or first velocity). At least one processor (130) may operate in a test mode to determine whether the target object (10) moves. At least one processor (130) may drive the robot cleaner (100) based on the same force in the test mode and the driving mode.

[0116] At least one processor (130) may drive based on a test mode in which the robot cleaner (100) contacts a target object at a preset acceleration if the type information does not include a preset type. At least one processor (130) may operate in a driving mode before identifying the target object (10). At least one processor (130) may change the driving mode to a test mode if the type information does not include a preset type.

[0117] At least one processor (130) can determine a movement path for moving the target object to a target position based on a test mode when the target object is moved, and can drive based on a movement mode that moves the target object along the movement path. At least one processor (130) can change the test mode to a movement mode.

[0118] At least one processor (130) can drive to avoid the target object if the target object does not move based on the test mode.

[0119] Even though a second force is applied to the target object (10) in test mode, the target object (10) may not move. This is because the mass of the target object (10) is large. At least one processor (130) can drive while avoiding the target object (10).

[0120] At least one processor (130) can obtain feature information including at least one of size information, mass information, and texture information of a target object based on sensing data, and obtain type information for determining the possibility of movement of the target object based on the feature information.

[0121] At least one processor (130) identifies the type information as a non-movable type if the height of the target object is greater than or equal to a threshold height based on the size information of the target object, and the preset type may include a non-movable type.

[0122] At least one processor (130) identifies the type information as a non-movable type if the mass of the target object is greater than or equal to a threshold mass based on the mass information of the target object, and the preset type may include a non-movable type.

[0123] At least one processor (130) identifies the type information as a non-movable type when the texture of the target object is identified as glass based on the texture information of the target object, and the preset type may include a non-movable type.

[0124] The movement path is a first movement path, and at least one processor (130) can obtain power information indicating the remaining power of the robot cleaner (100). If the power information is less than a threshold power value, the at least one processor (130) can drive to move the target object to a temporary location. If the target object is moved to the temporary location, the at least one processor (130) can drive to move to a charging location without the target object. If charging is completed, the at least one processor (130) can change the first movement path to a second movement path to move the target object from the temporary location to the target location. The at least one processor (130) can drive based on the second movement path. A description related to this is described in FIGS. 13 and 14.

[0125] When the initial cleaning driving path is described as the first movement path, the first movement path that does not consider the temporary location may be described as the second movement path, and the second movement path that considers the temporary location may be described as the third movement path. The ordinal number of the movement path may change depending on the stage.

[0126] The robot cleaner (100) may include a memory (120) that stores multiple movement types. At least one processor (130) may obtain power information indicating the remaining power of the robot cleaner (100). At least one processor (130) may determine a movement type corresponding to the power information among the multiple movement types. At least one processor (130) may determine a target location based on the movement type. A description related to this is provided in FIGS. 8 to 12 .

[0127] At least one processor (130) can drive to clean a movement path without a target object and drive to move a target object to a target position based on the completed movement path. A description related to this is provided in FIGS. 15 and 18.

[0128] The sensing data may be first sensing data, and the target object may be the first target object. At least one processor (130) may obtain a change in speed of the robot cleaner. If the change in speed is reduced by a threshold change or more, the at least one processor (130) may stop the movement of the target object. The at least one processor (130) may drive the robot cleaner to move from a first location where the robot cleaner is located without the target object to a second location within a threshold distance. The at least one processor (130) may obtain second sensing data that senses the direction of the target object at the second location through the sensor unit (110). The at least one processor (130) may identify the second target object based on the second sensing data. If the second target object is identified, the at least one processor (130) may obtain characteristic information of the second target object based on the second sensing data. The at least one processor (130) may determine whether the second target object moves based on the characteristic information of the second target object. Descriptions related to this are described in Figs. 20 and 21.

[0129] According to one embodiment, at least one processor (130) may identify a plurality of objects based on sensing data acquired through the sensor unit (110), identify a target object located on a driving surface of the robot cleaner among the plurality of objects, and acquire characteristic information of the target object. At least one processor (130) may identify type information of the target object based on the characteristic information of the target object. If the type information includes a preset type, the at least one processor (130) may drive to avoid the target object. If the type information does not include the preset type, the at least one processor (130) may drive to move the target object. If the target object is moved, the at least one processor (130) may determine a movement path for moving the target object to a target position, and drive based on the movement path.

[0130] At least one processor (130) can drive while avoiding the target object if the target object does not move.

[0131] At least one processor (130) can obtain feature information including at least one of size information, mass information, and texture information of a target object based on sensing data, and obtain type information for determining the possibility of movement of the target object based on the feature information.

[0132] The robot cleaner (100) can automatically move the target object (10) to clean the cleaning space more thoroughly. This is because the cleaning operation can be performed up to the location where the target object (10) is placed. The robot cleaner (100) can move the target object (10) to a preset location along the driving path. The robot cleaner (100) can provide the convenience of the user not having to personally remove the target object (10).

[0133] Fig. 3 is a block diagram for explaining the specific configuration of the robot vacuum cleaner (100) of Fig. 2.

[0134] Referring to FIG. 3, the robot cleaner (100) may include at least one of a sensor unit (110), a memory (120), at least one processor (130), a communication interface (140), an operation interface (150), a driving unit (160), a speaker (170), or a microphone (180).

[0135] Meanwhile, among the operations of the sensor unit (110), memory (120) and at least one processor (130), duplicate descriptions of operations that are identical to those described above are omitted.

[0136] The memory (120) may be implemented as an internal memory such as a ROM (e.g., an electrically erasable programmable read-only memory (EEPROM)) or RAM included in the processor (130), or may be implemented as a separate memory from the processor (130). In this case, the memory (120) may be implemented as a memory embedded in the robot cleaner (100) or as a memory that can be detachably attached to the robot cleaner (100) depending on the purpose of data storage. For example, data for operating the robot cleaner (100) may be stored in a memory embedded in the robot cleaner (100), and data for the expanded functions of the robot cleaner (100) may be stored in a memory that can be detachably attached to the robot cleaner (100).

[0137] In the case of memory embedded in the robot cleaner (100), it may be implemented as at least one of volatile memory (e.g., dynamic RAM (DRAM), static RAM (SRAM), or synchronous dynamic RAM (SDRAM)), non-volatile memory (e.g., one time programmable ROM (OTPROM), programmable ROM (PROM), erasable and programmable ROM (EPROM), electrically erasable and programmable ROM (EEPROM), mask ROM, flash ROM, flash memory (e.g., NAND flash or NOR flash), hard drive, or solid state drive (SSD)), and in the case of memory that can be attached or detached to the robot cleaner (100), it may be implemented as a memory card (e.g., compact flash (CF), secure digital (SD), micro secure digital (Micro-SD), mini secure digital (Mini-SD), extreme digital (xD), multi-media card (MMC), etc.), external memory that can be connected to a USB port (e.g., USB memory), etc. there is.

[0138] The processor (130) may be implemented as a digital signal processor (DSP), a microprocessor, or a time controller (TCON) that processes digital signals. However, the present invention is not limited thereto, and may include one or more of a central processing unit (CPU), a micro controller unit (MCU), a micro processing unit (MPU), a controller, an application processor (AP), a graphics-processing unit (GPU), a communication processor (CP), or an advanced reduced instruction set computer (RISC) machines (ARM) processor, or may be defined by the relevant terminology. In addition, the processor (130) may be implemented as a system on chip (SoC) or large scale integration (LSI) having a processing algorithm built in, or may be implemented in the form of a field programmable gate array (FPGA). In addition, the processor (130) may perform various functions by executing computer executable instructions stored in a memory.

[0139] The communication interface (140) is a configuration that performs communication with various types of external devices according to various types of communication methods. The communication interface (140) may include a wireless communication module or a wired communication module. Here, each communication module may be implemented in the form of at least one hardware chip.

[0140] A wireless communication module may be a module that communicates wirelessly with an external device. For example, the wireless communication module may include at least one of a Wi-Fi module, a Bluetooth module, an infrared communication module, or other communication modules.

[0141] Wi-Fi and Bluetooth modules can communicate via Wi-Fi and Bluetooth, respectively. When using a Wi-Fi or Bluetooth module, various connection information, such as the service set identifier (SSID) and session key, is first transmitted and received. This information is then used to establish a communication connection before various other information can be transmitted and received.

[0142] Infrared communication modules perform communication based on infrared communication (IrDA, infrared Data Association) technology, which transmits data wirelessly over short distances using infrared light, which is between visible light and millimeter waves.

[0143] In addition to the above-described communication method, other communication modules may include at least one communication chip that performs communication according to various wireless communication standards such as zigbee, 3G (3rd Generation), 3GPP (3rd Generation Partnership Project), LTE (Long Term Evolution), LTE-A (LTE Advanced), 4G (4th Generation), 5G (5th Generation), etc.

[0144] A wired communication module may be a module that communicates with an external device via a wire. For example, the wired communication module may include at least one of a Local Area Network (LAN) module, an Ethernet module, a paired cable, a coaxial cable, a fiber optic cable, or an Ultra Wide-Band (UWB) module.

[0145] The operation interface (150) may be implemented as a device such as a button, a touch pad, a mouse, and a keyboard, or as a touch screen capable of performing the above-described display function and operation input function. Here, the button may be a mechanical button, a touch pad, a wheel, or any other type of button formed in any area of ​​the front, side, or back of the main body of the robot cleaner (100).

[0146] The driving unit (160) may be a configuration that generates and transmits physical force to control the movement of the robot cleaner (100). The driving unit (160) may include a motor.

[0147] The speaker (170) may be a component that outputs various audio data as well as various notification sounds or voice messages.

[0148] The microphone (180) is a component for receiving a user's voice or other sounds and converting them into audio data. The microphone (180) can receive the user's voice in an activated state. For example, the microphone (180) can be formed integrally on the upper side, the front side, the side side, etc. of the robot cleaner (100). The microphone (180) can include various components such as a microphone for collecting the user's voice in analog form, an amplifier circuit for amplifying the collected user's voice, an A / D conversion circuit for sampling the amplified user's voice and converting it into a digital signal, and a filter circuit for removing noise components from the converted digital signal.

[0149] FIG. 4 is a drawing for explaining an operation for controlling driving in a robot vacuum cleaner (100) according to one embodiment.

[0150] Referring to FIG. 4, the robot cleaner (100) may include at least one of an object feature preprocessing unit (410), an object movement possibility determination unit (420), an object movement path determination unit (430), an object movement strategy analysis unit (440), and an object movement operation unit (450).

[0151] The object feature preprocessing unit (410) can obtain feature information related to an object. The object feature preprocessing unit (410) can calculate (or identify) the size (or volume) of an object. The object feature preprocessing unit (410) can predict (or identify) the mass of an object. The object feature preprocessing unit (410) can predict (or identify) the texture of an object. The object feature preprocessing unit (410) can predict (or identify) the texture of a floor (or floor surface).

[0152] The object movement possibility determination unit (420) can determine the movement possibility of an object. The object movement possibility determination unit (420) can determine the movement possibility of an object using characteristic information of the object. The object movement possibility determination unit (420) can contact the object and apply physical force to the object. The object movement possibility determination unit (420) can attempt an action of contacting the object and moving the object. The object movement possibility determination unit (420) can determine the movement possibility of the object based on the contact result (or attempt result).

[0153] If the object movement possibility determination unit (420) determines that the object is movable, the object movement path determination unit (430) can perform spatial analysis. The object movement path determination unit (430) can identify spatial information in which the robot cleaner (100) is currently located and the current location of the robot cleaner (100). The robot cleaner (100) can determine the final destination to which the object will be moved.

[0154] The object movement strategy analysis unit (440) can determine additional considerations when performing an operation to move an object. The object movement strategy analysis unit (440) can determine a cleaning time. The object movement strategy analysis unit (440) can determine a movement path based on the cleaning time. For example, the robot cleaner (100) may not move the object directly to the target location but may move the object to a temporary location. The robot cleaner (100) may move the object in the temporary location to the target location by considering the cleaning time. The object movement strategy analysis unit (440) can determine a movement path using power information (or remaining battery level information).

[0155] The object movement operation unit (450) can drive a movement path based on the result information analyzed by the object movement strategy analysis unit (440). The object movement operation unit (450) can control the movement speed. The object movement operation unit (450) can identify additional obstacles (or additional target objects). The object movement operation unit (450) can drive while avoiding the additional obstacles. The object movement operation unit (450) can record the completion of the operation after moving the object to the target location. The object movement operation unit (450) can store the movement path and the final location after the operation is completed.

[0156] FIG. 5 is a flowchart for explaining a driving operation using characteristic information of a target object (10) according to one embodiment.

[0157] Referring to FIG. 5, the robot cleaner (100) can acquire sensing data (S510). The sensing data may be data acquired through a sensor included in the robot cleaner (100).

[0158] The robot cleaner (100) can acquire characteristic information of a target object (10) based on sensing data (S520). The robot cleaner (100) can identify multiple objects through the sensing data. The robot cleaner (100) can select (or identify) an object to be analyzed from among the multiple objects. The object to be analyzed can be determined as the target object (10).

[0159] The robot cleaner (100) can analyze sensing data to obtain at least one characteristic piece of information related to the target object (10) (S520). The characteristic piece of information may include at least one of size information, volume information, mass information, and texture information.

[0160] The robot cleaner (100) can determine whether to move the target object (10) (S530). The robot cleaner (100) can determine whether to move the target object (10) based on the characteristic information of the target object (10). The robot cleaner (100) can determine whether the target object (10) is an object that requires movement.

[0161] If the target object (10) is identified as an object requiring movement, the robot cleaner (100) can determine a movement path of the target object (10) (S540). The robot cleaner (100) can determine how far to move the target object (10) by a preset method. The final location to which the target object (10) is to be moved can be described as a target location.

[0162] The robot cleaner (100) can determine whether to modify its movement path (S550). The robot cleaner (100) can determine whether to modify its movement path by considering additional information before moving the target object (10). The robot cleaner (100) can determine whether to modify its movement path by considering additional information while moving the target object (10). The additional information may be power information of the robot cleaner (100). Descriptions related to this are described in FIGS. 8, 13, and 14. The additional information may be an additional target object. Descriptions related to this are described in FIGS. 20 and 21.

[0163] The robot cleaner (100) can drive based on a movement path or a modified movement path (S560). The robot cleaner (100) can move a target object (10) to a target location based on the movement path or the modified movement path.

[0164] FIG. 6 is a flowchart for explaining an operation for determining whether to avoid a target object (10), according to one embodiment.

[0165] Steps S610, S620, S640, and S660 of FIG. 6 may correspond to steps S510, S520, S540, and S560 of FIG. 5.

[0166] After the characteristic information of the target object (10) is acquired, the robot cleaner (100) can identify the type information of the target object (10) based on the characteristic information (S631). The type information may include information classifying the object into a preset category.

[0167] For example, type information can include a movable type or an immovable type. The type information of a wall object can be an immovable type, while a toy object can be a movable type.

[0168] For example, type information can include fragile and non-fragile types. An object with a glass texture might be a fragile type, while an object with a plastic texture might be a non-fragile type.

[0169] Type information may include at least one type. The type information of the target object (10) may be multiple.

[0170] The robot vacuum cleaner (100) can identify whether the type information of the target object (10) falls within a preset type (S632). The preset type may be described as an avoidance type. The preset type may include a type that requires a high level of avoidance because the target object (10) itself cannot move.

[0171] If the type information of the target object (10) includes a preset type (S632-Y), the robot cleaner (100) can drive while avoiding the target object (10) (S633). The robot cleaner (100) can decide to avoid the target object (10) based on the type information including the preset type.

[0172] If the type information of the target object (10) does not include a preset type (S632-N), the robot cleaner (100) can identify whether the target object (10) is moved (S634). The robot cleaner (100) can apply a physical force to the target object (10) to move the target object (10). The robot cleaner (100) can move by contacting the target object (10). The robot cleaner (100) can attempt to move by contacting the target object (10). After contacting the target object (10), the robot cleaner (100) can determine whether the target object (10) has moved.

[0173] If the target object (10) is heavy, the robot vacuum cleaner (100) may not be able to move the target object (10).

[0174] If the target object (10) does not move (S634), the robot cleaner (100) can drive while avoiding the target object (10) (S633).

[0175] When the target object (10) is moved (S634-Y), the robot cleaner (100) can determine the movement path of the target object (10) (S640). The robot cleaner (100) can drive based on the movement path (S650).

[0176] FIG. 7 is a flowchart for explaining an operation for determining whether to avoid a target object (10), according to one embodiment.

[0177] Steps S710, S720, S740, and S760 of FIG. 7 may correspond to steps S510, S520, S540, and S560 of FIG. 5. Duplicate explanations are omitted.

[0178] After acquiring sensing data, the robot cleaner (100) can acquire at least one of the size information of the target object (10), the mass information of the target object (10), and the texture information of the target object (10) (S720).

[0179] The robot cleaner (100) can determine whether the height of the target object (10) is greater than or equal to a threshold height (S731). The robot cleaner (100) can obtain the height of the target object (10) based on the size information of the target object (10). The robot cleaner (100) can determine whether the height of the target object (10) is greater than or equal to a threshold height (or threshold value).

[0180] If the height of the target object (10) is large, the target object (10) may fall over. The robot vacuum cleaner (100) can use the critical height as a criterion for the risk of falling over.

[0181] If the height of the target object (10) is large, the forward field of view of the robot cleaner (100) may become narrow. This is because the sensor's field of view may be obstructed by the target object (10). If sensing is difficult, there may be a risk of the robot cleaner (100) colliding with another object while moving the target object (10).

[0182] If the height of the target object (10) is greater than or equal to the threshold height (S731-Y), the robot cleaner (100) can drive while avoiding the target object (10) (S732).

[0183] If the height of the target object (10) is not greater than the threshold height (S731-N), the robot cleaner (100) can determine whether the texture information of the target object (10) includes a preset texture (S733). The preset texture may be a texture that is expected to cause damage to the object due to movement of the object. For example, the preset texture may include a glass texture.

[0184] If the texture information of the target object (10) includes a preset texture (S733-Y), the robot cleaner (100) can drive while avoiding the target object (10) (S732).

[0185] If the texture information of the target object (10) does not include a preset texture (S733-N), the robot cleaner (100) can determine whether the mass information of the target object (10) is greater than or equal to a critical mass (S734). If the mass of the robot cleaner (100) is heavy, movement may be impossible.

[0186] If the mass information of the target object (10) is greater than or equal to the critical mass (S734-Y), the robot cleaner (100) can drive while avoiding the target object (10) (S732).

[0187] If the mass information of the target object (10) is not greater than the critical mass (S734-N), the robot cleaner (100) can perform steps S740 and S760.

[0188] FIG. 8 is a flowchart for explaining a driving operation using power information according to one embodiment.

[0189] Referring to FIG. 8, the robot cleaner (100) can determine whether to move the target object (10) (S830). If it is determined to move the target object (10), the robot cleaner (100) can obtain power information of the robot cleaner (100) (S841). The power information may include information on the remaining power for operating the robot cleaner (100). The power information may be described as battery information, remaining battery power information, remaining power information, etc.

[0190] The robot vacuum cleaner (100) can determine how to move the target object (10) based on power information. The movement method of the target object (10) can be described as a movement type. The movement type can include at least one of a distributed movement type, a concentrated movement type, and a linear movement type.

[0191] The robot vacuum cleaner (100) can identify whether the power information is greater than or equal to the first threshold power value (S842).

[0192] If the power information is not greater than the first threshold power value (S842-N), the robot cleaner (100) can perform steps S841 and S842. Additional power may be required to move the target object (10). The robot cleaner (100) can move the target object (10) only when the power information is sufficient.

[0193] If the power information is greater than or equal to the first threshold power value (S842-Y), the robot cleaner (100) can identify whether the power information is greater than or equal to the second threshold value (S843).

[0194] If the power information is not greater than the second threshold value (S843-N), the robot cleaner (100) can determine the distributed movement type (S844).

[0195] If the power information is greater than or equal to the second threshold value (S843-Y), the robot cleaner (100) can identify whether the power information is greater than or equal to the third threshold power value (S845).

[0196] If the power information is not greater than the third threshold power value (S845-N), the robot cleaner (100) can determine the concentrated movement type (S846).

[0197] If the power information is greater than or equal to the third threshold power value (S845-Y), the robot cleaner (100) can determine the linear movement type (S847).

[0198] The robot vacuum cleaner (100) can determine a movement path based on the determined movement type (S848).

[0199] The first threshold power value may be less than the second threshold power value, and the second threshold power value may be less than the third threshold power value.

[0200] FIG. 9 is a drawing for explaining an operation for determining a movement type according to one embodiment.

[0201] Referring to FIG. 9, the robot cleaner (100) can determine the movement type in advance. To determine the movement type in advance, a guide screen (900) for setting the movement type can be provided to the user.

[0202] A guide screen may be provided through the display of the robot cleaner (100) or the user's terminal device.

[0203] For example, a robot cleaner (100) may provide a guide screen (900). The robot cleaner (100) may receive a user input for selecting a movement type through the guide screen (900).

[0204] For example, a user's terminal device may provide a guide screen (900). The user's terminal device may receive the guide screen (900) through a robot cleaner (100), an AP (Access Point) device connected to the robot cleaner (100), or a server connected to the robot cleaner (100). The user's terminal device may receive user input corresponding to various settings related to the robot cleaner (100). The user's terminal device may transmit the user input to the robot cleaner (100). The robot cleaner (100) may apply a preset movement type based on the received user input.

[0205] The guide screen (900) may include at least one of a description area (910), an area corresponding to a distributed movement type (920), an area corresponding to a concentrated movement type (930), and an area corresponding to a linear movement type (940).

[0206] The description area (910) may include text information to guide determination of the movement type.

[0207] The area (920) corresponding to the distributed movement type may include at least one of information indicating the speed of the distributed movement type (speed: fast), information indicating the power consumption of the distributed movement type (power consumption: low), information describing the distributed movement type (moves obstacles to the nearest boundary), and an image for describing the distributed movement type.

[0208] The area (930) corresponding to the concentrated movement type may include at least one of information indicating the speed of the concentrated movement type (speed: medium), information indicating the degree of power consumption of the concentrated movement type (power consumption: medium), information describing the concentrated movement type (moves obstacles to the target position), and an image for describing the concentrated movement type.

[0209] The area (940) corresponding to the linear movement type may include at least one of the following: information indicating the speed of the linear movement type (speed: slow), information indicating the power consumption of the linear movement type (power consumption: high), information describing the linear movement type (moves obstacles in a linear manner to the target position), and an image for describing the linear movement type.

[0210] FIG. 10 is a drawing for explaining a distributed movement type according to one embodiment.

[0211] Referring to the embodiment (1000) of FIG. 10, the robot cleaner (100) can move the target object (10) according to the distributed movement type.

[0212] The robot cleaner (100) can determine the closest location among the boundaries of the target object (10) as the target location (or final location or target location) based on the distributed movement type.

[0213] The robot cleaner (100) can perform spatial analysis. The robot cleaner (100) can analyze the space in which the robot cleaner (100) is located to identify a boundary line or boundary area. The robot cleaner (100) can determine the closest location among the boundary lines as a target location. The boundary line can be described as a corner. The boundary area can be described as a corner area. The boundary area can include a boundary line.

[0214] The robot cleaner (100) can obtain location information of multiple boundary areas and location information of the robot cleaner (100). The robot cleaner (100) can obtain a difference value between the location information of each of the multiple boundary areas and the location information of the target object. The robot cleaner (100) can determine the final location based on the boundary area corresponding to the smallest difference value.

[0215] For example, it is assumed that there are four boundary lines or four boundary areas in the space where the robot cleaner (100) is located. The robot cleaner (100) can identify the closest boundary area among the four boundary areas. The robot cleaner (100) can obtain a plurality of boundary areas and the current location of the target object. The robot cleaner (100) can calculate the difference between each of the four boundary areas and the current location of the target object. The robot cleaner (100) can determine the target location based on the boundary area corresponding to the smallest difference value among the four calculation results (difference values).

[0216] There may be multiple target objects. The robot cleaner (100) can identify multiple target objects (11, 12, 13, 14). The robot cleaner (100) can move the multiple target objects based on a distributed movement type.

[0217] The robot vacuum cleaner (100) can move each target object based on the nearest boundary line.

[0218] The robot vacuum cleaner (100) can determine the final position (1011) corresponding to the first target object (11) based on the position information and spatial information of the first target object (11).

[0219] The robot cleaner (100) can determine the final position (1012) corresponding to the second target object (12) based on the position information and spatial information of the second target object (12).

[0220] The robot cleaner (100) can determine the final position (1013) corresponding to the third target object (13) based on the position information and spatial information of the third target object (13).

[0221] The robot cleaner (100) can determine the final position (1014) corresponding to the fourth target object (14) based on the position information and spatial information of the fourth target object (14).

[0222] FIG. 11 is a drawing for explaining a concentrated movement type according to one embodiment.

[0223] Referring to the embodiment (1100) of Fig. 11, the robot cleaner (100) can move a target object (10) based on a concentrated movement type. The concentrated movement type may be a type that moves a plurality of target objects to preset locations.

[0224] It is assumed that the target object (10) includes a first target object (11), a second target object (12), a third target object (13), and a fourth target object (14).

[0225] The robot vacuum cleaner (100) can move the first target object (11) to a preset location (1111).

[0226] For example, the preset location (1111) may be a location determined based on the closest boundary line to the first target object (11). The robot cleaner (100) may determine the closest location as the preset location (1111) based on the current location of the first target object (11) and a plurality of boundary lines included in the space where the robot cleaner (100) is located. A similar operation is described in FIG. 10. Duplicate descriptions are omitted.

[0227] For example, the preset location (1111) may be a location preset by the user. The robot cleaner (100) may store the preset location (1111) before driving.

[0228] After moving the first target object (11) to the preset location (1111), the robot cleaner (100) can additionally identify the second target object (12). The robot cleaner (100) can determine a location (1112) corresponding to the second target object (12) based on the preset location (1111). The location (1112) may be a location within a threshold distance from the preset location (1111). Since the first target object (1111) exists at the preset location (1111), the robot cleaner (100) can move the second target object (12) to the location (1112).

[0229] After moving the second target object (12) to the location (1112), the robot cleaner (100) can additionally identify a third target object (13). The robot cleaner (100) can determine a location (1113) corresponding to the third target object (13) based on the location (1112). The location (1113) may be a location within a threshold distance from the location (1112). Since the second target object (12) exists at the location (1112), the robot cleaner (100) can move the third target object (13) to the location (1113).

[0230] After moving the third target object (13) to the location (1113), the robot cleaner (100) can additionally identify the fourth target object (14). The robot cleaner (100) can determine the location (1114) corresponding to the fourth target object (14) based on the location (1113). The location (1114) may be a location within a threshold distance from the location (1113). Since the third target object (13) exists at the location (1113), the robot cleaner (100) can move the fourth target object (14) to the location (1114).

[0231] FIG. 12 is a drawing for explaining a linear type according to one embodiment.

[0232] Referring to Fig. 12, the robot cleaner (100) can move a target object (10) based on a linear movement type. The linear movement type may be a type that moves multiple target objects in a linear manner to a preset location.

[0233] The preset positions (1211), (1212), (1213), and (1214) of Fig. 12 may correspond to the preset positions (1111), (1112), (1113), and (1114) of Fig. 11. Duplicate explanations are omitted.

[0234] Unlike the description of Fig. 11 (1100), in the embodiment (1200) of Fig. 12, a linear arrangement form can be maintained when determining the position (1212), position (1213), and position (1214). The robot cleaner (100) can move a plurality of target objects (11, 12, 13, 14) so ​​that the linear arrangement form is maintained.

[0235] FIG. 13 is a flowchart for explaining a driving operation using power information according to one embodiment.

[0236] Referring to FIG. 13, the robot cleaner (100) can determine the movement path of the target object (S1340). Step S1340 may correspond to step S540 of FIG. 5. Duplicate description is omitted.

[0237] After determining the movement path of the target object (10), the robot cleaner (100) can obtain power information (S1351). The power information may include information on the remaining power for operating the robot cleaner (100). The power information may be described as battery information, remaining battery power information, remaining power information, etc.

[0238] The robot vacuum cleaner (100) can determine whether the power information is below the first threshold power value (S1352).

[0239] If the power information is not less than the first threshold power value (S1352-N), the robot cleaner (100) can perform steps S1351 and S1352. The first threshold power value may be the same as the first threshold power value of FIG. 8. The first threshold power value may be used as a criterion for determining battery insufficiency. Power information less than the first threshold power value may be determined to indicate battery insufficiency. The robot cleaner (100) needs to perform a charging operation.

[0240] If the power information is below the first threshold power value (S1352-Y), the robot cleaner (100) can determine whether the target object (10) is a preset object (S1353). The preset object may be an object that requires movement prior to charging. The preset object may be an object that is determined to be highly dangerous. The preset object may be an object classified as a dangerous type.

[0241] For example, in a household with children, hazardous tool objects (such as screwdrivers or awls) may be deemed to require moving before charging. Predefined objects may include tool objects.

[0242] If the target object (10) is a preset object (S1353-Y), the robot cleaner (100) can drive the target object (10) to move to the target location (S1354).

[0243] While driving, the robot cleaner (100) can identify whether the power information is below a second threshold power value (S1355). The second threshold power value may be different from the second threshold power value of FIG. 8. For clarity, the second threshold power value of FIG. 13 may be referred to as a fourth threshold power value.

[0244] The second threshold power value may be less than the first threshold power value.

[0245] If the power information is not less than the second threshold power value (S1355-N), the robot cleaner (100) can perform steps S1354 and S1355.

[0246] If the power information is below the second threshold power value (S1355-Y), the robot cleaner (100) can determine a temporary location within a preset distance from the current location (S1356). The temporary location may be a location to which the target object (10) is temporarily moved for charging.

[0247] If the target object (10) is not a preset object (S1353-N), the robot cleaner (100) can determine a temporary location within a preset distance from the current location (S1356).

[0248] The robot cleaner (100) can clean a temporary location (S1357). The robot cleaner (100) can first clean the temporary location before moving the target object (10).

[0249] When cleaning of the temporary location is completed, the robot cleaner (100) can drive the target object (10) to the temporary location (S1358).

[0250] After the target object (10) is moved to a temporary location, the robot cleaner (100) can drive to a charging location (S1359). The charging location may be a location where a charging device is located.

[0251] After charging is complete, the robot cleaner (100) can drive to move the target object (10) from the temporary location to the target location (S1360). The robot cleaner (100) can move to the temporary location. The robot cleaner (100) can move the target object (10) from the temporary location to the target location.

[0252] FIG. 14 is a drawing for explaining a charging operation while driving, according to one embodiment.

[0253] Referring to an embodiment (1410) of FIG. 14, the robot cleaner (100) may drive to move a first target object (11) to a target location (1411). The robot cleaner (100) may drive to first clean an area (1412) corresponding to the target location (1411). The robot cleaner (100) may decide to clean the area (1412) before moving the first target object (11) to the target location (1411). The robot cleaner (100) may perform an operation corresponding to the decision.

[0254] While driving, the robot cleaner (100) can perform a charging operation. Before moving to the charging device (200), the robot cleaner (100) can move the first target object (11) to a temporary location (1413). The temporary location (1413) may be a location closest to a boundary line of the current location of the robot cleaner (100) (or the current location of the first target object (11)). Before moving the first target object (11) to the temporary location (1413), the robot cleaner (100) can clean an area (1414) corresponding to the temporary location (1413). When cleaning of the area (1414) is completed, the robot cleaner (100) can move the first target object (11) to the temporary location (1413).

[0255] According to the embodiment (1420) of FIG. 14, after the first target object (11) is moved to the temporary location (1413), the robot cleaner (100) can move to the charging location (1415) corresponding to the charging device (200).

[0256] According to the embodiment (1430) of FIG. 14, after the charging of the robot cleaner (100) is completed, the robot cleaner (100) can move the first target object (11) from the temporary location (1413) to the target location (1411). The robot cleaner (100) can decide to clean the area (1412) before moving the first target object (11) to the target location (1411).

[0257] FIG. 15 is a flowchart illustrating an operation of first cleaning a target location according to one embodiment.

[0258] Referring to FIG. 15, the robot cleaner (100) can determine the movement path of the target object (10) (S1540). After the movement path is determined, the robot cleaner (100) can obtain the cleaning progress (S1551). The robot cleaner (100) can obtain the cleaning progress in real time while driving. After the robot cleaner (100) identifies the target object (10) and determines the movement path of the target object (10), the robot cleaner (100) can decide whether to clean the target location by considering the cleaning progress.

[0259] The robot cleaner (100) can determine whether the cleaning progress is above a critical progress level (S1552). If the cleaning progress is determined to be in the initial stage, the robot cleaner (100) can pre-clean the target location. If the target object (10) is moved to the target location, cleaning the target location may be difficult. Therefore, it is necessary to pre-clean the target location.

[0260] If the cleaning progress is not greater than the critical progress (S1552-N), the robot cleaner (100) can identify whether the target location has been cleaned (S1553). The target location may have been cleaned before the target object (10) was discovered.

[0261] If the target location has not been cleaned (S1353), the robot cleaner (100) may drive to clean the target location first, excluding the target object (10) (S1554). The target object (10) may be at its current location or moved to a temporary location. Thereafter, the robot cleaner (100) may perform step S1553.

[0262] When cleaning of the target location is completed (S1553-Y), the robot cleaner (100) can drive the target object (10) to move to the target location (S1560).

[0263] If the cleaning progress is greater than the critical progress (S1552), the robot cleaner (100) can drive the target object (10) to move to the target position (S1560).

[0264] FIG. 16 is a drawing for explaining an operation of first cleaning a target location according to one embodiment.

[0265] Referring to the embodiment (1610) of FIG. 16, the robot cleaner (100) may determine to move the first target object (11) to the target location (1611). The robot cleaner (100) may drive to first clean the area (1612) corresponding to the target location (1611). While cleaning the area (1612), the robot cleaner (100) may not move the first target object (11). The robot cleaner (100) may clean the area (1612) without the target object (10).

[0266] Referring to the embodiment (1620) of FIG. 16, after cleaning the area (1612), the robot cleaner (100) can move the first target object (11) to the target position (1611).

[0267] FIG. 17 is a drawing for explaining an operation of first cleaning a movement path according to one embodiment.

[0268] Referring to the embodiment (1710) of FIG. 17, the robot cleaner (100) may determine to move the first target object (11) to the target location (1711). The robot cleaner (100) may determine to first clean the movement path (1712) corresponding to the target location (1711). While the first target object (11) is moved, dust along the movement path may be dragged along. The robot cleaner (100) may remove dust present along the movement path (1712) by first cleaning the movement path (1712). The movement path (1712) may be described as an area corresponding to the movement path.

[0269] Referring to the embodiment (1720) of FIG. 17, after completing cleaning for the movement path (1712), the robot cleaner (100) can move the first target object (11) to the target position (1711).

[0270] FIG. 18 is a drawing for explaining an operation of first cleaning a target location according to one embodiment.

[0271] Referring to the embodiment (1810) of FIG. 18, the robot cleaner (100) may determine to move the first target object (11) to the target location (1811). The robot cleaner (100) may determine to first clean an area (1812) corresponding to the target location (1811). The robot cleaner (100) may identify a temporary location (1813) within a threshold distance from the target location (1811). The robot cleaner (100) may move the first target object (11) to the temporary location (1813). The temporary location (1813) may be a location where the first target object (11) is temporarily placed so as to first clean the area (1812).

[0272] Referring to the embodiment (1820) of FIG. 18, after moving the first target object (11) to a temporary location (1813), the robot cleaner (100) can clean the area (1812).

[0273] Referring to the embodiment (1830) of FIG. 18, when cleaning of the area (1812) is completed, the robot cleaner (100) can move the first target object (11) to the target position (1811).

[0274] FIG. 19 is a drawing for explaining an operation of determining a target position according to one embodiment.

[0275] Referring to the embodiment (1910) of FIG. 19, the robot cleaner (100) may consider an area where cleaning has already been completed when determining a target location. The robot cleaner (100) may determine the target location based on an area where cleaning has already been completed. The robot cleaner (100) may determine an area (1910) close to a boundary line among the areas where cleaning has already been completed. The robot cleaner (100) may additionally consider the location of target objects (11, 12, 13, 14). The robot cleaner (100) may determine an area (1910) by considering an area adjacent to the target object (11, 12, 13, 14).

[0276] Once the area (1910) is determined, the robot cleaner (100) can perform a cleaning operation for the area (1910). Once cleaning for the area (1910) is completed, the robot cleaner (100) can move the first target object (11) to the location (1911).

[0277] When the first target object (11) is moved to the location (1911), the robot cleaner (100) can move the second target object (12) to the location (1912).

[0278] When the second target object (12) is moved to position (1912), the robot cleaner (100) can move the third target object (13) to position (1913).

[0279] When the third target object (13) is moved to position (1913), the robot cleaner (100) can move the fourth target object (14) to position (1914).

[0280] In Fig. 19, the method of moving multiple target objects (11, 12, 13, 14) partially applies the distributed movement type of Fig. 10. In the embodiment (1000) of Fig. 10, the target objects were moved without considering the area where cleaning was completed. In the embodiment (1900) of Fig. 11, the distributed movement type of Fig. 10 is applied as is, but the moving location may be limited to the area where cleaning was completed.

[0281] The operation of Fig. 19 can be equally applied to the distributed movement type of Fig. 10, the concentrated movement type of Fig. 11, and the linear movement type of Fig. 12. In the embodiment (1100) of Fig. 11, the robot cleaner (100) can determine a target position within an area where cleaning has been completed. In the embodiment (1200) of Fig. 12, the robot cleaner (100) can determine a target position within an area where cleaning has been completed.

[0282] FIG. 20 is a flowchart illustrating an operation for identifying an additional target object (10), according to one embodiment.

[0283] Referring to FIG. 20, the robot cleaner (100) can drive along a movement path with a target object (10) (S2040). The robot cleaner (100) can acquire a change in speed while driving (S2051). The change in speed may include a change in speed of the robot cleaner (100).

[0284] The robot cleaner (100) can determine whether the speed change amount is greater than or equal to the threshold change amount (S2052). If the speed change amount is not greater than or equal to the threshold change amount (S2052-N), the robot cleaner (100) can perform steps S2040, S2051, and S2052. The robot cleaner (100) can determine whether the speed change amount has decreased to or equal to the threshold change amount.

[0285] If the change in speed is greater than or equal to the threshold change (S2052-Y), the robot cleaner (100) can identify an additional target object (S2053). The robot cleaner (100) may come into contact with the additional target object while moving the target object (10). While the target object (10) is moving, the robot cleaner (100) may have its forward view along the moving path obstructed because the target object (10) may block at least part of the sensing angle of the robot cleaner (100).

[0286] If the speed change amount is reduced to a value greater than the threshold change amount, the robot cleaner (100) can determine that an additional target object other than the target object (10) has been contacted.

[0287] The robot cleaner (100) can stop the movement of the target object (10) and acquire sensing data for identifying additional target objects (S2054). The robot cleaner (100) can move from its current location to a location for sensing additional target objects to acquire sensing data.

[0288] The robot vacuum cleaner (100) can obtain feature information of additional target objects based on sensing data (S2055).

[0289] The robot vacuum cleaner (100) can perform an operation corresponding to the characteristic information of the additional target object (S2056). The operation of S2056 may include steps S631, S632, S633, S634, S640, and S660 of FIG. 6. Duplicate descriptions are omitted.

[0290] Depending on the judgment result, the robot cleaner (100) can move only the target object (10). Depending on the judgment result, the robot cleaner (100) can move the target object (10) and additional target objects together.

[0291] FIG. 21 is a drawing for explaining an operation of identifying an additional target object (10) according to one embodiment.

[0292] Referring to the embodiment (2111) of FIG. 21, the robot cleaner (100) can move the first target object (11) to the target position (2111). During the movement, the robot cleaner (100) can identify an event of contact with the second target object (12). If an event in which the amount of change in speed decreases by a threshold value or more is identified, the robot cleaner (100) can determine that it has contacted an additional object (the second target object (12)).

[0293] If it is determined that the first target object (11) and the second target object (12) cannot be moved simultaneously, the robot cleaner (100) can move only the first target object (11) to the target position (2111).

[0294] If the second target object (12) corresponds to a preset type (see step S632 of FIG. 6), the robot cleaner (100) can move only the first target object (11) to the target position (2111).

[0295] Referring to the embodiment (2120) of FIG. 21, the robot cleaner (100) can move the first target object (11) and the second target object (12) together.

[0296] If it is determined that the first target object (11) and the second target object (12) can be moved simultaneously, the robot cleaner (100) can move the first target object (11) and the second target object (12) to the target position (2111).

[0297] If the second target object (12) does not correspond to a preset type (see step S632 of FIG. 6), the robot cleaner (100) can move the first target object (11) and the second target object (12) to the target position (2111).

[0298] FIG. 22 is a flowchart for explaining an operation of obtaining mass information of a target object (10) according to one embodiment.

[0299] Referring to FIG. 22, the robot cleaner (100) can obtain first sensing data (S2210). The first sensing data can include image data.

[0300] The robot cleaner (100) can obtain first characteristic information of the target object (10) based on the first sensing data (S2221). The first characteristic information may include at least one of size information and texture information of the target object (10).

[0301] The robot vacuum cleaner (100) can identify the type information of the target object (10) based on the first characteristic information (S2222).

[0302] The robot vacuum cleaner (100) can determine whether the type information of the target object (10) is included in a preset type (S2232). Step S2232 may correspond to step S632 of FIG. 6. Duplicate explanation is omitted.

[0303] The preset type may be described as an avoidance type. The preset type may include a type that requires a high level of avoidance because the target object (10) itself cannot move.

[0304] If the type information of the target object (10) is included in the preset type (S2232-Y), the robot cleaner (100) can drive while avoiding the target object (10) (S2233). Step S2233 may correspond to step S633 of FIG. 6. Duplicate explanation is omitted.

[0305] If the type information of the target object (10) is not included in the preset type (S2232-N), the robot cleaner (100) can acquire second sensing data while driving to move the target object (10) (S2232-1). The robot cleaner (100) can acquire second sensing data while applying physical force to the target object (10).

[0306] The robot vacuum cleaner (100) can identify whether the target object (10) is moving (S2234). Step S2234 may correspond to step S634 of FIG. 6. Duplicate explanation is omitted.

[0307] If the target object (10) does not move (S2234-N), the robot cleaner (100) can drive while avoiding the target object (10) (S2233).

[0308] When the target object (10) moves (S2234-Y), the robot cleaner (100) can acquire second characteristic information of the target object (10) based on second sensing data (S2241). The second sensing data may include at least one of velocity data and acceleration data. The second characteristic information may include mass information of the target object (10).

[0309] The robot cleaner (100) can determine a movement speed based on the second characteristic information (S2242). The robot cleaner (100) can determine a target location to which the target object (10) is to be moved. The robot cleaner (100) can determine a movement path based on the target location (S2243). The robot cleaner (100) can drive based on the movement speed and movement path (S2260).

[0310] In step S2221 of FIG. 22, the first feature information is described as including size information, texture information, etc. Depending on the implementation example, the first feature information may additionally include mass information. The robot cleaner (100) can identify (or predict) the mass information of the target object (10) based on the first sensing data. Based on the first sensing data, the mass information of the target object (10) may correspond to a predicted value, and thus, the accuracy may be reduced.

[0311] The robot cleaner (100) can obtain accurate mass information through step S2232-1. The robot cleaner (100) can update the mass information included in the first characteristic information based on the second sensing data. The second characteristic information can update the first characteristic information.

[0312] For example, the second feature information may include updated mass information of the target object (10).

[0313] For example, the second feature information may include at least one of existing size information, existing texture information, and updated mass information.

[0314] For example, the first sensing data may be image data, and the second sensing data may be velocity data or acceleration data.

[0315] The robot cleaner (100) can update the mass information (predicted value) of the target object (10) acquired through the initial first sensing data using the second sensing data. The second sensing data may be data acquired after applying force to the target object (10). The updated mass information acquired by the robot cleaner (100) is more likely to be closer to the actual mass.

[0316] FIG. 23 is a flowchart for explaining an operation of obtaining mass information of a target object (10) according to one embodiment.

[0317] Referring to FIG. 23, the robot cleaner (100) can obtain a driving command to move a target object (10) (S2341). The robot cleaner (100) can obtain first mass information, first acceleration information, and first speed information (S2342).

[0318] The robot vacuum cleaner (100) can drive by using first acceleration information by coming into contact with the target object (10) (S2343).

[0319] The robot cleaner (100) can identify whether the target object (10) is moving (S2344). If the target object (10) is moving (S2344-Y), the robot cleaner (100) can obtain second speed information after the target object (10) moves (S2345).

[0320] The robot vacuum cleaner (100) can obtain second mass information of the target object (10) based on the first mass information, the first speed information, and the second speed information (S2346).

[0321] The robot vacuum cleaner (100) can obtain second characteristic information including second mass information of the target object (10) (S2347).

[0322] If the target object (10) does not move (S2344-N), the robot cleaner (100) can identify friction coefficient information of the floor (S2348). The friction coefficient information may include information related to the static friction coefficient. The robot cleaner (100) can identify friction coefficient information of the floor (or floor surface) based on the first sensing data.

[0323] The robot cleaner (100) can identify a floor object based on image data included in the first sensing data. The robot cleaner (100) can identify the texture of the floor object. The robot cleaner (100) can obtain friction coefficient information corresponding to the texture of the floor object. The robot cleaner (100) may store friction coefficient information corresponding to the texture in advance.

[0324] The robot cleaner (100) can obtain second mass information of the target object (10) based on the first mass information, the first acceleration information, the friction coefficient information, and the gravitational acceleration information (S2349). The robot cleaner (100) can obtain second feature information including the second mass information of the target object (10) (S2347).

[0325] FIG. 24 is a flowchart for explaining an operation of obtaining mass information of a target object (10) according to one embodiment.

[0326] Steps S2441, S2442, S2443, S2444, S2445, S2446, S2447, S2448, and S2449 of FIG. 24 may correspond to steps S2341, S2342, S2343, S2344, S2345, S2346, S2347, S2348, and S2349 of FIG. 23. Duplicate explanations are omitted.

[0327] If the target object does not move (S2444-N), the robot cleaner (100) can drive with the second acceleration information after coming into contact with the target object (10) (S2444-1). The second acceleration information may have a greater value than the first acceleration information. The robot cleaner (100) can push the target object (10) with greater force. The robot cleaner (100) can attempt to drive to move the target object (10) based on the second acceleration information.

[0328] The robot cleaner (100) can identify whether the target object (10) is moving (S2444-2). If the target object (10) is moving (S2444-Y), the robot cleaner (100) can perform steps S2445, S2446, and S2447.

[0329] If the target object (10) does not move (S2444-N), the robot cleaner (100) can identify the friction coefficient information of the floor surface (S2448).

[0330] The robot cleaner (100) can obtain second mass information of the target object (10) based on the first mass information, second acceleration information, friction coefficient information, and gravitational acceleration information (S2449). The robot cleaner (100) can obtain second feature information including the second mass information of the target object (10).

[0331] FIG. 25 is a drawing for explaining an operation of obtaining mass information of a target object (10) according to one embodiment.

[0332] Figure 25 shows a process for calculating the mass of a target object (10) in a situation where the target object (10) is moving.

[0333] An embodiment (2510) of FIG. 25 shows that a robot cleaner (100) has a first mass (mr) and a first velocity (V1). The robot cleaner (100) can move a target object (10) that has a second mass (mo) and is stationary (velocity Vo=0). After the robot cleaner (100) comes into contact with the target object (10), the target object (10) can be moved. The velocity at which the robot cleaner (100) and the target object (10) move together can be a second velocity (V2).

[0334] The left side of mathematical equation (2520) of Fig. 25 represents the momentum before the robot cleaner (100) moves the target object (10). The right side of mathematical equation (2520) represents the momentum when the robot cleaner (100) and the target object (10) move together. It is assumed that momentum is conserved.

[0335] Mathematical expression (2530) of Fig. 25 represents the result of applying mathematical expression (2520) to Vo=0, which indicates that the target object (10) is stationary.

[0336] Mathematical expression (2540) of Fig. 25 represents a calculation process for obtaining the second mass (mo) of the target object (10). The robot cleaner (100) can calculate the second mass (mo) of the target object (10) based on the first mass (mr), the first velocity (V1), and the second velocity (V2).

[0337] FIG. 26 is a drawing for explaining an operation of obtaining mass information of a target object (10) according to one embodiment.

[0338] Figure 26 shows a process for calculating the mass of a target object (10) in a situation where the target object (10) is not moving.

[0339] Example 2610 of Fig. 26 illustrates a situation in which the target object (10) does not move even though the robot cleaner (100) applies a force Fr to the target object (10). It is assumed that the frictional force acts in the opposite direction by Fo.

[0340] Mathematical expression (2620) of Fig. 26 indicates that the force (Fr) provided by the robot cleaner (100) to the target object (10) is less than the friction force (Fo).

[0341] Mathematical expression (2630) of Fig. 26 indicates that the frictional force (Fo) is the product of the coefficient of static friction (us) and the normal force (N).

[0342] The mathematical expression (2640) of Fig. 26 can be expressed as the product of the force (Fr) pushing the target object (10) and the first acceleration (ar). The vertical drag (N) can be expressed as the product of the second mass (mo) of the target object (10) and the gravitational acceleration (g).

[0343] The mathematical expression (2650) of Fig. 26 indicates that the second mass (mo) of the target object (10) is greater than a specific value (M). The specific value (M) can be calculated based on the first mass (mr), the first acceleration (ar), the coefficient of static friction (us), and the acceleration of gravity (g). The specific value (M) can be (mr*ar) / (us*g).

[0344] According to one embodiment, the robot cleaner (100) may determine the second mass (mo) of the target object (10) as a specific value (M). Physically, the second mass (mo) of the target object (10) may be greater than the specific value (M). However, for convenience of calculation, the robot cleaner (100) may determine the second mass (mo) of the target object (10) as the specific value (M).

[0345] According to one embodiment, the robot cleaner (100) can determine the second mass (mo) of the target object (10) as a value obtained by adding a specific value (M) and a constant. The constant may be a preset constant.

[0346] Fig. 27 is a flowchart for explaining an operation for determining whether a target object (10) moves, according to one embodiment.

[0347] Referring to FIG. 27, the robot cleaner (100) can obtain sensing data (S2710). The robot cleaner (100) can identify a target object (10) based on the sensing data (S2720).

[0348] The robot cleaner (100) can determine whether the type of the target object (10) is identified (S2731). If the type is not identified (S2731-N), the robot cleaner (100) can drive while avoiding the target object (10) (S2732).

[0349] Once the type is identified (S2731-Y), the robot cleaner (100) can determine whether the type of the target object (10) is included in the preset type (S2733).

[0350] If the type of the target object (10) is included in the preset type (S2733-Y), the robot cleaner (100) can drive while avoiding the target object (10) (S2732).

[0351] If the type of the target object (10) is not included in the preset types (S2733-N), the robot cleaner (100) can acquire feature information of the target object (10) and feature information of the floor surface based on the sensing data (S2734). The feature information of the target object (10) may include size, mass, texture, etc. The feature information of the floor surface may include texture.

[0352] The robot cleaner (100) can drive to move the target object (10) (S2735). The robot cleaner (100) can identify whether the target object (10) is moving (S2736).

[0353] If the target object (10) does not move (S2736-N), the robot cleaner (100) can drive while avoiding the target object (10) (S2732).

[0354] When the target object (10) is moved (S2736-Y), the robot cleaner (100) can determine a target position to which the target object (10) is to be moved (S2740). The robot cleaner (100) can drive to move the target object (10) to the target position (S2760).

[0355] The operations of Fig. 27 may represent an embodiment in which the order of operations of Fig. 6 is partially changed. Accordingly, some operations of Fig. 27 may correspond to some operations of Fig. 6. Duplicate explanations are omitted.

[0356] Fig. 28 is a flowchart for explaining a control method of a robot vacuum cleaner (100) according to one embodiment.

[0357] Referring to FIG. 28, a control method of a robot cleaner (100) includes a step of identifying a plurality of objects based on sensing data, a step of identifying a target object located on a driving surface of the robot cleaner (100) among the plurality of objects, a step of obtaining power information indicating a remaining power of the robot cleaner (100), a step of determining whether to avoid the target object based on a comparison result of the power information and a threshold power value, a step of driving to avoid the target object if the power information is less than the threshold power value, a step of obtaining characteristic information of the target object based on the sensing data if the power information is greater than or equal to the threshold power value, a step of obtaining type information of the target object based on the characteristic information, a step of driving to avoid the target object if the type information includes a preset type, and a step of driving based on a movement path for moving the target object to a target position if the type information does not include a preset type.

[0358] The above control method comprises a step of driving based on a test mode in which the robot cleaner contacts the target object at a preset acceleration if the type information does not include a preset type; and

[0359] If the target object is moved based on the test mode, the method may further include a step of determining a movement path for moving the target object to a target position, and driving based on a movement mode for moving the target object along the movement path.

[0360] The above control method may further include a step of driving while avoiding the target object if the target object does not move based on the test mode.

[0361] The step of acquiring the above characteristic information may acquire the characteristic information including at least one of size information, mass information, and texture information of the target object based on the sensing data, and the step of acquiring the type information may acquire the type information for determining the possibility of movement of the target object based on the characteristic information.

[0362] The above control method further includes a step of identifying the type information as a type that cannot be moved if the height of the target object is greater than or equal to a threshold height based on size information of the target object, and the preset type may include the type that cannot be moved.

[0363] The control method further includes a step of identifying the type information as a type that cannot move if the mass of the target object is greater than or equal to a threshold mass based on mass information of the target object, and the preset type may include the type that cannot move.

[0364] The control method further includes a step of identifying the type information as a non-movable type when the texture of the target object is identified as glass based on the texture information of the target object, and the preset type may include the non-movable type.

[0365] The above movement path is a first movement path, and the control method may further include a step of driving to move the target object to a temporary location when the power information is less than a threshold power value, a step of driving to move the target object to a charging location without the target object when the target object is moved to the temporary location, a step of changing the first movement path to a second movement path when charging is complete to move the target object from the temporary location to the target location, and a step of driving based on the second movement path.

[0366] The above control method may further include a step of determining a movement type corresponding to the power information among a plurality of movement types and a step of determining the target position based on the movement type.

[0367] The step of driving based on the above movement path may include driving to clean the movement path without the target object if the type information does not include the preset type, and driving to move the target object to the target position based on the movement path for which cleaning has been completed.

[0368] Meanwhile, the methods according to the various embodiments of the present disclosure described above can be implemented in the form of an application that can be installed on an existing robot vacuum cleaner.

[0369] Additionally, the methods according to the various embodiments of the present disclosure described above can be implemented only with a software upgrade or a hardware upgrade for an existing robot vacuum cleaner.

[0370] Additionally, the various embodiments of the present disclosure described above may be performed through an embedded server provided in a robot cleaner, or an external server of at least one of the robot cleaner and the display device.

[0371] Meanwhile, according to a temporary example of the present disclosure, the various embodiments described above can be implemented as software including commands stored in a machine-readable storage medium that can be read by a machine (e.g., a computer). The device is a device that can call commands stored from the storage medium and operate according to the called commands, and may include a robot cleaner according to the disclosed embodiments. When the command is executed by the processor, the processor can perform a function corresponding to the command directly or by using other components under the control of the processor. The command may include code generated or executed by a compiler or interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-transitory' means that the storage medium does not contain a signal and is tangible, but does not distinguish between whether data is stored semi-permanently or temporarily in the storage medium.

[0372] Furthermore, according to one embodiment of the present disclosure, the method according to the various embodiments described above may be provided as included in a computer program product. The computer program product may be traded as a product between a seller and a buyer. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., compact disc read-only memory (CD-ROM)) or online through an application store (e.g., Play Store™). In the case of online distribution, at least a portion of the computer program product may be temporarily stored or temporarily generated in a storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server.

[0373] In addition, each of the components (e.g., modules or programs) according to the various embodiments described above may be composed of a single or multiple entities, and some of the corresponding sub-components described above may be omitted, or other sub-components may be further included in various embodiments. Alternatively or additionally, some components (e.g., modules or programs) may be integrated into a single entity, which may perform the same or similar functions as those performed by each of the corresponding components prior to integration. Operations performed by modules, programs or other components according to various embodiments may be executed sequentially, in parallel, iteratively or heuristically, or at least some operations may be executed in a different order, omitted, or other operations may be added.

[0374] Although the preferred embodiments of the present disclosure have been illustrated and described above, the present disclosure is not limited to the specific embodiments described above, and various modifications may be made by a person having ordinary skill in the art to which the present disclosure pertains without departing from the gist of the present disclosure as claimed in the claims, and such modifications should not be understood individually from the technical idea or prospect of the present disclosure.

Claims

1. In robot vacuum cleaners, Sensor section; At least one memory storing at least one instruction; and comprising at least one processor; By executing at least one instruction, said at least one processor: Identifying multiple objects based on sensing data acquired through the above sensor unit, Identifying a target object located on the driving surface of the robot cleaner among the above multiple objects, Obtain power information indicating the remaining power of the robot vacuum cleaner, Based on the comparison result of the above power information and the threshold power value, determine whether to avoid the target object, If the power information is less than the threshold power value, the robot cleaner is controlled to drive while avoiding the target object. If the power information is greater than or equal to the threshold power value, feature information of the target object is acquired based on the sensing data, Obtain type information of the target object based on the above characteristic information, If the above type information includes a preset type, the robot cleaner is controlled to drive while avoiding the target object. A robot cleaner, which controls the robot cleaner to drive based on a movement path for moving the target object to a target location if the type information does not include a preset type.

2. In paragraph 1, At least one processor of the above, If the above type information does not include a preset type, the robot cleaner is controlled to drive based on a test mode in which the robot cleaner contacts the target object at a preset acceleration; When the target object moves while driving in the above test mode, a movement path is determined to move the target object to the target position, A robot cleaner, which controls the robot cleaner to drive based on a movement mode that moves the target object along the movement path.

3. In paragraph 2, At least one processor of the above, A robot cleaner, which controls the robot cleaner to drive while avoiding the target object if the target object does not move while driving in the test mode.

4. In paragraph 1, The above feature information is, Contains at least one of the size information of the target object, the mass information of the target object, and the texture information of the target object, The above type information is, A robot vacuum cleaner comprising information related to the possibility of movement of the target object.

5. In paragraph 4, The above size information is, Contains the height of the target object, At least one processor of the above, A robot cleaner, wherein if the height of the target object is greater than or equal to a threshold height, the type information is identified as including the preset type.

6. In paragraph 4, The above mass information is, Contains the mass of the above target object, At least one processor of the above, A robot vacuum cleaner, wherein if the mass of the target object is greater than or equal to a threshold mass, the type information is identified as including the preset type.

7. In paragraph 4, The above texture information is, Contains the texture of the above target object, At least one processor of the above, A robot cleaner, wherein if the texture of the target object is glass, the type information is identified as including the preset type.

8. In paragraph 1, The above movement path is the first movement path, At least one processor of the above, If the power information is less than the threshold power value, the robot cleaner is controlled to drive to move the target object to a temporary location. When the target object is moved to the temporary location, the robot cleaner is controlled to drive to the charging location without the target object, When the charging operation is completed, the first movement path is changed to a second movement path to move the target object from the temporary location to the target location, A robot cleaner, which controls the robot cleaner to drive based on the second movement path.

9. In paragraph 1, At least one processor of the above, Identifying a movement type corresponding to the power information among a plurality of movement types stored in at least one memory, A robot vacuum cleaner that determines the target position based on the movement type.

10. In paragraph 1, At least one processor of the above, If the above type information does not include the above preset type, drive to clean the movement path without the target object, A robot cleaner, which controls the robot cleaner to move the target object to the target position along the movement path when cleaning of the movement path is completed.

11. In a method for controlling a robot vacuum cleaner, Identify multiple objects based on sensing data, A step of identifying a target object located on the driving surface of the robot cleaner among the plurality of objects; A step of obtaining power information indicating the remaining power of the robot cleaner; A step of determining whether to avoid the target object based on the comparison result of the power information and the threshold power value; If the power information is less than the threshold power value, a step of driving while avoiding the target object; If the power information is greater than or equal to the threshold power value, a step of obtaining characteristic information of the target object based on the sensing data; A step of obtaining type information of the target object based on the above characteristic information; If the above type information includes a preset type, a step of driving while avoiding the target object; and A control method, comprising: a step of driving based on a movement path for moving the target object to a target position if the type information does not include a preset type; 12. In paragraph 11, The above control method is, If the type information does not include a preset type, the robot cleaner drives based on a test mode in which it contacts the target object at a preset acceleration; a step of determining a movement path for moving the target object to a target position when the target object moves while driving in the test mode; and A control method, comprising: a step of driving based on a movement mode that moves the target object along the movement path; 13. In paragraph 12, The above control method is, A control method, comprising: a step of driving while avoiding the target object if the target object does not move while driving in the test mode; 14. In paragraph 11, The above feature information is, Contains at least one of the size information of the target object, the mass information of the target object, and the texture information of the target object, The above type information is, A control method comprising information related to the possibility of movement of the target object.

15. In paragraph 14, The above size information is, Contains the height of the target object, The above control method is, A control method, comprising: a step of identifying the type information as including the preset type if the height of the target object is greater than or equal to a threshold height;

Citation Information

Patent Citations

  • Controlling method of robot cleaner

    KR100963781B1

  • While moving of the travelling robot the robot cleaner which equips fully a discrimination of obstacle element and automatic charging equipment and analysis and evasion method

    KR1020090053983A

  • Portable electric vehicle charging device

    KR1020230110075A

  • Artificial intelligence Moving Robot and controlling method

    KR102330607B1

  • Mobile robot and mobile robot charge station return system

    US20070096676A1