Patent Description:
Robots have been developed for industrial use and have been in charge of part of factory automation. In recent years, robot-applied fields have further expanded to develop medical robots, aerospace robots, and the like, and home robots that may be used in general homes have also been made. Among these robots, a robot capable of traveling by itself is called a moving robot.

A typical example of a moving robot used at home is a robot vacuum cleaner, which is a machine that cleans a certain region by intaking dust or foreign matter, while traveling in the corresponding region by itself.

The moving robot, which can be movable by itself, moves freely and has a plurality of sensors for avoiding obstacles and the like during traveling, and thus it is possible to travel by avoiding obstacles.

In order to perform a predetermined operation such as cleaning, it is necessary to accurately generate a map of a traveling zone and to accurately recognize a current location of the moving robot on the map to move to a certain location in the traveling zone.

To recognize a current location of the moving robot, various methods of continuously recognizing the current location based on traveling information (information on a movement direction and a movement speed or comparison between continuously captured bottom images, etc.) at an immediately previous location during a continuous movement of the moving robot, etc. Have been studied. In addition, research into various methods for a moving robot to generate and learn a map on its own has been conducted.

Related art document (<CIT>) is an invention relating to a map configuring apparatus and method for accurately creating a feature point map and an obstacle map. This document discloses a technique for creating a path based on uncertainty of locations of feature points extracted from an image acquired when a moving robot searches for an unknown environment and traveling according to the created path. The path based on the uncertainty of the feature points is created to increase accuracy of the feature point map of the moving robot or to increase the accuracy of self-location recognition.

However, a search path is created by extracting feature points, and here, uncertainty of a specific environment with few features may be high regardless of whether or not the corresponding region is searched, leading to a problem that the same region is continuously searched.

In addition, in the case of search traveling using an existing grid map, there is a problem in that a boundary between an empty region searched using points with high uncertainty as feature points and an unsearched region cannot be accurately extracted.

The above reference is incorporated by reference herein where appropriate for appropriate teachings of additional or alternative details, features and/or technical background.

<CIT> presents an apparatus and method for building a map. A path is generated on the basis of the degrees of uncertainty of features extracted from an image obtained while a mobile robot explores unknown surroundings, and the mobile robot travels along the generated path.

<CIT> presents a mobile robot and method generating a path of the mobile robot, capable of quickly moving the mobile robot to a location at which the mobile robot is able to detect a docking station. A first configuration space map is built by expanding an obstacle area including an obstacle by a first thickness, and a second configuration space map is built by expanding the obstacle area by a second thickness which is less than the first thickness. A path is generated by sequentially using the first configuration space map and the second configuration space map.

The present disclosure provides a technique of quickly finding a boundary between a searched empty region and an unsearched region, regardless of complexity of a grid map, through image processing.

The present disclosure also provides a moving robot technology for efficiently creating a map by searching a boundary line between an unsearched region and a searched empty region and searching an optimal boundary line (next best view (NBV)) among a plurality of boundary lines and performing path planning, rather than using uncertainty of feature points.

The present disclosure is to create an occupancy grid map including probability information of an obstacle by using a light detection and ranging (LiDAR) sensor, an ultrasonic sensor, a bumper, a 3D sensor, and the like during a map creating process of a moving robot.

Technical objects to be achieved by the present disclosure are not limited to the aforementioned technical objects, and other technical objects not described above may be evidently understood by a person having ordinary skill in the art to which the present disclosure pertains from the following description.

In an aspect, a moving robot is provided. The moving robot includes: a sensor unit configured to create LiDAR data regarding an external geometry, a distance to an object, and the like through a LIDAR sensor, a traveling unit configured to move a main body, and a controller configured to create a cell-based grid map based on the LiDAR data.

In another aspect, a moving robot is provided. The moving robot includes: a controller configured to divide a grid map into a first region, a second region, and a third region, to perform image processing to create a boundary line between the first region and the third region, to recognize a boundary line, to select an optimal boundary line if there are one or more boundary lines, to perform a path plan to the optimal boundary line, and to update the grid map, while moving along a created path.

In another aspect, a moving robot is provided. The moving robot includes: a controller configured to cause colors of each region to be different such that a difference between the color of the first region and the color of the third region is largest, and to create a boundary line through image processing to indicate a line segment between the first region and the third region.

In another aspect, a moving robot is provided. The moving robot includes: a controller configured to select any one boundary line having the largest cost value as an optimal boundary line based on a cost value calculated through first information which is environment information acquired from a vicinity of any one of a plurality of boundary lines and second information which is distance information from a current location of the moving robot to the any one boundary line.

In another aspect, a moving robot is provided. The moving robot may generate a map robust to a change in an environment and accurately recognize a location on the map by complementarily using heterogeneous data acquired by utilizing a heterogeneous sensor together with a LiDAR sensor.

the embodiments will be described in detail with reference to the following drawings in which like reference numerals refer to like elements wherein:.

In the following description, usage of suffixes such as "module", "part" or "unit" used for referring to elements is given merely to facilitate explanation of the present disclosure, without having any significant meaning by itself.

Further, in this disclosure, terms such as first, second, etc. may be used to describe various elements, but these elements are not limited by these terms.

A moving robot <NUM> according to an embodiment of the present disclosure refers to a robot capable of moving on its own using a wheel or the like, and may be a home helper robot and a robot cleaner. Hereinafter, a robot cleaner having a cleaning function among moving robots will be described as an example, but the present disclosure is not limited thereto.

<FIG> are views illustrating external appearances of a moving robot and a charging stand that charges a moving robot according to an embodiment of the present disclosure.

<FIG> is a perspective view showing a moving robot and a charging stand that charges a moving robot according to an embodiment of the present disclosure. <FIG> is a view showing an upper portion of the moving robot shown in <FIG>, <FIG> is a view showing a front portion of the moving robot shown in <FIG>, and <FIG> is a view showing a bottom portion of the moving robot shown in <FIG>.

<FIG> is a view showing another form of a moving robot according to an embodiment of the present disclosure.

Referring to <FIG>, a moving robot <NUM> may have a shape as shown in <FIG> or a shape as shown in <FIG>. The moving robot <NUM> may have any other forms not shown.

<FIG> is a block diagram showing a control relationship between main components of a moving robot according to an embodiment of the present disclosure.

Referring to <FIG> and <FIG>, the moving robot <NUM> includes a traveling unit <NUM> that moves a main body <NUM>. The traveling unit <NUM> includes at least one wheel unit <NUM> that moves the main body <NUM>. The traveling unit <NUM> includes a driving motor connected to the wheel unit <NUM> to rotate a driving wheel. For example, the wheel units <NUM> may be provided on the left and right of the main body <NUM>, respectively, and are referred to as a left wheel <NUM>(L) and a right wheel <NUM>(R) hereinafter.

The left wheel <NUM>(L) and the right wheel <NUM>(R) may be driven by one driving motor, but if necessary, a left-wheel driving motor for driving the left wheel <NUM>(L) and a right-wheel driving motor for driving the right wheel <NUM>(R) may be provided, separately. A traveling direction of the main body <NUM> may be switched to the left or right by making a difference in rotational speeds of the left wheel <NUM>(L) and the right wheel <NUM>(R).

An intake port <NUM> in which air is intaken may be provided on a bottom surface of the main body <NUM>, and an intaking unit <NUM> providing a suction force to allow air to be intaken through the intake port <NUM> and a dust bin collecting dust intaken together with air through the intake port <NUM> may be provided in the main body <NUM>.

The main body <NUM> may include, for example, a case <NUM> forming a space in which various components configuring the moving robot <NUM> are accommodated. An opening for insertion and removal of the dust bin may be provided in the case <NUM>, and a dust bin cover <NUM> that opens and closes the opening may be provided to be rotatable with respect to the case <NUM>.

The moving robot <NUM> may include, for example, a roll-type main brush <NUM> having brushes exposed through the intake port <NUM> and an auxiliary brush <NUM> located on a front side of the bottom surface of the main body <NUM> and having a brush including a plurality of radially extended wings. Dust is separated from a floor in a traveling zone by rotation of these brushes <NUM> and <NUM>, and the dust separated from the floor may be intaken through the intake port <NUM> and collected into the dust bin.

The battery <NUM> supplies power required for the overall operation of the moving robot <NUM> as well as the driving motor. When the battery <NUM> is discharged, the moving robot <NUM> may perform traveling to return to a charging stand <NUM> for charging. During such return traveling, the moving robot <NUM> itself may detect a location of the charging stand <NUM>.

The charging stand <NUM> may include, for example, a signal transmission unit that transmits a predetermined return signal. The return signal may be an ultrasonic signal or an infrared signal, but is not limited thereto.

The moving robot <NUM> may include a signal detection unit that receives a return signal. The charging stand <NUM> may transmit an infrared signal through the signal transmission unit, and the signal detection unit may include an infrared sensor that detects the infrared signal. The moving robot <NUM> moves to a location of the charging stand <NUM> according to the infrared signal transmitted from the charging stand <NUM> and docks to the charging stand <NUM>. Charging is performed between the charging terminal <NUM> of the moving robot <NUM> and the charging terminal <NUM> of the charging stand <NUM> by the docking.

The moving robot <NUM> may include a sensor unit <NUM> that senses information inside/ outside the moving robot <NUM>.

For example, the sensor unit <NUM> may include one or more sensors <NUM> and <NUM> for detecting various information on the traveling zone and an image acquisition unit <NUM> for acquiring image information on the traveling zone. According to an embodiment, the image acquisition unit <NUM> may be separately provided outside the sensor unit <NUM>.

The moving robot <NUM> may map a traveling zone through information sensed by the sensor unit <NUM>. For example, the moving robot <NUM> may perform vision-based location recognition and map creation based on a ceiling image of the traveling zone acquired by the image acquisition unit <NUM>. In addition, the moving robot <NUM> may perform location recognition and map creation based on a light detection and ranging (LiDAR) sensor <NUM> using a laser.

More preferably, the moving robot <NUM> according to the present disclosure may perform location recognition and map creation robust to a change in an environment such as a change in illumination, a change in a location of an article, and the like by effectively fusing vision-based location recognition using a camera and LiDAR-based location recognition technology using a laser.

Meanwhile, the image acquisition unit <NUM> photographs a traveling zone and may include one or more camera sensors that acquire images outside the main body <NUM>.

In addition, the image acquisition unit <NUM> may include, for example, a digital camera. The digital camera may include an image sensor (e.g., a CMOS image sensor) including at least one optical lens and a plurality of photodiodes (e.g., pixels) on which an image is formed by light passing through the optical lens and a digital signal processor (DSP) that configures an image based on a signal output from the photodiodes. The DSP may create a still image as well as a moving image composed of frames including still images.

In the present embodiment, the image acquisition unit <NUM> includes a front camera sensor 120a provided to acquire an image of a front of the main body <NUM> and an upper camera sensor 120b provided on an upper portion of the main body <NUM> to acquire an image of a ceiling in the traveling zone, but a location and a photographing range of the image acquisition unit <NUM> are not necessarily limited thereto.

For example, the moving robot <NUM> may include only the upper camera sensor 120b that acquires an image of the ceiling in the traveling zone and perform vision-based location recognition and traveling.

Alternatively, the image acquisition unit <NUM> of the moving robot <NUM> according to an embodiment of the present disclosure may include a camera sensor disposed to be inclined with respect to one surface of the main body <NUM> and photograph a front side and an upper side together. That is, both the front side and the upper side may be photographed by one camera sensor. In this case, the controller <NUM> may separate a front image and an upper image from the image acquired by the camera based on an angle of view. The separated front image may be used for vision-based object recognition together with an image acquired by the front camera sensor 120a. In addition, the separated upper image may be used for vision-based location recognition and traveling together with the image acquired by the upper camera sensor 120b.

The moving robot <NUM> according to the present disclosure may perform a vision slam of recognizing a current location by comparing surrounding images with pre-stored information based on images or comparing acquired images.

Meanwhile, the image acquisition unit <NUM> may include a plurality of front camera sensors 120a and/or upper camera sensors 120b. Alternatively, the image acquisition unit <NUM> may include a plurality of camera sensors configured to photograph the front side and the upper side together.

In the present embodiment, a camera is installed on a part of the moving robot (e.g., front, rear, bottom), and a captured image may be continuously acquired during cleaning. For photographing efficiency, several such cameras may be installed at each part. The image captured by the camera may be used to recognize a type of material, such as dust, hair, floor, etc. present in the corresponding space, whether cleaning was performed, or a cleaning time.

The front camera sensor 120a may photograph a situation of an obstacle existing on the front of the traveling direction of the moving robot <NUM> or a cleaning region.

According to an embodiment of the present disclosure, the image acquisition unit <NUM> may acquire a plurality of images by continuously photographing the surroundings of the main body <NUM>, and the plurality of acquired images may be stored in the storage unit <NUM>.

The moving robot <NUM> may increase accuracy of obstacle recognition by using a plurality of images or increase the accuracy of obstacle recognition by using effective data by selecting one or more of the plurality of images.

The sensor unit <NUM> may include a distance measurement sensor that measures a distance to an object outside the main body <NUM>. The distance measurement sensor may include a LiDAR sensor <NUM> that acquires information on geometry outside the main body <NUM>. Hereinafter, the present disclosure may be understood based on the LiDAR sensor <NUM>.

The LiDAR sensor <NUM> may output a laser to provide information such as a distance to an object that reflects the laser and a location, a direction, and a material of the object and may acquire geometry information of a traveling zone. The moving robot <NUM> may acquire <NUM>-degree geometry information using the LiDAR sensor <NUM>.

The moving robot <NUM> according to an embodiment of the present disclosure may create a map by recognizing the LiDAR data such as distance, location, and direction of objects sensed by the LiDAR sensor <NUM>. The map may be a cell-based grid map based on the LiDAR data.

The moving robot <NUM> according to an embodiment of the present disclosure may acquire geometry information of the traveling zone by analyzing a laser reception pattern such as a time difference or signal strength of the laser reflected and received from the outside. In addition, the moving robot <NUM> may generate a map using the geometry information acquired through the LiDAR sensor <NUM>.

For example, the moving robot <NUM> according to the present disclosure may perform LiDAR slam to recognize a current location by comparing surrounding geometry information acquired from the current location through the LiDAR sensor <NUM> with LiDAR sensor-based pre-stored geometry information or comparing pieces of acquired geometry information.

Meanwhile, the sensor unit <NUM> may include sensors <NUM>, <NUM>, and <NUM> for sensing various data related to the operation and state of the moving robot.

For example, the sensor unit <NUM> may include an obstacle detection sensor <NUM> that detects an obstacle on a front side. In addition, the sensor unit <NUM> may further include a cliff detection sensor <NUM> that detects the presence of a cliff on the floor in the traveling zone and a lower camera sensor <NUM> that acquires an image of the floor.

Referring to <FIG> and <FIG>, the obstacle detection sensor <NUM> may include a plurality of sensors installed at regular intervals on an outer circumferential surface of the moving robot <NUM>.

The obstacle detection sensor <NUM> may include an infrared sensor, an ultrasonic sensor, an RGBD sensor, a bumper sensor, an RF sensor, a geomagnetic sensor, a location sensitive device (PSD) sensor, and the like.

Meanwhile, a location and type of the sensors included in the obstacle detection sensor <NUM> may vary depending on the type of moving robot, and the obstacle detection sensor <NUM> may include more various sensors.

The obstacle detection sensor <NUM> is a sensor that detects a distance to an indoor wall or an obstacle, and in the present disclosure, the obstacle detection sensor <NUM> is not limited in type but an ultrasonic sensor will be described as an example.

The obstacle detection sensor <NUM> detects an object, in particular, an obstacle, present in the traveling (movement) direction of the moving robot and transmits obstacle information to the controller <NUM>. That is, the obstacle detection sensor <NUM> may detect a movement passage of the moving robot, a projecting object present on the front or side of the moving robot, furniture, a wall surface, a wall edge, and the like of a house and transfer corresponding information to the controller <NUM>.

Here, the controller <NUM> may detect a location of the obstacle based on at least two or more signals received through the ultrasonic sensor, and control movement of the moving robot <NUM> according to the detected location of the obstacle.

According to an embodiment, the obstacle detection sensor <NUM> provided on the outer surface of the case may include a transmitter and a receiver.

For example, the ultrasonic sensor may be provided such that at least one transmitter and at least two receivers stagger. Accordingly, signals may be radiated at various angles, and signals reflected from obstacles may be received at various angles.

According to an embodiment, the signal received from the obstacle detection sensor <NUM> may be subjected to a signal processing process such as amplification or filtering, and then a distance to and direction of the obstacle may be calculated.

Referring to <FIG>, the image acquisition unit <NUM> photographs a traveling zone and may include a camera module. The camera may photograph a situation of an obstacle existing in front of the traveling direction of the moving robot <NUM> or a cleaning region.

According to an embodiment of the present disclosure, the image acquisition unit <NUM> may acquire a plurality of images by continuously photographing the surroundings of the main body <NUM>, and the acquired plurality of images may be stored in the storage unit <NUM>.

The moving robot <NUM> may increase accuracy of spatial recognition, location recognition, and obstacle recognition by using a plurality of images or increase spatial recognition, location recognition, and obstacle recognition by using effective data by selecting one or more of a plurality of images.

In addition, the moving robot <NUM> may include a sensor unit <NUM> including sensors that sense various data related to the operation and state of the moving robot.

For example, the sensor unit <NUM> may include an obstacle detection sensor that detects an obstacle on the front side. In addition, the sensor unit <NUM> may further include a cliff detection sensor that detects the presence of a cliff on the floor in the traveling zone and a lower camera sensor that acquires an image of the floor.

The obstacle detection sensor may include various types of sensors. For example, it may include a LiDAR sensor, an ultrasonic sensor, an RGBD sensor, and a bumper sensor. In this case, the LiDAR sensor may be given priority to acquire sensor data, and obstacle information such as short-range obstacle information or obstacle information such as glass that cannot be detected by the LiDAR sensor may be detected through a bumper sensor or an ultrasonic sensor.

Meanwhile, the location and type of the sensors included in the obstacle detection sensor may vary depending on the type of moving robot, and the obstacle detection sensor may include more various sensors.

Meanwhile, the sensor unit <NUM> may further include a traveling detection sensor that detects a traveling operation of the moving robot <NUM> according to driving of the main body <NUM> and outputs operation information. As the traveling detection sensor, a gyro sensor, a wheel sensor, an acceleration sensor, or the like may be used.

The gyro sensor detects a rotation direction and detects a rotation angle when the moving robot <NUM> moves according to an operation mode. The gyro sensor detects an angular velocity of the moving robot <NUM> and outputs a voltage value proportional to the angular velocity. The controller <NUM> calculates a rotation direction and a rotation angle using a voltage value output from the gyro sensor.

The wheel sensor is connected to the wheel unit <NUM> to detect the number of revolutions of the wheel. Here, the wheel sensor may be an encoder.

The controller <NUM> may calculate a rotational speed of left and right wheels using the number of revolutions. In addition, the controller <NUM> may calculate a rotation angle using a difference in the number of revolutions of the left and right wheels.

The acceleration sensor detects a change in speed of the moving robot <NUM>, for example, a change in the moving robot <NUM> due to departure, stop, change of direction, collision with an object, and the like.

In addition, the acceleration sensor may be embedded in the controller <NUM> to detect a change in speed of the moving robot <NUM>.

The controller <NUM> may calculate a change in location of the moving robot <NUM> based on operation information output from the traveling detection sensor. The location is a relative location to correspond to an absolute location using image information. The moving robot may improve performance of location recognition using image information and obstacle information through such relative location recognition.

Meanwhile, the moving robot <NUM> may include a power supply unit having a rechargeable battery to supply power to the moving robot.

The power supply unit supplies driving power and operating power to each component of the moving robot <NUM>, and when a remaining power is insufficient, the power supply unit may be charged by power received from the charging stand <NUM>.

The moving robot <NUM> may further include a battery detection unit that detects a state of charge of the battery and transmits a detection result to the controller <NUM>. The battery is connected to the battery detection unit so that a remaining battery capacity and a charge status are transmitted to the controller <NUM>. The remaining battery capacity may be displayed on a display <NUM> of the output unit <NUM>.

In addition, the moving robot <NUM> includes an input unit <NUM> for inputting on/off or various commands. The input unit <NUM> may include a button, a dial, and a touch screen. The input unit <NUM> may include a microphone for receiving a user's voice instruction. Various control commands necessary for the overall operation of the moving robot <NUM> may be received through the input unit <NUM>.

According to the present embodiment, the moving robot <NUM> may receive a user's input for a weight of first information of environmental information and second information of distance information through the input unit. Upon receiving the input signal for the weight, the controller <NUM> may calculate a cost value. Details of cost values and weights will be described with reference to <FIG> below.

In addition, the moving robot <NUM> may include an output unit <NUM> and display reservation information, battery status, operation mode, operation status, error status, etc. as an image or output a sound.

The output unit <NUM> may include an audio output unit <NUM> that outputs an audio signal. The audio output unit <NUM> may output a warning message such as a warning sound, an operation mode, an operation state, or an error state as sound under the control of the controller <NUM>. The audio output unit <NUM> may convert an electrical signal from the controller <NUM> into an audio signal and output the converted audio signal. To this end, a speaker or the like may be provided.

In addition, the output unit <NUM> may further include a display <NUM> for displaying reservation information, battery status, operation mode, operation status, error status, and the like as an image.

Referring to <FIG>, the moving robot <NUM> includes the controller <NUM> for processing and determining various information such as recognizing a current location, and a storage unit <NUM> for storing various data. In addition, the moving robot <NUM> may further include a communication unit <NUM> that transmits and receives data to and from an external terminal.

The external terminal has an application for controlling the moving robot <NUM>, displays a map for a traveling zone to be cleaned through execution of the application, and designate a region to clean a specific region on the map. The external terminal may be, for example, a remote controller, PDA, laptop, smartphone, or tablet equipped with an application for setting a map.

The external terminal may communicate with the moving robot <NUM>, display the current location of the moving robot with a map, and display information on a plurality of regions. In addition, the external terminal updates and displays a location of the moving robot according to movement of the moving robot.

The controller <NUM> controls the image acquisition unit <NUM>, the input unit <NUM>, the traveling unit <NUM>, and the intake unit <NUM> configuring the moving robot <NUM>, to thereby control an overall operation of the moving robot <NUM>.

The controller <NUM> may process a user's voice input signal received through the microphone of the input unit <NUM> and perform a voice recognition process. According to an embodiment, the moving robot <NUM> may include a voice recognition module that performs voice recognition inside or outside the controller <NUM>.

According to an embodiment, simple voice recognition is performed by the moving robot <NUM> itself, and high-level voice recognition such as natural language processing may be performed by a server.

The storage unit <NUM> stores various information necessary for the control of the moving robot <NUM>, and may include a volatile or nonvolatile recording medium. The recording medium stores data that may be read by a microprocessor, and includes a hard disk drive (HDD), solid state disk (SSD), silicon disk drive (SDD), ROM, RAM, CD-ROM, magnetic tapes, floppy disks, optical data storage devices, and the like.

In addition, a map for the traveling zone may be stored in the storage unit <NUM>. The map may be input by an external terminal, a server, or the like capable of exchanging information with the moving robot <NUM> through wired or wireless communication or may be created by the moving robot <NUM> through learning by itself.

The location of the rooms in the traveling zone may be displayed on the map. In addition, the current location of the moving robot <NUM> may be displayed on the map, and the current location of the moving robot <NUM> on the map may be updated in a traveling process. The external terminal stores the same map as the map stored in the storage unit <NUM>.

The storage unit <NUM> may store cleaning history information. Such cleaning history information may be created each time cleaning is performed.

A map for the traveling zone stored in the storage unit <NUM>, which is data storing predetermined information of the traveling zone in a predetermined format, may be a navigation map used for traveling during cleaning, a simultaneous localization and mapping (SLAM) map used for location recognition, a learning map used for learning cleaning by storing corresponding information when the moving robot collides with an obstacle or the like, a global location map used for global location recognition, an obstacle recognition map storing information regarding a recognized obstacle, and the like.

The controller <NUM> may include a traveling control module <NUM>, a map creating module <NUM>, a location recognition module <NUM>, and an obstacle recognition module <NUM>.

Referring to <FIG>, the traveling control module <NUM> controls traveling of the moving robot <NUM> and controls driving of the traveling unit <NUM> according to a traveling setting. In addition, the traveling control module <NUM> may recognize a traveling path of the moving robot <NUM> based on the operation of the traveling unit <NUM>, for example. For example, the traveling control module <NUM> may recognize a current or past movement speed of the moving robot <NUM>, a distance by which the moving robot <NUM> has traveled, and the like based on a rotational speed of the wheel unit <NUM>, and the location of the moving robot on the map may be updated based on the recognized traveling information.

The map creating module <NUM> may generate a map of the traveling zone. The map creating module <NUM> may process an image acquired through the image acquisition unit <NUM> to create a map. That is, the map creating module <NUM> may create a cleaning map corresponding to the cleaning region.

In addition, the map creating module <NUM> may recognize a global location by processing an image acquired through the image acquisition unit <NUM> at each location and associating the processed image with a map.

The location recognition module <NUM> estimates and recognizes the current location. The location recognition module <NUM> may estimate and recognize the current location even when the location of the moving robot <NUM> is suddenly changed, by recognizing the location in association with the map creating module <NUM> using the image information from the image acquisition unit <NUM>.

In addition, the location recognition module <NUM> may recognize an attribute of a region in which the moving robot is currently located. That is, the location recognition module <NUM> may recognize a space.

The moving robot <NUM> may recognize a location during continuous traveling through the location recognition module <NUM>, and also learn a map and estimate a current location through the map creating module <NUM> and the obstacle recognition module <NUM> without the location recognition module <NUM>.

The map creating module <NUM> may create a map and create a map through the image acquisition unit <NUM>. The map creating module <NUM> may create a map through the sensor unit <NUM>. The map creating module <NUM> may create a map based on the LiDAR data acquired through the LiDAR sensor. The map may be a grid map based on cells.

When the map is created, the controller <NUM> may divide regions. In dividing the map, the controller may divide the map into a first region, a second region, and a third region based on the LiDAR data. The number of regions is not limited thereto.

The first region may be an empty space according to a result of sensing by the LiDAR sensor. That is, it may be a region of a searched empty space. The second region may be a region where an obstacle exists according to a result of sensing by the LiDAR sensor. That is, it may be a region in which the searched obstacle exists. The third region may be a region not sensed by the LiDAR sensor. That is, it may be an unsearched region.

The controller <NUM> may perform image processing to distinguish between each region through color. The image processing may be to display colors in cells existing in each region. In this case, a gray scale may be used.

The controller <NUM> may maximize a difference between the color of the first region and the color of the third region. In the case of gray scale, a difference in brightness between the first region and the third region may be largest. For example, the first region may be displayed in white, the second region may be displayed in gray, and the third region may be displayed in black.

The controller <NUM> may display a boundary line dividing the first region and the third region. The first region and the third region may be divided through a line segment. In other words, the controller <NUM> may perform image processing for displaying a line segment between the first region and the third region. The controller <NUM> may recognize a line segment as a boundary line between the first region and the third region.

The controller <NUM> may recognize a boundary line and may select an optimal boundary line when the number of boundary lines is one or more. A method of selecting an optimal boundary line may use a cost function. A detailed description thereof may be referred to <FIG> below.

The controller <NUM> may plan a path to the selected optimal boundary line. In this case, whether there is a space in which the moving robot <NUM> will be located may be preferentially checked by creating a grid wave. The controller <NUM> may create a path only within a space where the grid wave reaches. Path-planning may include path creation.

This is because, if a path is created even for a case where there is no space for the moving robot <NUM> to be located, movement to an unnecessary space is repeated, which is inefficient in map creation.

If it is determined that there is a space for the moving robot <NUM> to be located through the grid wave, the controller <NUM> may create a path and sense an external geometry of the main body <NUM> through the LiDAR sensor, while moving along the path. The controller <NUM> may update the grid map based on the sensed LiDAR data.

When the moving robot <NUM> reaches the boundary between the first region and the third region and the grid map is updated through the sensor, the controller <NUM> recognizes another boundary line through the updated grid map and moves to the boundary line. In this case, a process of calculating an optimal boundary line may be performed.

If it is determined that the boundary line no longer exists, the controller <NUM> may complete the map creation.

When the map creation is completed, the controller <NUM> may transmit the created map to an external terminal, a server, or the like through the communication unit <NUM>. In addition, as described above, when a map is received from an external terminal, a server, or the like, the controller <NUM> may store the map in the storage unit <NUM>.

Here, in the map, the cleaning region is divided into a plurality of regions, a connection passage connecting the plurality of regions is included in the map and the map may include information on an obstacle in the region.

When a cleaning command is input, the controller <NUM> determines whether the location on the map and the current location of the moving robot match. The cleaning command may be input from a remote control, the input unit <NUM> or an external terminal.

If the current location does not match the location on the map or if the current location cannot be checked, the controller <NUM> may recognize the current location, restores the current location of the moving robot <NUM>, and then controls the traveling unit <NUM> to move to a designated region based on the current location.

If the current location does not match the location on the map or if the current location cannot be checked, the location recognition module <NUM> analyzes an acquired image input from the image acquisition unit <NUM> to estimate the current location based on the map. In addition, the obstacle recognition module <NUM> or the map creating module <NUM> may also recognize the current location in the same way.

After recognizing the location and restoring the current location of the moving robot <NUM>, the traveling control module <NUM> calculates a traveling path from the current location to the designated region and controls the traveling unit <NUM> to move to the designated region.

When receiving a cleaning pattern information from the server, the traveling control module <NUM> may divide the entire traveling zone into a plurality of regions and set one or more regions as designated regions according to the received cleaning pattern information.

In addition, the traveling control module <NUM> may calculate a traveling path according to the received cleaning pattern information and travel along the traveling path to perform cleaning.

When cleaning of the set designated region is completed, the controller <NUM> may store a cleaning record in the storage unit <NUM>.

In addition, the controller <NUM> may transmit an operation state or a cleaning state of the moving robot <NUM> to an external terminal or server through the communication unit <NUM> at a predetermined cycle.

Accordingly, the external terminal displays the location of the moving robot along with the map on a screen of a running application based on the received data, and also outputs information on a cleaning state.

The moving robot <NUM> according to the embodiment of the present disclosure moves in one direction until an obstacle or a wall surface is sensed, and when the obstacle recognition module <NUM> recognizes an obstacle, the moving robot may determine a traveling pattern such as moving straight, rotation, etc. according to the properties of the recognized obstacle.

Meanwhile, the controller <NUM> may control to perform evasive traveling in a different pattern based on the properties of the recognized obstacle. The controller <NUM> may control to perform evasive traveling in different patterns according to the properties of the obstacle such as a non-hazardous obstacle (general obstacle), a dangerous obstacle, and a movable obstacle.

For example, the controller <NUM> may control to bypass and avoid a dangerous obstacle in a state where a safe longer distance is secured.

In addition, in the case of a movable obstacle, if the obstacle does not move even after a predetermined waiting time, the controller <NUM> may control to perform an evasive traveling corresponding to a general obstacle or an evasive traveling corresponding to a dangerous obstacle. Alternatively, when an evasive traveling pattern corresponding to the movable obstacle is separately set, the controller <NUM> may control to travel accordingly.

The moving robot <NUM> according to an embodiment of the present disclosure may perform obstacle recognition and avoidance based on machine learning.

The controller <NUM> may include the obstacle recognition module <NUM> that recognizes an obstacle learned through machine learning in an input image and the traveling control module <NUM> that controls driving of the traveling unit <NUM> based on the properties of the recognized obstacle.

Meanwhile, <FIG> illustrates an example in which a plurality of modules <NUM>, <NUM>, <NUM>, and <NUM> are separately provided in the controller <NUM>, but the present disclosure is not limited thereto.

For example, the location recognition module <NUM> and the obstacle recognition module <NUM> may be integrated as one recognizer and configured as one recognition module <NUM>. In this case, a recognizer may be trained using a learning technique such as machine learning, and the trained recognizer may recognize the properties of a region, an object, etc. by classifying data input thereafter.

According to an embodiment, the map creating module <NUM>, the location recognition module <NUM>, and the obstacle recognition module <NUM> may be configured as one integrated module.

Hereinafter, an embodiment in which the location recognition module <NUM> and the obstacle recognition module <NUM> are integrated as one recognizer and configured as one recognition module <NUM> will be described, but even in a case where the location recognition module <NUM> and the obstacle recognition module <NUM> are separately provided, they may operate in the same way.

The moving robot <NUM> according to an embodiment of the present disclosure may include a recognition module <NUM> in which properties of objects and spaces are learned through machine learning.

Here, machine learning may refer to that a computer learns through data and solves a problem through the data even if a person does not directly instruct logic to the computer.

Deep learning refers to a method of teaching a computer about the humans' way of thinking based on artificial neural networks (ANNs) for constructing artificial intelligence, which may refer to an artificial intelligence technology that a computer may learn by itself like human beings, although human beings does not teach the computer.

The artificial neural network (ANN) may be implemented in a software form or in a hardware form such as a chip.

The recognition module <NUM> may include an artificial neural network (ANN) in the form of software or hardware in which the properties of space, properties of an obstacle or an object are learned.

For example, the recognition module <NUM> may include a deep neural network (DNN) such as a convolutional neural network (CNN), a recurrent neural network (RNN), or a deep belief network (DBN) trained through deep learning.

The recognition module <NUM> may determine the properties of space and an object included in image data input based on weights between nodes included in the deep neural network (DNN).

Meanwhile, the traveling control module <NUM> may control traveling of the traveling unit <NUM> based on the recognized space and the properties of an obstacle.

Meanwhile, the recognition module <NUM> may recognize properties of space and an obstacle included in the selected specific viewpoint image based on data learned by machine learning.

Meanwhile, the storage unit <NUM> may store input data for determining properties of space and an object and data for learning the deep neural network (DNN).

The storage unit <NUM> may store the original image acquired by the image acquisition unit <NUM> and extracted images obtained by extracting a predetermined region.

Further, according to an embodiment, the storage unit <NUM> may store weights and biases configuring the deep neural network (DNN) structure.

Alternatively, according to an embodiment, weights and biases configuring the deep neural network structure may be stored in an embedded memory of the recognition module <NUM>.

Meanwhile, each time the image acquisition unit <NUM> acquires an image or extracts a partial region of an image, the recognition module <NUM> may perform a learning process by using a predetermined image as training data, or after a predetermined number or more images are acquired, the recognition module <NUM> may perform the learning process.

Alternatively, the moving robot <NUM> may receive data related to machine learning from the predetermined server through the communication unit <NUM>.

In this case, the moving robot <NUM> may update the recognition module <NUM> based on the data related to machine learning received from the predetermined server.

<FIG> are views illustrating a grid map according to an embodiment of the present disclosure.

In order for the moving robot <NUM> to autonomously move and perform a task, recognition of a surrounding environment may be essential. Recognition of the surrounding environment of the moving robot <NUM> may be performed through a map. A typical example of such a map is a grid map in which surrounding spaces are represented by grids or cells (hereinafter, referred to as cells) having the same size and the presence or absence of objects are indicated in each cell. The moving robot <NUM> may create a grid map of the surrounding environment using the distance measurement sensor.

Referring to <FIG>, as a typical method for the moving robot <NUM> to generate a grid map <NUM> for the surrounding environment, the robot may acquire distance information, while rotating in place and create a grid map <NUM> using the acquired distance information.

The grid map <NUM> may be a map in which a predetermined space is divided into cells having the same size and the presence or absence of an object are indicated in each cell. For example, a white cell may represent a region without an object, and a gray cell may represent a region with an object. Therefore, a line connecting the gray cells may represent a boundary line (wall, obstacle, etc.) of a certain space. A color of the cell may be changed through an image processing process.

The size of the cells may be set to be different. For example, if a length and a width of the moving robot <NUM> are both <NUM>, horizontal and vertical lengths of the cells may be set to <NUM>. In this case, the moving robot <NUM> may be located when the <NUM> by <NUM> cells are regions of an empty space. The width and length of the cell may be set to <NUM>. In this case, the moving robot <NUM> may be located when the <NUM> by <NUM> cells are regions of an empty space.

According to an embodiment of the present disclosure, referring to <FIG>, the robot <NUM> may be a moving robot (e.g., a cleaning robot) that creates a map of the surroundings and performs a specific task based on the created map. The moving robot <NUM> may include a distance measurement sensor. The measurement sensor may measure a distance to a surrounding object, create a map using the measured distance, or escape from an obstacle.

Referring to <FIG>, in creating the grid map <NUM>, a specific point of a surrounding object may be indicated as gray cells <NUM> and <NUM> based on distance information. Points A(<NUM>) and B(<NUM>) sensed by the moving robot <NUM> with the LiDAR sensor may be represented by cells A'(<NUM>) and B'(<NUM>) in the grid map <NUM>.

The line connecting the gray cells may represent a boundary line of a wall or an obstacle in a certain space.

<FIG> is a flowchart of a method of creating a map of a moving robot according to an embodiment of the present disclosure.

Referring to <FIG>, the moving robot <NUM> may automatically create map through a step (S100) of receiving sensor data regarding a distance to an external object through a distance measurement sensor, a step (S200) of creating a cell-based grid map based on the sensor data, an image processing step (S300) of dividing regions in the grid map and creating a boundary line between the regions, a step (S400) of determining whether there is one or more boundary lines, a step (S500) of selecting an optimal boundary line if there are one or more boundary lines, a step (S600) of planning a path to the optimal boundary line, and a step (S700) of updating the grid map, while moving along the planned path.

In the step (S400) of determining whether there are one or more boundary lines, if one or more boundary lines do not exist, the moving robot <NUM> may complete the map creation (S800) and store the completed map in the storage unit <NUM>.

The sensor data receiving step (S100) may be a process in which the controller <NUM> receives the LiDAR data sensed through the LiDAR sensor <NUM> among the distance measurement sensors. The LiDAR sensor <NUM> may output a laser and provide information such as a distance, a location, a direction, and a material of an object that reflects the laser, and may acquire geometry information of the traveling zone.

The LiDAR data according to an embodiment of the present disclosure may refer to information such as a distance, a location, and a direction of obstacles sensed by the LiDAR sensor <NUM>.

In the grid map creation step (S200), a map may be generated by recognizing the LiDAR data. The map may be a cell-based grid map based on the LiDAR data. The process of creating the cell-based grid map may be understood through <FIG>.

The image processing step (S300) for the grid map may include a step (S301) of dividing regions of the grid map, a step (S302) of image-processing the divided regions through colors, and an image processing step (S303) of indicating a line segment between the first region and the third region. A detailed description thereof may be referred to <FIG> below.

According to an embodiment of the present disclosure, the grid map is divided into a first region <NUM>, a second region <NUM>, and a third region <NUM> through the image processing step (S300) for the grid map, and the first region <NUM> is image-processed in white, the second region <NUM> is image-processed in gray, and the third region <NUM> is image-processed in black, and the controller <NUM> may recognize line segments <NUM>, <NUM>, and <NUM> between the first region and the third region as boundary lines.

In the step (S400) of determining whether one or more boundary lines exist, the number of boundary lines recognized through the line segments <NUM>, <NUM>, and <NUM> may be determined. That is, the number of image-processed line segments <NUM>, <NUM>, and <NUM> is determined.

If one or more boundary lines do not exist, the controller <NUM> may complete the map creation (S800) and store the map in the storage unit <NUM>.

If there are one or more boundary lines, the step (S500) of selecting an optimal boundary line among them may be performed. The optimal boundary line may be referred to next best view (NBV).

The optimal boundary selecting step (S500) may use a cost function. The cost function is expressed by R(f) and may be calculated by Equation <NUM> below.

Referring to Equation <NUM>, <NUM>(f) is information cost and is a function related to environmental information (hereinafter, first information) around a boundary that may be acquired by moving to any one boundary.

I(f) may be calculated by a length of the boundary line and the number or ratio of cells in the third region. When the length <NUM> of the boundary line is long, it is likely to be a large space and the cost value may be large. If the number u of cells in the third region within a certain radius is large, the ratio of the unsearched region may be large and the cost value may be large.

That is, I(f) may be a function regarding environmental information for determining whether there is a need to preferentially search because the space around the one boundary line is large or the ratio of unsearched region is large, when moving to any one of boundary lines.

I(f) may be a weight function for the length(l) of the boundary line and the number (u) of cells in the third region within a certain radius.

N(f) is a navigation cost and is a function of distance information (second information) from the current location of the moving robot <NUM> to the center point of any one boundary line. The value of N(f) may increase as the distance from the current location of the moving robot <NUM> to the center point of the any one boundary line is shorter.

If the cost value increases as N(f) is larger, a map may be created from a point close to the location of the current moving robot <NUM>. From the user's point of view, it may be advantageous that N(f) is greater than a certain level. However, if N(f) is too large, there is a high possibility of searching for every corner even in a narrow space, so it may be calculated by weighting with I(f) for efficient map creation.

a refers to a weight of I(f) and N(f). In other words, the cost function is a weight function for the first information and the second information, and the cost value may be determined by a weight function for the first information and the second information. The weight may be selected by a user's input signal.

The user may weight I(f) for fast map creation to a large spatial center and may weight N(f) for map creation of every corner to a close spatial center. This principle may be applied not only to the creation of the map but also to a cleaning process.

H is a hysteresis gain and refers to a gain depending on where a boundary line is located according to a sensing range. A sensing radius of the LiDAR sensor <NUM> may be <NUM> meters.

If the boundary line is within the sensing range based on the current location of the moving robot <NUM>, H><NUM>, and if the boundary line is outside the sensing range, H=<NUM>. H may allow to select a boundary line in a traveling direction of the robot, thereby preventing inefficient traveling of changing directions back and forth.

Referring to <FIG>, through an optimal boundary line selecting step (S500), a boundary line having the largest cost value among a plurality of boundary lines may be selected. The first line segment <NUM>, the second line segment <NUM>, and the third line segment <NUM> are not illustrated but may be recognized as a first boundary line <NUM>, a second boundary line <NUM>, and a third boundary line <NUM>, respectively.

A length of the first boundary line <NUM> may be the longest, and a length of the third boundary line <NUM> may be the shortest.

An optimal boundary line may be selected as the first boundary line <NUM> having the largest cost value among the plurality of boundary lines through a cost function. This is because if the weight of the N(f) value is not large, the length of the first boundary line <NUM> is the longest and the I(f) value is large. planning step (S600) may be a step of planning a path to the optimal boundary line NBV. In a state where a center point of the optimal boundary line NBV is set, the path may refer to a path from the current location to the center point. Path planning may include creating a path.

The center point of the optimal boundary line NBV may be a point that bisects the length of the boundary line. The controller <NUM> may set a point that bisects the length of the boundary line as a center point, and create a path from the current location of the moving robot <NUM> to the center point.

<FIG> is a view to help understand a grid wave creating step according to an embodiment of the present disclosure.

Referring to <FIG>, the step of creating a path may further include a wave creating step of creating a grid wave <NUM> and preferentially checking whether there is a space in which the moving robot <NUM> is to be located. For example, the moving robot may emit a sound, electromagnetic radiation (e.g., emissions from a LIDAR sensor), or other wave and detect regions from a which a reflection of the wave is received or not received.

The controller <NUM> may determine a space where the grid wave does not reach (e.g., regions from which a reflection is received) as a space where the moving robot cannot be located, and create a path only within a space where the grid wave reaches (e.g., regions from which a reflection is received).

For example, the wave may be cut off by obstacles <NUM> and <NUM> and the grid wave <NUM> may not reach a first space <NUM>. In this case, path creation in the first space may not be performed.

The controller <NUM> may determine the space where the grid wave does not reach as a space where the moving robot cannot be located, and may not perform the image processing step (S303) of indicating a line segment between the first region and the third region present in the space where the grid wave does not reach. That is, the controller <NUM> may not be able to recognize a boundary line in the space where the grid wave does not reach.

The grid map updating step (S700) may be a step of updating the grid map, while moving along the planned path. The moving robot <NUM> may move along the planned path to the center point of the optimal boundary line NBV, but may move up to a point before a predetermined distance. For example, the moving robot <NUM> may only move up to <NUM> meter before the center point of the optimal boundary line NBV.

The LiDAR sensor <NUM> may have a sensing radius of <NUM> meters. Therefore, moving to the end of the center point of the optimal boundary line NBV may be unnecessary work. The moving robot may move only to a point before a preset distance to reduce a movement time to perform efficient map creation.

The moving robot <NUM> may update the grid map based on the LiDAR data sensed while moving from the optimal boundary line NBV to the point before the preset distance.

The moving robot <NUM> may repeat the process of re-imaging the updated grid map, recognizing a boundary line, and selecting an optimal boundary line to update the path plan and the map.

If the moving robot <NUM> determines that one or more boundary lines are not recognized in the updated map, the moving robot <NUM> may complete the map creation and store the updated map in the storage unit <NUM>.

<FIG> are views specifically showing the image processing step (S300) for the grid map according to an embodiment of the present disclosure.

Referring to <FIG>, the image processing step (S300) for the grid map may include a step (S301) of dividing regions of the grid map, a step (S302) of image-processing the divided regions by colors, and a step (S303) of image-processing through a line segment between a first region and a third region.

In the step (S301) of dividing the region of the grid map, the grid map created in the grid map creating step (S200) may be divided into a plurality of regions. The grid map may be classified into a first region <NUM> if a result sensed by the sensor unit <NUM> is an empty space, a second region <NUM> if a result sensed by the sensor unit <NUM> is a space with an obstacle, and a third region <NUM> if it is an unsearched space not sensed by the sensor unit <NUM>. The regions may be more various.

The step (S302) of image-processing the divided regions by colors may be displaying the regions in different colors. The image processing may be to display colors in cells existing in each region. In this case, a color difference between the first region <NUM> and the third region <NUM> may be greater than a color difference between other regions. It may also include image processing through a difference in brightness.

For example, each region may be distinguished through a gray scale. Referring to <FIG>, when the first region <NUM> is displayed in white, the second region <NUM> is displayed in gray, and the third region <NUM> is displayed in black, a difference in brightness between the first region <NUM> and the third region <NUM> may be greater than a difference in brightness between other regions.

The step (S303) of image-processing through the line segments <NUM>, <NUM>, and <NUM> between the first region <NUM> and the third region <NUM> may be a process of drawing a line segment for dividing the first region <NUM> and the third region <NUM>.

Referring to <FIG>, a total of three boundaries are formed between the first white region <NUM> and the third black region <NUM>, and the image processing step (S303) of displaying line segments <NUM>, <NUM>, and <NUM> on the boundaries may be performed. The controller <NUM> may recognize the line segments <NUM>, <NUM>, and <NUM> as a first boundary line <NUM>, a second boundary line <NUM>, and a third boundary line <NUM>, respectively.

The image processing step (S303) of indicating the line segment may further include a step of comparing the length of the boundary line and the width of the moving robot <NUM>. If the length of the boundary line is shorter than the width of the moving robot <NUM>, the image processing step (S303) of indicating a line segment may be omitted in the corresponding boundary line.

The image processing of indicating a line segment may be performed by extracting only a boundary line having a length longer than the width of the moving robot <NUM>. Accordingly, a map may be efficiently created by setting only a space in which the moving robot <NUM> may move.

The image processing step (S303) of indicating a line segment may further include a wave creating step of creating a grid wave and determining whether there is a space for the moving robot <NUM> to be located.

The controller <NUM> may determine a space where the grid wave does not reach is a space where the moving robot cannot be located, and the boundary line of the space where the grid wave does not reach may not undergo the image processing step (S303) of indicating a line segment. Accordingly, a map may be efficiently created, while only the space in which the moving root <NUM> may move is searched.

<FIG> are views illustrating a map creating process according to an embodiment of the present disclosure.

It can be seen that, from <FIG>, <FIG>, <FIG>, <FIG>, and <FIG>, a first region <NUM> which is a searched empty space, a second region <NUM> which is a space where a searched obstacle exists, and a third region <NUM> which is an unsearched space are changed according to the passage of time.

The first region <NUM> may be displayed in white, the second region <NUM> may be displayed in gray, and the third region <NUM> may be displayed in black, and the line segments F1, F2, and F3 between the first region <NUM> and the third region <NUM> may be recognized as boundary lines.

<FIG> may show a step immediately before the moving robot <NUM> starts searching. Since it is before starting to sense, only the black third region <NUM> may exist.

<FIG> may indicate a step in which the moving robot <NUM> starts searching. In the case of the LiDAR sensor, the sensing radius may be <NUM> meters. When the grid map created through the LiDAR sensor is image-processed, the zone may be divided into a first region <NUM> in white, a second region <NUM> in gray, and a third region <NUM> in black.

In addition, through the process of image-processing the grid map, the first boundary line F1, the second boundary line F2, and the third boundary line F3 may be recognized. The optimal boundary line NBV may be a boundary line having the highest cost value. For example, the first boundary line F1 having the longest boundary line length may be selected as an optimal boundary line.

Next, the controller <NUM> may plan a path to the center point of the first boundary line F1. In this case, the controller <NUM> may preferentially determine whether there is a space where the moving robot <NUM> may be located through the grid wave.

<FIG> may show a step in which the moving robot <NUM> updates the grid map based on sensed data while moving along the planned path. When the updated grid map is image-processed, the zone may be divided into a first region <NUM> in white, a second region <NUM> in gray, and a third region <NUM> in black.

In addition, the first boundary line F1, the second boundary line F2, and the third boundary line F3 may be recognized through the process of image-processing the grid map. In this case, a fourth boundary F4 narrower than the width of the moving robot <NUM> may exist between the first region <NUM> and the third region <NUM>. The controller <NUM> may omit the image processing step (S303) of indicating the line segment in the fourth boundary F4. Therefore, the fourth boundary F4 may not be recognized as a boundary line.

The optimal boundary line (NBV) may be a boundary line having the highest cost value. For example, the first boundary line F1 having the longest boundary line length may be selected as an optimal boundary line.

Next, the controller <NUM> may plan a path to the center point of the first boundary line F1. In this case, the controller <NUM> may determine whether there is a space where the moving robot <NUM> may be located through the grid wave.

<FIG> may show a step of updating a grid map based on sensed data while the moving robot <NUM> moves along the planned path. When the updated grid map is image-processed, the zone may be divided into a first region <NUM> in white, a second region <NUM> in gray, and a third region <NUM> in black.

In addition, through the process of image-processing the grid map, the second boundary line F2 and the third boundary line F3 may be recognized. The optimal boundary line NBV may be a boundary line having the highest cost value. For example, the second boundary line F2 having the longest boundary line length may be selected as an optimal boundary line.

A sensing radius of the LiDAR sensor may be <NUM> meters. Therefore, LiDAR data may be collected up to the location of the third boundary line F3, while the moving robot moves to the center point of the second boundary line F2 through the path plan. As a result, the moving robot <NUM> may generate a grid map without moving to the location of the third boundary line F3 through the LiDAR sensor, and thus, a map may be efficiently created.

Next, the controller <NUM> may plan a path to the center point of the second boundary line F2. In this case, the controller <NUM> may preferentially determine whether there is a space where the moving robot <NUM> may be located through the grid wave.

<FIG> may show a step in which the moving robot <NUM> updates a grid map based on sensed data while moving along a planned path. When the updated grid map is image-processed, the zone may be divided into a first region <NUM> in white, a second region <NUM> in gray, and a third region <NUM> in black.

In addition, the second boundary line F2 may be recognized through the process of image-processing the grid map. Since the second boundary line F2 is one of the boundary lines, the boundary line may be an optimal boundary line (NBV). Next, the controller <NUM> may plan a path to the center point of the second boundary line F2. In this case, whether there is a space in which the moving robot <NUM> may be located may be determined through a grid wave.

<FIG> may show step of completing creation of a grid map based on data sensed while the moving robot <NUM> moves along a planned path.

When the grid map is image-processed, the zone may be divided into a first region <NUM> in white, a second region <NUM> in gray, and a third region <NUM> in black. In this case, a boundary line between the first region <NUM> and the third region <NUM> may no longer exist. The controller <NUM> may complete the map creation and store the upgraded grid map in the storage unit <NUM>.

The moving robot according to the present disclosure is not limited to the configuration and method of the embodiments described above, and all or some of the embodiments may be selectively combined to be configured so that various modifications may be made.

Similarly, the operations are depicted in a particular order in the drawings, but this depiction should not be understood as requiring that the operations be performed in the particular order shown or in a sequential order, or that all illustrated operations be performed, in order to achieve desirable results. In a particular case, multitasking and parallel processing may be advantageous.

The control method of a moving robot according to embodiments of the present disclosure may be implemented as codes that can be read by a processor in a recording medium that can be read by the processor. The processor-readable recording medium may include any type of recording devices in which data that can be read by the processor is stored. The processor-readable recording medium also includes implementations in the form of carrier waves, e.g., transmission via the Internet. The processor-readable recording medium may be distributed over network-connected computer systems so that processor-readable codes may be stored and executed in a distributed fashion.

Specific embodiments have been described. However, the present disclosure is not limited to the specific embodiments and various modifications may be made without departing from the scope of the present disclosure claimed in the claims.

According to the present disclosure, one or more of the following effects are acquired.

First, the same and accurate results are always extracted by recognizing a boundary line through image processing.

Second, since an algorithm is applied by imaging a map, any map created through any sensor may be applied regardless of map type.

Third, whether a boundary line searched through image processing is a boundary line which a robot can actually reach is determined through path planning, thus deleting a boundary line of an imaginary number to efficiently create a map of a substantially overall environment.

Fourth, when selecting an optimal boundary, a user is allowed to select a weight, thereby increasing user convenience.

Claim 1:
A method for creating a map by a moving robot (<NUM>), the method comprising:
collecting (S100) sensor data by a sensor of the moving robot (<NUM>);
creating (S200) a map based on the sensor data;
performing (S300) image processing of the map:
- to distinguish between regions in the map, wherein the regions that are distinguished include a first region (<NUM>, <NUM>) which is an empty space, a second region (<NUM>, <NUM>) in which an obstacle is detected by the sensor, and a third region (<NUM>, <NUM>) that has not been sensed by the sensor, and
- to identify at least one boundary line (F1, F2, F3) between the first and the third regions (<NUM>, <NUM>, <NUM>, <NUM>);
selecting (S500) an optimal boundary line (F1) of the at least one boundary line (F1, F2, F3), wherein selecting (S500) the optimal boundary line includes determining respective cost values for the at least one boundary line based on first information which is sensed when traveling to one of the least one boundary line and second information which is regarding a distance to the one of the at least one boundary line, and selecting, as the optimal boundary line, one of the at least one boundary line having a highest cost value of the cost values;
determining (S600) a path toward the optimal boundary line (F1) and moving along the path; and
updating (S700) the map based on additional sensor data collected while moving along the path.