KR102482048B1 - Method for trajectory correction for 3D map creation, and computer program recorded on record-medium for executing method therefor - Google Patents

Method for trajectory correction for 3D map creation, and computer program recorded on record-medium for executing method therefor Download PDF

Info

Publication number
KR102482048B1
KR102482048B1 KR1020210185558A KR20210185558A KR102482048B1 KR 102482048 B1 KR102482048 B1 KR 102482048B1 KR 1020210185558 A KR1020210185558 A KR 1020210185558A KR 20210185558 A KR20210185558 A KR 20210185558A KR 102482048 B1 KR102482048 B1 KR 102482048B1
Authority
KR
South Korea
Prior art keywords
data
trajectory
curve fitting
point cloud
expected trajectory
Prior art date
Application number
KR1020210185558A
Other languages
Korean (ko)
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 KR1020210185558A priority Critical patent/KR102482048B1/en
Application granted granted Critical
Publication of KR102482048B1 publication Critical patent/KR102482048B1/en

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • 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
    • G06T3/0093
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Electromagnetism (AREA)
  • Automation & Control Theory (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Navigation (AREA)

Abstract

The present invention proposes a trajectory correction method. The method comprises: a step in which a map generation device corrects errors due to a change in location using 3D point cloud data collected in real time through LiDAR, whose location changes in real time; a step in which the map generation device estimates an expected trajectory (odometry) related to the change in the location based on the corrected 3D point cloud data; a step in which the map generation device applies curve fitting to the estimated expected trajectory; and a step in which the map generation device maps an expected trajectory before the curve fitting to the expected trajectory to which the curve fitting is applied. Through this, the present invention corrects errors in 3D point cloud data collected through LiDAR and generates a 3D map through a mapped trajectory by applying curve fitting to an expected trajectory estimated through the error-corrected 3D point cloud data, thereby minimizing errors occurring in the process of generating the 3D map.

Description

3D 지도 생성을 위한 궤적 보정 방법 및 이를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램{Method for trajectory correction for 3D map creation, and computer program recorded on record-medium for executing method therefor}Method for trajectory correction for 3D map creation, and computer program recorded on record-medium for executing method therefor}

본 발명은 위치 기반 서비스(Location Based Service, LBS)에 관한 것이다. 보다 상세하게는, 라이다(LiDAR) 데이터를 기반으로 3D 지도를 생성하는 과정에서 발생될 수 있는 오류를 최소화할 수 있는 궤적 보정 방법 및 이를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램에 관한 것이다.The present invention relates to a Location Based Service (LBS). More specifically, it relates to a trajectory correction method capable of minimizing errors that may occur in the process of generating a 3D map based on LiDAR data and a computer program recorded on a recording medium to execute the same.

차량의 자율주행(automatic driving)은 차량 스스로 판단하여 주행할 수 있는 시스템을 의미한다. 이와 같은, 자율주행은 시스템이 주행에 관여하는 정도와 운전차가 차량을 제어하는 정도에 따라 비자동화부터 완전 자동화까지 점진적인 단계로 구분될 수 있다. 일반적으로, 자율주행의 단계는 국제자동차기술자협회(SAE(Society of Automotive Engineers) International)에서 분류한 6단계의 레벨로 구분된다. 국제자동차기술자협회가 분류한 6단계에 따르면, 레벨 0단계는 비자동화, 레벨 1단계는 운전자 보조, 레벨 2단계는 부분 자동화, 레벨 3단계는 조건부 자동화, 레벨 4단계는 고도 자동화, 그리고 레벨 5단계는 완전 자동화 단계이다.Autonomous driving of a vehicle refers to a system that can judge and drive a vehicle by itself. Such autonomous driving may be classified into gradual stages from non-automation to complete automation according to the degree of involvement of the system in driving and the degree of control of the vehicle by the driver. In general, the level of autonomous driving is divided into six levels classified by the Society of Automotive Engineers (SAE) International. According to the six levels classified by the International Association of Automotive Engineers, level 0 is non-automation, level 1 is driver assistance, level 2 is partial automation, level 3 is conditional automation, level 4 is highly automated, and level 5 The steps are fully automated steps.

자율주행은 인지(perception), 측위(localization), 경로 계획(path planning) 및 제어(control)의 메커니즘을 통해 수행된다. 그리고, 다양한 기업체들은 자율주행 메커니즘에서 인지 및 경로 계획을 인공지능(AI)을 이용하여 구현하기 위해 개발 중에 있다.Autonomous driving is performed through mechanisms of perception, localization, path planning, and control. In addition, various companies are developing to implement recognition and path planning in autonomous driving mechanisms using artificial intelligence (AI).

이와 같은, 자율주행을 위해서는 도로에 관한 다양한 정보가 선제적으로 수집되어야 한다. 그러나, 현실적으로 차량의 센서 만을 이용하여 방대한 정보를 실시간 수집하여 분석하는 것은 쉽지 않다. 이에 따라, 자율주행이 현실화되기 위해서는 실제 자율 주행에 필요한 각종 정보를 제공해 줄 수 있는 정밀도로지도가 필수적이다For such autonomous driving, various information on roads must be preemptively collected. However, in reality, it is not easy to collect and analyze vast amounts of information in real time using only vehicle sensors. Accordingly, in order for autonomous driving to become a reality, maps with high precision that can provide various information necessary for actual autonomous driving are essential.

여기서, 정밀도로지도는 도로와 주변 지형의 정보를 정확도 ±25㎝로 구축한 3차원 전자지도를 말한다. 이러한, 정밀도로지도는 일반적인 전자지도의 정보(길안내를 위해 필요한 노드 정보들과 링크 정보들)에 더하여, 도로의 폭, 도로의 곡률, 도로의 경사도, 차선 정보(점선, 실선, 정지선 등), 면형 정보(횡단보도, 과속방지턱, 갓길 등), 노면 마크 정보, 표지 판 정보, 시설물 정보(신호등, 연석, 맨홀 등) 등과 같은 정밀 정보를 포함하는 지도이다.Here, the high-precision road map refers to a three-dimensional electronic map constructed with information on roads and surrounding topography with an accuracy of ±25 cm. In addition to general electronic map information (node information and link information necessary for route guidance), these precision maps include road width, road curvature, road slope, lane information (dotted lines, solid lines, stop lines, etc.) It is a map that includes precise information such as surface type information (crosswalks, speed bumps, shoulders, etc.), road surface mark information, sign information, facility information (traffic lights, curbs, manholes, etc.).

이러한, 정밀도로지도를 생성하기 위해서는 이동 지도제작 시스템(Mobile Mapping System, MMS), 항공사진 촬영 정보 및 다양한 관련 자료들이 요구된다.In order to create a map with such precision, a Mobile Mapping System (MMS), aerial photographic information, and various related data are required.

MMS는 차량에 장착되어 차량의 운행과 함께 도로 주변에 있는 지형지물의 위치측정 및 시각정보를 획득하도록 이루어진다. 즉, MMS는 차체의 위치와 자세정보를 취득하기 위한 GPS(Global Positioning System), 관성 항법 장치(Inertial Navigation System; INS), 관성 측정 장치(Inertial Measurement Unit; IMU), 지형지물의 형상과 정보를 수집하기 위한 카메라, 라이다(Light Detection and Ranging, LiDAR) 센서 및 기타 센서에 의해 수집된 정보들을 기반으로 생성될 수 있다.The MMS is mounted on a vehicle to measure the position of a feature around a road and acquire visual information while driving the vehicle. That is, the MMS collects GPS (Global Positioning System), Inertial Navigation System (INS), Inertial Measurement Unit (IMU), shape and information of landmarks to acquire position and attitude information of the vehicle body. It may be generated based on information collected by a camera, a LiDAR (Light Detection and Ranging) sensor, and other sensors for processing.

이 중에서, 라이다(LiDAR)는 고출력 레이저 펄스를 발사해 레이저가 목표물에 반사되어 되돌아오는 시간을 측정하여 사물로부터의 거리, 형태를 나타내는 3D 데이터를 획득할 수 있다.Among them, LiDAR can acquire 3D data representing the distance and shape of an object by emitting high-powered laser pulses and measuring the time for the laser to reflect and return to the target.

그러나, MMS에 사용되는 라이다는 도로 상에서 이동하는 차량에 설치되어 실시간으로 3D 데이터를 획득하므로, 3D 데이터를 획득하는 과정에서 라이다의 위치가 변화됨에 따라 오차가 존재할 수 있다. However, since the lidar used in MMS is installed in a vehicle moving on the road and acquires 3D data in real time, an error may exist as the position of the lidar changes during the process of acquiring 3D data.

또한, MMS는 라이다에 의해 수집된 데이터와 다른 센서에 의해 수집된 데이터를 종합 반영하는 과정에서도, 센서들의 설치 위치 및 이동에 따른 오차가 존재할 수 있다. 그리고, 이러한 오차들은 생성된 정밀도로지도의 정확도를 감소시키는 문제점이 있었다.In addition, MMS may have an error due to the installation position and movement of sensors even in the process of comprehensively reflecting data collected by lidar and data collected by other sensors. And, these errors have a problem of reducing the accuracy of the map with the precision generated.

대한민국 공개특허공보 제10-2013-0123041호, ‘라이다 장치를 활용한 실내지도 자동 생성 방법’, (2013.11.12. 공개)Republic of Korea Patent Publication No. 10-2013-0123041, ‘Method of automatically generating an indoor map using LIDAR device’, (published on November 12, 2013)

본 발명의 일 목적은 라이다 데이터를 기반으로 3D 지도를 생성하는 과정에서 발생될 수 있는 오류를 최소화할 수 있는 궤적 보정 방법을 제공하는 것이다.One object of the present invention is to provide a trajectory correction method capable of minimizing errors that may occur in the process of generating a 3D map based on lidar data.

본 발명의 다른 목적은 라이다 데이터를 기반으로 3D 지도를 생성하는 과정에서 발생될 수 있는 오류를 최소화할 수 있는 궤적 보정 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제공하는 것이다.Another object of the present invention is to provide a computer program recorded on a recording medium to execute a trajectory correction method capable of minimizing errors that may occur in the process of generating a 3D map based on lidar data.

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.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.

상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 궤적 보정 방법을 제안한다. 상기 방법은 지도 생성 장치가, 위치가 실시간으로 변화되는 라이다(LiDAR)를 통해 실시간으로 수집된 3D 점군 데이터를 대상으로 상기 위치의 변화에 따른 오차를 보정하는 단계, 상기 지도 생성 장치가, 상기 보정된 3D 점군 데이터를 기초로, 상기 위치의 변화와 관련된 예상 궤적(odometry)을 추정하는 단계, 상기 지도 생성 장치가, 상기 추정된 예상 궤적에 커브 피팅(curve fitting)을 적용하는 단계, 상기 지도 생성 장치가, 상기 커브 피팅이 적용된 예상 궤적을 대상으로 상기 커브 피팅 전 예상 궤적을 맵핑(mapping)하는 단계를 포함할 수 있다.In order to achieve the technical problem as described above, the present invention proposes a trajectory correction method. The method includes a step of correcting, by a map generating device, an error due to a change in location for 3D point cloud data collected in real time through a LiDAR whose location is changed in real time; Estimating an expected trajectory related to the change in position based on corrected 3D point cloud data; applying, by the map generating device, curve fitting to the estimated predicted trajectory; the map The generating apparatus may include mapping an expected trajectory before curve fitting to an expected trajectory to which the curve fitting is applied.

구체적으로, 상기 오차를 보정하는 단계는 상기 3D 점군 데이터와 동시에 수집된 INS 및 GPS 데이터를 기반으로, 상기 위치의 변화에 따른 상기 3D 점군 데이터의 오차를 보정할 수 있다.Specifically, in the correcting of the error, an error of the 3D point cloud data according to the change in position may be corrected based on INS and GPS data collected simultaneously with the 3D point cloud data.

상기 오차를 보정하는 단계는 상기 INS 데이터에 포함된 상대위치를 GPS 데이터의 절대 위치로 보완한 융합 데이터를 생성할 수 있다.In the correcting of the error, fusion data may be generated by supplementing the relative position included in the INS data with the absolute position of the GPS data.

상기 오차를 보정하는 단계는 상기 라이다의 위치와 가장 가까운 융합 데이터를 탐색하고, 상기 3D 점군 데이터 및 상기 융합 데이터가 수집된 시간 정보를 기초로, 상기 위치의 변환에 따른 상기 3D 점군 데이터의 오차를 보정할 수 있다.The step of correcting the error searches for fusion data closest to the position of the lidar, and based on the 3D point cloud data and time information at which the fusion data was collected, the error of the 3D point cloud data according to the conversion of the position can be corrected.

상기 예상 궤적을 추정하는 단계는 상기 3D 점군 데이터 및 상기 융합 데이터를 복셀(voxel) 공간에 표현하고, 각 복셀에 포함된 포인트 그룹을 가우시안 분포로 근사화하여 상기 예상 궤적을 추정할 수 있다.In the estimating the expected trajectory, the expected trajectory may be estimated by expressing the 3D point cloud data and the fusion data in a voxel space and approximating a point group included in each voxel with a Gaussian distribution.

상기 예상 궤적을 추정하는 단계는 상기 추정된 예상 궤적의 좌표를 상기 융합 데이터의 좌표로 변환할 수 있다.In the estimating the expected trajectory, coordinates of the estimated expected trajectory may be converted into coordinates of the fusion data.

상기 예상 궤적을 추정하는 단계는 상기 라이다의 자세에 대한 회전 행렬 및 이동 행렬을 통해 상기 추정된 예상 궤적의 좌표를 상기 융합 데이터의 좌표로 변환할 수 있다.In the estimating the expected trajectory, coordinates of the estimated expected trajectory may be converted into coordinates of the fusion data through a rotation matrix and a movement matrix for the posture of the lidar.

상기 커브 피팅을 적용하는 단계는 베지어 커브 피팅(Bezier Curve Fitting) 알고리즘을 통해 상기 추정된 예상 궤적에 커브 피팅을 적용할 수 있다.In the applying of the curve fitting, curve fitting may be applied to the estimated trajectory through a Bezier curve fitting algorithm.

상기 커브 피팅을 적용하는 단계는 상기 커브 피팅 적용된 예상 궤적에 업 샘플링(up sampling)을 수행하고, 상기 업 샘플링 된 포인트에 타임 스탬프(time stamp)를 부여할 수 있다.In the applying of the curve fitting, up-sampling may be performed on the predicted trajectory to which the curve fitting is applied, and a time stamp may be assigned to the up-sampled point.

상기 커브 피팅을 적용하는 단계에서 상기 업 샘플링 된 포인트에 타임 스탬프를 사전 설정된 간격으로 균등하게 부여할 수 있다.In the step of applying the curve fitting, time stamps may be equally assigned to the up-sampled points at preset intervals.

상기 맵핑하는 단계는 상기 타임 스탬프를 기준으로 상기 커브 피팅 전 예상 궤적에 포함된 포인트를 상기 커브 피팅 적용된 예상 궤적에 포함된 포인트로 위치 좌표를 수정할 수 있다.In the mapping, based on the time stamp, position coordinates of points included in the predicted trajectory before the curve fitting may be modified to points included in the predicted trajectory to which the curve fitting is applied.

상기 맵핑하는 단계는 상기 커브 피팅 전 예상 궤적에 포함된 포인트를 상기 커브 피팅 적용된 예상 궤적에 포함된 포인트로 위치 좌표만을 수정하고, 자세 및 속도 데이터는 유지할 수 있다.In the mapping, only position coordinates may be modified from points included in the predicted trajectory before the curve fitting to points included in the predicted trajectory to which the curve fitting is applied, and posture and speed data may be maintained.

상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 상기 궤적 보정 방법을 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램을 제안한다. 상기 프로그램은 메모리(memory), 송수신기(transceiver) 및 상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합되어, 상기 프로세서가, 설치된 위치가 실시간으로 변화되는 라이다(LiDAR)를 통해 실시간으로 수집된 3D 점군 데이터를 대상으로 상기 위치의 변화에 따른 오차를 보정하는 단계, 상기 프로세서가, 상기 보정된 3D 점군 데이터를 기초로, 상기 위치의 변화와 관련된 예상 궤적(odometry)을 추정하는 단계, 상기 프로세서가, 상기 추정된 예상 궤적에 커브 피팅(curve fitting)을 적용하는 단계, 상기 프로세서가, 상기 커브 피팅이 적용된 예상 궤적을 대상으로 상기 커브 피팅 전 예상 궤적을 맵핑(mapping)하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.In order to achieve the technical problem as described above, the present invention proposes a computer program recorded on a recording medium to execute the trajectory correction method. The program is combined with a computing device including a memory, a transceiver, and a processor that processes instructions resident in the memory, and the processor is a lidar in which the installed position changes in real time ( Correcting an error due to a change in position of 3D point cloud data collected in real time through LiDAR), wherein the processor, based on the corrected 3D point cloud data, predicts an odometry associated with the change in position ), the processor applying curve fitting to the estimated expected trajectory, the processor mapping the expected trajectory before curve fitting to the expected trajectory to which the curve fitting is applied ( In order to execute the step of mapping), it may be a computer program recorded on a recording medium.

기타 실시 예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Details of other embodiments are included in the detailed description and drawings.

본 발명의 실시 예들에 따르면, 라이다를 통해 수집한 3D 점군 데이터의 오차를 보정하고, 오차 보정된 3D 점군 데이터를 통해 추정된 예상 궤적에 커브 피팅을 적용하여 맵핑(mapping)한 궤적을 통해 3D 지도를 생성함으로써, 3D 지도를 생성하는 과정에서 발생되는 오류를 최소화할 수 있다.According to embodiments of the present invention, errors in 3D point cloud data collected through LIDAR are corrected, and curve fitting is applied to an expected trajectory estimated through the error-corrected 3D point cloud data. By generating the map, errors occurring in the process of generating the 3D map can be minimized.

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

도 1은 본 발명의 일 실시예에 따른 지도 생성 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 지도 생성 장치의 논리적 구성도이다.
도 3은 본 발명의 일 실시예에 따른 지도 생성 장치의 하드웨어 구성도이다.
도 4는 본 발명의 일 실시예에 따른 지도 생성 방법을 설명하기 위한 순서도이다.
도 5는 본 발명의 일 실시예에 따른 라이다의 위치 변화에 의한 오차 보정을 수행 전 3D 점군 데이터를 bird's eye view로 시각화한 도면이다.
도 6은 본 발명의 일 실시예에 따른 라이다의 위치 변화에 의한 오차 보정을 수행 후 3D 점군 데이터를 bird's eye view로 시각화한 도면이다.
도 7은 본 발명의 일 실시예에 따른 궤적 보정 방법을 설명하기 위한 예시도이다.
도 8은 본 발명의 일 실시예에 따른 궤적 보정 방법에 따른 효과를 설명하기 위한 예시도이다.
1 is a block diagram of a map generating system according to an embodiment of the present invention.
2 is a logical configuration diagram of a map generating device according to an embodiment of the present invention.
3 is a hardware configuration diagram of a map generating device according to an embodiment of the present invention.
4 is a flowchart illustrating a method for generating a map according to an embodiment of the present invention.
5 is a diagram in which 3D point cloud data is visualized in a bird's eye view before performing error correction due to a position change of lidar according to an embodiment of the present invention.
6 is a diagram in which 3D point cloud data is visualized in a bird's eye view after performing error correction due to a position change of lidar according to an embodiment of the present invention.
7 is an exemplary diagram for explaining a trajectory correction method according to an embodiment of the present invention.
8 is an exemplary diagram for explaining an effect according to a trajectory correction method according to an embodiment of the present invention.

본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.It should be noted that the technical terms used in this specification are only used to describe specific embodiments and are not intended to limit the present invention. In addition, technical terms used in this specification should be interpreted in terms commonly understood by those of ordinary skill in the art to which the present invention belongs, unless specifically defined otherwise in this specification, and are excessively inclusive. It should not be interpreted in a positive sense or in an excessively reduced sense. In addition, when the technical terms used in this specification are incorrect technical terms that do not accurately express the spirit of the present invention, they should be replaced with technical terms that those skilled in the art can correctly understand. In addition, general terms used in the present invention should be interpreted as defined in advance or according to context, and should not be interpreted in an excessively reduced sense.

또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, '구성된다' 또는 '가지다' 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.Also, singular expressions used in this specification include plural expressions unless the context clearly indicates otherwise. In this application, terms such as 'consisting of' or 'having' should not be construed as necessarily including all of the various components or steps described in the specification, and some of the components or steps are included. It should be construed that it may not be, or may further include additional components or steps.

또한, 본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.Also, terms including ordinal numbers such as first and second used in this specification may be used to describe various components, but the components should not be limited by the terms. These terms are only used for the purpose of distinguishing one component from another. For example, a first element may be termed a second element, and similarly, a second element may be termed a first element, without departing from the scope of the present invention.

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

이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다. 본 발명의 사상은 첨부된 도면 외에 모든 변경, 균등물 내지 대체물에 까지도 확장되는 것으로 해석되어야 한다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings, but the same or similar components are given the same reference numerals regardless of reference numerals, and redundant description thereof will be omitted. In addition, in describing the present invention, if it is determined that a detailed description of a related known technology may obscure the gist of the present invention, the detailed description will be omitted. In addition, it should be noted that the accompanying drawings are only for easily understanding the spirit of the present invention, and should not be construed as limiting the spirit of the present invention by the accompanying drawings. The spirit of the present invention should be construed as extending to all changes, equivalents or substitutes other than the accompanying drawings.

한편 MMS는 차량에 장착되어 차량의 운행과 함께 도로 주변에 있는 지형지물의 위치측정 및 시각정보를 획득하도록 이루어진다. 즉, MMS는 차체의 위치와 자세정보를 취득하기 위한 GPS(Global Positioning System), 관성 항법 장치(Inertial Navigation System; INS), 관성 측정 장치(Inertial Measurement Unit; IMU), 지형지물의 형상과 정보를 수집하기 위한 카메라, 라이다(Light Detection and Ranging, LiDAR) 센서 및 기타 센서에 의해 수집된 정보들을 기반으로 생성될 수 있다.On the other hand, the MMS is mounted on a vehicle to measure the position of a feature in the vicinity of a road and acquire visual information while driving the vehicle. That is, the MMS collects GPS (Global Positioning System), Inertial Navigation System (INS), Inertial Measurement Unit (IMU), shape and information of landmarks to acquire position and attitude information of the vehicle body. It may be generated based on information collected by a camera, a LiDAR (Light Detection and Ranging) sensor, and other sensors for processing.

이 중에서, 라이다(LiDAR)는 고출력 레이저 펄스를 발사해 레이저가 목표물에 반사되어 되돌아오는 시간을 측정하여 사물로부터의 거리, 형태를 나타내는 3D 데이터를 획득할 수 있다.Among them, LiDAR can acquire 3D data representing the distance and shape of an object by emitting high-powered laser pulses and measuring the time for the laser to reflect and return to the target.

그러나, MMS에 사용되는 라이다는 도로 상에서 이동하는 차량에 설치되어 실시간으로 3차원 데이터를 획득하므로, 3D 데이터를 획득하는 과정에서 라이다의 위치가 변화됨에 따라 오차가 존재할 수 있다. However, since the lidar used in MMS is installed in a vehicle moving on the road and acquires 3D data in real time, an error may exist as the position of the lidar changes in the process of acquiring 3D data.

또한, MMS는 라이다에 의해 수집된 데이터와 다른 센서에 의해 수집된 데이터를 종합 반영하는 과정에서도, 센서들의 설치 위치 및 이동량에 따른 오차가 존재할 수 있다. 그리고, 이러한 오차들은 생성된 정밀도로지도의 정확도를 감소시키는 문제점이 있었다.In addition, in the process of comprehensively reflecting data collected by the lidar and data collected by other sensors in the MMS, errors may exist depending on the installation position and movement amount of the sensors. And, these errors have a problem of reducing the accuracy of the map with the precision generated.

이러한 한계를 극복하고자, 본 발명은 라이다를 통해 수집한 3D 점군 데이터를 이용하여 3D 지도를 생성하는 과정에서 발생되는 오류를 최소화할 수 있는 다양한 수단들을 제안하고자 한다.In order to overcome these limitations, the present invention proposes various means capable of minimizing errors generated in the process of generating a 3D map using 3D point cloud data collected through LIDAR.

이하, 상술한 바와 같은 특징을 가지는 본 발명의 다양한 실시예들에 대하여 보다 구체적으로 설명하기로 한다.Hereinafter, various embodiments of the present invention having the above characteristics will be described in more detail.

도 1은 본 발명의 일 실시예에 따른 지도 생성 시스템의 구성도이다.1 is a block diagram of a map generating system according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 지도 생성 시스템은 데이터 수집 장치(100) 및 지도 생성 장치(200)를 포함하여 구성될 수 있다.As shown in FIG. 1 , a map generating system according to an embodiment of the present invention may include a data collecting device 100 and a map generating device 200 .

이와 같은, 일 실시예에 따른 지도 생성 시스템의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.Since the components of the map generation system according to one embodiment are merely functionally distinct elements, two or more components are integrated and implemented in an actual physical environment, or one component is implemented in an actual physical environment. They may be implemented separately from each other.

각각의 구성 요소에 대하여 설명하면, 데이터 수집 장치(100)는 차량(10)에 고정 설치되어, 3D 지도 생성에 사용될 수 있는 데이터를 수집하기 위하여, 라이다(lidar, 110), INS(Inertial Navigation System, 120) 및 GPS(Global Positioning System, 130)를 포함할 수 있다.The data collection device 100 is fixedly installed in the vehicle 10 to collect data that can be used for 3D map generation. System, 120) and GPS (Global Positioning System, 130).

여기서, 데이터 수집 장치(100)에 포함된 라이다(110)는 차량(10)에 고정 설치되어, 차량(10)의 주위로 레이저 펄스를 발사하고, 차량(10) 주위에 위치하는 개체들에 의해 반사되어 돌아온 빛을 감지하여, 차량(10) 주위에 대한 3차원 영상에 해당하는 3D 점군 데이터를 생성할 수 있다. 따라서, 라이다(110)에 의해 획득된 3D 점군 데이터는 라이다(110)에 의해 3차원 공간으로 발사된 레이저 펄스를 반사시킨 점들(point)의 집합을 포함할 수 있다.Here, the LIDAR 110 included in the data collection device 100 is fixedly installed in the vehicle 10, emits laser pulses around the vehicle 10, and targets objects located around the vehicle 10. 3D point cloud data corresponding to a 3D image of the surroundings of the vehicle 10 may be generated by detecting light reflected and returned by the vehicle 10 . Accordingly, the 3D point cloud data obtained by the lidar 110 may include a set of points obtained by reflecting a laser pulse emitted by the lidar 110 into a 3D space.

한편, INS(120)는 관성센서(IMU)인 자이로 센서와 가속도 센서로 측정되는 가속도와 각속도를 이용하여, 상대위치, 실시간 속도 및 자세에 대한 정보를 계산하는 시스템이다. 이러한, INS(120)는 가속도 센서와 자이로 센서의 입력 값을 적분해 자세와 속도를 계산하기 때문에 시간이 지날수록 오차가 누적되는 단점이 있다.Meanwhile, the INS 120 is a system that calculates information about a relative position, real-time speed, and attitude using acceleration and angular velocity measured by a gyro sensor and an acceleration sensor, which are inertial sensors (IMUs). Since the INS 120 calculates the posture and speed by integrating the input values of the acceleration sensor and the gyro sensor, there is a disadvantage in that errors accumulate over time.

반면에, GPS(130)는 위성을 이용해 지구상의 절대적인 위치를 계산하는 전파 항법 시스템으로, INS(120)와는 달리 단시간의 항법 오차는 크지만 시간이 지나도 오차가 누적되지 않는 장점을 가지고 있다.On the other hand, the GPS 130 is a radio navigation system that uses satellites to calculate the absolute position on the earth. Unlike the INS 120, the short-term navigation error is large, but the error does not accumulate over time. It has the advantage.

이에 따라, 데이터 수집 장치(100)는 INS(120)로부터 상대위치, 자세 및 속도를 수집하고, GPS(130)로부터 절대위치를 수집하여, 지도 생성 장치(200)에 전송할 수 있다. 이에 따라, 데이터 수집 장치(100)는 지도 생성 장치가(200)가 INS(120)로부터 수집한 상대위치를 GPS(130)의 절대위치로 보완한 융합 데이터를 생성하도록 할 수 있다.Accordingly, the data collection device 100 may collect the relative position, attitude, and speed from the INS 120 and the absolute position from the GPS 130 and transmit the data to the map generator 200 . Accordingly, the data collection device 100 may generate fusion data supplemented with the absolute location of the GPS 130 for the relative location collected by the map generating device 200 from the INS 120 .

다음 구성으로, 지도 생성 장치(200)는 데이터 수집 장치(100)로부터 라이다(110), INS(120) 및 GPS(130)로부터 수집된 데이터를 수신하고, 수신된 데이터를 이용하여 3D 지도를 생성하는데 사용될 수 있는 장치이다.With the following configuration, the map generating device 200 receives data collected from the LIDAR 110, the INS 120, and the GPS 130 from the data collection device 100, and creates a 3D map using the received data. It is a device that can be used to create

이와 같은, 지도 생성 장치(200)는 기본적으로 데이터 수집 장치(100)와 구분되는 장치이나, 실제 물리적 환경에서 데이터 수집 장치(100)와 하나의 장치로 통합되어 구현될 수도 있다. 즉, 지도 생성 장치(200)는 데이터 수집 장치(100)와 통합되어, 3D 지도 생성을 위한 데이터를 수집하고, 자체적으로 수집된 데이터를 이용하여 3D 지도를 생성할 수 있다.The map generating device 200 as described above is basically a device that is distinct from the data collection device 100, but may be integrated with the data collection device 100 as one device in an actual physical environment. That is, the map generating device 200 may be integrated with the data collection device 100 to collect data for generating a 3D map and generate a 3D map using the data collected by itself.

특징적으로, 본 발명의 실시예에 따른 지도 생성 장치(200)는 위치가 실시간으로 변화되는 라이다(LiDAR)를 통해 실시간으로 수집된 3D 점군 데이터를 대상으로 위치의 변화에 따른 오차를 보정하고, 보정된 3D 점군 데이터를 기초로, 위치의 변화와 관련된 예상 궤적(odometry)을 추정하고, 추정된 예상 궤적에 커브 피팅(curve fitting)을 적용하고, 커브 피팅이 적용된 예상 궤적을 대상으로 커브 피팅 전 예상 궤적을 맵핑(mapping)할 수 있다.Characteristically, the map generating apparatus 200 according to an embodiment of the present invention corrects an error due to a change in position for 3D point cloud data collected in real time through LiDAR, in which the position changes in real time, Based on the calibrated 3D point cloud data, an expected trajectory related to the change in position (odometry) is estimated, curve fitting is applied to the estimated expected trajectory, and curve fitting is applied to the expected trajectory before curve fitting. An expected trajectory may be mapped.

여기서, 커브 피팅은 추정된 예상 궤적을 표현할 수 있는 가장 이상적인 직선 또는 곡선으로 생성할 수 있는 알고리즘이다. 즉, 본 발명의 실시예에 따른 지도 생성 장치(200)는 수집된 3D 점군 데이터에 커브 피팅을 적용하여, 3D 점군 데이터에 대하여 보간(interpolation) 및 평활(smoothing) 효과를 얻을 수 있다.Here, the curve fitting is an algorithm that can generate the most ideal straight line or curve that can express the estimated expected trajectory. That is, the map generating apparatus 200 according to an embodiment of the present invention may apply curve fitting to the collected 3D point cloud data to obtain interpolation and smoothing effects for the 3D point cloud data.

이와 같은, 지도 생성 장치(200)는 데이터 수집 장치(100)와 데이터를 송수신하고, 송수신된 데이터를 기초로 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 지도 생성 장치(200)는 데스크탑(desktop), 워크스테이션(workstation) 또는 서버(server)와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다.As such, the map generating device 200 may be any device capable of transmitting/receiving data to/from the data collection device 100 and performing calculations based on the transmitted/received data. For example, the map generating device 200 may be any one of a fixed computing device such as a desktop, workstation, or server, but is not limited thereto.

지금까지 상술한 바와 같은, 데이터 수집 장치(100) 및 지도 생성 장치(200)는 장치들 사이를 직접 연결하는 보안 회선, 공용 유선 통신망 또는 이동 통신망 중 하나 이상이 조합된 네트워크를 이용하여 데이터를 송수신할 수 있다. As described above, the data collection device 100 and the map generating device 200 transmit and receive data using a network in which at least one of a security line, a common wired communication network, and a mobile communication network directly connects devices. can do.

예를 들어, 공용 유선 통신망에는 이더넷(ethernet), 디지털가입자선(x Digital Subscriber Line, xDSL), 광동축 혼합망(Hybrid Fiber Coax, HFC), 광가입자망(Fiber To The Home, FTTH)가 포함될 수 있으나, 이에 한정되는 것도 아니다. 그리고, 이동 통신망에는 코드 분할 다중 접속(Code Division Multiple Access, CDMA), 와이드 밴드 코드 분할 다중 접속(Wideband CDMA, WCDMA), 고속 패킷 접속(High Speed Packet Access, HSPA), 롱텀 에볼루션(Long Term Evolution, LTE), 5세대 이동통신(5th generation mobile telecommunication)가 포함될 수 있으나, 이에 한정되는 것은 아니다.For example, public wired communication networks may include Ethernet, x Digital Subscriber Line (xDSL), Hybrid Fiber Coax (HFC), and Fiber To The Home (FTTH). It may be, but is not limited thereto. In addition, in the mobile communication network, Code Division Multiple Access (CDMA), Wideband CDMA (WCDMA), High Speed Packet Access (HSPA), Long Term Evolution, LTE) and 5th generation mobile telecommunication may be included, but is not limited thereto.

이하, 본 발명의 일 실시예에 따른 지도 생성 장치(200)의 논리적 구성에 대하여 상세히 설명하도록 한다.Hereinafter, the logical configuration of the map generating device 200 according to an embodiment of the present invention will be described in detail.

도 2는 본 발명의 일 실시예에 따른 지도 생성 장치의 논리적 구성도이다.2 is a logical configuration diagram of a map generating device according to an embodiment of the present invention.

도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 지도 생성 장치(200)는 통신부(205), 입출력부(210), 저장부(215), 오차 보정부(220), 궤적 추정부(225), 궤적 보정부(230), 궤적 맵핑부(235) 및 3D 지도 생성부(240)를 포함하여 구성될 수 있다.As shown in FIG. 2, the map generating device 200 according to an embodiment of the present invention includes a communication unit 205, an input/output unit 210, a storage unit 215, an error correction unit 220, and a trajectory estimation unit. 225, a trajectory correcting unit 230, a trajectory mapping unit 235, and a 3D map generating unit 240 may be included.

이와 같은, 지도 생성 장치(200)의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.Since the components of the map generating device 200 are merely functionally distinct elements, two or more components are integrated and implemented in an actual physical environment, or one component is separated from each other in an actual physical environment. and can be implemented.

각각의 구성 요소에 대하여 설명하면, 통신부(205)는 데이터 수집 장치(100)로부터 라이다(110)를 이용하여 생성된 3D 점군 데이터, INS(120)로부터 생성된 상대위치, 자세 및 속도 값, GPS(130)로부터 생성된 절대위치 값을 수신할 수 있다.Describing each component, the communication unit 205 includes 3D point cloud data generated from the data collection device 100 using the LIDAR 110, relative position, attitude and speed values generated from the INS 120, An absolute position value generated from the GPS 130 may be received.

그리고, 통신부(205)는 생성된 3D 지도 전체 또는 일부를 자율주행을 위한 복수의 차량에 전송할 수 있다.And, the communication unit 205 may transmit all or part of the generated 3D map to a plurality of vehicles for autonomous driving.

다음 구성으로, 입출력부(210)는 사용자 인터페이스(UI)를 통해 사용자로부터 신호를 입력 받거나, 연산 결과를 외부로 출력할 수 있다.With the following configuration, the input/output unit 210 may receive a signal from a user through a user interface (UI) or output an operation result to the outside.

구체적으로, 입출력부(210)는 사용자로부터 오차 보정, 궤적 추정, 궤적 보정, 궤적 매핑 및 3D 지도 생성을 위한 제어 신호를 입력 받을 수 있다. 즉, 입출력부(210)는 3D 점군 데이터의 오차를 보정하기 위한 제어 신호, 예상 궤적을 추정하기 위한 제어 신호, 추정된 예상 궤적에 커브 피팅을 적용하기 위한 제어 신호, 커브 피팅 적용된 예상 궤적과 매핑하기 위한 제어 신호 등을 입력 받을 수 있다.Specifically, the input/output unit 210 may receive control signals for error correction, trajectory estimation, trajectory correction, trajectory mapping, and 3D map generation from the user. That is, the input/output unit 210 generates a control signal for correcting an error of 3D point cloud data, a control signal for estimating an expected trajectory, a control signal for applying curve fitting to the estimated expected trajectory, and a curve fitting applied expected trajectory and mapping A control signal or the like for doing so may be input.

다음 구성으로, 저장부(215)는 통신부(205)를 통해 수신된 3D 점군 데이터, INS(120) 및 GPS(130)의 위치, 자세 및 속도 값을 저장할 수 있다. 또한, 저장부(215)는 3D 점군 데이터의 오차를 보정하기 위한 프로그램, 예상 궤적을 추정하기 위한 프로그램, 추정된 예상 궤적에 커브 피팅을 적용하기 위한 프로그램, 커브 피팅 적용된 예상 궤적과 매핑하기 위한 프로그램 등을 입력 받을 수 있다.With the following configuration, the storage unit 215 may store the 3D point cloud data received through the communication unit 205 and the position, attitude, and speed values of the INS 120 and the GPS 130 . In addition, the storage unit 215 includes a program for correcting errors in 3D point cloud data, a program for estimating an expected trajectory, a program for applying curve fitting to the estimated expected trajectory, and a program for mapping the expected trajectory to which curve fitting has been applied. etc. can be entered.

한편, 데이터 수집 장치(100)는 차량(10)을 통해 이동하면서, 라이다(110)로부터 3D 점군 데이터를 수집하게 된다. 이때, 수집되는 3D 점군 데이터는 각 지점의 상대 좌표를 기준으로 생성된다. 따라서, 복수의 3D 점군 데이터들을 동일한 좌표계로 변환시키기 위해서는 라이다(110)의 궤적(odometry)을 정확히 알아야 한다. 여기서, 라이다(110)의 궤적을 알기 위해서는 라이다(110)의 위치 정보가 필요하다.Meanwhile, the data collection device 100 collects 3D point cloud data from the lidar 110 while moving through the vehicle 10 . At this time, the collected 3D point cloud data is generated based on the relative coordinates of each point. Therefore, in order to transform a plurality of 3D point cloud data into the same coordinate system, it is necessary to accurately know the odometry of the LIDAR 110 . Here, in order to know the trajectory of the lidar 110, the positional information of the lidar 110 is required.

오차 보정부(220)는 위치가 실시간으로 변화되는 라이다(LiDAR)를 통해 실시간으로 수집된 3D 점군 데이터를 대상으로 위치의 변화에 따른 오차를 보정할 수 있다. 즉, 오차 보정부(220)는 3D 점군 데이터와 동시에 수집된 INS(120) 및 GPS(130) 데이터를 기반으로, 위치의 변화에 따른 3D 점군 데이터의 오차를 보정할 수 있다.The error correction unit 220 may correct an error due to a change in position for 3D point cloud data collected in real time through LiDAR, the position of which changes in real time. That is, the error correction unit 220 may correct an error of the 3D point cloud data according to a change in position based on the INS 120 and GPS 130 data collected simultaneously with the 3D point cloud data.

구체적으로, 오차 보정부(220)는 INS(120) 데이터에 포함된 상대위치를 GPS(130) 데이터의 절대 위치로 보완한 융합 데이터를 생성할 수 있다. 그리고, 오차 보정부(220)는 라이다(110)의 위치와 가장 가까운 융합 데이터를 탐색하고, 3D 점군 데이터 및 융합 데이터가 수집된 시간 정보를 기초로, 라이다(110)의 위치 변환에 따른 3D 점군 데이터의 오차를 보정할 수 있다.Specifically, the error correction unit 220 may generate fusion data obtained by supplementing the relative position included in the INS 120 data with the absolute position of the GPS 130 data. In addition, the error correction unit 220 searches for fusion data closest to the position of the lidar 110, and based on the 3D point cloud data and the time information at which the fusion data is collected, according to the position transformation of the lidar 110 Errors in 3D point cloud data can be corrected.

예를 들어, 오차 보정부(220)는 하기의 의사 코드(pseudo code)를 이용하여, 3D 점군 데이터의 오차를 보정할 수 있다.For example, the error correction unit 220 may correct errors of 3D point cloud data using the following pseudo code.

반복문(라이다 한 프레임에 해당하는 점에 대해서 반복)Iteration statement (repeat for points corresponding to one frame of lidar)

현재 라이다 포인트와 가장 가까운 경로 데이터(INS/GPS) 탐색Search route data (INS/GPS) closest to the current lidar point

timeDiff = (현재 라이다 포인트 데이터 시간) - (현재 INS/GPS 데이터 시간)timeDiff = (Current lidar point data time) - (Current INS/GPS data time)

pt_easting = INS_easting + INS_eastingVelocity * timeDiffpt_easting = INS_easting + INS_eastingVelocity * timeDiff

pt_northing = INS_northing + INS_northingVelocity * timeDiffpt_northing = INS_northing + INS_northingVelocity * timeDiff

pt_up = INS_up + INS_upVelocity * timeDiffpt_up = INS_up + INS_upVelocity * timeDiff

여기서, INS/GPS는 융합 데이터를 의미하며, INS_접두사가 붙은 변수는 융합 데이터의 위치 및 속도 데이터가 될 수 있다.Here, INS/GPS means fusion data, and variables prefixed with INS_ can be location and speed data of fusion data.

다음 구성으로, 궤적 추정부(225)는 오차 보정부(220)에 의해 보정된 3D 점군 데이터의 예상 궤적(odometry)을 추정할 수 있다. 여기서, 예상 궤적은 각 프레임의 위치를 의미하는 포인트가 될 수 있다.With the following configuration, the trajectory estimator 225 may estimate an expected trajectory (odometry) of the 3D point cloud data corrected by the error correction unit 220 . Here, the expected trajectory may be a point indicating the location of each frame.

구체적으로, 궤적 추정부(225)는 3D 점군 데이터 및 융합 데이터를 복셀(voxel) 공간에 표현하고, 각 복셀에 포함된 포인트 그룹을 가우시안 분포로 근사화하여 예상 궤적을 추정할 수 있다. 즉, 궤적 추정부(225)는 NDT(Normal Distribution Transform) 매칭 알고리즘을 이용하여 예상 궤적을 추정한다.Specifically, the trajectory estimator 225 may express the 3D point cloud data and fusion data in a voxel space, and estimate the expected trajectory by approximating a point group included in each voxel with a Gaussian distribution. That is, the trajectory estimator 225 estimates the expected trajectory using a normal distribution transform (NDT) matching algorithm.

여기서, NDT 알고리즘은 3D 공간에서 복셀(voxel) 공간 인덱싱(indexing)을 처리하고, 각 복셀의 포인트 그룹을 3D 가우시안 분포로 근사하여 ICP(iterative closest points) 알고리즘과 대비하여 상대적으로 빠른 계산 속도를 얻을 수 있다.Here, the NDT algorithm processes voxel space indexing in 3D space and approximates each voxel's point group with a 3D Gaussian distribution to obtain a relatively fast calculation speed compared to the iterative closest points (ICP) algorithm. can

이후, 궤적 추정부(225)는 추정된 예상 궤적의 좌표를 융합 데이터의 좌표로 변환할 수 있다. 즉, 추정된 예상 궤적은 월드 좌표계상의 라이다(110)를 위치를 나타낸다. 따라서, 궤적 추정부(225)는 월드 좌표계상의 라이다(110)의 위치를 융합 데이터의 위치로 변환할 수 있다.Thereafter, the trajectory estimator 225 may convert coordinates of the estimated expected trajectory into coordinates of the fusion data. That is, the estimated expected trajectory represents the position of the lidar 110 on the world coordinate system. Accordingly, the trajectory estimator 225 may convert the position of the LIDAR 110 on the world coordinate system into the position of the fusion data.

이때, 궤적 추정부(225)는 라이다(110)의 자세에 대한 회전 행렬 및 이동 행렬을 통해 추정된 예상 궤적의 좌표를 융합 데이터의 좌표로 변환할 수 있다.At this time, the trajectory estimator 225 may convert the coordinates of the expected trajectory estimated through the rotation matrix and the movement matrix for the posture of the lidar 110 into coordinates of the fusion data.

예를 들어, 궤적 추정부(225)는 하기의 수학식 1을 통해 라이다(110)의 위치를 융합 데이터(INS/GPS)의 위치로 변환할 수 있다.For example, the trajectory estimator 225 may convert the position of the LIDAR 110 into the position of the fusion data (INS/GPS) through Equation 1 below.

먼저 CurLiDARPose는 3x1 Matrix(roll, pitch, yaw)로, CurLiDARPosition는 3x1 Matrix(easting, northing, up)로 INS/GPS_Position은 3x1 Matrix(easting, northing, up)로 표현할 수 있다.First, CurLiDARPose can be expressed as a 3x1 Matrix (roll, pitch, yaw), CurLiDARPose can be expressed as a 3x1 Matrix (easting, northing, up), and INS/GPS_Position can be expressed as a 3x1 Matrix (easting, northing, up).

[수학식 1][Equation 1]

INS/GPSPosition = RotationMatrix(CurLiDARPoseroll, CurLiDARPosepitch, CuLiDARPoseyaw) * TL2I + CurLiDARPositionINS/GPS Position = RotationMatrix(CurLiDARPose roll , CurLiDARPose pitch , CuLiDARPose yaw ) * T L2I + CurLiDARPoseition

여기서, TL2I는 3x1 matrix(LiDAR to IMU translation)가 될 수 있다.Here, T L2I may be a 3x1 matrix (LiDAR to IMU translation).

이때, CurLiDARPose는 하기의 수학식 2와 같이, 오일러각(euler angle)을 이용한 Rotation Matrix로 표현할 수 있다.At this time, CurLiDARPose can be expressed as a Rotation Matrix using Euler angles as shown in Equation 2 below.

Z축 회전을 α, y축 회전을 β, z축 회전을 γ로 놓았을 때(α, β, γ: Radian)When Z-axis rotation is set to α, y-axis rotation to β, and z-axis rotation to γ (α, β, γ: Radian)

[수학식 2][Equation 2]

Figure 112021149016761-pat00001
Figure 112021149016761-pat00001

다음 구성으로, 궤적 보정부(230)는 궤적 추정부(225)에 의해 추정된 예상 궤적에 커브 피팅(curve fitting)을 적용할 수 있다.With the following configuration, the trajectory correction unit 230 may apply curve fitting to the expected trajectory estimated by the trajectory estimating unit 225 .

즉, 본 발명의 실시예에 따른 지도 생성 장치(200)는 수집된 3D 점군 데이터에 커브 피팅을 적용하여, 3D 점군 데이터에 대하여 보간(interpolation) 및 평활(smoothing) 효과를 얻을 수 있다.That is, the map generating apparatus 200 according to an embodiment of the present invention may apply curve fitting to the collected 3D point cloud data to obtain interpolation and smoothing effects for the 3D point cloud data.

이때, 궤적 보정부(230)는 베지어 커브 피팅(Bezier Curve Fitting) 알고리즘을 통해 추정된 예상 궤적에 커브 피팅을 적용할 수 있다. 즉, 궤적 보정부(230)는 복수의 포인트를 포함하는 예상 궤적으로부터 곡선을 형성할 수 있다. 궤적 보정부(230)는 하기의 수학식 3을 이용하여 곡선을 형성할 수 있다.At this time, the trajectory correction unit 230 may apply curve fitting to the predicted trajectory estimated through a Bezier curve fitting algorithm. That is, the trajectory correction unit 230 may form a curve from an expected trajectory including a plurality of points. The trajectory correction unit 230 may form a curve using Equation 3 below.

[수학식 3][Equation 3]

Figure 112021149016761-pat00002
Figure 112021149016761-pat00002

여기서, B(u)는 베지어 커브 함수를 의미하고, Pk는 예상 궤적의 각 포인트의 좌표를 의미하고, N은 포인트의 개수를 의미하고, u는 포인트 간의 상수비를 의미한다.Here, B(u) denotes a Bezier curve function, P k denotes the coordinates of each point of the expected trajectory, N denotes the number of points, and u denotes a constant ratio between points.

또한, 궤적 보정부(230)는 커브 피팅 적용된 예상 궤적에 업 샘플링(up sampling)을 수행하고, 업 샘플링 된 포인트에 타임 스탬프(time stamp)를 부여할 수 있다. 여기서, 궤적 보정부(230)는 업 샘플링 된 포인트에 타임 스탬프를 사전 설정된 간격으로 균등하게 부여할 수 있다. 즉, 궤적 보정부(230)는 커브 피팅 적용된 예상 궤적에 시간을 기준으로 일정 간격으로 포인트를 생성하고, 생성된 포인트에 시간과 관련한 정보를 입력할 수 있다.Also, the trajectory correction unit 230 may perform up-sampling on an expected trajectory to which curve fitting is applied, and may assign a time stamp to the up-sampled points. Here, the trajectory compensator 230 may equally assign time stamps to the upsampled points at preset intervals. That is, the trajectory correction unit 230 may generate points at regular intervals based on time on the expected trajectory to which the curve fitting is applied, and may input time-related information to the generated points.

다음 구성으로, 궤적 맵핑부(235)는 궤적 보정부(230)에 의해 생성된 타임 스탬프를 기준으로, 커브 피팅 전 예상 궤적에 포함된 포인트를 커브 피팅 적용된 예상 궤적에 포함된 포인트로 위치 좌표를 수정할 수 있다. 이때, 궤적 맵핑부(235)는 커브 피팅 전 예상 궤적에 포함된 포인트를 커브 피팅 적용된 예상 궤적에 포함된 포인트로 위치 좌표를 수정할 수 있다. 즉, 궤적 맵핑부(235)는 보정 전 궤적의 각 포인트를 순회하며 가장 가까운 타임 스탬프를 가진 포인트 위치의 easting, northing 및 up 값들을 읽어와 궤적의 위치좌표를 수정할 수 있다.With the following configuration, the trajectory mapping unit 235 converts a point included in an expected trajectory before curve fitting to a point included in an expected trajectory to which curve fitting is applied, based on the time stamp generated by the trajectory correction unit 230, and converts the position coordinates. can be modified In this case, the trajectory mapping unit 235 may correct the location coordinates of points included in the predicted trajectory before curve fitting to points included in the predicted trajectory to which curve fitting is applied. That is, the trajectory mapping unit 235 may traverse each point of the trajectory before correction and read easting, northing, and up values of a point having the closest time stamp to correct the location coordinates of the trajectory.

다음 구성으로, 3D 지도 생성부(240)는 궤적 맵핑부(235)에 의해 최종 생성된 궤적을 참조하여, 각 지점에서의 3D 점군 데이터를 표준 좌표계로 통일하고, 중첩시켜 3D 지도를 생성할 수 있다.With the following configuration, the 3D map generator 240 refers to the trajectory finally generated by the trajectory mapping unit 235, unifies the 3D point cloud data at each point into a standard coordinate system, and overlaps to generate a 3D map. there is.

이하, 본 발명의 일 실시예에 따른 지도 생성 장치(200)의 논리적 구성요소를 구현하기 위한 하드웨어에 대하여 보다 구체적으로 설명한다.Hereinafter, hardware for implementing logical components of the map generating apparatus 200 according to an embodiment of the present invention will be described in more detail.

도 3은 본 발명의 일 실시예에 따른 지도 생성 장치의 하드웨어 구성도이다.3 is a hardware configuration diagram of a map generating device according to an embodiment of the present invention.

도 3에 도시된 바와 같이, 지도 생성 장치(200)는 프로세서(Processor, 250), 메모리(Memory, 255), 송수신기(Transceiver, 260), 입출력장치(Input/output device, 265), 데이터 버스(Bus, 270) 및 스토리지(Storage, 275)를 포함하여 구성될 수 있다.As shown in FIG. 3, the map generating device 200 includes a processor 250, a memory 255, a transceiver 260, an input/output device 265, and a data bus Bus, 270) and storage (Storage, 275) can be configured to include.

프로세서(250)는 메모리(255)에 상주된 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(280a)에 따른 명령어를 기초로, 지도 생성 장치(200)의 동작 및 기능을 구현할 수 있다. 메모리(255)에는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(280a)가 상주(loading)될 수 있다. 송수신기(260)는 데이터 수집 장치(100)와 데이터를 송수신할 수 있다. 입출력장치(265)는 지도 생성 장치(200)의 동작에 필요한 데이터를 입력 받고, 수집된 점군 데이터, 생성된 3D 지도 등을 출력할 수 있다. 데이터 버스(270)는 프로세서(250), 메모리(255), 송수신기(260), 입출력장치(265) 및 스토리지(275)와 연결되어, 각각의 구성 요소 사이가 서로 데이터를 전달하기 위한 이동 통로의 역할을 수행할 수 있다.The processor 250 may implement operations and functions of the map generator 200 based on instructions according to the software 280a in which the method according to the embodiments of the present invention is resident in the memory 255 . Software 280a in which a method according to embodiments of the present invention is implemented may be loaded in the memory 255 . The transceiver 260 may transmit and receive data to and from the data collection device 100 . The input/output device 265 may receive data necessary for the operation of the map generating device 200 and output collected point cloud data and a generated 3D map. The data bus 270 is connected to the processor 250, the memory 255, the transceiver 260, the input/output device 265, and the storage 275, and is a movement path for transferring data between each component. role can be fulfilled.

스토리지(275)는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(280a)의 실행을 위해 필요한 애플리케이션 프로그래밍 인터페이스(Application Programming Interface, API), 라이브러리(library) 파일, 리소스(resource) 파일 등을 저장할 수 있다. 스토리지(275)는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(280b)를 저장할 수 있다. 또한, 스토리지(275)는 본 발명의 실시예들에 따른 방법의 수행에 필요한 정보들을 저장할 수 있다.The storage 275 stores an application programming interface (API), a library file, a resource file, etc. necessary for the execution of the software 280a in which the method according to the embodiments of the present invention is implemented. can be saved The storage 275 may store software 280b in which a method according to embodiments of the present invention is implemented. Also, the storage 275 may store information necessary for performing a method according to embodiments of the present invention.

본 발명의 일 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된, 가이드 제공 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 위치가 실시간으로 변화되는 라이다(LiDAR)를 통해 실시간으로 수집된 3D 점군 데이터를 대상으로 위치의 변화에 따른 오차를 보정하고, 보정된 3D 점군 데이터를 기초로, 위치의 변화와 관련된 예상 궤적을 추정하고, 추정된 예상 궤적에 커브 피팅(curve fitting)을 적용하고, 커브 피팅이 적용된 예상 궤적을 대상으로 커브 피팅 전 예상 궤적을 맵핑(mapping)하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.According to one embodiment of the present invention, the software 280a, 280b for implementing the method of providing a guide, which resides in the memory 255 or is stored in the storage 275, is the processor 250, the location of which is changed in real time. The error due to the change in position is corrected for the 3D point cloud data collected in real time through LiDAR, the expected trajectory related to the change in position is estimated based on the corrected 3D point cloud data, and the estimated expected trajectory It may be a computer program recorded on a recording medium to execute a step of applying curve fitting to and mapping an expected trajectory before curve fitting to an expected trajectory to which curve fitting is applied.

보다 구체적으로, 프로세서(250)는 ASIC(Application-Specific Integrated Circuit), 다른 칩셋(chipset), 논리 회로 및/또는 데이터 처리 장치를 포함할 수 있다. 메모리(255)는 ROM(Read-Only Memory), RAM(Random Access Memory), 플래쉬 메모리, 메모리 카드, 저장 매체 및/또는 다른 저장 장치를 포함할 수 있다. 송수신기(260)는 유무선 신호를 처리하기 위한 베이스밴드 회로를 포함할 수 있다. 입출력장치(265)는 키보드(keyboard), 마우스(mouse), 및/또는 조이스틱(joystick) 등과 같은 입력 장치 및 액정표시장치(Liquid Crystal Display, LCD), 유기 발광 다이오드(Organic LED, OLED) 및/또는 능동형 유기 발광 다이오드(Active Matrix OLED, AMOLED) 등과 같은 영상 출력 장치 프린터(printer), 플로터(plotter) 등과 같은 인쇄 장치를 포함할 수 있다. More specifically, the processor 250 may include an Application-Specific Integrated Circuit (ASIC), another chipset, a logic circuit, and/or a data processing device. The memory 255 may include read-only memory (ROM), random access memory (RAM), flash memory, a memory card, a storage medium, and/or other storage devices. The transceiver 260 may include a baseband circuit for processing wired/wireless signals. The input/output device 265 includes an input device such as a keyboard, a mouse, and/or a joystick, and a Liquid Crystal Display (LCD), an Organic LED (OLED), and/or a liquid crystal display (LCD). Alternatively, an image output device such as an active matrix OLED (AMOLED) may include a printing device such as a printer or a plotter.

본 명세서에 포함된 실시 예가 소프트웨어로 구현될 경우, 상술한 방법은 상술한 기능을 수행하는 모듈(과정, 기능 등)로 구현될 수 있다. 모듈은 메모리(255)에 상주되고, 프로세서(250)에 의해 실행될 수 있다. 메모리(255)는 프로세서(250)의 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서(250)와 연결될 수 있다.When the embodiments included in this specification are implemented as software, the above-described method may be implemented as a module (process, function, etc.) that performs the above-described functions. A module may reside in memory 255 and be executed by processor 250 . The memory 255 may be internal or external to the processor 250 and may be connected to the processor 250 by various well-known means.

도 3에 도시된 각 구성요소는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.Each component shown in FIG. 3 may be implemented by various means, eg, hardware, firmware, software, or a combination thereof. In the case of hardware implementation, one embodiment of the present invention includes one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), FPGAs ( Field Programmable Gate Arrays), processors, controllers, microcontrollers, microprocessors, etc.

또한, 펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현되어, 다양한 컴퓨터 수단을 통하여 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한, 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.In addition, in the case of implementation by firmware or software, an embodiment of the present invention is implemented in the form of a module, procedure, function, etc. that performs the functions or operations described above, and is stored on a recording medium readable through various computer means. can be recorded. Here, the recording medium may include program commands, data files, data structures, etc. alone or in combination. Program instructions recorded on the recording medium may be those specially designed and configured for the present invention, or those known and usable to those skilled in computer software. For example, recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs (Compact Disk Read Only Memory) and DVDs (Digital Video Disks), floptical It includes hardware devices specially configured to store and execute program instructions, such as magneto-optical media, such as a floptical disk, and ROM, RAM, flash memory, and the like. Examples of program instructions may include high-level language codes that can be executed by a computer using an interpreter or the like as well as machine language codes generated by a compiler. These hardware devices may be configured to operate as one or more pieces of software to perform the operations of the present invention, and vice versa.

이하, 본 발명의 일 실시예에 따른 지도 생성 방법에 대하여 구체적으로 설명하도록 한다.Hereinafter, a method for generating a map according to an embodiment of the present invention will be described in detail.

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

도 4를 참조하면, 본 발명의 일 실시예에 따른 지도 생성 장치(200)는 위치가 실시간으로 변화되는 라이다(LiDAR)를 통해 실시간으로 수집된 3D 점군 데이터를 대상으로 상기 위치의 변화에 따른 오차를 보정할 수 있다(S100). 즉, 지도 생성 장치(200)는 3D 점군 데이터와 동시에 수집된 INS(120) 및 GPS(130) 데이터를 기반으로, 위치의 변화에 따른 3D 점군 데이터의 오차를 보정할 수 있다.Referring to FIG. 4 , the map generating apparatus 200 according to an embodiment of the present invention targets 3D point cloud data collected in real time through LiDAR, the location of which changes in real time, according to the change in location. Errors can be corrected (S100). That is, the map generating device 200 may correct an error of the 3D point cloud data according to a change in location based on the INS 120 and GPS 130 data collected simultaneously with the 3D point cloud data.

구체적으로, 지도 생성 장치(200)는 INS 데이터에 포함된 상대위치를 GPS 데이터의 절대 위치로 보완한 융합 데이터를 생성할 수 있다. 그리고, 지도 생성 장치(200)는 라이다(110)의 위치와 가장 가까운 융합 데이터를 탐색하고, 3D 점군 데이터 및 융합 데이터가 수집된 시간 정보를 기초로, 위치의 변환에 따른 3D 점군 데이터의 오차를 보정할 수 있다.Specifically, the map generating device 200 may generate fusion data by supplementing the relative position included in the INS data with the absolute position of the GPS data. In addition, the map generating device 200 searches for fusion data closest to the location of the lidar 110, and based on the 3D point cloud data and the time information at which the fusion data was collected, the error of the 3D point cloud data according to the location conversion can be corrected.

다음으로, 지도 생성 장치(200)는 S100 단계에 의해 보정된 3D 점군 데이터의 예상 궤적(odometry)을 추정할 수 있다(S200).Next, the map generating apparatus 200 may estimate an expected trajectory (odometry) of the 3D point cloud data corrected in step S100 (S200).

구체적으로, 지도 생성 장치(200)는 3D 점군 데이터 및 융합 데이터를 복셀(voxel) 공간에 표현하고, 각 복셀에 포함된 포인트 그룹을 가우시안 분포로 근사화하여 예상 궤적을 추정할 수 있다. 즉, 지도 생성 장치(200)는 NDT(Normal Distribution Transform) 매칭 알고리즘을 이용하여 예상 궤적을 추정한다.In detail, the map generating apparatus 200 may express 3D point cloud data and fusion data in a voxel space, and estimate a predicted trajectory by approximating a point group included in each voxel with a Gaussian distribution. That is, the map generator 200 estimates an expected trajectory using a normal distribution transform (NDT) matching algorithm.

이후, 지도 생성 장치(200)는 추정된 예상 궤적의 좌표를 융합 데이터의 좌표로 변환할 수 있다. 즉, 추정된 예상 궤적은 월드 좌표계상의 라이다(110)를 위치를 나타낸다. 따라서, 지도 생성 장치(200)는 융합 데이터와의 위치 관계를 이용하여 월드 좌표계상의 라이다(110)의 위치에서 융합 데이터의 위치로 변환할 수 있다.Then, the map generating device 200 may convert the coordinates of the estimated expected trajectory into coordinates of the fusion data. That is, the estimated expected trajectory represents the position of the lidar 110 on the world coordinate system. Accordingly, the map generating device 200 may convert the location of the LIDAR 110 on the world coordinate system to the location of the fusion data using the location relationship with the fusion data.

이때, 지도 생성 장치(200)는 라이다(110)의 자세에 대한 회전 행렬 및 이동 행렬을 통해 추정된 예상 궤적의 좌표를 융합 데이터의 좌표로 변환할 수 있다.In this case, the map generating device 200 may convert the coordinates of the predicted trajectory estimated through the rotation matrix and the movement matrix for the posture of the LIDAR 110 into coordinates of the fusion data.

다음으로, 지도 생성 장치(200)는 S200 단계에 의해 추정된 예상 궤적에 커브 피팅(curve fitting)을 적용할 수 있다(S300). 즉, 지도 생성 장치(200)는 수집된 3D 점군 데이터에 커브 피팅을 적용하여, 3D 점군 데이터에 대하여 보간(interpolation) 및 평활(smoothing) 효과를 얻을 수 있다. 이때, 지도 생성 장치(200)는 베지어 커브 피팅(Bezier Curve Fitting) 알고리즘을 통해 추정된 예상 궤적에 커브 피팅을 적용할 수 있다.Next, the map generating device 200 may apply curve fitting to the expected trajectory estimated in step S200 (S300). That is, the map generating apparatus 200 may obtain interpolation and smoothing effects for the 3D point cloud data by applying curve fitting to the collected 3D point cloud data. In this case, the map generating device 200 may apply curve fitting to the predicted trajectory estimated through a Bezier curve fitting algorithm.

또한, 지도 생성 장치(200)는 커브 피팅 적용된 예상 궤적에 업 샘플링(up sampling)을 수행하고, 업 샘플링 된 포인트에 타임 스탬프(time stamp)를 부여할 수 있다. 여기서, 지도 생성 장치(200)는 업 샘플링 된 포인트에 타임 스탬프를 사전 설정된 간격으로 균등하게 부여할 수 있다. 즉, 지도 생성 장치(200)는 커브 피팅 적용된 예상 궤적에 시간을 기준으로 일정 간격으로 포인트를 생성하고, 생성된 포인트에 시간과 관련한 정보를 입력할 수 있다.Also, the map generating apparatus 200 may perform up-sampling on an expected trajectory to which curve fitting is applied, and may assign a time stamp to the up-sampled points. Here, the map generating device 200 may equally assign time stamps to the up-sampled points at preset intervals. That is, the map generating device 200 may generate points at regular intervals based on time on the predicted trajectory to which the curve fitting is applied, and may input time-related information to the generated points.

다음으로, 지도 생성 장치(200)는 S300 단계에 의해 생성된 타임 스탬프를 기준으로, 커브 피팅 전 예상 궤적에 포함된 포인트를 커브 피팅 적용된 예상 궤적에 포함된 포인트로 위치 좌표를 수정할 수 있다. 이때, 지도 생성 장치(200)는 커브 피팅 전 예상 궤적에 포함된 포인트를 커브 피팅 적용된 예상 궤적에 포함된 포인트로 위치 좌표만을 수정하고, 자세 및 속도 데이터는 유지할 수 있다.Next, the map generating device 200 may modify the location coordinates of points included in the predicted trajectory before curve fitting to points included in the predicted trajectory to which curve fitting is applied, based on the time stamp generated in step S300. In this case, the map generating device 200 may modify only the positional coordinates of points included in the predicted trajectory before curve fitting to points included in the predicted trajectory to which curve fitting is applied, and maintain posture and speed data.

그리고, 지도 생성 장치(200)는 S400 단계에 의해 최종 생성된 궤적을 참조하여, 각 지점에서의 3D 점군 데이터를 표준 좌표계로 통일하고, 중첩시켜 3D 지도를 생성할 수 있다.In addition, the map generating apparatus 200 may generate a 3D map by unifying the 3D point cloud data at each point into a standard coordinate system and overlapping the 3D point cloud data at each point with reference to the trajectory finally generated in step S400.

도 5 및 도 6은 본 발명의 일 실시예에 따른 라이다의 위치 변화에 의한 오차 보정을 수행하기 전과 후의 3D 점군 데이터를 bird's eye view로 시각화한 도면이다.5 and 6 are views visualizing 3D point cloud data in a bird's eye view before and after performing error correction due to a position change of lidar according to an embodiment of the present invention.

한편, 본 발명의 일 실시예에 따른 데이터 수집 장치(100)의 라이다(110)는 차량(10)에 탑재되어 이동하면서 3D 점군 데이터를 수집한다.Meanwhile, the lidar 110 of the data collection device 100 according to an embodiment of the present invention is mounted on the vehicle 10 and collects 3D point cloud data while moving.

그러나, 데이터 처리 과정에서는 하나의 프레임을 동일한 위치에 있다는 가정 하에 처리를 수행하게 된다. 즉, 하나의 프레임 내에서는 라이다(110)의 위치 변화를 고려하지 않고 포인트들이 배치된다.However, in the process of data processing, processing is performed under the assumption that one frame is located at the same location. That is, within one frame, points are arranged without considering the positional change of the lidar 110.

이에 따라, 도 5의 a와 같이, 하나의 프레임 내에서 3D 점군 데이터는 시작되는 포인트와, 마지막 포인트가 일치하는 것으로 나타난다. 그러나, 실질적으로 3D 점군 데이터는 위치 변화에 따라 시작되는 포인트와, 마지막 포인트가 일치하지 않는다.Accordingly, as shown in a of FIG. 5 , the starting point and the last point of the 3D point cloud data within one frame appear to coincide. However, in practice, 3D point cloud data does not coincide with the starting point and the last point according to the location change.

이에 따라, 본 발명의 일 실시예에 따른 지도 생성 장치(200)는 3D 점군 데이터와 동시에 수집된 INS(120) 및 GPS(130) 데이터를 기반으로, 라이다(110)의 위치 변화에 따른 3D 점군 데이터의 오차를 보정할 수 있다.Accordingly, the map generating device 200 according to an embodiment of the present invention, based on the INS 120 and GPS 130 data collected at the same time as the 3D point cloud data, 3D data according to the position change of the lidar 110 Errors in point cloud data can be corrected.

구체적으로, 지도 생성 장치(200)는 INS(120) 데이터에 포함된 상대위치를 GPS(130) 데이터의 절대위치로 보완한 융합 데이터를 생성할 수 있다. 그리고, 지도 생성 장치(200)는 라이다(110)의 위치와 가장 가까운 융합 데이터를 탐색하고, 3D 점군 데이터 및 융합 데이터가 수집된 시간 정보를 기초로, 위치의 변환에 따른 3D 점군 데이터의 오차를 보정할 수 있다.Specifically, the map generating device 200 may generate fusion data by supplementing the relative position included in the INS 120 data with the absolute position of the GPS 130 data. In addition, the map generating device 200 searches for fusion data closest to the location of the lidar 110, and based on the 3D point cloud data and the time information at which the fusion data was collected, the error of the 3D point cloud data according to the location conversion can be corrected.

즉, 도 6의 b와 같이, 지도 생성 장치(200)는 오차 보정을 통하여 라이다(110)의 위치 변화를 고려한 3D 점군 데이터를 얻을 수 있다.That is, as shown in b of FIG. 6 , the map generating device 200 may obtain 3D point cloud data considering the positional change of the lidar 110 through error correction.

도 7은 본 발명의 일 실시예에 따른 궤적 보정 방법을 설명하기 위한 예시도이다.7 is an exemplary diagram for explaining a trajectory correction method according to an embodiment of the present invention.

도 7을 참조하면, 지도 생성 장치(200)는 추정된 예상 궤적(localizing result)에 커브 피팅(curve fitting)을 적용하여 커브 피팅 결과물인 곡선(curve fitting result)을 얻을 수 있다.Referring to FIG. 7 , the map generating apparatus 200 may obtain a curve fitting result by applying curve fitting to an estimated localizing result.

즉, 지도 생성 장치(200)는 수집된 3D 점군 형태의 예상 궤적(localizing result)에 커브 피팅을 적용하여, 3D 점군 데이터에 대하여 보간(interpolation) 및 평활(smoothing) 효과를 얻을 수 있다.That is, the map generating apparatus 200 may obtain interpolation and smoothing effects for 3D point cloud data by applying curve fitting to the collected predicted trajectory (localizing result) of the 3D point cloud form.

또한, 지도 생성 장치(200)는 커브 피팅 적용된 예상 궤적(localizing result)에 업 샘플링(up sampling)을 수행할 수 있다. 그리고, 지도 생성 장치(200)는 업 샘플링 된 포인트(sampling point from curve)에 타임 스탬프(time stamp)를 부여할 수 있다. 여기서, 지도 생성 장치(200)는 업 샘플링 된 포인트(sampling point from curve)에 타임 스탬프를 사전 설정된 간격으로 균등하게 부여할 수 있다.Also, the map generating apparatus 200 may perform up-sampling on a localizing result to which curve fitting is applied. Also, the map generating device 200 may assign a time stamp to the up-sampled point (sampling point from curve). Here, the map generating apparatus 200 may equally assign time stamps to up-sampled points (sampling point from curve) at preset intervals.

그리고, 지도 생성 장치(200)는 생성된 타임 스탬프를 기준으로, 커브 피팅 전 예상 궤적에 포함된 포인트(INS/GPS position point)를 커브 피팅 적용된 예상 궤적에 포함된 포인트(sampling point from curve)로 위치 좌표를 수정(position change)할 수 있다.Further, the map generating device 200 converts a point (INS/GPS position point) included in the predicted trajectory before curve fitting to a point (sampling point from curve) included in the predicted trajectory to which curve fitting is applied, based on the generated time stamp. Position coordinates can be modified (position change).

도 8은 본 발명의 일 실시예에 따른 궤적 보정 방법에 따른 효과를 설명하기 위한 예시도이다.8 is an exemplary diagram for explaining an effect according to a trajectory correction method according to an embodiment of the present invention.

본 발명의 실시 예들에 따르면, 라이다를 통해 수집한 3D 점군 데이터의 오차를 보정하고, 오차 보정된 3D 점군 데이터를 통해 추정된 예상 궤적에 커브 피팅을 적용하여 맵핑(mapping)한 궤적을 통해 3D 지도를 생성함으로써, 3D 지도를 생성하는 과정에서 발생되는 오류를 최소화할 수 있다.According to embodiments of the present invention, errors in 3D point cloud data collected through LIDAR are corrected, and curve fitting is applied to an expected trajectory estimated through the error-corrected 3D point cloud data. By generating the map, errors occurring in the process of generating the 3D map can be minimized.

도 8은 본 발명의 일 실시예에 따른 궤적 보정 방법으로 3D 점군 지도를 생성하였을 때와, 이를 적용하지 않았을 경우 결과를 side view로 시각화한 것이다.8 is a side view visualization of the results when a 3D point cloud map is generated by the trajectory correction method according to an embodiment of the present invention and when it is not applied.

즉, 도 8에 도시된 바와 같이, 지도 생성 장치(200)는 궤적 보정 방법을 수행함에 따라, 측위 결과를 반영한 데이터(b)를 얻을 수 있고, 보정 전 데이터(c)와 대비하여, 기준 데이터(a)와 상당히 유사한 결과를 얻을 수 있었다.That is, as shown in FIG. 8 , as the map generating device 200 performs the trajectory correction method, it is possible to obtain data (b) reflecting the positioning result, and to compare with the data (c) before correction, the reference data Results very similar to (a) were obtained.

이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으나, 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한, 본 명세서와 도면에서 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적해석에 의해 선정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
과제번호 : SC210053
과제관리(전문)기관명 : 서울산업진흥원
연구사업명 : 2021년도 서울혁신챌린지(예선)
연구과제명 : 모빌리티 서비스를 이용한 도시 변화 탐지 플랫폼
과제수행기관명 : 주식회사 모빌테크
연구기간 : 2021. 08. 01 ~ 2021. 11. 30
As described above, although preferred embodiments of the present invention have been disclosed in the present specification and drawings, it is in the technical field to which the present invention belongs that other modified examples based on the technical spirit of the present invention can be implemented in addition to the embodiments disclosed herein. It is self-evident to those skilled in the art. In addition, although specific terms have been used in the present specification and drawings, they are only used in a general sense to easily explain the technical content of the present invention and help understanding of the present invention, but are not intended to limit the scope of the present invention. Accordingly, the foregoing detailed description should not be construed as limiting in all respects and should be considered illustrative. The scope of the present invention should be selected by reasonable interpretation of the appended claims, and all changes within the equivalent scope of the present invention are included in the scope of the present invention.
Assignment number: SC210053
Project management (specialized) agency name: Seoul Business Agency
Research project name: 2021 Seoul Innovation Challenge (preliminary)
Research project title: Urban change detection platform using mobility service
Name of the organization performing the task: Mobiltech Co., Ltd.
Research period: 2021. 08. 01 ~ 2021. 11. 30

데이터 수집 장치: 100 지도 생성 장치: 200
통신부: 205 입출력부: 210
저장부: 215 오차 보정부: 220
궤적 추정부: 225 궤적 보정부: 230
궤적 맵핑부: 235 3D 지도 생성부: 240
Data Collector: 100 Map Generator: 200
Communication unit: 205 I/O unit: 210
Storage unit: 215 Error correction unit: 220
Trajectory estimation unit: 225 Trajectory correction unit: 230
Trajectory mapping unit: 235 3D map generation unit: 240

Claims (10)

지도 생성 장치가, 위치가 실시간으로 변화되는 라이다(LiDAR)를 통해 실시간으로 수집된 3D 점군 데이터를 대상으로 상기 위치의 변화에 따른 오차를 보정하는 단계;
상기 지도 생성 장치가, 상기 보정된 3D 점군 데이터를 기초로, 상기 위치의 변화와 관련된 예상 궤적(odometry)을 추정하는 단계;
상기 지도 생성 장치가, 상기 추정된 예상 궤적에 커브 피팅(curve fitting)을 적용하는 단계;
상기 지도 생성 장치가, 상기 커브 피팅이 적용된 예상 궤적을 대상으로 상기 커브 피팅 전 예상 궤적을 맵핑(mapping)하는 단계를 포함하고,
상기 오차를 보정하는 단계는
상기 3D 점군 데이터와 동시에 수집된 INS 및 GPS 데이터를 기반으로, 상기 위치의 변화에 따른 상기 3D 점군 데이터의 오차를 보정하는 것을 특징으로 하며,
상기 오차를 보정하는 단계는
상기 INS 데이터에 포함된 상대위치를 GPS 데이터의 절대 위치로 보완한 융합 데이터를 생성하는 것을 특징으로 하고,
상기 오차를 보정하는 단계는
상기 라이다의 위치와 가장 가까운 융합 데이터를 탐색하고, 상기 3D 점군 데이터 및 상기 융합 데이터가 수집된 시간 정보를 기초로, 상기 위치의 변환에 따른 상기 3D 점군 데이터의 오차를 보정하는 것을 특징으로 하며,
상기 예상 궤적을 추정하는 단계는
상기 3D 점군 데이터 및 상기 융합 데이터를 복셀(voxel) 공간에 표현하고, 각 복셀에 포함된 포인트 그룹을 가우시안 분포로 근사화하여 상기 예상 궤적을 추정하는 것을 특징으로 하고,
상기 예상 궤적을 추정하는 단계는
상기 추정된 예상 궤적의 좌표를 상기 융합 데이터의 좌표로 변환하는 것을 특징으로 하며,
상기 예상 궤적을 추정하는 단계는
상기 라이다의 자세에 대한 회전 행렬 및 이동 행렬을 통해 상기 추정된 예상 궤적의 좌표를 상기 융합 데이터의 좌표로 변환하는 것을 특징으로 하고,
상기 융합 데이터 좌표는 다음의 수학식 1을 기초로 변환되는 것을 특징으로 하는, 궤적 보정 방법.
[수학식 1]
INS/GPSPosition = RotationMatrix(CurLiDARPoseroll, CurLiDARPosepitch, CuLiDARPoseyaw) * TL2I + CurLiDARPosition
(여기서, CurLiDARPose는 3x1 Matrix(roll, pitch, yaw)이고, CurLiDARPosition는 3x1 Matrix(easting, northing, up)이며, INS/GPS_Position은 3x1 Matrix(easting, northing, up)이고, TL2I는 3x1 matrix(LiDAR to IMU translation)임)
Correcting, by a map generating device, an error due to a change in location of 3D point cloud data collected in real time through a LiDAR whose location changes in real time;
estimating, by the map generator, an expected trajectory (odometry) related to the change in position based on the corrected 3D point cloud data;
applying, by the map generating device, curve fitting to the estimated trajectory;
mapping, by the map generating device, an expected trajectory before curve fitting to an expected trajectory to which the curve fitting is applied;
The step of correcting the error is
Based on INS and GPS data collected simultaneously with the 3D point cloud data, an error of the 3D point cloud data according to the change in position is corrected,
The step of correcting the error is
Characterized in that the fusion data is generated by supplementing the relative position included in the INS data with the absolute position of the GPS data,
The step of correcting the error is
Searching for fusion data closest to the position of the lidar, and correcting an error of the 3D point cloud data according to the conversion of the position based on the 3D point cloud data and the time information at which the fusion data was collected, ,
The step of estimating the expected trajectory is
Characterized in that the expected trajectory is estimated by expressing the 3D point cloud data and the fusion data in a voxel space and approximating a point group included in each voxel with a Gaussian distribution;
The step of estimating the expected trajectory is
Characterized in that the coordinates of the estimated expected trajectory are converted to the coordinates of the fusion data,
The step of estimating the expected trajectory is
Characterized in that the coordinates of the estimated expected trajectory are converted into coordinates of the fusion data through a rotation matrix and a movement matrix for the posture of the lidar,
Characterized in that the fusion data coordinates are converted based on the following Equation 1, the trajectory correction method.
[Equation 1]
INS/GPS Position = RotationMatrix(CurLiDARPose roll , CurLiDARPose pitch , CuLiDARPose yaw ) * T L2I + CurLiDARPoseition
(Where CurLiDARPose is a 3x1 Matrix (roll, pitch, yaw), CurLiDARPose is a 3x1 Matrix (easting, northing, up), INS/GPS_Position is a 3x1 Matrix (easting, northing, up), and T L2I is a 3x1 matrix ( LiDAR to IMU translation)
제1 항에 있어서, 상기 커브 피팅을 적용하는 단계는
베지어 커브 피팅(Bezier Curve Fitting) 알고리즘을 통해 상기 추정된 예상 궤적에 커브 피팅을 적용하는 것을 특징으로 하는, 궤적 보정 방법.
The method of claim 1, wherein applying the curve fitting comprises:
Characterized in that curve fitting is applied to the estimated expected trajectory through a Bezier Curve Fitting algorithm, the trajectory correction method.
제2 항에 있어서, 상기 커브 피팅을 적용하는 단계는
상기 커브 피팅 적용된 예상 궤적에 업 샘플링(up sampling)을 수행하고, 상기 업 샘플링 된 포인트에 타임 스탬프(time stamp)를 부여하는 것을 특징으로 하는, 궤적 보정 방법.
3. The method of claim 2, wherein applying the curve fitting comprises:
Characterized in that, up-sampling is performed on the expected trajectory to which the curve fitting is applied, and a time stamp is given to the up-sampled point.
메모리(memory);
송수신기(transceiver); 및
상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합되어,
상기 프로세서가, 설치된 위치가 실시간으로 변화되는 라이다(LiDAR)를 통해 실시간으로 수집된 3D 점군 데이터를 대상으로 상기 위치의 변화에 따른 오차를 보정하는 단계;
상기 프로세서가, 상기 보정된 3D 점군 데이터를 기초로, 상기 위치의 변화와 관련된 예상 궤적(odometry)을 추정하는 단계;
상기 프로세서가, 상기 추정된 예상 궤적에 커브 피팅(curve fitting)을 적용하는 단계;
상기 프로세서가, 상기 커브 피팅이 적용된 예상 궤적을 대상으로 상기 커브 피팅 전 예상 궤적을 맵핑(mapping)하는 단계를 포함하여 실행시키되,
상기 오차를 보정하는 단계는
상기 3D 점군 데이터와 동시에 수집된 INS 및 GPS 데이터를 기반으로, 상기 위치의 변화에 따른 상기 3D 점군 데이터의 오차를 보정하는 것을 특징으로 하며,
상기 오차를 보정하는 단계는
상기 INS 데이터에 포함된 상대위치를 GPS 데이터의 절대 위치로 보완한 융합 데이터를 생성하는 것을 특징으로 하고,
상기 오차를 보정하는 단계는
상기 라이다의 위치와 가장 가까운 융합 데이터를 탐색하고, 상기 3D 점군 데이터 및 상기 융합 데이터가 수집된 시간 정보를 기초로, 상기 위치의 변환에 따른 상기 3D 점군 데이터의 오차를 보정하는 것을 특징으로 하며,
상기 예상 궤적을 추정하는 단계는
상기 3D 점군 데이터 및 상기 융합 데이터를 복셀(voxel) 공간에 표현하고, 각 복셀에 포함된 포인트 그룹을 가우시안 분포로 근사화하여 상기 예상 궤적을 추정하는 것을 특징으로 하고,
상기 예상 궤적을 추정하는 단계는
상기 추정된 예상 궤적의 좌표를 상기 융합 데이터의 좌표로 변환하는 것을 특징으로 하며,
상기 예상 궤적을 추정하는 단계는
상기 라이다의 자세에 대한 회전 행렬 및 이동 행렬을 통해 상기 추정된 예상 궤적의 좌표를 상기 융합 데이터의 좌표로 변환하는 것을 특징으로 하고,
상기 융합 데이터 좌표는 다음의 수학식 1을 기초로 변환되는 것을 특징으로 하는, 기록매체에 기록된 컴퓨터 프로그램.
[수학식 1]
INS/GPSPosition = RotationMatrix(CurLiDARPoseroll, CurLiDARPosepitch, CuLiDARPoseyaw) * TL2I + CurLiDARPosition
(여기서, CurLiDARPose는 3x1 Matrix(roll, pitch, yaw)이고, CurLiDARPosition는 3x1 Matrix(easting, northing, up)이며, INS/GPS_Position은 3x1 Matrix(easting, northing, up)이고, TL2I는 3x1 matrix(LiDAR to IMU translation)임)
memory;
transceiver; and
In combination with a computing device configured to include a processor for processing instructions resident in the memory,
Correcting, by the processor, an error due to a change in the position of 3D point cloud data collected in real time through a LiDAR in which the installed position changes in real time;
estimating, by the processor, an expected trajectory (odometry) related to the change in position based on the corrected 3D point cloud data;
applying, by the processor, curve fitting to the estimated trajectory;
Performing, by the processor, mapping an expected trajectory before the curve fitting to an expected trajectory to which the curve fitting is applied,
The step of correcting the error is
Based on INS and GPS data collected simultaneously with the 3D point cloud data, an error of the 3D point cloud data according to the change in position is corrected,
The step of correcting the error is
Characterized in that the fusion data is generated by supplementing the relative position included in the INS data with the absolute position of the GPS data,
The step of correcting the error is
Searching for fusion data closest to the position of the lidar, and correcting an error of the 3D point cloud data according to the conversion of the position based on the 3D point cloud data and the time information at which the fusion data was collected, ,
The step of estimating the expected trajectory is
Characterized in that the expected trajectory is estimated by expressing the 3D point cloud data and the fusion data in a voxel space and approximating a point group included in each voxel with a Gaussian distribution;
The step of estimating the expected trajectory is
Characterized in that the coordinates of the estimated expected trajectory are converted to the coordinates of the fusion data,
The step of estimating the expected trajectory is
Characterized in that the coordinates of the estimated expected trajectory are converted into coordinates of the fusion data through a rotation matrix and a movement matrix for the posture of the lidar,
Characterized in that the fusion data coordinates are converted based on Equation 1 below, a computer program recorded on a recording medium.
[Equation 1]
INS/GPS Position = RotationMatrix(CurLiDARPose roll , CurLiDARPose pitch , CuLiDARPose yaw ) * T L2I + CurLiDARPoseition
(Where CurLiDARPose is a 3x1 Matrix (roll, pitch, yaw), CurLiDARPose is a 3x1 Matrix (easting, northing, up), INS/GPS_Position is a 3x1 Matrix (easting, northing, up), and T L2I is a 3x1 matrix ( LiDAR to IMU translation)
제4 항에 있어서, 상기 커브 피팅을 적용하는 단계는
베지어 커브 피팅(Bezier Curve Fitting) 알고리즘을 통해 상기 추정된 예상 궤적에 커브 피팅을 적용하는 것을 특징으로 하는, 기록매체에 기록된 컴퓨터 프로그램.
5. The method of claim 4, wherein applying the curve fitting comprises:
A computer program recorded on a recording medium, characterized in that curve fitting is applied to the estimated expected trajectory through a Bezier Curve Fitting algorithm.
제5 항에 있어서, 상기 커브 피팅을 적용하는 단계는
상기 커브 피팅 적용된 예상 궤적에 업 샘플링(up sampling)을 수행하고, 상기 업 샘플링 된 포인트에 타임 스탬프(time stamp)를 부여하는 것을 특징으로 하는, 기록매체에 기록된 컴퓨터 프로그램.
6. The method of claim 5, wherein applying the curve fitting comprises:
A computer program recorded on a recording medium, characterized in that performing up-sampling on the predicted trajectory to which the curve fitting is applied, and assigning a time stamp to the up-sampled point.
삭제delete 삭제delete 삭제delete 삭제delete
KR1020210185558A 2021-12-23 2021-12-23 Method for trajectory correction for 3D map creation, and computer program recorded on record-medium for executing method therefor KR102482048B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210185558A KR102482048B1 (en) 2021-12-23 2021-12-23 Method for trajectory correction for 3D map creation, and computer program recorded on record-medium for executing method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210185558A KR102482048B1 (en) 2021-12-23 2021-12-23 Method for trajectory correction for 3D map creation, and computer program recorded on record-medium for executing method therefor

Publications (1)

Publication Number Publication Date
KR102482048B1 true KR102482048B1 (en) 2022-12-28

Family

ID=84538224

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210185558A KR102482048B1 (en) 2021-12-23 2021-12-23 Method for trajectory correction for 3D map creation, and computer program recorded on record-medium for executing method therefor

Country Status (1)

Country Link
KR (1) KR102482048B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130123041A (en) 2012-05-02 2013-11-12 현대엠엔소프트 주식회사 Method of automatic generation of indoor map utilizing the ridar equipment
KR101690882B1 (en) * 2015-07-16 2016-12-28 한국과학기술원 Data logging time-accuracy enhancement method of 3d mapping system using mcu
KR20170056339A (en) * 2015-11-13 2017-05-23 현대자동차주식회사 Vehicle and lane detection method for the vehicle
KR20190064311A (en) * 2017-11-30 2019-06-10 주식회사 모빌테크 Method and apparatus for building map using LiDAR

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130123041A (en) 2012-05-02 2013-11-12 현대엠엔소프트 주식회사 Method of automatic generation of indoor map utilizing the ridar equipment
KR101690882B1 (en) * 2015-07-16 2016-12-28 한국과학기술원 Data logging time-accuracy enhancement method of 3d mapping system using mcu
KR20170056339A (en) * 2015-11-13 2017-05-23 현대자동차주식회사 Vehicle and lane detection method for the vehicle
KR20190064311A (en) * 2017-11-30 2019-06-10 주식회사 모빌테크 Method and apparatus for building map using LiDAR

Similar Documents

Publication Publication Date Title
CN109410735B (en) Reflection value map construction method and device
CN109435955B (en) Performance evaluation method, device and equipment for automatic driving system and storage medium
KR20210111180A (en) Method, apparatus, computing device and computer-readable storage medium for positioning
CN109407073B (en) Reflection value map construction method and device
KR20200044420A (en) Method and device to estimate position
US20220290991A1 (en) Method and Device for Determining a Trajectory of a Vehicle
CN110389580A (en) Method for planning the drift correction in the path of automatic driving vehicle
CN110595494A (en) Map error determination method and device
US11002553B2 (en) Method and device for executing at least one measure for increasing the safety of a vehicle
WO2020189079A1 (en) Own position estimating device, automatic driving system comprising same, and own generated map sharing device
US20200364883A1 (en) Localization of a mobile unit by means of a multi-hypothesis kalman filter method
US20120163662A1 (en) Method for building outdoor map for moving object and apparatus thereof
EP3621032A2 (en) Method and apparatus for determining motion vector field, device, storage medium and vehicle
KR102115004B1 (en) Apparatus and method for generating three dimensional map using aerial images
CN111461981A (en) Error estimation method and device for point cloud splicing algorithm
CN113933818A (en) Method, device, storage medium and program product for calibrating laser radar external parameter
CN113544758B (en) Vehicle control device
JP2023085243A (en) Method for obtaining confidence of measurement value based on multi-sensor fusion and autonomous vehicle
JP2024032805A (en) Device and method for generating three-dimensional maps using aerial photographs
CN113566817B (en) Vehicle positioning method and device
CN114127738A (en) Automatic mapping and positioning
KR102482048B1 (en) Method for trajectory correction for 3D map creation, and computer program recorded on record-medium for executing method therefor
CN116380088B (en) Vehicle positioning method and device, vehicle and storage medium
CN111486837B (en) Vehicle position estimation method based on graph structure and vehicle using same
US20240140437A1 (en) Object based vehicle localization

Legal Events

Date Code Title Description
GRNT Written decision to grant