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 PDFInfo
- 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
Links
- 239000013598 vector Substances 0.000 title claims abstract description 164
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000001514 detection method Methods 0.000 claims abstract description 107
- 230000008569 process Effects 0.000 claims description 30
- 239000011159 matrix material Substances 0.000 claims description 9
- 238000005070 sampling Methods 0.000 claims description 4
- 238000005457 optimization Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 238000006243 chemical reaction Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000004927 fusion Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 239000002245 particle Substances 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; 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/16—Navigation; 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/165—Navigation; 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/1652—Navigation; 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
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/005—Navigation; 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
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/28—Navigation; 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
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3407—Route searching; Route guidance specially adapted for specific applications
- G01C21/3438—Rendez-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
본 개시는 맵 매칭 위치 추정 방법에 관한 것으로서, 보다 상세하게는 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법에 관한 것이다.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
한편, 이동체는 완전 및 반자율 주행 자동차 및 자율주행 로봇 등일 수 있다. 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
다중 센서(110)는 이동 중인 이동체의 위치 정보를 획득하는 측위 센서(112), 이동체의 주변 환경으로부터 주변 포인트 클라우드를 획득하는 라이다 센서(114), 주변 환경의 이미지를 획득하는 영상 센서(116) 및 이동체의 자세를 파악하는 관성 센서(IMU(Inertial Measurement Unit); 118)를 포함할 수 있다.The multi-sensor 110 includes a
측위 센서(112)는 위성 항법 장치(GPS)를 통해 이동체의 이동 위치를 취득하는 위치 취득 장치를 포함할 수 있다. The
라이다 센서(114)는 이동체에 탑재되어 그 주위의 대상물과 관련된 2차원 또는 3차원 지리 데이터, 예컨대 지형, 지물 관련 데이터를 획득하여 측량용 관측 데이터를 취득하는 센서일 수 있다. 예를 들어, 라이다 센서(114)는 레이저 또는 초음파 센서 등일 수 있으며, 레이저 센서의 경우, 라이다(Light Detection and Ranging; LiDAR) 센서일 수 있다. 이러한 라이다 센서는 데이터를 취득하고자 하는 대상물에 레이저를 주사하며 대상물로부터 반사되어 복귀하는 전자파의 시차와 에너지 변화를 감지하여 대상물에 대한 거리와 반사 강도를 산출한다.The
영상 센서(116)는 이동 중인 이동체에 탑재되어 그 주위의 주변 대상물, 예컨대 지형, 지물을 이미지로 촬영하여 영상용 관측 데이터를 취득하는 센서이며, 측량용 또는 비측량용 카메라, 스테레오 카메라일 있으며, 이에 제한되지 않는다.The
본 개시에서는 관성 센서가 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
변환부(120)는 주변 포인트 클라우드의 데이터, 영상 데이터, 이동체의 위치 정보 등의 센서 데이터들 간의 기하 정보를 보정하여 융합할 수 있다. 변환부(120)는 라이다 센서(114)로부터 획득된 주변 포인트 클라우드가 컬러인 경우에, 주변 포인트 클라우드의 RGB 데이터 및 영상 데이터 등을 이용하여, 기하 정보의 보정 및 다중 센서(110)의 데이터들을 융합하는 과정에서, 깊이(depth) 데이터가 융합 데이터에 포함될 수 있다. 후술할 검출 피쳐 정보는 주변 포인트 클라우드의 데이터에 포함된 거리와 반사 강도 등 외에도, 주변 포인트 클라우드에 포함된 RGB 데이터와 깊이 데이터까지 이용하여 생성될 수 있다. The
생성부(130)는 지도 데이터의 지도 포인트 클라우드에 기초하여 객체의 적어도 하나의 부분에 지도 대표 벡터가 포함된 벡터 맵을 생성할 수 있다. 또한, 생성부(130)는 이동체의 주변 환경으로부터 실시간으로 획득된 주변 포인트 클라우드에 기초하여 객체의 적어도 하나의 부분에 검출 대표 벡터가 포함된 검출 피쳐 정보를 생성할 수 있다. 실시간으로 생성되는 검출 피쳐 정보는 기 제작된 벡터 맵과 매칭하여 위치 추정에 이용함으로써, 이동체에 대한 실시간 로컬리제이션(localization)이 구현될 수 있다.The
벡터 맵 및 검출 피쳐 정보는 생성부(130)에 의해, 대표 벡터를 포함하여 다른 데이터를 추가로 가질 수 있다. 즉, 벡터 맵 및 검출 피쳐 정보에 포함되는 객체 정보는 포인트 클라우드, 영상 데이터 및 위치 정보에 기초하여 생성될 수 있으며, 객체의 적어도 하나의 부분에 대해 규정하는 대표 벡터 뿐만 아니라, 객체의 형태, 종류, 명칭 등을 포함할 수 있다. The vector map and detection feature information may additionally have other data including the representative vector by the
지도 데이터부(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
본 실시예에서는 공간 정보가 상술한 데이터들 내지 정보들을 전부 포함하는 것으로 기술하고 있으나, 이에 제한되지 않으며, 설계 사양에 따라 상술한 데이터/정보들 중 일부만을 포함하도록 설정될 수 있다. 아울러, 지도 정보는 신규로 취득된 센서 데이터에 기초하여 갱신될 수 있다.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
위치 추정부(160)는 매칭부(150)에서 탐색된 부분을 기준으로 벡터 맵과 검출 피쳐 정보를 매칭하여, 이동체의 위치를 추정할 수 있다. 위치 추정부(160)는 상기 탐색된 부분을 기준으로 벡터 맵의 객체 정보와 검출 피쳐 정보의 객체 정보를 매칭하여 이동체의 위치를 추정할 수 있다. 각 객체 정보는 지도 대표 벡터와 검출 대표 벡터일 수도 있으며, 이들 대표 벡터 및 벡터 맵과 검출 피쳐 정보에 기록된 객체의 형태, 종류, 명칭 등일 수 있다. The
이상에서는, 위치 추정 장치(100)의 모듈 별 기능에 대해 개략적으로 설명하였으며, 이하에서는 도 1 내지 도 9를 참조하여, 본 개시의 실시예에 따른 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법과 아울러서, 위치 추정 장치(100)의 모듈 별 기능을 보다 상세하게 기술하기로 한다. In the above, the function of each module of the
도 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
여기서, 상기 부분은 상기 객체의 면과 에지 중 적어도 어느 하나일 수 있으며, 본 실시예에서는 설명의 편의를 위해, 상기 부분은 객체의 면과 에지 전부를 포함하는 것으로 기술한다. 그러나, 벡터 맵의 지도 대표 벡터가 표현될 수 있다면, 부분은 면과 에지 중 적어도 어느 하나일 수 있다. 에지는 인접한 면들 사이에 위치되는 라인이다. 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
공간 색인은 공간 정보의 용이한 탐색, 벡터 맵과의 정합 등을 위해, 지도 데이터부(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
다음으로, 생성부(130)는 지도 포인트 클라우드에서의 소정의 포인트(12)와 인접 포인트들(12) 간의 벡터에 기초하여 포인터들을 포함하는 하나의 면인지를 판정하여 결정할 수 있다(S210). Next, the
하나의 면인지를 판정하여 결정하는 과정과 관련하여 도 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
이어서, 생성부(130)는 최소의 고유값이 제 1 임계값보다 작으면 소정 포인트(12)와 인접 포인트(12)를 포함하는 하나의 면인 것으로 결정할 수 있다.Next, when the minimum eigenvalue is less than the first threshold value, the
도 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
확대면의 결정 과정에 대해 도 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
아울러, 생성부(130)는 S210 및 S215 단계 이행 중, 하나의 면(14) 및 확대 면(16)에서 포함되지 않은 포인트들에 대하여, S210 및 S215 단계의 과정을 반복하여 객체(10)를 구성하는 면들을 전부 추정할 수 있다.In addition, the generating
다음으로, 생성부(130)는 객체(10)의 모든 포인트들(12)에 대해 S210 및 S215 단계를 반복하여 결정된 복수의 확대 면들 간의 거리와 각에 기초하여 최종 면과 최종 에지를 결정할 수 있다(S220). Next, the
구체적으로, 최종 면과 최종 에지의 결정은, 복수의 확대 면들 간의 각, 및 확대 면들 각각의 기하학적 중심점(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
계속해서, 생성부(130)는 최종 면과 에지 별 지도 대표 벡터가 포함된 벡터 맵을 생성할 수 있다(S225).
Subsequently, the
지도 대표 벡터(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
이와 같이 벡터 맵을 생성한 후에, 다시 도 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
여기서, 상기 부분은 객체의 면과 에지 중 적어도 어느 하나일 수 있으며, 본 실시예에서는 설명의 편의를 위해, 상기 부분은 객체의 면과 에지 전부를 포함하는 것으로 기술한다. 그러나, 지도 대표 벡터와 대응되도록 검출 피쳐 정보의 검출 대표 벡터가 표현될 수 있다면, 부분은 면과 에지 중 적어도 어느 하나일 수 있다. 에지는 인접한 면들 사이에 위치되는 라인이다. 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
우선, 이동체는 주변 환경으로부터 주변 클라우드 포인트를 획득할 수 있다(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
다음으로, 변환부(120)는 이동체(18)의 다중 센서(110)를 이용하여 오도메트리 정보를 생성하며, 주변 포인트 클라우드의 데이터를 보정할 수 있다(S310). Next, the
구체적으로, 변환부(120)는 영상 센서(116)의 영상 데이터, 측위 센서(112)의 위치 정보 및 라이다 센서(114)의 주변 포인트 클라우드의 데이터에 기초하여, 이동체가 이동한 지점들 간의 상대 위치 데이터를 나타내는 오도메트리 정보를 생성할 수 있다. 본 실시예에서는 오도메트리 센서가 생략되어도 오도메트리 정보를 생성하는 예로 설명하고 있으나, 오도메트리 센서가 구비되면, 변환부(120)는 오도메트리 센서로부터의 데이터에 기초하여 오도메트리 정보를 생성할 수 있다. Specifically, the
또한, 주변 포인트 클라우드의 데이터 보정은 관성 센서(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
이에 더하여, 변환부(120)는 라이다 센서(114)로부터 획득된 주변 포인트 클라우드가 컬러인 경우에, 주변 포인트 클라우드의 RGB 데이터 및 영상 데이터 등을 이용하여, 기하 정보의 보정 및 다중 센서(110)의 데이터들을 융합하는 과정에서, 깊이(depth) 데이터가 융합 데이터에 포함될 수 있다. 검출 피쳐 정보는 주변 포인트 클라우드의 데이터에 포함된 포인터들, 객체와의 거리와 반사 강도 등 외에도, 주변 포인트 클라우드에 포함된 RGB 데이터와 깊이 데이터까지 이용하여 생성될 수 있다. In addition, when the surrounding point cloud obtained from the
계속해서, 변환부(120)는 주변 포인트 클라우드의 데이터에 인덱스를 생성할 수 있다(S315).Subsequently, the
주변 포인트 클라우드의 용이한 탐색, 지도 데이터 및/또는 벡터 맵과의 정합 등을 위해, 라이다 채널 및 주사(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
변환부(120)는 객체와의 거리에 관계없이 유사한 범위의 소정 밀도로 주변 포인트 클라우드의 데이터, 예컨대 포인트들을 다운샘플링할 수 있다. The
계속해서, 생성부(130)는 보정된 주변 포인트 클라우드에 기초하여 검출 대표 벡터가 포함된 검출 피쳐 정보를 생성할 수 있다(S325).Subsequently, the
검출 피쳐 정보는 도 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
하나의 면인지를 판정하여 결정하는 과정과 관련하여 도 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
하나의 면인지를 판정하여 결정하는 과정은 도 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
이어서, 생성부(130)는 최소의 고유값이 제 3 임계값보다 작으면 소정 포인트와 인접 포인트를 포함하는 하나의 면인 것으로 결정할 수 있다. 이와 관련된 상세 설명은 S210 단계와 유사하여 생략한다. Next, when the minimum eigenvalue is less than the third threshold value, the
다음으로, 생성부(130)는 S215 단계와 마찬가지로, 앞서 판정된 하나의 면과 인접 포인트들 간의 거리에 기초하여 확대된 하나의 면인지를 판정하여 확대 면을 결정하는 과정을 반복할 수 있다. 확대면의 결정 과정은 도 5를 통한 설명과 유사하여 생략하기로 한다. Next, the
S215 단계의 반복을 통해 확대 면(16)이 최대로 확장되면, 확대 면(16)에 포함된 포인트들에 기초한 면 방정식을 구할 수 있다. When the
아울러, 생성부(130)는 S210 및 S215 단계와 유사한 상술의 단계들 중, 하나의 면 및 확대 면에서 포함되지 않은 포인트들에 대하여, 상술의 단계들을 반복하여 객체를 구성하는 면들을 전부 추정할 수 있다.In addition, the generating
다음으로, 생성부(130)는 S220 단계와 마찬가지로, 객체의 모든 포인트들에 대해 상술의 단계들을 반복하여 결정된 복수의 확대 면들 간의 거리와 각에 기초하여 검출용 최종 면과 검출용 최종 에지를 결정할 수 있다. Next, the
검출용 최종 면과 검출용 최종 에지의 결정은 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
검출 대표 벡터(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
이와 같이 검출 피쳐 정보를 생성한 후에, 도 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
구체적으로, 매칭부(150)는 측위 센서(112)에 의한 이동체의 위치 정보, 관성 센서(118)에 의한 이동체의 자세 정보 및 오도메트리 정보에 기초하여 추정되는 이동체의 현재 위치를 초기값으로 결정할 수 있다. 이어서, 매칭부(150)는 초기값을 기준으로, 벡터 맵의 지도 대표 벡터와 검출 피쳐 정보의 검출 대표 벡터 간에 소정의 유사도를 갖는 대표 벡터들과 관련된 벡터 맵 및 출 벡터 맵의 면들을 탐색할 수 있다. 이에 따라, 매칭부(150)는 탐색된 면들을 동일한 객체의 동일 면들로 추정할 수 있다. Specifically, the
즉, 매칭부(150)는 지도 대표 벡터와 검출 대표 벡터 간의 유사성을 이용하여 벡터 맵과 검출 피쳐 정보에서 동일 추정되는 적어도 하나의 부분을 탐색할 수 있다. That is, the
상기 부분은 면 및/또는 에지일 수 있으며, 상술한 실시예에서는 면을 탐색하는 예를 기술하였으나, 다른 실시예에서는 에지 또는 면/에지의 조합을 탐색할 수 있다. 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
구체적으로, 위치 추정부(160)는 도 9에서와 같이, 탐색된 부분을 기준으로 벡터 맵의 객체 정보와 검출 피쳐 정보의 객체 정보를 매칭하여 이동체의 위치를 추정할 수 있다. 도 9는 검출 피쳐 정보와 벡터 맵 간의 동일 객체의 부분을 탐색하고 매칭하는 일례를 예시한 도면이다. Specifically, as shown in FIG. 9 , the
객체 정보는 객체의 적어도 하나의 부분에 대해 규정하는 지도 대표 벡터, 검출 대표 벡터뿐만 아니라, 객체의 형태, 종류, 명칭 등을 포함할 수 있다. 본 실시예에서는 위치 추정시의 연산 부담을 경감하기 위해, 대표 벡터를 이용한 위치 추정을 예로 들고 있으나, 이에 제한되지 않고, 객체에 포함된 포인트 클라우드의 포인트들, 이들로부터 추정되는 객체의 윤곽 등으로 위치 추정하는 예를 배제하지 않는다. 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
한편, 위치 추정부(160)는 벡터 맵에서의 객체의 면을 구성하는 포인트들을 샘플링하는 과정을 추가로 수행할 수 있다. 이후, 위치 추정부(160)는 위치 추정(localization)의 정확성을 위해, 벡터 맵에서 샘플링한 포인트들과 검출 피쳐 정보에서의 객체의 면 간의 거리를 이용한 최적화 프로세스에 의해, 이동체의 포즈(pose) 값을 산출하며, 산출된 포즈값에 기초하여 추정된 위치를 수정할 수 있다. Meanwhile, the
본 개시에 따르면, 이동체로부터 획득되는 주변 지도 데이터와 기 저장된 지도 데이터 간의 매칭에서 연산량을 경감함과 동시에, 지도 데이터의 용량을 획기적으로 감소하면서 이동체 위치 추정의 정확도를 확보할 수 있다.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)
이동체의 주변 환경으로부터 실시간으로 획득된 주변 포인트 클라우드에 기초하여 객체의 적어도 하나의 부분에 검출 대표 벡터가 포함된 검출 피쳐(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.
상기 부분은 상기 객체의 면과 에지 중 적어도 어느 하나인 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법.
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.
상기 벡터 맵을 생성하는 단계는,
상기 지도 포인트 클라우드에서의 소정의 포인트와 인접 포인트들 간의 벡터에 기초하여 포인터들을 포함하는 하나의 면인지를 판정하여 결정하는 단계;
상기 판정된 면과 인접 포인트들 간의 거리에 기초하여 확대된 하나의 면인지를 판정하여 확대 면을 결정하는 과정을 반복하는 단계;
상기 반복된 과정에서 결정된 복수의 확대 면들 간의 거리와 각에 기초하여 최종 면과 최종 에지를 결정하는 단계; 및
상기 최종 면과 상기 최종 에지 별 상기 지도 대표 벡터들이 포함된 벡터 맵을 생성하는 단계를 포함하는 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법.
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.
상기 하나의 면인지를 판정하여 결정하는 단계는,
상기 소정 포인트와 상기 인접 포인트들 간의 공분산 행렬(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.
상기 최종 면과 상기 최종 에지를 결정하는 단계는, 상기 복수의 확대 면들 간의 각, 및 상기 확대 면들 각각의 기하학적 중심점(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.
상기 검출 피쳐 정보를 생성하는 단계는,
상기 주변 포인트 클라우드에서의 소정의 포인트와 인접 포인트들 간의 벡터에 기초하여 포인터들을 포함하는 하나의 면인지를 판정하여 결정하는 단계;
상기 판정된 면과 인접 포인트들 간의 거리에 기초하여 확대된 하나의 면인지를 판정하여 확대 면을 결정하는 과정을 반복하는 단계;
상기 반복된 과정에서 결정된 복수의 확대 면들 간의 거리와 각에 기초하여 검출용 최종 면과 검출용 최종 에지를 결정하는 단계;
상기 검출용 최종 면과 상기 검출용 최종 에지 별 상기 검출 대표 벡터들이 포함된 검출 피쳐 정보를 생성하는 단계를 포함하는 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법.
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.
상기 이동체는 상기 주변 포인트 클라우드를 획득하는 라이다 센서, 상기 주변 환경의 이미지를 획득하는 영상 센서, 상기 이동체의 위치 정보를 획득하는 측위 센서들 및 상기 이동체의 자세를 파악하는 관성 센서(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.
상기 벡터 맵과 상기 검출 피쳐 정보에서 동일 추정되는 적어도 하나의 부분을 탐색하는 단계는,
상기 이동체의 위치 정보, 자세 정보 및 상기 오도메트리 정보에 기초하여 추정되는 상기 이동체의 현재 위치를 초기값으로 결정하는 단계; 및
상기 초기값을 기준으로, 상기 벡터 맵의 지도 대표 벡터와 상기 검출 피쳐 정보의 검출 대표 벡터 간에 소정의 유사도를 갖는 대표 벡터들과 관련된 상기 벡터 맵 및 상기 검출 피쳐 정보의 면들을 탐색하여, 상기 탐색된 면들을 동일한 객체의 동일 면들로 추정하는 단계를 포함하는 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법.
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.
상기 주변 포인트 클라우드에서의 소정의 포인트와 인접 포인트들 간의 벡터에 기초하여 포인터들을 포함하는 하나의 면인지를 판정하여 결정하는 단계 전에,
상기 주변 포인트 클라우드를 소정 밀도로 다운샘플링하는 단계를 더 포함하는 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법.
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.
상기 이동체의 위치를 추정하는 단계는,
상기 탐색된 부분을 기준으로 상기 벡터 맵의 객체 정보와 상기 검출 피쳐 정보의 객체 정보를 매칭하여 상기 이동체의 위치를 추정하는 단계;
상기 벡터 맵에서의 객체의 면을 구성하는 포인트들을 샘플링하는 단계; 및
상기 샘플링한 포인트들과 상기 검출 피쳐 정보에서의 객체의 면 간의 거리를 이용한 최적화 프로세스에 의해, 상기 이동체의 포즈(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:
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)
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 |
-
2020
- 2020-12-14 KR KR1020200174861A patent/KR102624644B1/en active IP Right Grant
Patent Citations (4)
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)
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 |