WO2023068542A1 - 모바일 로봇의 전역 위치인식을 위한 방법 및 컴퓨팅 장치 - Google Patents

모바일 로봇의 전역 위치인식을 위한 방법 및 컴퓨팅 장치 Download PDF

Info

Publication number
WO2023068542A1
WO2023068542A1 PCT/KR2022/013195 KR2022013195W WO2023068542A1 WO 2023068542 A1 WO2023068542 A1 WO 2023068542A1 KR 2022013195 W KR2022013195 W KR 2022013195W WO 2023068542 A1 WO2023068542 A1 WO 2023068542A1
Authority
WO
WIPO (PCT)
Prior art keywords
submap
image
query
mobile robot
calculating
Prior art date
Application number
PCT/KR2022/013195
Other languages
English (en)
French (fr)
Inventor
안수용
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020220105413A external-priority patent/KR20230057944A/ko
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Publication of WO2023068542A1 publication Critical patent/WO2023068542A1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions

Definitions

  • the present invention relates to a technology for global localization of mobile robots.
  • Mobile robots move autonomously in space and have the ability to handle high-level tasks such as guidance, delivery, surveillance, and cleaning.
  • a robot with high-level tasks such as guidance, delivery, surveillance, and cleaning.
  • Localization can be largely divided into local localization and global localization. Of these, global localization differs from local localization in determining the initial location. It is a technology that can find the current position of a robot without prior knowledge.
  • This method is a method of converting accumulated 2D laser scan data acquired by a laser scanner mounted on a robot into a 2D occupancy grid map and extracting feature points from this image.
  • a Scale Invariant Feature Transform (SIFT) algorithm and a Speeded Up Robust Feature (SURF) algorithm which are widely used in the field of object recognition, may be utilized.
  • This approach has the advantage of being able to reuse many algorithms proposed in computer vision, but in the process of generating the 2D occupancy grid map, mismatch between the 2D occupancy grid map and real space may occur due to sensor noise or map writing errors. .
  • An object of the present invention to solve the above problems is to use geometric feature information and structural feature information extracted from a 2D occupancy grid map to increase the efficiency of global location recognition of a mobile robot. ) to provide a method and apparatus for
  • a method for recognizing the global location of a mobile robot is a method for recognizing the global location performed by a processor of a computing device mounted in a mobile robot, and includes a plurality of global map images.
  • the dividing of the global map image into a plurality of query submap images may include generating the global map image using a sensor mounted in the mobile robot; extracting a junction point defining a point at which a moving path of the mobile robot diverges on the global map image; and dividing the global map image into the plurality of query submap images having a constant radius around the junction point.
  • the extracting of the junction point may include converting the global map image into an edge map image based on an image processing technique; and assuming an n ⁇ n image patch consisting of a center pixel and neighboring pixels surrounding the center pixel in the edge map image, if a pixel value of the center pixel is different from pixel values of at least three neighboring pixels, The step of extracting the center pixel as the junction point may be included.
  • calculating a histogram value representing a geometric feature of each query submap image may include calculating a boundary histogram value representing a geometric feature of a boundary area in which the mobile robot cannot move in each query submap image; and calculating a free space histogram value representing a geometric feature of a free space area in which the mobile robot can move in each query submap image.
  • the calculating of the boundary histogram value may include converting each query submap image into an edge map image based on an image processing technique; sampling boundary points forming the boundary area within the edge map image; generating a plurality of boundary point pairs by configuring the sampled boundary points as pairs; and calculating the boundary histogram value based on a distance value between two boundary points included in each boundary point pair.
  • the calculating of the free space histogram value may include converting each query submap image into an edge map image based on an image processing technique
  • the calculating of the reflection symmetry score may include converting each query submap image into an edge map image based on an image processing technique; detecting a reflection symmetry axis based on angles of line segments having a predetermined length in the edge map image; converting the edge map image into a blur image based on an image blurred technique; and calculating a similarity between the blood image and the blood image inverted based on the detected reflection symmetry axis as the reflection symmetry score.
  • the method may further include rotating the edge map image so that the detected axis of reflection symmetry is vertically aligned between the step of detecting the axis of reflection symmetry and the step of converting the edge map image into a blood image.
  • the calculating of the submap similarity may include calculating a first difference between the histogram value of each query submap image and histogram values representing the geometric characteristics of the submap images stored in the database; calculating a second difference between the reflection symmetry score of each query submap image and reflection symmetry scores representing structural features of submap images stored in the database; and calculating the submap similarity based on the first and second difference values.
  • the step of calculating the first difference value may include a boundary histogram value representing the geometric feature of a boundary area in which the mobile robot cannot move in each query submap image and the mobile robot can move in the submap images. Calculating a difference value between boundary histogram values representing the geometrical feature of the borderless region; and a difference between a free-space histogram value representing the geometrical feature of a free-space area to which the mobile robot can move and a free-space histogram value representing the geometrical characteristic of a free-space area to which the mobile robot can move in each query submap image. It may include calculating a value.
  • a computing device for recognizing a global location of a mobile robot includes an image divider dividing an occupied grid map image into a plurality of query submap images; a feature extractor that calculates a histogram value representing a geometric feature of each query submap image and a reflection symmetry score representing a symmetric feature of each query submap image; a submap similarity calculator calculating a similarity between each query submap image and submap images stored in a database based on the histogram value and the reflection symmetry score; and a global location recognition processor that selects a submap image most similar to the query submap image based on the submap similarity and performs global location recognition of the robot based on coordinate information included in the selected submap image.
  • the image divider may divide the occupied grid map image into a plurality of query submap images based on a junction point from which a moving path of the mobile robot diverges on the occupied grid map image.
  • the feature extractor may include: a first geometrical feature extractor calculating a boundary histogram value obtained by quantifying a distribution feature of a boundary area in which the mobile robot cannot move in each query submap image; a second geometrical feature extractor calculating a free space histogram value quantifying a distribution feature of a free space area in which the mobile robot can move in each query submap image; and a structural feature extractor calculating a reflection symmetry score obtained by quantifying the symmetry of each query submap image.
  • the submap similarity calculator calculates a difference between a boundary histogram value quantifying the geometric feature of the boundary region in each query submap image and a boundary histogram value quantifying the geometric feature of the boundary region in the submap image stored in the database.
  • a first subtractor that does;
  • a second subtractor for calculating a difference between a free-space histogram value quantifying the geometric feature of the free-space region in each query submap image and a boundary histogram value quantifying the geometric feature of the free-space region of the submap image stored in the database; and and a third subtractor for calculating a difference between the reflection symmetry score quantifying the symmetry of the query submap image and the reflection symmetry score quantifying the symmetry of the submap image stored in the database.
  • the submap similarity calculator may calculate a similarity between each query submap image and the submap images by calculating difference values calculated by the first to third subtractors.
  • the submap similarity calculator further includes an adder for adding a difference value calculated by the first subtracter and a difference value calculated by the second subtractor,
  • a similarity between each query submap image and the submap images may be calculated by calculating the difference value calculated by the third subtractor with the value summed by the adder as a weight.
  • a method for recognizing a global location performed by a processor of a computing device mounted in a mobile robot relates to a boundary region in which the mobile robot cannot move in each query submap image divided from a global map image.
  • Calculating boundary histogram values quantifying distribution characteristics;
  • Calculating a free space histogram value quantifying a distribution characteristic of a free space area in which the mobile robot can move in each query submap image;
  • Submap images stored in the database by comparing the boundary histogram value, the free space histogram value, and the reflection symmetry score of each query submap image with the boundary histogram value, free space histogram value, and reflection symmetry score of submap images input from the database.
  • the global map image may be a 2D or 3D occupancy grid map image.
  • the present invention proposes a global localization method of a mobile robot based on geometric feature information and structural feature information (symmetry) extracted from a submap.
  • the present invention digitizes (quantifies) the structural feature information of the indoor space by introducing the structural information of the submap, that is, the symmetry score, so as to quantify (quantify) the submap. It is possible to improve the matching (matching) performance of (submap).
  • the present invention can secure robustness against noise applied to a submap by providing explicit integration of geometric feature information and structural feature information of the submap.
  • the present invention can be applied to all sensors (eg, ultrasonic sensor, 2D/3D LiDAR, 3D depth camera) capable of generating a 2D occupancy grid map.
  • sensors eg, ultrasonic sensor, 2D/3D LiDAR, 3D depth camera
  • the present invention can be applied to a 2D floor plan map of an indoor building, there is no need to construct a map in advance through a robot.
  • FIG. 1 is a flowchart illustrating a method for global location recognition of a mobile robot according to an embodiment of the present invention.
  • FIG. 2 is a diagram showing an example of a 2D occupancy grid map used as a global map according to an embodiment of the present invention.
  • FIG. 3 is a flowchart for explaining in detail a process of dividing a 2D occupancy grid map used as a global map into a plurality of submaps according to an embodiment of the present invention.
  • FIG. 4 is a diagram showing an edge map image generated by S120 of FIG. 3 .
  • FIG. 5 is a diagram showing candidate junction points extracted by S130 of FIG. 3 and junction points extracted by S140 on the edge map image shown in FIG. 4 together.
  • FIG. 6 is an exemplary diagram of a plurality of submaps divided from the 2D occupancy grid map of FIG. 2 by S150 of FIG. 3 .
  • FIG. 7 is a flowchart for explaining in detail a statistical value calculation process for geometric feature information of a boundary area according to an embodiment of the present invention.
  • FIG. 8 is an exemplary view of four submaps representing a boundary area with boundary points according to an embodiment of the present invention.
  • FIG. 9 is a graph showing boundary histograms of the four submaps shown in FIG. 8 .
  • FIG. 10 is a flowchart for explaining in detail a statistical value calculation process for geometric feature information of a free space area according to an embodiment of the present invention.
  • 11 is an exemplary diagram of four submaps representing a free space area as free space points according to an embodiment of the present invention.
  • FIG. 12 is a graph showing free space histograms of the four submaps shown in FIG. 11 .
  • 13 is an exemplary view of four submaps having different noise levels according to an embodiment of the present invention.
  • FIG. 14 is a graph showing free space histograms of the four submaps shown in FIG. 13 .
  • 15 is a flowchart for explaining in detail a calculation process of a reflection symmetry score according to an embodiment of the present invention.
  • 16 is an exemplary diagram of images generated in each step of FIG. 15 .
  • 17 is a functional block diagram for global location recognition of a mobile robot according to an embodiment of the present invention.
  • FIG. 18 is a block diagram illustrating a computing device for performing global positioning according to an embodiment of the present invention.
  • the present invention proposes a method for recognizing a global location of a mobile robot using a submap divided from a global map.
  • the global map may be a “2D occupancy grid map”.
  • global map is regarded as the same term as 'global map image'
  • submap is regarded as the same term as 'submap image' or 'input submap image'.
  • the 2D occupancy grid map is also regarded as the same term as '2D occupancy grid map image'.
  • the method for recognizing the global location of a mobile robot provides statistical values representing distribution features of occupied and unoccupied areas within a submap.
  • the extracted statistics are defined as global descriptors.
  • the present invention divides a submap into a boundary area (or the occupied area) and a free space area (or the unoccupied area), and distribution features of each area are Histogram-type data (hereinafter referred to as histogram data or histogram values) is created as a global descriptor.
  • a global descriptor representing distribution features of a boundary area and a global descriptor representing distribution characteristics of a free space area can be used as "geometric feature information" of a submap.
  • the method for recognizing the global location of a mobile robot uses a reflection symmetry score representing structural feature information of a submap to quantify a "structural feature or symmetrical feature" of a submap.
  • the reflection symmetry score may be used as a weighting factor when calculating a similarity score between a submap and a query submap.
  • the method for recognizing the global location of a mobile robot introduces structural feature information of a submap, that is, a symmetry score, thereby digitizing the structural feature information of the indoor space and digitizing the submap. It is possible to improve the matching (matching) performance of (submap).
  • the present invention can secure robustness against noise applied to a submap by providing explicit integration of geometric feature information and structural feature information of the submap.
  • the present invention can be applied to all sensors (eg, ultrasonic sensor, 2D/3D LiDAR, 3D depth camera) capable of generating a 2D occupancy grid map.
  • sensors eg, ultrasonic sensor, 2D/3D LiDAR, 3D depth camera
  • FIG. 1 is a flowchart illustrating a method for global location recognition of a mobile robot according to an embodiment of the present invention.
  • the performing subject of the steps (S100 to S700) described below may be a computing device mounted in the mobile robot (or mobile robot) or disposed outside the mobile robot.
  • the computing device temporarily stores a processor for performing calculations for data and image processing, program instructions required for data and image processing, temporarily stores intermediate data and result data processed by the processor, or A memory that provides an execution space for programs or software modules executed by the processor, and a storage medium that permanently stores intermediate data and result data processed by the processor or permanently stores the intermediate data and result data in the form of a database. , an input/output interface for receiving a user command and outputting the intermediate data and result data in the form of visual or auditory information, and a communication module supporting wired or wireless communication with an external device.
  • the processor includes at least one Central Processing Unit (CPU), at least one Graphic Processing Unit (GPU), at least one Micro Controller Unit (MCU), and at least one System on Chip (SoC). Chip) and/or hardware configured to include at least one of combinations thereof.
  • step S100 a process of dividing a global map into a plurality of submaps is performed.
  • the global map is a 2D or 3D occupancy grid map (2D/3D Occupancy Grid Map) generated using a sensor such as a 2D laser scanner or 2D LiDAR mounted on a mobile robot.
  • a sensor such as a 2D laser scanner or 2D LiDAR mounted on a mobile robot.
  • Steps S200, S300 and S400 performed following S100 may be performed in parallel or sequentially. In this document, it is assumed that the above steps S200, S300 and S400 are performed concurrently in parallel.
  • the first statistic is a boundary histogram obtained by digitizing or quantifying the geometric feature information of the boundary area (or occupied area), and the boundary histogram is obtained by digitizing or quantifying the geometric feature information of the boundary area It can be used as a global descriptor to indicate
  • the second statistic is also a free space histogram obtained by digitizing or quantifying geometric feature information of a free space area (or an unoccupied area). Used as a global descriptor representing geometric feature information.
  • the statistics calculated by S200, S300, and S400 that is, the boundary histogram, the free histogram, and the reflection symmetry score, respectively, are calculated off-line before performing global localization and stored in the database together with the submap.
  • a similarity score between the submaps stored in the database and the currently input query submap is calculated based on the first statistical value, the second statistical value, and the reflection symmetry score. process is carried out.
  • S600 a process of selecting a submap most similar to the query submap from among submaps stored in the database based on the calculated similarity score is performed.
  • the above-described calculation processes of S200 to S400 for the query submap may be performed.
  • S500 and S600 are a process of finding a best matching submap by comparing the submap with all submaps S i stored in the database, and may be integrated into one step.
  • FIG. 2 is a diagram showing an example of a 2D occupancy grid map used as a global map according to an embodiment of the present invention.
  • the 2D occupancy grid map 20 used as a global map is a mobile robot or a 2D laser scanner (or 2D LiDAR) mounted on the mobile robot. It can be generated based on 2D laser scan data obtained by
  • the most recently created submap and the 2D occupancy grid map 20 should be compared. Therefore, a process of dividing the 2D occupancy grid map 20 into predetermined units is required.
  • the 2D occupancy grid map 20 may be divided into uniform intervals, but in this case, a submap including an area where a robot cannot be located may be generated. To prevent this, an embodiment of the present invention
  • a plurality of submaps are generated by dividing the 2D occupancy grid map 20 based on a junction point on the 2D occupancy grid map 20 .
  • the junction point may refer to a point at which a movement path of a robot diverges on a 2D occupancy grid map.
  • FIG. 3 is a flowchart illustrating a process of dividing a 2D occupancy grid map used as a global map into a plurality of submaps according to an embodiment of the present invention
  • FIG. 4 shows an edge map image generated by S120 of FIG.
  • FIG. 5 is a diagram showing candidate junction points extracted by S130 of FIG. 3 and junction points extracted by S140 on the edge map image shown in FIG. 4
  • FIG. 6 is an exemplary view of a plurality of submaps divided from the 2D occupancy grid map by S150 of FIG. 3 .
  • the 2D occupied grid map 20 is converted into a binary map image made of a binary scale. After transformation, the binarized map image is converted into a distance transformed image or a distance transformed map image according to a distance transform technique, which is one of image processing techniques.
  • the distance transformation map image is subjected to a morphological operation technique (eg, erosion morphological operator ) and an image thinning technique, it is converted into an edge map image (40 in FIG. 4) having a 1-pixel width.
  • a morphological operation technique eg, erosion morphological operator
  • an image thinning technique it is converted into an edge map image (40 in FIG. 4) having a 1-pixel width.
  • a junction test is performed on all nonzero pixels of the edge map image (40 in FIG. 4) to determine candidate junction points (41 in FIG. 5).
  • the junction test is, for example, 3 ⁇ 3 image patches (image patches) composed of all pixels constituting the edge (boundary) as the center pixel 41 in the edge map image (40 in FIG. 4) (FIG. 4 of A) is extracted.
  • pixel values of at least three neighboring pixels among the neighboring pixels 41A, 41B, and 41C surrounding the central pixel 41 within the 3 ⁇ 3 image patch A are the pixel values of the central pixel 41 and
  • the center pixel 41 is extracted as a candidate junction point.
  • 4 shows an example of a 3 ⁇ 3 image patch A in which the center pixel 41 is in white gray scale and the surrounding pixels 41A, 41B and 41C are in black gray scale.
  • the center pixel (41) can be defined as candidate junction points diverging in three directions.
  • junction points representing the clustered candidate junction points (41 to 46 in FIG. 5) ( junction points) (50, 51, 52, ... in FIG. 5) are extracted.
  • the 2D occupancy grid map 20 can be expressed as the sum of a plurality of submap images having a constant radius r centered on each junction point.
  • the 2D occupancy grid map 20 It is divided into a plurality of submaps with the junction point as the center point.
  • 6 shows examples of submap images SM1 to SM12 obtained by dividing the 2D occupancy grid map 20 of FIG. 2 into 12 parts through S110 to S150.
  • the geometric feature information of the boundary area means the distribution features of the pixels forming the boundary area, that is, the occupied area, within the submap, and the statistics are occupied ( It refers to data or values obtained by converting distribution features of pixels constituting an occupied area into a histogram.
  • the boundary area means an overall outer line visible within the submap. This becomes a major feature that differentiates submaps.
  • the following processes are performed to calculate statistics in which the geometrical or distributional characteristics of the boundary area visible in the submap are digitized.
  • FIG. 7 is a flowchart for explaining in detail a statistical value calculation process for geometric feature information of a boundary area according to an embodiment of the present invention.
  • a process of converting a submap image (or a query submap image) into a binary submap image based on various image processing techniques is performed.
  • Each pixel value of the submap represents the degree of occupancy.
  • the submap image is binarized based on the inverse-binary thresholding algorithm. convert to here,
  • the superscript B of represents the abbreviation of Binary
  • the subscript i represents the ith binarized submap image.
  • a binarized submap image based on various image processing techniques to the edge map image A conversion process is performed.
  • the superscript E of means the abbreviation of Edge. Due to sensor noise or mapping error in the mapping process, a structure such as a wall may be expressed as a densely occupied area.
  • Binarized submap image to the edge map image To convert to , image thinning techniques may be utilized. For example, a binarized submap image is an edge map image with a 1-pixel width based on image thinning technique can be converted to
  • the edge map image A process of sampling boundary points (or edge points) forming the boundary area within the boundary area is performed.
  • Boundary points are edge map images The set of nonzero pixels within
  • boundary points are sampled based on a uniform sampling technique. The number of boundary points can be reduced by this uniform sampling technique, thereby reducing the amount of calculation.
  • a plurality of boundary point pairs are generated by configuring the sampled boundary points in pairs of two, and then a boundary in which a distance value between two boundary points included in each boundary point pair is a bin. Histogram values (1D histogram ) is performed.
  • a bin means one section of the histogram.
  • FIG. 8 is an exemplary view of four submaps representing a boundary area with boundary points according to an embodiment of the present invention
  • FIG. 9 is a graph showing boundary histograms of the four submaps shown in FIG. 8 .
  • the histogram of submap 3 indicated by reference number 80 and the histograms of other submaps 81, 82, and 83 are clearly different.
  • the submap 24 indicated by reference number 81 and the submap 39 indicated by reference number 82 show a similar change pattern despite having different boundary shapes.
  • a free space area on the submap means an area or a path in which the mobile robot can actually move. This provides useful geometric feature information to know the internal structure of a submap. When this geometrical feature information is fused with the geometrical feature information of the boundary area described above, submap matching performance can be improved.
  • An embodiment of the present invention generates a statistical value, that is, a histogram, which digitizes geometric feature information or distribution characteristics of a free space area by performing the following processes.
  • FIG. 10 is a flowchart for explaining in detail a statistical value calculation process for geometric feature information of a free space area according to an embodiment of the present invention.
  • S310 a process of converting a submap image (or a query submap image) into a binarized submap image based on various image processing techniques is performed.
  • S310 includes S110 and S120 of FIG. 1 .
  • S320 a process of converting the binarized submap image into an edge map image based on various image processing techniques is performed.
  • S320 is almost the same as S130 in FIG. 1 .
  • S330 free space points forming a free space area in the edge map image A process of extracting (sampling) is performed.
  • S330 is almost similar to S130 in FIG. 1 .
  • the free space points mean a set of zero pixels rather than nonzero pixels in the edge map image.
  • a shortest path from an arbitrary free space point m to another arbitrary free space point n may be obtained by constructing a visibility graph using free space points.
  • the two free space points having the shortest path distance value are configured as a free space point pair, and the free space histogram value (1D histogram) of the shortest path distance value of the free space point pair as a bin. ) is performed.
  • the superscript f in is an abbreviation for free space.
  • FIG. 11 is an exemplary view of four submaps representing a free space area as free space points 84 according to an embodiment of the present invention
  • FIG. 12 is a graph showing free space histograms of the four submaps shown in FIG. 11 .
  • Submaps 80, 81, 82, and 83 shown in FIG. 11 are the same as submaps 80, 81, 82, and 83 shown in FIG. However, the submaps 80, 81, 82, and 83 shown in FIG. 11 are obtained by rotating the submaps 80, 81, 82, and 83 shown in FIG. 8 at a predetermined angle.
  • Submap 24 indicated by reference number 81 and submap 39 indicated by reference number 82 are difficult to distinguish on the boundary histogram shown in FIG. can
  • the free space histogram has similar histogram change tendencies between submap 3 and submap 24. This means that the boundary histogram and the free space histogram show complementary characteristics, and the performance of classifying a place can be improved through a combination of the two histograms.
  • FIG. 13 is an exemplary view of four submaps having different noise levels according to an embodiment of the present invention
  • FIG. 14 is a graph showing free space histograms of the four submaps shown in FIG. 13 .
  • Nr number of virtual obstacles 94 that do not exist in the mapping process are included in the submaps 91, 92, and 93. placed randomly.
  • the noise level of the submap is determined according to the number of virtual obstacles.
  • the addition of the virtual obstacle 94 changes the histogram characterizing the distribution of free space points 84 . However, this does not significantly affect the shortest path distance. Therefore, the degree of change in the histogram is insignificant.
  • the boundary and free space histograms described above are data quantifying (quantifying) the geometric shape of the submap, whereas the reflection symmetry score may be data or values quantifying (quantifying) the overall structural shape or symmetry of the submap.
  • Symmetry types include rotation, reflection, translation, and glide reflection. Of these, reflection symmetry is the most common type of symmetry found in indoor structures.
  • a reflection symmetry score is calculated from a submap image through the following process, and the calculated reflection symmetry score is a weight ( weight) is used.
  • FIG. 15 is a flowchart for explaining in detail a calculation process of a reflection symmetry score for structural feature information of a submap according to an embodiment of the present invention
  • FIG. 16 is an exemplary view of images generated in each step of FIG. 15 .
  • S410 a process of converting a submap image 10 into an edge map image based on various image processing techniques is performed.
  • S410 converts the submap image 10 into a binary submap image in the same manner as in S210 of FIG. 7 , for example, and then converts the binary submap image in the same manner as in S220 of FIG. 7 . to the edge map image (11) may be included.
  • the edge map image A process of detecting two axes of symmetry ( ⁇ and ⁇ ) based on the angles of line segments of a certain length extracted in (11) is performed.
  • a probabilistic Hough Transform algorithm may be used. Since most of the interior structures of buildings are rectangular, two axes of symmetry ( ⁇ , ⁇ ) can be detected by voting the angles of the extracted lines based on the Vote algorithm. there is.
  • the edge map image rotated to vertically align the two detected reflection axes of symmetry ( ⁇ , ⁇ ) to a Gaussian-blurred image
  • the Gaussian-blood image A flipped Gaussian-blood image corresponding to the position of all non-zero pixels (u, v) in (13) pixels of average intensity of
  • the calculation of the reflection symmetry score may be a process of calculating a similarity between the Gaussian-blood image and the Gaussian-blood image inverted based on the axis of symmetry ( ⁇ , ⁇ ).
  • the reflection symmetry score for axis of symmetry ⁇ can be represented by the following equation.
  • the Gaussian-blood image (13) may be an image inverted with respect to the reflection axis of symmetry.
  • various image blood techniques used in the field of image processing may be used.
  • the rotated edge map image (11) is the edge map image such that one of the two reflection axes of symmetry ( ⁇ , ⁇ ) is vertically aligned It may be an image rotated by (11).
  • the reflection symmetry score for the axis of symmetry ⁇ can also be calculated in the same way as above.
  • the three statistics obtained above that is, the boundary histogram, the free space histogram, and the specular symmetry score, are calculated off-line before performing the actual global localization and then stored in the database together with the input submaps S i . Thereafter, when the query submap S q is generated during the driving process of the robot, a matching score is calculated according to Equation 2 below, and the inverse of the calculated matching score is calculated as a submap similarity score ( ⁇ ). process is carried out
  • a submap that best matches the query submap Sq is selected from among submaps S i stored in the database based on the calculation (S700).
  • S and m(S q , S i ) are the similarity scores between the query submap S q and the input submap S i stored in the database, and Represents the reflection symmetry score by the symmetry axes ⁇ and ⁇ of the submap S i , respectively, and denotes reflection symmetry scores along symmetry axes ⁇ and ⁇ of the query submap S q , respectively.
  • Is a score indicating the degree of similarity between the left submap and the right submap, which are divided based on the axis of symmetry ⁇ is a score representing the degree of similarity between the left submap and the right submap, which are divided based on the axis of symmetry ⁇ .
  • Is a score indicating the degree of similarity between the left query submap and the right query submap based on the axis of symmetry ⁇ , is a score indicating the degree of similarity between the left query submap and the right query submap with respect to the axis of symmetry ⁇ .
  • ⁇ () is a function that calculates the similarity of structural features between the query submap S q and the submap S i , Is can be expressed as here, is the reflection symmetry score of the query submap S q along the axis of symmetry ⁇
  • the formula for calculating the difference between is an expression for calculating the difference between the reflection symmetry score of the query submap S q along the symmetry axis ⁇ and the reflection symmetry score of the submap S i along the symmetry axis ⁇ . Accordingly, the similarity in structural characteristics between the query submap S q and the submap S i is the difference value and the difference between can be calculated as a product of
  • w b represents the matching weight between the boundary histogram (value) of query submap S q and the boundary histogram (value) of submap S i
  • w f is the free space histogram (value) of query submap S q and the free space histogram (value) of submap S i .
  • ⁇ () is a function that calculates the similarity of structural feature information between the query submap and the input submap stored in the database.
  • 17 is a functional block diagram for global location recognition of a mobile robot according to an embodiment of the present invention.
  • an apparatus for global localization includes an image segmenter 100, a first geometric feature extractor 200, a second geometric feature extractor 300, and a structural feature extractor 400. , a submap similarity calculator 500, a global localization processor 600, and a database 700.
  • each component may be implemented as a hardware module, a software module, or a combination thereof.
  • the hardware module may be implemented as a semiconductor chip including a processor implemented with at least one CPU, GUP, and/or MCU, and the software module may be implemented as an algorithm or program executed by the processor.
  • the image divider 100 divides a global map image into a plurality of query submap images.
  • the image divider 100 may process processes performed according to S100 of FIG. 1 or FIG. 3 , for example.
  • the global map image may be a 2D or 3D occupancy grid map image.
  • the first geometrical feature extractor 200 extracts the first geometrical feature of each query submap image Sq .
  • the first geometric feature extractor 200 may process processes performed according to S200 of FIG. 1 or FIG. 7 , for example.
  • the first geometric feature may be a boundary histogram (value) obtained by digitizing (quantifying) distribution characteristics of the boundary region included in each query submap image S q .
  • the boundary area may be an area in which the robot cannot move.
  • the second geometrical feature extractor 300 extracts the second geometrical feature of each query submap image Sq .
  • the second geometric feature extractor 300 may process processes performed according to S300 of FIG. 1 or FIG. 10 , for example.
  • the second geometric feature may be a free space histogram (value) obtained by quantifying (quantifying) a distribution feature of a free space region included in each query submap image S q .
  • the free space area may be an area (or path) through which the robot can move.
  • the structural feature extractor 400 extracts structural features of each query submap image S q .
  • the structural feature extractor 400 may process processes performed according to S400 of FIGS. 1 and 15 , for example.
  • the structural feature may be a reflection symmetry score obtained by quantifying (quantifying) the overall structural shape of the query submap S q .
  • structural feature extractor 400 may include, for example, three subtractors 501, 503 and 505, an adder 507, a multiplier 509 and a reciprocal calculator 511. can
  • the first subtractor 501 is a boundary histogram value of the query submap S q extracted (calculated) by the first geometric feature extractor 200. and of the input submap S i previously stored in the database 700. Boundary histogram values difference value of Calculate At this time, the difference A matching weight w b may be applied to .
  • the second subtractor 503 is the free space histogram value of the query submap S q extracted (calculated) by the second geometric feature extractor 300. and of the input submap S i previously stored in the database 700. Free space histogram values difference value of Calculate At this time, the difference A matching weight w f may be applied to .
  • the third subtractor 505 calculates the reflection symmetry score by symmetry axes ( ⁇ and ⁇ ) of the query submap S q extracted (calculated) by the structural feature extractor 400 and the input submap S i previously stored in the database 700.
  • the adder 507 is the difference value from the first subtractor 501 and the difference value from the second subtractor 503 sum up
  • the multiplier 507 performs a multiplication operation on the output of the adder 507 and the output of the third subtractor 505 and outputs a matching score m(S q , S i ) obtained.
  • the reciprocal calculator 511 calculates the reciprocal of the matching score m(S q , S i ) as the submap similarity ⁇ between the query submap S q and the input submap S i .
  • the global location processor 600 selects an input submap S i most similar to the query submap S q based on the submap similarity ⁇ , and selects the global location of the mobile robot based on the coordinate information included in the selected input submap S i . carry out the recognition process;
  • the global location recognition processor 600 may process processes according to S600 and S700 of FIG. 1 .
  • the database 700 includes a pre-calculated boundary area histogram for each submap Si . , the free-space histogram and reflection symmetry score and is stored
  • the database 700 may be stored in a non-volatile storage medium.
  • FIG. 18 is a block diagram illustrating a computing device for performing global positioning according to an embodiment of the present invention.
  • the computing device 1300 may be mounted in a robot or an external device communicating with the robot.
  • the computing device 1300 may include at least one of a processor 1310, a memory 1330, an input interface device 1350, an output interface device 1360, and a storage device 1340 communicating through a bus 1370.
  • the portable computer 1300 may also include a communication device 1320 coupled to a network.
  • the processor 1310 may include at least one CPU, at least one GPU, and at least one MCU, and may be a semiconductor device that executes commands stored in the memory 1330 or the storage device 1340 .
  • the processor 1310 may control, process, or calculate components and/or processes shown in FIGS. 1 to 17 .
  • the processor 1310 may include a high-performance CPU and GPU having sufficient performance to process images.
  • the memory 1330 and the storage device 1340 may include various types of volatile or non-volatile storage media.
  • memory can include read only memory (ROM) and random access memory (RAM).
  • the storage device 1340 may be a hard disk.
  • the database 700 shown in FIG. 17 may be stored in the storage device 1340 .
  • the communication device 1320 may be a communication module supporting wired or/and wireless communication. Data and images processed by the processor 1310 may be transmitted to an external device by the communication device 1320 .
  • the input interface device 1350 may be implemented as a display unit having a button, mouse, keyboard, or touch function.
  • the output interface device 1360 may output intermediate data and result data processed by the processor 1310 as visual and/or auditory information.
  • the resulting data may be location information of the robot finally obtained by performing global location recognition.
  • the present invention can be applied to all sensors (e.g., ultrasonic sensor, 2D/3D LiDAR, 3D depth camera) capable of generating a 2D occupancy grid map, and can be applied to a 2D floor of an indoor building. Plan) can also be applied to maps.
  • sensors e.g., ultrasonic sensor, 2D/3D LiDAR, 3D depth camera
  • Plan can also be applied to maps.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Image Analysis (AREA)

Abstract

모바일 로봇의 전역 위치인식을 위한 방법이 개시된다. 이 방법은 전역 지도 이미지로부터 분할된 각 쿼리 서브맵 이미지의 기하학적 및 구조적 특징을 정량화한 히스토그램 값과 데이터베이스에 저장된 서브맵 이미지들의 기하학적 및 구조적 특징을 정량화한 히스토그램 값을 비교하여 쿼리 서브맵 이미지와 가장 유사한 서브맵 이미지를 선정하고, 선정된 서브맵 이미지에 포함된 좌표 정보를 기반으로 모바일 로봇의 전역 위치인식을 수행함을 특징으로 한다.

Description

모바일 로봇의 전역 위치인식을 위한 방법 및 컴퓨팅 장치
본 발명은 모바일 로봇(mobile robots)의 전역 위치 인식(global localization) 기술에 관한 것이다.
모바일 로봇은 공간 안에서 자율적으로 이동하며, 안내(guidance), 배송(delivery), 감시(surveillance), 청소(cleaning) 등과 같은 높은 수준의 작업(high-level tasks)을 요하는 일을 처리하는 능력을 가진 로봇이다.
모바일 로봇의 높은 레벨의 작업을 위해, 신뢰성 있는 자기 측위(self-positioning) 기술이 필수적이며, 이를 로봇공학(robotics) 분야에서는 '위치 인식(localization)'이라 한다.
위치인식(localization)은 크게 지역 위치인식(local localization)과 전역 위치인식(global localization)으로 나눌 수 있으며, 이중 전역 위치인식(global localization)은 지역 위치인식(local localization)과는 다르게 초기 위치에 대한 사전 지식 없이 로봇의 현재 위치를 찾을 수 있는 기술이다.
전역 위치인식(global localization)은 맵 작성(map building)시에 사용된 센서 종류에 따라 여러 방법들이 있으며, 그 중 실내 주행 로봇을 위한 전역 위치인식(global localization)으로서 2차원 점유 격자 지도(2D occupancy grid map)를 이용하는 방법이 있다.
이 방법은 로봇에 탑재된 레이저 스캐너(Laser scanner)에 의해 획득된 누적된 2D 레이저 스캔 데이터를 2D 점유 격자 지도로 변환하고, 이 이미지에서 특징점을 추출하는 방법이다. 특징점 추출로 객체 인식(object recognition) 분야에서 널리 사용되는 SIFT(Scale Invariant Feature Transform) 알고리즘과 SURF(Speeded Up Robust Feature) 알고리즘이 활용될 수 있다.
이러한 접근 방법은 컴퓨터 비전에서 제안된 많은 알고리즘을 재사용할 수 있는 장점이 있지만 2D 점유 격자 지도를 생성하는 과정에서 센서 노이즈나 지도 작성 오류 등으로 인해 2D 점유 격자 지도와 실제 공간의 불일치가 발생할 수 있다.
상술한 문제점을 해결하기 위한 본 발명의 목적은, 모바일 로봇의 전역 위치 인식의 효율을 높이기 위해 2D 점유 격자 지도로부터 추출된 기하학적 특징 정보 및 구조적 특징 정보를 이용하여 모바일 로봇의 전역 위치인식(global localization)을 위한 방법 및 장치를 제공하는 데 있다.
상술한 목적을 달성하기 위한 본 발명의 일면에 따른 모바일 로봇의 전역 위치인식을 위한 방법은, 모바일 로봇 내에 탑재된 컴퓨팅 장치의 프로세서에 의해 수행되는 전역 위치인식을 위한 방법으로서, 전역 지도 이미지를 복수의 쿼리 서브맵 이미지들로 분할하는 단계; 각 쿼리 서브맵 이미지의 기하학적 특징을 나타내는 히스토그램 값을 계산하는 단계; 각 쿼리 서브맵 이미지의 구조적 특징 정보를 나타내는 반사 대칭 스코어를 계산하는 단계; 상기 히스토그램 값과 상기 반사 대칭 스코어를 기반으로 각 쿼리 서브맵 이미지와 데이터베이스에 저장된 서브맵 이미지들 사이의 서브맵 유사도를 계산하는 단계; 및 상기 서브맵 유사도를 기반으로 상기 쿼리 서브맵 이미지와 가장 유사한 서브맵 이미지를 선정하여, 상기 선정된 서브맵 이미지에 포함된 좌표 정보를 기반으로 상기 모바일 로봇의 전역 위치인식을 수행하는 단계를 포함할 수 있다.
실시 예에서, 상기 전역 지도 이미지를 복수의 쿼리 서브맵 이미지들로 분할하는 단계는, 상기 모바일 로봇에 탑재된 센서를 이용하여 상기 전역 지도 이미지를 생성하는 단계; 상기 전역 지도 이미지 상에서 상기 모바일 로봇의 이동 경로가 분기되는 포인트를 정의하는 정션 포인트(junction point)를 추출하는 단계; 및 상기 전역 지도 이미지를 상기 정션 포인트를 중심으로 일정한 반경을 갖는 상기 복수의 쿼리 서브맵 이미지들로 분할하는 단계를 포함할 수 있다.
실시 예에서, 상기 정션 포인트를 추출하는 단계는, 이미지 처리 기법을 기반으로 상기 전역 지도 이미지를 에지 지도 이미지(edge map image)로 변환하는 단계; 및 상기 에지 지도 이미지 내에서 중심 픽셀과 상기 중심 픽셀을 둘러싸는 주변 픽셀들로 이루어진 n×n 이미지 패치를 가정할 때, 상기 중심 픽셀의 픽셀값이 적어도 3개의 주변 픽셀들의 픽셀값과 다른 경우, 상기 중심 픽셀을 상기 정션 포인트로서 추출하는 단계를 포함할 수 있다.
실시 예에서, 각 쿼리 서브맵 이미지의 기하학적 특징을 나타내는 히스토그램 값을 계산하는 단계는, 각 쿼리 서브맵 이미지에서 상기 모바일 로봇이 이동할 수 없는 경계 영역의 기하학적 특징을 나타내는 경계 히스토그램 값을 계산하는 단계; 및 각 쿼리 서브맵 이미지에서 상기 모바일 로봇이 이동할 수 있는 자유 공간 영역의 기하학적 특징을 나타내는 자유 공간 히스토그램 값을 계산하는 단계를 포함할 수 있다.
실시 예에서, 상기 경계 히스토그램 값을 계산하는 단계는, 이미지 처리 기법을 기반으로 각 쿼리 서브맵 이미지를 에지 지도 이미지로 변환하는 단계; 상기 에지 지도 이미지 내에서 상기 경계 영역을 형성하는 경계 포인트들을 샘플링 하는 단계; 상기 샘플링된 경계 포인트들을 쌍으로 구성하여 복수의 경계 포인트 쌍들을 생성하는 단계; 및 각 경계 포인트 쌍에 포함된 2개의 경계 포인트들 사이의 거리값을 기반으로 상기 경계 히스토그램 값을 계산하는 단계를 포함할 수 있다.
실시 예에서, 상기 자유 공간 히스토그램 값을 계산하는 단계는, 이미지 처리 기법을 기반으로 각 쿼리 서브맵 이미지를 에지 지도 이미지로 변환하는 단계;
상기 에지 지도 이미지 내에서 상기 자유 공간 영역을 형성하는 자유 공간 포인트들을 추출하는 단계; 상기 추출된 자유 공간 포인트들 중에서 최단 경로 거리(shortest path distance) 값을 갖는 2개의 자유 공간 포인트들을 쌍으로 구성하여 복수의 자유 공간 포인트 쌍들을 생성하는 단계; 및 각 자유 공간 포인트 쌍의 상기 최단 경로 거리 값을 기반으로 상기 자유 공간 히스토그램 값을 계산하는 단계를 포함할 수 있다.
실시 예에서, 상기 반사 대칭 스코어를 계산하는 단계는, 이미지 처리 기법을 기반으로 각 쿼리 서브맵 이미지를 에지 지도 이미지로 변환하는 단계; 상기 에지 지도 이미지에서 일정 길이를 갖는 선분들의 각도를 기반으로 반사 대칭축을 검출하는 단계; 이미지 블러드(image blurred) 기법을 기반으로 상기 에지 지도 이미지를 블러드 이미지로 변환하는 단계; 및 상기 블러드 이미지와 상기 검출된 반사 대칭축을 기준으로 반전(filp)된 블러드 이미지 사이의 유사도를 상기 반사 대칭 스코어로서 계산하는 단계를 포함할 수 있다.
실시 예에서, 상기 반사 대칭축을 검출하는 단계와 상기 에지 지도 이미지를 블러드 이미지로 변환하는 단계 사이에 상기 검출된 반사 대칭축이 수직하게 정렬되도록 상기 에지 지도 이미지를 회전시키는 단계를 더 포함할 수 있다.
실시 예에서, 상기 서브맵 유사도를 계산하는 단계는, 각 쿼리 서브맵 이미지의 상기 히스토그램 값과 상기 데이터베이스에 저장된 서브맵 이미지들의 상기 기하학적 특징을 나타내는 히스토그램 값들 사이의 제1 차이값을 계산하는 단계; 각 쿼리 서브맵 이미지의 상기 반사 대칭 스코어와 상기 데이터베이스에 저장된 서브맵 이미지들의 구조적 특징을 나타내는 반사 대칭 스코어들 사이의 제2 차이값을 계산하는 단계; 및 상기 제1 및 제2 차이값을 기반으로 상기 서브맵 유사도를 계산하는 단계를 포함할 수 있다.
실시 예에서, 상기 제1 차이값을 계산하는 단계는, 각 쿼리 서브맵 이미지에서 상기 모바일 로봇이 이동할 수 없는 경계 영역의 상기 기하학적 특징을 나타내는 경계 히스토그램 값과 상기 서브맵 이미지들에서 상기 모바일 로봇이 이동할 수 없는 경계 영역의 상기 기하학적 특징을 나타내는 경계 히스토그램 값들 사이의 차이값을 계산하는 단계; 및 각 쿼리 서브맵 이미지에서 상기 모바일 로봇이 이동할 수 있는 자유 공간 영역의 상기 기하학적 특징을 나타내는 자유 공간 히스토그램 값과 상기 모바일 로봇이 이동할 수 있는 자유 공간 영역의 상기 기하학적 특징을 나타내는 자유 공간 히스토그램 값들 사이의 차이값을 계산하는 단계를 포함할 수 있다.
본 발명의 다른 일면에 따른 모바일 로봇의 전역 위치인식을 위한 컴퓨팅 장치는, 점유 격자 지도 이미지를 복수의 쿼리 서브맵 이미지들로 분할하는 이미지 분할기; 각 쿼리 서브맵 이미지의 기하학적 특징을 나타내는 히스토그램 값을 계산하고, 각 쿼리 서브맵 이미지의 대칭 특징을 나타내는 반사 대칭 스코어를 계산하는 특징 추출기; 상기 히스토그램 값과 상기 반사 대칭 스코어를 기반으로 각 쿼리 서브맵 이미지와 데이터베이스에 저장된 서브맵 이미지들 사이의 유사도를 계산하는 서브맵 유사도 계산기; 및 상기 서브맵 유사도를 기반으로 상기 쿼리 서브맵 이미지와 가장 유사한 서브맵 이미지를 선정하여, 상기 선정된 서브맵 이미지에 포함된 좌표 정보를 기반으로 상기 로봇의 전역 위치인식을 수행하는 전역 위치인식 처리기를 포함할 수 있다.
실시 예에서, 상기 이미지 분할기는, 상기 점유 격자 지도 이미지 상에서 상기 모바일 로봇의 이동 경로가 분기되는 정션 포인트를 기준으로 상기 점유 격자 지도 이미지를 복수의 쿼리 서브맵 이미지들로 분할할 수 있다.
실시 예에서, 상기 특징 추출기는, 각 쿼리 서브맵 이미지에서 상기 모바일 로봇이 이동할 수 없는 경계 영역의 분포 특징을 정량화한 경계 히스토그램 값을 계산하는 제1 기하학적 특징 추출기; 각 쿼리 서브맵 이미지에서 상기 모바일 로봇이 이동할 수 있는 자유 공간 영역의 분포 특징을 정량화한 자유 공간 히스토그램 값을 계산하는 제2 기하학적 특징 추출기; 및 각 쿼리 서브맵 이미지의 대칭성을 정량화한 반사 대칭 스코어를 계산하는 구조적 특징 추출기를 포함할 수 있다.
실시 예에서, 상기 서브맵 유사도 계산기는, 각 쿼리 서브맵 이미지에서 경계 영역의 기하학적 특징을 정량화한 경계 히스토그램 값과 상기 데이터베이스에 저장된 서브맵 이미지에서 경계 영역의 기하학적 특징을 정량화한 경계 히스토그램 값의 차이값을 계산하는 제1 감산기; 각 쿼리 서브맵 이미지에서 자유 공간 영역의 기하학적 특징을 정량화한 자유공간 히스토그램 값과 상기 데이터베이스에 저장된 서브맵 이미지의 자유 공간 영역의 기하학적 특징을 정량화한 경계 히스토그램 값의 차이값을 계산하는 제2 감산기: 및 각 쿼리 서브맵 이미지의 대칭성을 정량화한 상기 반사 대칭 스코어와 상기 데이터베이스에 저장된 서브맵 이미지의 대칭성을 정량화한 반사 대칭 스코어의 차이값을 계산하는 제3 감산기를 포함할 수 있다.
실시 예에서, 상기 서브맵 유사도 계산기는, 상기 제1 내지 제3 감산기에 의해 계산된 차이값들을 연산하여 각 쿼리 서브맵 이미지와 상기 서브맵 이미지들 사이의 유사도를 계산할 수 있다.
실시 예에서, 상기 서브맵 유사도 계산기는, 상기 제1 감산기에 의해 계산된 차이값과 상기 제2 감산기에 의해 계산된 차이값을 합산하는 가산기를 더 포함하고,
상기 제3 감산기에 의해 계산된 차이값을 가중치로서 상기 가산기에 의해 합산된 값과 연산하여 각 쿼리 서브맵 이미지와 상기 서브맵 이미지들 사이의 유사도를 계산할 수 있다.
본 발명의 또 다른 일면에 따른 모바일 로봇 내에 탑재된 컴퓨팅 장치의 프로세서에 의해 수행되는 전역 위치인식을 위한 방법은, 전역 지도 이미지로부터 분할된 각 쿼리 서브맵 이미지에서 상기 모바일 로봇이 이동할 수 없는 경계 영역의 분포 특징을 정량화한 경계 히스토그램 값을 계산하는 단계; 각 쿼리 서브맵 이미지에서 상기 모바일 로봇이 이동할 수 있는 자유 공간 영역의 분포 특징을 정량화한 자유 공간 히스토그램 값을 계산하는 단계; 각 쿼리 서브맵 이미지에서 추출된 대칭축을 기준으로 각 쿼리 서브맵 이미지의 대칭성을 정량화한 반사 대칭 스코어를 계산하는 단계; 각 쿼리 서브맵 이미지의 상기 경계 히스토그램 값, 상기 자유 공간 히스토그램 값 및 상기 반사 대칭 스코어와 데이터베이스로부터 입력된 서브맵 이미지들의 경계 히스토그램 값, 자유 공간 히스토그램 값 및 반사 대칭 스코어를 비교하여 상기 데이터베이스에 저장된 서브맵 이미지들 중에서 각 쿼리 서브맵 이미지와 가장 유사한 서브맵 이미지를 선정하는 단계; 및 상기 선정된 서브맵 이미지에 포함된 좌표 정보를 기반으로 상기 모바일 로봇의 전역 위치인식을 수행하는 단계를 포함할 수 있다.
실시 예에서, 상기 전역 지도 이미지는 2D 또는 3D 점유 격자 지도 이미지일 수 있다.
본 발명은 서브맵(submap)으로부터 추출된 기하학적 특징 정보 및 구조적 특징 정보(대칭성)를 기반으로 모바일 로봇의 전역 위치 인식(global localization) 방법을 제안한다.
이에 따라, 본 발명은 서브맵의 구조적 정보(structural information), 즉, 대칭 스코어(symmetry score)를 도입함에 따라, 실내 공간(indoor space)의 구조적 특징 정보(structural feature information)를 수치화(정량화)하여 서브맵(submap)의 매칭(matching) 성능을 향상시킬 수 있다.
또한, 본 발명은 서브맵의 기하학적 특징 정보(geometric feature information)와 구조적 특징 정보(structural feature information)의 명시적 통합을 제공함에 따라 서브맵에 인가되는 노이즈에 대한 강건성을 확보할 수 있다.
또한, 본 발명은 2D 점유 격자 지도(2D occupancy grid map)를 생성할 수 있는 모든 센서들(예: ultrasonic sensor, 2D/3D LiDAR, 3D depth camera)에 적용될 수 있다.
또한, 본 발명은 실내 건물의 2차원 평면(2D floor plan) 지도에도 적용할 수 있기 때문에, 로봇을 통해 지도를 사전에 구축할 필요가 없다.
도 1은 본 발명의 실시 예에 따른 모바일 로봇의 전역 위치인식을 위한 방법을 설명하기 위한 흐름도이다.
도 2는 본 발명의 실시 예에 따른 전역 지도로 활용되는 2D 점유 격자 지도의 예를 보여주는 도면이다.
도 3은 본 발명의 실시 예에 따른 전역 지도로 활용되는 2D 점유 격자 지도를 복수의 서브맵들로 분할하는 과정을 상세히 설명하기 위한 흐름도이다.
도 4는 도 3의 S120에 의해 생성된 에지 지도 이미지를 보여주는 도면이다.
도 5는 도 4에 도시된 에지 지도 이미지 상에 도 3의 S130에 의해 추출된 후보 정션 포인트들과 S140에 의해 추출된 정션 포인트들을 함께 나타낸 도면이다.
도 6은 도 3의 S150에 의해 도 2의 2D 점유 격자 지도로부터 분할된 복수의 서브맵들의 예시도이다.
도 7은 본 발명의 실시 예에 따른 경계 영역의 기하학적 특징 정보에 대한 통계치 계산 과정을 상세히 설명하기 위한 흐름도이다.
도 8은 본 발명의 실시 예에 따른 경계 영역을 경계 포인트들로 나타낸 4개의 서브맵들의 예시도이다.
도 9는 도 8에 도시된 4개의 서브맵들의 경계 히스토그램을 나타내는 그래프이다.
도 10은 본 발명의 실시 예에 따른 자유 공간 영역의 기하학적 특징 정보에 대한 통계치 계산 과정을 상세히 설명하기 위한 흐름도이다.
도 11은 본 발명의 실시 예에 따른 자유 공간 영역을 자유 공간 포인트들로 나타낸 4개의 서브맵들의 예시도이다.
도 12는 도 11에 도시된 4개의 서브맵들의 자유 공간 히스토그램을 나타내는 그래프이다.
도 13은 본 발명의 실시 예에 따른 서로 다른 노이즈 레벨을 갖는 4개의 서브맵들의 예시도이다.
도 14는 도 13에 도시된 4개의 서브맵들의 자유 공간 히스토그램을 나타내는 그래프이다.
도 15는 본 발명의 실시 예에 따른 반사 대칭 스코어의 계산 과정을 상세히 설명하기 위한 흐름도이다.
도 16은 도 15의 각 단계에서 생성된 이미지의 예시도이다.
도 17은 본 발명의 실시 예에 따른 모바일 로봇의 전역 위치인식을 위한 기능 블록도이다.
도 18은 본 발명의 실시 예에 따른 전역 위치인식을 수행하기 위한 컴퓨팅 장치를 나타내는 블록도이다.
본 발명에서는 전역 지도(global map)로부터 분할된 서브맵(submap)을 이용하여 모바일 로봇의 전역 위치인식 방법을 제안한다. 여기서, 전역 지도는 "2D 점유 격자 지도"일 수 있다. 본 문서에서 전역 지도는 '전역 지도 이미지'와 동일한 용어로 간주하고, 서브맵은 '서브맵 이미지'또는 '입력 서브맵 이미지'와 동일한 용어로 간주한다. 그리고 2D 점유 격자 지도 역시 '2D 점유 격자 지도 이미지'와 동일한 용어로 간주한다.
본 발명에 따른 모바일 로봇의 전역 위치인식 방법은 이미지 내 특징점을 추출하는 방법과는 달리 서브맵(submap) 내에서 점유 및 비점유(occupied and unoccupied) 영역의 분포 특징(distribution features)을 나타내는 통계치(statistic)를 추출하는 과정을 포함한다. 여기서, 상기 추출된 통계치는 전역 기술자(global descriptor)로 정의된다.
예를 들어, 본 발명은 서브맵(submap)을 경계(boundary) 영역(또는 상기 점유 영역)과 자유 공간(free space) 영역(또는 상기 비점유 영역)으로 나누고 각 영역의 분포 특징(distribution features)을 나타내는 히스토그램 형태의 데이터(이하, 히스토그램 데이터 또는 히스토그램 값)를 전역 기술자(global descriptor)로 생성한다.
경계 영역의 분포 특징(distribution features)을 나타내는 전역 기술자와 자유 공간 영역의 분포 특징을 나타내는 전역 기술자는 서브맵의 "기하학적 특징 정보(geometric feature information)"로 활용할 수 있다.
또한 본 발명에 따른 모바일 로봇의 전역 위치인식 방법은 서브맵의 "구조적 특징(structural feature) 또는 대칭 특징(symmetrical feature)"을 수치화하기 위해 서브맵의 구조적 특징 정보를 나타내는 반사 대칭 스코어(reflection symmetry score)를 계산하는 과정을 포함한다. 여기서, 반사 대칭 스코어(reflection symmetry score)는 서브맵과 쿼리 서브맵 사이의 유사도(similarity score) 계산 시에 가중치(weighting factor)로 활용될 수 있다.
이러한 본 발명에 따른 모바일 로봇의 전역 위치인식 방법은 서브맵(submap)의 구조적 특징 정보(structural feature information), 즉, 대칭 스코어(symmetry score)를 도입함에 따라, 실내 공간의 구조적 특징 정보를 수치화하여 서브맵(submap)의 매칭(matching) 성능을 향상시킬 수 있다.
또한, 본 발명은 서브맵의 기하학적 특징 정보(geometric feature information)와 구조적 특징 정보(structural feature information)의 명시적 통합을 제공함에 따라 서브맵(submap)에 인가되는 노이즈에 대한 강건성을 확보할 수 있다.
또한 본 발명은 2D 점유 격자 지도(2D occupancy grid map)를 생성할 수 있는 모든 센서들(예: ultrasonic sensor, 2D/3D LiDAR, 3D depth camera)에 적용될 수 있다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
본 문서에서 사용하는 용어들은 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 실시 예에 따른 모바일 로봇의 전역 위치인식을 위한 방법을 설명하기 위한 흐름도이다.
이하에서 설명하는 단계들(S100~S700)의 수행 주체는 모바일 로봇(또는 이동 로봇) 내에 탑재되거나 모바일 로봇의 외부에 배치된 컴퓨팅 장치일 일 수 있다. 상기 컴퓨팅 장치는 데이터 및 이미지 처리를 위한 연산을 수행하는 프로세서, 데이터 및 이미지 처리에 필요한 프로그램 명령어를 일시적으로 일시적으로 저장하거나, 상기 프로세서에 의해 처리된 중간 데이터 및 결과 데이터를 일시적으로 저장하거나, 상기 프로세서에 의해 실행되는 프로그램 또는 소프트웨어 모듈을 실행 공간을 제공하는 메모리, 상기 프로세서에 의해 처리된 중간 데이터 및 결과 데이터를 영구적으로 저장하거나, 상기 중간 데이터 및 결과 데이터를 데이터베이스 형태로 영구적으로 저장하는 저장 매체, 사용자 명령을 수신하고 상기 중간 데이터 및 결과 데이터를 시각적 또는 청각적 정보 형태로 출력하는 입/출력 인터페이스, 외부 장치와의 유선 또는 무선 통신을 지원하는 통신 모듈을 포함하도록 구성될 수 있다. 여기서, 프로세서는, 적어도 하나의 CPU(Central Processing Unit), 적어도 하나의 GPU(Graphic Processing Unit), 적어도 하나의 마이크로 컨트롤러 유닛(MCU: Micro Controller Unit), 적어도 하나의 시스템 온 칩(SoC: System on Chip) 및/또는 이들의 조합 중에서 적어도 하나를 포함하도록 구성된 하드웨어일 수 있다.
도 1을 참조하면, 먼저, 단계 S100에서, 전역 지도를 복수의 서브맵들(submaps)로 분할하는 과정이 수행된다. 여기서, 전역 지도(global map)는 모바일 로봇에 탑재된 2D 레이저 스캐너(laser scanner) 또는 2D 라이다(LiDAR)와 같은 센서를 이용하여 생성한 2D 또는 3D 점유 격자 지도(2D/3D Occupancy Grid Map)일 수 있다.
상기 S100에 이어 수행되는 단계들 S200, S300 및 S400들은 병렬적으로 또는 순차적으로 수행될 수 있다. 본 문서에서는 상기 단계들 S200, S300 및 S400들이 병렬적으로 동시에 수행되는 것으로 가정한다.
S200에서, 각 서브맵(submap) 내에서 경계(boundary) 영역(또는 점유(occupied) 영역)의 분포 특징(distribution features) 또는 기하학적 특징 정보(geometric feature information)의 제1 통계치(first statistic)를 계산하는 과정이 수행된다. 여기서, 제1 통계치는 경계 영역(또는 점유(occupied) 영역)의 기하학적 특징 정보(geometric feature information)를 수치화(digitizing 또는 quantifying)하여 획득한 경계 히스토그램서, 이 경계 히스토그램은 경계 영역의 기하학적 특징 정보를 나타내는 전역 기술자로 사용될 수 있다.
S200와 병렬적으로 수행되는 S300에서, 각 서브맵(submap) 내에서 자유 공간(free space) 영역(또는 비점유(unoccupied) 영역)의 분포 특징(distribution features) 또는 기하학적 특징 정보의 제2 통계치(second statistic)를 계산하는 과정이 수행된다. 여기서, 제2 통계치 역시 자유 공간(free space) 영역(또는 비점유(unoccupied) 영역)의 기하학적 특징 정보(geometric feature information)를 수치화(digitizing 또는 quantifying)하여 획득한 자유 공간 히스토그램으로서, 자유 공간 영역의 기하학적 특징 정보를 나타내는 전역 기술자로 사용된다.
S200 및 S300과 병렬적으로 수행되는 S400에서, 각 서브맵(submap)의 구조적 특징 정보(structural feature information)에 대한 반사 대칭 스코어(reflection symmetry score)를 계산하는 과정이 수행된다.
S200, S300 및 S400에 의해 각각 계산된 통계치들, 즉, 경계 히스토그램, 자유 히스토그램 및 반사 대칭 스코어는 실제 전역 위치인식을 수행하기 전 오프라인에서 계산되어 서브맵과 함께 데이터베이스에 저장된다.
이어, S500에서, 상기 제1 통계치, 제2 통계치 및 상기 반사 대칭 스코어(reflection symmetry score)를 기반으로 데이터베이스에 저장된 서브맵들과 현재 입력되는 쿼리 서브맵(query submap) 사이의 유사도(similarity score)를 계산하는 과정이 수행된다.
이어, S600에서, 상기 계산된 유사도(similarity score)를 기반으로 데이터베이스에 저장된 서브맵들 중에서 쿼리 서브맵과 가장 유사한 서브맵을 선정하는 과정이 수행된다. 여기서, 서브맵과의 비교를 위해, 쿼리 서브맵에 대한 전술한 S200 내지 S400의 계산 과정들이 수행될 수 있다.
이어, S700에서, 가장 유사한 서브맵의 선정이 완료되면, 상기 선정된 서브맵에 포함된 좌표 정보를 기반으로 모바일 로봇의 전역 위치인식(global localization) 과정이 수행된다.
S500과 S600은 서브맵을 데이터베이스에 저장된 모든 서브맵들 Si과 비교하여 가장 잘 매칭되는 서브맵을 찾는(finding) 과정으로서 하나의 단계로 통합될 수 있다.
이하, 전술한 각 단계에 대해 상세히 설명하기로 한다.
전역 지도(또는 2D 점유 격자 지도)를 복수의 서브맵들로 분할(partitioning) 과정(S100)
도 2는 본 발명의 실시 예에 따른 전역 지도로 활용되는 2D 점유 격자 지도의 예를 보여주는 도면이다.
도 2를 참조하면, 본 발명의 실시 예에 따른 전역 지도로 활용되는 2D 점유 격자 지도(20)는 모바일 로봇 또는 이동 로봇에 탑재된 2D 레이저 스캐너(laser scanner)(또는 2D 라이다(LiDAR))에 의해 획득된 2D 레이저 스캔 데이터(2D laser scan data)를 기반으로 생성될 수 있다.
2D 점유 격자 지도(20)에서 로봇의 위치를 알아내기 위해, 가장 최근에 생성한 서브맵과 2D 점유 격자 지도(20)을 비교해야 한다. 따라서 2D 점유 격자 지도(20)를 정해진 단위로 분할하는 과정이 필요하다.
2D 점유 격자 지도(20)를 균등한 간격(uniform interval)으로 분할할 수도 있으나, 이 경우 로봇이 위치할 수 없는 영역을 포함하는 서브맵이 생성될 수 있으므로, 이를 방지하기 위해, 본 발명의 실시 예에서는, 2D 점유 격자 지도(20) 상의 정션 포인트(junction point)를 기준으로 2D 점유 격자 지도(20)를 분할하여 복수의 서브맵들을 생성한다. 여기서, 정션 포인트는 2D 점유 격자 지도 상에서 로봇의 이동 경로가 분기되는 포인트를 의미할 수 있다.
도 3은 본 발명의 실시 예에 따른 전역 지도로 활용되는 2D 점유 격자 지도를 복수의 서브맵들로 분할하는 과정을 설명하기 위한 흐름도이고, 도 4는 도 3의 S120에 의해 생성된 에지 지도 이미지를 보여주는 도면이고, 도 5는 도 4에 도시된 에지 지도 이미지 상에 도 3의 S130에 의해 추출된 후보 정션 포인트들과 S140에 의해 추출된 정션 포인트들을 나타낸 도면이다. 그리고, 도 6은 도 3의 S150에 의해 2D 점유 격자 지도로부터 분할된 복수의 서브맵들의 예시도이다.
도 3을 참조하면, 먼저 S110에서, 2D 점유 격자 지도(20) 상의 자유 공간(free space) 영역을 탐지하기 위해, 2D 점유 격자 지도(20)를 이진 스케일로 이루어진 이진화 지도(binary map) 이미지로 변환한 후, 이미지 처리 기술들(image processing technique) 중에 하나인 거리 변환(distance transform) 기법에 따라 이진화 지도 이미지를 거리 변환 이미지(distance transformed image 또는 distance transformed map image)로 변환한다.
이어, S120에서, 거리 변환 이미지는 중요하지 않은 자유 공간 영역을 포함하므로 주 탐색 경로(main navigation path)만을 추출하기 위해, 상기 거리 변환 지도 이미지를 모폴로지 연산(morphological operation) 기법(예, erosion morphological operator)과 이미지 희석화(image thinning) 기법을 기반으로 1-픽셀 너비(1-pixel width)를 갖는 에지 지도 이미지(edge map image)(도 4의 40)로 변환한다.
이어, S130에서, 에지 지도 이미지(도 4의 40)의 모든 0이 아닌 픽셀들(nonzero pixels)에서 정션 테스트(junction test)를 수행하여, 후보 정션 포인트들(candidate junction points)(도 5의 41, 42, 43, 44, 45, 46, 쪋 )을 추출한다. 여기서, 정션 테스트는, 예를 들면, 에지 지도 이미지(도 4의 40)에서 에지(경계)를 구성하는 모든 픽셀들을 중심 픽셀(41)로 구성한 3×3 이미지 패치들(image patch)(도 4의 A)를 추출한다. 이후, 3×3 이미지 패치(A) 내에서 상기 중심 픽셀(41)을 둘러싸는 주변 픽셀들(41A, 41B 및 41C) 중에서 적어도 3개의 주변 픽셀들의 픽셀값이 중심 픽셀(41)의 픽셀값과 다른 경우, 중심 픽셀(41)을 후보 정션 포인트로 추출한다. 도 4에서는 중심 픽셀(41)이 흰색 그레이 스케일이고, 주변 픽셀들(41A, 41B 및 41C)이 검은색 그레이 스케일로 구성된 3×3 이미지 패치(A)의 예를 나타낸 것으로, 이 경우에서 중심 픽셀(41)은 세 방향으로 분기된 후보 정션 포인트로 정의할 수 있다.
이어, S140에서, 후보 정션 포인트들을 밀도 기반의 클러스터링 기법(Density-based spatial clustering)을 이용하여 군집화(clustering)하여 군집화 된 후보 정션 포인트들(도 5의 41~46)을 대표하는 정션 포인트들(junction points)(도 5의 50, 51, 52, …)을 추출한다.
이어, S150에서, 2D 점유 격자 지도(20)는 각 정션 포인트를 중심으로 일정한 반경 r을 갖는 복수의 서브맵 이미지들의 합으로 표현할 수 있으며, 이 경우, 2D 점유 격자 지도(20)를 상기 추출된 각 정션 포인트를 중심 포인트로 하는 복수의 서브맵들로 분할한다. 도 6에는 S110 내지 S150을 거쳐 도 2의 2D 점유 격자 지도(20)를 12개로 분할한 서브맵 이미지들(SM1 ~ SM12)의 예가 나타난다.
경계 영역의 기하학적 특징 정보에 대한 통계치 계산(S200)
경계(boundary) 영역의 기하학적 특징 정보(geometric feature information)는 서브맵(submap) 내에서 경계 영역, 즉, 점유(occupied) 영역을 형성하는 픽셀들의 분포 특징(distribution features)을 의미하며, 통계치는 점유(occupied) 영역을 형성하는 픽셀들의 분포 특징(distribution features)을 히스토그램으로 변환한 데이터 또는 값을 의미한다.
경계 영역은 서브맵 내에서 볼 수 있는 전반적인 외곽 라인을 의미한다. 이는 서브맵을 분별하게 하는 주요한 특징이 된다. 본 발명의 실시 예에서는 서브맵 내에서 볼 수 있는 경계 영역의 기하학적 특징 또는 분포 특징이 수치화된 통계치를 계산하기 위해 아래의 과정들을 수행한다.
도 7은 본 발명의 실시 예에 따른 경계 영역의 기하학적 특징 정보에 대한 통계치 계산 과정을 상세히 설명하기 위한 흐름도이다.
도 7을 참조하면, 먼저, S210에서, 다양한 이미지 처리 기법을 기반으로 서브맵 이미지(또는 쿼리 서브맵 이미지)를 이진화 서브맵 이미지(binary submap image)로 변환하는 과정이 수행된다. 서브맵의 각 픽셀값은 점유(occupancy) 정도를 나타낸다. 서브맵 내부의 애매모호한 픽셀들을 제거하고 명확하게 점유된(occupied) 픽셀들만을 고려하기 위해, inverse-binary thresholding 알고리즘을 기반으로 서브맵 이미지를 이진화 서브맵 이미지
Figure PCTKR2022013195-appb-img-000001
로 변환한다. 여기서,
Figure PCTKR2022013195-appb-img-000002
의 위 첨자 B는 Binary의 약자를 의미하고, 아래 첨자 i는 i번째 이진화 서브맵 이미지를 의미한다.
이어, S220에서, 다양한 이미지 처리 기법을 기반으로 이진화 서브맵 이미지
Figure PCTKR2022013195-appb-img-000003
를 에지 지도 이미지
Figure PCTKR2022013195-appb-img-000004
로 변환하는 과정이 수행된다. 여기서,
Figure PCTKR2022013195-appb-img-000005
의 위 첨자 E는 Edge의 약자를 의미한다. 매핑(mapping) 과정에서 센서 노이즈 또는 매핑 오차로 인하여 벽과 같은 구조물은 밀집된 점유(occupied) 영역으로 표현할 수 있다. 이진화 서브맵 이미지
Figure PCTKR2022013195-appb-img-000006
를 에지 지도 이미지
Figure PCTKR2022013195-appb-img-000007
로 변환하기 위해, 이미지 희석화(image thinning) 기법이 활용될 수 있다. 예를 들면, 이진화 서브맵 이미지
Figure PCTKR2022013195-appb-img-000008
는 이미지 희석화(image thinning) 기법을 기반으로 한 픽셀 너비(1-pixel width)를 가지는 에지 지도 이미지
Figure PCTKR2022013195-appb-img-000009
로 변환될 수 있다.
이어, S230에서, 에지 지도 이미지
Figure PCTKR2022013195-appb-img-000010
내에서 상기 경계 영역을 형성하는 경계 포인트들(boundary points)(또는 에지 포인트들(edge points))을 샘플링 하는 과정이 수행된다. 경계 포인트들은 에지 지도 이미지
Figure PCTKR2022013195-appb-img-000011
내에서 영이 아닌 픽셀들(nonzero pixels)의 집합을 의미한다. 본 발명의 실시 예에서는 균등 샘플링(uniform sampling) 기법을 기반으로 경계 포인트들을 샘플링 한다. 이러한 균등 샘플링 기법에 의해 경계 포인트들의 수가 감소되어, 계산량을 줄일 수 있다.
이어, S240에서, 샘플링된 경계 포인트들을 2개씩 쌍으로 구성하여 복수의 경계 포인트 쌍들을 생성한 후, 각 경계 포인트 쌍에 포함된 2개의 경계 포인트들 사이의 거리값을 빈(bin)으로 하는 경계 히스토그램 값 (1D 히스토그램
Figure PCTKR2022013195-appb-img-000012
)을 계산하는 과정이 수행된다. 여기서, 빈(bin)은 히스토그램의 한 구간을 의미한다.
도 8은 본 발명의 실시 예에 따른 경계 영역을 경계 포인트들로 나타낸 4개의 서브맵들의 예시도이고, 도 9는 도 8에 도시된 4개의 서브맵들의 경계 히스토그램을 나타내는 그래프이다.
도 8 및 9를 참조하면, 참조번호 80이 가리키는 서브맵 3의 히스토그램과 다른 서브맵들(81, 82 및 83)의 히스토그램은 확연히 차이가 난다. 하지만 참조 번호 81이 가리키는 서브맵 24와 참조 번호 82가 가리키는 서브맵 39는 다른 경계 형상(boundary shape)을 가짐에도 불구하고 비슷한 변화 양상을 보인다.
이것은 경계 포인트들(경계 영역)의 분포 특징 또는 기하학적 특징을 나타내는 하나의 히스토그램 인자로는 모든 서브맵을 구분하는데 한계가 있음을 의미한다. 즉, 모든 서브맵을 구분하는데 있어서 경계 영역의 기하학적 특징 정보뿐만 아니라 아래에서 설명하는 자유 공간(free space) 영역의 기하학적 특징 정보를 함께 고려해야 함을 의미한다.
자유 공간 영역의 기하학적 특징 정보에 대한 통계치 계산(S300)
서브맵 상의 자유 공간(free space) 영역은 모바일 로봇이 실제로 이동할 수 있는 영역 또는 경로를 의미한다. 이것은 서브맵의 내부 구조를 알 수 있는 유용한 기하학적 특징 정보를 제공한다. 이 기하학적 특징 정보를 전술한 경계 영역의 기하학적 특징 정보와 융합하면 서브맵 매칭 성능(submap matching performance)을 높일 수 있다. 본 발명의 실시 예는 아래와 같은 과정들을 수행하여 자유 공간 영역의 기하학적 특징 정보 또는 분포 특징(distribution)을 수치화한 통계치, 즉, 히스토그램을 생성한다.
도 10은 본 발명의 실시 예에 따른 자유 공간 영역의 기하학적 특징 정보에 대한 통계치 계산 과정을 상세히 설명하기 위한 흐름도이다.
도 10을 참조하면, 먼저, S310에서, 다양한 이미지 처리 기법을 기반으로 서브맵 이미지(또는 쿼리 서브맵 이미지)에서 이진화 서브맵 이미지로 변환하는 과정이 수행된다. S310은 도 1의 S110과 S120을 포함한다.
이어, S320에서, 다양한 이미지 처리 기법을 기반으로 이진화 서브맵 이미지를 에지 지도 이미지로 변환하는 과정이 수행된다. S320은 도 1의 S130과 거의 동일하다.
이어, S330에서, 에지 지도 이미지 내에서 자유 공간 영역을 형성하는 자유 공간 포인트들
Figure PCTKR2022013195-appb-img-000013
을 추출(샘플링)하는 과정이 수행된다. S330은 도 1의 S130과 거의 유사하다. 다만, 자유 공간 포인트들은 에지 지도 이미지 내에서 0이 아닌 픽셀들(nonzero pixels)이 아니라 O인 픽셀들(zero pixels)의 집합을 의미하는 점에서 S330과 도 1의 S130 간에 차이가 있다.
이어, S340에서, 상기 추출(샘플링)된 자유 공간 포인트들 중에서 상기 자유 공간 포인트들 사이의 최단 경로 거리(shortest path distance) 값을 계산하는 과정이 수행된다. 자유 공간 포인트들을 이용하여 가시성 그래프(visibility graph)를 구성함으로써 임의의 자유 공간 포인트 m으로부터 다른 임의의 자유 공간 포인트 n으로 연결되는 최단거리 경로를 구할 수 있다. 가시성 그래프(visibility graph)는 인접 행렬(adjacency matrix) A = [amn]로 표현될 수 있으며, 인접 행렬의 각 엘리먼트(element) amn은 자유 공간 포인트들 사이의 유클리드 거리(Euclidean distance)가 된다. 자유 공간 포인트 m에서 자유 공간 포인트 n의 직선 경로 상에 점유 픽셀(occupied pixel)이 존재하면 amn는 무한대의 값을 가진다. 최단 경로 거리 값을 구하기 위해 다익스트라(Dijkstra) 알고리즘이 이용될 수 있다.
이어, S350에서, 상기 최단 경로 거리값을 갖는 2개의 자유 공간 포인트들을 자유 공간 포인트 쌍으로 구성하고, 자유 공간 포인트 쌍의 상기 최단 경로 거리값을 빈(bin)으로 하는 자유공간 히스토그램 값(1D 히스토그램
Figure PCTKR2022013195-appb-img-000014
)을 계산하는 과정이 수행된다. 여기서,
Figure PCTKR2022013195-appb-img-000015
의 위 첨자 f는 free space(자유 공간)의 약자를 의미한다.
도 11은 본 발명의 실시 예에 따른 자유 공간 영역을 자유 공간 포인트(84)들로 나타낸 4개의 서브맵들의 예시도이고, 도 12는 도 11에 도시된 4개의 서브맵들의 자유 공간 히스토그램을 나타내는 그래프이다.
도 11에 도시된 서브맵들(80, 81, 82 및 83)은 도 8에 도시된 서브맵들(80, 81, 82, 83)과 동일하다. 다만, 도 11에 도시된 서브맵들(80, 81, 82 및 83)은 도 8에 도시된 서브맵들(80, 81, 82, 83)을 일정각도로 회전시킨 것들이다.
참조 번호 81이 가리키는 서브맵 24와 참조 번호 82가 가리키는 서브맵 39는 도 9에 도시된 경계 히스토그램 상에서는 구별이 어렵지만, 자유 공간 히스토그램(free space histogram) 상에서는 도 12에 도시된 바와 같이 조금 더 두드러진 차이를 확인할 수 있다.
하지만 자유 공간 히스토그램(free space histogram)은 경계 히스토그램(boundary histogram)과는 달리 서브맵 3과 서브맵 24의 히스토그램 변화 경향성은 유사하다. 이것은 경계 히스토그램(boundary histogram)과 자유 공간 히스토그램(free space histogram)은 상호 보완적인 특징을 나타내며, 두 히스토그램의 조합을 통하여 장소(place)를 구분하는 성능을 높일 수 있음을 의미한다.
도 13은 본 발명의 실시 예에 따른 서로 다른 노이즈 레벨을 갖는 4개의 서브맵들의 예시도이고, 도 14는 도 13에 도시된 4개의 서브맵들의 자유 공간 히스토그램을 나타내는 그래프이다.
도 13 및 14를 참조하면, 노이즈에 대한 자유 공간 히스토그램(free space histogram)의 견고성을 확인하기 위해, 서브맵들(91, 92, 93)에는 매핑 과정에서 존재하지 않는 Nr개의 가상 장애물(94)이 무작위로 배치된다. 서브맵의 노이즈 레벨은 가상 장애물의 개수에 따라 결정된다. 가상 장애물(94)의 추가는 자유 공간 포인트(84)들의 분포 특징을 나타내는 히스토그램을 변경시킨다. 그러나 이것은 최단 경로 거리에 큰 영향을 미치지 않는다. 따라서 히스토그램의 변화 정도는 미미하다.
반사 대칭 스코어(Reflection symmetry score) 계산(S400)
위에서 설명한 경계 및 자유 공간 히스토그램은 서브맵의 기하학적 모양을 수량화(정량화)한 데이터인 반면, 반사 대칭 스코어는 서브맵의 전체 구조적 모양 또는 대칭성(symmetry)을 수량화(정량화)한 데이터 또는 값일 수 있다.
대칭 유형에는 회전, 반사, 변환 및 glide 반사가 있다. 이 중 반사 대칭은 실내 구조에서 볼 수 있는 가장 일반적인 대칭 유형이다. 본 발명의 실시 예에서는 아래의 과정들을 통해 반사 대칭 스코어(reflection symmetry score)를 서브맵 이미지로부터 계산하고, 계산된 반사 대칭 스코어는 서브맵 유사도(submap similarity score) 계산(도 1의 S500) 시에 가중치(weight)로 활용된다.
도 15는 본 발명의 실시 예에 따른 서브맵의 구조적 특징 정보에 대한 반사 대칭 스코어의 계산 과정을 상세히 설명하기 위한 흐름도이고, 도 16은 도 15의 각 단계에서 생성된 이미지의 예시도이다.
도 15 및 16을 참조하면, 먼저, S410에서, 다양한 이미지 처리 기법을 기반으로 서브맵 이미지(10)를 에지 지도 이미지로 변환하는 과정이 수행된다. S410은, 예를 들면, 도 7의 S210의 수행 과정과 동일하게 서브맵 이미지(10)를 이진화 서브맵 이미지(binary submap image)로 변환한 후, 도 7의 S220과 동일하게 이진화 서브맵 이미지
Figure PCTKR2022013195-appb-img-000016
를 에지 지도 이미지
Figure PCTKR2022013195-appb-img-000017
(11)로 변환하는 과정을 포함할 수 있다.
이어, S420에서, 에지 지도 이미지
Figure PCTKR2022013195-appb-img-000018
(11)에서 추출된 일정 길이의 선분들(line segments)의 각도를 기반으로 두 개의 대칭축(α 및 β)을 검출하는 과정이 수행된다. 일정 길이 이상의 선분들(line segments)을 추출하기 위해, 예를 들면, 확률적 허프 변환(Probabilistic Hough Transform) 알고리즘이 이용될 수 있다. 건물의 실내 구조는 대부분 직사각형이기 때문에, 보트(Vote) 알고리즘을 기반으로 상기 추출된 선분들의 각도들을 보팅(voting)하는 방식으로 두 개의 대칭축(axes of symmetry) (α, β)이 검출될 수 있다.
이어, S430에서, 상기 검출된 2개의 반사 대칭축들 (α, β)을 수직하게 정렬되도록 회전된 에지 지도 이미지
Figure PCTKR2022013195-appb-img-000019
를 가우시안-블러드(Gaussian-blurred) 이미지
Figure PCTKR2022013195-appb-img-000020
(13)로 변환한 후, 상기 가우시안-블러드 이미지
Figure PCTKR2022013195-appb-img-000021
(13)에서 0이 아닌 모든 픽셀들(u, v)의 위치에 대응하는 반전(flip)된 가우시안-블러드 이미지
Figure PCTKR2022013195-appb-img-000022
의 픽셀들
Figure PCTKR2022013195-appb-img-000023
의 평균 강도
Figure PCTKR2022013195-appb-img-000024
를 반사 대칭 스코어로서 계산하는 과정이 수행된다. 즉, 반사 대칭 스코어의 계산은 상기 가우시안-블러드 이미지와 상기 대칭축 (α, β)을 기준으로 반전된 가우시안-블러드 이미지 사이의 유사도를 계산하는 과정일 수 있다.
대칭축 α에 대한 상기 반사 대칭 스코어
Figure PCTKR2022013195-appb-img-000025
는 아래의 수학식으로 나타낼 수 있다.
Figure PCTKR2022013195-appb-img-000026
반전(flip)된 가우시안-블러드 이미지
Figure PCTKR2022013195-appb-img-000027
는, 예를 들면, 상기 가우시안-블러드 이미지
Figure PCTKR2022013195-appb-img-000028
(13)를 상기 반사 대칭축을 기준으로 반전시킨 이미지일 수 있다. 에지 지도 이미지(11)를 가우시안-블러드 이미지로 변환하기 위해, 이미지 처리 분야에서 활용되는 다양한 이미지 블러드 기법들이 이용될 수 있다. 상기 회전된 에지 지도 이미지
Figure PCTKR2022013195-appb-img-000029
(11)는 상기 2개의 반사 대칭축들 (α, β) 중에서 어느 하나의 대칭축이 수직하게 정렬되도록 상기 에지 지도 이미지
Figure PCTKR2022013195-appb-img-000030
(11)를 회전시킨 이미지일 수 있다. 한편, 대칭축 β에 대한 반사 대칭 스코어(reflection symmetry score)
Figure PCTKR2022013195-appb-img-000031
도 위와 같은 방법으로 계산할 수 있다.
서브맵 유사도 계산(S500)
위에서 구한 3가지의 통계치들, 즉, 경계 히스토그램, 자유 공간 히스토그램 및 반사 대칭 스코어는 실제 전역 위치 인식을 수행하기 전에 오프라인에서 계산된 후 입력 서브맵들 Si과 함께 데이터베이스에 저장된다. 이후, 로봇의 주행 과정에서 쿼리 서브맵 Sq이 생성되면, 아래의 수학식 2에 따라 매칭 스코어(matching score)를 계산하고, 계산된 매칭 스코어의 역을 서브맵 유사도(similarity score: ρ)로서 계산하는 과정이 수행된다.
서브맵 유사도(similarity score: ρ) 계산이 완료되면, 이를 기반으로 데이터베이스에 저장된 서브맵들 Si 중에서 쿼리 서브맵 Sq과 가장 잘 매칭되는 서브맵을 선정한다(S700).
Figure PCTKR2022013195-appb-img-000032
여기서, S 및 m(Sq, Si)는 쿼리 서브맵 Sq과 데이터베이스에 저장된 입력 서브맵 Si 사이의 유사도(similarity score)이고,
Figure PCTKR2022013195-appb-img-000033
Figure PCTKR2022013195-appb-img-000034
는 서브맵 Si의 대칭축 α와 β에 의한 반사 대칭 스코어를 각각 나타내고,
Figure PCTKR2022013195-appb-img-000035
Figure PCTKR2022013195-appb-img-000036
는 쿼리 서브맵 Sq의 대칭축 α와 β에 의한 반사 대칭 스코어를 각각 나타낸다. 즉,
Figure PCTKR2022013195-appb-img-000037
는 대칭축 α를 기준으로 구분되는 좌측 서브맵과 우측 서브맵 사이의 유사한 정도를 나타내는 스코어이고,
Figure PCTKR2022013195-appb-img-000038
는 대칭축 β를 기준으로 구분되는 좌측 서브맵과 우측 서브맵 사이의 유사한 정도를 나타내는 스코어이다. 유사하게,
Figure PCTKR2022013195-appb-img-000039
는 대칭축 α를 기준으로 좌측 쿼리 서브맵과 우측 쿼리 서브맵 사이의 유사한 정도는 나타내는 스코어이고,
Figure PCTKR2022013195-appb-img-000040
는 대칭축 β를 기준으로 좌측 쿼리 서브맵과 우측 쿼리 서브맵 사이의 유사한 정도는 나타내는 스코어이다. Ω()는 쿼리 서브맵 Sq과 서브맵 Si 사이의 구조적 특징의 유사성을 계산하는 함수로서,
Figure PCTKR2022013195-appb-img-000041
Figure PCTKR2022013195-appb-img-000042
로 나타낼 수 있다. 여기서,
Figure PCTKR2022013195-appb-img-000043
는 대칭축 α에 의한 쿼리 서브맵 Sq의 반사 대칭 스코어
Figure PCTKR2022013195-appb-img-000044
와 대칭축 α에 의한 서브맵 Si의 반사 대칭 스코어
Figure PCTKR2022013195-appb-img-000045
사이의 차이값을 계산하는 식이고,
Figure PCTKR2022013195-appb-img-000046
는 대칭축 β에 의한 쿼리 서브맵 Sq의 반사 대칭 스코어와 대칭축 β에 의한 서브맵 Si의 반사 대칭 스코어 사이의 차이값을 계산하는 식이다. 따라서, 쿼리 서브맵 Sq과 서브맵 Si 사이의 구조적 특징의 유사성은 상기 차이값
Figure PCTKR2022013195-appb-img-000047
과 상기 차이값
Figure PCTKR2022013195-appb-img-000048
의 곱으로 계산할 수 있다.
Figure PCTKR2022013195-appb-img-000049
Figure PCTKR2022013195-appb-img-000050
은 입력 서브맵 Si의 경계 히스토그램과 자유 공간 히스토그램(값)을 각각 나타내고,
Figure PCTKR2022013195-appb-img-000051
Figure PCTKR2022013195-appb-img-000052
는 쿼리 서브맵 Sq의 경계 히스토그램(값)과 자유공간 히스토그램(값)을 각각 나타낸다. wb는쿼리 서브맵 Sq의 경계 히스토그램(값)과 서브맵 Si의 경계 히스토그램(값) 사이의 매칭 가중치를 나타내고, wf는 쿼리 서브맵 Sq의 자유 공간 히스토그램(값)과 서브맵 Si의 자유 공간 히스토그램(값) 사이의 매칭 가중치를 나타낸다. 그리고, Ω()는 쿼리 서브맵과 데이터베이스에 저장된 입력 서브맵 사이의 구조적 특징 정보의 유사도를 계산하는 함수이다.
도 17은 본 발명의 실시 예에 따른 모바일 로봇의 전역 위치인식을 위한 기능 블록도이다.
도 17을 참조하면, 본 발명의 실시 예에 따른 전역 위치인식을 위한 장치는 이미지 분할기(100), 제1 기하학적 특징 추출기(200), 제2 기하학적 특징 추출기(300), 구조적 특징 추출기(400), 서브맵 유사도 계산기(500), 전역 위치인식 처리기(600) 및 데이터베이스(700)을 포함한다.
위의 구성들(100 ~ 700)은 설명의 이해를 돕기 위해 기능 단위로 구분한 것일 뿐, 본 발명을 제한하고자 하는 의도는 아니며, 다양하게 변경될 수 있다. 예를 들면, 위의 구성들 중 일부 구성들은 하나의 구성들로 통합되거나, 위의 구성들 중 어느 하나의 구성은 세부적인 기능 단위로 복수의 구성들로 분리될 수 있다. 예를 들면, 제1 기하학적 특징 추출기(200), 제2 기하학적 특징 추출기(300) 및 구조적 특징 추출기(400)은 '특징 추출기'라는 명칭으로 하나의 구성으로 통합될 수 있다. 또한 각 구성은 하드웨어 모듈 또는 소프트웨어 모듈로 구현되거나 이들의 조합으로 구현될 수 있다. 여기서, 하드웨어 모듈은 적어도 하나의 CPU, GUP 및/또는 MCU 등으로 구현된 프로세서를 포함하는 반도체 칩으로 구현될 수 있고, 소프트웨어 모듈은 프로세서에 의해 실행되는 알고리즘, 프로그램 등으로 구현될 수 있다.
각 구성에 대해 상세히 설명하면, 먼저, 이미지 분할기(100)는 전역 지도 이미지를 복수의 쿼리 서브맵 이미지들로 분할한다. 이를 위해, 이미지 분할기(100)는, 예를 들면, 도 1 또는 도 3의 S100에 따라 수행되는 과정들을 처리할 수 있다. 여기서, 전역 지도 이미지는 2D 또는 3D 점유 격자 지도 이미지일 수 있다.
제1 기하학적 특징 추출기(200)는 각 쿼리 서브맵 이미지 Sq의 제1 기하학 적 특징을 추출한다. 이를 위해, 제1 기하학적 특징 추출기(200)는, 예를 들면, 도 1 또는 도 7의 S200에 따라 수행되는 과정들을 처리할 수 있다. 여기서, 제1 기하학적 특징은 각 쿼리 서브맵 이미지 Sq에 포함된 경계 영역의 분포 특징을 수치(정량)화한 경계 히스토그램(값)일 수 있다. 경계 영역은 로봇이 이동할 수 없는 영역일 수 있다.
제2 기하학적 특징 추출기(300)는 각 쿼리 서브맵 이미지 Sq의 제2 기하학 적 특징을 추출한다. 이를 위해, 제2 기하학적 특징 추출기(300)는, 예를 들면, 도 1 또는 도 10의 S300에 따라 수행되는 과정들을 처리할 수 있다. 여기서, 제2 기하학적 특징은 각 쿼리 서브맵 이미지 Sq에 포함된 자유 공간 영역의 분포 특징을 수치(정량)화한 자유 공간 히스토그램(값)일 수 있다. 자유 공간 영역은 로봇이 이동할 수 있는 영역(또는 경로)일 수 있다.
구조적 특징 추출기(400)는 각 쿼리 서브맵 이미지 Sq의 구조적 특징을 추출한다. 이를 위해, 구조적 특징 추출기(400)는, 예를 들면, 도 1 및 15의 S400에 따라 수행되는 과정들을 처리할 수 있다. 여기서, 구조적 특징은 쿼리 서브맵 Sq의 전체 구조적 모양을 수량화(정량화)한 반사 대칭 스코어 일 수 있다.
반사 대칭 스코어를 계산하기 위해, 구조적 특징 추출기(400)는, 예를 들면, 3개의 감산기들(501, 503 및 505), 가산기(507), 곱셈기(509) 및 역수 계산기(511)를 포함할 수 있다.
제1 감산기(501)는 제1 기하학적 특징 추출기(200)에 의해 추출된(계산된) 쿼리 서브맵 Sq의 경계 히스토그램값
Figure PCTKR2022013195-appb-img-000053
과 데이터베이스(700)에 사전에 저장된 입력 서브맵 Si 경계 히스토그램값
Figure PCTKR2022013195-appb-img-000054
의 차이값
Figure PCTKR2022013195-appb-img-000055
을 계산한다. 이때, 차이값
Figure PCTKR2022013195-appb-img-000056
에는 매칭 가중치 wb가 적용될 수 있다.
제2 감산기(503)는 제2 기하학적 특징 추출기(300)에 의해 추출된(계산된) 쿼리 서브맵 Sq의 자유공간 히스토그램값
Figure PCTKR2022013195-appb-img-000057
과 데이터베이스(700)에 사전에 저장된 입력 서브맵 Si 자유공간 히스토그램값
Figure PCTKR2022013195-appb-img-000058
의 차이값
Figure PCTKR2022013195-appb-img-000059
을 계산한다. 이때, 차이값
Figure PCTKR2022013195-appb-img-000060
에는 매칭 가중치 wf가 적용될 수 있다.
제3 감산기(505)는 구조적 특징 추출기(400)에 의해 추출된(계산된) 쿼리 서브맵 Sq의 대칭축 (α 및 β)에 의한 반사 대칭 스코어와 데이터베이스(700)에 사전에 저장된 입력 서브맵 Si의 대칭축 (α 및 β)에 의한 반사 대칭 스코어의 차이값
Figure PCTKR2022013195-appb-img-000061
을 계산한다.
가산기(507)는 제1 감산기(501)로부터의 차이값
Figure PCTKR2022013195-appb-img-000062
과 제2 감산기(503)로부터의 차이값
Figure PCTKR2022013195-appb-img-000063
을 합산한다.
곱셈기(507)는 가산기(507)의 출력과 제3 감산기(505)의 출력에 대한 곱셈 연산을 수행하여 획득한 매칭 스코어 m(Sq, Si)를 출력한다.
역수 계산기(511)는 매칭 스코어 m(Sq, Si)의 역수를 쿼리 서브맵 Sq과 입력 서브맵 Si사이의 서브맵 유사도 ρ로서 계산한다.
전역 위치인식 처리기(600)는 상기 서브맵 유사도 ρ를 기반으로 쿼리 서브맵 Sq과 가장 유사한 입력 서브맵 Si을 선정하고, 상기 선정된 입력 서브맵 Si에 포함된 좌표 정보를 기반으로 모바일 로봇의 전역 위치인식 과정을 수행한다. 전역 위치인식 처리기(600)는 도 1의 S600 및 S700에 따른 과정들을 처리할 수 있다.
데이터베이스(700)에는 서브맵 Si 별로 사전에 계산된 경계 영역 히스토그램
Figure PCTKR2022013195-appb-img-000064
, 자유공간 히스토그램
Figure PCTKR2022013195-appb-img-000065
및 반사 대칭 스코어
Figure PCTKR2022013195-appb-img-000066
Figure PCTKR2022013195-appb-img-000067
가 저장된다. 데이터베이스(700)는 비휘발성 저장매체에 저장될 수 있다.
도 18은 본 발명의 실시 예에 따른 전역 위치인식을 수행하기 위한 컴퓨팅 장치를 나타내는 블록도이다.
도 18을 참조하면, 컴퓨팅 장치(1300)는, 로봇 내에 탑재되거나 로봇과 통신하는 외부 장치에 탑재될 수 있다. 컴퓨팅 장치(1300)는 버스(1370)를 통해 통신하는 프로세서(1310), 메모리(1330), 입력 인터페이스 장치(1350), 출력 인터페이스 장치(1360), 및 저장 장치(1340) 중 적어도 하나를 포함할 수 있다. 또한 휴대용 컴퓨터(1300)는 네트워크에 결합된 통신 장치(1320)를 포함할 수 있다.
프로세서(1310)는 적어도 하나의 CPU, 적어도 하나의 GPU 및 적어도 하나의 MCU를 포함하며, 메모리(1330) 또는 저장 장치(1340)에 저장된 명령을 실행하는 반도체 장치일 수 있다. 또한, 프로세서(1310)는 도 1 내지 17에 도시된 구성들 및/또는 과정들을 제어하거나, 처리하거나 연산할 수 있다. 특히 프로세서(1310)는 이미지를 처리하는데 충분한 성능을 보유한 고성능의 CPU 및 GPU를 포함할 수 있다.
메모리(1330) 및 저장 장치(1340)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체를 포함할 수 있다. 예를 들어, 메모리는 ROM(read only memory) 및 RAM(random access memory)를 포함할 수 있다. 예를 들어, 저장 장치(1340)는 하드디스크일 수 있다. 저장 장치(1340)에는 도 17에 도시된 데이터베이스(700)가 저장될 수 있다.
통신 장치(1320)는 유선 또는/및 무선 통신을 지원하는 통신 모듈일 수 있다. 통신 장치(1320)에 의해, 프로세서(1310)에서 처리한 데이터 및 이미지들은 외부 장치로 송신될 수 있다.
입력 인터페이스 장치(1350)는 버튼, 마우스, 키보드, 터치 기능을 갖는 표시부로 구현될 수 있다.
출력 인터페이스 장치(1360)은 프로세서(1310)에 의해 처리된 중간 데이터 및 결과 데이터를 시각적 및/또는 청각적인 형태의 정보로 출력할 수 있다. 결과 데이터는 전역 위치인식을 수행하여 최종적으로 획득한 로봇의 위치 정보일 수 있다.
이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리 범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리 범위에 속하는 것이다.
본 발명은 2D 점유 격자 지도(2D occupancy grid map)를 생성할 수 있는 모든 센서들(예: ultrasonic sensor, 2D/3D LiDAR, 3D depth camera)에 적용될 수 있고, 실내 건물의 2차원 평면(2D floor plan) 지도에도 적용할 수 있다.

Claims (18)

  1. 모바일 로봇 내에 탑재된 컴퓨팅 장치의 프로세서에 의해 수행되는 전역 위치인식을 위한 방법으로서,
    전역 지도 이미지를 복수의 쿼리 서브맵 이미지들로 분할하는 단계;
    각 쿼리 서브맵 이미지의 기하학적 특징을 나타내는 히스토그램 값을 계산하는 단계;
    각 쿼리 서브맵 이미지의 구조적 특징 정보를 나타내는 반사 대칭 스코어를 계산하는 단계;
    상기 히스토그램 값과 상기 반사 대칭 스코어를 기반으로 각 쿼리 서브맵 이미지와 데이터베이스에 저장된 서브맵 이미지들 사이의 서브맵 유사도를 계산하는 단계; 및
    상기 서브맵 유사도를 기반으로 상기 쿼리 서브맵 이미지와 가장 유사한 서브맵 이미지를 선정하여, 상기 선정된 서브맵 이미지에 포함된 좌표 정보를 기반으로 상기 모바일 로봇의 전역 위치인식을 수행하는 단계
    를 포함하는 모바일 로봇의 전역 위치인식을 위한 방법.
  2. 제1항에서,
    상기 전역 지도 이미지를 복수의 쿼리 서브맵 이미지들로 분할하는 단계는,
    상기 모바일 로봇에 탑재된 센서를 이용하여 상기 전역 지도 이미지를 생성하는 단계;
    상기 전역 지도 이미지 상에서 상기 모바일 로봇의 이동 경로가 분기되는 포인트를 정의하는 정션 포인트(junction point)를 추출하는 단계; 및
    상기 전역 지도 이미지를 상기 정션 포인트를 중심으로 일정한 반경을 갖는 상기 복수의 쿼리 서브맵 이미지들로 분할하는 단계
    를 포함하는 모바일 로봇의 전역 위치인식을 위한 방법.
  3. 제2항에서,
    상기 정션 포인트를 추출하는 단계는,
    이미지 처리 기법을 기반으로 상기 전역 지도 이미지를 에지 지도 이미지(edge map image)로 변환하는 단계; 및
    상기 에지 지도 이미지 내에서 중심 픽셀과 상기 중심 픽셀을 둘러싸는
    의 주변 픽셀들로 이루어진 n×n 이미지 패치를 가정할 때, 상기 중심 픽셀의 픽셀값이 적어도 3개의 주변 픽셀들의 픽셀값과 다른 경우, 상기 중심 픽셀을 상기 정션 포인트로서 추출하는 단계
    를 포함하는 모바일 로봇의 전역 위치인식을 위한 방법.
  4. 제1항에서,
    각 쿼리 서브맵 이미지의 기하학적 특징을 나타내는 히스토그램 값을 계산하는 단계는,
    각 쿼리 서브맵 이미지에서 상기 모바일 로봇이 이동할 수 없는 경계 영역의 기하학적 특징을 나타내는 경계 히스토그램 값을 계산하는 단계; 및
    각 쿼리 서브맵 이미지에서 상기 모바일 로봇이 이동할 수 있는 자유 공간 영역의 기하학적 특징을 나타내는 자유 공간 히스토그램 값을 계산하는 단계
    를 포함하는 모바일 로봇의 전역 위치인식을 위한 방법.
  5. 제4항에서,
    상기 경계 히스토그램 값을 계산하는 단계는,
    이미지 처리 기법을 기반으로 각 쿼리 서브맵 이미지를 에지 지도 이미지로 변환하는 단계;
    상기 에지 지도 이미지 내에서 상기 경계 영역을 형성하는 경계 포인트들을 샘플링 하는 단계;
    상기 샘플링된 경계 포인트들을 쌍으로 구성하여 복수의 경계 포인트 쌍들을 생성하는 단계; 및
    각 경계 포인트 쌍에 포함된 2개의 경계 포인트들 사이의 거리값을 기반으로 상기 경계 히스토그램 값을 계산하는 단계
    를 포함하는 모바일 로봇의 전역 위치인식을 위한 방법.
  6. 제4항에서,
    상기 자유 공간 히스토그램 값을 계산하는 단계는,
    이미지 처리 기법을 기반으로 각 쿼리 서브맵 이미지를 에지 지도 이미지로 변환하는 단계;
    상기 에지 지도 이미지 내에서 상기 자유 공간 영역을 형성하는 자유 공간 포인트들을 추출하는 단계;
    상기 추출된 자유 공간 포인트들 중에서 최단 경로 거리(shortest path distance) 값을 갖는 2개의 자유 공간 포인트들을 쌍으로 구성하여 복수의 자유 공간 포인트 쌍들을 생성하는 단계; 및
    각 자유 공간 포인트 쌍의 상기 최단 경로 거리 값을 기반으로 상기 자유 공간 히스토그램 값을 계산하는 단계
    를 포함하는 모바일 로봇의 전역 위치인식을 위한 방법.
  7. 제1항에서,
    상기 반사 대칭 스코어를 계산하는 단계는,
    이미지 처리 기법을 기반으로 각 쿼리 서브맵 이미지를 에지 지도 이미지로 변환하는 단계;
    상기 에지 지도 이미지에서 일정 길이를 갖는 선분들의 각도를 기반으로 반사 대칭축을 검출하는 단계;
    이미지 블러드(image blurred) 기법을 기반으로 상기 에지 지도 이미지를 블러드 이미지로 변환하는 단계; 및
    상기 블러드 이미지와 상기 검출된 반사 대칭축을 기준으로 반전(filp)된 블러드 이미지 사이의 유사도를 상기 반사 대칭 스코어로서 계산하는 단계
    를 포함하는 모바일 로봇의 전역 위치인식을 위한 방법.
  8. 제7항에서,
    상기 반사 대칭축을 검출하는 단계와 상기 에지 지도 이미지를 블러드 이미지로 변환하는 단계 사이에 상기 검출된 반사 대칭축이 수직하게 정렬되도록 상기 에지 지도 이미지를 회전시키는 단계
    를 더 포함하는 모바일 로봇의 전역 위치인식을 위한 방법.
  9. 제1항에서,
    상기 서브맵 유사도를 계산하는 단계는,
    각 쿼리 서브맵 이미지의 상기 히스토그램 값과 상기 데이터베이스에 저장된 서브맵 이미지들의 상기 기하학적 특징을 나타내는 히스토그램 값들 사이의 제1 차이값을 계산하는 단계;
    각 쿼리 서브맵 이미지의 상기 반사 대칭 스코어와 상기 데이터베이스에 저장된 서브맵 이미지들의 구조적 특징을 나타내는 반사 대칭 스코어들 사이의 제2 차이값을 계산하는 단계; 및
    상기 제1 및 제2 차이값을 기반으로 상기 서브맵 유사도를 계산하는 단계
    를 포함하는 모바일 로봇의 전역 위치인식을 위한 방법.
  10. 제9항에서,
    상기 제1 차이값을 계산하는 단계는,
    각 쿼리 서브맵 이미지에서 상기 모바일 로봇이 이동할 수 없는 경계 영역의 상기 기하학적 특징을 나타내는 경계 히스토그램 값과 상기 서브맵 이미지들에서 상기 모바일 로봇이 이동할 수 없는 경계 영역의 상기 기하학적 특징을 나타내는 경계 히스토그램 값들 사이의 차이값을 계산하는 단계; 및
    각 쿼리 서브맵 이미지에서 상기 모바일 로봇이 이동할 수 있는 자유 공간 영역의 상기 기하학적 특징을 나타내는 자유 공간 히스토그램 값과 상기 모바일 로봇이 이동할 수 있는 자유 공간 영역의 상기 기하학적 특징을 나타내는 자유 공간 히스토그램 값들 사이의 차이값을 계산하는 단계
    를 포함하는 모바일 로봇의 전역 위치인식을 위한 방법.
  11. 로봇의 전역 위치인식을 위한 컴퓨팅 장치로서,
    점유 격자 지도 이미지를 복수의 쿼리 서브맵 이미지들로 분할하는 이미지 분할기;
    각 쿼리 서브맵 이미지의 기하학적 특징을 나타내는 히스토그램 값을 계산하고, 각 쿼리 서브맵 이미지의 대칭 특징을 나타내는 반사 대칭 스코어를 계산하는 특징 추출기;
    상기 히스토그램 값과 상기 반사 대칭 스코어를 기반으로 각 쿼리 서브맵 이미지와 데이터베이스에 저장된 서브맵 이미지들 사이의 유사도를 계산하는 서브맵 유사도 계산기; 및
    상기 서브맵 유사도를 기반으로 상기 쿼리 서브맵 이미지와 가장 유사한 서브맵 이미지를 선정하여, 상기 선정된 서브맵 이미지에 포함된 좌표 정보를 기반으로 상기 로봇의 전역 위치인식을 수행하는 전역 위치인식 처리기
    를 포함하는 모바일 로봇의 전역 위치인식을 위한 컴퓨팅 장치.
  12. 제11항에서,
    상기 이미지 분할기는,
    상기 점유 격자 지도 이미지 상에서 상기 모바일 로봇의 이동 경로가 분기되는 정션 포인트를 기준으로 상기 점유 격자 지도 이미지를 복수의 쿼리 서브맵 이미지들로 분할하는 것인 모바일 로봇의 전역 위치인식을 위한 컴퓨팅 장치.
  13. 제11항에서,
    상기 특징 추출기는,
    각 쿼리 서브맵 이미지에서 상기 모바일 로봇이 이동할 수 없는 경계 영역의 분포 특징을 정량화한 경계 히스토그램 값을 계산하는 제1 기하학적 특징 추출기;
    각 쿼리 서브맵 이미지에서 상기 모바일 로봇이 이동할 수 있는 자유 공간 영역의 분포 특징을 정량화한 자유 공간 히스토그램 값을 계산하는 제2 기하학적 특징 추출기; 및
    각 쿼리 서브맵 이미지의 대칭성을 정량화한 반사 대칭 스코어를 계산하는 구조적 특징 추출기
    를 포함하는 모바일 로봇의 전역 위치인식을 위한 컴퓨팅 장치.
  14. 제11항에서,
    상기 서브맵 유사도 계산기는,
    각 쿼리 서브맵 이미지에서 경계 영역의 기하학적 특징을 정량화한 경계 히스토그램 값과 상기 데이터베이스에 저장된 서브맵 이미지에서 경계 영역의 기하학적 특징을 정량화한 경계 히스토그램 값의 차이값을 계산하는 제1 감산기
    각 쿼리 서브맵 이미지에서 자유 공간 영역의 기하학적 특징을 정량화한 자유공간 히스토그램 값과 상기 데이터베이스에 저장된 서브맵 이미지의 자유 공간 영역의 기하학적 특징을 정량화한 경계 히스토그램 값의 차이값을 계산하는 제2 감산기: 및
    각 쿼리 서브맵 이미지의 대칭성을 정량화한 상기 반사 대칭 스코어와 상기 데이터베이스에 저장된 서브맵 이미지의 대칭성을 정량화한 반사 대칭 스코어의 차이값을 계산하는 제3 감산기
    를 포함하는 모바일 로봇의 전역 위치인식을 위한 컴퓨팅 장치.
  15. 제14항에서,
    상기 서브맵 유사도 계산기는,
    상기 제1 내지 제3 감산기에 의해 계산된 차이값들을 연산하여 각 쿼리 서브맵 이미지와 상기 서브맵 이미지들 사이의 유사도를 계산하는 것인 모바일 로봇의 전역 위치인식을 위한 컴퓨팅 장치.
  16. 제14항에서,
    상기 서브맵 유사도 계산기는,
    상기 제1 감산기에 의해 계산된 차이값과 상기 제2 감산기에 의해 계산된 차이값을 합산하는 가산기를 더 포함하고,
    상기 제3 감산기에 의해 계산된 차이값을 가중치로서 상기 가산기에 의해 합산된 값과 연산하여 각 쿼리 서브맵 이미지와 상기 서브맵 이미지들 사이의 유사도를 계산하는 것인 모바일 로봇의 전역 위치인식을 위한 컴퓨팅 장치.
  17. 모바일 로봇 내에 탑재된 컴퓨팅 장치의 프로세서에 의해 수행되는 전역 위치인식을 위한 방법으로서,
    전역 지도 이미지로부터 분할된 각 쿼리 서브맵 이미지에서 상기 모바일 로봇이 이동할 수 없는 경계 영역의 분포 특징을 정량화한 경계 히스토그램 값을 계산하는 단계;
    각 쿼리 서브맵 이미지에서 상기 모바일 로봇이 이동할 수 있는 자유 공간 영역의 분포 특징을 정량화한 자유 공간 히스토그램 값을 계산하는 단계;
    각 쿼리 서브맵 이미지에서 추출된 대칭축을 기준으로 각 쿼리 서브맵 이미지의 대칭성을 정량화한 반사 대칭 스코어를 계산하는 단계;
    각 쿼리 서브맵 이미지의 상기 경계 히스토그램 값, 상기 자유 공간 히스토그램 값 및 상기 반사 대칭 스코어와 데이터베이스로부터 입력된 서브맵 이미지들의 경계 히스토그램 값, 자유 공간 히스토그램 값 및 반사 대칭 스코어를 비교하여 상기 데이터베이스에 저장된 서브맵 이미지들 중에서 각 쿼리 서브맵 이미지와 가장 유사한 서브맵 이미지를 선정하는 단계; 및
    상기 선정된 서브맵 이미지에 포함된 좌표 정보를 기반으로 상기 모바일 로봇의 전역 위치인식을 수행하는 단계
    를 포함하는 모바일 로봇의 전역 위치인식을 위한 방법.
  18. 제17항에서,
    상기 전역 지도 이미지는 2D 또는 3D 점유 격자 지도 이미지인 것인 모바일 로봇의 전역 위치인식을 위한 방법.
PCT/KR2022/013195 2021-10-21 2022-09-02 모바일 로봇의 전역 위치인식을 위한 방법 및 컴퓨팅 장치 WO2023068542A1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20210141243 2021-10-21
KR10-2021-0141243 2021-10-21
KR1020220105413A KR20230057944A (ko) 2021-10-21 2022-08-23 모바일 로봇의 전역 위치인식을 위한 방법 및 컴퓨팅 장치
KR10-2022-0105413 2022-08-23

Publications (1)

Publication Number Publication Date
WO2023068542A1 true WO2023068542A1 (ko) 2023-04-27

Family

ID=86059359

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/013195 WO2023068542A1 (ko) 2021-10-21 2022-09-02 모바일 로봇의 전역 위치인식을 위한 방법 및 컴퓨팅 장치

Country Status (1)

Country Link
WO (1) WO2023068542A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008004078A (ja) * 2006-06-20 2008-01-10 Samsung Electronics Co Ltd 移動ロボットの格子マップ作成方法及び装置及び媒体とこれを利用した領域分離方法及び装置及び媒体
KR20150004568A (ko) * 2013-07-03 2015-01-13 삼성전자주식회사 자율 이동 로봇의 위치 인식 방법
US20150321346A1 (en) * 2014-05-08 2015-11-12 Hitachi, Ltd. Robot
KR20170087403A (ko) * 2016-01-20 2017-07-28 주식회사 유진로봇 복합 지도 정보 기반의 이동 로봇을 운영하기 위한 시스템 및 그 방법
KR20200055239A (ko) * 2018-11-13 2020-05-21 주식회사 케이티 로봇군 제어 방법 및 시스템

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008004078A (ja) * 2006-06-20 2008-01-10 Samsung Electronics Co Ltd 移動ロボットの格子マップ作成方法及び装置及び媒体とこれを利用した領域分離方法及び装置及び媒体
KR20150004568A (ko) * 2013-07-03 2015-01-13 삼성전자주식회사 자율 이동 로봇의 위치 인식 방법
US20150321346A1 (en) * 2014-05-08 2015-11-12 Hitachi, Ltd. Robot
KR20170087403A (ko) * 2016-01-20 2017-07-28 주식회사 유진로봇 복합 지도 정보 기반의 이동 로봇을 운영하기 위한 시스템 및 그 방법
KR20200055239A (ko) * 2018-11-13 2020-05-21 주식회사 케이티 로봇군 제어 방법 및 시스템

Similar Documents

Publication Publication Date Title
US9044858B2 (en) Target object gripping apparatus, method for controlling the same and storage medium
US5471541A (en) System for determining the pose of an object which utilizes range profiles and synethic profiles derived from a model
CN110147767B (zh) 基于二维图像的三维手势姿态预测方法
EP3376433B1 (en) Image processing apparatus, image processing method, and image processing program
WO2020046038A1 (ko) 로봇 및 그의 제어 방법
WO2018207969A1 (ko) 객체 검출 및 분류 방법
WO2020067751A1 (ko) 이종 센서 간의 데이터 융합 장치 및 방법
US9595095B2 (en) Robot system
KR20230009641A (ko) 구조물의 균열 탐지 방법
WO2020186777A1 (zh) 图像检索方法、装置、设备及计算机可读存储介质
WO2023068542A1 (ko) 모바일 로봇의 전역 위치인식을 위한 방법 및 컴퓨팅 장치
WO2019245320A1 (ko) 이미지 센서와 복수의 지자기 센서를 융합하여 위치 보정하는 이동 로봇 장치 및 제어 방법
WO2015182979A1 (ko) 영상 처리 방법 및 영상 처리 장치
WO2016035924A1 (ko) 달리기 감지 방법 및 시스템
CN113496526A (zh) 通过多个2d相机的3d姿态检测
WO2017099292A1 (ko) 물체-행동 관계 모델에 기반한 행동 인식 방법 및 그 장치
WO2012053811A9 (ko) 텐서 보팅에 기반을 둔 컬러 클러스터링 시스템 및 그 방법
JP7093680B2 (ja) 構造物差分抽出装置、構造物差分抽出方法およびプログラム
WO2020101424A1 (ko) 지상 로봇의 움직임을 고려한 강인한 레이저 스캐너 매칭 방법 및 그 장치
WO2011055906A2 (ko) 우주비행체 자세결정을 위한 별패턴 인식 방법 및 별센서 장치
US20230297068A1 (en) Information processing device and information processing method
WO2018135326A1 (ja) 画像処理装置、画像処理システム、画像処理プログラム、及び画像処理方法
CN112833815B (zh) 一种基于激光的房屋测量和墙面平整度检测方法
WO2021182793A1 (ko) 단일 체커보드를 이용하는 이종 센서 캘리브레이션 방법 및 장치
WO2022045431A1 (ko) 위치 추정 방법 및 시스템

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22883767

Country of ref document: EP

Kind code of ref document: A1