KR20220084910A - Method of estimating the location of a moving object using vector map - Google Patents

Method of estimating the location of a moving object using vector map Download PDF

Info

Publication number
KR20220084910A
KR20220084910A KR1020200174861A KR20200174861A KR20220084910A KR 20220084910 A KR20220084910 A KR 20220084910A KR 1020200174861 A KR1020200174861 A KR 1020200174861A KR 20200174861 A KR20200174861 A KR 20200174861A KR 20220084910 A KR20220084910 A KR 20220084910A
Authority
KR
South Korea
Prior art keywords
map
vector
moving object
detection
information
Prior art date
Application number
KR1020200174861A
Other languages
Korean (ko)
Other versions
KR102624644B1 (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 KR1020200174861A priority Critical patent/KR102624644B1/en
Publication of KR20220084910A publication Critical patent/KR20220084910A/en
Application granted granted Critical
Publication of KR102624644B1 publication Critical patent/KR102624644B1/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/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/165Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
    • G01C21/1652Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments with ranging devices, e.g. LIDAR or RADAR
    • 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/005Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
    • 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/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/28Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
    • 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/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3407Route searching; Route guidance specially adapted for specific applications
    • G01C21/3438Rendez-vous, i.e. searching a destination where several users can meet, and the routes to this destination for these users; Ride sharing, i.e. searching a route such that at least two users can share a vehicle for at least part of the route

Abstract

벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법이 개시된다.
상기 방법은, 지도 데이터의 지도 포인트 클라우드에 기초하여 객체의 적어도 하나의 부분에 지도 대표 벡터가 포함된 벡터 맵(vector map)을 생성하는 단계와, 이동체의 주변 환경으로부터 획득된 주변 포인트 클라우드에 기초하여 객체의 적어도 하나의 부분에 검출 대표 벡터가 포함된 검출 피쳐(feature) 정보를 생성하는 단계와, 상기 지도 대표 벡터와 상기 검출 대표 벡터 간의 유사성을 이용하여 상기 벡터 맵과 상기 검출 피쳐 정보에서 동일 추정되는 적어도 하나의 부분을 탐색하는 단계, 및 상기 탐색된 부분을 기준으로 상기 벡터 맵과 상기 검출 피쳐 정보를 매칭하여, 상기 이동체의 위치를 추정하는 단계를 포함한다.
A method for estimating a map matching position of a moving object using a vector map is disclosed.
The method includes generating a vector map including a map representative vector in at least one part of an object based on a map point cloud of map data, and based on a surrounding point cloud obtained from a surrounding environment of a moving object generating detection feature information including a detection representative vector in at least one part of an object, and using the similarity between the map representative vector and the detection representative vector to be the same in the vector map and the detection feature information and estimating the position of the moving object by matching the vector map with the detection feature information based on the searched part.

Description

벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법{Method of estimating the location of a moving object using vector map}Method of estimating the location of a moving object using vector map}

본 개시는 맵 매칭 위치 추정 방법에 관한 것으로서, 보다 상세하게는 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법에 관한 것이다.The present disclosure relates to a map matching location estimation method, and more particularly, to a map matching location estimation method of a moving object using a vector map.

라이다(LiDAR: Light Detection And Ranging)는 고출력의 펄스 레이저를 이용하여 물체에 반사되어 돌아오는 레이저 빔의 시간을 측정하여 거리정보를 획득하는 기술로, 자율주행자동차, 지구환경 관측, 대기분석, 및 무인기기 등 다양한 분야에 활용되고 있다.LiDAR (Light Detection And Ranging) is a technology that acquires distance information by measuring the time of a laser beam that is reflected off an object and returns using a high-power pulsed laser. and unmanned devices, etc.

최근에는 3D 리버스 엔지니어링, 자율주행 및 무인 자동차를 위한 레이저 스캐너 및 3D 영상 카메라의 핵심 기술로 활용되면서 그 활용성과 중요성이 점차 증가되고 있다.Recently, as it is used as a core technology for 3D reverse engineering, laser scanners and 3D imaging cameras for autonomous driving and unmanned vehicles, its utility and importance are gradually increasing.

특히, 자율주행 자동차 등과 같은 이동체에서는 목적지로 이동하기 위하여 어느 경로에 어떤 위치에 있는지에 따라서 이동 경로 선택 전략을 달리하여야 한다. 그러나, 종래 GPS 기술로는 최대 오차가 10미터까지 발생하여, 이동체의 경로 단위, 일 예로, 자동차의 주행 차로 단위로 정확히 위치를 판단할 수 없는 문제점이 있다.In particular, in a moving object such as an autonomous vehicle, a moving path selection strategy must be different depending on which path and which position it is in order to move to a destination. However, the conventional GPS technology has a problem in that the maximum error occurs up to 10 meters, and thus the location cannot be accurately determined in units of paths of moving objects, for example, units of driving lanes of vehicles.

따라서, 주행 환경을 정확히 인식하는 것이 중요한 자율주행 자동차 등과 같은 이동체에서는, 지도 데이터와 이동체의 주변 오브젝트들을 관찰하는 센싱 정보를 융합한 주행환경 인식기술에 대한 연구가 이루어지고 있다.Accordingly, in a moving object, such as an autonomous vehicle, in which it is important to accurately recognize the driving environment, research is being conducted on a driving environment recognition technology that combines map data and sensing information for observing surrounding objects of the moving object.

한편, 위치 인지를 가장 용이하게 계산하는 방법은 광범위한 지역에 이동체를 대입시켜, 이동체로부터 실시간 획득되는 주변 지도 데이터와 기 저장된 지도 데이터에서 가장 높은 매칭율을 나타내는 위치를 이동체의 위치로 추정할 수 있으나, 모든 위치에서 양 지도 데이터, 예를 들어 양 지도의 포인트 클라우드 데이터를 대비하여야 하므로, 연산량이 과도하게 증대되는 단점이 있다.On the other hand, the easiest way to calculate location recognition is to substitute a moving object in a wide area to estimate the location of the moving object as the location of the moving object, which shows the highest matching rate between the surrounding map data acquired in real time from the moving object and the pre-stored map data. , since both map data, for example, point cloud data of both maps, must be prepared at all locations, there is a disadvantage in that the amount of computation is excessively increased.

이에 따라, 최근에는 모든 지점의 포인트 클라우드의 데이터를 대입하지 않고 랜덤으로 샘플링해서 해당 위치에서 위치를 측정하는 파티클 필터 기술이 이용되고 있다. Accordingly, in recent years, a particle filter technology for measuring a position at a corresponding position by randomly sampling without substituting data of a point cloud of all points has been used.

그러나, 파티클 필터 기술 역시 위치 정보인 파티클의 개수에 따라서 정확도와 연산량이 현저히 상이하게 되는 문제점이 있다.However, the particle filter technology also has a problem in that the accuracy and the amount of calculation are significantly different depending on the number of particles that are position information.

본 개시가 이루고자 하는 기술적 과제는, 이동체로부터 획득되는 주변 지도 데이터와 기 저장된 지도 데이터 간의 매칭에서 연산량을 경감함과 동시에, 지도 데이터의 용량을 획기적으로 감소하면서 이동체 위치 추정의 정확도를 확보할 수 있는 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법을 제공하는데 있다. The technical problem to be achieved by the present disclosure is to reduce the amount of computation in matching between surrounding map data obtained from a moving object and pre-stored map data, while remarkably reducing the capacity of map data while securing the accuracy of estimating the location of a moving object. An object of the present invention is to provide a method for estimating a map matching position of a moving object using a vector map.

본 개시의 목적은 이상에서 언급된 목적으로 제한되지 않으며, 언급되지 않은 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.Objects of the present disclosure are not limited to the objects mentioned above, and other objects not mentioned will be clearly understood by those skilled in the art from the following description.

상기 기술적 과제를 이루기 위한 본 개시의 일 양태에 따르면, 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법은, 지도 데이터의 지도 포인트 클라우드에 기초하여 객체의 적어도 하나의 부분에 지도 대표 벡터가 포함된 벡터 맵(vector map)을 생성하는 단계와, 이동체의 주변 환경으로부터 실시간으로 획득된 주변 포인트 클라우드에 기초하여 객체의 적어도 하나의 부분에 검출 대표 벡터가 포함된 검출 피쳐 정보를 생성하는 단계와, 상기 지도 대표 벡터와 상기 검출 대표 벡터 간의 유사성을 이용하여 상기 벡터 맵과 상기 검출 피쳐(feature) 정보에서 동일 추정되는 적어도 하나의 부분을 탐색하는 단계, 및 상기 탐색된 부분을 기준으로 상기 벡터 맵과 상기 검출 피쳐 정보를 매칭하여, 상기 이동체의 위치를 추정하는 단계를 포함한다. According to an aspect of the present disclosure for achieving the above technical problem, in a method for estimating a map matching position of a moving object using a vector map, a vector including a map representative vector in at least one part of an object based on a map point cloud of map data Generating a map (vector map); Generating detection feature information including a detection representative vector in at least one portion of an object based on a surrounding point cloud obtained in real time from a surrounding environment of a moving object; searching for at least one part estimated to be the same in the vector map and the detection feature information using the similarity between the representative vector and the detection representative vector, and the vector map and the detection based on the searched part and estimating the position of the moving object by matching the feature information.

다른 실시예에서, 상기 부분은 상기 객체의 면과 에지 중 적어도 어느 하나일 수 있다. In another embodiment, the part may be at least one of a face and an edge of the object.

또 다른 실시예에서, 상기 벡터 맵을 생성하는 단계는, 상기 지도 포인트 클라우드에서의 소정의 포인트와 인접 포인트들 간의 벡터에 기초하여 포인터들을 포함하는 하나의 면인지를 판정하여 결정하는 단계와, 상기 판정된 면과 인접 포인트들 간의 거리에 기초하여 확대된 하나의 면인지를 판정하여 확대 면을 결정하는 과정을 반복하는 단계와, 상기 반복된 과정에서 결정된 복수의 확대 면들 간의 거리와 각에 기초하여 최종 면과 최종 에지를 결정하는 단계, 및 상기 최종 면과 상기 최종 에지 별 상기 지도 대표 벡터들이 포함된 벡터 맵을 생성하는 단계를 포함할 수 있다. In another embodiment, the generating of the vector map may include determining whether it is a single surface including pointers based on a vector between a predetermined point in the map point cloud and adjacent points; Repeating the process of determining the enlarged surface by determining whether it is one enlarged surface based on the distance between the determined surface and the adjacent points, and based on the distance and angle between the plurality of enlarged surfaces determined in the repeated process The method may include determining a final surface and a final edge, and generating a vector map including the map representative vectors for each of the final surface and the final edge.

또 다른 실시예에서, 상기 하나의 면인지를 판정하여 결정하는 단계는, 상기 소정 포인트와 상기 인접 포인트들 간의 공분산 행렬(covariance matrix)를 이용하여 고유값(eigenvalue)를 산출하는 단계, 및 최소의 고유값이 제 1 임계값보다 작으면 상기 소정 포인트와 상기 인접 포인트를 포함하는 하나의 면인 것으로 결정하는 단계를 포함할 수 있다. In another embodiment, the step of determining whether it is a single surface comprises the steps of calculating an eigenvalue using a covariance matrix between the predetermined point and the adjacent points, and a minimum If the eigenvalue is less than the first threshold value, determining that it is one surface including the predetermined point and the adjacent point.

또 다른 실시예에서, 상기 최종 면과 상기 최종 에지를 결정하는 단계는, 상기 복수의 확대 면들 간의 각, 및 상기 확대 면들 각각의 기하학적 중심점(centroid)과 인접 확대 면들 간의 거리가 제 2 임계값보다 작은 경우에, 상기 확대 면들이 하나의 면으로 병합하도록 판정하여, 상기 최종 면과 상기 최종 에지를 결정할 수 있다. In another embodiment, the determining of the final surface and the final edge may include: an angle between the plurality of enlarged surfaces and a distance between a geometric centroid of each of the enlarged surfaces and adjacent enlarged surfaces is greater than a second threshold. In a small case, it is determined that the enlarged faces merge into one face, so that the final face and the final edge can be determined.

또 다른 실시예에서, 상기 검출 피쳐 정보를 생성하는 단계는, 상기 주변 포인트 클라우드에서의 소정의 포인트와 인접 포인트들 간의 벡터에 기초하여 포인터들을 포함하는 하나의 면인지를 판정하여 결정하는 단계와, 상기 판정된 면과 인접 포인트들 간의 거리에 기초하여 확대된 하나의 면인지를 판정하여 확대 면을 결정하는 과정을 반복하는 단계와, 상기 반복된 과정에서 결정된 복수의 확대 면들 간의 거리와 각에 기초하여 검출용 최종 면과 검출용 최종 에지를 결정하는 단계, 및 상기 검출용 최종 면과 상기 검출용 최종 에지 별 상기 검출 대표 벡터들이 포함된 검출 피쳐 정보를 생성하는 단계를 포함할 수 있다. In another embodiment, the generating of the detection feature information may include: determining whether it is one surface including pointers based on a vector between a predetermined point in the neighboring point cloud and adjacent points; Repeating the process of determining the enlarged surface by determining whether it is one enlarged surface based on the distance between the determined surface and the adjacent points, and based on the distance and angle between the plurality of enlarged surfaces determined in the repeated process to determine a final surface for detection and a final edge for detection, and generating detection feature information including the detection representative vectors for each of the final surface for detection and the final edge for detection.

또 다른 실시예에서, 상기 이동체는 상기 주변 포인트 클라우드를 획득하는 라이다 센서, 상기 주변 환경의 이미지를 획득하는 영상 센서, 상기 이동체의 위치 정보를 획득하는 측위 센서들 및 상기 이동체의 자세를 파악하는 관성 센서(IMU)를 포함하는 다중 센서를 탑재하되, 상기 주변 포인트 클라우드에서의 소정의 포인트와 인접 포인트들 간의 벡터에 기초하여 포인터들을 포함하는 하나의 면인지를 판정하여 결정하는 단계 전에, 상기 라이다 센서, 상기 영상 센서 및 상기 측위 센서 간의 기하 정보를 이용하여, 상기 이동체의 오도메트리 정보를 생성하는 단계, 및 상기 관성 센서로부터 획득된 상기 이동체의 자세 정보에 기초하여, 상기 주변 포인트 클라우드의 데이터에서 발생된 왜곡을 보정하는 단계를 더 포함할 수 있다. In another embodiment, the moving object includes a lidar sensor that acquires the surrounding point cloud, an image sensor that acquires an image of the surrounding environment, positioning sensors that acquire location information of the moving object, and a posture of the moving object. Before the step of mounting multiple sensors including an inertial sensor (IMU), and determining whether it is a single surface including pointers based on a vector between a predetermined point in the surrounding point cloud and adjacent points, the step of determining, generating odometry information of the moving object by using the IDA sensor, the geometric information between the image sensor, and the positioning sensor, and based on the posture information of the moving object obtained from the inertial sensor, The method may further include correcting distortion generated in the data.

또 다른 실시예에서, 상기 벡터 맵과 상기 검출 피쳐 정보에서 동일 추정되는 적어도 하나의 부분을 탐색하는 단계는, 상기 이동체의 위치 정보, 자세 정보 및 상기 오도메트리 정보에 기초하여 추정되는 상기 이동체의 현재 위치를 초기값으로 결정하는 단계, 및 상기 초기값을 기준으로, 상기 벡터 맵의 지도 대표 벡터와 상기 검출 피쳐 정보의 검출 대표 벡터 간에 소정의 유사도를 갖는 대표 벡터들과 관련된 상기 벡터 맵 및 상기 검출 피쳐 정보의 면들을 탐색하여, 상기 탐색된 면들을 동일한 객체의 동일 면들로 추정하는 단계를 포함할 수 있다. In another embodiment, the step of searching for at least one part estimated to be the same in the vector map and the detection feature information may include: determining a current position as an initial value, and based on the initial value, the vector map and the vector map related to representative vectors having a predetermined similarity between the map representative vector of the vector map and the detection representative vector of the detection feature information It may include searching for the faces of the detection feature information, and estimating the found faces as the same faces of the same object.

또 다른 실시예에서, 상기 주변 포인트 클라우드에서의 소정의 포인트와 인접 포인트들 간의 벡터에 기초하여 포인터들을 포함하는 하나의 면인지를 판정하여 결정하는 단계 전에, 상기 주변 포인트 클라우드를 소정 밀도로 다운샘플링하는 단계를 더 포함할 수 있다. In another embodiment, before determining whether it is one plane including pointers based on a vector between a predetermined point in the neighboring point cloud and the neighboring points, downsampling the neighboring point cloud to a predetermined density It may further include the step of

또 다른 실시예에서, 상기 이동체의 위치를 추정하는 단계는, 상기 탐색된 부분을 기준으로 상기 벡터 맵의 객체 정보와 상기 검출 피쳐 정보의 객체 정보를 매칭하여 상기 이동체의 위치를 추정하는 단계와, 상기 벡터 맵에서의 객체의 면을 구성하는 포인트들을 샘플링하는 단계, 및 상기 샘플링한 포인트들과 상기 검출 피쳐 정보에서의 객체의 면 간의 거리를 이용한 최적화 프로세스에 의해, 상기 이동체의 포즈(pose) 값을 산출하며, 상기 산출된 포즈값에 기초하여 상기 추정된 위치를 수정하는 단계를 포함할 수 있다. In another embodiment, the estimating of the position of the moving object may include: estimating the position of the moving object by matching object information of the vector map with object information of the detection feature information based on the searched part; The pose value of the moving object by sampling points constituting the surface of the object in the vector map, and an optimization process using the distance between the sampled points and the surface of the object in the detection feature information , and correcting the estimated position based on the calculated pose value.

본 개시에 대하여 위에서 간략하게 요약된 특징들은 후술하는 본 개시의 상세한 설명의 예시적인 양상일 뿐이며, 본 개시의 범위를 제한하는 것은 아니다.The features briefly summarized above with respect to the present disclosure are merely exemplary aspects of the detailed description of the present disclosure that follows, and do not limit the scope of the present disclosure.

본 개시에 따르면, 이동체로부터 획득되는 주변 지도 데이터와 기 저장된 지도 데이터 간의 매칭에서 연산량을 경감함과 동시에, 지도 데이터의 용량을 획기적으로 감소하면서 이동체 위치 추정의 정확도를 확보할 수 있다. According to the present disclosure, it is possible to reduce the amount of computation in matching between the surrounding map data obtained from the moving object and the pre-stored map data, and at the same time, it is possible to secure the accuracy of estimating the location of the moving object while remarkably reducing the capacity of the map data.

이외에도 본 명세서를 통해 당업자라면 파악할 수 있는 구성을 통해 도출되는 효과를 배제하지 않는다. 본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.In addition, the effect derived through the configuration that can be understood by those skilled in the art through the present specification is not excluded. The effects obtainable in the present disclosure are not limited to the above-mentioned effects, and other effects not mentioned may be clearly understood by those of ordinary skill in the art to which the present disclosure belongs from the description below. will be.

도 1은 본 개시의 실시예에 따른 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법을 구현하는 맵 매칭 위치 추정장치에 관한 구성도이다.
도 2는 본 개시의 실시예에 따른 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법에 관한 순서도이다.
도 3은 벡터 맵(vector map)을 생성하는 과정에 관한 순서도이다.
도 4는 상호 인접한 포인트들 간의 벡터 정보들에 기초하여 객체를 구성하는 하나의 면인지를 결정하는 일례를 예시한 도면이다.
도 5는 결정된 하나의 면으로부터 인접 포인트들로 확장하여 객체를 구성하는 확대 면인지를 결정하는 일례를 예시한 도면이다.
도 6은 검출 피쳐 정보를 생성하는 과정에 관한 순서도이다.
도 7는 이동체가 주변 환경의 주변 포인트 클라우드를 획득하는 일례를 예시한 도면이다.
도 8는 검출 피쳐 정보의 생성 과정에서, 상호 인접한 포인트들 간의 벡터 정보들에 기초하여 객체를 구성하는 하나의 면인지를 결정하는 일례를 예시한 도면이다.
도 9는 검출 피쳐 정보와 벡터 맵 간의 동일 객체의 부분을 탐색하고 매칭하는 일례를 예시한 도면이다.
1 is a block diagram of a map matching location estimating apparatus for implementing a map matching location estimation method of a moving object using a vector map according to an embodiment of the present disclosure.
2 is a flowchart illustrating a method for estimating a map matching position of a moving object using a vector map according to an embodiment of the present disclosure.
3 is a flowchart illustrating a process of generating a vector map.
4 is a diagram illustrating an example of determining whether it is one surface constituting an object based on vector information between mutually adjacent points.
5 is a diagram illustrating an example of determining whether an enlarged surface constituting an object by extending from one determined surface to adjacent points.
6 is a flowchart illustrating a process of generating detection feature information.
7 is a diagram illustrating an example in which a moving object acquires a surrounding point cloud of a surrounding environment.
FIG. 8 is a diagram illustrating an example of determining whether a surface constitutes an object based on vector information between mutually adjacent points in a process of generating detection feature information.
9 is a diagram illustrating an example of searching and matching a part of the same object between detection feature information and a vector map.

이하, 첨부한 도면들 및 후술되어 있는 내용을 참조하여 본 개시의 바람직한 실시예들을 상세히 설명한다. 그러나, 본 개시는 여기서 설명되어지는 실시예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 오히려, 여기서 소개되는 실시예들은 개시된 내용이 철저하고 완전해질 수 있도록 그리고 당업자에게 본 개시의 사상이 충분히 전달될 수 있도록 하기 위해 제공되어지는 것이다. 명세서 전체에 걸쳐서 동일한 참조번호들은 동일한 구성요소들을 나타낸다. 한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 개시를 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급되지 않는 한 복수형도 포함된다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자가 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다. Hereinafter, preferred embodiments of the present disclosure will be described in detail with reference to the accompanying drawings and the content to be described later. However, the present disclosure is not limited to the embodiments described herein and may be embodied in other forms. Rather, the embodiments introduced herein are provided so that the disclosed subject matter may be thorough and complete, and that the spirit of the present disclosure may be sufficiently conveyed to those skilled in the art. Like reference numerals refer to like elements throughout. Meanwhile, the terminology used in this specification is for describing the embodiments and is not intended to limit the present disclosure. In this specification, the singular form also includes the plural form unless otherwise specified in the phrase. As used herein, “comprises” and/or “comprising” means that the stated component, step, operation and/or element is the presence of one or more other components, steps, operations and/or elements. or addition is not excluded.

또한, "부" 내지 "모듈" 이란, 일반적으로 논리적으로 분리 가능한 소프트웨어(컴퓨터 프로그램), 하드웨어 등의 부품을 가리킨다. 따라서, 본 실시형태에 있어서의 모듈은 컴퓨터, 프로그램에 있어서의 모듈뿐만 아니라, 하드웨어 구성에 있어서의 모듈도 가리킨다. 그 때문에, 본 실시형태는, 그것들을 모듈로서 기능시키기 위한 컴퓨터 프로그램(컴퓨터에 각각의 단계를 실행시키기 위한 프로그램, 컴퓨터를 각각의 수단으로서 기능시키기 위한 프로그램, 컴퓨터에 각각의 기능을 실현시키기 위한 프로그램), 시스템 및 방법의 설명도 겸하고 있다. 다만, 설명의 형편상, 「저장한다」, 「저장시킨다」, 이것들과 동등한 문언을 이용하지만, 이들 문언은, 실시형태가 컴퓨터 프로그램일 경우에는, 기억 장치에 기억시키는, 또는 기억 장치에 기억시키는 것과 같이 제어하는 것을 의미한다. 또한, "부" 내지 "모듈:은 기능에 일대일로 대응하고 있어도 되지만, 실장에 있어서는, 1 모듈을 1 프로그램으로 구성해도 되고, 복수 모듈을 1 프로그램으로 구성해도 되고, 반대로 1 모듈을 복수 프로그램으로 구성해도 된다. 또한, 복수 모듈은 1 컴퓨터에 의해 실행되어도 되고, 분산 또는 병렬 환경에 있어서의 컴퓨터에 의해 1 모듈이 복수 컴퓨터로 실행되어도 된다. 또한, 1개의 모듈에 다른 모듈이 포함되어 있어도 된다. 또한, 이하, 「접속」이란 물리적인 접속 외에, 논리적인 접속(데이터의 주고받기, 지시, 데이터 간의 참조 관계 등)일 경우에도 채용한다. 「미리 정해진」또는 「소정」이란, 대상으로 하고 있는 처리 전에 정해져 있음을 말하고, 본 실시형태에 의한 처리가 개시되기 전은 물론이고, 본 실시형태에 의한 처리가 개시된 후에도, 대상으로 하고 있는 처리 전이면, 그 때의 상황, 상태에 따라, 또는 그때까지의 상황, 상태에 따라 정해지는 것의 의미를 포함해서 이용한다.In addition, "unit" to "module" generally refer to logically separable parts such as software (computer program) and hardware. Therefore, the module in this embodiment refers not only to the module in a computer and a program, but also the module in a hardware configuration. Therefore, the present embodiment provides a computer program for making them function as modules (a program for causing the computer to execute each step, a program for making the computer function as each means, a program for making the computer to realize each function) ), systems and methods are also explained. However, for convenience of explanation, "save", "save", and phrases equivalent to these are used, but when the embodiment is a computer program, these words are stored in a storage device or stored in a storage device It means to control as In addition, "part" to "module: may correspond to functions one-to-one. However, in implementation, one module may be configured as one program, multiple modules may be configured as one program, and conversely, one module may be configured as multiple programs. In addition, a plurality of modules may be executed by one computer, and one module may be executed by a plurality of computers by a computer in a distributed or parallel environment.In addition, one module may contain other modules In addition, hereinafter, "connection" is used not only for physical connection but also for logical connection (data exchange, instruction, reference relationship between data, etc.). It is said that it is determined before the existing processing, and not only before the processing according to the present embodiment is started, but also after the processing according to the present embodiment is started, and before the target processing, depending on the situation or state at that time, or It is used including the meaning of what is decided according to the situation and status up to that point.

또한, 시스템 또는 장치란, 복수의 컴퓨터, 하드웨어, 장치 등이 네트워크(일대 일 대응의 통신 접속을 포함함) 등의 통신 수단에 의해 접속되어 구성되는 것 외에, 1개의 컴퓨터, 하드웨어, 장치 등에 의해 실현될 경우도 포함된다. 「장치」와 「시스템」이란, 서로 동의(同意)의 용어로서 이용한다. 물론이지만, 「시스템」에는, 인위적인 결정인 사회적인 「기구」(사회 시스템)에 지나지 않는 것은 포함하지 않는다.In addition, a system or device means a plurality of computers, hardware, devices, etc. connected by communication means such as a network (including a one-to-one correspondence) and configured by one computer, hardware, device, etc. cases to be realized are included. "Device" and "system" are used as mutually synonymous terms. Of course, "system" does not include things that are nothing more than social "organizations" (social systems) that are artificial decisions.

또한, 각 부 내지 각 모듈에 의한 처리마다 또는 각 부 내지 모듈 내에서 복수의 처리를 행할 경우는 그 처리마다, 대상이 되는 정보를 기억 장치로부터 판독 입력하고, 그 처리를 행한 후에, 처리 결과를 기억 장치에 기입하는 것이다. 따라서, 처리 전의 기억 장치로부터의 판독 입력, 처리 후의 기억 장치에의 기입에 관해서는, 설명을 생략할 경우가 있다. 또한, 여기에서의 기억 장치로서는, 하드디스크, RAM(Random Access Memory), 외부 기억 매체, 통신 회선을 통한 기억 장치, CPU(Central Processing Unit) 내의 레지스터 등을 포함하고 있어도 된다.In addition, for each processing by each unit or each module, or when a plurality of processing is performed within each unit or module, target information is read and inputted from the storage device for each processing, and after performing the processing, the processing result is displayed writing to the memory device. Therefore, the description of read input from the storage device before processing and writing to the storage device after processing may be omitted in some cases. Note that, as the storage device here, a hard disk, random access memory (RAM), an external storage medium, a storage device via a communication line, a register in a CPU (Central Processing Unit), and the like may be included.

이하, 도 1을 참조하여, 본 개시의 실시예에 따른 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 장치(이하, '위치 추정 장치'라 함)에 대하여 설명하기로 한다. Hereinafter, an apparatus for estimating a map matching position of a moving object using a vector map (hereinafter, referred to as a 'position estimating apparatus') according to an embodiment of the present disclosure will be described with reference to FIG. 1 .

위치 추정 장치(100)는 이동체의 이동 과정에서, 이동체에 탑재된 센서를 통해 실시간으로 획득되는 주변 환경의 센서 데이터와 이동체 등에 기 저장된 지도 데이터와 매칭하여, 이동체의 위치를 추정하는 장치이다. 본 개시에서는 지도 데이터 및 벡터 맵(vector map)이 위치 추정 장치(100)에 내장된 것으로 예시하고 있으나, 다른 예로서, 지도 데이터 및 벡터 맵이 외부 장치로부터 전송되어 이용될 수도 있으며, 또 다른 예로서, 지도 데이터가 외부 장치로부터 전송되며, 벡터 맵은 전송된 지도 데이터로부터 가공되어 위치 추정 장치(100)에 저장될 수도 있다. The position estimating apparatus 100 is an apparatus for estimating the location of a moving object by matching sensor data of the surrounding environment acquired in real time through a sensor mounted on the moving object and map data pre-stored in the moving object in the course of moving the moving object. Although the present disclosure exemplifies that map data and a vector map are embedded in the location estimation apparatus 100, as another example, map data and a vector map may be transmitted and used from an external device, and in another example As such, map data may be transmitted from an external device, and a vector map may be processed from the transmitted map data and stored in the location estimation apparatus 100 .

한편, 이동체는 완전 및 반자율 주행 자동차 및 자율주행 로봇 등일 수 있다. Meanwhile, the moving object may be a fully or semi-autonomous driving vehicle, an autonomous driving robot, or the like.

도 1은 본 개시의 실시예에 따른 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법을 구현하는 장치에 관한 구성도이다. 1 is a block diagram of an apparatus for implementing a map matching position estimation method of a moving object using a vector map according to an embodiment of the present disclosure.

위치 추정 장치(100)는 이동체의 이동 과정에서 주변 환경으로부터 객체의 센싱 데이터를 취득하는 다중 센서(110), 다중 센서(110)를 구성하는 센서들의 데이터에 대한 인덱싱, 캘리브레이션(calibration), 정합, 융합, 가공 및 오도메트리(odometry) 정보 생성 등을 수행하는 변환부(120), 지도 데이터 및 다중 센서의 데이터에 기초하여 벡터 맵 및 검출 피쳐 정보를 생성하는 생성부(130), 지도 데이터부(140), 벡터 맵과 검출 피쳐(feature) 정보를 상호 정합하는 매칭부(150) 및 정합된 맵들을 이용하여 이동체의 위치를 추정하는 위치 추정부(160)를 포함할 수 있다. The position estimating apparatus 100 includes a multi-sensor 110 that acquires sensing data of an object from a surrounding environment in the process of moving a moving object, indexing, calibration, and matching of data of sensors constituting the multi-sensor 110. A conversion unit 120 that performs fusion, processing, and generation of odometry information, a generation unit 130 that generates a vector map and detection feature information based on map data and data of multiple sensors, and a map data unit (140), a matching unit 150 for matching the vector map and detection feature information to each other, and a position estimating unit 160 for estimating the location of the moving object using the matched maps.

다중 센서(110)는 이동 중인 이동체의 위치 정보를 획득하는 측위 센서(112), 이동체의 주변 환경으로부터 주변 포인트 클라우드를 획득하는 라이다 센서(114), 주변 환경의 이미지를 획득하는 영상 센서(116) 및 이동체의 자세를 파악하는 관성 센서(IMU(Inertial Measurement Unit); 118)를 포함할 수 있다.The multi-sensor 110 includes a positioning sensor 112 that acquires location information of a moving object, a lidar sensor 114 that acquires a surrounding point cloud from the surrounding environment of the moving object, and an image sensor 116 that acquires an image of the surrounding environment. ) and an inertial sensor (Inertial Measurement Unit (IMU) 118) for detecting the posture of the moving object.

측위 센서(112)는 위성 항법 장치(GPS)를 통해 이동체의 이동 위치를 취득하는 위치 취득 장치를 포함할 수 있다. The positioning sensor 112 may include a position acquiring device that acquires the moving position of the mobile body through a global positioning system (GPS).

라이다 센서(114)는 이동체에 탑재되어 그 주위의 대상물과 관련된 2차원 또는 3차원 지리 데이터, 예컨대 지형, 지물 관련 데이터를 획득하여 측량용 관측 데이터를 취득하는 센서일 수 있다. 예를 들어, 라이다 센서(114)는 레이저 또는 초음파 센서 등일 수 있으며, 레이저 센서의 경우, 라이다(Light Detection and Ranging; LiDAR) 센서일 수 있다. 이러한 라이다 센서는 데이터를 취득하고자 하는 대상물에 레이저를 주사하며 대상물로부터 반사되어 복귀하는 전자파의 시차와 에너지 변화를 감지하여 대상물에 대한 거리와 반사 강도를 산출한다.The lidar sensor 114 may be a sensor that is mounted on a moving object and acquires observation data for surveying by acquiring two-dimensional or three-dimensional geographic data related to an object around it, for example, terrain and feature-related data. For example, the lidar sensor 114 may be a laser or ultrasonic sensor, and in the case of a laser sensor, it may be a LiDAR (Light Detection and Ranging; LiDAR) sensor. Such a lidar sensor scans a laser on an object to acquire data, detects a parallax and energy change of electromagnetic waves that are reflected from the object and return, and calculates a distance to the object and a reflection intensity.

영상 센서(116)는 이동 중인 이동체에 탑재되어 그 주위의 주변 대상물, 예컨대 지형, 지물을 이미지로 촬영하여 영상용 관측 데이터를 취득하는 센서이며, 측량용 또는 비측량용 카메라, 스테레오 카메라일 있으며, 이에 제한되지 않는다.The image sensor 116 is a sensor that is mounted on a moving object and acquires observation data for image by photographing surrounding objects, such as terrain and features, as images, and may be a camera for surveying or non-surveying, a stereo camera, It is not limited thereto.

본 개시에서는 관성 센서가 IMU인 것으로 예시하고 있으나, 관성 항법 장치(Inertial Navigation System; INS)를 이용하여 차량의 자세를 취득할 수도 있다.Although the present disclosure exemplifies that the inertial sensor is an IMU, the posture of the vehicle may be acquired using an inertial navigation system (INS).

도 1에서 도시하고 있지 않으나, 다중 센서(110)는 오도메트리 센서(미도시)를 이용하여, 이동하는 이동체의 위치의 변화 값(이동 거리, 회전 각도 등)을 획득할 수 있다. 예를 들어, 오도메트리 센서는 이동체가 주행하는 중에 바퀴 회전 수 등을 측정함으로써, 차량의 위치 변화 값을 계산할 수 있다. 이에 따라, 위치 추정 장치(100)는 두 지점(노드)의 상대 위치 데이터를 산출할 수 있다. 다른 예에서, 오도메트리 센서가 생략됨에도, 두 지점의 상대 위치 데이터는 영상 센서(116)의 영상 데이터, 측위 센서(112)의 위치 정보 및 라이다 센서(114)의 주변 포인트 클라우드의 데이터에 기초하여, 이동체가 이동한 지점들 간의 상대 위치 데이터가 산출될 수도 있다. Although not shown in FIG. 1 , the multi-sensor 110 may acquire a change value (movement distance, rotation angle, etc.) of a position of a moving object by using an odometry sensor (not shown). For example, the odometry sensor may calculate the position change value of the vehicle by measuring the number of wheel rotations while the moving object is traveling. Accordingly, the location estimation apparatus 100 may calculate relative location data of two points (nodes). In another example, even though the odometry sensor is omitted, the relative position data of two points is based on the image data of the image sensor 116 , the position information of the positioning sensor 112 , and data of the surrounding point cloud of the lidar sensor 114 . Based on this, relative position data between points moved by the moving object may be calculated.

변환부(120)는 주변 포인트 클라우드의 데이터, 영상 데이터, 이동체의 위치 정보 등의 센서 데이터들 간의 기하 정보를 보정하여 융합할 수 있다. 변환부(120)는 라이다 센서(114)로부터 획득된 주변 포인트 클라우드가 컬러인 경우에, 주변 포인트 클라우드의 RGB 데이터 및 영상 데이터 등을 이용하여, 기하 정보의 보정 및 다중 센서(110)의 데이터들을 융합하는 과정에서, 깊이(depth) 데이터가 융합 데이터에 포함될 수 있다. 후술할 검출 피쳐 정보는 주변 포인트 클라우드의 데이터에 포함된 거리와 반사 강도 등 외에도, 주변 포인트 클라우드에 포함된 RGB 데이터와 깊이 데이터까지 이용하여 생성될 수 있다. The conversion unit 120 may converge by correcting geometric information between sensor data, such as data of a neighboring point cloud, image data, and location information of a moving object. When the surrounding point cloud obtained from the lidar sensor 114 is a color, the conversion unit 120 uses RGB data and image data of the surrounding point cloud to correct geometric information and data from the multi-sensor 110 . In the process of merging the data, depth data may be included in the fusion data. Detection feature information, which will be described later, may be generated by using RGB data and depth data included in the surrounding point cloud, in addition to the distance and reflection intensity included in the data of the surrounding point cloud.

생성부(130)는 지도 데이터의 지도 포인트 클라우드에 기초하여 객체의 적어도 하나의 부분에 지도 대표 벡터가 포함된 벡터 맵을 생성할 수 있다. 또한, 생성부(130)는 이동체의 주변 환경으로부터 실시간으로 획득된 주변 포인트 클라우드에 기초하여 객체의 적어도 하나의 부분에 검출 대표 벡터가 포함된 검출 피쳐 정보를 생성할 수 있다. 실시간으로 생성되는 검출 피쳐 정보는 기 제작된 벡터 맵과 매칭하여 위치 추정에 이용함으로써, 이동체에 대한 실시간 로컬리제이션(localization)이 구현될 수 있다.The generator 130 may generate a vector map including a map representative vector in at least one portion of an object based on a map point cloud of map data. Also, the generator 130 may generate detection feature information including a detection representative vector in at least one portion of an object based on a surrounding point cloud obtained in real time from a surrounding environment of the moving object. Real-time localization of the moving object may be implemented by matching the detection feature information generated in real time with a pre-made vector map and using it for location estimation.

벡터 맵 및 검출 피쳐 정보는 생성부(130)에 의해, 대표 벡터를 포함하여 다른 데이터를 추가로 가질 수 있다. 즉, 벡터 맵 및 검출 피쳐 정보에 포함되는 객체 정보는 포인트 클라우드, 영상 데이터 및 위치 정보에 기초하여 생성될 수 있으며, 객체의 적어도 하나의 부분에 대해 규정하는 대표 벡터 뿐만 아니라, 객체의 형태, 종류, 명칭 등을 포함할 수 있다. The vector map and detection feature information may additionally have other data including the representative vector by the generator 130 . That is, the object information included in the vector map and the detection feature information may be generated based on the point cloud, image data, and location information, and the shape and type of the object as well as the representative vector defining at least one part of the object , a name, and the like.

지도 데이터부(140)는 이동체가 이동하는 주변에 대한 지도 정보를 저장할 수 있다. 지도 정보는 다중 센서(110)로부터 기 획득된 센서 데이터에 기초하여 소정 좌표계에 따라 미리 생성된 공간 정보 및 지도 포인트 클라우드에 기초하여 생성된 벡터 맵을 포함할 수 있다. The map data unit 140 may store map information about the vicinity of the moving object. The map information may include spatial information previously generated according to a predetermined coordinate system based on sensor data previously acquired from the multi-sensor 110 and a vector map generated based on a map point cloud.

공간 정보에 적용된 소정 좌표계는 지도 좌표계, 절대 좌표계 또는 별도의 좌표계일 수 있으나, 이에 제한되지 않는다. 공간 정보는 해당 좌표 등에 생성된 데이터로서, 다중 센서(110)의 센서(관측) 데이터, 내부 기하, 외부 기하, 고유 데이터, 시간 정보, 취득 환경 정보, 확률 정보, 포인트 클라우드 데이터 관련 정보, 영상 데이터 관련 정보, 오브젝트 정보 및 지도 관련 정보를 포함할 수 있다. 확률 정보는 관측 데이터, 시간 정보, 각 센서(112~118)의 오측정으로 인한 객체의 위치 오류도에 근거하여 객체의 위치에 대한 오류 확률을 포함할 수 있다. 오브젝트 정보는 이동체의 이동 전에 이미 획득된 주변에 존재하는 객체에 관한 데이터로서 객체의 종류, 명칭, 형태, 변경 이력 등을 포함할 수 있다. 오브젝트 정보는 과거에 다중 센서(110)로부터 획득된 센서 데이터를 분석하여 도출된 객체 관련 정보일 수 있다. The predetermined coordinate system applied to the spatial information may be a map coordinate system, an absolute coordinate system, or a separate coordinate system, but is not limited thereto. Spatial information is data generated in the corresponding coordinates, etc., sensor (observation) data of the multi-sensor 110, internal geometry, external geometry, unique data, time information, acquisition environment information, probability information, point cloud data related information, image data It may include related information, object information, and map related information. The probability information may include an error probability for the position of the object based on observation data, time information, and a degree of error in the position of the object due to the erroneous measurement of each of the sensors 112 to 118 . The object information is data about an object existing in the vicinity that is already acquired before the moving object moves, and may include the type, name, shape, change history, etc. of the object. The object information may be object-related information derived by analyzing sensor data acquired from the multiple sensors 110 in the past.

본 실시예에서는 공간 정보가 상술한 데이터들 내지 정보들을 전부 포함하는 것으로 기술하고 있으나, 이에 제한되지 않으며, 설계 사양에 따라 상술한 데이터/정보들 중 일부만을 포함하도록 설정될 수 있다. 아울러, 지도 정보는 신규로 취득된 센서 데이터에 기초하여 갱신될 수 있다.In the present embodiment, although spatial information is described as including all of the above-described data or information, the present invention is not limited thereto, and may be set to include only some of the above-described data/information according to design specifications. In addition, the map information may be updated based on newly acquired sensor data.

매칭부(150)는 지도 대표 벡터와 검출 대표 벡터 간의 유사성을 이용하여 벡터 맵과 검출 피쳐 정보에서 동일 추정되는 적어도 하나의 부분을 탐색할 수 있다. The matching unit 150 may search for at least one portion that is estimated to be the same in the vector map and the detection feature information by using the similarity between the map representative vector and the detection representative vector.

위치 추정부(160)는 매칭부(150)에서 탐색된 부분을 기준으로 벡터 맵과 검출 피쳐 정보를 매칭하여, 이동체의 위치를 추정할 수 있다. 위치 추정부(160)는 상기 탐색된 부분을 기준으로 벡터 맵의 객체 정보와 검출 피쳐 정보의 객체 정보를 매칭하여 이동체의 위치를 추정할 수 있다. 각 객체 정보는 지도 대표 벡터와 검출 대표 벡터일 수도 있으며, 이들 대표 벡터 및 벡터 맵과 검출 피쳐 정보에 기록된 객체의 형태, 종류, 명칭 등일 수 있다. The position estimator 160 may estimate the position of the moving object by matching the vector map with the detection feature information based on the portion searched for by the matching unit 150 . The position estimator 160 may estimate the position of the moving object by matching the object information of the vector map with the object information of the detection feature information based on the searched part. Each object information may be a map representative vector and a detection representative vector, and may be a shape, type, name, etc. of an object recorded in the representative vector and vector map and detection feature information.

이상에서는, 위치 추정 장치(100)의 모듈 별 기능에 대해 개략적으로 설명하였으며, 이하에서는 도 1 내지 도 9를 참조하여, 본 개시의 실시예에 따른 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법과 아울러서, 위치 추정 장치(100)의 모듈 별 기능을 보다 상세하게 기술하기로 한다. In the above, the function of each module of the location estimation apparatus 100 has been schematically described. Hereinafter, with reference to FIGS. 1 to 9 , a map matching location estimation method of a moving object using a vector map according to an embodiment of the present disclosure; In addition, the function of each module of the location estimation apparatus 100 will be described in more detail.

도 2는 본 개시의 실시예에 따른 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법에 관한 순서도이다.2 is a flowchart illustrating a method for estimating a map matching position of a moving object using a vector map according to an embodiment of the present disclosure.

도 2를 참조하면, 생성부(130)는 지도 데이터의 지도 포인트 클라우드에 기초하여 객체의 면과 에지 별 대표 벡터가 포함된 벡터 맵을 생성할 수 있다(S105). Referring to FIG. 2 , the generator 130 may generate a vector map including representative vectors for each face and edge of an object based on a map point cloud of map data ( S105 ).

여기서, 상기 부분은 상기 객체의 면과 에지 중 적어도 어느 하나일 수 있으며, 본 실시예에서는 설명의 편의를 위해, 상기 부분은 객체의 면과 에지 전부를 포함하는 것으로 기술한다. 그러나, 벡터 맵의 지도 대표 벡터가 표현될 수 있다면, 부분은 면과 에지 중 적어도 어느 하나일 수 있다. 에지는 인접한 면들 사이에 위치되는 라인이다. Here, the part may be at least one of a face and an edge of the object, and in this embodiment, for convenience of description, it is described that the part includes all of the face and edge of the object. However, if the map representative vector of the vector map can be expressed, the part may be at least one of a face and an edge. An edge is a line located between adjacent faces.

도 3을 참조하여 벡터 맵의 생성에 대하여 상세히 설명한다. 도 3은 벡터 맵(vector map)을 생성하는 과정에 관한 순서도이다. The generation of the vector map will be described in detail with reference to FIG. 3 . 3 is a flowchart illustrating a process of generating a vector map.

먼저, 생성부(130)는 지도 데이터에 공간 색인(spatial index)를 생성할 수 있다(S205). First, the generator 130 may generate a spatial index in the map data (S205).

공간 색인은 공간 정보의 용이한 탐색, 벡터 맵과의 정합 등을 위해, 지도 데이터부(140)에 저장된 공간 정보의 지도 포인트 클라우드에 대해 인덱스를 부여할 수 있다. 예컨대, 공간 정보가 특정 형태로 구조화된 경우에, 구조의 프로토콜에 따라 인덱스가 부여될 수 있다. 또한, 공간 정보는 다중 센서(110)로부터 기 획득된 센서 데이터에 기초하여 소정 좌표계에 따라 미리 생성되므로, 각 공간 정보와 연계된 좌표계, 지도 포인트 클라우드의 채널, 주사(scanning) 간격, 형태 등의 주사 정보 등에 근거하여 인덱스가 부여될 수 있다. 이상의 실시예에서는, 생성부(130)가 공간 색인을 수행하는 것으로 예시하고 있으나, 다른 실시예에서는 지도 데이터부(140)가 공간 색인을 수행한 후에, 색인된 지도 포인트 클라우드가 생성부(130)에 제공될 수도 있다. The spatial index may assign an index to a map point cloud of spatial information stored in the map data unit 140 for easy search of spatial information, matching with a vector map, and the like. For example, when spatial information is structured in a specific form, an index may be assigned according to a protocol of the structure. In addition, since spatial information is generated in advance according to a predetermined coordinate system based on sensor data previously acquired from the multi-sensor 110, the coordinate system associated with each spatial information, the channel of the map point cloud, the scanning interval, the shape, etc. An index may be assigned based on scan information or the like. In the above embodiment, it is exemplified that the generating unit 130 performs spatial indexing, but in another embodiment, after the map data unit 140 performs spatial indexing, the indexed map point cloud is generated by the generating unit 130 . may be provided in

다음으로, 생성부(130)는 지도 포인트 클라우드에서의 소정의 포인트(12)와 인접 포인트들(12) 간의 벡터에 기초하여 포인터들을 포함하는 하나의 면인지를 판정하여 결정할 수 있다(S210). Next, the generator 130 may determine whether it is a single surface including pointers based on a vector between a predetermined point 12 and adjacent points 12 in the map point cloud ( S210 ).

하나의 면인지를 판정하여 결정하는 과정과 관련하여 도 4를 참조하여 보다 상세히 설명한다. 도 4는 상호 인접한 포인트들 간의 벡터 정보들에 기초하여 객체를 구성하는 하나의 면인지를 결정하는 일례를 예시한 도면이다. A process of determining whether it is a single surface will be described in more detail with reference to FIG. 4 . 4 is a diagram illustrating an example of determining whether it is one surface constituting an object based on vector information between mutually adjacent points.

하나의 면인지를 판정하여 결정하는 과정은 도 4에서와 같이, 생성부(130)에 의해, 지도 포인트 클라우드를 통해 파악되는 객체(10)에 분포된 소정 포인트(12)와 인접 포인트들(12) 간의 공분산 행렬(covariance matrix)를 이용하여 고유값(eigenvalue)를 산출할 수 있다. 공분산 행렬은 도 4의 2개의 박스에서 예시한 바와 같이, 소정 포인트와 각 인접 포인트 간의 벡터를 도출하고 벡터들을 이용하여 산출될 수 있다. 고유값은 공분산 행렬의 벡터들의 값으로 계산될 수 있다. As shown in FIG. 4 , the process of determining whether it is a single surface is a predetermined point 12 and adjacent points 12 distributed in the object 10 identified through the map point cloud by the generator 130 . ) can be used to calculate an eigenvalue using a covariance matrix between As illustrated in the two boxes of FIG. 4 , the covariance matrix may be calculated by deriving a vector between a predetermined point and each adjacent point and using the vectors. Eigenvalues may be calculated as values of vectors of the covariance matrix.

이어서, 생성부(130)는 최소의 고유값이 제 1 임계값보다 작으면 소정 포인트(12)와 인접 포인트(12)를 포함하는 하나의 면인 것으로 결정할 수 있다.Next, when the minimum eigenvalue is less than the first threshold value, the generator 130 may determine that the surface is one surface including the predetermined point 12 and the adjacent point 12 .

도 4를 예로 들어 설명하면, 상측 박스에서의 포인트들 간의 벡터들에 기초한 공분산 행렬로부터 산출된 고유값이 제 1 임계값보다 작다고 판정되면, 포인트들을 둘러싸는 점선 사각형이 하나의 면으로 결정될 수 있다. 이와는 달리, 하측 박스에서의 고유값이 제 1 임계값보다 크다고 판정되면, 하측 박스에 대응하는 점선 사각형은 하나의 면이 되지 않는 것으로 결정될 수 있다. 4 as an example, if it is determined that the eigenvalue calculated from the covariance matrix based on the vectors between the points in the upper box is smaller than the first threshold value, the dotted rectangle surrounding the points may be determined as one face. . Alternatively, if it is determined that the eigenvalue in the lower box is greater than the first threshold value, it may be determined that the dotted rectangle corresponding to the lower box is not a single face.

다음으로, 생성부(130)는 앞서 판정된 하나의 면과 인접 포인트들 간의 거리에 기초하여 확대된 하나의 면인지를 판정하여 확대 면을 결정하는 과정을 반복할 수 있다(S215).Next, the generator 130 may repeat the process of determining the enlarged surface by determining whether the previously determined one surface is one enlarged surface based on the distance between the previously determined surface and adjacent points ( S215 ).

확대면의 결정 과정에 대해 도 5를 예시하여 설명한다. 도 5는 결정된 하나의 면으로부터 인접 포인트들로 확장하여 객체를 구성하는 확대 면인지를 결정하는 일례를 예시한 도면이다. The process of determining the enlarged surface will be described with reference to FIG. 5 . 5 is a diagram illustrating an example of determining whether an enlarged surface constituting an object by extending from one determined surface to adjacent points.

생성부(130)는 도 4의 상측 박스에 도시된 하나의 면(14)과 인접 포인트들(12) 간의 거리에 기초하여 확대된 하나의 면인지를 판정할 수 있다. 생성부(130)는 상기 거리가 확대 임계값보다 작으면, 하나의 면(14)과 인접 포인트들(12)를 감싸는 참조부호 16에 해당하는 사각면을 확대 면(16)으로 결정할 수 있다. 이와 같은 과정은 객체(10)의 모든 점으로 확장하여, 확대 면(16)은 확대 임계값과의 상대적 차이와 같은 소정 조건을 만족하는 점을 전부 포함하여 확장될 수 있다. S215 단계의 반복을 통해 확대 면(16)이 최대로 확장되면, 확대 면(16)에 포함된 포인트들에 기초한 면 방정식을 구할 수 있다. The generator 130 may determine whether it is one enlarged surface based on the distance between the one surface 14 and the adjacent points 12 shown in the upper box of FIG. 4 . When the distance is smaller than the magnification threshold, the generator 130 may determine a rectangular plane corresponding to reference numeral 16 surrounding one face 14 and the adjacent points 12 as the magnification plane 16 . This process is extended to all points of the object 10, so that the magnification surface 16 may be expanded to include all points that satisfy a predetermined condition such as a relative difference from the magnification threshold. When the enlarged surface 16 is maximally expanded through the repetition of step S215 , a surface equation based on points included in the enlarged surface 16 may be obtained.

아울러, 생성부(130)는 S210 및 S215 단계 이행 중, 하나의 면(14) 및 확대 면(16)에서 포함되지 않은 포인트들에 대하여, S210 및 S215 단계의 과정을 반복하여 객체(10)를 구성하는 면들을 전부 추정할 수 있다.In addition, the generating unit 130 repeats the process of steps S210 and S215 for points not included in the one side 14 and the enlarged side 16 during the implementation of steps S210 and S215 to create the object 10 . All the constituent faces can be estimated.

다음으로, 생성부(130)는 객체(10)의 모든 포인트들(12)에 대해 S210 및 S215 단계를 반복하여 결정된 복수의 확대 면들 간의 거리와 각에 기초하여 최종 면과 최종 에지를 결정할 수 있다(S220). Next, the generator 130 may determine the final surface and the final edge based on the distance and angle between the plurality of enlarged surfaces determined by repeating steps S210 and S215 for all the points 12 of the object 10 . (S220).

구체적으로, 최종 면과 최종 에지의 결정은, 복수의 확대 면들 간의 각, 및 확대 면들 각각의 기하학적 중심점(centroid)과 인접 확대 면들 간의 거리가 제 2 임계값보다 작은 경우에, 확대 면들이 하나의 면으로 병합하도록 판정하여, 최종 면과 최종 에지를 결정할 수 있다. 상기 각 및 거리가 제 2 임계값보다 큰 경우에, 확대 면들은 객체(10)에서 최종 별개의 면으로 결정되며, 별개의 면들이 서로 인접하면, 별개 면들 사이의 라인은 최종 에지로 결정될 수 있다. 아울러, 최종 면으로 결정된 면은 해당 면에 포함된 포인트들을 이용하여 면 방정식을 구할 수 있다. Specifically, the determination of the final face and the final edge is determined that, when the angle between the plurality of enlarged faces and the distance between the geometric centroid of each of the enlarged faces and the adjacent enlarged faces are less than a second threshold, the enlarged faces are one By determining to merge into a face, a final face and a final edge can be determined. When the angle and distance are greater than the second threshold, the enlarged faces are determined as final distinct faces in the object 10, and if the separate faces are adjacent to each other, the line between the separate faces can be determined as the final edge. . In addition, the surface determined as the final surface can be obtained by using the points included in the surface equation.

계속해서, 생성부(130)는 최종 면과 에지 별 지도 대표 벡터가 포함된 벡터 맵을 생성할 수 있다(S225). Subsequently, the generator 130 may generate a vector map including the final surface and the map representative vector for each edge ( S225 ).

지도 대표 벡터(V_P1~V_P6, V_E1~V_E6)는 도 9의 실선으로 표시된 픽쳐 맵에서와 같이, 각 객체(20m, 22m, 28m)의 최종 면과 최종 에지마다 부여될 수 있다. V_P1~V_P6 및 V_E1~V_E6는 각각 최종 면 및 최종 에지에 대한 지도 대표 벡터로 예시된 것이다. 지도 대표 벡터는 최종 면마다의 면 방정식 및/또는 소정 개수로 선택된 포인트들 간의 벡터 등으로 산출될 수 있다. 또한, 최종 에지에 대한 지도 대표 벡터는 에지를 구성하는 포인트들의 벡터 등으로 설정될 수 있다. The map representative vectors V_P1 to V_P6 and V_E1 to V_E6 may be assigned to each final surface and final edge of each object 20m, 22m, and 28m, as in the picture map indicated by the solid line in FIG. 9 . V_P1 to V_P6 and V_E1 to V_E6 are exemplified as map representative vectors for the final face and the final edge, respectively. The map representative vector may be calculated using a surface equation for each final surface and/or a vector between points selected by a predetermined number. Also, the map representative vector for the final edge may be set as a vector of points constituting the edge, or the like.

이와 같이 벡터 맵을 생성한 후에, 다시 도 2로 회귀하여 검출 피쳐 정보를 생성할 수 있다. 본 실시예에서는 지도 포인트 클라우드가 색상화된(colorized) 포인트인 것을 명확하게 예시하고 있지 않다. 다른 실시예로 지도 포인트 클라우드가 컬러인 경우에, 지도 포인트 클라우드의 RGB 데이터의 강도를 이용하여 벡터 맵이 생성될 수 있다. 또한, 공간 정보에 영상 데이터가 더 포함된 경우, 지도 포인트 클라우드와 영상 데이터 간의 기하 정보의 보정 및 다중 센서(110)의 데이터들의 융합 과정에서, 깊이(depth) 데이터가 융합 데이터에 포함될 수 있다. 벡터 맵은 지도 포인트 클라우드의 데이터에 포함된 거리와 반사 강도 등 외에도, 지도 포인트 클라우드에 포함된 RGB 데이터와 깊이 데이터까지 이용하여 생성될 수 있다. After generating the vector map in this way, it is possible to generate detection feature information by returning to FIG. 2 . This embodiment does not clearly illustrate that the map point cloud is a colored point. In another embodiment, when the map point cloud is a color, a vector map may be generated using the intensity of RGB data of the map point cloud. In addition, when image data is further included in spatial information, depth data may be included in the fusion data during the correction of geometric information between the map point cloud and the image data and the fusion of data of the multi-sensor 110 . A vector map may be generated by using RGB data and depth data included in the map point cloud, in addition to the distance and reflection intensity included in the data of the map point cloud.

다시 도 2를 참조하면, 생성부(130)는 이동체의 주변 환경으로부터 실시간으로 획득된 주변 포인트 클라우드에 기초하여 객체의 적어도 하나의 부분에 검출 대표 벡터가 포함된 검출 피쳐 정보를 실시간으로 생성할 수 있다(S110). Referring back to FIG. 2 , the generator 130 may generate, in real time, detection feature information including a detection representative vector in at least one part of an object based on a surrounding point cloud obtained in real time from the surrounding environment of the moving object. There is (S110).

여기서, 상기 부분은 객체의 면과 에지 중 적어도 어느 하나일 수 있으며, 본 실시예에서는 설명의 편의를 위해, 상기 부분은 객체의 면과 에지 전부를 포함하는 것으로 기술한다. 그러나, 지도 대표 벡터와 대응되도록 검출 피쳐 정보의 검출 대표 벡터가 표현될 수 있다면, 부분은 면과 에지 중 적어도 어느 하나일 수 있다. 에지는 인접한 면들 사이에 위치되는 라인이다. Here, the part may be at least one of a face and an edge of an object, and in this embodiment, for convenience of description, it is described that the part includes all of the face and an edge of the object. However, if the detection representative vector of the detection feature information can be expressed to correspond to the map representative vector, the part may be at least one of a surface and an edge. An edge is a line located between adjacent faces.

검출 피쳐 정보는 벡터 맵과 유사한 방식으로 생성부(130)에 의해 생성될 수 있으며, 도 6을 참조하여 검출 피쳐 정보의 생성에 대하여 상세히 설명한다. 도 6은 검출 피쳐 정보를 생성하는 과정에 관한 순서도이다.The detection feature information may be generated by the generator 130 in a similar manner to the vector map, and the generation of the detection feature information will be described in detail with reference to FIG. 6 . 6 is a flowchart illustrating a process of generating detection feature information.

우선, 이동체는 주변 환경으로부터 주변 클라우드 포인트를 획득할 수 있다(S305).First, the moving object may acquire a surrounding cloud point from the surrounding environment (S305).

이동체(18)는 도 7에 예시된 바와 같이, 다중 센서(110)를 탑재하면서 이동 중의 주변 환경을 취득할 수 있다. 도 7는 이동체가 주변 환경의 주변 포인트 클라우드를 획득하는 일례를 예시한 도면이다. 이동체(18)는 다중 센서(110)의 라이다 센서(114)를 이용하여, 주변 환경의 객체들(20, 22)로부터 주변 클라우드 포인트를 획득할 수 있다. 물론, 다중 센서(110)에 포함된 측위 센서(112), 영상 센서(116) 및 관성 센서(118)는 이동체의 위치 정보, 주변 환경의 이미지 및 이동체의 자세를 획득할 수 있다. 이에 더하여, 다중 센서(110)가 오도메트리 센서를 더 구비하면, 이동하는 이동체의 위치의 변화 값(이동 거리, 회전 각도 등)을 획득할 수 있다.As illustrated in FIG. 7 , the movable body 18 may acquire the surrounding environment while moving while mounting the multi-sensor 110 . 7 is a diagram illustrating an example in which a moving object acquires a surrounding point cloud of a surrounding environment. The moving object 18 may use the lidar sensor 114 of the multi-sensor 110 to obtain a surrounding cloud point from the objects 20 and 22 in the surrounding environment. Of course, the positioning sensor 112 , the image sensor 116 , and the inertial sensor 118 included in the multi-sensor 110 may acquire location information of the moving object, an image of the surrounding environment, and the posture of the moving object. In addition, if the multi-sensor 110 further includes an odometry sensor, it is possible to obtain a change value (movement distance, rotation angle, etc.) of the position of the moving object.

다음으로, 변환부(120)는 이동체(18)의 다중 센서(110)를 이용하여 오도메트리 정보를 생성하며, 주변 포인트 클라우드의 데이터를 보정할 수 있다(S310). Next, the conversion unit 120 may generate odometry information using the multi-sensor 110 of the moving object 18 and may correct data of the surrounding point cloud ( S310 ).

구체적으로, 변환부(120)는 영상 센서(116)의 영상 데이터, 측위 센서(112)의 위치 정보 및 라이다 센서(114)의 주변 포인트 클라우드의 데이터에 기초하여, 이동체가 이동한 지점들 간의 상대 위치 데이터를 나타내는 오도메트리 정보를 생성할 수 있다. 본 실시예에서는 오도메트리 센서가 생략되어도 오도메트리 정보를 생성하는 예로 설명하고 있으나, 오도메트리 센서가 구비되면, 변환부(120)는 오도메트리 센서로부터의 데이터에 기초하여 오도메트리 정보를 생성할 수 있다. Specifically, the conversion unit 120 is configured to convert between points moved by the moving object based on the image data of the image sensor 116 , location information of the positioning sensor 112 , and data of the surrounding point cloud of the lidar sensor 114 . It is possible to generate odometry information representing relative position data. Although the present embodiment describes an example of generating odometry information even if the odometry sensor is omitted, if the odometry sensor is provided, the converter 120 converts the odometry information based on the data from the odometry sensor. information can be created.

또한, 주변 포인트 클라우드의 데이터 보정은 관성 센서(118)로부터 획득된 이동체의 자세를 참조하여 주변 포인트 클라우드의 데이터 왜곡을 보정함으로써 수행될 수 있다. 주변 포인트 클라우드의 데이터는 객체에 표현되는 포인터들, 이동체와 각 객체 간의 거리 및 반사 강도에 따른 각 객체의 형태, 객체들 간의 상대적 위치, 포인트들의 확률 정보, 각 객체의 위치 정보 등을 포함할 수 있다. 아울러, 변환부(120)는 주변 포인트 클라우드의 데이터, 영상 데이터, 이동체의 위치 정보 등의 센서 데이터들 간의 기하 정보를 보정하여 융합할 수 있다. 이에 의해 기하 변환된 주변 포인트 클라우드의 데이터는 이동체의 자세를 참조하여 보정될 수도 있다. Also, data correction of the surrounding point cloud may be performed by correcting data distortion of the surrounding point cloud with reference to the posture of the moving object obtained from the inertial sensor 118 . The data of the surrounding point cloud may include pointers expressed in objects, the shape of each object according to the distance and reflection intensity between the moving object and each object, the relative position between objects, probability information of points, location information of each object, etc. have. In addition, the conversion unit 120 may converge by correcting geometric information between sensor data, such as data of a neighboring point cloud, image data, and location information of a moving object. Accordingly, the geometrically transformed data of the surrounding point cloud may be corrected with reference to the posture of the moving object.

이에 더하여, 변환부(120)는 라이다 센서(114)로부터 획득된 주변 포인트 클라우드가 컬러인 경우에, 주변 포인트 클라우드의 RGB 데이터 및 영상 데이터 등을 이용하여, 기하 정보의 보정 및 다중 센서(110)의 데이터들을 융합하는 과정에서, 깊이(depth) 데이터가 융합 데이터에 포함될 수 있다. 검출 피쳐 정보는 주변 포인트 클라우드의 데이터에 포함된 포인터들, 객체와의 거리와 반사 강도 등 외에도, 주변 포인트 클라우드에 포함된 RGB 데이터와 깊이 데이터까지 이용하여 생성될 수 있다. In addition, when the surrounding point cloud obtained from the lidar sensor 114 is a color, the conversion unit 120 uses RGB data and image data of the surrounding point cloud to correct geometric information and the multi-sensor 110 . ), depth data may be included in the fusion data. The detection feature information may be generated using not only pointers, distances to objects, and reflection intensity included in data of the surrounding point cloud, but also RGB data and depth data included in the surrounding point cloud.

계속해서, 변환부(120)는 주변 포인트 클라우드의 데이터에 인덱스를 생성할 수 있다(S315).Subsequently, the conversion unit 120 may generate an index in the data of the neighboring point cloud (S315).

주변 포인트 클라우드의 용이한 탐색, 지도 데이터 및/또는 벡터 맵과의 정합 등을 위해, 라이다 채널 및 주사(firing) 정보 등에 기초하여 주변 포인트 클라우드에 인덱스가 부여될 수 있다. For easy search of the neighboring point cloud, matching with map data and/or a vector map, etc., an index may be assigned to the neighboring point cloud based on a lidar channel and scanning information, and the like.

이어서, 변환부(120)는 검출 피쳐 정보의 연산 경감을 위해, 보정된 주변 포인트 클라우드의 데이터를 소정 밀도로 다운샘플링(downsampling)할 수 있다(S320).Next, the converter 120 may downsample the corrected data of the neighboring point cloud to a predetermined density in order to reduce the calculation of the detection feature information ( S320 ).

변환부(120)는 객체와의 거리에 관계없이 유사한 범위의 소정 밀도로 주변 포인트 클라우드의 데이터, 예컨대 포인트들을 다운샘플링할 수 있다. The transform unit 120 may downsample data of the neighboring point cloud, for example, points to a predetermined density in a similar range regardless of the distance to the object.

계속해서, 생성부(130)는 보정된 주변 포인트 클라우드에 기초하여 검출 대표 벡터가 포함된 검출 피쳐 정보를 생성할 수 있다(S325).Subsequently, the generator 130 may generate detection feature information including a detection representative vector based on the corrected surrounding point cloud ( S325 ).

검출 피쳐 정보는 도 3을 통해 설명된 벡터 맵과 유사한 방식으로 생성될 수 있으며, 이에 대해서 설명하기로 한다. The detection feature information may be generated in a manner similar to the vector map described with reference to FIG. 3 , and this will be described.

먼저, 생성부(130)는 S210 단계와 유사하게, 주변 포인트 클라우드에서의 소정의 포인트와 인접 포인트들 간의 벡터에 기초하여 포인터들을 포함하는 하나의 면인지를 판정하여 결정할 수 있다. First, similar to step S210 , the generator 130 may determine whether it is a single surface including pointers based on a vector between a predetermined point in the neighboring point cloud and adjacent points.

하나의 면인지를 판정하여 결정하는 과정과 관련하여 도 8를 참조하여 보다 상세히 설명한다. 도 8는 검출 피쳐 정보의 생성 과정에서, 상호 인접한 포인트들 간의 벡터 정보들에 기초하여 객체를 구성하는 하나의 면인지를 결정하는 일례를 예시한 도면이다. A process of determining whether it is a single surface will be described in more detail with reference to FIG. 8 . FIG. 8 is a diagram illustrating an example of determining whether a surface constitutes an object based on vector information between mutually adjacent points in a process of generating detection feature information.

포인트들(24)은 객체에 주사된 라이다 채널들에서 최상층 및 최하층의 채널을 제외한 나머지 채널들의 포인트들에서 선정될 수 있다. 아울러, 포인트들(24)은 도 8과 같이, 각 포인트(24)에서 인접한 2 개의 채널들(26a, 26c)과 각 포인트(24)가 속한 채널(26b)에 위치된 포인트들로 선정될 수 있다. The points 24 may be selected from points of the remaining channels except for the uppermost and lowermost channels in the LiDAR channels scanned into the object. In addition, the points 24 may be selected as points located in two adjacent channels 26a and 26c at each point 24 and a channel 26b to which each point 24 belongs, as shown in FIG. 8 . have.

하나의 면인지를 판정하여 결정하는 과정은 도 4와 마찬가지로, 생성부(130)에 의해, 선정된 포인트들(24) 간의 공분산 행렬을 이용하여 고유값을 산출할 수 있다. 공분산 행렬은 도 8에 예시된 소정 포인트와 각 인접 포인트 간의 벡터를 도출하고 벡터들을 이용하여 산출될 수 있다. 고유값은 공분산 행렬의 벡터들의 값으로 계산될 수 있다. In the process of determining whether it is a single surface, similarly to FIG. 4 , an eigenvalue may be calculated using a covariance matrix between the points 24 selected by the generator 130 . The covariance matrix may be calculated by deriving a vector between a predetermined point and each adjacent point illustrated in FIG. 8 and using the vectors. Eigenvalues may be calculated as values of vectors of the covariance matrix.

이어서, 생성부(130)는 최소의 고유값이 제 3 임계값보다 작으면 소정 포인트와 인접 포인트를 포함하는 하나의 면인 것으로 결정할 수 있다. 이와 관련된 상세 설명은 S210 단계와 유사하여 생략한다. Next, when the minimum eigenvalue is less than the third threshold value, the generator 130 may determine that it is one surface including a predetermined point and an adjacent point. A detailed description related thereto is omitted because it is similar to step S210.

다음으로, 생성부(130)는 S215 단계와 마찬가지로, 앞서 판정된 하나의 면과 인접 포인트들 간의 거리에 기초하여 확대된 하나의 면인지를 판정하여 확대 면을 결정하는 과정을 반복할 수 있다. 확대면의 결정 과정은 도 5를 통한 설명과 유사하여 생략하기로 한다. Next, the generator 130 may repeat the process of determining the enlarged surface by determining whether it is an enlarged surface based on the distance between the previously determined one surface and adjacent points, similar to the step S215 . The process of determining the enlarged surface is similar to the description with reference to FIG. 5 and thus will be omitted.

S215 단계의 반복을 통해 확대 면(16)이 최대로 확장되면, 확대 면(16)에 포함된 포인트들에 기초한 면 방정식을 구할 수 있다. When the enlarged surface 16 is maximally expanded through the repetition of step S215 , a surface equation based on points included in the enlarged surface 16 may be obtained.

아울러, 생성부(130)는 S210 및 S215 단계와 유사한 상술의 단계들 중, 하나의 면 및 확대 면에서 포함되지 않은 포인트들에 대하여, 상술의 단계들을 반복하여 객체를 구성하는 면들을 전부 추정할 수 있다.In addition, the generating unit 130 repeats the above steps for points that are not included in one plane and an enlarged plane among the aforementioned steps similar to steps S210 and S215 to estimate all the planes constituting the object. can

다음으로, 생성부(130)는 S220 단계와 마찬가지로, 객체의 모든 포인트들에 대해 상술의 단계들을 반복하여 결정된 복수의 확대 면들 간의 거리와 각에 기초하여 검출용 최종 면과 검출용 최종 에지를 결정할 수 있다. Next, the generator 130 determines the final surface for detection and the final edge for detection based on the distances and angles between the plurality of enlarged surfaces determined by repeating the above steps for all points of the object, similarly to the step S220. can

검출용 최종 면과 검출용 최종 에지의 결정은 S220 단계와 실질적으로 동일하여, 이에 대한 상세한 설명은 생략하기로 한다. Determination of the final surface for detection and the final edge for detection is substantially the same as in step S220, and thus a detailed description thereof will be omitted.

이에 따라, 검출용 최종 면으로 결정된 면은 해당 면에 포함된 포인트들을 이용하여 면 방정식을 구할 수 있다. Accordingly, for the surface determined as the final surface for detection, a surface equation may be obtained using points included in the corresponding surface.

계속해서, 생성부(130)는 검출용 최종 면과 검출용 최종 에지 별 검출 대표 벡터가 포함된 검출 피쳐 정보를 생성할 수 있다.Subsequently, the generator 130 may generate detection feature information including a detection representative vector for each final surface for detection and a final edge for detection.

검출 대표 벡터(V_SP1~V_SP6, V_SE1~V_SE6)는 도 9의 점선으로 표시된 검출 피쳐 정보에서와 같이, 각 객체(20s, 22s, 28s)의 검출용 최종 면과 검출용 최종 에지마다 부여될 수 있다. V_SP1~V_SP6 및 V_SE1~V_SE6는 각각 검출용 최종 면 및 검출용 최종 에지에 대한 검출 대표 벡터로 예시된 것이다. 검출 대표 벡터는 검출용 최종 면마다의 면 방정식 및/또는 소정 개수로 선택된 포인트들 간의 벡터 등으로 산출될 수 있다. 또한, 검출용 최종 에지에 대한 검출 대표 벡터는 에지를 구성하는 포인트들의 벡터 등으로 설정될 수 있다. Detection representative vectors (V_SP1 to V_SP6, V_SE1 to V_SE6) may be assigned to each of the final detection surface and detection edge of each object 20s, 22s, and 28s, as in the detection feature information indicated by the dotted line in FIG. 9 . . V_SP1 to V_SP6 and V_SE1 to V_SE6 are exemplified as detection representative vectors for the last face for detection and the last edge for detection, respectively. The detection representative vector may be calculated using a surface equation for each final surface for detection and/or a vector between points selected with a predetermined number or the like. In addition, the detection representative vector for the final edge for detection may be set as a vector of points constituting the edge, or the like.

이와 같이 검출 피쳐 정보를 생성한 후에, 도 2로 회귀하여 벡터 맵과 검출 피쳐 정보에서 동일 추정되는 부분을 탐색할 수 있다.After generating the detection feature information in this way, it is possible to return to FIG. 2 to search for the same estimated portion in the vector map and the detection feature information.

다시 도 2를 참조하면, 매칭부(150)는 검출 피쳐 정보의 초기값과 최소 거리에 위치한 벡터 맵의 부분을 탐색할 수 있다(S115).Referring back to FIG. 2 , the matching unit 150 may search for a part of the vector map located at the minimum distance from the initial value of the detection feature information ( S115 ).

구체적으로, 매칭부(150)는 측위 센서(112)에 의한 이동체의 위치 정보, 관성 센서(118)에 의한 이동체의 자세 정보 및 오도메트리 정보에 기초하여 추정되는 이동체의 현재 위치를 초기값으로 결정할 수 있다. 이어서, 매칭부(150)는 초기값을 기준으로, 벡터 맵의 지도 대표 벡터와 검출 피쳐 정보의 검출 대표 벡터 간에 소정의 유사도를 갖는 대표 벡터들과 관련된 벡터 맵 및 출 벡터 맵의 면들을 탐색할 수 있다. 이에 따라, 매칭부(150)는 탐색된 면들을 동일한 객체의 동일 면들로 추정할 수 있다. Specifically, the matching unit 150 sets the current position of the moving object estimated based on the position information of the moving object by the positioning sensor 112, the posture information of the moving object by the inertial sensor 118 and odometry information as an initial value. can decide Next, the matching unit 150 searches for surfaces of a vector map and an exit vector map related to representative vectors having a predetermined similarity between the map representative vector of the vector map and the detection representative vector of the detection feature information based on the initial value. can Accordingly, the matching unit 150 may estimate the searched faces as the same faces of the same object.

즉, 매칭부(150)는 지도 대표 벡터와 검출 대표 벡터 간의 유사성을 이용하여 벡터 맵과 검출 피쳐 정보에서 동일 추정되는 적어도 하나의 부분을 탐색할 수 있다. That is, the matching unit 150 may search for at least one portion that is estimated to be the same in the vector map and the detection feature information by using the similarity between the map representative vector and the detection representative vector.

상기 부분은 면 및/또는 에지일 수 있으며, 상술한 실시예에서는 면을 탐색하는 예를 기술하였으나, 다른 실시예에서는 에지 또는 면/에지의 조합을 탐색할 수 있다. The part may be a face and/or an edge, and although an example of searching for a face has been described in the above embodiment, an edge or a combination of face/edge may be searched for in another embodiment.

다음으로, 위치 추정부(160)는 탐색된 부분을 기준으로 벡터 맵과 검출 피쳐 정보를 매칭하여, 이동체의 위치를 실시간으로 추정할 수 있다(S120). Next, the position estimator 160 may match the vector map and the detection feature information based on the searched part to estimate the position of the moving object in real time (S120).

구체적으로, 위치 추정부(160)는 도 9에서와 같이, 탐색된 부분을 기준으로 벡터 맵의 객체 정보와 검출 피쳐 정보의 객체 정보를 매칭하여 이동체의 위치를 추정할 수 있다. 도 9는 검출 피쳐 정보와 벡터 맵 간의 동일 객체의 부분을 탐색하고 매칭하는 일례를 예시한 도면이다. Specifically, as shown in FIG. 9 , the position estimator 160 may estimate the position of the moving object by matching the object information of the vector map with the object information of the detection feature information based on the searched part. 9 is a diagram illustrating an example of searching and matching a part of the same object between detection feature information and a vector map.

객체 정보는 객체의 적어도 하나의 부분에 대해 규정하는 지도 대표 벡터, 검출 대표 벡터뿐만 아니라, 객체의 형태, 종류, 명칭 등을 포함할 수 있다. 본 실시예에서는 위치 추정시의 연산 부담을 경감하기 위해, 대표 벡터를 이용한 위치 추정을 예로 들고 있으나, 이에 제한되지 않고, 객체에 포함된 포인트 클라우드의 포인트들, 이들로부터 추정되는 객체의 윤곽 등으로 위치 추정하는 예를 배제하지 않는다. The object information may include a map representative vector and a detection representative vector defining at least one part of the object, as well as the shape, type, name, and the like of the object. In this embodiment, in order to reduce the computational burden during position estimation, position estimation using a representative vector is taken as an example, but is not limited thereto. An example of estimating the location is not excluded.

도 9의 예에서와 같이, 위치 추정부(160)는 탐색된 부분을 기준으로 벡터 맵의 지도 대표 벡터(각 객체(20m, 22m, 28m)에 분포된 V_P1~V_P6, V_E1~V_E6)와 검출 피쳐 정보의 검출 대표 벡터(각 객체(20s, 22s, 28s)에 분포된 V_SP1~V_SP6, V_SE1~V_SE6)를 매칭하여, 이동체(18)의 위치를 실시간으로 추정할 수 있다. As in the example of FIG. 9 , the location estimator 160 detects the map representative vectors (V_P1 to V_P6, V_E1 to V_E6 distributed in each object 20m, 22m, and 28m) of the vector map based on the searched part. By matching the detection representative vectors of feature information (V_SP1 to V_SP6 and V_SE1 to V_SE6 distributed in each object 20s, 22s, and 28s), the position of the moving object 18 can be estimated in real time.

한편, 위치 추정부(160)는 벡터 맵에서의 객체의 면을 구성하는 포인트들을 샘플링하는 과정을 추가로 수행할 수 있다. 이후, 위치 추정부(160)는 위치 추정(localization)의 정확성을 위해, 벡터 맵에서 샘플링한 포인트들과 검출 피쳐 정보에서의 객체의 면 간의 거리를 이용한 최적화 프로세스에 의해, 이동체의 포즈(pose) 값을 산출하며, 산출된 포즈값에 기초하여 추정된 위치를 수정할 수 있다. Meanwhile, the location estimator 160 may additionally perform a process of sampling points constituting the surface of the object in the vector map. Thereafter, for accuracy of localization, the location estimator 160 performs an optimization process using the distance between points sampled from the vector map and the surface of the object in the detection feature information to determine the pose of the moving object. A value may be calculated, and the estimated position may be corrected based on the calculated pose value.

본 개시에 따르면, 이동체로부터 획득되는 주변 지도 데이터와 기 저장된 지도 데이터 간의 매칭에서 연산량을 경감함과 동시에, 지도 데이터의 용량을 획기적으로 감소하면서 이동체 위치 추정의 정확도를 확보할 수 있다.According to the present disclosure, it is possible to reduce the amount of computation in matching between the surrounding map data obtained from the moving object and the pre-stored map data, and at the same time, it is possible to secure the accuracy of estimating the location of the moving object while remarkably reducing the capacity of the map data.

도 1에 도시된 장치를 구성하는 구성요소 또는 도 2, 3, 6에 도시된 실시예들에 따른 단계는 그 기능을 실현시키는 프로그램의 형태로 컴퓨터 판독가능한 기록 매체에 기록될 수 있다. 여기에서, 컴퓨터 판독 가능한 기록 매체란, 데이터나 프로그램 등의 정보를 전기적, 자기적, 광학적, 기계적, 또는 화학적 작용에 의해 축적하고, 컴퓨터에서 판독할 수 있는 기록 매체를 말한다. 이러한 기록 매체 중 컴퓨터로부터 분리 가능한 것으로서는, 예를 들면, 휴대용 스토리지(portable storage), 플렉시블 디스크, 광자기 디스크, CD-ROM, CD-R/W, DVD, DAT, 메모리 카드 등이 있다. 또한, 위치 추정 장치 및 컴퓨터에 고정된 기록 매체로서 SSD(Solid State Disk), 하드디스크나 ROM 등이 있다.The components constituting the apparatus shown in FIG. 1 or the steps according to the embodiments shown in FIGS. 2, 3 and 6 may be recorded in a computer-readable recording medium in the form of a program realizing the function. Here, the computer-readable recording medium refers to a computer-readable recording medium in which information such as data or a program is stored by electrical, magnetic, optical, mechanical, or chemical action. Among these recording media, for example, portable storage, flexible disk, magneto-optical disk, CD-ROM, CD-R/W, DVD, DAT, memory card, etc. may be used as the recording medium detachable from the computer. In addition, as a recording medium fixed to a location estimation device and a computer, there are a solid state disk (SSD), a hard disk, a ROM, and the like.

또한, 이상에서, 본 개시의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되어 동작하는 것으로 설명되었다고 해서, 본 개시가 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 개시의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. In addition, even though it has been described above that all components constituting the embodiment of the present disclosure operate by being combined into one, the present disclosure is not necessarily limited to this embodiment. That is, within the scope of the object of the present disclosure, all of the components may operate by selectively combining one or more. In addition, all of the components may be implemented as one independent hardware, but some or all of the components are selectively combined to form a program module that performs some or all of the functions combined in one or a plurality of hardware. It may be implemented as a computer program having

이상에서 대표적인 실시예를 통하여 본 개시에 대하여 상세하게 설명하였으나, 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 개시의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 개시의 권리 범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위 뿐만 아니라 이 특허청구범위와 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태에 의하여 정해져야 한다.Although the present disclosure has been described in detail through representative embodiments above, those of ordinary skill in the art to which the present disclosure pertains can make various modifications to the above-described embodiments without departing from the scope of the present disclosure. will understand Therefore, the scope of the present disclosure should not be limited to the described embodiments and should be defined by all changes or modifications derived from the claims and equivalent concepts as well as the claims to be described later.

Claims (10)

지도 데이터의 지도 포인트 클라우드에 기초하여 객체의 적어도 하나의 부분에 지도 대표 벡터가 포함된 벡터 맵(vector map)을 생성하는 단계;
이동체의 주변 환경으로부터 실시간으로 획득된 주변 포인트 클라우드에 기초하여 객체의 적어도 하나의 부분에 검출 대표 벡터가 포함된 검출 피쳐(feature) 정보를 생성하는 단계;
상기 지도 대표 벡터와 상기 검출 대표 벡터 간의 유사성을 이용하여 상기 벡터 맵과 상기 검출 피쳐 정보에서 동일 추정되는 적어도 하나의 부분을 탐색하는 단계; 및
상기 탐색된 부분을 기준으로 상기 벡터 맵과 상기 검출 피쳐 정보를 매칭하여, 상기 이동체의 위치를 추정하는 단계를 포함하는 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법.
generating a vector map including a map representative vector in at least one portion of an object based on the map point cloud of the map data;
generating detection feature information including a detection representative vector in at least one portion of an object based on a surrounding point cloud obtained in real time from a surrounding environment of the moving object;
using the similarity between the map representative vector and the detection representative vector to search for at least one portion that is estimated to be the same in the vector map and the detection feature information; and
and estimating the position of the moving object by matching the vector map with the detection feature information based on the searched part.
제 1 항에 있어서,
상기 부분은 상기 객체의 면과 에지 중 적어도 어느 하나인 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법.
The method of claim 1,
A method for estimating a map matching position of a moving object using a vector map in which the part is at least one of a face and an edge of the object.
제 1 항에 있어서,
상기 벡터 맵을 생성하는 단계는,
상기 지도 포인트 클라우드에서의 소정의 포인트와 인접 포인트들 간의 벡터에 기초하여 포인터들을 포함하는 하나의 면인지를 판정하여 결정하는 단계;
상기 판정된 면과 인접 포인트들 간의 거리에 기초하여 확대된 하나의 면인지를 판정하여 확대 면을 결정하는 과정을 반복하는 단계;
상기 반복된 과정에서 결정된 복수의 확대 면들 간의 거리와 각에 기초하여 최종 면과 최종 에지를 결정하는 단계; 및
상기 최종 면과 상기 최종 에지 별 상기 지도 대표 벡터들이 포함된 벡터 맵을 생성하는 단계를 포함하는 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법.
The method of claim 1,
The step of generating the vector map comprises:
determining whether it is one surface including pointers based on a vector between a predetermined point in the map point cloud and adjacent points;
repeating the process of determining an enlarged surface by determining whether it is one enlarged surface based on the distance between the determined surface and adjacent points;
determining a final surface and a final edge based on the distance and angle between the plurality of enlarged surfaces determined in the repeated process; and
and generating a vector map including the map representative vectors for each of the final surface and the final edge.
제 3 항에 있어서,
상기 하나의 면인지를 판정하여 결정하는 단계는,
상기 소정 포인트와 상기 인접 포인트들 간의 공분산 행렬(covariance matrix)를 이용하여 고유값(eigenvalue)를 산출하는 단계; 및
최소의 고유값이 제 1 임계값보다 작으면 상기 소정 포인트와 상기 인접 포인트를 포함하는 하나의 면인 것으로 결정하는 단계를 포함하는 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법.
4. The method of claim 3,
The step of determining whether it is a single surface is,
calculating an eigenvalue using a covariance matrix between the predetermined point and the adjacent points; and
and determining that it is a single surface including the predetermined point and the adjacent point when the minimum eigenvalue is less than a first threshold value.
제 3 항에 있어서,
상기 최종 면과 상기 최종 에지를 결정하는 단계는, 상기 복수의 확대 면들 간의 각, 및 상기 확대 면들 각각의 기하학적 중심점(centroid)과 인접 확대 면들 간의 거리가 제 2 임계값보다 작은 경우에, 상기 확대 면들이 하나의 면으로 병합하도록 판정하여, 상기 최종 면과 상기 최종 에지를 결정하는 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법.
4. The method of claim 3,
The determining of the final surface and the final edge may include: When an angle between the plurality of enlarged surfaces and a distance between a geometric centroid of each of the enlarged surfaces and adjacent enlarged surfaces are less than a second threshold, the enlargement A map matching position estimation method of a moving object using a vector map for determining the final surface and the final edge by determining that the surfaces are merged into one surface.
제 1 항에 있어서,
상기 검출 피쳐 정보를 생성하는 단계는,
상기 주변 포인트 클라우드에서의 소정의 포인트와 인접 포인트들 간의 벡터에 기초하여 포인터들을 포함하는 하나의 면인지를 판정하여 결정하는 단계;
상기 판정된 면과 인접 포인트들 간의 거리에 기초하여 확대된 하나의 면인지를 판정하여 확대 면을 결정하는 과정을 반복하는 단계;
상기 반복된 과정에서 결정된 복수의 확대 면들 간의 거리와 각에 기초하여 검출용 최종 면과 검출용 최종 에지를 결정하는 단계;
상기 검출용 최종 면과 상기 검출용 최종 에지 별 상기 검출 대표 벡터들이 포함된 검출 피쳐 정보를 생성하는 단계를 포함하는 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법.
The method of claim 1,
The step of generating the detection feature information includes:
determining whether it is one surface including pointers based on a vector between a predetermined point in the neighboring point cloud and the neighboring points;
repeating the process of determining an enlarged surface by determining whether it is one enlarged surface based on the distance between the determined surface and adjacent points;
determining a final surface for detection and a final edge for detection based on the distances and angles between the plurality of enlarged surfaces determined in the repeated process;
and generating detection feature information including the detection representative vectors for each final surface for detection and the final edge for detection.
제 6 항에 있어서,
상기 이동체는 상기 주변 포인트 클라우드를 획득하는 라이다 센서, 상기 주변 환경의 이미지를 획득하는 영상 센서, 상기 이동체의 위치 정보를 획득하는 측위 센서들 및 상기 이동체의 자세를 파악하는 관성 센서(IMU)를 포함하는 다중 센서를 탑재하되,
상기 주변 포인트 클라우드에서의 소정의 포인트와 인접 포인트들 간의 벡터에 기초하여 포인터들을 포함하는 하나의 면인지를 판정하여 결정하는 단계 전에,
상기 라이다 센서, 상기 영상 센서 및 상기 측위 센서 간의 기하 정보를 이용하여, 상기 이동체의 오도메트리 정보를 생성하는 단계; 및
상기 관성 센서로부터 획득된 상기 이동체의 자세 정보에 기초하여, 상기 주변 포인트 클라우드의 데이터에서 발생된 왜곡을 보정하는 단계를 더 포함하는 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법.
7. The method of claim 6,
The moving object includes a lidar sensor that acquires the surrounding point cloud, an image sensor that acquires an image of the surrounding environment, positioning sensors that acquire location information of the moving object, and an inertial sensor (IMU) that detects the posture of the moving object. It is equipped with multiple sensors including
Before the step of determining whether it is a single surface including pointers based on a vector between a predetermined point in the neighboring point cloud and adjacent points,
generating odometry information of the moving object by using geometric information between the lidar sensor, the image sensor, and the positioning sensor; and
The method of estimating a map matching position of a moving object using a vector map further comprising correcting distortion generated in the data of the surrounding point cloud based on the posture information of the moving object obtained from the inertial sensor.
제 7 항에 있어서,
상기 벡터 맵과 상기 검출 피쳐 정보에서 동일 추정되는 적어도 하나의 부분을 탐색하는 단계는,
상기 이동체의 위치 정보, 자세 정보 및 상기 오도메트리 정보에 기초하여 추정되는 상기 이동체의 현재 위치를 초기값으로 결정하는 단계; 및
상기 초기값을 기준으로, 상기 벡터 맵의 지도 대표 벡터와 상기 검출 피쳐 정보의 검출 대표 벡터 간에 소정의 유사도를 갖는 대표 벡터들과 관련된 상기 벡터 맵 및 상기 검출 피쳐 정보의 면들을 탐색하여, 상기 탐색된 면들을 동일한 객체의 동일 면들로 추정하는 단계를 포함하는 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법.
8. The method of claim 7,
The step of searching for at least one part estimated to be the same in the vector map and the detection feature information,
determining, as an initial value, a current position of the moving object estimated based on the position information, the posture information, and the odometry information of the moving object; and
Based on the initial value, the vector map and faces of the detection feature information related to representative vectors having a predetermined similarity between the map representative vector of the vector map and the detection representative vector of the detection feature information are searched, and the search is performed. A method for estimating a map matching position of a moving object using a vector map, comprising estimating the surfaces of the same object as identical surfaces.
제 6 항에 있어서,
상기 주변 포인트 클라우드에서의 소정의 포인트와 인접 포인트들 간의 벡터에 기초하여 포인터들을 포함하는 하나의 면인지를 판정하여 결정하는 단계 전에,
상기 주변 포인트 클라우드를 소정 밀도로 다운샘플링하는 단계를 더 포함하는 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법.
7. The method of claim 6,
Before the step of determining whether it is a single surface including pointers based on a vector between a predetermined point in the neighboring point cloud and adjacent points,
The method of estimating a map matching position of a moving object using a vector map further comprising the step of downsampling the neighboring point cloud to a predetermined density.
제 1 항에 있어서,
상기 이동체의 위치를 추정하는 단계는,
상기 탐색된 부분을 기준으로 상기 벡터 맵의 객체 정보와 상기 검출 피쳐 정보의 객체 정보를 매칭하여 상기 이동체의 위치를 추정하는 단계;
상기 벡터 맵에서의 객체의 면을 구성하는 포인트들을 샘플링하는 단계; 및
상기 샘플링한 포인트들과 상기 검출 피쳐 정보에서의 객체의 면 간의 거리를 이용한 최적화 프로세스에 의해, 상기 이동체의 포즈(pose) 값을 산출하며, 상기 산출된 포즈값에 기초하여 상기 추정된 위치를 수정하는 단계를 포함하는 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법.
The method of claim 1,
The step of estimating the position of the moving object includes:
estimating the position of the moving object by matching the object information of the vector map with the object information of the detection feature information based on the searched part;
sampling points constituting the surface of the object in the vector map; and
A pose value of the moving object is calculated by an optimization process using the distance between the sampled points and the surface of the object in the detection feature information, and the estimated position is corrected based on the calculated pose value A method for estimating a map matching position of a moving object using a vector map, comprising the step of:
KR1020200174861A 2020-12-14 2020-12-14 Method of estimating the location of a moving object using vector map KR102624644B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200174861A KR102624644B1 (en) 2020-12-14 2020-12-14 Method of estimating the location of a moving object using vector map

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200174861A KR102624644B1 (en) 2020-12-14 2020-12-14 Method of estimating the location of a moving object using vector map

Publications (2)

Publication Number Publication Date
KR20220084910A true KR20220084910A (en) 2022-06-21
KR102624644B1 KR102624644B1 (en) 2024-01-18

Family

ID=82221206

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200174861A KR102624644B1 (en) 2020-12-14 2020-12-14 Method of estimating the location of a moving object using vector map

Country Status (1)

Country Link
KR (1) KR102624644B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2317280A2 (en) * 2009-10-30 2011-05-04 Honeywell International Inc. Uncertainty estimation of planar features
KR20140013173A (en) * 2012-07-19 2014-02-05 고려대학교 산학협력단 Method for extracting plane feature from raw point clouds, and method for building the map of a mobile robot and recognizing the position of the mobile robot with the extracting method
KR20200082109A (en) * 2018-12-28 2020-07-08 한국로봇융합연구원 Feature data extraction and application system through visual data and LIDAR data fusion
CN111722245A (en) * 2020-06-22 2020-09-29 北京百度网讯科技有限公司 Positioning method, positioning device and electronic equipment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2317280A2 (en) * 2009-10-30 2011-05-04 Honeywell International Inc. Uncertainty estimation of planar features
KR20140013173A (en) * 2012-07-19 2014-02-05 고려대학교 산학협력단 Method for extracting plane feature from raw point clouds, and method for building the map of a mobile robot and recognizing the position of the mobile robot with the extracting method
KR20200082109A (en) * 2018-12-28 2020-07-08 한국로봇융합연구원 Feature data extraction and application system through visual data and LIDAR data fusion
CN111722245A (en) * 2020-06-22 2020-09-29 北京百度网讯科技有限公司 Positioning method, positioning device and electronic equipment

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
EL-SAYED, Emad, et al. Plane detection in 3D point cloud using octree-balanced density down-sampling and iterative adaptive plane extraction. IET Image Processing. 2018.* *
Rozenberszki, D 외 1명. LOL: Lidar-only odometry and localization in 3D point cloud maps. In 2020 IEEE International Conference on Robotics and Automation. 2020.5.* *

Also Published As

Publication number Publication date
KR102624644B1 (en) 2024-01-18

Similar Documents

Publication Publication Date Title
CN112785702B (en) SLAM method based on tight coupling of 2D laser radar and binocular camera
EP3517997B1 (en) Method and system for detecting obstacles by autonomous vehicles in real-time
CN110807350B (en) System and method for scan-matching oriented visual SLAM
EP2948927B1 (en) A method of detecting structural parts of a scene
Lins et al. Vision-based measurement for localization of objects in 3-D for robotic applications
CN110675307A (en) Implementation method of 3D sparse point cloud to 2D grid map based on VSLAM
Zhou et al. T-loam: truncated least squares lidar-only odometry and mapping in real time
EP2385496A1 (en) Extraction of 2D surfaces from a 3D point cloud
JP2005528707A (en) Feature mapping between data sets
CN105910604A (en) Multi-sensor-based autonomous obstacle avoidance navigation system
Zhang et al. Three-dimensional cooperative mapping for connected and automated vehicles
CN114549738A (en) Unmanned vehicle indoor real-time dense point cloud reconstruction method, system, equipment and medium
CN112068152A (en) Method and system for simultaneous 2D localization and 2D map creation using a 3D scanner
US20210304518A1 (en) Method and system for generating an environment model for positioning
CN104166995A (en) Harris-SIFT binocular vision positioning method based on horse pace measurement
Praczyk et al. Concept and first results of optical navigational system
US11561553B1 (en) System and method of providing a multi-modal localization for an object
Birk et al. Simultaneous localization and mapping (SLAM)
KR102130687B1 (en) System for information fusion among multiple sensor platforms
Wang et al. Robust real-time AUV self-localization based on stereo vision-inertia
CN115031718A (en) Unmanned ship synchronous positioning and mapping method (SLAM) and system with multi-sensor fusion
KR102624644B1 (en) Method of estimating the location of a moving object using vector map
CN116147618A (en) Real-time state sensing method and system suitable for dynamic environment
Aggarwal Machine vision based SelfPosition estimation of mobile robots
Vatavu et al. Real-time environment representation based on occupancy grid temporal analysis using a dense stereo-vision system

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right