Patent Description:
In general, robots have been developed for industrial use and have been responsible for a part of factory automation. In recent years, fields to which robots are applied have been further expanded, so that medical robots, aerospace robots, and the like have been developed, and household robots that may be used in general homes are also being made.

A representative example of the household robot is a robot cleaner, which is a kind of home appliance that sucks surrounding dust or foreign matter to perform cleaning while traveling by itself in a certain region. Such a robot cleaner is generally equipped with a rechargeable battery and an obstacle sensor for avoiding an obstacle while traveling, so that the robot cleaner may perform the cleaning while traveling by itself.

<CIT>, which is a prior art, discloses a technology of capturing a floor image and automatically sensing whether a material of a floor is a material similar to a carpet or the like or a material similar to a floor paper or the like. However, in the prior art, it is difficult to sense an obstacle that is difficult to be sensed through the image capturing, particularly, a thin obstacle such as a wire and the like.

<CIT> presents a robot cleaner for avoiding a stuck situation using artificial intelligence includes a sensing unit configured to detect the stuck situation of the robot cleaner, a driving unit to drive the robot cleaner, and a processor configured to determine a rotation angle of the robot cleaner when the stuck situation is detected through the sensing unit, control the driving unit such that the robot cleaner rotates by the determined rotation angle, and control the driving unit such that the robot cleaner reverses by a certain distance after rotating by the rotation angle.

<CIT> presents a moving robot includes a main body, a driving unit moving the main body, a camera installed on one side of the main body and capturing an image related to a marker, a memory storing information related to a pattern of the marker, and a controller extracting information related to at least one longitudinal line segment included in an appearance of the marker from the captured image, detecting information related to a position and a posture of the main body on the basis of the extracted information related to at least one of the longitudinal line segment and the pattern, and controlling the driving unit on the basis of at least one of the detected position and posture of the main body.

<CIT> presents an autonomous mobile cleaner that comprises: a drive part for driving movement of a cleaner body; a control part arranged on the cleaner body; a camera for acquiring a camera image in a front direction of the cleaner body; an obstacle detection sensor for detecting an object; and a rotation number sensor for detecting the movement impossible state. The control circuit is configured to identify information of an object which became in the movement impossible state, receive information of whether or not to set the object to a cleaning object, receive information indicating that the object is set to the cleaning object, and the control circuit controls the drive part and suction part so as to clean in a first movement mode for cleaning a space except for the object, and then getting over the object in cleaning reservation, and clean in a second movement mode for getting over the object first, and then cleaning the space except for the object in the cleaning start time.

The present disclosure is to solve the above problems, and the present disclosure is to provide a robot cleaner and a method for controlling the same capable of accurately sensing an obstacle by supplementing an unclear portion in a captured depth image with a camera image.

In addition, the present disclosure is to provide a robot cleaner and a method for controlling the same capable of determining a thin obstacle such as a wire and avoiding the corresponding obstacle.

The present disclosure provides a robot cleaner and a method for controlling the same that may supplement a portion in a depth image in which it is difficult to identify whether an obstacle is recognized because of noise or diffused reflection/absorption resulted from a small size with color or brightness information of an IR image or an RGB image, thereby avoiding an obstacle.

The present disclosure acquires brightness or color information of some sensed points in the depth image from the IR image or the RGB image, then expands the sensed points through the brightness or color information of the acquired points, and then combines the expanded points with a slightly sensed depth image detection result to secure enough volume to be recognized as the obstacle.

The present disclosure provides a method for controlling a robot cleaner including acquiring, by a camera, an image, irradiating, by a light source, light toward a location the same as a location where the acquired image is captured, receiving, by a sensor, the light irradiated from the light source and reflected on an object, processing an image received from the sensor to contain a distance value of an individual location, and supplementing the image received from the sensor with the image captured by the camera when a singularity is found, wherein distance values calculated in adjacent portions are discontinuous at the singularity.

In addition, the present disclosure provides a robot cleaner including a camera for acquiring an image, a light source for irradiating light toward a location the same as a location where the acquired image is captured, a sensor for sensing that the light irradiated from the light source is reflected, and a controller that processes an image using the light sensed by the sensor to calculate a distance value of an individual location in the corresponding image, wherein the image is supplemented with the image acquired by the camera when a singularity is found, wherein distance values calculated in adjacent portions are discontinuous at the singularity.

According to the present disclosure, the unclear portion in the captured depth image may be supplemented with the camera image, so that the obstacle may be accurately sensed. Therefore, a sensing accuracy of the obstacle may be improved.

In addition, according to the present disclosure, the thin obstacle such as the wire may be sensed, so that the robot cleaner may travel while avoiding the corresponding obstacle, thereby preventing a damage of the robot cleaner.

Hereinafter, a preferred embodiment according to the present disclosure that may specifically realize the above object will be described with reference to the accompanying drawings.

In such process, a size or a shape of a component shown in the drawings may be exaggerated for clarity and convenience of description. Moreover, terms specifically defined in consideration of the composition and operation according to the present disclosure may vary depending on the intention or custom of the user or operator. Definitions of such terms should be made based on the contents throughout this specification.

Referring to <FIG>, a robot cleaner <NUM> performs a function of cleaning a floor while traveling by itself in a certain region. The cleaning of the floor referred herein includes sucking dust (including foreign matter) from the floor or mopping the floor.

The robot cleaner <NUM> includes a cleaner body <NUM>, a suction unit <NUM>, a sensing unit <NUM>, and a dust collection vessel <NUM>.

The cleaner body <NUM> includes a controller (not shown) for controlling the robot cleaner <NUM> and a wheel unit <NUM> for the traveling of the robot cleaner <NUM>. The robot cleaner <NUM> may be moved back and forth and left and right, or rotated by the wheel unit <NUM>.

The wheel unit <NUM> includes main wheels 111a and sub-wheels 111b.

The main wheels 111a may be respectively arranged on both sides of the cleaner body <NUM> to rotate in one direction or the other direction in response to a control signal of the controller. The main wheels 111a may be driven independently of each other. For example, the main wheels 111a may be respectively driven by different motors.

The sub-wheels 111b support the cleaner body <NUM> together with the main wheels 111a, and assist the traveling of the robot cleaner <NUM> by the main wheels 111a. Such sub-wheels 111b may also be arranged in the suction unit <NUM> to be described later.

As described above, as the controller controls the driving of the wheel unit <NUM>, the robot cleaner <NUM> autonomously travels on the floor.

In one example, the cleaner body <NUM> is equipped with a battery (not shown) that supplies power to the robot cleaner <NUM>. The battery may be rechargeable and detachable from a bottom face of the cleaner body <NUM>.

The suction unit <NUM> is disposed to protrude from one side of the cleaner body <NUM> and sucks air containing dust. The one side may be a side on which the cleaner body <NUM> travels in a forward direction F, that is, a front side of the cleaner body <NUM>.

The suction unit <NUM> may be detachably coupled to the cleaner body <NUM>. When the suction unit <NUM> is separated from the cleaner body <NUM>, a mop module (not shown) may be detachably coupled to the cleaner body <NUM> by replacing the separated suction unit <NUM>. Therefore, when a user wants to remove the dust from the floor, the user may mount the suction unit <NUM> on the cleaner body <NUM>. In addition, when the user wants to mop the floor, the user may mount the mop module on the cleaner body <NUM>.

The sensing unit <NUM> is disposed on the cleaner body <NUM>. As shown, the sensing unit <NUM> may be disposed on the one side of the cleaner body <NUM> where the suction unit <NUM> is located, that is, the front side of the cleaner body <NUM>.

The sensing unit <NUM> may be disposed to overlap the suction unit <NUM> in a vertical direction of the cleaner body <NUM>. The sensing unit <NUM> is disposed above the suction unit <NUM> to sense an obstacle, a terrain object, or the like located in front of the robot cleaner such that the suction unit <NUM> located at the frontmost portion of the robot cleaner <NUM> does not collide with the obstacle.

The sensing unit <NUM> additionally performs another sensing function in addition to such sensing function. This will be described in detail later.

In <FIG> below, an embodiment associated with components of the robot cleaner <NUM> will be described.

The robot cleaner <NUM> according to an embodiment of the present disclosure may include at least one of a communication device <NUM>, an input device <NUM>, a driver <NUM>, a sensing unit <NUM>, an output device <NUM>, a power unit <NUM>, a memory <NUM>, and a controller <NUM>, or a combination thereof.

In this connection, the components shown in <FIG> are not essential, so that a robot cleaner having more or fewer components than that may be implemented. Hereinafter, each of the component will be described.

First, the power supply <NUM> includes a battery that may be charged by an external commercial power source to supply power into the mobile robot.

The power supply <NUM> may supply driving power to each of the components included in the mobile robot, thereby supplying operation power required for the mobile robot to travel or perform a specific function.

In this connection, the controller <NUM> may sense a remaining power of the battery, and control the mobile robot to move to the charging device connected to the external commercial power source when the remaining power is insufficient, thereby charging the battery by receiving charging current from the charging device. The battery may be connected to a battery sensor, so that the remaining power of the battery and a state of charge may be transmitted to the controller <NUM>. The output device <NUM> may display the remaining power of the battery on a screen by the controller.

The battery may be located at a lower portion of a center of the robot cleaner or may be located on one of left and right sides. In the latter case, the mobile robot may further include a counterweight to eliminate weight bias of the battery.

The controller <NUM> plays a role of processing information based on an artificial intelligence technology, which may include at least one module that performs at least one of learning of information, inference of information, perception of information, and processing of natural language.

The controller <NUM> may use a machine learning technology to perform at least one of the learning, the inference, and the processing of a vast amount of information (big data) such as information stored in the cleaner, surrounding environment information, and information stored in an external communicable storage. In addition, the controller <NUM> may predict (or infer) one or more executable operations of the cleaner using the information learned using the machine learning technology, and control the cleaner such that an operation with the highest realization among the one or more predicted operations is executed.

The machine learning technology is a technology, based on at least one algorithm, of collecting and learning large-scale information, and determining and predicting information based on the learned information. The learning of the information is an operation of quantifying a relationship between information and information by identifying characteristics, rules, and criteria of determination of the information, and predicting new data using a quantified pattern.

An algorithm used in the machine learning technology may be an algorithm based on statistics, and may be, for example, a decision tree that uses a tree structure as a prediction model, an artificial neural network that mimics a structure and a function of a neural network of a living thing, genetic programming based on an evolution algorithm of the living thing, clustering that distributes observed examples into subsets called clusters, a Monte Carlo method that calculates function values with probability through randomly extracted random numbers, and the like.

As a field of the machine learning technology, a deep learning technology is a technology of performing at least one of the learning, the determination, and the processing of the information using an artificial neural network (deep neuron network, DNN) algorithm. The artificial neural network (DNN) may have a structure of connecting layers with each other and transferring data between the layers. Such deep learning technology may learn a vast amount of information through the artificial neural network (DNN) using a graphic processing unit (GPU) optimized for parallel computation.

The controller <NUM> may use training data stored in an external server or in the memory, and may be equipped with a learning engine that detects features for recognizing a predetermined object. In this connection, the features for recognizing the object may include a size, a shape, a shadow, and the like of the object.

Specifically, in the controller <NUM>, when some of images acquired through a camera disposed in the cleaner are input into the learning engine, the learning engine may recognize at least one object or living thing contained in the input images.

As such, when applying the learning engine to the travel of the cleaner, the controller <NUM> may recognize whether an obstacle, such as a chair leg, a fan, or a certain type of balcony gap, that interferes with the travel of the cleaner exists around the cleaner, so that efficiency and reliability of the cleaner travel may be increased.

In one example, the learning engine as described above may be mounted on the controller <NUM> or on the external server. When the learning engine is mounted on the external server, the controller <NUM> may control the communication device <NUM> to transmit at least one image, which is an analysis target, to the external server.

The external server may recognize the at least one object or living thing contained in the corresponding image by inputting the image transmitted from the cleaner into the learning engine. In addition, the external server may transmit information associated with a recognition result back to the cleaner.

In this connection, the information associated with the recognition result may include information associated with the number of objects contained in the image, which is the analysis target, and a name of each object.

In one example, the driver <NUM> includes a motor, and drives the motor to rotate the left and right main wheels in both directions, thereby turning or moving the body. The driver <NUM> may allow the body of the mobile robot to move back and forth and left and right, to travel in a curved manner, or to turn in place.

In one example, the input device <NUM> receives various control commands for the robot cleaner from the user. The input device <NUM> may include at least one button. For example, the input device <NUM> may include an identification button, a setting button, and the like. The identification button is a button for receiving a command for identifying sensing information, obstacle information, location information, and map information from the user. The setting button is a button for receiving a command for setting the information from the user.

In addition, the input device <NUM> may include an input resetting button for cancelling a previous user input and receiving a user input again, a delete button for deleting a preset user input, a button for setting or changing an operating mode, a button for receiving a command to return to the charging device, and the like.

In addition, the input device <NUM> may be installed on a top face of the mobile robot as a hard key, a soft key, a touch pad, and the like. In addition, the input device <NUM> may have a form of a touch screen together with the output device <NUM>.

In one example, the output device <NUM> may be installed on the top face of the mobile robot. In one example, an installation location or an installation form may become different. For example, the output device <NUM> may display a battery state, a travel scheme, or the like on a screen.

In addition, the output device <NUM> may output information of a status of an interior of the mobile robot detected by the sensing unit <NUM>, for example, current status of each component included in the mobile robot. In addition, the output device <NUM> may display information of a status of an exterior detected by the sensing unit <NUM>, the obstacle information, the location information, the map information, and the like on the screen. The output device <NUM> may be formed as one of a light emitting diode (LED), a liquid crystal display (LCD), a plasma display panel, and an organic light emitting diode (OLED).

The output device <NUM> may further include sound output means for aurally outputting an operation process of the mobile robot performed by the controller <NUM> or an operation result. For example, the output device <NUM> may output a warning sound to the outside in response to a warning signal generated by the controller <NUM>.

In one example, the communication device <NUM> is connected to a terminal device and/or another device located within a specific region (in this specification, the term "home appliance" will be used interchangeably) through one of wired, wireless, and satellite communication schemes to transmit and receive signals and data.

In one example, the memory <NUM> stores a control program that controls or drives the robot cleaner and data generated therefrom. The memory <NUM> may store audio information, image information, the obstacle information, the location information, the map information, and the like. In addition, the memory <NUM> may store information associated with a travel pattern.

In one example, the sensing unit <NUM> may include an external signal sensor and a cliff sensor.

The external signal sensor may sense an external signal of the mobile robot. The external signal sensor may be, for example, an infrared ray sensor, an ultrasonic sensor, a radio frequency sensor (RF sensor), and the like.

The mobile robot may identify a location and a direction of a charging device by receiving a guide signal generated by the charging device using the external signal sensor. In this connection, the charging device may transmit the guide signal indicating the direction and a distance such that the mobile robot is able to return. That is, the mobile robot may receive the signal transmitted from the charging device to determine the current location and set a moving direction to return to the charging device.

In one example, the cliff sensor may sense the obstacle on the floor that supports the body of the mobile robot mainly using various types of optical sensors.

That is, the cliff sensor is installed on a rear face of the mobile robot on the floor, but the cliff sensor is able to be installed at different locations based on a type of the mobile robot. The cliff sensor is for sensing the obstacle on the floor by being located on the rear face of the mobile robot. The cliff sensor may be an infrared ray sensor, an ultrasonic sensor, an RF sensor, a position sensitive detector (PSD) sensor, and the like equipped with a light emitter and a light receiver like the obstacle sensor.

As an example, one of the cliff sensors may be installed at a front portion of the mobile robot, and the other two cliff sensors may be installed at a relatively rear portion.

For example, the cliff sensor may be the PSD sensor, but may be composed of a plurality of different types of sensors.

The controller <NUM> may measure an infrared ray angle between a light emission signal of an infrared ray emitted by the cliff sensor toward the ground and a reflection signal received by being reflected by the obstacle to sense the cliff and analyze a depth thereof.

In one example, the controller <NUM> may determine whether to pass the cliff based on a ground condition of the cliff sensed using the cliff sensor, and may determine whether to pass the cliff based on the determination result. For example, the controller <NUM> determines whether the cliff exists and the depth of the cliff using the cliff sensor, and then passes the cliff only when the reflection signal is sensed through the cliff sensor.

As another example, the controller <NUM> may use the cliff sensor to determine a lifting phenomenon of the mobile robot.

The sensing unit <NUM> may include a camera <NUM>. In this connection, the camera may mean a two-dimensional camera sensor. The camera <NUM> is disposed on one face of the robot cleaner and acquires image information associated with a region around the body while moving.

Image data in a predetermined format is generated by converting an image input from an image sensor disposed in the camera <NUM>. The generated image data may be stored in the memory <NUM>.

In one example, the sensing unit <NUM> may include a <NUM>-dimensional depth camera (3D depth camera) that calculates a perspective distance between the robot cleaner and an imaging target. Specifically, the depth camera may capture a <NUM>-dimensional image associated with the region around the body, and may generate a plurality of <NUM>-dimensional coordinate information corresponding to the captured 2D image.

In an embodiment, the depth camera may include a light source <NUM> that emits light and a sensor <NUM> that receives the light from the light source <NUM>, and analyze an image received from the sensor <NUM>, thereby measuring a distance between the robot cleaner and the imaging target. Such 3D depth camera may be a 3D depth camera in a time of flight (TOF) scheme.

In another embodiment, the depth camera may include, together with the sensor <NUM>, the light source <NUM> that irradiates an infrared ray pattern, that is, an infrared ray pattern emitter. The sensor <NUM> may measure the distance between the robot cleaner and the imaging target by capturing a shape of the infrared ray pattern irradiated from the infrared ray pattern emitter projected onto the imaging target. Such 3D depth camera may be a 3D depth camera in an infrared (IR) scheme.

In another embodiment, the depth camera may be formed in a stereo vision scheme in which at least two cameras that acquire the existing <NUM>-dimensional images are arranged and at least two images respectively acquired from the at least two cameras are combined with each other to generate the <NUM>-dimensional coordinate information.

Specifically, the depth camera according to the embodiment may include a first pattern irradiating unit that irradiates light of a first pattern downward toward the front of the body, a second pattern irradiating unit that irradiates light of a second pattern upward toward the front of the body, and an image acquisition unit that acquires an image of the front of the body. Thus, the image acquisition unit may acquire an image of a region into which the light of the first pattern and the light of the second pattern are incident.

<FIG> is a control flowchart according to an embodiment. Further, <FIG> is a view comparing images of a sensor and a camera captured a wire. A process in which the robot cleaner recognizes an obstacle such as a wire in an embodiment will be described with reference to <FIG> and <FIG>.

While the robot cleaner travels, the camera <NUM> may acquire the image of the region around the robot cleaner (S10). In this connection, the camera <NUM> may provide an image of the robot cleaner viewed from the front.

The light source <NUM> irradiates the light toward a location the same as a location captured by the camera <NUM> (S20). In this connection, a plurality of the light sources <NUM> may be arranged and the plurality of light sources may irradiate light with a time difference.

The light irradiated from the light source <NUM> is received by the sensor <NUM> after being reflected from the object (S30).

Then, information received from the sensor <NUM> is processed to contain a distance value of an individual location through the controller <NUM> (S40). That is, the information acquired from the sensor <NUM> is information illustrating a two-dimensional plane. In this connection, the controller <NUM> may calculate the distance value by calculating an arrival time point of the light received by the sensor <NUM>, and the like, and allow the information received from the sensor <NUM> to contain the distance value of the corresponding location. In one example, the controller <NUM> may calculate the distance value of each location of the image in various forms other than the above-described scheme.

Then, the controller <NUM> determines whether there is a singularity at which distance values calculated in adjacent portions are discontinuous in the corresponding image (S50). In this connection, the adjacent portions may usually mean portions that are arranged close to each other enough for the distance values to form a single object. That is, when the image captured by the sensor <NUM> is an image captured from a long distance, a distance between the adjacent portions may be set relatively small. On the other hand, when the captured image is an image captured at a close distance, the distance between the adjacent portions may be set relatively large.

In one example, whether there are a plurality of singularities instead of one singularity may also be detected. This is because it may be suspected that a plurality of obstacles are arranged fairly close to each other when there is one singularity, but it may be expected that there is noise or an error in the image acquired by processing the information captured by the sensor <NUM> when there are the plurality of singularities.

For example, the image acquired by processing the information acquired by the sensor <NUM> may be a screen shown in (a) in <FIG>. When the wire is placed on the floor, a plurality of singularities are found in patches in the wire. In this case, it may be determined that there are a plurality of small obstacles based on the information acquired from the sensor <NUM>. In one example, because a size of each of a plurality of divided regions is small, the image acquired by processing the information acquired by the sensor <NUM> may be ignored as information resulted from the error and it may be determined that there is no actual obstacle.

In order to solve such problem, in the present embodiment, the image acquired by processing the information acquired by the sensor <NUM> is supplemented using an image captured by the camera as shown (b) in <FIG> (S60).

The camera <NUM> may capture the <NUM>-dimensional image. That is, information of capturing a status of the location acquired by the sensor <NUM> may be acquired.

In one example, when the camera <NUM> is an RGB camera, and when the singularities are in the same color in S60, disconnected portions having the singularities interposed therebetween may be connected to each other and be determined as the same object. That is, even though the information in which there are the disconnected portions having the singularities interposed therebetween as shown in (a) in <FIG> is transmitted, when it is determined that two disconnected portions and a singularity interposed therebetween are in the same color, the disconnected portions may be supplemented as a single object as shown in (b) in <FIG>. The RGB camera acquires information about a color of the object from the camera. An error in which, even though the disconnected portions are the single object in the same color, the disconnected portions are determined as a plurality of objects by the sensor <NUM> or are not determined as the object may be prevented.

In one example, when the camera <NUM> is an IR camera, and when the singularities have the same brightness in S60, the disconnected portions having the singularities interposed therebetween may be connected to each other and be determined as the same object. That is, even though the information in which there are the disconnected portions having the singularities interposed therebetween as shown in (a) in <FIG> is transmitted, when it is determined that the two disconnected portions and the singularity interposed therebetween have the same brightness, the disconnected portions may be supplemented as a single object as shown in (b) in <FIG>. The IR camera acquires information about a shape of the object. In this connection, an error in which, even though the disconnected portions may be the single object based on the information acquired from the IR camera, the disconnected portions are determined as a plurality of objects by the sensor <NUM> or are not determined as the object may be prevented.

That is, in the present embodiment, information about the obstacle and the like is determined based on the information acquired from the sensor <NUM>. When the information about the singularity at which the distance values are discontinuous is generated, the determination of the obstacle may be supplemented by the camera <NUM> that acquires the two-dimensional information.

In one example, when the determination of the obstacle is supplemented by the information acquired by the camera <NUM>, whether the corresponding object is the obstacle is determined (S70). In the image acquired by the camera <NUM>, the plurality of singularities may also exist identically or there is no object in the corresponding portion. Therefore, even when the information acquired by the camera <NUM> is considered, it may be concluded that there are two cases: the case in which the obstacle exists and the case in which the obstacle does not exist.

When determining that the object is the obstacle, the controller <NUM> may use the machine learning technology to determine whether the corresponding obstacle should be avoided or whether the corresponding obstacle is able to be simply passed.

In one example, in a case of a usual obstacle, the driver <NUM> may be driven such that the robot cleaner travels while avoiding the obstacle so as not to collide with the obstacle.

When the object is not determined as the obstacle in S70, a travel direction of the robot cleaner may be set such that the robot cleaner passes the object.

<FIG> is a view comparing images of a sensor and a camera captured a rod.

In the same process as in <FIG>, the robot cleaner may accurately determine whether there is an object, such as a rod, having a small thickness compared to a length thereof in<FIG>.

(a) in <FIG> is a screen in which information acquired by the sensor <NUM> is image-processed by the controller <NUM> to contain the distance value. in addition, (b) in <FIG> is a screen captured by the camera. In this connection, the camera <NUM> is the two-dimensional camera, which may include the RGB camera or the IR camera.

Claim 1:
A method for controlling a robot cleaner, the method comprising:
acquiring, by a camera (<NUM>), an image;
irradiating, by a light source (<NUM>), light toward a location the same as a location where the acquired image is captured;
receiving, by a sensor (<NUM>), the light irradiated from the light source (<NUM>) and reflected on an object; and
processing an image received from the sensor (<NUM>) to contain a distance value of an individual location;
characterized in that, the method further comprising:
supplementing the image received from the sensor (<NUM>) with the image captured by the camera (<NUM>) when a singularity is found, wherein distance values calculated in adjacent portions are discontinuous at the singularity.