Patent Description:
Robots are utilized to replace or assist people in various fields because they can automatically perform difficult tasks or repetitive operations. Recently, various researches are being conducted on techniques for generating a map for a robot, since a map that accurately reflects information on surroundings is required in order for the robot to run smoothly.

As an example of related conventional techniques, <CIT> discloses a robot cleaning device that generates map data, comprising: a communication interface; a memory for storing one or more instructions; and a processor for controlling the robot cleaning device by executing the one or more instructions, wherein the processor is configured to: generate raw map data related to a cleaning space by executing the one or more instructions; generate object information on at least one object in the cleaning space; classifying areas in the raw map data into a plurality of areas on the basis of the object information; and determine identification values of the plurality of classified areas on the basis of the object information. <CIT> discloses a geographical map preparation device, program and method wherein the position of the movable body is estimated using position data on the static body, and the geographical map on the environment is prepared. <CIT> discloses a map constructing apparatus which includes an RGB-D device, and a map constructing method implemented by the map constructing apparatus. <CIT> discloses a dynamic obstacle tracking method and system based on sparse laser radar data. <CIT> discloses a map generation apparatus which generates an environment map including no movable object, a map generation method, and a control program of the map generation apparatus.

However, according to the techniques introduced so far as well as the above-described conventional technique, a raw map primarily generated on the basis of sensing information of a robot (e.g., information acquired by an image sensor, a laser sensor, a LIDAR sensor, etc.) or provided from an external system is used to perform a task of the robot (e.g., serving food) as it is, or used after it is manually modified (e.g., removing noises, annotating obstacle contours, etc.) When the raw map is used as it is, the map contains considerable noises, obstacle contours are inaccurate, and moving obstacles such as people are recognized as fixed obstacles such as walls and retained in the map, so that the robot often runs inefficiently. Further, when the raw map is manually modified, there is a problem that significant time, cost, and effort are required to find and remove fine noises from the raw map with the naked eye, correct blurry contours of the obstacles, and manually annotate the contour extents of the obstacles.

In this connection, the inventor(s) present a novel and inventive technique capable of quickly and accurately automating and performing processes of editing a raw map associated with a task of a robot.

One object of the present invention is to solve all the above-described problems in the prior art.

Another object of the invention is to reduce time, cost, and effort required to generate a map that is utilized to perform a task of a robot.

Yet another object of the invention is to enable a robot to run stably and efficiently by accurately removing fine noises that are difficult to detect with the naked eye.

Still another object of the invention is to set a contour of an obstacle more accurately and enable a user to easily edit the contour of the obstacle afterwards, by performing dilation and erosion operations on pixels estimated to be an obstacle, and specifying (and annotating) a polygon-based contour of the obstacle such that all accessory obstacles associated with the obstacle may be included.

The representative configurations of the invention to achieve the above objects are described below.

In the following detailed description of the present invention, references are made to the accompanying drawings that show, by way of illustration, specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. It is to be understood that the various embodiments of the invention, although different from each other, are not necessarily mutually exclusive. For example, specific shapes, structures and characteristics described herein may be implemented as modified from one embodiment to another without departing from the scope of the invention. Furthermore, it shall be understood that the positions or arrangements of individual elements within each embodiment may also be modified without departing from the scope of the invention. Therefore, the following detailed description is not to be taken in a limiting sense, and the scope of the invention is to be taken as encompassing the scope of the appended claims and all equivalents thereof. In the drawings, like reference numerals refer to the same or similar elements throughout the several views.

Hereinafter, various preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings to enable those skilled in the art to easily implement the invention.

<FIG> schematically shows the configuration of the entire system for generating a map for a robot according to one embodiment of the invention.

As shown in <FIG>, the entire system according to one embodiment of the invention may comprise a communication network <NUM>, a map management system <NUM>, and a robot <NUM>.

First, the communication network <NUM> according to one embodiment of the invention may be implemented regardless of communication modality such as wired and wireless communications, and may be constructed from a variety of communication networks such as local area networks (LANs), metropolitan area networks (MANs), and wide area networks (WANs). Preferably, the communication network <NUM> described herein may be the Internet or the World Wide Web (WWW). However, the communication network <NUM> is not necessarily limited thereto, and may at least partially include known wired/wireless data communication networks, known telephone networks, or known wired/wireless television communication networks.

For example, the communication network <NUM> may be a wireless data communication network, at least a part of which may be implemented with a conventional communication scheme such as Wi-Fi communication, Wi-Fi Direct communication, Long Term Evolution (LTE) communication, Bluetooth communication (more specifically, Bluetooth Low Energy (BLE) communication), infrared communication, and ultrasonic communication.

Next, the map management system <NUM> according to one embodiment of the invention may communicate with the robot <NUM> to be described below via the communication network <NUM>, and may function to: acquire a raw map associated with a task of the robot <NUM>; identify pixels estimated to be a moving obstacle in the raw map, on the basis of at least one of colors of pixels specified in the raw map and sizes of areas associated with the pixels; and perform dilation and erosion operations on the pixels estimated to be the moving obstacle, and determine a polygon-based contour of the moving obstacle.

Meanwhile, although the map management system <NUM> has been described as above, the above description is illustrative, and it will be apparent to those skilled in the art that at least a part of the functions or components required for the map management system <NUM> may be implemented or included in the robot <NUM> to be described below or an external system (not shown), as necessary. Further, in some cases, all of the functions and components of the map management system <NUM> may be implemented or included in the robot <NUM>.

Next, the robot <NUM> according to one embodiment of the invention is a device that may communicate with the map management system <NUM> via the communication network <NUM>, and may autonomously perform predetermined functions or assigned tasks (e.g., serving food, retrieving containers, etc.) without any operation of a user. The robot <NUM> may include at least one of a module (e.g., a grab, a robotic arm module, etc.) for loading and unloading an object (e.g., a food tray), an imaging module (e.g., a visible light camera, an infrared camera, etc.) for acquiring images of surroundings, and a drive module (e.g., a motor) for moving the robot <NUM>. For example, the robot <NUM> may have characteristics or functions similar to those of at least one of a guide robot, a transport robot, a cleaning robot, a medical robot, an entertainment robot, a pet robot, and an unmanned flying robot.

Meanwhile, according to one embodiment of the invention, the robot <NUM> may include an application for controlling a destination of the robot <NUM>. The application may be downloaded from the map management system <NUM> or an external application distribution server (not shown).

Hereinafter, the internal configuration of the map management system <NUM> crucial for implementing the invention and the functions of the respective components thereof will be discussed.

<FIG> illustratively shows the internal configuration of the map management system <NUM> according to one embodiment of the invention.

As shown in <FIG>, the map management system <NUM> according to one embodiment of the invention may comprise a raw map acquisition unit <NUM>, a pixel identification unit <NUM>, a contour determination unit <NUM>, a noise removal unit <NUM>, a contour correction unit <NUM>, a communication unit <NUM>, and a control unit <NUM>. According to one embodiment of the invention, at least some of the raw map acquisition unit <NUM>, the pixel identification unit <NUM>, the contour determination unit <NUM>, the noise removal unit <NUM>, the contour correction unit <NUM>, the communication unit <NUM>, and the control unit <NUM> may be program modules that communicate with an external system. The program modules may be included in the map management system <NUM> in the form of operating systems, application program modules, and other program modules, while they may be physically stored in a variety of commonly known storage devices. Further, the program modules may also be stored in a remote storage device that may communicate with the map management system <NUM>. Meanwhile, such program modules may include, but are not limited to, routines, subroutines, programs, objects, components, and data structures for performing specific tasks or executing specific abstract data types according to the invention as will be described below.

First, the raw map acquisition unit <NUM> according to the present invention function to acquire a raw map associated with a task of the robot <NUM>. According to the present invention, the raw map acquisition unit <NUM> acquires the raw map on the basis of a sensor module (e.g., an image sensor, a radar sensor, a LIDAR sensor, etc.) that may be included in or interwork with the robot <NUM>, or acquire the raw map from an external system. The task according to one embodiment of the invention may refer to a specific job, action, or operation assigned to the robot <NUM>, and causing the robot <NUM> to move to a specific place, serve food, or retrieve containers may be assigned as the task, for example.

According to the present invention, the raw map acquisition unit <NUM> generates a raw map on the basis of sensing information on at least one object (e.g., all types of entities such as people, things, etc.). More specifically, the raw map acquisition unit <NUM> may generate a two- or three-dimensional raw map centered on the robot, on the basis of image data acquired by photographing the at least one object through an image sensor, distance data acquired by measuring the at least one object through at least one of a LIDAR sensor, a radar sensor, a laser sensor, and an ultrasonic sensor, and the like.

As another example, the raw map acquisition unit <NUM> may acquire a raw map associated with a task of the robot <NUM> from an external system associated with the raw map or another robot <NUM>.

Next, the pixel identification unit <NUM> according to the present invention identifies at least one of pixels estimated to be a moving obstacle, pixels estimated to be noises, and pixels estimated to be a fixed obstacle in the raw map, on the basis of at least one of colors of pixels specified in the raw map and sizes of areas associated with the pixels. Here, the fixed obstacle may refer to an obstacle whose movement to another place is impossible (like a building structure such as a wall) or difficult above a certain level, and the moving obstacle may refer to an obstacle whose movement to another place is easy above a certain level (like a desk, a chair, or a table).

According to the present invention, the colors of pixels specified in the raw map are represented in a gray scale according to sensing information (specifically, intensity of sensed signals) acquired in the process of generating the raw map. According to the gray scale, the colors of pixels specified in the raw map are largely classified into white, gray, and black. The white pixels may indicate an area where nothing is located (i.e., an empty area), the black pixels may indicate an area where a real world object is located, and the gray pixels may indicate an area where a real world object may possibly be located. In the present invention, when an area (e.g., a closed area) is formed by including (or connecting) gray pixels and black pixels that are adjacent to each other (e.g., contiguous or located within a certain level) among gray pixels and black pixels in the raw map, and has a size less than or equal to a first threshold size, the pixel identification unit <NUM> identifies the pixels in the area as the pixels estimated to be the noises. Here, the first threshold size may be predetermined or determined through probabilistic statistical analysis based on the number of areas formed by including gray pixels and black pixels that are adjacent to each other in the raw map and the extents of the areas. Further, when an area (e.g., a closed area) is formed by including (or connecting) black pixels that are adjacent to each other among black pixels in the raw map, and has a size greater than the first threshold size and less than or equal to a second threshold size, the pixel identification unit <NUM> identifies the pixels in the area as the pixels estimated to be the moving obstacle. Here, the second threshold size may be predetermined or determined through probabilistic statistical analysis based on the number of areas formed by including black pixels that are adjacent to each other in the raw map and the extents of the areas. Furthermore, when an area (e.g., a closed area) is formed by including (or connecting) black pixels that are adjacent to each other among black pixels in the raw map, and has a size greater than the second threshold size, the pixel identification unit <NUM> identifies the pixels in the area as the pixels estimated to be the fixed obstacle.

Next, the contour determination unit <NUM> according to one embodiment of the invention may function to perform dilation and erosion operations on the pixels estimated to be the moving obstacle by the pixel identification unit <NUM>, and determine a polygon-based contour of the moving obstacle.

For example, the contour determination unit <NUM> may perform a dilation operation and then an erosion operation on the pixels estimated to be a first moving obstacle, and may group at least one second moving obstacle located within a predetermined distance from the first moving obstacle together with the first moving obstacle. Further, the contour determination unit <NUM> may identify convex hulls corresponding to contours of the grouped moving obstacles (i.e., the first moving obstacle and the at least one second moving obstacle) on the basis of a convex hull algorithm, and may determine the contours of the grouped moving obstacles on the basis of the identified convex hulls (e.g., by connecting the convex hulls together).

The noise removal unit <NUM> according to the present inventionfunctions to remove the pixels estimated to be the noises in the raw map by the pixel identification unit <NUM>.

For example, when the colors of pixels specified in the raw map are represented in a gray scale according to sensing information (specifically, intensity of sensed signals) acquired in the process of generating the raw map as described above, the noise removal unit <NUM> may remove the noises by correcting the pixels estimated to be the noises by the pixel identification unit <NUM> (e.g., the pixels in an area that is formed by including (or connecting) gray pixels and black pixels that are adjacent to each other among gray pixels and black pixels in the raw map, and has a size less than or equal to the first threshold size) to white pixels.

Next, the contour correction unit <NUM> according to one embodiment of the invention may function to correct at least one of a color and a thickness of a contour of the pixels estimated to be the fixed obstacle in the raw map by the pixel identification unit <NUM>.

For example, when the colors of pixels specified in the raw map are represented in a gray scale according to sensing information (specifically, intensity of sensed signals) acquired in the process of generating the raw map as described above, the contour correction unit <NUM> may correct a contour of the pixels estimated to be the fixed obstacle by the pixel identification unit <NUM> (e.g., the pixels in an area that is formed by including (or connecting) black pixels that are adjacent to each other among black pixels in the raw map, and has a size greater than the second threshold size) to have black color and a thickness not less than a predetermined level.

Further, the contour correction unit <NUM> may dynamically determine a thickness of a contour of an area specified on the basis of the pixels estimated to be the fixed obstacle, with reference to a size of the specified area.

For example, the contour correction unit <NUM> may determine the contour of the specified area to be thicker as the size of the area is greater, and to be thinner as the size of the area is smaller.

Meanwhile, the contour correction unit <NUM> according to one embodiment of the invention may perform the correction by suppressing the pixels estimated to be the moving obstacle and selectively specifying the pixels estimated to be the fixed obstacle.

For example, the contour correction unit <NUM> may perform the correction after suppressing black pixels included in an area that is formed by including (or correcting) black pixels adjacent to each other among black pixels in the raw map and has a size less than or equal to the second threshold size (e.g., disabling or temporarily removing a layer associated with the black pixels included in the area), and selectively specifying only black pixels included in an area that is formed by including (or correcting) black pixels adjacent to each other among black pixels in the raw map and has a size greater than the second threshold size.

Next, according to one embodiment of the invention, the communication unit <NUM> may function to enable data transmission/reception from/to the raw map acquisition unit <NUM>, the pixel identification unit <NUM>, the contour determination unit <NUM>, the noise removal unit <NUM>, and the contour correction unit <NUM>.

Lastly, according to one embodiment of the invention, the control unit <NUM> may function to control data flow among the raw map acquisition unit <NUM>, the pixel identification unit <NUM>, the contour determination unit <NUM>, the noise removal unit <NUM>, the contour correction unit <NUM>, and the communication unit <NUM>. That is, the control unit <NUM> according to one embodiment of the invention may control data flow into/out of the map management system <NUM> or data flow among the respective components of the map management system <NUM>, such that the raw map acquisition unit <NUM>, the pixel identification unit <NUM>, the contour determination unit <NUM>, the noise removal unit <NUM>, the contour correction unit <NUM>, and the communication unit <NUM> may carry out their particular functions, respectively.

<FIG> illustratively shows a raw map according to one embodiment of the invention. <FIG> illustratively shows a manually edited map according to the prior art.

<FIG> illustratively show maps for a robot generated according to one embodiment of the invention.

Referring to <FIG>, a raw map around a place where the robot <NUM> is located is acquired according to one embodiment of the invention (see <FIG>). According to the prior art, there are limitations in terms of speed and accuracy because the raw map is used as it is or noises should be manually removed and contours of obstacles should be corrected with the naked eye (see <FIG>). However, the map management system <NUM> according to the invention may perform such noise removal and contour correction quickly, accurately, and minutely (see <FIG>).

First, a raw map associated with a task of the robot <NUM> may be acquired according to one embodiment of the invention.

Next, according to one embodiment of the invention, pixels estimated to be noises may be identified in the raw map on the basis of at least one of colors of pixels specified in the raw map and sizes of areas associated with the pixels, and the pixels estimated to be the noises may be removed from the raw map.

Next, referring to <FIG>, according to one embodiment of the invention, pixels estimated to be fixed obstacles <NUM>, <NUM>, and <NUM> may be identified on the basis of at least one of colors of pixels specified in the raw map from which the pixels estimated to be the noises are removed, and sizes of areas associated with the pixels, and at least one of colors and thicknesses of contour pixels of the fixed obstacles <NUM>, <NUM>, and <NUM> estimated as above may be corrected.

Next, according to one embodiment of the invention, pixels estimated to be moving obstacles may be identified on the basis of at least one of colors of pixels specified in the raw map where the contour pixels of the fixed obstacles <NUM>, <NUM> and <NUM> are corrected, and sizes of areas associated with the pixels, and dilation and erosion operations on the pixels estimated to be the moving obstacles may be performed to determine contours <NUM>, <NUM>, and <NUM> of the moving obstacles on the basis of polygons <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, and <NUM>.

Next, according to one embodiment of the invention, at least one of the contours <NUM>, <NUM>, and <NUM> of the moving obstacles and coordinate data on the contours <NUM>, <NUM>, and <NUM> (e.g., coordinate data in a reference coordinate system associated with the raw map, a reference coordinate system of the robot <NUM>, or an absolute coordinate system) may be generated as annotation information of the raw map.

Next, according to one embodiment of the invention, the robot <NUM> may perform the task on the basis of the corrected raw map and the annotation information of the raw map.

Meanwhile, when the contours <NUM>, <NUM>, and <NUM> of the moving obstacles need to be corrected afterwards, they may be easily adjusted on the basis of the polygons <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, and <NUM>.

Meanwhile, various computer programs or tools such as OpenCV library functions of the Python programming language may be utilized to generate a map for a robot according to the invention. For example, functions such as threshold(), connectedcomponentswithstats(), canny(), houghlinesp(), erode(), dilate(), findcontours(), convexhull(), and approxpolydp() of the Python programming language may be used.

Further, although the embodiments in which noise removal, contour correction for fixed obstacles, and contour determination for moving obstacles are performed in that order have been mainly described above, the present invention is not necessarily limited to the above order, and the order may be changed to any other order as long as the objects of the invention may be achieved.

The robot <NUM> according to one embodiment of the invention may be a robot performing tasks similar to those performed by at least one of a guide robot, a serving robot, a transport robot, a cleaning robot, a medical robot, an entertainment robot, a pet robot, and an unmanned flying robot, and may be implemented in various forms corresponding to the respective tasks.

Referring to <FIG>, the robot <NUM> may comprise a main body <NUM>, a drive unit <NUM>, and a processor <NUM>.

For example, the main body <NUM> according to one embodiment of the invention may include at least one loading space for loading an object to be transported or retrieved. The transported or retrieved object according to one embodiment of the invention may refer to all material objects that can be moved, and may encompass things, animals, and people, for example. For example, the transported object may be food and the retrieved object may be a container containing the food.

Referring to <FIG>, when the robot <NUM> is a serving robot, it may include a first space <NUM> and a second space <NUM> for providing the transported object and collecting the retrieved object. Further, the robot <NUM> may further include a third space <NUM> that is an expansion space provided via a removable pillar, and more loading spaces may be provided by adding more expansion spaces as needed. Further, the robot <NUM> may further include a tray <NUM> dedicated for the transported or retrieved object. For example, the tray <NUM> may be configured such that a plurality of circular grooves are formed on its top side as seen from the top. Each of the circular grooves may be formed such that the lower part of a cup containing a drink is seated and easily fixed to some extent. The sizes of the circular grooves may be diverse. Further, the lower part of the first space <NUM> of the robot <NUM> may include a fourth space <NUM> that may be taken out through a lateral side of the robot <NUM>. The fourth space <NUM> according to one embodiment of the invention may have a shape similar to a basket, such that an empty space is formed therein; a lateral side thereof is closed; a top side thereof is open; and a bottom side thereof is closed. However, the loading spaces of the robot <NUM> according to the invention are not necessarily limited to the above description, and may be diversely implemented as other types of loading spaces as long as the objects of the invention may be achieved.

Meanwhile, referring back to <FIG>, the main body <NUM> may further include an imaging module (e.g., a visible light camera, an infrared camera, etc.) (not shown) and a scanner module (e.g., a LIDAR sensor) for acquiring images of surroundings and information on obstacles.

Next, the drive unit <NUM> according to one embodiment of the invention may comprise a module for moving the main body <NUM> to other locations or a module for loading and unloading the transported and retrieved objects.

For example, the drive unit <NUM> may include a module related to electrically, mechanically, or hydraulically driven wheels, propellers, or the like as the module for moving the main body <NUM> to other locations, and may include a robotic arm module for mounting and conveying the transported and retrieved objects as the module for loading and unloading the transported and retrieved objects.

Next, the processor <NUM> according to one embodiment of the invention may be electrically connected to the drive unit <NUM> to perform a function of controlling the drive unit <NUM> (and may include a communication module for communicating with an external system). For example, the processor <NUM> may be a data processing device that are embedded in hardware and have circuits physically structured to perform codes included in a program or functions represented by instructions. For example, such a data processing device embedded in hardware may include a processing device such as a microprocessor, a central processing unit, a processor core, a multiprocessor, an application-specific integrated circuit (ASIC), and a field programmable gate array (FPGA).

Further, the processor <NUM> may perform the functions of at least one of the raw map acquisition unit <NUM>, the pixel identification unit <NUM>, the contour determination unit <NUM>, the noise removal unit <NUM>, and the contour correction unit <NUM> of the map management system <NUM> according to the invention (e.g., the corresponding functions may be modularized and included in the processor <NUM>), and may function to control the drive unit <NUM> through communication with an external system (not shown) that performs the functions of at least one of the raw map acquisition unit <NUM>, the pixel identification unit <NUM>, the contour determination unit <NUM>, the noise removal unit <NUM>, and the contour correction unit <NUM>.

Specifically, the processor <NUM> may function to: acquire a raw map associated with a task of the robot <NUM>; identify pixels estimated to be a moving obstacle in the raw map, on the basis of at least one of colors of pixels specified in the raw map and sizes of areas associated with the pixels; and perform dilation and erosion operations on the pixels estimated to be the moving obstacle, and determine a polygon-based contour of the moving obstacle.

The embodiments according to the invention as described above may be implemented in the form of program instructions that can be executed by various computer components, and may be stored on a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, and data structures, separately or in combination. The program instructions stored on the computer-readable recording medium may be specially designed and configured for the present invention, or may also be known and available to those skilled in the computer software field. Examples of the computer-readable recording medium include the following: magnetic media such as hard disks, floppy disks and magnetic tapes; optical media such as compact disk-read only memory (CD-ROM) and digital versatile disks (DVDs); magneto-optical media such as floptical disks; and hardware devices such as read-only memory (ROM), random access memory (RAM) and flash memory, which are specially configured to store and execute program instructions. Examples of the program instructions include not only machine language codes created by a compiler, but also high-level language codes that can be executed by a computer using an interpreter. The above hardware devices may be changed to one or more software modules to perform the processes of the present invention, and vice versa.

Although the present invention has been described above in terms of specific items such as detailed elements as well as the limited embodiments and the drawings, they are only provided to help more general understanding of the invention, and the present invention is not limited to the above embodiments. It will be appreciated by those skilled in the art to which the present invention pertains that various modifications and changes may be made from the above description.

Claim 1:
A computer-implemented method for generating a map for a robot, the method comprising the steps of:
generating a raw map on the basis of distance data acquired by measuring at least one object using a sensor capable of generating a point cloud;
identifying pixels estimated to be a moving obstacle, pixels estimated to be noises, and pixels estimated to be a fixed obstacle (<NUM>, <NUM>, <NUM>) in the raw map, on the basis of colors of pixels specified in the raw map and sizes of areas associated with the pixels;
performing dilation and erosion operations on the pixels estimated to be the moving obstacle, and determining a polygon-based contour (<NUM>, <NUM>, <NUM>) of the moving obstacle; and
removing the pixels estimated to be the noises from the raw map,
wherein the colors of pixels specified in the raw map are determined in a gray scale according to the distance data, such that darker pixels are associated with an area where a real world object is more likely to be located,
wherein the colors of pixels specified in the raw map are classified into white, gray, and black, and
wherein the identifying step comprises the steps of:
connecting gray pixels and black pixels that are adjacent to each other among gray pixels and black pixels in the raw map to form an area, and if the area has a size less than or equal to a first threshold size, identifying the pixels in the area as the pixels estimated to be the noises;
connecting black pixels that are adjacent to each other among black pixels in the raw map to form an area, and if the area has a size greater than the first threshold size and less than or equal to a second threshold size, identifying the pixels in the area as the pixels estimated to be the moving obstacle; and
connecting black pixels that are adjacent to each other among black pixels in the raw map to form an area, and if the area has a size greater than the second threshold size, identifying the pixels in the area as the pixels estimated to be the fixed obstacle.