Robot cleaner and cleaning method therefor
Patent Information
- Application Number
- PCT/KR2024/008887
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-08-14
- Filing Date
- 2024-06-26
- Publication Date
- 2025-02-20
Smart Images

Figure KR2024008887_20022025_PF_FP_ABST
Abstract
Description
Robot vacuum cleaner and its cleaning method
[0001] The present disclosure relates to a robot vacuum cleaner and a cleaning method thereof, and more particularly, to a robot vacuum cleaner that moves within a space and performs a cleaning operation, and a cleaning method thereof.
[0002] A robot can refer to various types of machines capable of performing tasks independently. Specifically, beyond simple repetitive tasks, robots can sense their surroundings in real time using sensors, cameras, and other means, gather information, and navigate autonomously.
[0003] These robots are currently being used in many fields, and in the home, robot vacuum cleaners are widely used.
[0004] In this case, the robot cleaner uses sensors equipped on the robot cleaner to detect the location and distance of obstacles, and uses the detection results to determine the robot cleaner's moving speed and direction, and drives accordingly. Furthermore, the robot cleaner can perform cleaning operations by sucking up foreign substances while moving.
[0005] When obstacles are present within the cleaning space, cleaning the space occupied by the obstacles is not properly performed. Furthermore, due to the difficulty in cleaning the space occupied by obstacles, a method to increase the coverage rate was requested.
[0006] According to one embodiment of the present disclosure, a robot cleaner includes a sensor, a driving unit, an input interface, a memory storing a map of a space where the robot cleaner is located, and one or more processors. When a user input for setting the mode of the robot cleaner to a first mode is received through the input interface, the one or more processors control the driving unit so that the robot cleaner performs a cleaning operation based on the map. When an obstacle detected by the sensor while the robot cleaner is performing a cleaning operation is identified as a target obstacle, the one or more processors identify a driving path for moving the obstacle from a first location to a second location based on the shape of the obstacle and the location of an area where cleaning has been completed in the map. The one or more processors control the driving unit so that the robot cleaner performs a cleaning operation for the first location after moving the obstacle to the second location along the driving path.
[0007] The one or more processors may identify the detected obstacle as the target obstacle if the detected obstacle is identified as a floor obstacle, an object that can be contacted by the robot cleaner, and an object that can be pushed by the robot cleaner based on the sensing data acquired through the sensor.
[0008] The one or more processors may identify whether the detected obstacle is an obstacle existing in the map based on the sensing data acquired through the sensor, and if the detected obstacle is identified as an obstacle not existing in the map, may identify whether the detected obstacle is a floor obstacle based on the type of the detected obstacle.
[0009] The one or more processors can identify attributes of the detected obstacle based on sensing data acquired through the sensor, and can identify, based on the identified attributes, whether the detected obstacle is an object that can be contacted by the robot cleaner and whether the detected obstacle is an object that can be pushed by the robot cleaner.
[0010] The one or more processors, when the obstacle is identified as a target obstacle, may identify a shape of the obstacle based on sensing data acquired through the sensor, identify a contact portion of the obstacle based on the shape of the obstacle, and identify a driving path for moving the obstacle from the first location to a second location based on the location of the contact portion and the location of the area where cleaning has been completed on the map. The contact portion may be a part of the obstacle that the robot cleaner comes into contact with so that the robot cleaner pushes and moves the obstacle.
[0011] The one or more processors can identify a plane in the obstacle based on a shape of the obstacle and identify the plane as the contact portion.
[0012] The one or more processors may control the driving unit to move the obstacle at the second location to the first location when the cleaning operation for the first location is completed.
[0013] The one or more processors may control the driving unit to move the robot cleaner within the space based on the map when a user input for setting the mode of the robot cleaner to the second mode is received through the input interface, and when an obstacle detected by the sensor while the robot cleaner is moving is identified as a target obstacle, the driving unit may identify an area corresponding to the obstacle among a plurality of areas included in the map based on the type of the obstacle, and control the driving unit to move the robot cleaner to the obstacle to the area based on the location of the area.
[0014] The one or more processors may control the driving unit so that the robot cleaner performs a cleaning operation when a user input for a cleaning operation is received through the input interface after the obstacle is moved into the area.
[0015] The one or more processors may control the driving unit so that the robot cleaner performs a cleaning operation for the entire area of the map based on the map when a user input for cleaning the entire area is received through the input interface after the obstacle is moved to the area, and may control the driving unit so that the robot cleaner performs a cleaning operation for the area where the obstacle was located based on the map when a user input for cleaning the area where the obstacle was moved to the area is received.
[0016] A cleaning method of a robot cleaner including a sensor according to one embodiment of the present disclosure includes the steps of: performing a cleaning operation based on a map when a user input for setting a mode of the robot cleaner to a first mode is received; identifying a driving path for moving the obstacle at a first location to a second location based on a shape of the obstacle and a location of an area where cleaning has been completed in the map when an obstacle detected by the sensor while the robot cleaner is performing the cleaning operation is identified as a target obstacle; and performing a cleaning operation for the first location after moving the obstacle to the second location along the driving path.
[0017] A non-transitory computer-readable medium storing computer instructions that, when executed by one or more processors of a robot cleaner including a sensor according to one embodiment of the present disclosure, cause the robot cleaner to perform an operation, the operation comprising: when a user input for setting a mode of the robot cleaner to a first mode is received, performing a cleaning operation based on a map; when an obstacle detected by the sensor while the robot cleaner is performing the cleaning operation is identified as a target obstacle, identifying a driving path for moving the obstacle from a first location to a second location based on a shape of the obstacle and a location of an area in which cleaning has been completed in the map; and performing a cleaning operation for the first location after moving the obstacle to the second location along the driving path.
[0018] FIG. 1 is a drawing for explaining a robot vacuum cleaner according to an embodiment of the present disclosure;
[0019] FIG. 2A is a block diagram for explaining the configuration of a robot vacuum cleaner according to an embodiment of the present disclosure;
[0020] FIG. 2b is a block diagram for explaining the configuration of a robot vacuum cleaner according to an embodiment of the present disclosure;
[0021] FIG. 3, FIG. 4a, FIG. 4b, FIG. 4c, FIG. 4d, FIG. 4e, FIG. 4f, and FIG. 4g are drawings for explaining the operation of a robot cleaner according to a first mode according to an embodiment of the present disclosure.
[0022] FIG. 5 is a drawing for explaining a method for a robot cleaner to identify whether an obstacle is a target obstacle according to an embodiment of the present disclosure;
[0023] FIG. 6, FIG. 7a, and FIG. 7b are drawings for explaining the operation of the robot cleaner according to the second mode according to an embodiment of the present disclosure, and
[0024] FIG. 8 is a flowchart for explaining a cleaning method of a robot vacuum cleaner according to an embodiment of the present disclosure.
[0025] It should be understood that the various embodiments of the present disclosure and the terminology used therein are not intended to limit the technical features described in the present disclosure to specific embodiments, but rather to encompass various modifications, equivalents, or alternatives of the embodiments.
[0026] In connection with the description of the drawings, similar reference numerals may be used for similar or related components.
[0027] The singular form of a noun corresponding to an item may include one or more items, unless the context clearly indicates otherwise.
[0028] In this disclosure, phrases such as "A or B," "at least one of A and B," "at least one of A or B," "A, B, or C," "at least one of A, B, and C," and "at least one of A, B, or C" can each include any one of the items listed together in that phrase, or all possible combinations thereof. For example, "A or B," "at least one of A and B," or "at least one of A or B" can all refer to (1) including at least one A, (2) including at least one B, or (3) including both at least one A and at least one B.
[0029] Terms such as "first," "second," or "first" or "second" may be used simply to distinguish one component from another and do not qualify the components in any other respect (e.g., importance or order).
[0030] When a component (e.g., a first component) is referred to as being “coupled” or “connected” to another component (e.g., a second component), with or without the terms “functionally” or “communicatively,” it means that the component can be connected to the other component directly (e.g., wired), wirelessly, or through a third component.
[0031] The terms "include" or "have" are intended to specify the presence of a feature, number, step, operation, component, part or combination thereof described in this document, but do not preclude the presence or addition of one or more other features, numbers, steps, operations, components, parts or combinations thereof.
[0032] When a component is said to be “connected,” “coupled,” “supported,” or “in contact with” another component, this includes not only cases where the components are directly connected, coupled, supported, or in contact, but also cases where the components are indirectly connected, coupled, supported, or in contact through a third component.
[0033] When we say that a component is "on" another component, this includes not only cases where the component is in contact with the other component, but also cases where there is another component between the two components.
[0034] The term "and / or" includes any combination of a plurality of related described elements or any one of a plurality of related described elements.
[0035] In some contexts, the phrase "a device configured to" may mean that the device, in conjunction with other devices or components, is "capable of" performing A, B, and C. For example, the phrase "a processor configured (or set) to perform A, B, and C" may refer to a dedicated processor (e.g., an embedded processor) for performing those operations, or a general-purpose processor (e.g., a CPU or application processor) that can perform those operations by executing one or more software programs stored in a memory device.
[0036] In the embodiments, a "module" or "part" performs at least one function or operation and may be implemented as hardware or software, or as a combination of hardware and software. Furthermore, a plurality of "modules" or "parts" may be integrated into at least one module and implemented as at least one processor (not shown), excluding any "module" or "part" that needs to be implemented as specific hardware.
[0037] Meanwhile, the various elements and areas in the drawings are schematically drawn. Therefore, the technical concept of the present invention is not limited by the relative sizes or spacing depicted in the attached drawings.
[0038] The neural network model according to the present disclosure refers to an artificial intelligence model that includes a neural network and can be trained through deep learning. The neural network model may be of a type such as an object recognition model. However, the neural network model according to the present disclosure is not limited to the examples described above.
[0039] The type of neural network included in the neural network model according to the present disclosure is also not limited to a specific type. That is, the neural network model according to the present disclosure may include various types of neural networks, such as a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), and a generative adversarial network (GAN). In addition, the neural network model according to the present disclosure may be implemented in the form of an on-device included in the robot cleaner (100), and may also be included in an external device connected to the robot cleaner (100).
[0040] In the present disclosure, the type of obstacle may indicate not only the type of object, but also what kind of object it is.
[0041] One or more embodiments of the present disclosure will now be described in more detail with reference to the accompanying drawings.
[0042] FIG. 1 is a drawing for explaining a robot vacuum cleaner according to an embodiment of the present disclosure.
[0043] Referring to FIG. 1, the robot cleaner (100) can clean the space in which the robot cleaner (100) is located.
[0044] The space may include various indoor spaces in which the robot cleaner (100) can drive, such as a home, office, hotel, factory, store, mart, restaurant, etc.
[0045] The cleaning action may include the robot cleaner (100) moving through space and sucking up foreign substances such as dust present on the floor.
[0046] A robot cleaner (100) may be equipped with a sensor. The robot cleaner (100) may generate a map (e.g., map data) of a space in which the robot cleaner (100) is located based on sensing data acquired by the sensor. For example, the robot cleaner (100) may generate a map corresponding to a space using sensing data and various mapping algorithms, and store the generated map in the memory of the robot cleaner (100). The map may be a 2D map or a 3D map. The map may include information on the location, size, shape, etc. of a plurality of sub-spaces (e.g., rooms) included in the space, and may include information on the location, size, shape, etc. of obstacles (e.g., furniture, home appliances, etc.) included in the space.
[0047] The robot cleaner (100) can identify a driving path based on a map, and identify the location of the robot cleaner (100) on the map based on sensing data acquired by sensors while the robot cleaner (100) moves along the driving path. For example, the robot cleaner (100) can create a map using simultaneous localization and mapping (SLAM) and identify the location of the robot cleaner (100). In addition, the robot cleaner (100) can detect obstacles based on sensing data acquired by sensors and move while avoiding the obstacles.
[0048] Meanwhile, the shape of the robot cleaner (100) illustrated in Fig. 1 is an example. For example, the shape of the robot cleaner (100) may be various shapes such as a cylinder, a rectangular parallelepiped, a cube, etc.
[0049] FIG. 2A is a block diagram for explaining the configuration of a robot vacuum cleaner according to an embodiment of the present disclosure.
[0050] Referring to FIG. 2a, the robot cleaner (100) includes a sensor (110), a driving unit (120), an input interface (130), a memory (140), and one or more processors (150).
[0051] The sensor (110) can sense the status of the robot cleaner (100) or the environment around the robot cleaner (100) to obtain sensing data.
[0052] For example, the sensor (110) may include at least one of an inertial measurement unit (IMU) sensor, a light detection and ranging (LiDAR) sensor, an infrared sensor, an ultrasonic sensor, a camera, a pressure sensor, and a wheel encoder.
[0053] The IMU sensor can sense acceleration and angular velocity of the robot cleaner (100) by using at least one of an accelerometer sensor, a gyroscope sensor, and a magnetometer sensor.
[0054] A lidar sensor, an infrared sensor, and an ultrasonic sensor output light (e.g., laser, infrared, ultrasonic) and measure the time it takes for the output light to be reflected by an obstacle around the robot cleaner (100) and return to the robot cleaner (100), thereby sensing the surrounding environment of the robot cleaner (100). For example, the lidar sensor, the infrared sensor, and the ultrasonic sensor can obtain sensing data such as the distance between the robot cleaner (100) and the obstacle, the direction in which the obstacle is located, the size and shape of the obstacle, etc. One or more processors (150) can generate a map of the space in which the robot cleaner (100) is located based on the sensing data. One or more processors (150) can store the generated map in the memory (140).
[0055] The camera can sense the surrounding environment by capturing the surroundings of the robot cleaner (100). The camera can be implemented as an RGB camera, a 3D camera, etc. For example, the camera can capture the surroundings of the robot cleaner (100) to obtain sensing data. The sensing data can include images of obstacles existing around the robot cleaner (100). One or more processors (150) can analyze the images to obtain information about the distance between the robot cleaner (100) and the obstacle, the direction in which the obstacle is located, the size and shape of the obstacle, etc. In addition, one or more processors (150) can generate a map of the space in which the robot cleaner (100) is located based on the acquired information. One or more processors (150) can store the generated map in the memory (140).
[0056] Obstacles can include objects. Objects can include fixed objects such as walls, furniture (e.g., tables, chairs, beds, wardrobes, etc.), and appliances, as well as objects that can move on their own, such as people and pets.
[0057] The pressure sensor can detect pressure applied to the robot cleaner (100). For example, the pressure sensor can be placed in front of the robot cleaner (100). One or more processors (150) can identify whether there is an obstacle in contact with the robot cleaner (100) based on a pressure value obtained through the pressure sensor. For example, when a pressure higher than a threshold value is detected from the pressure sensor, the one or more processors (150) can identify that there is an obstacle in contact with the robot cleaner (100).
[0058] A wheel encoder can sense the rotation speed and rotation direction of each of the multiple wheels of the robot cleaner (100). The multiple wheels can be rotated by a motor to move the robot cleaner (100). One or more processors (150) can identify the movement distance of the robot cleaner (100) based on information about the rotation speed and rotation direction acquired through the wheel encoder.
[0059] Meanwhile, the sensor (110) is not limited to the above-described example, and the robot cleaner (100) may include various sensors.
[0060] The driving unit (120) can move the robot cleaner (100). For example, the driving unit (120) can include a plurality of wheels, a motor for driving the plurality of wheels, a brake for stopping the rotating wheels, etc. One or more processors (150) can control the driving unit (110) to perform various driving operations, such as movement, stopping, speed control, direction change, and angular velocity change of the robot cleaner (100).
[0061] The driving unit (120) can drive a cleaning device (e.g., a cleaning tool) so that the robot cleaner (100) can suck up foreign substances. The cleaning device can generate suction force to suck up foreign substances such as dust present on the floor. The driving unit (120) can drive the cleaning device to suck up foreign substances from the floor. The sucked foreign substances can be stored in a dust bin provided in the robot cleaner (100).
[0062] One or more processors (150) can control the driving unit (120) to cause the robot cleaner (100) to perform a cleaning operation. For example, one or more processors (150) can control the driving unit (120) to cause the robot cleaner (100) to move and suck up foreign substances present on the floor while moving. In addition, one or more processors (150) can control the driving unit (120) to cause the robot cleaner (100) to move by pushing an obstacle.
[0063] The input interface (130) includes circuitry. The input interface (130) can receive user input and transmit the user input to one or more processors (150). For example, the input interface (130) can receive various user inputs for setting or selecting various functions supported by the robot vacuum cleaner (130).
[0064] The input interface (130) may include various types of input devices.
[0065] For example, the input interface (130) may include a physical button. The physical button may include a function key, a directional key, or a dial button. The physical button may be implemented as multiple keys. Alternatively, the physical button may be implemented as a single key. If the physical button is implemented as a single key, one or more processors (150) may perform a function corresponding to the user input when a user input is received in which the key is pressed for a threshold time or longer.
[0066] For example, the input interface (130) may receive user input using a touch method. The input interface (130) may include a touch sensor. Additionally, the input interface (130) may be implemented as a touch screen capable of performing the function of a display (e.g., 180 of FIG. 2b).
[0067] For example, the input interface (130) can receive user input from an external device. The external device can include a remote control device (e.g., a remote control) for controlling the robot cleaner (100) or a user's mobile device (e.g., a smartphone or wearable device). The mobile device can store an application for controlling the robot cleaner (100). The mobile device can receive user input through the application and transmit the user input to the robot cleaner (100). The mobile device can transmit the user input directly to the robot cleaner (100) or transmit the user input to the robot cleaner (100) through a server.
[0068] For example, the input interface (130) can receive a user's voice using a microphone. One or more processors (150) can perform a function corresponding to the user's voice using voice recognition. For example, the input interface (130) can convert the user's voice into text data using the STT (Speech To Text) function, obtain control command data based on the text data, and perform a function corresponding to the user's voice based on the control command data. Depending on the embodiment, the STT function may be performed on a server.
[0069] The memory (140) can store data necessary for the robot cleaner (100) to operate according to various embodiments of the present disclosure. For example, the memory (140) can store a map of the space where the robot cleaner (100) is located.
[0070] A map may include multiple areas. For example, one or more processors (150) may identify an area surrounded by walls based on sensing data, and identify obstacles (e.g., door frames, windows, fences, stairs, etc.) that separate one area from another, thereby dividing the map into multiple areas. An area may correspond to a sub-space (e.g., a room) contained in a space. The map may include information about the location, size, shape, etc. of obstacles (e.g., walls, furniture, appliances, etc.) located in each area.
[0071] The memory (140) may be implemented as a memory (e.g., volatile memory, non-volatile memory, hard drive, solid state drive, etc.) embedded in the robot cleaner (100) depending on the purpose of data storage, or may be implemented as a memory (e.g., memory card, external memory, etc.) that can be attached or detached to the robot cleaner (100).
[0072] One or more instructions may be stored in the memory (140). One or more processors (150) may execute one or more instructions stored in the memory (140) to perform operations of the robot cleaner (100) according to various embodiments of the present disclosure. Programs, applications, and data for operating the robot cleaner (100) may be stored in the memory (140).
[0073] One or more processors (150) control the overall operation of the robot cleaner (100). The one or more processors (150) are connected to components of the robot cleaner (100) and can control the overall operation of the robot cleaner (100). For example, the one or more processors (150) are connected to a sensor (110), a driving unit (120), an input interface (130), and a memory (140) and can control the robot cleaner (100). The one or more processors (150) may be composed of one or more processors.
[0074] One or more processors (150) can perform operations of the robot cleaner (100) according to various embodiments of the present disclosure by executing one or more instructions stored in the memory of the robot cleaner (100).
[0075] The one or more processors (150) may include one or more of a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), an Accelerated Processing Unit (APU), a Many Integrated Core (MIC), a Digital Signal Processor (DSP), a Neural Processing Unit (NPU), a hardware accelerator, or a machine learning accelerator. The one or more processors (150) may control one or any combination of other components of the robot cleaner (100) and may perform operations or data processing related to communication. The one or more processors (150) may execute one or more programs or instructions stored in the memory (140). For example, the one or more processors (150) may perform a method according to an embodiment of the present disclosure by executing one or more instructions stored in the memory (140).
[0076] When a method according to an embodiment of the present disclosure includes multiple operations, the multiple operations may be performed by one processor or by multiple processors. For example, when a first operation, a second operation, and a third operation are performed by a method according to an embodiment, the first operation, the second operation, and the third operation may all be performed by the first processor, or the first operation and the second operation may be performed by the first processor (e.g., a general-purpose processor) and the third operation may be performed by the second processor (e.g., an artificial intelligence-specific processor).
[0077] One or more processors (150) may be implemented as a single core processor including one core, or may be implemented as one or more multicore processors including multiple cores (e.g., homogeneous multicores or heterogeneous multicores). When one or more processors (150) are implemented as a multicore processor, each of the multiple cores included in the multicore processor may include an internal processor memory, such as a cache memory or an on-chip memory, and a common cache shared by the multiple cores may be included in the multicore processor. In addition, each of the multiple cores (or some of the multiple cores) included in the multicore processor may independently read and execute a program instruction for implementing a method according to an embodiment of the present disclosure, or all (or some) of the multiple cores may be linked to read and execute a program instruction for implementing a method according to an embodiment of the present disclosure.
[0078] When a method according to an embodiment of the present disclosure includes a plurality of operations, the plurality of operations may be performed by one core among the plurality of cores included in a multi-core processor, or may be performed by the plurality of cores. For example, when a first operation, a second operation, and a third operation are performed by a method according to an embodiment, the first operation, the second operation, and the third operation may all be performed by a first core included in the multi-core processor, or the first operation and the second operation may be performed by a first core included in the multi-core processor, and the third operation may be performed by a second core included in the multi-core processor.
[0079] In embodiments of the present disclosure, a processor may mean a system on a chip (SoC) in which one or more processors and other electronic components are integrated, a single-core processor, a multi-core processor, or a core included in a single-core processor or a multi-core processor, wherein the core may be implemented as a CPU, a GPU, an APU, a MIC, a DSP, an NPU, a hardware accelerator, or a machine learning accelerator, but embodiments of the present disclosure are not limited thereto.
[0080] Meanwhile, for convenience of explanation, one or more processors (150) are referred to as processors (150) below.
[0081] FIG. 2b is a block diagram illustrating the configuration of a robot vacuum cleaner according to an embodiment of the present disclosure.
[0082] Referring to FIG. 2b, the robot cleaner (100) may include a sensor (110), a driving unit (120), an input interface (130), a memory (140), one or more processors (150), a cleaning device (160), a communication interface (170), a display (180), and a speaker (190). However, such a configuration is exemplary, and it is obvious that new configurations may be added or some configurations may be omitted in addition to such configurations when implementing the present disclosure. Meanwhile, a detailed description of configurations that overlap with the configurations illustrated in FIG. 2a among the configurations illustrated in FIG. 2b will be omitted.
[0083] The sensor (110) may include an IMU sensor (111), a lidar sensor (112), an infrared sensor (113), an ultrasonic sensor (114), a camera (115), a pressure sensor (116), and a wheel encoder (117).
[0084] The cleaning device (160) can suck up foreign substances from the floor. For example, the cleaning device (160) may include a cleaning tool (e.g., a brush) that is rotatably installed to collect foreign substances and a motor for generating suction force. The processor (150) can control the driving unit (120) to drive the cleaning device (160). Accordingly, the cleaning device (160) can suck up foreign substances from the floor through suction force.
[0085] The communication interface (170) can communicate with external devices such as servers and mobile devices via a surrounding access point (AP). The access point (AP) can connect a local area network (LAN) to which the robot cleaner (100) or mobile device is connected to a wide area network (WAN) to which the server is connected. The robot cleaner (100) can be connected to the server via the wide area network (WAN).
[0086] The communication interface (170) can transmit and receive data with an external device. The communication interface (160) may include a wireless communication module or a wired communication module. The communication module may be implemented with at least one hardware chip.
[0087] 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, or an infrared communication module. However, the present invention is not limited to this example, and the wireless communication module may include a communication module that communicates according to various wireless communication standards, such as LTE (Long Term Evolution), LTE-A (LTE Advanced), 4G (4th Generation), and 5G (5th Generation).
[0088] 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 and an Ethernet module.
[0089] The communication interface (170) can communicate with an external device without going through a connection relay. For example, the communication interface (170) can include at least one wired communication module among HDMI (High Definition Multimedia Interface), USB (Universal Serial Bus), USB C-type, and DP (Display Port).
[0090] The display (180) can display various information. For example, the display (181) can be implemented as an LCD (Liquid Crystal Display), etc. The display (180) can also be implemented as a touch screen. The processor (150) can display information related to the operation of the robot cleaner (100) on the display (180).
[0091] The speaker (190) can output audio. The processor (150) can output various notification sounds or voice guidance messages related to the operation of the robot cleaner (100) through the speaker (190).
[0092] Although not illustrated in FIG. 2B, the robot cleaner (100) may include a battery. The battery is provided within the main body of the robot cleaner (100) and may supply power to components of the robot cleaner (100). For example, the battery may include a rechargeable secondary battery.
[0093] When a user input for a cleaning operation is received through the input interface (130), the processor (150) can control the driving unit (120) to cause the robot cleaner (100) to perform the cleaning operation. For example, the processor (150) can control the driving unit (120) to cause the robot cleaner (100) to move within a space based on a map. In addition, the processor (150) can control the driving unit (120) to cause the robot cleaner (100) to move while avoiding obstacles based on sensing data acquired through the sensor (110) while the robot cleaner (100) moves. In addition, the processor (150) can control the driving unit (120) to use the cleaning device (160) to suck up foreign substances present on the floor while the robot cleaner (100) moves.
[0094] In this way, the robot cleaner (100) can perform general cleaning operations. In addition to the cleaning mode described above, the robot cleaner (100) according to the present disclosure can perform a function corresponding to one of a plurality of modes. The plurality of modes may include a first mode and a second mode. Below, the operations performed by the robot cleaner (100) according to the first mode or the second mode will be described in more detail.
[0095] FIG. 3, FIG. 4a, FIG. 4b, FIG. 4c, FIG. 4d, FIG. 4e, FIG. 4f, and FIG. 4g are drawings for explaining the operation of a robot cleaner according to the first mode according to an embodiment of the present disclosure.
[0096] Referring to FIG. 3, when a user input for setting the mode of the robot cleaner (100) to the first mode is received through the input interface (130) (S310), the processor (150) can control the driving unit (120) so that the robot cleaner (100) performs a cleaning operation based on the map (S315).
[0097] The first mode may mean a mode in which the robot cleaner (100) performs a cleaning operation, and when performing the cleaning operation, it clears away obstacles in the space while also cleaning the area where the obstacle was (e.g., a cleaning while clearing mode).
[0098] For example, when a user input is received to set the mode of the robot cleaner (100) to the first mode, the processor (150) can control the driving unit (120) to move the robot cleaner (100) within a space based on the map. In addition, the processor (150) can control the driving unit (120) to suck up foreign substances present on the floor using the cleaning device (160) while the robot cleaner (100) moves.
[0099] The processor (150) can detect obstacles based on sensing data acquired through the sensor (110) while the robot cleaner (100) performs a cleaning operation (S320). For example, the processor (150) can detect obstacles around the robot cleaner (100) using sensing data acquired through at least one of a lidar sensor (112), an infrared sensor (113), and an ultrasonic sensor (114). In addition, the processor (150) can capture images of the surroundings of the robot cleaner (100) using a camera (115), analyze the images, and detect obstacles around the robot cleaner (100).
[0100] When an obstacle is detected (S320-Y), the processor (150) can identify whether the detected obstacle is a target obstacle (S325).
[0101] For example, referring to FIG. 4A, the robot cleaner (100) can perform cleaning while moving within the map (10). Accordingly, the area to which the robot cleaner (100) has moved (e.g., the area to be cleaned) can be cleaned. Meanwhile, if an obstacle (410) is detected while the robot cleaner (100) is performing a cleaning operation, the processor (150) can identify whether the detected obstacle (410) is a target obstacle.
[0102] A target obstacle may mean an obstacle that is the target of position movement by a robot cleaner (100).
[0103] The processor (150) can identify the detected obstacle as a target obstacle if, based on sensing data acquired through the sensor (110), the detected obstacle is identified as a floor obstacle, an object that can be contacted by the robot cleaner (100), and an object that can be pushed by the robot cleaner (100).
[0104] FIG. 5 is a diagram illustrating a method for a robot vacuum cleaner to identify whether an obstacle is a target obstacle according to an embodiment of the present disclosure.
[0105] Referring to FIG. 5, the processor (150) can identify whether the detected obstacle is a floor obstacle (S510).
[0106] A floor obstacle may refer to an obstacle located on the floor within the space where the robot cleaner (100) is located, which cannot move on its own but can be moved by a person, etc. For example, walls, furniture, home appliances, etc. that are installed in a fixed location are not considered floor obstacles. Although furniture, home appliances, etc. can be moved, they are generally considered to have a fixed location since they are installed in a specific location within a home and are generally placed in the same location for a long time. In addition, people, pets, etc. that can move freely are not considered floor obstacles. However, various other objects may be considered floor obstacles.
[0107] If the obstacle detected by the robot cleaner (100) is an obstacle existing on the map, the detected obstacle is likely to be an obstacle positioned at a fixed location within the space. Accordingly, the processor (150) can identify whether the detected obstacle is an obstacle existing on the map based on sensing data acquired through the sensor.
[0108] For example, the processor (150) can obtain information about the location, size, shape, etc. of an obstacle based on the location of the robot cleaner (100) on the map and sensing data obtained through the sensor (110). In addition, the processor (150) can compare the location, size, and shape of an obstacle included in the map with the location, size, and shape of an identified obstacle to identify whether the obstacle is an obstacle existing on the map.
[0109] If the processor (150) identifies that the detected obstacle is an obstacle that does not exist on the map, it can identify whether the obstacle is a floor obstacle based on the type of the detected obstacle.
[0110] For example, the processor (150) can capture an image of an obstacle by taking a picture using the camera (115). Then, the processor (150) can identify (or recognize) an obstacle included in the image using an object recognition algorithm. For example, the processor (150) can extract features from the image, classify the obstacle using the features, and identify the obstacle. In addition, the processor (150) can input the image into a neural network model trained to identify the object included in the image, and identify the obstacle included in the image. In addition, the memory (140) may store information on the shape and size of each object. The processor (150) can obtain information on the shape, size, etc. of the obstacle using the sensing data obtained through the sensor (110), and identify the obstacle by comparing the information stored in the memory (140) with the obtained information.
[0111] The processor (150) can identify the obstacle as a floor obstacle if the obstacle is not a preset type of obstacle, and can identify the obstacle as a non-floor obstacle if the obstacle is a preset type of obstacle. The preset type of obstacle may include fixed type obstacles that are placed in a fixed position within a space, such as walls, furniture, and home appliances, and dynamic type obstacles that can move on their own, such as people and pets. Information regarding which obstacles are preset types of obstacles may be stored in the memory (140). Information stored in the memory (140) may be added, deleted, and changed based on user input.
[0112] Accordingly, the processor (150) can identify whether the detected obstacle is a floor obstacle.
[0113] Meanwhile, the processor (150) may also use a neural network model to identify whether an obstacle is a floor obstacle. The neural network model may be a neural network model trained to identify whether an object included in an image is a floor obstacle. Accordingly, the processor (150) inputs an image of an obstacle into the neural network model to identify whether the obstacle included in the image is a floor obstacle.
[0114] If the processor (150) identifies that the detected obstacle is not a floor obstacle (S510-N), it can identify that the detected obstacle is not a target obstacle (S550). Meanwhile, if the processor (150) identifies that the detected obstacle is a floor obstacle (S510-Y), it can identify whether the detected obstacle is a contactable obstacle (S520).
[0115] For example, when a robot cleaner (100) comes into contact with an obstacle made of a sticky material, the obstacle may attach to the robot cleaner (100), and the operation (e.g., movement, cleaning) of the robot cleaner (100) may be affected by the attached obstacle. In addition, when the robot cleaner (100) comes into contact with an obstacle such as dirt, human excrement, pet excrement, etc., cleaning may not be performed normally due to the dirt, excrement, etc. attached to the robot cleaner (100), or the robot cleaner (100) may break down. Therefore, the robot cleaner (100) being able to come into contact with an obstacle may include the robot cleaner (100) being able to come into contact with an obstacle and the robot cleaner (100) not having a problem in its operation even when it comes into contact with an obstacle.
[0116] The processor (150) can identify the properties of a detected obstacle based on sensing data acquired through the sensor (110), and can identify whether the obstacle is an object that can be contacted by the robot cleaner (100) based on the properties of the detected obstacle.
[0117] The properties of an obstacle may include at least one of the obstacle's material and type. For example, the processor (150) may capture an image of the obstacle by taking a picture using the camera (115).
[0118] And the processor (150) can obtain information about the material of the obstacle included in the image by inputting the acquired image into a neural network model trained to identify the material of the object included in the image. In addition, the processor (150) can identify the obstacle in the image in which the obstacle is captured using an object recognition algorithm, or obtain information about the shape, size, etc. of the obstacle using sensing data obtained through the sensor (110), and identify the obstacle using the obtained information.
[0119] The processor (150) can identify an obstacle as an object that cannot be contacted by the robot cleaner (100) if the obstacle's material is a preset material. The preset material may include a sticky material. Information regarding which material is a sticky material may be stored in the memory (140). The information stored in the memory (140) may be added, deleted, or changed based on user input.
[0120] The processor (150) can identify an obstacle as an object that cannot be contacted by the robot cleaner (100) if the obstacle is a preset type of obstacle. The preset type of obstacle may include an obstacle of a contaminant type such as sewage, human excrement, pet excrement, etc. Information regarding which obstacle is a preset type of obstacle may be stored in the memory (140). The information stored in the memory (140) may be added, deleted, and changed based on user input.
[0121] In this way, the processor (150) can identify the detected obstacle as an object that can be contacted by the robot cleaner (100) if the material of the detected obstacle is not a preset material or the detected obstacle is not a contaminant type obstacle.
[0122] Meanwhile, the processor (150) may also use a neural network model to identify whether an obstacle is a contactable object. The neural network model may be a neural network model trained to identify whether an object included in an image is a contactable object. Accordingly, the processor (150) inputs an image of an obstacle into the neural network model to identify whether the obstacle included in the image is a contactable object.
[0123] If the processor (150) identifies the detected obstacle as an untouchable object (S520-N), it can identify the detected obstacle as not being a target obstacle (S550). On the other hand, if the processor (150) identifies the detected obstacle as a touchable object (S520-Y), it can identify whether the detected obstacle is an object that can be pushed by the robot cleaner (100) (S530).
[0124] For example, a heavy object may not be pushed by the robot cleaner (100). The weight of the object not pushed by the robot cleaner (100) may be determined according to the size, power, etc. of the robot cleaner (100). When the robot cleaner (100) operates in the first mode, the processor (150) can identify whether the obstacle is an object that can be pushed and moved by the robot cleaner (100) since the robot cleaner (100) pushes and removes the obstacle.
[0125] The processor (150) can identify the properties of a detected obstacle based on sensing data acquired through the sensor (110), and can identify whether the detected obstacle is an object that can be pushed by the robot cleaner (100) based on the properties of the detected obstacle.
[0126] The properties of an obstacle may include the weight of the obstacle. For example, the processor (150) may capture an image of the obstacle by using the camera (115). Then, the processor (150) may input the captured image into a neural network model trained to identify the weight of the object based on the type, size, etc. of the object included in the image, thereby obtaining information about the weight of the obstacle included in the image. In addition, the processor (150) may detect the obstacle in the captured image to obtain information about the size and shape of the obstacle, and may obtain information about the weight of the obstacle using the information about the size and shape of the obstacle. For example, information about the weight of an object according to its size and shape may be stored in the memory (140). The processor (150) may obtain information about the weight corresponding to the size and shape of the obstacle using the information stored in the memory (140).
[0127] The processor (150) can identify the obstacle as an object that cannot be pushed by the robot cleaner (100) if the weight of the obstacle exceeds a preset value, and can identify the obstacle as an object that can be pushed by the robot cleaner (100) if the weight of the obstacle is less than or equal to a preset value. The preset value can be experimentally measured depending on the weight of the object, the size and power of the robot cleaner (100), etc. Information about the preset value can be stored in the memory (140).
[0128] Accordingly, the processor (150) can identify whether the detected obstacle is an object that can be pushed by the robot cleaner (100).
[0129] Meanwhile, the processor (150) may use a neural network model to identify whether the detected obstacle is an object that can be pushed by the robot cleaner (100). The neural network model may be a neural network model trained to identify objects that can be pushed by the robot cleaner (100). Accordingly, the processor (150) inputs an image of an obstacle into the neural network model to identify whether the obstacle included in the image is an object that can be pushed by the robot cleaner (100).
[0130] In addition, the processor (150) can control the driving unit (120) to move the robot cleaner (100) in the direction of the detected obstacle in order to determine whether the robot cleaner (100) can push the detected obstacle. The processor (150) can identify whether the location of the obstacle changes according to the movement of the robot cleaner (100) based on the sensing data acquired through the sensor (110). If the processor (150) identifies that the location of the obstacle has changed, the processor (150) can identify the obstacle as an object that can be pushed by the robot cleaner (100).
[0131] If the processor (150) identifies the detected obstacle as an object that cannot be pushed by the robot cleaner (100) (S530-N), it can identify the detected obstacle as not being a target obstacle (S550). On the other hand, if the processor (150) identifies the detected obstacle as an object that can be pushed by the robot cleaner (100) (S530-Y), it can identify the detected obstacle as being a target obstacle (S540).
[0132] In this way, the processor (150) can identify whether an obstacle detected by the sensor (110) while the robot cleaner (100) performs a cleaning operation is a target obstacle.
[0133] Returning to FIG. 3, if the processor (150) determines that the detected obstacle is not a target obstacle (S325-N), the processor (150) can control the driving unit (120) so that the robot cleaner (100) avoids the detected obstacle (S330). In addition, the processor (150) can control the driving unit (120) so that the robot cleaner (100) performs a cleaning operation on an area within the space that has not yet been cleaned (e.g., an ungroomed area) based on the map (S315).
[0134] If the processor (150) identifies the detected obstacle as a target obstacle (S325-Y), it can move the obstacle (S335).
[0135] Moving an obstacle may include the robot cleaner (100) pushing and moving the obstacle. The location to which the obstacle is moved may be within an area where cleaning has been completed (e.g., the area where cleaning has been completed in FIG. 4A).
[0136] The processor (150) can control the driving unit (120) so that the robot cleaner (100) pushes the obstacle and moves the obstacle to a cleaning completion area. For example, the processor (150) can control the driving unit (120) so that the robot cleaner (100) moves to a position adjacent to the obstacle based on the position of the robot cleaner (100) and the position of the obstacle. When the robot cleaner (100) moves to a position adjacent to the obstacle, the front of the robot cleaner (100) can face the obstacle. In addition, the processor (150) can control the driving unit (120) so that the robot cleaner (100) moves in the direction where the obstacle is located. Accordingly, the obstacle can be pushed and moved by the robot cleaner (100).
[0137] The processor (150) can identify a driving path for moving an obstacle. For example, the processor (150) can identify a driving path for moving an obstacle from a first location to a second location based on the shape of the obstacle and the location of the area where cleaning has been completed on the map.
[0138] The second location may be included within the area where cleaning has been completed. The driving path may include a driving path for the robot cleaner (100) to move to a position adjacent to the obstacle and a driving path for the robot cleaner (100) to push the obstacle and move the obstacle to the second location.
[0139] When the processor (150) identifies an obstacle as a target obstacle, it can identify the shape of the obstacle based on sensing data acquired through the sensor (110) and identify a contact portion of the obstacle based on the shape of the obstacle.
[0140] The contact portion may be a portion of an obstacle that the robot cleaner (100) comes into contact with in order to push and move the obstacle.
[0141] For example, the processor (150) may identify a contact portion on an obstacle by considering at least one of the shape of the obstacle, the location of the area where cleaning has been completed, the location of another obstacle, the size of a portion of the obstacle, and the direction of the wheels of the obstacle.
[0142] For example, the processor (150) can identify a plane in an obstacle based on the shape of the obstacle and identify the identified plane as a contact portion. For example, the processor (150) can capture an image of an obstacle around the obstacle using a camera (115). Then, the processor (150) can analyze the image to identify a plane in the obstacle. In addition, the processor (150) can sense an obstacle around the obstacle using a lidar sensor, an infrared sensor, an ultrasonic sensor, or the like, and obtain information about the shape of the obstacle. Then, the processor (150) can identify a plane in the obstacle based on the obtained information.
[0143] For example, the processor (150) may identify a contact portion of an obstacle based on the location of the area where cleaning has been completed. For example, when the robot cleaner (100) moves to a position adjacent to the obstacle, the processor (150) may identify a portion of the obstacle where the area where cleaning has been completed is located in the forward direction of the robot cleaner (100) as the contact portion.
[0144] For example, the processor (150) may identify a contact point on an obstacle based on the location of another obstacle. For example, when the robot cleaner (100) moves the obstacle from a position adjacent to the obstacle to a cleaned area by pushing the obstacle, the processor (150) may identify a portion of the obstacle that prevents other obstacles from existing on the driving path as a contact point.
[0145] For example, the processor (150) may identify a contact area on an obstacle based on the size of a portion of the obstacle. For example, the processor (150) may identify a portion of an obstacle having a width greater than a preset value and a height greater than a preset value as a contact area. The preset value may be experimentally measured, taking into account a size that the robot cleaner (100) can stably push. Information regarding the preset value may be stored in the memory (140).
[0146] For example, the processor (150) can identify a contact portion of an obstacle based on the direction of the wheels of the obstacle. For example, the processor (150) can obtain information about the shape of the obstacle based on the sensing data acquired through the sensor (110), and can identify whether the obstacle is an obstacle that can be moved by wheels based on the shape of the obstacle. In addition, if the processor (150) identifies the obstacle as an obstacle that can be moved by wheels, the processor (150) can identify the contact portion of the obstacle based on the direction of the wheels. For example, when the robot cleaner (100) moves to a position adjacent to the obstacle, the processor (150) can identify a portion of the obstacle that is located in a straight line with the wheel direction of the robot cleaner (100) as the contact portion.
[0147] The processor (150) can control the driving unit (120) so that the robot cleaner (100) moves to a position adjacent to the contact portion of the obstacle. In addition, the processor (150) can identify a driving path for moving the obstacle at the first position to the second position based on the position of the contact portion and the position of the area where cleaning has been completed on the map.
[0148] For example, the processor (150) can identify a driving path for the robot cleaner (100) to move from the current location of the robot cleaner (100) to a location adjacent to a contact point of an obstacle. In addition, the processor (150) can identify a location to which an obstacle will move within an area where cleaning has been completed, and identify a driving path for the robot cleaner (100) to move from a location adjacent to the obstacle to the identified location.
[0149] The location to which the obstacle is moved may be any location within the area where cleaning has been completed. For example, the processor (150) may determine the location to which the obstacle is moved within the area where cleaning has been completed by considering the direction change of the robot cleaner (100), surrounding obstacles, etc.
[0150] The processor (150) can control the driving unit (120) to move the robot cleaner (100) along the driving path. In addition, the processor (150) can push and move an obstacle based on sensing data acquired through the sensor (110) while the robot cleaner (100) moves. For example, the processor (150) can identify whether an obstacle is in contact with the robot cleaner (100) based on a pressure value acquired from a pressure sensor (116). In addition, the processor (150) can identify whether an obstacle is being moved based on the location of the obstacle identified on the map. Accordingly, the processor (150) can control the driving unit (120) to push and move the robot cleaner (100) to a second position.
[0151] For example, referring to FIG. 4B, it is assumed that an obstacle (410) is a target obstacle. The processor (150) can identify a portion (411) of the obstacle (410) as a contact portion. Then, the processor (150) can identify a driving path (431) for the robot cleaner (100) to move to a position (421) adjacent to the contact portion (411), and control the driving unit (120) so that the robot cleaner (100) moves along the driving path (431). According to an embodiment, the processor (150) can control the driving unit (120) so that the cleaning device (160) is used to suck up foreign substances present on the floor while the robot cleaner (100) moves.
[0152] Referring to FIG. 4C, when the robot cleaner (100) moves to a location (421), the processor (150) can identify a location (422) to which an obstacle is to be moved within an area where cleaning is completed (e.g., a cleaning completion area). In addition, the processor (150) can identify a driving path (432) of the robot cleaner (100) for moving the obstacle to the location (422) and control the driving unit (120) so that the robot cleaner (100) moves along the driving path (432). According to an embodiment, the processor (150) can control the driving unit (120) so that the cleaning device (160) is used to suck up foreign substances present on the floor while the robot cleaner (100) moves.
[0153] Accordingly, as shown in FIG. 4d, the robot cleaner (100) can push the obstacle (410) and move it to the area where cleaning is completed.
[0154] The processor (150) may control the driving unit (120) to move the obstacle to the second position along the driving path and then cause the robot cleaner (100) to perform a cleaning operation for the first position. That is, the processor (150) may control the driving unit (120) to move the obstacle to the area where cleaning has been completed and then cause the robot cleaner (100) to perform a cleaning operation for the area where the obstacle was located (S340). The area where the obstacle was located may include the first position. In addition, the area where the obstacle was located may include the first position and a surrounding area of the first position. For example, the processor (150) may control the driving unit (120) to move the robot cleaner (100) to the area where the obstacle was located based on the map, and may control the driving unit (120) to suck up foreign substances present on the floor using the cleaning device (160) while the robot cleaner (100) is moving.
[0155] When the cleaning operation for the first position is completed, the processor (150) can control the driving unit (120) so that the robot cleaner (100) moves the obstacle at the second position to the first position. That is, when the cleaning operation for the area where the obstacle was located is completed, the processor (150) can control the driving unit (120) so that the robot cleaner (100) moves the obstacle to its original position (S345).
[0156] For example, the processor (150) can identify the shape of an obstacle based on sensing data acquired through the sensor (110) and identify a contact portion of the obstacle based on the shape of the obstacle. In addition, the processor (150) can control the driving unit (120) so that the robot cleaner (100) moves to a position adjacent to the contact portion of the obstacle.
[0157] The processor (150) can identify a driving path for moving an obstacle at a second location to a first location based on the location of the contact portion and the first location on the map. Furthermore, the processor (150) can control the driving unit (120) to move the robot cleaner (100) along the driving path. Accordingly, the obstacle can be pushed by the robot cleaner (100) and moved to the first location.
[0158] Meanwhile, when the robot cleaner (100) moves an obstacle from a second location to a first location and when the robot cleaner (100) moves an obstacle from a first location to a second location, the method for identifying the contact area and the travel path is the same in these cases, although the starting point and the destination point are different. Accordingly, a detailed description of the method for identifying the contact area and the travel path when the robot cleaner (100) moves an obstacle from a second location to a first location will be omitted.
[0159] For example, referring to FIG. 4E, the processor (150) can identify a portion (413) of an obstacle (410) as a contact portion. Then, the processor (150) can identify a driving path (433) for the robot cleaner (100) to move to a location (423) adjacent to the contact portion (413), and control the driving unit (120) so that the robot cleaner (100) moves along the driving path (433). According to an embodiment, the processor (150) can control the driving unit (120) so that the cleaning device (160) is used to suck up foreign substances present on the floor while the robot cleaner (100) moves.
[0160] Referring to FIG. 4F, the original location (424) of the obstacle may be a state in which cleaning has been completed by the robot cleaner (100) (e.g., a cleaning completion area (10)). The processor (150) may identify a driving path (434) of the robot cleaner (100) to move the robot cleaner (100) to the original location (424) of the obstacle, and control the driving unit (120) to move the robot cleaner (100) along the driving path (434). According to an embodiment, the processor (150) may control the driving unit (120) to use the cleaning device (160) to suck up foreign substances present on the floor while the robot cleaner (100) moves.
[0161] Accordingly, as shown in FIG. 4g, the robot cleaner (100) can push the obstacle (410) and move it to its original position.
[0162] When the obstacle is moved to its original position, the processor (150) can control the driving unit (120) to cause the robot cleaner (100) to perform a cleaning operation (S350). For example, the processor (150) can control the driving unit (120) based on the map to cause the robot cleaner (100) to perform a cleaning operation on an area within the space that has not yet been cleaned.
[0163] The processor (150) identifies whether cleaning of the entire area of the map is completed (S355), and if it is determined that cleaning of the entire area of the map is completed (S355-Y), the robot cleaner (100) stops the cleaning operation and controls the driving unit (120) to return the robot cleaner (100) to the charging station based on the map (S360). Information about the location of the charging station may be stored in the map. Meanwhile, the processor (150) may perform the aforementioned operation if it is determined that cleaning of the entire area of the map is not completed (S355-N) and an obstacle is detected (S320-Y).
[0164] Meanwhile, in the above-described example, the robot cleaner (100) is described as moving the obstacle to its original position, but this is merely an example. Depending on the type of obstacle, the robot cleaner (100) may move the obstacle to its original position or may not move the obstacle to its original position.
[0165] For example, if the obstacle is a first type obstacle, the processor (150) can control the driving unit (120) to move the robot cleaner (100) to the second position, the obstacle moved to the first position again. If the obstacle is a second type obstacle, the processor (150) can control the driving unit (120) to leave the obstacle moved to the second position as is and perform a cleaning operation on another area (e.g., an area that has not been cleaned). Information on whether an obstacle is a first type obstacle or a second type obstacle can be stored in the memory (140). Information stored in the memory (140) can be added, deleted, and changed based on user input.
[0166] According to the present disclosure, when the mode of the robot cleaner (100) is set to the first mode, the robot cleaner (100) can identify a target obstacle among obstacles in a space and perform a cleaning operation while removing the identified obstacle. The robot cleaner (100) can identify an obstacle as a target obstacle that can be moved by pushing the robot cleaner (100) and that does not cause a problem in the operation of the robot cleaner (100) even when the robot cleaner (100) comes into contact with it. In addition, the robot cleaner (100) can establish an appropriate driving plan for moving the obstacle by pushing it and move the obstacle by pushing it according to the driving plan. Accordingly, the robot cleaner (100) can more stably push and remove the obstacle and perform a cleaning operation.
[0167] FIG. 6, FIG. 7a, and FIG. 7b are drawings for explaining the operation of a robot cleaner according to a second mode according to an embodiment of the present disclosure.
[0168] Referring to FIG. 6, when a user input for setting the mode of the robot cleaner (100) to the second mode is received through the input interface (130) (S610), the processor (150) can control the driving unit (120) to move the robot cleaner (100) (S615).
[0169] The second mode may refer to a mode (e.g., a tidying mode) in which the robot cleaner (100) moves obstacles within a space to a specific area. For example, when a user input is received to set the mode of the robot cleaner (100) to the second mode, the processor (150) may control the driving unit (120) based on the map so that the robot cleaner (100) moves within the space.
[0170] The processor (150) can detect obstacles using sensing data acquired through the sensor (110) while the robot cleaner (100) is moving (S620). For example, the processor (150) can detect obstacles around the robot cleaner (100) using sensing data acquired through at least one of a lidar sensor (112), an infrared sensor (113), and an ultrasonic sensor (114). In addition, the processor (150) can capture images of the surroundings of the robot cleaner (100) using a camera (115), analyze the images, and detect obstacles around the robot cleaner (100).
[0171] When an obstacle is detected (S620-Y), the processor (150) can identify whether the detected obstacle is a target obstacle (S625). The method for identifying whether the detected obstacle is a target obstacle is the same as in the first mode, so a detailed description thereof will be omitted.
[0172] Meanwhile, in the above-described example, the processor (150) is described as detecting an obstacle based on sensing data acquired through the sensor (110) while the robot cleaner (100) is moving, and identifying whether the detected obstacle is a target obstacle. However, the present invention is not limited to this example. For example, the processor (150) may store information on the location of the identified target obstacle in the memory (140) while the robot cleaner (100) is operating in the first mode. In addition, the processor (150) may identify the location of the target obstacle within the map using the information stored in the memory (140).
[0173] If the processor (150) determines that the detected obstacle is not a target obstacle (S625-N), the processor (150) can control the driving unit (120) so that the robot cleaner (100) avoids the obstacle (S630). In addition, the processor (150) can control the driving unit (120) so that the robot cleaner (100) moves within the space based on the map.
[0174] If the processor (150) identifies the detected obstacle as a target obstacle (S625-Y), it can identify the area where the obstacle will be moved based on the type of the obstacle (S635).
[0175] The processor (150) can identify an area corresponding to an obstacle among a plurality of areas included in the map based on the type of obstacle. For example, the processor (150) can identify an obstacle in an image in which the obstacle is captured using an object recognition algorithm, or can obtain information about the shape, size, etc. of the obstacle using sensing data acquired through the sensor (110) and identify the obstacle using the obtained information. Meanwhile, information about an area corresponding to an obstacle according to the type of obstacle may be stored in the memory (140). The information stored in the memory (140) can be added, deleted, and changed based on user input. The processor (140) can identify an area corresponding to an obstacle type among a plurality of areas of the map using the information stored in the memory (140).
[0176] The processor (150) can control the driving unit (120) to move the robot cleaner (100) to the area based on the location of the area (S640).
[0177] Moving an obstacle may include the robot cleaner (100) pushing and moving the obstacle.
[0178] For example, the processor (150) can identify the shape of an obstacle based on sensing data acquired through the sensor (110) and identify a contact portion of the obstacle based on the shape of the obstacle. In addition, the processor (150) can control the driving unit (120) so that the robot cleaner (100) moves to a position adjacent to the contact portion of the obstacle.
[0179] The processor (150) can identify a driving path for moving the obstacle to the area based on the location of the contact portion and the location of the area to which the obstacle is to be moved. Furthermore, the processor (150) can control the driving unit (120) to move the robot cleaner (100) along the driving path. Accordingly, the obstacle can be pushed by the robot cleaner (100) and moved to the area.
[0180] Meanwhile, the method by which the robot cleaner (100) moves an obstacle into a zone is identical to the method by which the robot cleaner (100) moves an obstacle in the first mode, except that the starting and ending points are different. Accordingly, a detailed description of the method by which the robot cleaner (100) identifies the contact area and travel path when moving an obstacle into a zone will be omitted.
[0181] When an obstacle is moved, the processor (150) can control the driving unit (120) to cause the robot cleaner (100) to move within the space (S645). For example, the processor (150) can control the driving unit (120) based on a map to cause the robot cleaner (100) to move to an area within the space where it has not yet moved.
[0182] The processor (150) identifies whether the robot cleaner (100) has moved the entire area of the map (S650), and if it is determined that the robot cleaner (100) has moved the entire area of the map (S650-Y), the processor (150) can control the driving unit (120) to return the robot cleaner (100) to the charging station based on the map (S655). Meanwhile, if it is determined that the robot cleaner (100) has not moved the entire area of the map (S650-N) and an obstacle is detected (S320-Y), the processor (150) can perform the aforementioned operation. Accordingly, all target obstacles existing in the space can be moved to the area corresponding to each target obstacle by the robot cleaner (100).
[0183] For example, referring to FIG. 7A, among the obstacles (710, 720, 730, 740) identified as target obstacles, it is assumed that obstacles (710, 720) are toys and obstacles (730, 740) are clothing. In addition, it is assumed that among the multiple areas (11, 12) of the map (10), the area corresponding to toys is the first area (11), and the area corresponding to clothing is the second area (12).
[0184] The processor (150) can control the driving unit (120) to move the robot cleaner (100) to the first area (11) by pushing the obstacles (710, 720) and can control the driving unit (120) to move the robot cleaner (100) to the second area (12) by pushing the obstacles (730, 740).
[0185] Accordingly, as shown in FIG. 7b, the obstacles (710, 720) can be moved to the first area (11), and the obstacles (730, 740) can be moved to the second area (12).
[0186] According to the present disclosure, when the robot cleaner (100) is set to the second mode, it can move obstacles within a space to specific areas according to the type of obstacle. When the robot cleaner (100) operates in the first and second modes based on user input, not only is cleaning of the space completed, but obstacles within the space can also be moved to user-desired locations according to their type. In this way, user convenience can be enhanced because objects within the space are organized into areas desired by the user.
[0187] Meanwhile, when the robot cleaner (100) operates in the second mode, the processor (150) can control the driving unit (120) to perform a cleaning operation according to a user input. The user input can be input after the obstacle has moved into the area. The fact that the obstacle has moved into the area can mean that all obstacles identified as target obstacles within the space have moved into the area corresponding to each obstacle.
[0188] User input for cleaning actions may include user input for cleaning the entire area of a space and user input for cleaning the area where an obstacle was located.
[0189] When a user input for cleaning the entire area is received through the input interface (130) after an obstacle has moved into the area, the processor (150) can control the driving unit (120) based on the map so that the robot cleaner (100) performs a cleaning operation for the entire area of the map. For example, the processor (150) can control the driving unit (120) so that the robot cleaner (100) moves over the entire area of the map, and control the driving unit (120) so that the robot cleaner (100) uses the cleaning device (160) to suck up foreign substances present on the floor while the robot cleaner (100) moves.
[0190] When a user input for cleaning the area where the obstacle was located is received through the input interface (130) after the obstacle has been moved into the area, the processor (150) can control the driving unit (120) based on the map so that the robot cleaner (100) performs a cleaning operation for the area where the obstacle was located. For example, the processor (150) can identify the location of the obstacle that has moved into the area on the map and control the driving unit (120) so that the robot cleaner (100) moves to the identified location. In addition, the processor (150) can control the driving unit (120) so that the robot cleaner (100) sucks up foreign substances on the floor of the area where the obstacle was located using the cleaning device (160).
[0191] According to the present disclosure, when the robot cleaner (100) operates in the second mode, it can perform a cleaning operation on the entire area or only on the area where an obstacle is located, depending on a user input. Accordingly, the cleaning of the space can be performed more completely. Furthermore, even if the robot cleaner (100) does not operate in the first mode but only in the second mode, not only can the cleaning of the space be completed, but obstacles within the space can be moved to a location desired by the user according to their type. Accordingly, user convenience can be improved.
[0192] Meanwhile, in the above-described example, the robot cleaner (100) was described as pushing and moving the obstacle, but the present invention is not limited to this example. For example, the driving unit (120) may include a robot joint (or articulation). A robot joint may refer to a component that replaces the function of a human arm or hand. The processor (150) may control the driving unit (120) to grip an obstacle in a space using the robot joint and move the robot cleaner (100) while gripping the obstacle. Accordingly, the position of the obstacle may be moved.
[0193] FIG. 8 is a flowchart for explaining a cleaning method of a robot vacuum cleaner according to an embodiment of the present disclosure.
[0194] When a user input is received to set the mode of the robot vacuum cleaner to the first mode, a cleaning operation is performed based on the map (S810).
[0195] When an obstacle detected by a sensor while the robot cleaner is performing a cleaning operation is identified as a target obstacle, a driving path is identified to move the obstacle from a first location to a second location based on the shape of the obstacle and the location of the area where cleaning has been completed on the map (S820).
[0196] After moving the obstacle to the second position along the driving path, a cleaning operation is performed for the first position (S830).
[0197] The cleaning method according to the present disclosure can identify the detected obstacle as a target obstacle if the detected obstacle is identified as a floor obstacle, an object that can be contacted by the robot cleaner, and an object that can be pushed by the robot cleaner based on the sensing data acquired through the above-described document.
[0198] In this case, based on the sensing data acquired through the sensor, it is identified whether the detected obstacle is an obstacle existing on the map, and if it is identified that the detected obstacle is an obstacle not existing on the map, it is identified whether the detected obstacle is a floor obstacle based on the type of the detected obstacle.
[0199] In addition, based on sensing data acquired through the sensor, the properties of the detected obstacle can be identified, and based on the identified properties, it can be identified whether the detected obstacle is an object that can be contacted by the robot cleaner and whether the detected obstacle is an object that can be pushed by the robot cleaner.
[0200] In step S820, if an obstacle is identified as a target obstacle, the shape of the obstacle is identified based on sensing data acquired through a sensor, a contact portion of the obstacle is identified based on the shape of the obstacle, and a driving path for moving the obstacle from a first location to a second location is identified based on the location of the contact portion and the location of the area where cleaning has been completed on the map. The contact portion may be a part of the obstacle that the robot cleaner comes into contact with in order to push and move the obstacle.
[0201] In this case, a plane can be identified from the obstacle based on the shape of the obstacle, and the plane can be identified as the contact portion.
[0202] The cleaning method according to the present disclosure can move an obstacle at a second position to the first position when the cleaning operation for the first position is completed.
[0203] In addition, the cleaning method according to the present disclosure may, when a user input for setting the mode of the robot cleaner to the second mode is received, move within a space based on a map, and when an obstacle detected by a sensor while the robot cleaner is moving is identified as a target obstacle, identify an area corresponding to the obstacle among a plurality of areas included in the map based on the type of the obstacle, and move the obstacle to the area based on the location of the area.
[0204] Additionally, the cleaning method according to the present disclosure can perform a cleaning operation when a user input for a cleaning operation is received after an obstacle is moved into an area.
[0205] In this case, when a user input for cleaning the entire area is received after the obstacle is moved into the area, a cleaning operation for the entire area of the map is performed based on the map, and when a user input for cleaning the area where the obstacle was moved into the area is received, a cleaning operation for the area where the obstacle was moved can be performed based on the map.
[0206] Meanwhile, according to a temporary example of the present disclosure, the various embodiments described above can be implemented as software including instructions 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 instructions stored from the storage medium and operate according to the called instructions, and may include an electronic device (e.g., electronic device (A)) according to the disclosed embodiments. When an instruction is executed by a processor, the processor can perform a function corresponding to the instruction directly or by using other components under the control of the processor. The instruction 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 data being stored semi-permanently or temporarily in the storage medium.
[0207] 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.
[0208] Furthermore, according to one embodiment of the present disclosure, the various embodiments described above may be implemented in a computer-readable recording medium or a similar device using software, hardware, or a combination thereof. In some cases, the embodiments described herein may be implemented by the processor itself. In a software implementation, embodiments such as the procedures and functions described herein may be implemented as separate software. Each software may perform one or more functions and operations described herein.
[0209] Meanwhile, computer instructions for performing processing operations of a device according to the various embodiments described above may be stored in a non-transitory computer-readable medium. The computer instructions stored in such a non-transitory computer-readable medium, when executed by a processor of a specific device, cause the specific device to perform processing operations in the device according to the various embodiments described above. A non-transitory computer-readable medium refers to a medium that permanently stores data and can be read by a device, rather than a medium that stores data for a short period of time, such as a register, cache, or memory. Specific examples of non-transitory computer-readable media may include a CD, DVD, hard disk, Blu-ray disk, USB, memory card, or ROM.
[0210] 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.
[0211] 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; drive unit; input interface; A memory storing a map of the space where the robot cleaner is located; and When a user input for setting the mode of the robot cleaner to the first mode is received through the input interface, the driving unit is controlled so that the robot cleaner performs a cleaning operation based on the map, When the robot cleaner performs a cleaning operation and an obstacle detected by the sensor is identified as a target obstacle, a driving path is identified to move the obstacle from a first location to a second location based on the shape of the obstacle and the location of the area where cleaning has been completed on the map. A robot cleaner comprising: at least one processor for controlling the driving unit to perform a cleaning operation for the first position after moving the obstacle to the second position along the driving path.
2. In paragraph 1, One or more of the above processors, A robot cleaner that identifies the detected obstacle as the target obstacle when the detected obstacle is identified as a floor obstacle, an object that can be contacted by the robot cleaner, and an object that can be pushed by the robot cleaner based on the sensing data acquired through the sensor.
3. In paragraph 2, One or more of the above processors, Based on the sensing data acquired through the above sensor, identify whether the detected obstacle is an obstacle existing in the map, A robot cleaner that identifies whether the detected obstacle is a floor obstacle based on the type of the detected obstacle, if the detected obstacle is identified as an obstacle that does not exist on the map.
4. In paragraph 2, One or more of the above processors, Identifying the properties of the detected obstacle based on the sensing data acquired through the above sensor, A robot cleaner that identifies whether the detected obstacle is an object that can be contacted by the robot cleaner and whether the detected obstacle is an object that can be pushed by the robot cleaner based on the identified properties.
5. In paragraph 1, One or more of the above processors, When the above obstacle is identified as a target obstacle, the shape of the obstacle is identified based on the sensing data acquired through the sensor, Identify the contact portion of the obstacle based on the shape of the obstacle, Identify a driving path for moving the obstacle at the first location to the second location based on the location of the contact portion and the location of the area where cleaning has been completed on the map, A robot cleaner, wherein the above contact portion is a part of an obstacle that the robot cleaner comes into contact with in order to push and move the obstacle.
6. In paragraph 5, One or more of the above processors, A robot cleaner that identifies a plane in the obstacle based on the shape of the obstacle and identifies the plane as the contact portion.
7. In paragraph 1, One or more of the above processors, A robot cleaner that controls the driving unit so that, when the cleaning operation for the first position is completed, the robot cleaner moves the obstacle at the second position to the first position.
8. In paragraph 1, One or more of the above processors, When a user input for setting the mode of the robot cleaner to the second mode is received through the input interface, the driving unit is controlled to move the robot cleaner within the space based on the map, When an obstacle detected by the sensor while the robot cleaner is moving is identified as a target obstacle, an area corresponding to the obstacle is identified among a plurality of areas included in the map based on the type of the obstacle, A robot cleaner that controls the driving unit to move the obstacle to the area based on the location of the area.
9. In paragraph 8, One or more of the above processors, A robot cleaner that controls the driving unit so that the robot cleaner performs a cleaning operation when a user input for a cleaning operation is received through the input interface after the obstacle has moved into the area.
10. In paragraph 9, One or more of the above processors, When the above obstacle is moved to the above area and a user input for cleaning the entire area is received through the input interface, the driving unit is controlled so that the robot cleaner performs a cleaning operation for the entire area of the map based on the map, A robot cleaner that controls the driving unit to perform a cleaning operation for the area where the obstacle was located based on the map when a user input for cleaning the area where the obstacle was located is received after the obstacle has moved to the area.
11. A cleaning method of a robot vacuum cleaner including a sensor, When a user input for setting the mode of the robot cleaner to the first mode is received, a step of performing a cleaning operation based on a map; When an obstacle detected by the sensor is identified as a target obstacle while the robot cleaner is performing a cleaning operation, a step of identifying a driving path for moving the obstacle from a first location to a second location based on the shape of the obstacle and the location of the area where cleaning has been completed on the map; and A cleaning method comprising: a step of moving the obstacle to a second position along the driving path and then performing a cleaning operation for the first position.
12. In paragraph 11, A cleaning method further comprising: a step of identifying the detected obstacle as the target obstacle if the detected obstacle is identified as a floor obstacle, an object that can be contacted by the robot cleaner, and a target obstacle that can be pushed by the robot cleaner based on sensing data acquired through the sensor; 13. In paragraph 12, The step of identifying the detected obstacle as a target obstacle is: A step of identifying whether the detected obstacle is an obstacle existing in the map based on the sensing data acquired through the sensor; and A cleaning method comprising: a step of identifying whether the detected obstacle is a floor obstacle based on the type of the detected obstacle, if the detected obstacle is identified as an obstacle that does not exist on the map; 14. In paragraph 12, The step of identifying the detected obstacle as a target obstacle is: A step of identifying the properties of the detected obstacle based on the sensing data acquired through the sensor; and A cleaning method comprising: a step of identifying whether the detected obstacle is an object contactable by the robot cleaner and whether the detected obstacle is an object pushable by the robot cleaner based on the identified attribute; 15. In paragraph 11, The step of identifying the above driving path is: If the above obstacle is identified as a target obstacle, a step of identifying the shape of the obstacle based on sensing data acquired through the sensor; A step of identifying a contact portion of the obstacle based on the shape of the obstacle; and A step of identifying a driving path for moving the obstacle at the first location to the second location based on the location of the contact portion and the location of the area where cleaning is completed on the map; A cleaning method wherein the above contact portion is a part of an obstacle that the robot cleaner comes into contact with so as to push and move the obstacle.
Citation Information
Patent Citations
System and implementation method of home mess-cleanup robot
KR100711559B1
Moving robot and control method therof
KR1020180087798A
Use of the N-terminal Domain of Caveolin-3 Protein as a Marker for Monitoring Liposome Internal Environment
KR1020210090022A
Electronic device performing interpolation, method for operating thereof and medium storage
KR1020240028257A
Transmission equipment location estimation apparatus and method estimating location of transmission device underwater
KR1020250031628A