KR102063534B1 - Method for building map using LiDAR - Google Patents

Method for building map using LiDAR Download PDF

Info

Publication number
KR102063534B1
KR102063534B1 KR1020170163759A KR20170163759A KR102063534B1 KR 102063534 B1 KR102063534 B1 KR 102063534B1 KR 1020170163759 A KR1020170163759 A KR 1020170163759A KR 20170163759 A KR20170163759 A KR 20170163759A KR 102063534 B1 KR102063534 B1 KR 102063534B1
Authority
KR
South Korea
Prior art keywords
point
point group
trajectory
map
lidar
Prior art date
Application number
KR1020170163759A
Other languages
Korean (ko)
Other versions
KR20190064311A (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 KR1020170163759A priority Critical patent/KR102063534B1/en
Publication of KR20190064311A publication Critical patent/KR20190064311A/en
Application granted granted Critical
Publication of KR102063534B1 publication Critical patent/KR102063534B1/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
    • 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)
  • Educational Technology (AREA)
  • Educational Administration (AREA)
  • Business, Economics & Management (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Electromagnetism (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Optical Radar Systems And Details Thereof (AREA)
  • Navigation (AREA)

Abstract

지도 생성 방법이 개시된다.
본 발명의 일 실시예에 따른 지도 생성 방법은, 지도 생성 장치가, 제1 지점에서 측정한 제1 점군의 특징과 제2 지점에서 측정한 제2 점군의 특징을 비교하여, 상기 제1 지점으로부터 상기 제2 지점까지의 이동 경로인 궤적(Odometry)을 추정하는 단계; 상기 지도 생성 장치가, 상기 제1 점군과 동일한 좌표계를 갖도록 상기 궤적에 기초하여 상기 제2 점군을 위치 변환 및 회전 변환하는 단계; 및 상기 지도 생성 장치가, 상기 제1 점군의 군집화된 객체의 특징과 상기 제2 점군의 군집화된 객체의 특징을 비교하여, 상기 제2 점군을 상기 제1 점군에 누적하여 점군 지도를 생성하는 단계를 포함할 수 있다.
Disclosed is a method for generating a map.
In a method for generating a map according to an embodiment of the present invention, 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 compares the characteristics of the first point group from the first point. Estimating a locus (Odometry), which is a movement path 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.

Description

라이다를 이용한 지도 생성 방법 {Method for building map using LiDAR}Map generation method using LiDAR {Method for building map using LiDAR}

본 발명은 라이다를 이용하여 지도를 생성하는 방법에 관한 것이다. 보다 자세하게는, 라이다를 이용하여 복수의 점군을 중첩한 지도를 생성할 때 중첩의 정확도를 높이는 방법에 관한 것이다.The present invention relates to a method for generating a map using LiDAR. 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 field and satellites, but was later applied to the global environment, exploration, automobiles, and robots.

라이다는 레이더와 비슷한 원리를 가지고 있다. 레이더는 전자기파를 외부로 발사해 재수신 되는 전자기파로 거리, 방향 등을 확인한다. 반면 라이다는 펄스 레이저를 사용한다는 차이점이 있다. 파장이 짧은 레이저를 사용함으로써 정밀도 및 해상도를 높이고 사물에 따라 입체적인 파악도 가능하다.Riders have 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 according to 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, since the present invention determines the position of the LiDAR device by measuring the strength of signals received from three or more Wi-Fi transmitters, the accuracy of the position of the LiDAR device is reduced. 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 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 a growing 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.

본 발명이 해결하고자 하는 기술적 과제는 라이다를 이용하여 지도를 생성하는 방법 및 그 장치를 제공하는 것이다.SUMMARY OF THE INVENTION The present invention has been made in an effort to provide a method and apparatus for generating a map using 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 order to solve the above technical problem, a method for generating a map according to an embodiment of the present disclosure may include comparing a feature of a first point group measured at a first point with a feature of a second point group measured at a second point by the map generating device. Estimating a locus (Odometry), which is a moving 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 preset threshold value; And a point belonging to an edge of the points belonging to the second point group is projected on a 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 a plane of the first point group, Generating equation (9).

[수학식 9][Equation 9]

Figure 112017120021378-pat00001
Figure 112017120021378-pat00001

여기서,

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

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

Figure 112017120021378-pat00004
Figure 112017120021378-pat00005
를 유도하는 단계를 더 포함할 수 있다.Advantageously, estimating the Odometry comprises minimizing the d using an optimization technique.
Figure 112017120021378-pat00004
And
Figure 112017120021378-pat00005
It may further comprise a step of inducing.

바람직하게는, 상기 궤적(Odometry)을 추정하는 단계는, IMU 측정값을 이용하여 상기 제1 지점으로부터 상기 제2 지점까지의 이동 경로인 제2 궤적을 추정하는 단계; 및 상기 궤적과 상기 제2 궤적을 병합하는 단계를 포함할 수 있다.Preferably, estimating the Odometry includes estimating a second trajectory, which is a moving path from the first point to the 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, the RANSAC is applied to the pairs matching the cluster of the first point group and the cluster of the second point group to remove outliers, the transform supported by the most matching pair Obtaining a matrix may include.

바람직하게는, 상기 변환 행렬을 구하는 단계는, 상기 변환 행렬을 이용하여 상기 제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 a characteristic of the first point group with a characteristic 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 industry related to 3D map 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 map generation method 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 an embodiment of the present invention.
5B is a view for explaining a clustering process that can be used in one 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 referred to as being "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that other components may be present in between. 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 a problem caused by the error of the trajectory, a map is generated by installing the lidar at a designated place as shown in FIG. 1A and 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, the lidar moves while performing the measurement, but it is necessary to minimize the errors that may occur due to the movement 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 defined 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, it is possible to use the method of performing the measurement in the stationary state as shown in FIG. 1A, and then performing the measurement in the stationary state after moving again, but this is not preferable in view of the efficiency of mapping.

그래서 도 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, and thus an error in the trajectory has a greater influence on the accuracy of the point group map than in the case of FIG. 1A. Therefore, when making a map by the method of FIG. 1B, it is most important to understand the exact trajectory of the lidar in the point cloud mapping.

이처럼 라이다의 정확한 궤적, 즉 라이다의 정확한 위치 정보가 무엇보다도 중요하다. 하지만, 앞서 살펴본 것처럼 종래에는 3개 이상의 와이파이 발신기로부터 수신되는 신호의 세기를 이용하여 삼각 측량을 통해 위치를 파악하거나 GPS를 이용하여 위치를 파악하는 방법을 이용하였다.As such, the exact trajectory of the rider, that is, the exact position information of the rider, is most important. However, as described above, in the related art, a method of identifying a location through triangulation or a 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 the 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방향의 가속도 센서를 포함할 수 있다. 이를 통해 라이다의 각속도 및 가속도를 검출하고 이에 기초하여 라이다의 위치와 자세를 판단할 수 있다. 이하 위치와 자세를 모두 포함하는 정보를 위치 정보라 한다. 자세는 다른 말로 회전을 의미한다.Using the IMU, you can find out 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, it is possible to detect the angular velocity and acceleration of the lidar and determine the position and posture of the lidar. 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 map generation method 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 an Odometry Estimation step and the other is a 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 112017120021378-pat00006
는 k 시점에 측정된 점군을 의미하고,
Figure 112017120021378-pat00007
는 한 주기 내에서 왜곡 보정을 거친 k 시점의 점군을 의미한다.
Figure 112017120021378-pat00008
은 k 시간에 구한 특징(선과 면)을 나타낸다.
Figure 112017120021378-pat00009
은 라이다로부터 추정된 궤적이고,
Figure 112017120021378-pat00010
은 IMU로부터 추정된 궤적이며
Figure 112017120021378-pat00011
는 융합된 궤적이다.Here, looking at terms related to the trajectory estimation step
Figure 112017120021378-pat00006
Means a point group measured at time k,
Figure 112017120021378-pat00007
Denotes a point group at time k after distortion correction within one period.
Figure 112017120021378-pat00008
Denotes the characteristics (line and face) obtained at k time.
Figure 112017120021378-pat00009
Is the trajectory estimated from Lidar,
Figure 112017120021378-pat00010
Is the estimated trajectory from the IMU
Figure 112017120021378-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). Then, 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 using the IMU (Data Fusion), and the estimated trajectory is corrected and point cloud transformation is performed (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 lidar is stopped and measured, 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 starting point and the end point will be different even within one period of the movement of the lidar.

즉, 도 1a 내지 도 1b와 같이 복수개의 점군을 병합(=중첩)하기 위해서 라이다의 이동 경로인 궤적이 필요할 뿐 아니라, 한 주기 내에서도 도 3과 같이 왜곡이 발생할 수 있기 때문에 라이다의 이동 경로인 제1-1 지점(111)에서 제1-2 지점(112)까지의 이동 경로가 필요하다.That is, not only the trajectory, which is a movement path of the lidar, is 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. A travel 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 (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, and thus 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 and 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 posture, 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 112017120021378-pat00012
Figure 112017120021378-pat00012

[수학식 2][Equation 2]

Figure 112017120021378-pat00013
Figure 112017120021378-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. As a result, an 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 rider needs to know the measurement point of each point to be measured accurately. When the measuring device is moved, the acceleration and angular acceleration in various directions caused by 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 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 112017120021378-pat00014
라 하고, IMU 센서의 측정 시간을
Figure 112017120021378-pat00015
~
Figure 112017120021378-pat00016
라 가정하자. 만약
Figure 112017120021378-pat00017
의 시간 값이
Figure 112017120021378-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 second. At this time, measure the time of each point
Figure 112017120021378-pat00014
The measurement time of the IMU sensor
Figure 112017120021378-pat00015
To
Figure 112017120021378-pat00016
Suppose if
Figure 112017120021378-pat00017
Time value of
Figure 112017120021378-pat00018
If larger, the point cloud data measured may be listed sequentially.

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

Figure 112017120021378-pat00019
의 시간 값이
Figure 112017120021378-pat00020
보다 작을 경우에는 다음의 수학식 3을 통해서 각 시점 k에 대한 비율을 구해서 사용할 수 있다. 즉 비율값을 이용하여 수학식 5에 의한 속도
Figure 112017120021378-pat00021
와 위치
Figure 112017120021378-pat00022
에 따라 연속적인 점군의 범위는 재조정되어 나열될 수 있다.But if not, that is
Figure 112017120021378-pat00019
Time value of
Figure 112017120021378-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 112017120021378-pat00021
And position
Figure 112017120021378-pat00022
Depending on the range of successive point groups can be rearranged and listed.

[수학식 3][Equation 3]

Figure 112017120021378-pat00023
Figure 112017120021378-pat00023

[수학식 4][Equation 4]

Figure 112017120021378-pat00024
Figure 112017120021378-pat00024

[수학식 5][Equation 5]

Figure 112017120021378-pat00025
Figure 112017120021378-pat00025

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

Figure 112017120021378-pat00026
와 i+1 번째 샘플의 보상된 점군
Figure 112017120021378-pat00027
사이의 궤적을 추정한다. 이를 위해서 각 시점의 특징점을 추출하여 궤적(odometry)을 계산한다.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 112017120021378-pat00026
And compensated point groups of the i + 1 th sample
Figure 112017120021378-pat00027
Estimate the trajectory between. To do this, the feature point of each viewpoint is extracted and the odometry is calculated.

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

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

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

Figure 112017120021378-pat00029
, 평면으로 판단된 점은
Figure 112017120021378-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, the curvature is determined as a plane. After that, the points that are judged as corners
Figure 112017120021378-pat00029
, The point determined to be flat
Figure 112017120021378-pat00030
Classify as a set.

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

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

[수학식 6][Equation 6]

Figure 112017120021378-pat00033
Figure 112017120021378-pat00033

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

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

[수학식 7][Equation 7]

Figure 112017120021378-pat00041
Figure 112017120021378-pat00041

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

[수학식 8][Equation 8]

Figure 112017120021378-pat00042
Figure 112017120021378-pat00042

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

Figure 112017120021378-pat00043
에 속하는 모든 점에 대해서 수학식 8과 같은 형태로 정리가 가능하다. 마찬가지로 평면으로 판단된 점들의 집합
Figure 112017120021378-pat00044
에 속하는 점은 3점을 추출하여 평면을 구축하고, 이 평면에 투영되는 점을 이용하여 수학식 8을 유도할 수 있다. 이렇게 유도된 식을 행마다 쌓아 행렬로 표현된 비선형 방정식을 만들 수 있다. 이는 다음의 수학식 9와 같다.Set of points judged as corners
Figure 112017120021378-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 112017120021378-pat00044
The point belonging to can be constructed by extracting three points and constructing a plane, and using Equation 8 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 112017120021378-pat00045
Figure 112017120021378-pat00045

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

Figure 112017120021378-pat00046
를 최소화하는
Figure 112017120021378-pat00047
,
Figure 112017120021378-pat00048
를 유도할 수 있다. 최적화 기법은 Gradient Descent, Gauss-Newton 등 다양한 방법을 사용할 수 있다. 다만, 본 발명에서는 이해의 편의를 돕기 위해 Levenberg-Marquardt (이하 LM) 기법을 기준으로 설명을 계속하기로 한다.In order to solve Equation 9, an optimization technique can be applied. In other words
Figure 112017120021378-pat00046
To minimize
Figure 112017120021378-pat00047
,
Figure 112017120021378-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 the convenience of understanding.

이를 통해 점군

Figure 112017120021378-pat00049
와 점군
Figure 112017120021378-pat00050
사이의 측정 장치의 이동량을 계산할 수 있다. 이러한 과정을 모든 시점에 대해서 반복하면 측정 장치가 측정을 시작한 시점부터 종료한 시점 사이의 라이다 장치의 이동 궤적을 추정할 수 있다. 즉 도 1b에서 제1 지점(110), 제2 지점(120) 및 제3 지점(130)으로 이루어지는 궤적을 추정할 수 있다. 이러한 과정은 도 2에서 설명한 특징점 비교를 기반으로 한 궤적 추정 과정이다. 이를 의사 코드로 정리하면 도 4와 같다.This allows the point cloud
Figure 112017120021378-pat00049
And point group
Figure 112017120021378-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 can be summarized as shown in FIG. 4.

도 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 112017120021378-pat00051
와 i-1 번째 샘플의 보상된 점군
Figure 112017120021378-pat00052
및 i-1 번째 샘플의 측정 장치의 자세
Figure 112017120021378-pat00053
를 이용하여 i 번째 샘플의 측정 장치의 자세
Figure 112017120021378-pat00054
를 구할 수 있다. 이를 위해서
Figure 112017120021378-pat00055
의 모든 점에 대해서 곡률을 기반으로 모서리와 평면으로 점을 분류한다.Referring to FIG. 4, the compensated point group of the i th sample
Figure 112017120021378-pat00051
And compensated point groups of the i-1th sample
Figure 112017120021378-pat00052
And the posture of the measuring device of the i-1th sample
Figure 112017120021378-pat00053
Position of the measuring device of the i th sample using
Figure 112017120021378-pat00054
Can be obtained. for this
Figure 112017120021378-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 the 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 three selected points.

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

Figure 112017120021378-pat00056
Figure 112017120021378-pat00057
사이의 측정 장치의 움직임을 회전
Figure 112017120021378-pat00058
와 이동
Figure 112017120021378-pat00059
로 표현할 수 있다. 이처럼 특징점을 기반으로 구한 측정 장치의 움직임을 궤적(Odometry)으로 사용하면 도 1b에서 설명한 것처럼 측정 장치가 이동하면서 측정한 복수개의 점군을 중첩하여 3차원 점군 지도를 생성할 수 있다.Equation 8 derived for all points as a matrix gives equation 9 and by applying an optimization technique
Figure 112017120021378-pat00056
Wow
Figure 112017120021378-pat00057
Rotate the movement of the measuring device between
Figure 112017120021378-pat00058
Go with
Figure 112017120021378-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 first-first 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 by 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 location of a LiDAR device is detected using GPS, a map may be created 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 moving path for a short time for correcting distortion occurring within one period as in the case of FIG. 3, and for a long time in the entire measuring 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를 이용해서 추정한 궤적을 병합하기 위해서 가중치에 기반한 산술 연산을 수행할 수 있다.Further, the trajectories estimated by comparing the feature points and the trajectories estimated by using the IMU can also be combined. 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 112017120021378-pat00060
에 w의 가중치를 곱하고, IMU를 이용해서 추정한 궤적
Figure 112017120021378-pat00061
에 (1-w)의 가중치를 곱해서 이를 더한 값으로 융합된 궤적
Figure 112017120021378-pat00062
를 얻을 수 있다. 물론 이러한 가중치 연산 외에도 다양한 산술 연산을 통해서 궤적
Figure 112017120021378-pat00063
와 궤적
Figure 112017120021378-pat00064
을 융합하여 궤적
Figure 112017120021378-pat00065
를 얻을 수 있다.That is, the trajectory estimated by comparing the feature points
Figure 112017120021378-pat00060
Multiplying by the weight of w and the trajectory estimated using IMU
Figure 112017120021378-pat00061
Multiplied by the weight of (1-w) to add the sum
Figure 112017120021378-pat00062
Can be obtained. Of course, in addition to such a weight operation, the trajectory through various arithmetic operations
Figure 112017120021378-pat00063
And trajectory
Figure 112017120021378-pat00064
Trajectory by fusing
Figure 112017120021378-pat00065
Can be obtained.

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

Figure 112017120021378-pat00066
의 가중치를 높게 설정하고, IMU를 이용해서 추정한 궤적
Figure 112017120021378-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 112017120021378-pat00066
The trajectory estimated using the IMU with a high weight of
Figure 112017120021378-pat00067
The weight of can be set low.

이렇게 모든 측정 시점에 대해서 구한 측정 장치의 궤적은 측정 장치의 회전 및 이동 행렬로 표현할 수 있다. 이를 통해 앞서 도 1a에서 설명한 것처럼 모든 점군을 동일한 좌표계로 변환할 수 있다. 즉 각 시점의 점군을 궤적 추정 단계에서 얻어진 측정 장치의 상대적인 위치 및 회전을 활용하여 다음의 수학식 10과 같이 변환할 수 있다.The trajectory of the measuring device 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 112017120021378-pat00068
Figure 112017120021378-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 112017120021378-pat00069
는 추정된 궤적을 통해 변환된 점군이고,
Figure 112017120021378-pat00070
는 지면이 제거된 점군의 집합이다.
Figure 112017120021378-pat00071
는 군집화 된 그룹을 나타내며,
Figure 112017120021378-pat00072
는 각 그룹의 특징들의 집합이다.
Figure 112017120021378-pat00073
는 기존 3차원 지도에 저장되어 있던 특징들의 집합을 나타낸다. 마지막으로
Figure 112017120021378-pat00074
는 k번째 샘플까지 누적된 3차원 지도를 의미한다.Here, if you look at the term in relation to the segment-based mapping step,
Figure 112017120021378-pat00069
Is the point group transformed through the estimated trajectory,
Figure 112017120021378-pat00070
Is a set of point groups with ground removed.
Figure 112017120021378-pat00071
Represents a clustered group,
Figure 112017120021378-pat00072
Is a set of features of each group.
Figure 112017120021378-pat00073
Represents a set of features stored in the existing 3D map. Finally
Figure 112017120021378-pat00074
Denotes a three-dimensional map accumulated up to the k th 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. ), And accumulate a point group to generate a three-dimensional 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 accurately estimated. The pretreatment step first removes the ground from the point cloud.

지면을 제거하는 단계는 매 프레임 측정되는 점군에서 땅에 해당하는 데이터를 제거하는 것을 말한다. 이는 연산 속도를 높이는 한편 3차원 지도의 정확도를 높이는 효과가 있다. 이를 위해 라이다와 결합된 IMU 센서에서 얻어지는 자세각 값을 이용하여 측정된 점군의 z축을 지구의 중력 가속도 방향과 일치 시킨다.The step of removing the ground is to remove data corresponding to the ground from the 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 values obtained from the IMU sensor combined with the Lidar is matched with the gravitational acceleration direction of the earth.

그 뒤, 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. We 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 112017120021378-pat00075
Figure 112017120021378-pat00075

여기서

Figure 112017120021378-pat00076
은 range image에서 (r, c)위치에서의 값이며,
Figure 112017120021378-pat00077
는 angle image를 나타낸다.
Figure 112017120021378-pat00078
는 range image에서 r번째 행에 해당하는 레이저 빔의 수직 각도를 의미하며,
Figure 112017120021378-pat00079
는 range image에서 r-1번째 행에 해당하는 레이저 빔의 수직 각도를 나타낸다.here
Figure 112017120021378-pat00076
Is the value at position (r, c) in the range image,
Figure 112017120021378-pat00077
Indicates an angle image.
Figure 112017120021378-pat00078
Is the vertical angle of the laser beam corresponding to the rth row in the range image.
Figure 112017120021378-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. In other words, starting from the bottom point of the angle image, the breadth-first search (BFS) method, which determines the ground if the angle change with the surrounding pixels is small, 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 an 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 then a potential candidate is selected to be used as a reference element for matching. At this time, clustering technique is used. Here, Euclidean distance clustering can be applied. In other words, it is called Euclidean segmentation.

이는 측정된 점을 KdTree 형태로 구성한 뒤, 무작위로 선택된 점 주변의 일정 임계치 거리 값 이내에 있는 점들을 같은 군집에 속하는 것으로 판단하는 방법이다. 하나의 객체에서 얻어진 점군 들은 대체로 모여 있기 때문에 이와 같은 방법에 기반하여 점을 군집화 하게 되면 각 객체 단위 별로 물체가 군집화가 수행된다.This is a method of constructing a measured point in the form of a KdTree, and then determining points within a predetermined threshold distance value around a randomly selected point as belonging to the same cluster. Because 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)에 존재하는 점군들만 군집화를 수행할 수 있다. 이는 라이다의 특성상, 멀리 위치한 물체들은 점의 수가 적기 때문에 밀도가 낮아 군집화가 어렵기 때문이다.At this time, 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 cloud within a certain distance from the lidar, the noise is removed and transformed into Voxel Grid coordinate system for efficient data storage. For point groups converted to Voxel coordinate system, Euclid 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 view for explaining a clustering process that can be used in one 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. 5B, they may be objectized into one cluster. 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 112017120021378-pat00080
Figure 112017120021378-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. Because 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 the 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 trajectories were estimated for all points of the second sample by comparing with the first sample, which was the previous sample. In the segment-based mapping sugar, the point groups clustered in the second sample and the clustered point groups in the first sample were compared. 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 fixed and not actually moving. Of course, there are moving objects in addition to the measuring device, but since there are many objects that are fixed in the surrounding environment such as buildings, the accuracy is high even if the trajectory is estimated based on the clustered point group. As will be described later, a pair corresponding to an outlier among some 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, the 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, the mismatched groups are found, and the matching pairs corresponding to the outliers are removed using random sample consensus (RANSAC) to reflect them. If M matches among 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. This can be repeated every frame to update the 3D map 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 eigenvalue-based features.

이와 같은 본 발명에서 제안하는 지도 생성 방법 이용하면 단거리 및 중거리에서 측정된 점들의 위치 변화를 고려하여 라이다의 이동량을 정밀하게 얻을 수 있기 때문에, 고정밀 GPS 기반의 지도 생성 방법을 이용하는 경우와 유사한 정밀도를 확보하면서 실내외에서 자유롭게 3차원 점군 지도를 생성할 수 있다.By 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 of the position of the points measured in the short distance and the medium distance, the precision similar to the case of using the high-precision GPS-based map generation method. 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, since the location of the computed global map coordinates of the object group and the feature of each object are stored, the 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 3D map, the point groups in the 3D map are divided into objects through clustering, and thus, when the first starting point using the measuring device and the ending point of the measuring point 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 arrival 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, 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 measuring 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, the 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 features of 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, 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 corner of the second sample is a moving matrix in which the point corresponding to the corner of the second sample can be derived from the point group of the first sample by projecting on a line made 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 the point corresponding to the plane of the second sample can be derived from the point cloud of the first sample by projecting onto a plane created 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 샘플을 측정할 당시의 측정 장치의 위치의 차이인 이동 경로, 즉 궤적을 추정할 수 있다.A nonlinear equation is derived for all points belonging to the second sample, and an optimization technique is used to obtain a movement matrix and a rotation matrix for the points of the first sample corresponding 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 is estimated and the IMU sensor value is 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 high accuracy by 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 process (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 into an angle image, and then finding the ground where the change in angle is small 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 other points (S1420). This corresponds to Euclidean segmentation. Next, matching is performed by comparing the 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 transform 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 (10)

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

여기서,
Figure 112019090612181-pat00105
는 상기 궤적의 회전 행렬이고,
Figure 112019090612181-pat00106
는 상기 궤적의 이동 행렬인,
라이다를 이용한 지도 생성 방법.
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. 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
Generating a point cloud map by accumulating the second point cloud on the first point cloud by comparing the feature of the clustered object of the first point cloud with the feature of the clustered object of the second cloud; Included,
Estimating the Odometry,
Calculating curvature for all points belonging to the second point group, and classifying the curvatures into points belonging to an edge and points belonging to a plane by comparing with a preset threshold; And
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,
[Equation 9]
Figure 112019090612181-pat00104

here,
Figure 112019090612181-pat00105
Is the rotation matrix of the trajectory,
Figure 112019090612181-pat00106
Is a moving matrix of the trajectory,
Map generation method using LiDAR.
제1항에 있어서,
상기 궤적(Odometry)을 추정하는 단계 이전에,
상기 제2 점군에 대해, 상기 지도 생성 장치의 이동으로 인해 한 측정 주기 내에서 발생할 수 있는 왜곡을 IMU 측정값을 이용하여 보상하는 단계를 더 포함하는,
라이다를 이용한 지도 생성 방법.
The method of claim 1,
Before estimating the Odometry,
Compensating for the second point group by using an IMU measurement, the distortion that may occur within a measurement period due to the movement of the map generation device,
Map generation method using LiDAR.
제1항에 있어서,
상기 궤적(Odometry)을 추정하는 단계는,
최적화 기법을 이용하여 상기 d를 최소화하는
Figure 112019090612181-pat00084
Figure 112019090612181-pat00085
를 유도하는 단계를 더 포함하는,
라이다를 이용한 지도 생성 방법.
The method of claim 1,
Estimating the Odometry,
Minimizing d using optimization techniques
Figure 112019090612181-pat00084
And
Figure 112019090612181-pat00085
Further comprising the step of,
Map generation method using LiDAR.
제1항에 있어서,
상기 궤적(Odometry)을 추정하는 단계는,
IMU 측정값을 이용하여 상기 제1 지점으로부터 상기 제2 지점까지의 이동 경로인 제2 궤적을 추정하는 단계; 및
상기 궤적과 상기 제2 궤적을 병합하는 단계를 포함하는,
라이다를 이용한 지도 생성 방법.
The method of claim 1,
Estimating the Odometry,
Estimating a second trajectory that is a moving path from the first point to the second point using an IMU measurement; And
Merging the trajectory and the second trajectory;
Map generation method using LiDAR.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020170163759A 2017-11-30 2017-11-30 Method for building map using LiDAR KR102063534B1 (en)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Related Child Applications (2)

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

Publications (2)

Publication Number Publication Date
KR20190064311A KR20190064311A (en) 2019-06-10
KR102063534B1 true KR102063534B1 (en) 2020-01-09

Family

ID=66848538

Family Applications (1)

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

Country Status (1)

Country Link
KR (1) KR102063534B1 (en)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102083482B1 (en) * 2018-12-13 2020-03-02 국민대학교산학협력단 Lidar-based vehicle travelable area detection apparatus and method
CN110345936B (en) * 2019-07-09 2021-02-09 上海有个机器人有限公司 Track data processing method and processing system of motion device
KR102267277B1 (en) * 2019-08-29 2021-06-21 (주)오토노머스에이투지 METHOD FOR CLUSTERING POINT DATA OF LiDAR SENSOR, AND COMPUTING DEVICE USING THE SAME
CN111487646A (en) * 2020-03-31 2020-08-04 安徽农业大学 Online detection method for corn plant morphology
KR102490520B1 (en) * 2020-04-29 2023-01-25 주식회사 모빌테크 Apparatus for building map using gps information and lidar signal and controlling method thereof
CN111710040B (en) * 2020-06-03 2024-04-09 纵目科技(上海)股份有限公司 High-precision map construction method, system, terminal and storage medium
CN111983582A (en) * 2020-08-14 2020-11-24 北京埃福瑞科技有限公司 Train positioning method and system
CN112634260A (en) * 2020-12-31 2021-04-09 上海商汤智能科技有限公司 Map evaluation method and device, electronic equipment and storage medium
KR102268980B1 (en) * 2020-12-31 2021-06-24 주식회사 위즈윙 Location estimation apparatus for autonomous driving of drones in GPS shaded areas
CN114842156A (en) * 2021-02-01 2022-08-02 华为技术有限公司 Three-dimensional map construction method and device
KR102514812B1 (en) * 2021-05-28 2023-03-29 한국과학기술원 Computer system for automatic wall slant angle map generation using lidar and inertial sensor, and operating method of the same
CN113643346A (en) * 2021-07-28 2021-11-12 杭州易现先进科技有限公司 Scene reconstruction method and scanning device
CN113689504B (en) * 2021-10-25 2022-01-25 上海仙工智能科技有限公司 Point cloud accurate positioning method and device based on describable shape and storage medium
KR102482048B1 (en) * 2021-12-23 2022-12-28 주식회사 모빌테크 Method for trajectory correction for 3D map creation, and computer program recorded on record-medium for executing method therefor
CN116931557A (en) * 2022-04-08 2023-10-24 追觅创新科技(苏州)有限公司 Method and device for controlling movement of robot, storage medium and electronic device
CN115164906B (en) * 2022-09-02 2022-11-15 深圳鹏行智能研究有限公司 Positioning method, robot, and computer-readable storage medium
CN116910888B (en) * 2023-09-08 2023-11-24 临沂大学 Method and system for generating BIM model component of assembled building

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101427364B1 (en) * 2014-03-27 2014-08-08 (주)아세아항측 Scanning system for producing indoor map using LIDAR
JP2014174275A (en) * 2013-03-07 2014-09-22 Advanced Telecommunication Research Institute International Geographical map preparation device, geographical map preparation program, and geographical map preparation method
JP5852645B2 (en) * 2011-05-20 2016-02-03 株式会社日立製作所 Trajectory correction method, trajectory correction device, and moving body device
JP2016109650A (en) * 2014-12-10 2016-06-20 株式会社デンソー Position estimation system, position estimation method, and position estimation program
JP2016218024A (en) * 2015-05-26 2016-12-22 株式会社日立産機システム Map generation device and map generation method
WO2017006577A1 (en) * 2015-07-03 2017-01-12 三菱電機株式会社 Device for selecting three-dimensional point group, and method for selecting three-dimensional point group
JP6320664B2 (en) * 2016-03-07 2018-05-09 三菱電機株式会社 Map creation apparatus and map creation method
KR101918168B1 (en) * 2017-10-16 2018-11-14 삼성에스디에스 주식회사 Method for performing 3D measurement and Apparatus thereof

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5852645B2 (en) * 2011-05-20 2016-02-03 株式会社日立製作所 Trajectory correction method, trajectory correction device, and moving body device
JP2014174275A (en) * 2013-03-07 2014-09-22 Advanced Telecommunication Research Institute International Geographical map preparation device, geographical map preparation program, and geographical map preparation method
KR101427364B1 (en) * 2014-03-27 2014-08-08 (주)아세아항측 Scanning system for producing indoor map using LIDAR
JP2016109650A (en) * 2014-12-10 2016-06-20 株式会社デンソー Position estimation system, position estimation method, and position estimation program
JP2016218024A (en) * 2015-05-26 2016-12-22 株式会社日立産機システム Map generation device and map generation method
WO2017006577A1 (en) * 2015-07-03 2017-01-12 三菱電機株式会社 Device for selecting three-dimensional point group, and method for selecting three-dimensional point group
JP6320664B2 (en) * 2016-03-07 2018-05-09 三菱電機株式会社 Map creation apparatus and map creation method
KR101918168B1 (en) * 2017-10-16 2018-11-14 삼성에스디에스 주식회사 Method for performing 3D measurement and Apparatus thereof

Also Published As

Publication number Publication date
KR20190064311A (en) 2019-06-10

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
US20200124421A1 (en) Method and apparatus for estimating position
US11645757B2 (en) Method of and apparatus for analyzing images
KR102627453B1 (en) Method and device to estimate position
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
CN110044354A (en) A kind of binocular vision indoor positioning and build drawing method and device
CN114526745B (en) Drawing construction method and system for tightly coupled laser radar and inertial odometer
CN110726406A (en) Improved nonlinear optimization monocular inertial navigation SLAM method
KR102396929B1 (en) 2d vehicle localizing using geoarcs
Zhang et al. Vision-aided localization for ground robots
WO2023000294A1 (en) Pose estimation method, laser-radar-inertial odometer, movable platform and storage medium
KR102387679B1 (en) 3d vehicle localizing using geoarcs
KR102083913B1 (en) Apparatus for building map using LiDAR
KR20210029518A (en) Multi-sensor based unmanned aerial vehicle and its control method
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
Deschênes et al. Lidar scan registration robust to extreme motions
CN113741503B (en) Autonomous positioning unmanned aerial vehicle and indoor path autonomous planning method thereof
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
Opromolla et al. PCA-based line detection from range data for mapping and localization-aiding of UAVs

Legal Events

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