KR102083911B1 - Method for building map including point cloud using LiDAR - Google Patents

Method for building map including point cloud using LiDAR Download PDF

Info

Publication number
KR102083911B1
KR102083911B1 KR1020190108743A KR20190108743A KR102083911B1 KR 102083911 B1 KR102083911 B1 KR 102083911B1 KR 1020190108743 A KR1020190108743 A KR 1020190108743A KR 20190108743 A KR20190108743 A KR 20190108743A KR 102083911 B1 KR102083911 B1 KR 102083911B1
Authority
KR
South Korea
Prior art keywords
point
point group
trajectory
map
group
Prior art date
Application number
KR1020190108743A
Other languages
Korean (ko)
Other versions
KR20190104304A (en
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
Application filed by 주식회사 모빌테크 filed Critical 주식회사 모빌테크
Priority to KR1020190108743A priority Critical patent/KR102083911B1/en
Publication of KR20190104304A publication Critical patent/KR20190104304A/en
Application granted granted Critical
Publication of KR102083911B1 publication Critical patent/KR102083911B1/en

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • G01S17/8943D imaging with simultaneous measurement of time-of-flight at a 2D array of receiver pixels, e.g. time-of-flight cameras or flash lidar
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/006Theoretical aspects
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B29/00Maps; Plans; Charts; Diagrams, e.g. route diagram
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B29/00Maps; Plans; Charts; Diagrams, e.g. route diagram
    • G09B29/003Maps

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Electromagnetism (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Business, Economics & Management (AREA)
  • Mathematical Physics (AREA)
  • Optical Radar Systems And Details Thereof (AREA)
  • Navigation (AREA)

Abstract

본 발명의 일 실시예에 따른 지도 생성 방법은, 지도 생성 장치가, 제1 지점에서 측정한 제1 점군의 특징과 제2 지점에서 측정한 제2 점군의 특징을 비교하여, 상기 제1 지점으로부터 상기 제2 지점까지의 이동 경로인 궤적(Odometry)을 추정하는 단계, 상기 지도 생성 장치가, 상기 제1 점군과 동일한 좌표계를 갖도록 상기 궤적에 기초하여 상기 제2 점군을 위치 변환 및 회전 변환하는 단계 및 상기 지도 생성 장치가, 상기 제1 점군의 군집화된 객체의 특징과 상기 제2 점군의 군집화된 객체의 특징을 비교하여, 상기 제2 점군을 상기 제1 점군에 누적하여 점군 지도를 생성하는 단계를 포함하며, 상기 궤적(Odometry)을 추정하는 단계는, 상기 제2 점군에 속한 모든 점에 대해서 곡률을 계산하고, 기 설정된 임계치와 비교하여 모서리에 속하는 점과 평면에 속하는 점으로 분류하는 단계 및 상기 제2 점군에 속한 점 중에서 모서리에 속하는 점은 상기 제1 점군의 선에 투영시키고, 상기 제2 점군에 속한 점 중에서 평면에 속하는 점은 상기 제1 점군의 평면에 투영시키며, 상기 점군 지도를 생성하는 단계는, 상기 제2 점군에서 지면에 해당하는 점군은 제거하는 단계를 포함할 수 있다.In a method for generating a map according to an embodiment of the present invention, the map generating apparatus compares a feature of the first point group measured at the first point with a feature of the second point group measured at the second point, and compares the feature from the first point. Estimating a trajectory (Odometry), which is a movement path to the second point, and the map generating device performing position transformation and rotation transformation on the second point group based on the trajectory to have the same coordinate system as the first point group And generating, by the map generating apparatus, a point group map by accumulating the second point group on the first point group by comparing the features of the clustered objects of the first point group with the features of the clustered objects of the second point group. The estimating of the trajectory may include calculating a curvature of all the points belonging to the second point group, and comparing the preset thresholds to the points belonging to the edges and planes. And classifying points into corners among the points belonging to the second point group are projected onto the line of the first point group, and the points belonging to the plane among the points belonging to the second point group to the plane of the first point group. The generating of the point group map may include removing the point group corresponding to the ground from the second point group.

Description

점군을 포함하는 라이다 지도 생성 방법{Method for building map including point cloud using LiDAR}Method for building map including point cloud using LiDAR}

본 발명은 점군을 포함하는 라이다 지도 생성 방법에 관한 것이다. 보다 자세하게는, 라이다를 이용하여 복수의 점군을 중첩한 지도를 생성할 때 중첩의 정확도를 높이는 방법에 관한 것이다.The present invention relates to a method for generating a lidar map including a point group. More specifically, the present invention relates to a method of increasing the accuracy of overlap when generating a map of a plurality of point groups by using a lidar.

라이다(LiDAR, Light Detection and Ranging)는 빛을 활용해 거리를 측정하고 물체를 감지하는 기술이다. 1930년대 기상 관측을 위해 처음 개발되었다가 레이저 기술이 등장한 1960년대 이르러서 본격적으로 활용되기 시작했다. 당시에는 주로 항공분야와 위성에 적용되었으나 이후 영역을 넓히며 지구환경, 탐사, 자동차, 로봇 등에 적용되었다.LiDAR (Light Detection and Ranging) is a technology that uses light to measure distance and detect objects. It was first developed for meteorological observations in the 1930s, and began to be used in the 1960s when laser technology appeared. At the time, it was mainly applied to the aviation sector and satellites, but was later applied to the global environment, exploration, cars, and robots.

라이다는 레이더와 비슷한 원리를 가지고 있다. 레이더는 전자기파를 외부로 발사해 재수신 되는 전자기파로 거리, 방향 등을 확인한다. 반면 라이다는 펄스 레이저를 사용한다는 차이점이 있다. 파장이 짧은 레이저를 사용함으로써 정밀도 및 해상도를 높이고 사물에 따라 입체적인 파악도 가능하다.The rider has a similar principle to radar. The radar launches electromagnetic waves outside and checks the distance and direction with the electromagnetic waves that are re-received. The difference is that Lidar uses a pulsed laser. By using lasers with short wavelengths, accuracy and resolution can be increased and stereoscopic identification can be made depending on objects.

이러한 라이다를 이용하여 3차원 지도를 생성하려는 노력이 있어왔다. 예를 들면 KR 10-1427364 B1 "라이다 장치를 이용한 3D 실내지도 생성용 스캔시스템"(2014.07.31)을 살펴보면 라이다 장치를 이용하여 3D 실내지도를 생성하는 시스템이 개시되어 있다.Efforts have been made to create three-dimensional maps using such lidar. For example, KR 10-1427364 B1 "Scan system for generating a 3D indoor map using a lidar device" (July 31, 2014) discloses a system for generating a 3D indoor map using a lidar device.

그러나 해당 발명은 3대 이상의 와이파이 발신기로부터 수신되는 신호의 세기를 측정하여 라이다 장치의 위치를 파악하기 때문에, 라이다 장치의 위치의 정확도가 떨어지게 된다. 라이다 장치의 위치의 정확도는 곧바로 3D 실내지도의 품질에도 영향을 미치게 된다.However, the present invention measures the strength of signals received from three or more Wi-Fi transmitters to determine the location of the LiDAR device, thereby reducing the accuracy of the position of the LiDAR device. The accuracy of the location of the LiDAR device will immediately affect the quality of the 3D indoor map.

또한 KR 10-2013-0123041 A "라이다 장치를 활용한 실내지도 자동 생성 방법"(2013.11.12)을 살펴보면 GPS(Global Positioning System)를 이용하여 라이다 장치의 위치 정보를 파악하는 구성이 개시되어 있다. 하지만 GPS는 오차범위가 수 미터에서 수십 미터에 달하고 실내에서는 사용이 어렵다는 단점이 있다.In addition, KR 10-2013-0123041 A "A method for automatically generating indoor maps using a lidar device" (2013.11.12) discloses a configuration for identifying the position information of a lidar device using a global positioning system (GPS). have. However, GPS has a range of errors ranging from several meters to several tens of meters and it is difficult to use indoors.

이에 실내/실외 구분 없이 지도를 생성할 수 있고, 생성한 지도의 정확도를 높일 수 있는 지도 생성 방법에 대한 필요성이 점차 커지고 있다.Accordingly, there is an increasing need for a map generation method capable of generating a map without distinguishing between indoors and outdoors and increasing the accuracy of the generated map.

본 발명이 해결하고자 하는 기술적 과제는 라이다를 이용하여 지도를 생성하는 방법 및 그 장치를 제공하는 것이다.The technical problem to be solved by the present invention is to provide a method and apparatus for generating a map using a lidar.

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the following description.

상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 지도 생성 방법은, 지도 생성 장치가, 제1 지점에서 측정한 제1 점군의 특징과 제2 지점에서 측정한 제2 점군의 특징을 비교하여, 상기 제1 지점으로부터 상기 제2 지점까지의 이동 경로인 궤적(Odometry)을 추정하는 단계; 상기 지도 생성 장치가, 상기 제1 점군과 동일한 좌표계를 갖도록 상기 궤적에 기초하여 상기 제2 점군을 위치 변환 및 회전 변환하는 단계; 및 상기 지도 생성 장치가, 상기 제1 점군의 군집화된 객체의 특징과 상기 제2 점군의 군집화된 객체의 특징을 비교하여, 상기 제2 점군을 상기 제1 점군에 누적하여 점군 지도를 생성하는 단계를 포함할 수 있다.In the map generation method according to an embodiment of the present invention for solving the above technical problem, the feature of the first point group measured at the first point and the second point group measured at the second point by the map generation device Estimating a locus (Odometry), which is a movement path from the first point to the second point; Positioning and rotating transforming the second point group based on the trajectory so that the map generating device has the same coordinate system as the first point group; And generating, by the map generating apparatus, a point group map by accumulating the second point group on the first point group by comparing the features of the clustered objects of the first point group with the features of the clustered objects of the second point group. It may include.

바람직하게는, 상기 궤적(Odometry)을 추정하는 단계 이전에, 상기 제2 점군에 대해, 상기 지도 생성 장치의 이동으로 인해 한 측정 주기 내에서 발생할 수 있는 왜곡을 IMU 측정값을 이용하여 보상하는 단계를 더 포함할 수 있다.Preferably, prior to the step of estimating the Odometry, for the second point group, using the IMU measurement to compensate for the distortion that may occur within one measurement period due to the movement of the map generating device It may further include.

바람직하게는, 상기 궤적(Odometry)을 추정하는 단계는, 상기 제2 점군에 속한 모든 점에 대해서 곡률을 계산하고, 기 설정된 임계치와 비교하여 모서리에 속하는 점과 평면에 속하는 점으로 분류하는 단계; 및 상기 제2 점군에 속한 점 중에서 모서리에 속하는 점은 상기 제1 점군의 선에 투영시키고, 상기 제2 점군에 속한 점 중에서 평면에 속하는 점은 상기 제1 점군의 평면에 투영시켜서, 다음의 수학식 9를 생성하는 단계를 포함할 수 있다.Preferably, the step of estimating the trajectory (Odometry), the step of calculating the curvature for all points belonging to the second point group, and classifying the point belonging to the point belonging to the edge and the plane compared to a predetermined threshold value; And a point belonging to an edge among the points belonging to the second point group is projected on the line of the first point group, and a point belonging to a plane among the points belonging to the second point group is projected on the plane of the first point group, Generating equation (9).

[수학식 9][Equation 9]

Figure 112019090600975-pat00001
Figure 112019090600975-pat00001

여기서,

Figure 112019090600975-pat00002
는 상기 궤적의 회전 행렬이고,
Figure 112019090600975-pat00003
는 상기 궤적의 이동 행렬이다.here,
Figure 112019090600975-pat00002
Is the rotation matrix of the trajectory,
Figure 112019090600975-pat00003
Is the moving matrix of the trajectory.

바람직하게는, 상기 궤적(Odometry)을 추정하는 단계는, 최적화 기법을 이용하여 상기 d를 최소화하는

Figure 112019090600975-pat00004
Figure 112019090600975-pat00005
를 유도하는 단계를 더 포함할 수 있다.Preferably, the step of estimating the Odometry, to minimize the d by using an optimization technique
Figure 112019090600975-pat00004
And
Figure 112019090600975-pat00005
It may further include a step of inducing.

바람직하게는, 상기 궤적(Odometry)을 추정하는 단계는, IMU 측정값을 이용하여 상기 제1 지점으로부터 상기 제2 지점까지의 이동 경로인 제2 궤적을 추정하는 단계; 및 상기 궤적과 상기 제2 궤적을 병합하는 단계를 포함할 수 있다.Advantageously, estimating said Odometry comprises: estimating a second trajectory which is a moving path from said first point to said second point using an IMU measurement; And merging the trajectory and the second trajectory.

바람직하게는, 상기 점군 지도를 생성하는 단계는, 상기 제2 점군에서 지면에 해당하는 점군은 제거하는 단계를 포함할 수 있다.Preferably, generating the point group map may include removing a point group corresponding to the ground from the second point group.

바람직하게는, 상기 점군 지도를 생성하는 단계는, 상기 제2 지점으로부터 기 설정된 반경 이내에 해당하는 점은 유클리디안 거리 기반의 클러스터링을 수행하여 군집화 하는 단계를 포함할 수 있다.Preferably, the generating of the point group map may include clustering the points corresponding to within a predetermined radius from the second point by performing Euclidean distance based clustering.

바람직하게는, 상기 점군 지도를 생성하는 단계는, 상기 제1 점군의 군집과 상기 제2 점군의 군집을 매칭한 쌍들에 대해 RANSAC를 적용하여 이상치를 제거하고, 가장 많은 매칭 쌍에 의해 지지되는 변환 행렬을 구하는 단계를 포함할 수 있다.Preferably, the step of generating the point group map, RANSAC is applied to the pairs matching the cluster of the first point group and the cluster of the second point group to remove the outliers, the transform supported by the most matching pairs The method may include obtaining a matrix.

바람직하게는, 상기 변환 행렬을 구하는 단계는, 상기 변환 행렬을 이용하여 상기 제2 점군을 변환하고, 상기 변환된 제2 점군을 상기 제1 점군에 누적하는 단계를 포함할 수 있다.Preferably, the calculating of the transformation matrix may include converting the second point group by using the transformation matrix and accumulating the converted second point group in the first point group.

상기 기술적 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 지도 생성 장치는, 라이다 센서; IMU 센서; 및 제1 점군의 특징과 제2 점군의 특징을 비교하여, 이동 경로인 궤적(Odometry)을 추정하고, 상기 제1 점군과 동일한 좌표계를 갖도록 상기 궤적에 기초하여 상기 제2 점군을 변환하고, 상기 제1 점군의 군집화된 객체의 특징과 상기 제2 점군의 군집화된 객체의 특징을 비교하여, 상기 제2 점군을 상기 제1 점군에 누적하여 점군 지도를 생성하는 제어부를 포함할 수 있다.According to another aspect of the present invention, there is provided a map generating apparatus comprising: a lidar sensor; IMU sensor; And comparing features of the first point group with features of the second point group, estimating a trajectory (Odometry) that is a moving path, converting the second point group based on the trajectory to have the same coordinate system as the first point group, and The controller may include a controller configured to compare the characteristics of the clustered objects of the first point group with the characteristics of the clustered objects of the second point group and accumulate the second point group in the first point group to generate a point group map.

본 발명에 따른 효과는 다음과 같다.Effects according to the present invention are as follows.

본 발명에 따른 지도 생성 방법을 이용하면, 보다 정밀한 3차원 지도를 생성할 수 있다. 이렇게 생성된 지도는 자율 주행이나 로봇 등과 같은 관계 분야에서 활용될 수 있다. 그 외에도 3차원 모델이 없는 자연물을 포함한 다양한 건축물에 대해서도 쉽게 3차원 모델을 얻을 수 있다.Using the map generation method according to the present invention, it is possible to generate a more accurate three-dimensional map. The generated map can be utilized in related fields such as autonomous driving or robot. In addition, 3D models can be easily obtained for various buildings including natural objects without 3D models.

또한 3차원 지도와 관련된 산업은 4차 산업의 하나로서, 공간적인 정보가 필요한 VR, 게임, 건축, 측량, 로봇 등 다양한 산업에서 활용이 가능하다. 특히 정확도가 높은 3차원 점군 지도를 통해 새로운 형태의 산업을 창출하는데 이바지할 수 있다.In addition, the 3D map-related industry is one of the fourth industries, and can be used in various industries such as VR, games, architecture, surveying, and robots that require spatial information. In particular, highly accurate three-dimensional point cloud maps can contribute to the creation of new types of industries.

본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.Effects of the present invention are not limited to the above-mentioned effects, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.

도 1a 내지 도 1b는 라이다를 이용하여 측정을 수행하고 점군을 중첩할 때 위치 정보의 중요성을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 지도 생성 방법을 설명하기 위한 도면이다.
도 3은 한 주기 내에서 라이다가 이동하는 경우에 발생할 수 있는 왜곡을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에서 사용될 수 있는 궤적 추정 과정을 설명하기 위한 의사 코드이다.
도 5a는 본 발명의 일 실시예에서 사용될 수 있는 지면 제거 과정을 설명하기 위한 도면이다.
도 5b는 본 발명의 일 실시예에서 사용될 수 있는 군집화 과정을 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에서 사용될 수 있는 세그먼트 기반 맵핑 과정을 설명하기 위한 의사 코드이다.
도 7a 내지 도 8b는 본 발명의 일 실시예에 따른 지도 생성 방법의 성능을 종래의 방법과 비교 설명하기 위한 도면이다.
도 9a 내지 도 9c는 본 발명의 일 실시예에 따른 지도 생성 장치를 설명하기 위한 도면이다.
도 10a 내지 도 10c는 본 발명의 일 실시예에 따른 지도 생성 방법을 설명하기 위한 순서도이다.
1A to 1B are views for explaining the importance of location information when performing measurements using a lidar and overlapping point groups.
2 is a view for explaining a method for generating a map according to an embodiment of the present invention.
FIG. 3 is a diagram for describing distortion that may occur when a lidar moves within a period.
4 is a pseudo code for explaining a trajectory estimation process that can be used in an embodiment of the present invention.
5A is a view for explaining a ground removing process that can be used in one embodiment of the present invention.
5B is a diagram illustrating a clustering process that can be used in an embodiment of the present invention.
6 is a pseudo code for explaining a segment-based mapping process that can be used in an embodiment of the present invention.
7A to 8B are diagrams for comparing the performance of the map generating method according to an embodiment of the present invention with the conventional method.
9A to 9C are diagrams for describing an apparatus for generating a map, according to an exemplary embodiment.
10A to 10C are flowcharts illustrating a method for generating a map according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.As the invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. In describing the drawings, similar reference numerals are used for similar elements.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Terms such as first, second, A, and B may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component. The term and / or includes a combination of a plurality of related items or any item of a plurality of related items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.When a component is said to be "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that another component may be present in the middle. Should be. On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that there is no other component in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art, and shall not be construed in ideal or excessively formal meanings unless expressly defined in this application. Do not.

이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1a 내지 도 1b는 라이다를 이용하여 측정을 수행하고 점군을 중첩할 때 위치 정보의 중요성을 설명하기 위한 도면이다.1A to 1B are views for explaining the importance of location information when performing measurements using a lidar and overlapping point groups.

이해의 편의를 돕기 위해 2차원 평면에서 라이다가 반시계 방향으로 360도 회전하면서 펄스 레이저를 외부로 발사하여 주변의 정보를 수집한다고 가정한다. 이러한 측정 과정을 통해 라이다는 현재 자신의 위치를 기준으로 주변의 물체에 대한 정보를 얻을 수 있다. 즉 반사된 펄스 레이저를 이용하여 자신의 위치에서 어느 방향으로 어느 거리에 물체가 있다는 것을 파악할 수 있다.For ease of understanding, it is assumed that a lidar is rotated 360 degrees counterclockwise in a two-dimensional plane to collect information by surrounding the pulse laser. Through this measurement process, the rider can obtain information about nearby objects based on their current position. That is, the reflected pulse laser can be used to determine that there is an object at any distance in any direction from its position.

도 1a를 참고하면 제1 지점(110)에서 측정을 수행하여 제1 점군(210)을 얻고, 다시 이동해서 제2 지점(120)에서 측정을 수행하여 제2 점군(220)을 얻고, 다시 이동해서 제3 지점(130)에서 측정을 수행하여 제3 점군(230)을 얻는 것을 볼 수 있다.Referring to FIG. 1A, the measurement is performed at the first point 110 to obtain the first point group 210, and then moved again to obtain the second point group 220 by performing the measurement at the second point 120. It can be seen that the third point group 230 is obtained by performing the measurement at the third point 130.

이렇게 각각의 위치에서 측정한 복수의 점군을 누적해서 병합하면 점군으로 구성된 3차원 지도를 얻을 수 있다. 다만, 제1 점군(210)은 제1 지점(110)을 기준으로 한 상대 좌표만 있을 뿐이고, 제2 점군(220)은 제2 지점(120)을 기준으로 한 상대 좌표만 있을 뿐이고, 제3 점군(230)은 제3 지점(130)을 기준으로 한 상대 좌표만 있을 뿐이어서 이를 병합하기 위해서는 제2 점군(220)과 제3 점군(230)을 제1 점군(210)과 동일한 좌표계로 변환시킬 필요가 있다.By accumulating and merging a plurality of point groups measured at each location, a three-dimensional map composed of point groups can be obtained. However, the first point group 210 only has relative coordinates based on the first point 110, and the second point group 220 only has relative coordinates based on the second point 120. Since the point group 230 has only relative coordinates based on the third point 130, in order to merge them, the point group 230 converts the second point group 220 and the third point group 230 into the same coordinate system as the first point group 210. I need to.

이를 위해서는 제2 지점(120)과 제3 지점(130)이 제1 지점(110)을 원점으로 하는 좌표계에서 어느 위치에 있는지를 정확히 알 필요가 있다. 즉, 제1 지점(110)과 제2 지점(120) 및 제3 지점(130)으로 이어지는 라이다의 이동 경로 내지 궤적(Odometry)를 정확히 측정할 필요가 있다.To this end, it is necessary to know exactly where the second point 120 and the third point 130 are located in the coordinate system using the first point 110 as the origin. That is, it is necessary to accurately measure the movement path or trajectory of the lidar leading to the first point 110, the second point 120, and the third point 130.

다만, 종래에는 궤적의 오차로 인해 발생하는 문제점 때문에 정확도를 높이기 위해서 도 1a와 같이 라이다를 지정한 장소에 설치한 후, 일정한 시간 동안 정지된 상태에서 측정을 수행하고 이동하는 방식으로 지도를 생성하였다. 도 1a를 참고하면 제1 지점(110)에서 일정한 시간 동안 측정을 수행한 후, 다시 제2 지점(120)으로 이동해서 측정을 수행하고, 다시 제 3지점(130)을 이동해서 측정을 수행하는 과정을 볼 수 있다.However, in the related art, in order to increase the accuracy due to the problem caused by the error of the trajectory, in order to increase the accuracy, the lidar is installed in a designated place as shown in FIG. 1A, and then the map is generated by measuring and moving in a stationary state for a certain time. . Referring to FIG. 1A, after the measurement is performed for a predetermined time at the first point 110, the measurement is performed by moving to the second point 120 again, and the measurement is performed by moving the third point 130 again. You can see the process.

하지만 이와 같은 지도 작성 방법은 궤적의 오차는 줄일 수 있지만 지도 작성에 소요되는 시간이 많다는 단점이 있다. 이를 해결하기 위해서는 라이다가 이동하면서 측정을 수행하되, 라이다의 위치 정보를 이용하여 이동으로 인해 발생할 수 있는 오차를 최소화 하는 과정이 필요하다.However, such a mapping method can reduce the error of the trajectory, but has a disadvantage in that it takes a lot of time to prepare the map. In order to solve this problem, it is necessary to measure the movement of the lidar while minimizing the errors caused by the movement by using the position information of the lidar.

도 1b를 참고하면 제1 지점(110)에서 제2 지점(120)으로 이동하면서 동시에 측정을 수행하고, 다시 제2 지점(120)에서 제3 지점(130)으로 이동하면서 동시에 측정을 수행하는 과정을 볼 수 있다. 이와 같이 이동하면서 측정을 수행하면 데이터를 수집하는 시간은 단축시킬 수 있지만, 앞서 설명한 것처럼 궤적의 오차로 인해 발생할 수 있는 오차가 도 1a의 경우보다 더 크게 증폭되므로 이를 최소화 하기 위한 과정이 필요하다.Referring to FIG. 1B, a process of simultaneously performing a measurement while moving from the first point 110 to the second point 120 and performing a measurement simultaneously while moving from the second point 120 to the third point 130 again. Can be seen. Although measuring the data while moving in this way can reduce the time to collect the data, as described above, the error that can be caused by the error of the trajectory is amplified more than in the case of FIG.

이러한 오차는 이동 중인 라이다의 위치 정보를 이용하여 최소화 할 수 있다. 즉 출발 지점인 제1 지점(110)을 원점으로 두고 제1 지점(110)으로부터 제2 지점(120)의 상대적인 위치 정보, 제1 지점(110)으로부터 제3 지점(130)의 상대적인 위치 정보를 고려하여 이동으로 인한 오차를 상쇄시키고 지도의 정확도를 높일 수 있다.This error can be minimized by using the position information of the moving lidar. That is, the relative position information of the second point 120 from the first point 110 and the relative position information of the third point 130 from the first point 110 are set as the starting point of the first point 110. Considering this, it is possible to offset the error caused by the movement and increase the accuracy of the map.

정리하면, 복수개의 점군을 병합하기 위해서는 라이다의 궤적을 필수적으로 알아야 한다. 다만 라이다의 궤적을 알기 위해서는 라이다의 위치 정보가 필요한데, 위치 정보의 오차는 점군 지도의 정확도에 영향을 미치게 된다. 이러한 영향을 최소화 하기 위해 도 1a와 같이 정지된 상태에서 측정을 수행하고, 다시 이동한 후 정지된 상태에서 측정을 수행하는 방식을 이용할 수도 있지만 이는 지도 작성의 효율성 측면에서 바람직하지 않다.In summary, in order to merge a plurality of point groups, the trajectory of Lidar is essential. However, in order to know the trajectory of the lidar, the position information of the lidar is needed, and the error of the position information affects the accuracy of the point group map. In order to minimize this effect, a method of performing a measurement in a stationary state as shown in FIG. 1A, a measurement in a stationary state after moving again, or the like may be used, but this is not preferable in terms of mapping efficiency.

그래서 도 1b와 같이 이동하면서 측정을 수행할 수 있으나, 이 경우에는 이동하면서 측정을 수행하므로 궤적에 오차가 발생하면 도 1a의 경우에 비해 점군 지도의 정확도에는 더 큰 영향을 미치게 된다. 그러므로 도 1b의 방법으로 지도를 작성할 때에는 라이다의 정확한 궤적을 파악하는 것이 점군 지도 작성에 있어서 무엇보다 중요하다.Therefore, the measurement can be performed while moving as shown in FIG. 1B. However, in this case, the measurement is performed while moving, so that an error in the trajectory has a greater effect on the accuracy of the point group map than in the case of FIG. 1A. Therefore, when preparing a map by the method of FIG. 1B, it is important to understand the exact trajectory of the lidar in the point cloud mapping.

이처럼 라이다의 정확한 궤적, 즉 라이다의 정확한 위치 정보가 무엇보다도 중요하다. 하지만, 앞서 살펴본 것처럼 종래에는 3개 이상의 와이파이 발신기로부터 수신되는 신호의 세기를 이용하여 삼각 측량을 통해 위치를 파악하거나 GPS를 이용하여 위치를 파악하는 방법을 이용하였다.As such, the exact trajectory of the lidar, that is, the exact position information of the lidar, is of utmost importance. However, as described above, in the related art, a method of determining a location through triangulation or using GPS using a strength of signals received from three or more Wi-Fi transmitters has been used.

와이파이 발신기를 이용한 방법은 오차가 크고 층간 구분이 어렵다는 단점이 있다. 또한 GPS를 이용한 방법도 오차가 크고 실내에서는 활용이 어렵다는 단점이 있다. 이러한 문제를 해결하기 위해서 본 발명에서는 IMU(Inertial Measurement Unit)를 이용하는 방법을 제안한다.The method using a Wi-Fi transmitter has a disadvantage that it is difficult to distinguish between layers. In addition, the method using GPS also has a large error and is difficult to use indoors. In order to solve this problem, the present invention proposes a method using an Inertial Measurement Unit (IMU).

IMU를 이용하면 라이다의 위치와 자세를 알 수 있다. 예를 들면 IMU는 3축의 자이로 센서와 3방향의 가속도 센서를 포함할 수 있다. 이를 통해 라이다의 각속도 및 가속도를 검출하고 이에 기초하여 라이다의 위치와 자세를 판단할 수 있다. 이하 위치와 자세를 모두 포함하는 정보를 위치 정보라 한다. 자세는 다른 말로 회전을 의미한다.The IMU can be used to determine the position and posture of the Lidar. For example, the IMU may include a three-axis gyro sensor and a three-way acceleration sensor. Through this, the angular velocity and acceleration of the lidar can be detected and the position and posture of the lidar can be determined based on this. Hereinafter, information including both position and posture is referred to as position information. Posture, in other words, means rotation.

본 발명에서는 IMU를 이용하여 위치 정보의 정확도를 높임으로써, 최종적으로는 지도의 정확도를 높이는 지도 생성 방법을 제안한다. 이를 통해서 실시간으로 주변 환경 구조를 3차원 점군 지도로 생성할 수 있다. 이에 대해서는 다음의 도 2에서 보다 자세히 설명하기로 한다.The present invention proposes a map generation method which finally increases the accuracy of the map by increasing the accuracy of the location information using the IMU. Through this, the surrounding environment structure can be generated as a 3D point cloud map in real time. This will be described in more detail with reference to FIG. 2.

도 2는 본 발명의 일 실시예에 따른 지도 생성 방법을 설명하기 위한 도면이다.2 is a view for explaining a method for generating a map according to an embodiment of the present invention.

도 2를 참고하면 본 발명은 크게 2단계로 구성이 된다. 하나는 궤적 추정(Odometry Estimation) 단계이고 다른 하나는 세그먼트 기반 맵핑(Segment based mapping) 단계이다. 궤적 추정 단계와 세그먼트 기반 맵핑 단계를 통해서 점군 데이터의 왜곡을 보상하고 지도의 정확도를 높일 수 있다.Referring to Figure 2 the present invention is largely composed of two steps. One is the Odometry Estimation step and the other is the Segment based mapping step. Through the trajectory estimation step and the segment-based mapping step, the distortion of the point cloud data can be compensated and the accuracy of the map can be improved.

여기서, 궤적 추정 단계와 관련해서 용어를 살펴보면

Figure 112019090600975-pat00006
는 k 시점에 측정된 점군을 의미하고,
Figure 112019090600975-pat00007
는 한 주기 내에서 왜곡 보정을 거친 k 시점의 점군을 의미한다.
Figure 112019090600975-pat00008
은 k 시간에 구한 특징(선과 면)을 나타낸다.
Figure 112019090600975-pat00009
은 라이다로부터 추정된 궤적이고,
Figure 112019090600975-pat00010
은 IMU로부터 추정된 궤적이며
Figure 112019090600975-pat00011
는 융합된 궤적이다.Here, looking at terms related to the trajectory estimation step
Figure 112019090600975-pat00006
Means a point group measured at time k,
Figure 112019090600975-pat00007
Denotes a point group at point k after distortion correction within one period.
Figure 112019090600975-pat00008
Denotes the characteristics (line and face) obtained at k time.
Figure 112019090600975-pat00009
Is the trajectory estimated from Lidar,
Figure 112019090600975-pat00010
Is the estimated trajectory from the IMU
Figure 112019090600975-pat00011
Is the converged trajectory.

도 2를 참고하여 궤적 추정 단계를 살펴보면, 라이다가 측정한 제k 샘플의 한 주기 내의 점군에 대해 왜곡 보정을 수행하고(Distortion Compensation), 왜곡이 보정된 점군에서 특징을 추출한 후(Feature Extraction), 이를 이전 프레임의 특징과 비교하여(Feature Matching), 궤적을 추정한다(Odometry Estimation). 그 후 IMU를 이용하여 측정한 정보와 융합하여(Data Fusion), 추정한 궤적을 보정하고 점군 변환을 수행한다(Point Cloud Transformation).Referring to FIG. 2, when the trajectory estimation step is performed, distortion correction is performed on a point group within a period of a k-th sample measured by Lidar (Distortion Compensation), and a feature is extracted from a point group in which distortion is corrected (Feature Extraction). This is compared with the feature of the previous frame (Feature Matching), and the trajectory is estimated (Odometry Estimation). After that, the data is fused with information measured using the IMU (Data Fusion) to correct the estimated trajectory and perform point cloud transformation (Point Cloud Transformation).

도 2의 왜곡 보정(Distortion compensation) 단계를 보다 자세히 살펴보기 위해서 도 3을 살펴보자. 도 3은 한 주기 내에서 라이다가 이동하는 경우에 발생할 수 있는 왜곡을 설명하기 위한 도면이다.To examine the distortion compensation step of FIG. 2 in more detail, see FIG. 3. FIG. 3 is a diagram for describing distortion that may occur when a lidar moves within a period.

도 3을 참고하면 좌측에는 정지 상태의 점군(211)이 도시되어 있고, 우측에는 이동 상태의 점군(212)이 도시되어 있다. 도 3에서 볼 수 있듯이 라이다를 정지시켜놓고 측정을 하면 한 주기 내에서 시작점(Start)과 끝점(End)가 동일하게 되어 왜곡이 발생하지 않는다. 하지만, 라이다가 이동하면서 측정을 하면 라이다가 이동한만큼 한 주기 내에서도 시작점과 끝점이 차이가 발생하게 된다.Referring to FIG. 3, a point group 211 in a stationary state is shown on the left side, and a point group 212 in a moving state is shown on the right side. As shown in FIG. 3, when the measurement is performed while the lidar is stopped, the start point and the end point are the same within one period so that distortion does not occur. However, if you measure the movement of the lidar, the difference between the starting point and the end point occurs within one period of the movement of the lidar.

즉, 도 1a 내지 도 1b와 같이 복수개의 점군을 병합(=중첩)하기 위해서 라이다의 이동 경로인 궤적이 필요할 뿐 아니라, 한 주기 내에서도 도 3과 같이 왜곡이 발생할 수 있기 때문에 라이다의 이동 경로인 제1-1 지점(111)에서 제1-2 지점(112)까지의 이동 경로가 필요하다.That is, the trajectory, which is a movement path of the lidar, is not only required to merge (= overlap) a plurality of point groups as shown in FIGS. 1A to 1B, but also a distortion may occur as shown in FIG. 3 within one period. The movement path from the first-first point 111 to the first-second point 112 is required.

다시 말하면, 도 3의 좌측의 경우에는 시작점(start)과 끝점(end)이 모두 동일한 원점인 제1 지점(110)을 기준으로 한 좌표계를 사용하므로 왜곡이 없으나, 도 3의 우측의 경우에는 시작점(start)은 제1-1 지점(111)을 원점으로 하는 좌표계이나 끝점(end)는 제1-2 지점(112)을 원점으로 하는 좌표계이기 때문에 한 주기 내에서도 왜곡이 발생하게 된다.In other words, in the case of the left side of FIG. 3, since the start point and the end point use the coordinate system based on the first point 110 which is the same origin, there is no distortion, but in the case of the right side of FIG. 3, the start point Since (start) is a coordinate system using the first-first point 111 as the origin and an end point is the coordinate system using the first-second point 112 as the origin, distortion occurs within one period.

이렇게 한 주기 내에서도 라이다의 이동으로 인해 발생할 수 있는 왜곡을 보상하기 위해서, 우선 IMU로 측정한 값을 이용하여 측정된 점군들을 기준 좌표계로 변환한다. 여기서 기준 좌표계는 라이다가 측정을 시작한 지점의 위치 및 자세를 원점으로 하는 좌표계이다. 도 3의 우측의 예에서는 제1-1 지점(111)을 원점으로 하는 좌표계이다. 이를 위해서 라이다 센서와 IMU 센서가 결합된 측정 장치를 이용하여 지도를 생성한다.In order to compensate for the distortion caused by the movement of the lidar within this period, the measured point groups are first converted into the reference coordinate system using the value measured by the IMU. Here, the reference coordinate system is a coordinate system whose origin is the position and posture of the point where the lidar starts the measurement. In the example of the right side of FIG. 3, it is a coordinate system which makes the 1st-1st point 111 the origin. To do this, maps are generated using a measuring device that combines Lidar sensors with IMU sensors.

그 다음에는 측정 장치의 자세, 가속도, 각속도를 측정하여 각 점들의 측정 시점에 따른 정확한 점의 위치를 구한다. 즉 시작점(start)부터 끝점(end) 사이의 모든 점에 대해서 정확한 점의 위치를 구한다. 이해의 편의를 돕기 위해 측정 장치가 등가속도 운동을 하는 것으로 가정하면, IMU에서 중력 가속도 성분을 제거한 후, 위치 및 자세를 추정하면 다음의 수학식 1, 2에 따라서 제1-1 지점(111)과 제1-2 지점(112) 사이에서 각 축의 이동 거리와 속도를 계산할 수 있다.Next, the position, acceleration, and angular velocity of the measuring device are measured to determine the exact position of the point according to the measurement point of each point. In other words, the exact position of the point is obtained for every point between the start point and the end point. Assuming that the measuring device performs the equivalent acceleration motion for the convenience of understanding, after removing the gravity acceleration component from the IMU, and estimating the position and attitude, the first-first point 111 according to the following equations 1 and 2 It is possible to calculate the moving distance and the speed of each axis between the first and second points 112.

[수학식 1][Equation 1]

Figure 112019090600975-pat00012
Figure 112019090600975-pat00012

[수학식 2][Equation 2]

Figure 112019090600975-pat00013
Figure 112019090600975-pat00013

수학식 1에서는 가속도 a, 속도 v, 위치 s가 3차원으로 정의되어 있고, 수학식 2에서는 속도 v와 가속도 a 사이의 관계, 위치 s와 속도 v 사이의 관계가 정의되어 있다. 수학식 2를 참고하면, 속도 v는 k-1 시점의 속도에 시간 변화량과 가속도를 곱한 값을 더해서 구할 수 있다. 또한 위치 s는 속도 v와 가속도 a 사이의 상관 관계에 의해 구할 수 있다.In Equation 1, the acceleration a, the speed v, and the position s are defined in three dimensions, and in Equation 2, the relationship between the speed v and the acceleration a and the relationship between the position s and the speed v are defined. Referring to Equation 2, the speed v may be obtained by adding a value obtained by multiplying the speed change and the acceleration by the speed at the time k-1. In addition, the position s can be obtained by the correlation between the velocity v and the acceleration a.

IMU 센서는 3축 방향의 가속도 값을 제공하므로 이를 적분하면 속도를 얻을 수 있고 이를 다시 적분하면 도 3에서 제1-1 지점(111)과 제1-2 지점(112) 사이의 이동 경로를 알 수 있다. 이를 통해 제1-2 지점(112)을 원점으로 하는 끝점을 제1-1 지점(111)을 원점으로 하는 좌표계로 변환할 수 있다.Since the IMU sensor provides acceleration values in the three-axis direction, it is possible to obtain a velocity by integrating this, and knowing the moving path between the first-first point 111 and the first-second point 112 in FIG. Can be. Through this, the end point of which the first-second point 112 is the origin may be converted into a coordinate system of which the first-first point 111 is the origin.

여기서, 라이다는 일정한 주기를 가지고 회전하여 데이터를 측정하기 때문에 측정 데이터의 정확한 위치를 보정하기 위해서는 측정되는 각 점들의 측정 시점을 정확하게 알아야 한다. 측정 장치가 이동하는 경우에는 불규칙한 움직임에서 기인하는 다양한 방향의 가속도, 각가속도가 라이다 측정 주기의 균일성에 영향을 미치게 된다.Here, since the rider rotates at regular intervals to measure the data, in order to correct the accurate position of the measurement data, the measurement point of each point to be measured must be accurately known. When the measuring device moves, the acceleration and angular acceleration in various directions due to the irregular movement affect the uniformity of the lidar measurement cycle.

1회의 회전으로 측정된 데이터에서 제일 첫번째로 측정된 점은 t초에서 얻어졌고, 마지막으로 얻은 데이터는 t+0.1초에서 얻어졌다고 가정해보자. 즉 0.1초 동안 1회의 측정이 이루어지므로 1초 동안에는 10회의 측정이 가능하다. 이 경우 측정 장치의 라이다 센서의 측정 주기는 10Hz가 된다.Suppose that the first measured point in the data measured in one revolution was obtained at t seconds, and the last data obtained at t + 0.1 seconds. That is, since one measurement is made for 0.1 second, ten measurements are possible for one second. In this case, the measuring period of the lidar sensor of the measuring device is 10 Hz.

움직임 왜곡 보상 알고리즘은 라이다가 1 회전시 측정된 각 점의 측정 시점의 위치 정보를 알아야 한다. 앞선 예에서는 0.1 초 동안 라이다가 1 회전을 하게 된다. 이때 1 회전시 측정된 각 점의 측정 시점을

Figure 112019090600975-pat00014
라 하고, IMU 센서의 측정 시간을
Figure 112019090600975-pat00015
~
Figure 112019090600975-pat00016
라 가정하자. 만약
Figure 112019090600975-pat00017
의 시간 값이
Figure 112019090600975-pat00018
보다 클 경우 측정되는 점군 데이터는 순차적으로 나열될 수 있다.The motion distortion compensation algorithm needs to know the position information of the measurement point of each point measured in one rotation of the lidar. In the previous example, the lidar makes one revolution for 0.1 seconds. At this time, measure the time of each point
Figure 112019090600975-pat00014
And the measurement time of the IMU sensor
Figure 112019090600975-pat00015
To
Figure 112019090600975-pat00016
Suppose if
Figure 112019090600975-pat00017
Time value of
Figure 112019090600975-pat00018
If larger, the point cloud data measured may be listed sequentially.

그러나 그렇지 않은 경우에는, 즉

Figure 112019090600975-pat00019
의 시간 값이
Figure 112019090600975-pat00020
보다 작을 경우에는 다음의 수학식 3을 통해서 각 시점 k에 대한 비율을 구해서 사용할 수 있다. 즉 비율값을 이용하여 수학식 5에 의한 속도
Figure 112019090600975-pat00021
와 위치
Figure 112019090600975-pat00022
에 따라 연속적인 점군의 범위는 재조정되어 나열될 수 있다.But if not, that is
Figure 112019090600975-pat00019
Time value of
Figure 112019090600975-pat00020
If smaller, the ratio for each time point k may be obtained from Equation 3 below. That is, the speed by the equation (5) using the ratio value
Figure 112019090600975-pat00021
And position
Figure 112019090600975-pat00022
Depending on the range of successive point groups can be rearranged and listed.

[수학식 3][Equation 3]

Figure 112019090600975-pat00023
Figure 112019090600975-pat00023

[수학식 4][Equation 4]

Figure 112019090600975-pat00024
Figure 112019090600975-pat00024

[수학식 5][Equation 5]

Figure 112019090600975-pat00025
Figure 112019090600975-pat00025

이하에서는 궤적 추정 단계를 살펴본다. 측정 장치가 측정한 점군을 IMU 센서의 측정값을 이용하여 이동에 의한 왜곡을 보정한 후에 궤도를 추정하는 과정을 살펴보면 다음과 같다. i 번째 샘플의 보상된 점군

Figure 112019118049344-pat00026
와 i+1 번째 샘플의 보상된 점군
Figure 112019118049344-pat00027
사이의 궤적을 추정한다. 이를 위해서 각 시점의 특징점을 추출하여 궤적(odometry)을 계산한다.Hereinafter, the trajectory estimation step will be described. The process of estimating the trajectory after correcting the distortion caused by the movement of the point group measured by the measuring device using the measured value of the IMU sensor is as follows. compensated point group of the i th sample
Figure 112019118049344-pat00026
And compensated point groups of the i + 1 th sample
Figure 112019118049344-pat00027
Estimate the trajectory between. To do this, the feature point of each viewpoint is extracted and the odometry is calculated.

보다 구체적으로는 곡률(curvature) 기반의 특징점을 이용한다. 먼저,

Figure 112019090600975-pat00028
에 속하는 모든 점들에 대하여, 곡률 값을 계산한다. 곡률 값은 인접 7개 점간의 상대적인 거리에 기반하여 계산되며 선택된 점 왼쪽의 3개의 점과 오른쪽의 점 3개를 이용하여 계산할 수 있다.More specifically, curvature-based feature points are used. first,
Figure 112019090600975-pat00028
Calculate the curvature value for all points belonging to. The curvature value is calculated based on the relative distance between the seven adjacent points and can be calculated using three points on the left and three points on the right.

해당 점과 인접점들 사이의 평균 거리를 통해서 곡률을 판정하며, 곡률 값이 특정 임계치(threshold) 보다 높을 때에는 모서리로 판단하고, 이보다 낮을 때는 평면으로 판단한다. 그 후, 모서리로 판단됨 점들은

Figure 112019090600975-pat00029
, 평면으로 판단된 점은
Figure 112019090600975-pat00030
집합으로 분류한다.The curvature is determined by the average distance between the corresponding point and the adjacent points. When the curvature value is higher than a specific threshold, the curvature is determined as an edge, and when it is lower than that, it is determined as a plane. After that, the points that are judged as corners
Figure 112019090600975-pat00029
, The point determined to be flat
Figure 112019090600975-pat00030
Classify as a set.

곡률에 따라 점을 모서리와 평면으로 분류하였으면, 이전 샘플에서 분류된 점들과의 매칭을 통해서 두 샘플 측정 시점의 측정 장치의 6 자유도(DOF, Six degrees of freedom)의 자세 변화를 추정한다. 자세 변화는 강체 변환(rigid body transform)이라고 가정하며, 이를 통하여 i번째 스캔 시점의 측정 장치의 자세

Figure 112019090600975-pat00031
와 i-1 번 째 스캔 시점의 측정 장치의 자세
Figure 112019090600975-pat00032
간의 관계를 다음의 수학식 6과 같이 변환 행렬 간의 곱으로 표현할 수 있다.When the points are classified into corners and planes according to the curvature, posture changes of six degrees of freedom (DOF) of the measuring device at the time of measuring two samples are estimated by matching the points classified in the previous sample. The posture change is assumed to be a rigid body transform, and thus the posture of the measuring device at the i th scan point is assumed.
Figure 112019090600975-pat00031
And the posture of the measuring device at the time of i-1th scan
Figure 112019090600975-pat00032
Can be expressed as a product between transformation matrices, as shown in Equation 6 below.

[수학식 6][Equation 6]

Figure 112019090600975-pat00033
Figure 112019090600975-pat00033

모서리로 판단된 점들의 집합

Figure 112019090600975-pat00034
에 속하는 점
Figure 112019090600975-pat00035
에 대하여
Figure 112019090600975-pat00036
집합에 속하는 점들 중 가장 가까운 2점을 선택하고 이 두 점을 연결하는 직선을 구성하고, 점
Figure 112019090600975-pat00037
를 그 직선 위에 투영한다.
Figure 112019090600975-pat00038
를 직선 위에 투영된 점이라고 가정하고, i-1번째 측정과 i번째 측정 사이에 발생한 움직임의 회전을
Figure 112019090600975-pat00039
로, 이동을
Figure 112019090600975-pat00040
이라 할 때 다음의 수학식 7의 관계를 만족한다.Set of points judged as corners
Figure 112019090600975-pat00034
Points belonging to
Figure 112019090600975-pat00035
about
Figure 112019090600975-pat00036
Select the two nearest points among the points in the set, construct a straight line connecting these two points, and
Figure 112019090600975-pat00037
Project onto the straight line.
Figure 112019090600975-pat00038
Is a point projected on a straight line, and the rotation of the motion that occurs between the i-1th and ith measurements
Figure 112019090600975-pat00039
Go to
Figure 112019090600975-pat00040
This satisfies the relationship of Equation 7 below.

[수학식 7][Equation 7]

Figure 112019090600975-pat00041
Figure 112019090600975-pat00041

또한 수학식 7은 다음의 수학식 8과 같이 비선형 방정식으로 정리가 가능하다.In addition, Equation 7 may be arranged as a non-linear equation as shown in Equation 8 below.

[수학식 8][Equation 8]

Figure 112019090600975-pat00042
Figure 112019090600975-pat00042

모서리로 판단된 점들의 집합

Figure 112019090600975-pat00043
에 속하는 모든 점에 대해서 수학식 8과 같은 형태로 정리가 가능하다. 마찬가지로 평면으로 판단된 점들의 집합
Figure 112019090600975-pat00044
에 속하는 점은 3점을 추출하여 평면을 구축하고, 이 평면에 투영되는 점을 이용하여 수학식 8을 유도할 수 있다. 이렇게 유도된 식을 행마다 쌓아 행렬로 표현된 비선형 방정식을 만들 수 있다. 이는 다음의 수학식 9와 같다.Set of points judged as corners
Figure 112019090600975-pat00043
All points belonging to can be arranged in the form as shown in Equation (8). Similarly, a set of points judged to be flat
Figure 112019090600975-pat00044
The points belonging to may be constructed by extracting three points and constructing a plane, and the equation (8) may be derived using the point projected on the plane. The derived equations can be stacked row by row to create nonlinear equations expressed as matrices. This is shown in Equation 9 below.

[수학식 9][Equation 9]

Figure 112019090600975-pat00045
Figure 112019090600975-pat00045

수학식 9를 풀기 위해서 최적화 기법을 적용할 수 있다. 즉

Figure 112019090600975-pat00046
를 최소화하는
Figure 112019090600975-pat00047
,
Figure 112019090600975-pat00048
를 유도할 수 있다. 최적화 기법은 Gradient Descent, Gauss-Newton 등 다양한 방법을 사용할 수 있다. 다만, 본 발명에서는 이해의 편의를 돕기 위해 Levenberg-Marquardt (이하 LM) 기법을 기준으로 설명을 계속하기로 한다.In order to solve Equation 9, an optimization technique can be applied. In other words
Figure 112019090600975-pat00046
To minimize
Figure 112019090600975-pat00047
,
Figure 112019090600975-pat00048
Can be derived. The optimization technique can use various methods such as Gradient Descent and Gauss-Newton. However, in the present invention, the description will be continued based on the Levenberg-Marquardt (LM) technique for convenience of understanding.

이를 통해 점군

Figure 112019090600975-pat00049
와 점군
Figure 112019090600975-pat00050
사이의 측정 장치의 이동량을 계산할 수 있다. 이러한 과정을 모든 시점에 대해서 반복하면 측정 장치가 측정을 시작한 시점부터 종료한 시점 사이의 라이다 장치의 이동 궤적을 추정할 수 있다. 즉 도 1b에서 제1 지점(110), 제2 지점(120) 및 제3 지점(130)으로 이루어지는 궤적을 추정할 수 있다. 이러한 과정은 도 2에서 설명한 특징점 비교를 기반으로 한 궤적 추정 과정이다. 이를 의사 코드로 정리하면 도 4와 같다.This allows the point cloud
Figure 112019090600975-pat00049
And point group
Figure 112019090600975-pat00050
The amount of movement of the measuring device between can be calculated. If this process is repeated for all time points, the movement trajectory of the lidar device can be estimated between the time point at which the measurement device starts the measurement and the time point at which the measurement device ends. That is, in FIG. 1B, a trajectory consisting of the first point 110, the second point 120, and the third point 130 may be estimated. This process is a trajectory estimation process based on the feature point comparison described in FIG. This is summarized in FIG. 4 as pseudo code.

도 4는 본 발명의 일 실시예에서 사용될 수 있는 궤적 추정 과정을 설명하기 위한 의사 코드이다.4 is a pseudo code for explaining a trajectory estimation process that can be used in an embodiment of the present invention.

도 4을 참고하면 i 번째 샘플의 보상된 점군

Figure 112019090600975-pat00051
와 i-1 번째 샘플의 보상된 점군
Figure 112019090600975-pat00052
및 i-1 번째 샘플의 측정 장치의 자세
Figure 112019090600975-pat00053
를 이용하여 i 번째 샘플의 측정 장치의 자세
Figure 112019090600975-pat00054
를 구할 수 있다. 이를 위해서
Figure 112019090600975-pat00055
의 모든 점에 대해서 곡률을 기반으로 모서리와 평면으로 점을 분류한다.Referring to FIG. 4, the compensated point group of the i th sample
Figure 112019090600975-pat00051
And compensated point group of the i-1 th sample
Figure 112019090600975-pat00052
And the posture of the measuring device of the i-1th sample
Figure 112019090600975-pat00053
Position of the measuring device of the i th sample using
Figure 112019090600975-pat00054
Can be obtained. for this
Figure 112019090600975-pat00055
Classify the points into corners and planes based on curvature for all points in.

다음으로, 특정 점이 모서리로 분류된 경우에는 i-1 번째 샘플에서 해당 특정 점과 가장 가까운 두 개의 점을 선택하여 선택된 두 개의 점으로 이루어지는 선에 해당 특정 점을 투영하여 수학식 8을 생성하고, 특정 점이 평면으로 분류된 경우에는 i-1 번째 샘플에서 해당 특정 점과 가장 가까운 세 개의 점을 선택하여 선택된 세 개의 점으로 이루어지는 평면에 해당 특정 점을 투영하여 수학식 8을 생성한다.Next, when a specific point is classified as an edge, Equation 8 is generated by selecting two points closest to the specific point in the i-1th sample and projecting the specific point on a line composed of two selected points. When a specific point is classified as a plane, Equation 8 is generated by selecting three points closest to the specific point in the i-1 th sample and projecting the specific point on a plane composed of the selected three points.

모든 점에 대해서 유도된 수학식 8을 행렬로 표시하면 수학식 9를 얻을 수 있고 최적화 기법을 적용하여

Figure 112019090600975-pat00056
Figure 112019090600975-pat00057
사이의 측정 장치의 움직임을 회전
Figure 112019090600975-pat00058
와 이동
Figure 112019090600975-pat00059
로 표현할 수 있다. 이처럼 특징점을 기반으로 구한 측정 장치의 움직임을 궤적(Odometry)으로 사용하면 도 1b에서 설명한 것처럼 측정 장치가 이동하면서 측정한 복수개의 점군을 중첩하여 3차원 점군 지도를 생성할 수 있다.Equation 8 derived for all points can be expressed as a matrix, and equation 9 can be obtained.
Figure 112019090600975-pat00056
Wow
Figure 112019090600975-pat00057
Rotate the movement of the measuring device between
Figure 112019090600975-pat00058
Go with
Figure 112019090600975-pat00059
Can be expressed as When the movement of the measuring device obtained based on the feature point is used as an Odometry, a three-dimensional point group map may be generated by overlapping a plurality of measured point groups as the measuring device moves as described in FIG. 1B.

물론 앞서 도 3에서 설명한 것과 같이 한 주기 내에서 매우 짧은 시간에 측정 장치의 이동으로 인해 발생할 수 있는 왜곡을 해결하기 위해, IMU가 측정한 값을 이용하여 제1-1 지점(111)에서 제1-2 지점(112) 사이의 이동 경로를 구하는 것을 설명하였다.Of course, in order to solve the distortion that may occur due to the movement of the measuring device at a very short time within a period as described above with reference to FIG. 3, the first measurement is performed at the 1-1st point 111 using the value measured by the IMU. It has been described to find the travel path between the -2 points 112.

마찬가지로 IMU가 측정한 값을 이용하여 도 1b의 이동 경로인 제1 지점(110), 제2 지점(120) 및 제3 지점(130)으로 이루어지는 궤적을 추정할 수도 있다. 다만, IMU가 제공하는 값은 가속도이고 이를 적분해서 이동 거리를 구하게 되므로 경로가 길어지면 길어질수록 적분에 의해 발생하는 오차는 점차 커지게 된다. 그러므로 도 3과 같이 한 주기 내에서의 이동 경로는 IMU의 측정값을 이용해서 구해도 무방하지만 도 1b과 같이 전체 측정 과정에서의 이동 경로는 IMU의 측정값을 이용해서 구하면 오차가 커지게 된다.Similarly, the trajectory of the first point 110, the second point 120, and the third point 130, which are the moving paths of FIG. 1B, may be estimated using the value measured by the IMU. However, the value provided by the IMU is acceleration, and the moving distance is obtained by integrating this, so that the longer the path, the larger the error caused by the integration. Therefore, as shown in FIG. 3, the movement path within one period may be obtained using the measured value of the IMU. However, as shown in FIG. 1B, the moving path in the entire measurement process is obtained using the measured value of the IMU.

종래에도 GPS를 이용해서 라이다 장치의 위치를 파악하는 경우 오차가 발생할 수 있는 문제점을 해결하기 위해 GPS 외에 추가적으로 IMU를 이용하여 지도를 작성하기도 하였다. 다만, 앞서 설명한 것처럼 IMU를 이용하면 측정 장치의 직접적인 위치가 아닌 가속도를 얻을 수 있고, 가속도를 적분해서 위치를 얻는 것이므로 이동 경로가 길어지면 길어질수록 오차가 커질 가능성이 있다.Conventionally, in order to solve the problem that an error may occur when the position of the lidar device is detected using GPS, a map may be created by using an IMU in addition to the GPS. However, as described above, if the IMU is used to obtain the acceleration, not the direct position of the measuring device, and the position is obtained by integrating the acceleration, the longer the moving path, the greater the error.

이에 본 발명에서는 IMU 센서값은 도 3의 경우와 같이 한 주기 내에서 발생하는 왜곡을 보정하기 위한 짧은 시간 동안의 이동 경로를 산출하는 경우에만 사용하고, 도 1b와 같이 전체 측정 과정에서 긴 시간 동안의 이동 경로를 산출하는 경우에는 각 샘플의 특징점을 비교해서 이동 경로를 산출한다. 이를 통해서 궤적의 정확도를 높일 수 있다.Therefore, in the present invention, the IMU sensor value is used only when calculating a short moving path for correcting distortion occurring within one period as in the case of FIG. 3, and for a long time in the entire measurement process as shown in FIG. 1B. When calculating the moving path of, the moving path is calculated by comparing the feature points of each sample. This can increase the accuracy of the trajectory.

또한, 특징점을 비교해서 추정한 궤적에 IMU를 이용해서 추정한 궤적을 병합해서 사용할 수도 있다. 이는 도 2의 Data Funsion 단계이다. 특징점을 비교해서 추정한 궤적에 IMU를 이용해서 추정한 궤적을 병합하기 위해서 가중치에 기반한 산술 연산을 수행할 수 있다.It is also possible to use a trajectory estimated by comparing the feature points and merging the trajectory estimated using the IMU. This is the Data Funsion step of FIG. A weight-based arithmetic operation can be performed to merge the trajectories estimated using the IMU with the trajectories estimated by comparing the feature points.

즉, 특징점을 비교해서 추정한 궤적

Figure 112019090600975-pat00060
에 w의 가중치를 곱하고, IMU를 이용해서 추정한 궤적
Figure 112019090600975-pat00061
에 (1-w)의 가중치를 곱해서 이를 더한 값으로 융합된 궤적
Figure 112019090600975-pat00062
를 얻을 수 있다. 물론 이러한 가중치 연산 외에도 다양한 산술 연산을 통해서 궤적
Figure 112019090600975-pat00063
와 궤적
Figure 112019090600975-pat00064
을 융합하여 궤적
Figure 112019090600975-pat00065
를 얻을 수 있다.That is, the trajectory estimated by comparing the feature points
Figure 112019090600975-pat00060
Multiplying by the weight of w and the trajectory estimated using IMU
Figure 112019090600975-pat00061
Multiplied by the weight of (1-w) to add the sum
Figure 112019090600975-pat00062
Can be obtained. Of course, in addition to these weight calculations, trajectories through various arithmetic operations
Figure 112019090600975-pat00063
And trajectory
Figure 112019090600975-pat00064
Trajectory by fusing
Figure 112019090600975-pat00065
Can be obtained.

이때 가중치 w는 센서의 정확도에 기초해서 정할 수 있다. 예를 들면 라이다 센서의 정확도가 IMU 센서의 정확도가 더 높은 경우에는 특징점을 비교해서 추정한 궤적

Figure 112019090600975-pat00066
의 가중치를 높게 설정하고, IMU를 이용해서 추정한 궤적
Figure 112019090600975-pat00067
의 가중치를 낮게 설정할 수 있다.At this time, the weight w may be determined based on the accuracy of the sensor. For example, if the accuracy of the Lidar sensor is higher than that of the IMU sensor, the trajectory estimated by comparing the feature points
Figure 112019090600975-pat00066
The trajectory estimated using the IMU with a high weight of
Figure 112019090600975-pat00067
The weight of can be set low.

이렇게 모든 측정 시점에 대해서 구한 측정 장치의 궤적은 측정 장치의 회전 및 이동 행렬로 표현할 수 있다. 이를 통해 앞서 도 1a에서 설명한 것처럼 모든 점군을 동일한 좌표계로 변환할 수 있다. 즉 각 시점의 점군을 궤적 추정 단계에서 얻어진 측정 장치의 상대적인 위치 및 회전을 활용하여 다음의 수학식 10과 같이 변환할 수 있다.The trajectory of the measuring device thus obtained for all measurement points can be expressed by the rotation and movement matrix of the measuring device. As a result, as described above with reference to FIG. 1A, all point groups can be converted into the same coordinate system. That is, the point group at each time point may be converted as shown in Equation 10 by utilizing the relative position and rotation of the measuring device obtained in the trajectory estimation step.

[수학식 10][Equation 10]

Figure 112019090600975-pat00068
Figure 112019090600975-pat00068

여기서 P는 3차원 라이다로 측정한 점군이며, R는 추정된 측정 장치의 회전 행렬이고, T는 추정된 측정 장치의 이동 행렬을 의미한다. 측정 장치의 궤적을 추정하고 추정한 궤적의 위치 정보, 즉 회전 행렬과 이동 행렬을 이용하면 각 시점에 얻은 점군을 맨 처음 측정을 시작한 측정 장치의 위치를 원점으로 하는 표준 좌표계로 변환 시킨 후 중첩시켜서 지도를 생성할 수 있다.Where P is a point group measured by a three-dimensional lidar, R is a rotation matrix of the estimated measuring device, and T is a moving matrix of the estimated measuring device. By estimating the trajectory of the measuring device and using the estimated position information, i.e., the rotation matrix and the moving matrix, the point group obtained at each time point is converted into a standard coordinate system with the origin as the origin of the measuring device. You can create a map.

다만, 이렇게 변환된 점군을 누적하여 3차원 지도를 생성하는 것은 비효율적이며 정확도가 떨어지게 된다. 이는 IMU 센서의 오차, 라이다의 오차 등에 기인한 것으로 정확도를 보다 높이기 위해서는 점군을 누적시키는 과정에서 추가적인 과정이 필요하다. 이는 도 2의 세그먼트 기반 맵핑 과정이다.However, generating a 3D map by accumulating the transformed point groups is inefficient and less accurate. This is due to the error of the IMU sensor, the error of the lidar, etc. In order to increase the accuracy, an additional process is required in the process of accumulating the point group. This is the segment based mapping process of FIG. 2.

여기서, 세그먼트 기반 맵핑 단계와 관련해서 용어를 살펴보면

Figure 112019090600975-pat00069
는 추정된 궤적을 통해 변환된 점군이고,
Figure 112019090600975-pat00070
는 지면이 제거된 점군의 집합이다.
Figure 112019090600975-pat00071
는 군집화 된 그룹을 나타내며,
Figure 112019090600975-pat00072
는 각 그룹의 특징들의 집합이다.
Figure 112019090600975-pat00073
는 기존 3차원 지도에 저장되어 있던 특징들의 집합을 나타낸다. 마지막으로
Figure 112019090600975-pat00074
는 k번째 샘플까지 누적된 3차원 지도를 의미한다.Here, if you look at the term in relation to the segment-based mapping step,
Figure 112019090600975-pat00069
Is the point group transformed through the estimated trajectory,
Figure 112019090600975-pat00070
Is a set of point groups with ground removed.
Figure 112019090600975-pat00071
Represents a clustered group,
Figure 112019090600975-pat00072
Is a set of features of each group.
Figure 112019090600975-pat00073
Represents a set of features stored in the existing 3D map. Finally
Figure 112019090600975-pat00074
Denotes a three-dimensional map accumulated up to the kth sample.

도 2를 참고하여 세그먼트 기반 맵핑 단계를 살펴보면, 변형된 점군에 대해 지면을 제거하고(Ground Removal), 유클리드 세그먼테이션을 수행하고(Euclidean Segmentation), 특징을 이전 3차원 지도의 특징과 비교하고(Feature Matching), 점군을 누적하여 3차원 지도를 생성한다(Target 3D Map). 이 과정에서 기하학적 기반으로 검증 과정을 수행하여 정확도를 더욱 높인다(Geometric Verification).Referring to the segment-based mapping step with reference to FIG. 2, ground removal is performed on the transformed point group, Euclid segmentation is performed, and the features are compared with the features of the previous 3D map (Feature Matching). ), And accumulate a point group to generate a 3D map (Target 3D Map). In this process, verification is performed on a geometric basis to further increase accuracy (Geometric Verification).

즉 점군 데이터를 군집화 및 객체화시킨 뒤 같은 객체로 분류된 점군 데이터가 매 측정 샘플에서 어떻게 이동하는지를 분석하여 측정 장치의 움직임을 정확히 예측하고 이를 이용하여 지도를 생성한다. 이는 앞서 궤적 추정 단계에서 추정한 궤적을 보다 정밀하게 추정하는 것을 의미한다. 우선 그 전처리 단계로 점군에서 지면을 제거한다.In other words, after clustering and objectifying the point group data, it analyzes how the point group data classified as the same object moves in each measurement sample, accurately predicts the movement of the measuring device, and generates a map using the same. This means that the trajectory estimated in the trajectory estimation step is more precisely estimated. The first step is to remove the ground from the point cloud.

지면을 제거하는 단계는 매 프레임 측정되는 점군에서 땅에 해당하는 데이터를 제거하는 것을 말한다. 이는 연산 속도를 높이는 한편 3차원 지도의 정확도를 높이는 효과가 있다. 이를 위해 라이다와 결합된 IMU 센서에서 얻어지는 자세각 값을 이용하여 측정된 점군의 z축을 지구의 중력 가속도 방향과 일치 시킨다.The step of removing ground refers to removing ground data from a point cloud measured every frame. This speeds up the computation and increases the accuracy of the 3D map. For this purpose, the z-axis of the point group measured using the attitude angle value obtained from the IMU sensor combined with the lidar coincides with the earth's gravitational acceleration direction.

그 뒤, z 축 부분에 수직 벡터를 가지는 평면 모델을 이용하여 측정된 점군 데이터 중 땅에 해당하는 부분과 점의 개수가 가장 많이 포함되도록 하는 계수를 찾아낸다. 그 뒤 해당 평면 모델로부터 특정 임계치 내에 존재하는 점을 선택하여, 해당 선택된 점군들을 땅으로 가정하고 로 데이터(raw data) 내에서 제거한다.Then, using a plane model having a vertical vector on the z-axis part, the coefficients are found so that the number of points and the number of points corresponding to the ground are included the most among the measured point group data. Then, select points that exist within a certain threshold from the plane model, assuming that the selected point groups are land and remove them from the raw data.

또는 각도의 변화량을 기준으로 지면을 제거할 수 있다. 이를 보다 자세히 살펴보면, 우선 점군 데이터를 2D range image로 변환한다. 이때 변환된 range image는 다음의 수학식 11과 같이 2D ange image로 변환될 수 있다.Alternatively, the ground may be removed based on the amount of change in angle. Looking more closely at this, first convert the point cloud data into a 2D range image. In this case, the converted range image may be converted into a 2D ange image as shown in Equation 11 below.

[수학식 11][Equation 11]

Figure 112019090600975-pat00075
Figure 112019090600975-pat00075

여기서

Figure 112019090600975-pat00076
은 range image에서 (r, c)위치에서의 값이며,
Figure 112019090600975-pat00077
는 angle image를 나타낸다.
Figure 112019090600975-pat00078
는 range image에서 r번째 행에 해당하는 레이저 빔의 수직 각도를 의미하며,
Figure 112019090600975-pat00079
는 range image에서 r-1번째 행에 해당하는 레이저 빔의 수직 각도를 나타낸다.here
Figure 112019090600975-pat00076
Is the value at position (r, c) in the range image,
Figure 112019090600975-pat00077
Indicates an angle image.
Figure 112019090600975-pat00078
Is the vertical angle of the laser beam corresponding to the rth row in the range image.
Figure 112019090600975-pat00079
Denotes the vertical angle of the laser beam corresponding to the r-1th row in the range image.

생성된 angle image는 주변 점과의 각도 변화량에 대한 정보를 포함하고 있다. 즉 angle image에서 제일 하단의 한 점을 시작으로, 주변 픽셀과의 각도 변화가 적으면 지면으로 판단하는 Breadth-first search (BFS) 방법을 이용하여 지면에 해당하는 점들을 추출하여 제거할 수 있다.The generated angle image includes information on the amount of change of angle with surrounding points. That is, starting from the bottom point of the angle image, the breadth-first search (BFS) method, which determines the ground as the angle change with the surrounding pixels, can be extracted and removed.

이러한 과정을 통해서 제거된 지면은 도 5a에 도시되어 있다. 도 5a는 본 발명의 일 실시예에서 사용될 수 있는 지면 제거 과정을 설명하기 위한 도면이다. 도 5a를 참고하면 중앙에 빨간점으로 표시된 영역들이 지면으로 판단되어 제거된 부분이다. 이렇게 지면을 제거하고 점군을 누적시키면 계산량 및 정확도에서 이득을 얻을 수 있다.The ground removed through this process is shown in Figure 5a. 5A is a view for explaining a ground removing process that can be used in one embodiment of the present invention. Referring to FIG. 5A, regions marked with red dots in the center are determined to be ground and removed. Removing the ground and accumulating point groups can benefit from computation and accuracy.

전처리 과정에서 땅에서 얻어진 데이터를 제거한 뒤 데이터 중에 매칭에 참조 요소로 쓸 잠재적 후보군 (potential candidate)을 뽑는 과정을 수행한다. 이 때 군집화 기법을 이용하는데 여기서는 유클리디안 거리 클러스터링 방법을 적용할 수 있다. 이는 다른 말로 유클리디안 세그멘테이션이라고 한다.In the preprocessing process, data obtained from the ground is removed and a potential candidate is selected from the data as a reference element for matching. The clustering technique is used here, and the Euclidean distance clustering method can be applied here. In other words, it is called Euclidean segmentation.

이는 측정된 점을 KdTree 형태로 구성한 뒤, 무작위로 선택된 점 주변의 일정 임계치 거리 값 이내에 있는 점들을 같은 군집에 속하는 것으로 판단하는 방법이다. 하나의 객체에서 얻어진 점군 들은 대체로 모여 있기 때문에 이와 같은 방법에 기반하여 점을 군집화 하게 되면 각 객체 단위 별로 물체가 군집화가 수행된다.This is a method of constructing a measured point in the form of KdTree and then determining that points within a certain threshold distance value around a randomly selected point belong to the same cluster. Since point groups obtained from one object are generally gathered, clustering points based on this method causes objects to be clustered for each object unit.

이때 점군에 포함된 모든 점에 대해서 군집화를 수행하는 것이 아니라 현재 라이다의 위치를 기준으로 특정 반지름(R)에 존재하는 점군들만 군집화를 수행할 수 있다. 이는 라이다의 특성상, 멀리 위치한 물체들은 점의 수가 적기 때문에 밀도가 낮아 군집화가 어렵기 때문이다.In this case, clustering is not performed on all points included in the point group, but only the point groups existing at a specific radius R based on the current position of the Lidar may be clustered. This is because, due to the characteristics of LiDAR, the distant objects have a low number of points, which makes them difficult to cluster.

라이다로부터 일정한 거리 이내에 있는 점군들에 대해서 노이즈를 제거하고 효율적인 데이터 저장을 위해서 Voxel Grid 좌표계로 변환을 수행한다. Voxel 좌표계로 변환된 점군들에 대해서, 유클리드 클러스터링과 region growing segmentation을 적용한다. 이를 통해 라이다로부터 일정한 거리 내에 있는 점들을 군집화할 수 있다.For the point groups within a certain distance from the lidar, the noise is removed and transformed into Voxel Grid coordinate system for efficient data storage. For point clusters converted to Voxel coordinates, Euclidean clustering and region growing segmentation are applied. This allows you to cluster points within a certain distance from the lidar.

도 5b를 참고하면 군집화를 수행한 후의 결과를 볼 수 있다. 도 5b는 본 발명의 일 실시예에서 사용될 수 있는 군집화 과정을 설명하기 위한 도면이다. 동일한 객체로 판단이 된 점군들은 동일한 색상으로 도시하였다. 여기서 객체는 실제 존재하는 사물 형상과 같을 수도 있지만, 측정 원리 상 사물 형상과는 다르지만 군집되어 측정된 데이터들 모두 객체화 시킨다.Referring to FIG. 5B, the results after performing clustering can be seen. 5B is a diagram illustrating a clustering process that can be used in an embodiment of the present invention. Point groups determined to be the same object are shown in the same color. In this case, the object may be the same as the shape of an object that exists in reality. However, although the object is different from the shape of the object in terms of measurement principle, the objects are grouped and measured.

예를 들면 실제 서로 분리된 물체가 밀착해서 존재하는 경우에, 도 5b의 예에서는 하나의 군집으로 객체화 될 수 있다. 그 후, 군집화 된 물체가 어떤 물체인지 알기 위하여 특징을 추출한다. 여기서, 특징은 다양한 것들을 사용할 수 있으나 고유값(eigenvalue) 기반의 특징을 사용할 수 있다. 고유값 기반의 특징은 다음의 수학식 12와 같이 8개로 이루어져 있다.For example, in the case where the objects separated from each other actually exist in close contact with each other, in the example of FIG. Then, the feature is extracted to know what the clustered object is. Here, the feature may use a variety of things, but may use an eigenvalue-based feature. Eigenvalue-based features are composed of eight, as shown in the following equation (12).

[수학식 12][Equation 12]

Figure 112019090600975-pat00080
Figure 112019090600975-pat00080

여기서 e1, e2, e3는 3차원 구조에서 정규화된 고유값들을 의미한다. 이를 통해 각 군집 별로 데이터가 어떻게 분포되어 있는지를 수치화 할 수 있다. 연속되어 측정되는 데이터 들은 전체적인 점군 분포가 비슷하기 때문에 이와 같은 방법으로 특징을 추출하여 이전 샘플의 군집화된 점군과 비교하면 특정 객체가 얼마나 이동하였는지를 알 수 있다.Here, e1, e2, and e3 mean eigenvalues normalized in a three-dimensional structure. This allows us to quantify how the data is distributed for each cluster. Since the data measured in series are similar in the overall point cloud distribution, the feature is extracted in this way and compared with the clustered point cloud of the previous sample to show how much the specific object has moved.

연속된 두 번의 라이다 측정에 대해 위의 지면 제거, 객체 추출, 특징 계산 과정을 수행한 뒤 기존 객체 별로 매칭 과정을 수행한다. 이를 통해 두 샘플에서 추출된 객체 군집이 어떻게 대응되는지를 알 수 있다. 그 뒤 대응되는 점들이 두 샘플 내에서 어떻게 이동하였는지를 계산하여 전체적인 라이다의 이동에 대한 강체 변환을 계산할 수 있다.For two consecutive Lidar measurements, the above ground removal, object extraction, and feature calculation are performed, and then the matching process is performed for each existing object. This shows how the object clusters extracted from the two samples correspond. The rigid body transformation for the overall lidar movement can then be calculated by calculating how the corresponding points moved within the two samples.

앞선 궤적 추정 단계에서는 제2 샘플의 모든 점에 대해서 이전 샘플인 제1 샘플과 비교하여 궤적을 추정하였다면, 세그먼트 기반 맵핑 단계에서는 제2 샘플에서 군집화 된 점군과 제1 샘플에서 군집화 된 점군을 비교하여 측정 장치의 궤적을 추정한다. 이를 통해 궤적 추정 단계에서 추정한 궤적의 정확도를 높일 수 있다.In the previous trajectory estimation step, the trajectory was estimated for all points of the second sample by comparing with the first sample, which was the previous sample. Estimate the trajectory of the measuring device. This can increase the accuracy of the trajectory estimated in the trajectory estimation step.

이는 군집화 된 점군이 나타내는 객체가 실제로는 움직이지 않고 고정되어 있다는 가정하에서만 가능하다. 물론 실제로는 측정 장치 외에도 움직이는 사물이 존재하나 건물 등 주변 환경은 고정되어 있는 물체들이 훨씬 많기 때문에 군집화 된 점군을 기반으로 궤적을 추정해도 정확도가 높다. 그리고 후술하겠지만 일부 매칭된 쌍 중에서 이상치(outlier)에 해당하는 쌍은 궤적 추정에서 제외를 하므로 정확도는 더욱 높아지게 된다.This is possible only under the assumption that the object represented by the clustered point cloud is actually fixed and not moving. Of course, in reality, there are moving objects in addition to the measuring device, but the surrounding environment, such as buildings, is much more fixed. Therefore, even if the trajectory is estimated based on the clustered point group, the accuracy is high. As will be described later, a pair corresponding to an outlier among the matched pairs is excluded from the trajectory estimation, thereby increasing accuracy.

추정된 궤적을 이용하여 변환된 현재 점군을 정밀하게 기존 3차원 지도에 붙이기 위해서 현재 점군에서 추출한 특징과 기존 3차원 지도에 저장된 특징들을 비교하여 매칭을 수행한다. 이때 비교를 효과적으로 수행하기 위해서 K-D Tree 탐색 방법을 이용할 수 있다. K-D Tree 탐색 방법에 의해 정렬된 매칭 후보 쌍들을 SVM 분류기의 입력으로 사용한다. SVM 분류기는 각 특징들을 비교하여, 각 특징의 차이의 합이 가장 작은 후보들을 우선적으로 매칭되었다고 판단한다.In order to precisely attach the transformed current point group to the existing 3D map using the estimated trajectory, matching is performed by comparing the features extracted from the current point group with the features stored in the existing 3D map. In this case, in order to perform the comparison effectively, the K-D Tree search method may be used. Matching candidate pairs sorted by the K-D Tree search method are used as inputs to the SVM classifier. The SVM classifier compares each feature and determines that the sum of the differences of each feature preferentially matches the smallest candidates.

마지막으로 잘못 매칭된 그룹들을 찾아내고, 이를 반영하기 위하여 random sample consensus (RANSAC)을 이용하여 이상치(outlier)에 해당하는 매칭 쌍들을 제거한다. 만약 N개의 매칭 쌍 중 M개의 매칭이 이상치(outlier)로 판단되면, 제대로 매칭된 (N-M)개의 매칭 쌍들을 이용하여 새롭게 6 자유도의 변환 행렬을 새로 추정한다. 이 과정에서 앞서 설명한 것처럼 고정되지 않은 객체들의 매칭된 쌍은 제외된다. 추정된 변환 행렬을 이용하여 현재 점군을 변환한 후, 기존 3차원 지도에 붙여 합친다. 이를 매 프레임 반복하여, 3차원 지도를 계속적으로 확장해나가면서 갱신할 수 있다.Finally, to find out mismatched groups and to reflect them, random sample consensus (RANSAC) is used to remove matching pairs corresponding to outliers. If M matches among the N matching pairs are determined to be outliers, a new six-degree-of-freedom transformation matrix is newly estimated using (N-M) matching pairs. In this process, matched pairs of non-fixed objects are excluded as described above. The current point group is transformed using the estimated transformation matrix, and then added to the existing 3D map. By repeating this every frame, the three-dimensional map can be updated continuously.

도 6은 본 발명의 일 실시예에서 사용될 수 있는 세그먼트 기반 맵핑 과정을 설명하기 위한 의사 코드이다.6 is a pseudo code for explaining a segment-based mapping process that can be used in an embodiment of the present invention.

이상으로 설명한 세그먼트 기반의 지도 맵핑 과정을 의사 코드로 표현하면 도 6과 같다. 도 6을 참고하면, angle image를 통해서 각도의 변화량이 작은 점들을 지면으로 간주하여 제거하고, 지면이 아닌 점들에 대해서 유클리디안 클러스터링을 수행한 후 region growing segmentation을 수행한다. 다음으로 고유값 기반의 특징을 비교하여 점군을 기존의 3차원 지도에 누적해 나간다.The segment-based map mapping process described above is represented by a pseudo code as shown in FIG. 6. Referring to FIG. 6, points having a small amount of change in angle are removed through the angle image as the ground, and Euclidean clustering is performed on the points that are not the ground, and then region growing segmentation is performed. Next, the point groups are accumulated on the existing three-dimensional map by comparing the eigenvalue-based features.

이와 같은 본 발명에서 제안하는 지도 생성 방법 이용하면 단거리 및 중거리에서 측정된 점들의 위치 변화를 고려하여 라이다의 이동량을 정밀하게 얻을 수 있기 때문에, 고정밀 GPS 기반의 지도 생성 방법을 이용하는 경우와 유사한 정밀도를 확보하면서 실내외에서 자유롭게 3차원 점군 지도를 생성할 수 있다.Using the map generation method proposed in the present invention, since the movement amount of the lidar can be precisely obtained in consideration of the change in the position of the points measured at short and medium distances, the accuracy similar to the case of using a high-precision GPS-based map generation method is obtained. It is possible to freely generate a three-dimensional point cloud map indoors and outdoors while securing.

즉 IMU 측정값을 이용하여 궤적을 추정할 수 있지만 가속도라는 특성으로 인해 이동 거리가 길어지면 길어질수록 오차가 증폭되는 경향이 있으므로, 본 발명에서는 IMU의 측정값은 도 3의 경우와 같이 한 주기라는 짧은 시간 동안의 왜곡을 보상하는데 사용하고, 실제 측정 장치의 궤적은 점군을 비교하여 추정한다. 이를 통해 IMU 측정값을 이용하여 궤적을 추정하거나 GPS를 이용하여 궤적을 추정하는 종래의 방법에 비해 궤적의 정확도를 높일 수 있다.That is, the trajectory can be estimated using the measured value of the IMU, but the error tends to be amplified as the moving distance becomes longer due to the characteristic of acceleration. In the present invention, the measured value of the IMU is one cycle as in the case of FIG. It is used to compensate for short time distortion, and the trajectory of the actual measuring device is estimated by comparing the point groups. As a result, the accuracy of the trajectory can be improved compared to the conventional method of estimating the trajectory using the IMU measurement value or the trajectory using the GPS.

뿐만 아니라 계산된 객체 군의 전체 맵 좌표계 기준의 위치와 각 객체 별 특징도를 저장하기 때문에, 이를 이용하여 루프 결합(Loop closure)을 수행할 수 있다. 이를 통해 장거리 측정에서 발생하는 드리프트(drift)에 의한 효과를 줄일 수 있어서 장거리 측정에서도 정밀도의 보장이 가능하다.In addition, it stores the position of the reference of the entire map coordinate system of the group of objects and the feature diagram for each object, so that loop closure can be performed using this. This reduces the effects of drift in long distance measurements, ensuring accuracy even in long distance measurements.

즉, 본 발명에서는 3차원 지도를 확장시키기 위해서 3차원 지도 내의 점군을 군집화를 통해 객체로 구분하므로, 측정 장치를 이용하여 측정을 시작한 맨 처음 출발점과 측정을 종료한 도착점이 같은 경우 루프 결합을 통해 출발점에서 얻은 점군와 도착점에서 얻은 점군에서 인식된 각각의 객체를 매칭하여 이동 거리가 길어지면 길어질수록 증폭되는 효과가 있는 오차를 줄일 수 있다.That is, in the present invention, in order to expand the three-dimensional map, the point groups in the three-dimensional map are divided into objects through clustering, and thus, when the first starting point using the measuring device and the arrival point ending the measurement are the same, the loop combination is performed. By matching each object recognized from the point group obtained from the starting point and the point group obtained from the starting point, the longer the moving distance can reduce the error that amplifies the longer.

도 7a 내지 도 8b는 본 발명의 일 실시예에 따른 지도 생성 방법의 성능을 종래의 방법과 비교 설명하기 위한 도면이다.7A to 8B are diagrams for comparing the performance of the map generating method according to an embodiment of the present invention with the conventional method.

도 7a와 도 8a를 참고하면 본 발명에서 제안하는 지도 생성 방법을 적용한 경우의 3차원 지도를 볼 수 있다. 이에 비해 도 7b와 도 8b를 참고하면 종래의 GPS 기반으로 생성한 3차원 지도를 볼 수 있다. 특히 도 8a와 도 8b의 빨간색 네모 영역의 점군을 살펴보면 본 발명에서 제안하는 방법이 오차가 더 적은 형태로 점군들이 누적된 것을 볼 수 있다.Referring to FIGS. 7A and 8A, a three-dimensional map can be seen when the map generation method proposed by the present invention is applied. In contrast, referring to FIGS. 7B and 8B, a 3D map generated based on a conventional GPS may be viewed. In particular, when looking at the point group of the red square region of Figures 8a and 8b it can be seen that the method group proposed in the present invention accumulates the point group in the form of less error.

도 9a 내지 도 9c는 본 발명의 일 실시예에 따른 지도 생성 장치를 설명하기 위한 도면이다.9A to 9C are diagrams for describing an apparatus for generating a map, according to an exemplary embodiment.

도 9a를 참고하면 라이다 센서와 IMU 센서 및 이를 제어하기 위한 회로가 도시된 것을 볼 수 있다. 또한 도 9b 및 도 9c를 참고하면 데이터를 주고 받기 위한 입출력 포트가 도시된 것을 볼 수 있다. 이렇게 구성된 측정 장치를 차량의 상부에 부착하고 이동하거나, 실내에서 사람 또는 로봇을 통해 이동시키면서 점군을 측정하여 3차원 지도를 생성할 수 있다.9A, a lidar sensor and an IMU sensor and a circuit for controlling the same are shown. 9B and 9C, an input / output port for transmitting and receiving data is shown. The measurement device configured as described above may be attached to the upper portion of the vehicle and moved, or a three-dimensional map may be generated by measuring a point group while moving through a person or a robot indoors.

도 10a 내지 도 10c는 본 발명의 일 실시예에 따른 지도 생성 방법을 설명하기 위한 순서도이다.10A to 10C are flowcharts illustrating a method for generating a map according to an embodiment of the present invention.

도 10a를 참고하면, 우선 라이다 센서로 점군을 수집하고, 점군에 속한 각 점에 대해서 해당 점을 측정할 당시의 IMU 센서값 수집한다(S1100). 다음으로 IMU의 센서값을 이용하여 점군에 속한 각 점을 기준 좌표계로 변환한다(S1200). 여기서 기준 좌표계란 한 주기 내에서 라이다 장치가 측정을 시작한 처음 위치 및 자세를 기준으로 하는 좌표계이다.Referring to FIG. 10A, first, a point group is collected by a lidar sensor, and an IMU sensor value at the time of measuring a corresponding point for each point belonging to the point group is collected (S1100). Next, each point belonging to the point group is converted into a reference coordinate system using the sensor value of the IMU (S1200). Here, the reference coordinate system is a coordinate system based on the initial position and posture of the measurement of the lidar device within one period.

이렇게 점군을 기준 좌표계로 변환하기 위해서 IMU 센서가 측정한 가속도를 이용하여 변위를 산출하고 이를 반영하여 왜곡을 보상한다. 이를 통해 라이다가 측정 중에 이동을 하더라도, 한 주기 내에서 라이다의 이동으로 인해 발생하는 왜곡을 상쇄시킬 수 있다. 이때 IMU 센서값의 측정 주기와 라이다 장치의 측정 주기가 서로 맞지 않는 경우에는 비율을 구해서 왜곡을 보상할 수 있다.In order to convert the point group into the reference coordinate system, the displacement is calculated using the acceleration measured by the IMU sensor, and the distortion is compensated by reflecting the displacement. In this way, even if the lidar moves during the measurement, it is possible to offset the distortion caused by the movement of the lidar within a period. In this case, when the measurement period of the IMU sensor value and the measurement period of the lidar device do not coincide with each other, a ratio may be obtained to compensate for the distortion.

다음으로 점군의 특징점에 기반하여 라이다의 이동 경로, 즉 궤적을 추정한다(S1300). 이 과정에서 IMU의 센서값을 이용하여 궤적의 정확도를 높일 수 있다. 보다 자세하게는 라이다가 제1 샘플의 점군과 제2 샘플의 점군의 특징을 비교하여 궤적을 추정한다(S1310). 여기서 제1 샘플의 점군이란, 라이다가 1회 회전을 하면서 전방향에 대해 정보를 수집하므로, 1회의 측정으로 수집한 점군을 의미하며 다른 말로 제1 프레임의 점군이라고도 할 수 있다.Next, the movement path, that is, the trajectory of the lidar, is estimated based on the feature points of the point group (S1300). In this process, the accuracy of the trajectory can be improved by using the sensor value of the IMU. In more detail, the Lidar estimates the trajectory by comparing the characteristics of the point group of the first sample and the point group of the second sample (S1310). Here, the point group of the first sample is a point group collected by one measurement because the lidar collects information in all directions while rotating once, and may also be referred to as a point group of the first frame.

제1 샘플의 점군과 제2 샘플의 점군의 특징을 비교하는 과정은 해당 샘플에 포함된 전체의 점군을 비교하는 것이므로, 비교의 편의를 위해서 우선 점군을 모서리에 해당하는 점군과 평면에 해당하는 점군으로 구분을 한다.Since the process of comparing the point group of the first sample and the point group of the second sample is to compare the entire point group included in the sample, for convenience of comparison, first, the point group corresponding to the point group corresponding to the corner and the point group corresponding to the plane Separate by.

제2 샘플의 모서리에 해당하는 점은 제1 샘플의 점군에서 가장 가까운 두 개의 점을 선택하여 만들어진 선에 투영하여 제1 샘플의 점군에서 제2 샘플의 모서리에 해당하는 점이 나올 수 있는 이동 행렬 및 회전 행렬에 관한 식을 유도한다.The point corresponding to the edge of the second sample is a moving matrix that can project the point corresponding to the edge of the second sample from the point sample of the first sample by projecting on the line created by selecting two points closest to the point group of the first sample. Deduce the equation for the rotation matrix.

마찬가지로 제2 샘플의 평면에 해당하는 점은 제1 샘플의 점군에서 가장 가까운 세 개의 점을 선택하여 만들어진 평면에 투영하여 제1 샘플의 점군에서 제2 샘플의 평면에 해당하는 점이 나올 수 있는 이동 행렬 및 회전 행렬에 관한 식을 유도한다.Similarly, the point corresponding to the plane of the second sample is a moving matrix in which a point corresponding to the plane of the second sample can be drawn from the point cloud of the first sample by projecting onto a plane made by selecting three points closest to the point cloud of the first sample. And a formula for the rotation matrix.

제2 샘플에 속하는 모든 점에 대해서 비선형 방정식을 유도하고 최적화 기법을 통해 제1 샘플의 점들이 제2 샘플의 점에 대응되기 위한 이동 행렬 및 회전 행렬을 구하면 이를 통해서 제1 샘플을 측정할 당시의 측정 장치의 위치와 제2 샘플을 측정할 당시의 측정 장치의 위치의 차이인 이동 경로, 즉 궤적을 추정할 수 있다.Deriving a nonlinear equation for all the points belonging to the second sample and using an optimization technique to obtain a movement matrix and a rotation matrix for the points of the first sample to correspond to the points of the second sample. A movement path, i.e., a trajectory, which is a difference between the position of the measuring device and the position of the measuring device at the time of measuring the second sample can be estimated.

물론 궤적은 라이다와 결합된 IMU 센서값을 통해서도 추정을 할 수 있으나, 점군의 특징점 비교를 기반으로 추정하는 것이 보다 정확도를 높일 수 있기 때문에 이와 같이 궤적을 추정하고 IMU 센서값은 이를 보완하는 용도로 추정한 점군의 정확도를 높이는데 활용한다(S1320).Of course, the trajectory can be estimated through the IMU sensor value combined with LiDAR, but since the estimation can be more accurate based on the comparison of the feature points of the point group, the trajectory estimation and the IMU sensor value are used to compensate for this. It is used to increase the accuracy of the point group estimated by (S1320).

마지막으로 궤적 추정 과정에서 구한 회전 행렬 R과 이동 행렬 T를 이용하여 점군 변환을 수행하여 제1 샘플의 점군과 제2 샘플의 점군을 동일한 표준 좌표계로 통일한다. 이를 통해 제1 샘플의 점군과 제2 샘플의 점군을 누적하기 위한 준비를 마치게 된다(S1330).Finally, a point group transformation is performed using the rotation matrix R and the movement matrix T obtained in the trajectory estimation process, thereby unifying the point group of the first sample and the point group of the second sample into the same standard coordinate system. Through this, the preparation for accumulating the point group of the first sample and the point group of the second sample is completed (S1330).

물론 변환된 점군을 그대로 누적하는 것만으로도 어느 정도 정확도가 높은 3차원 지도를 생성할 수 있으나, 보다 정확도를 높이기 위해서 각 샘플의 객체를 식별하고, 식별된 객체를 기준으로 3차원 지도를 만들기로 한다. 이는 세그먼트 기반 매칭 단계이다(S1400).Of course, it is possible to generate a three-dimensional map with a certain degree of accuracy by simply accumulating the transformed point group as it is, but in order to improve the accuracy, the object of each sample is identified and a three-dimensional map is created based on the identified object. do. This is a segment based matching step (S1400).

세그먼트 기반의 매칭을 수행하기 위해서 우선 전처리로 지면을 제거한다(S1410). 지면을 제거하는 과정은 중력 가속도 방향에 수직인 점을 가장 많이 포함하고 있는 평면을 지면으로 판단해서 제거하거나, 점군을 angle image로 변환한 후, 주변 점과 비교해서 각의 변화량이 적은 점을 지면으로 판단해서 제거할 수 있다.In order to perform segment-based matching, the ground is first removed by preprocessing (S1410). The process of removing the ground is determined by removing the plane that contains the most points perpendicular to the direction of gravity acceleration as the ground, or converting the point group to an angle image, and then removing the ground with a small change in angle compared to the surrounding points. It can be removed by judging.

다음으로 라이다에서 기 설정된 거리 이내의 점군들에 대해서 다른 점과의 거리에 기초하여 군집화를 수행한다(S1420). 이는 유클리디안 세그멘테이션에 해당한다. 다음으로 제1 샘플의 군집과 제2 샘플의 군집의 특징점을 비교하여 매칭을 수행한다(S1430). 매칭된 군집이 대응되도록 제1 샘플과 제2 샘플을 중첩시키면 점군으로 만들어진 3차원 지도를 확장시켜나갈 수 있다(S1450).Next, clustering is performed on the point groups within a predetermined distance in the lidar based on the distance from the other points (S1420). This corresponds to Euclidean segmentation. Next, matching is performed by comparing feature points of the cluster of the first sample and the cluster of the second sample (S1430). When the first sample and the second sample are superimposed so that the matched clusters correspond to each other, the 3D map made of the point group may be expanded (S1450).

이 과정에서 기하학적 구조 검증을 수행할 수 있다(S1450). 기하학적 구조 검증 과정은 제1 샘플의 군집과 제2 샘플의 군집을 매칭하는 과정에서 매칭된 쌍들에 대해 RANSAC를 적용하여 이상치를 제거하고, 가장 많은 매칭 쌍에 의해 지지되는 변환 행렬을 구한다. 그 후 변환 행렬을 통해 제2 샘플의 점군을 변환하여 제1 샘플의 점군에 병합한다.In this process, geometric verification may be performed (S1450). The geometry verification process removes outliers by applying RANSAC to matched pairs in matching a cluster of a first sample and a cluster of a second sample, and obtains a transformation matrix supported by the most matching pairs. Thereafter, the point group of the second sample is transformed through the transformation matrix and merged into the point group of the first sample.

이상 첨부된 도면을 참조하여 본 발명의 실시 예들을 설명하였지만, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.Although embodiments of the present invention have been described above with reference to the accompanying drawings, those skilled in the art to which the present invention pertains may implement the present invention in other specific forms without changing the technical spirit or essential features thereof. I can understand that. Therefore, it should be understood that the embodiments described above are exemplary in all respects and not restrictive.

Claims (4)

지도 생성 장치가, 제1 지점에서 측정한 제1 점군의 특징과 제2 지점에서 측정한 제2 점군의 특징을 비교하여, 상기 제1 지점으로부터 상기 제2 지점까지의 이동 경로인 궤적(Odometry)을 추정하는 궤적 추정 단계;
상기 지도 생성 장치가, 상기 제1 점군과 동일한 좌표계를 갖도록 상기 궤적에 기초하여 상기 제2 점군을 위치 변환 및 회전 변환하는 단계; 및
상기 지도 생성 장치가, 상기 제1 점군의 군집화된 객체의 특징과 상기 제2 점군의 군집화된 객체의 특징을 비교하여, 상기 제2 점군을 상기 제1 점군에 누적하여 점군 지도를 생성하는 세그먼트 기반 매칭 단계를 포함하고,
상기 궤적 추정 단계는,
상기 제2 점군에 속한 모든 점에 대해서 곡률을 계산하고, 기 설정된 임계치와 비교하여 모서리에 속하는 점과 평면에 속하는 점으로 분류하는 단계;
상기 제2 점군에 속한 점 중에서 모서리에 속하는 점은 상기 제1 점군의 선에 투영시키고, 상기 제2 점군에 속한 점 중에서 평면에 속하는 점은 상기 제1 점군의 평면에 투영시켜서, 다음의 수학식 9를 생성하는 단계; 및
[수학식 9]
Figure 112019118049344-pat00108

(여기서,
Figure 112019118049344-pat00109
는 상기 궤적의 회전 행렬이고,
Figure 112019118049344-pat00110
는 상기 궤적의 이동 행렬임)
최적화 기법을 이용하여 상기 d를 최소화하는
Figure 112019118049344-pat00111
Figure 112019118049344-pat00112
를 유도하는 단계;를 포함하며,
상기 세그먼트 기반 매칭 단계는,
상기 제2 점군에서 지면에 해당하는 점군은 제거하는 단계를 포함하는,
점군을 포함하는 라이다 지도 생성 방법.
The map generating apparatus compares the characteristics of the first point group measured at the first point with the characteristics of the second point group measured at the second point, and is a trajectory (Odometry) which is a moving path from the first point to the second point. A trajectory estimating step of estimating;
Positioning and rotating transforming the second point group based on the trajectory so that the map generating device has the same coordinate system as the first point group; And
The map generating apparatus compares a feature of the clustered object of the first point group with a feature of the clustered object of the second point group, and accumulates the second point group on the first point group to generate a point group map. A matching step,
The trajectory estimation step,
Calculating curvature for all points belonging to the second point group, and classifying the curvature into points belonging to an edge and points belonging to a plane by comparing with a preset threshold;
The point belonging to the corner among the points belonging to the second point group is projected on the line of the first point group, and the point belonging to the plane among the points belonging to the second point group is projected on the plane of the first point group, Generating 9; And
[Equation 9]
Figure 112019118049344-pat00108

(here,
Figure 112019118049344-pat00109
Is the rotation matrix of the trajectory,
Figure 112019118049344-pat00110
Is the moving matrix of the trajectory)
Using the optimization technique to minimize the d
Figure 112019118049344-pat00111
And
Figure 112019118049344-pat00112
Inducing; comprising;
The segment-based matching step,
The point group corresponding to the ground in the second point group includes the step of removing,
How to create a Lidar map containing a point cloud.
지도 생성 장치가, 제1 지점에서 측정한 제1 점군의 특징과 제2 지점에서 측정한 제2 점군의 특징을 비교하여, 상기 제1 지점으로부터 상기 제2 지점까지의 이동 경로인 궤적(Odometry)을 추정하는 궤적 추정 단계;
상기 지도 생성 장치가, 상기 제1 점군과 동일한 좌표계를 갖도록 상기 궤적에 기초하여 상기 제2 점군을 위치 변환 및 회전 변환하는 단계; 및
상기 지도 생성 장치가, 상기 제1 점군의 군집화된 객체의 특징과 상기 제2 점군의 군집화된 객체의 특징을 비교하여, 상기 제2 점군을 상기 제1 점군에 누적하여 점군 지도를 생성하는 세그먼트 기반 매칭 단계를 포함하고,
상기 궤적 추정 단계는,
상기 제2 점군에 속한 모든 점에 대해서 곡률을 계산하고, 기 설정된 임계치와 비교하여 모서리에 속하는 점과 평면에 속하는 점으로 분류하는 단계;
상기 제2 점군에 속한 점 중에서 모서리에 속하는 점은 상기 제1 점군의 선에 투영시키고, 상기 제2 점군에 속한 점 중에서 평면에 속하는 점은 상기 제1 점군의 평면에 투영시켜서, 다음의 수학식 9를 생성하는 단계; 및
[수학식 9]
Figure 112019118049344-pat00113

(여기서,
Figure 112019118049344-pat00114
는 상기 궤적의 회전 행렬이고,
Figure 112019118049344-pat00115
는 상기 궤적의 이동 행렬임)
최적화 기법을 이용하여 상기 d를 최소화하는
Figure 112019118049344-pat00116
Figure 112019118049344-pat00117
를 유도하는 단계;를 포함하며,
상기 세그먼트 기반 매칭 단계는,
상기 제2 지점으로부터 기 설정된 반경 이내에 해당하는 점은 유클리디안 거리 기반의 클러스터링을 수행하여 군집화 하는 단계를 포함하는,
점군을 포함하는 라이다 지도 생성 방법.
The map generating apparatus compares the characteristics of the first point group measured at the first point with the characteristics of the second point group measured at the second point, and is a trajectory (Odometry) which is a moving path from the first point to the second point. A trajectory estimating step of estimating;
Positioning and rotating transforming the second point group based on the trajectory so that the map generating device has the same coordinate system as the first point group; And
The map generating apparatus compares a feature of the clustered object of the first point group with a feature of the clustered object of the second point group, and accumulates the second point group on the first point group to generate a point group map. A matching step,
The trajectory estimation step,
Calculating curvature for all points belonging to the second point group, and classifying the curvature into points belonging to an edge and points belonging to a plane by comparing with a preset threshold;
The point belonging to the corner among the points belonging to the second point group is projected on the line of the first point group, and the point belonging to the plane among the points belonging to the second point group is projected on the plane of the first point group, Generating 9; And
[Equation 9]
Figure 112019118049344-pat00113

(here,
Figure 112019118049344-pat00114
Is the rotation matrix of the trajectory,
Figure 112019118049344-pat00115
Is the moving matrix of the trajectory)
Using the optimization technique to minimize the d
Figure 112019118049344-pat00116
And
Figure 112019118049344-pat00117
Inducing; comprising;
The segment-based matching step,
Points within a predetermined radius from the second point includes performing clustering based on Euclidean distance based clustering,
How to create a Lidar map containing a point cloud.
지도 생성 장치가, 제1 지점에서 측정한 제1 점군의 특징과 제2 지점에서 측정한 제2 점군의 특징을 비교하여, 상기 제1 지점으로부터 상기 제2 지점까지의 이동 경로인 궤적(Odometry)을 추정하는 궤적 추정 단계;
상기 지도 생성 장치가, 상기 제1 점군과 동일한 좌표계를 갖도록 상기 궤적에 기초하여 상기 제2 점군을 위치 변환 및 회전 변환하는 단계; 및
상기 지도 생성 장치가, 상기 제1 점군의 군집화된 객체의 특징과 상기 제2 점군의 군집화된 객체의 특징을 비교하여, 상기 제2 점군을 상기 제1 점군에 누적하여 점군 지도를 생성하는 세그먼트 기반 매칭 단계를 포함하고,
상기 궤적 추정 단계는,
상기 제2 점군에 속한 모든 점에 대해서 곡률을 계산하고, 기 설정된 임계치와 비교하여 모서리에 속하는 점과 평면에 속하는 점으로 분류하는 단계;
상기 제2 점군에 속한 점 중에서 모서리에 속하는 점은 상기 제1 점군의 선에 투영시키고, 상기 제2 점군에 속한 점 중에서 평면에 속하는 점은 상기 제1 점군의 평면에 투영시켜서, 다음의 수학식 9를 생성하는 단계; 및
[수학식 9]
Figure 112019118049344-pat00118

(여기서,
Figure 112019118049344-pat00119
는 상기 궤적의 회전 행렬이고,
Figure 112019118049344-pat00120
는 상기 궤적의 이동 행렬임)
최적화 기법을 이용하여 상기 d를 최소화하는
Figure 112019118049344-pat00121
Figure 112019118049344-pat00122
를 유도하는 단계;를 포함하며,
상기 세그먼트 기반 매칭 단계는,
상기 제1 점군의 군집과 상기 제2 점군의 군집을 중첩시켜 점군의 매칭 쌍을 도출하며, 매칭 쌍들에 대해 RANSAC를 적용하고 가장 많은 매칭 쌍에 의해 지지되는 변환 행렬을 구하는 단계를 포함하는,
점군을 포함하는 라이다 지도 생성 방법.
The map generating apparatus compares the characteristics of the first point group measured at the first point with the characteristics of the second point group measured at the second point, and is a trajectory (Odometry) which is a moving path from the first point to the second point. A trajectory estimating step of estimating;
Positioning and rotating transforming the second point group based on the trajectory so that the map generating device has the same coordinate system as the first point group; And
The map generating apparatus compares a feature of the clustered object of the first point group with a feature of the clustered object of the second point group, and accumulates the second point group on the first point group to generate a point group map. A matching step,
The trajectory estimation step,
Calculating curvature for all points belonging to the second point group, and classifying the curvature into points belonging to an edge and points belonging to a plane by comparing with a preset threshold;
The point belonging to the corner among the points belonging to the second point group is projected on the line of the first point group, and the point belonging to the plane among the points belonging to the second point group is projected on the plane of the first point group, Generating 9; And
[Equation 9]
Figure 112019118049344-pat00118

(here,
Figure 112019118049344-pat00119
Is the rotation matrix of the trajectory,
Figure 112019118049344-pat00120
Is the moving matrix of the trajectory)
Using the optimization technique to minimize the d
Figure 112019118049344-pat00121
And
Figure 112019118049344-pat00122
Inducing; comprising;
The segment-based matching step,
Overlapping the cluster of the first point group and the cluster of the second point group to derive a matching pair of point groups, applying RANSAC to the matching pairs, and obtaining a transformation matrix supported by the most matching pairs,
How to create a Lidar map containing a point cloud.
제3항에 있어서,
상기 변환 행렬을 구하는 단계는,
상기 변환 행렬을 이용하여 상기 제2 점군을 변환하고, 상기 변환된 제2 점군을 상기 제1 점군에 누적하는 단계를 포함하는,
점군을 포함하는 라이다 지도 생성 방법.
The method of claim 3,
Obtaining the transformation matrix,
Converting the second point group by using the transformation matrix, and accumulating the converted second point group in the first point group,
How to create a Lidar map containing a point cloud.
KR1020190108743A 2019-09-03 2019-09-03 Method for building map including point cloud using LiDAR KR102083911B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190108743A KR102083911B1 (en) 2019-09-03 2019-09-03 Method for building map including point cloud using LiDAR

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190108743A KR102083911B1 (en) 2019-09-03 2019-09-03 Method for building map including point cloud using LiDAR

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020170163759A Division KR102063534B1 (en) 2017-11-30 2017-11-30 Method for building map using LiDAR

Publications (2)

Publication Number Publication Date
KR20190104304A KR20190104304A (en) 2019-09-09
KR102083911B1 true KR102083911B1 (en) 2020-03-04

Family

ID=67951626

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190108743A KR102083911B1 (en) 2019-09-03 2019-09-03 Method for building map including point cloud using LiDAR

Country Status (1)

Country Link
KR (1) KR102083911B1 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111323031B (en) * 2019-11-25 2021-01-12 滴图(北京)科技有限公司 Yaw identification method and device, electronic equipment and storage medium
US11592559B2 (en) 2020-02-24 2023-02-28 Ford Global Technologies, Llc Vehicle sensor fusion
KR102334177B1 (en) * 2020-07-21 2021-12-03 대한민국 Method and system for establishing 3-dimensional indoor information for indoor evacuation
CN111708048B (en) * 2020-08-19 2021-02-05 深圳市速腾聚创科技有限公司 Method, device and system for motion compensation of point cloud
WO2022073172A1 (en) 2020-10-09 2022-04-14 浙江大学 Global optimal robot vision localization method and apparatus based on point-line features
KR102513683B1 (en) * 2020-12-09 2023-03-27 주식회사 맵퍼스 Point cloud matching method and point cloud matching device
CN112765709B (en) * 2021-01-15 2022-02-01 贝壳找房(北京)科技有限公司 House type graph reconstruction method and device based on point cloud data

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016009246A (en) * 2014-06-23 2016-01-18 株式会社Ihiエアロスペース Environmental map generation controller, mobile body and environmental map generation method
JP2016045150A (en) * 2014-08-26 2016-04-04 株式会社トプコン Point group position data processing device, point group position data processing system, point group position data processing method, and program
JP2016057108A (en) * 2014-09-08 2016-04-21 株式会社トプコン Arithmetic device, arithmetic system, arithmetic method and program
JP2017500595A (en) * 2013-10-31 2017-01-05 トヨタ モーター エンジニアリング アンド マニュファクチャリング ノース アメリカ,インコーポレイティド How to generate an accurate lane level map

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101220527B1 (en) * 2011-03-02 2013-01-21 한국과학기술원 Sensor system, and system and method for preparing environment map using the same
KR101525891B1 (en) * 2013-02-13 2015-06-03 (주)다인디지컬처 Method and System for Modeling LIDAR Data for Making 3D Indoor Space Information
KR101625486B1 (en) * 2014-11-14 2016-05-30 재단법인대구경북과학기술원 Map-based positioning system and method thereof
KR101674071B1 (en) * 2015-04-10 2016-11-08 주식회사 소프트그래피 Railway facilities information generation system and method
KR101711964B1 (en) * 2015-07-14 2017-03-13 서울대학교산학협력단 Free space map construction method, free space map construction system, foreground/background extraction method using the free space map, and foreground/background extraction system using the free space map
KR20170083662A (en) * 2016-01-08 2017-07-19 서울대학교산학협력단 Map building apparatus being robust in sensor error

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017500595A (en) * 2013-10-31 2017-01-05 トヨタ モーター エンジニアリング アンド マニュファクチャリング ノース アメリカ,インコーポレイティド How to generate an accurate lane level map
JP2016009246A (en) * 2014-06-23 2016-01-18 株式会社Ihiエアロスペース Environmental map generation controller, mobile body and environmental map generation method
JP2016045150A (en) * 2014-08-26 2016-04-04 株式会社トプコン Point group position data processing device, point group position data processing system, point group position data processing method, and program
JP2016057108A (en) * 2014-09-08 2016-04-21 株式会社トプコン Arithmetic device, arithmetic system, arithmetic method and program

Also Published As

Publication number Publication date
KR20190104304A (en) 2019-09-09

Similar Documents

Publication Publication Date Title
KR102063534B1 (en) Method for building map using LiDAR
KR102083911B1 (en) Method for building map including point cloud using LiDAR
CN112347840B (en) Vision sensor laser radar integrated unmanned aerial vehicle positioning and image building device and method
KR101778028B1 (en) Robot and method for planning path of the same
US8121399B2 (en) Self-position identifying method and device, and three-dimensional shape measuring method and device
KR101711964B1 (en) Free space map construction method, free space map construction system, foreground/background extraction method using the free space map, and foreground/background extraction system using the free space map
US8831778B2 (en) Method of accurate mapping with mobile robots
CN114526745B (en) Drawing construction method and system for tightly coupled laser radar and inertial odometer
KR102627453B1 (en) Method and device to estimate position
EP3451296A1 (en) Multidimensional evidence grids and system and methods for applying same
WO2023000294A1 (en) Pose estimation method, laser-radar-inertial odometer, movable platform and storage medium
Zhang et al. Vision-aided localization for ground robots
CN113741503B (en) Autonomous positioning unmanned aerial vehicle and indoor path autonomous planning method thereof
KR102083913B1 (en) Apparatus for building map using LiDAR
JP2019504418A (en) Method and system for determining the position of a moving object
KR102125538B1 (en) Efficient Map Matching Method for Autonomous Driving and Apparatus Thereof
AU2022259832A1 (en) Target detection in a point cloud
Park et al. Design and performance validation of integrated navigation system based on geometric range measurements and GIS map for urban aerial navigation
Srinara et al. Performance analysis of 3D NDT scan matching for autonomous vehicles using INS/GNSS/3D LiDAR-SLAM integration scheme
Shetty GPS-LiDAR sensor fusion aided by 3D city models for UAVs
CN117387604A (en) Positioning and mapping method and system based on 4D millimeter wave radar and IMU fusion
KR102130687B1 (en) System for information fusion among multiple sensor platforms
Soleimani et al. A disaster invariant feature for localization
Opromolla et al. PCA‐Based Line Detection from Range Data for Mapping and Localization‐Aiding of UAVs
Geva et al. Estimating camera pose using bundle adjustment and digital terrain model constraints

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant