KR102624644B1 - 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법 - Google Patents

벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법 Download PDF

Info

Publication number
KR102624644B1
KR102624644B1 KR1020200174861A KR20200174861A KR102624644B1 KR 102624644 B1 KR102624644 B1 KR 102624644B1 KR 1020200174861 A KR1020200174861 A KR 1020200174861A KR 20200174861 A KR20200174861 A KR 20200174861A KR 102624644 B1 KR102624644 B1 KR 102624644B1
Authority
KR
South Korea
Prior art keywords
map
vector
moving object
detection
information
Prior art date
Application number
KR1020200174861A
Other languages
English (en)
Other versions
KR20220084910A (ko
Inventor
황예성
정해범
강정민
박일석
송승관
홍승환
Original Assignee
주식회사 카카오모빌리티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 카카오모빌리티 filed Critical 주식회사 카카오모빌리티
Priority to KR1020200174861A priority Critical patent/KR102624644B1/ko
Publication of KR20220084910A publication Critical patent/KR20220084910A/ko
Application granted granted Critical
Publication of KR102624644B1 publication Critical patent/KR102624644B1/ko

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Navigation (AREA)
  • Traffic Control Systems (AREA)

Abstract

벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법이 개시된다.
상기 방법은, 지도 데이터의 지도 포인트 클라우드에 기초하여 객체의 적어도 하나의 부분에 지도 대표 벡터가 포함된 벡터 맵(vector map)을 생성하는 단계와, 이동체의 주변 환경으로부터 획득된 주변 포인트 클라우드에 기초하여 객체의 적어도 하나의 부분에 검출 대표 벡터가 포함된 검출 피쳐(feature) 정보를 생성하는 단계와, 상기 지도 대표 벡터와 상기 검출 대표 벡터 간의 유사성을 이용하여 상기 벡터 맵과 상기 검출 피쳐 정보에서 동일 추정되는 적어도 하나의 부분을 탐색하는 단계, 및 상기 탐색된 부분을 기준으로 상기 벡터 맵과 상기 검출 피쳐 정보를 매칭하여, 상기 이동체의 위치를 추정하는 단계를 포함한다.

Description

벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법{Method of estimating the location of a moving object using vector map}
본 개시는 맵 매칭 위치 추정 방법에 관한 것으로서, 보다 상세하게는 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법에 관한 것이다.
라이다(LiDAR: Light Detection And Ranging)는 고출력의 펄스 레이저를 이용하여 물체에 반사되어 돌아오는 레이저 빔의 시간을 측정하여 거리정보를 획득하는 기술로, 자율주행자동차, 지구환경 관측, 대기분석, 및 무인기기 등 다양한 분야에 활용되고 있다.
최근에는 3D 리버스 엔지니어링, 자율주행 및 무인 자동차를 위한 레이저 스캐너 및 3D 영상 카메라의 핵심 기술로 활용되면서 그 활용성과 중요성이 점차 증가되고 있다.
특히, 자율주행 자동차 등과 같은 이동체에서는 목적지로 이동하기 위하여 어느 경로에 어떤 위치에 있는지에 따라서 이동 경로 선택 전략을 달리하여야 한다. 그러나, 종래 GPS 기술로는 최대 오차가 10미터까지 발생하여, 이동체의 경로 단위, 일 예로, 자동차의 주행 차로 단위로 정확히 위치를 판단할 수 없는 문제점이 있다.
따라서, 주행 환경을 정확히 인식하는 것이 중요한 자율주행 자동차 등과 같은 이동체에서는, 지도 데이터와 이동체의 주변 오브젝트들을 관찰하는 센싱 정보를 융합한 주행환경 인식기술에 대한 연구가 이루어지고 있다.
한편, 위치 인지를 가장 용이하게 계산하는 방법은 광범위한 지역에 이동체를 대입시켜, 이동체로부터 실시간 획득되는 주변 지도 데이터와 기 저장된 지도 데이터에서 가장 높은 매칭율을 나타내는 위치를 이동체의 위치로 추정할 수 있으나, 모든 위치에서 양 지도 데이터, 예를 들어 양 지도의 포인트 클라우드 데이터를 대비하여야 하므로, 연산량이 과도하게 증대되는 단점이 있다.
이에 따라, 최근에는 모든 지점의 포인트 클라우드의 데이터를 대입하지 않고 랜덤으로 샘플링해서 해당 위치에서 위치를 측정하는 파티클 필터 기술이 이용되고 있다.
그러나, 파티클 필터 기술 역시 위치 정보인 파티클의 개수에 따라서 정확도와 연산량이 현저히 상이하게 되는 문제점이 있다.
본 개시가 이루고자 하는 기술적 과제는, 이동체로부터 획득되는 주변 지도 데이터와 기 저장된 지도 데이터 간의 매칭에서 연산량을 경감함과 동시에, 지도 데이터의 용량을 획기적으로 감소하면서 이동체 위치 추정의 정확도를 확보할 수 있는 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법을 제공하는데 있다.
본 개시의 목적은 이상에서 언급된 목적으로 제한되지 않으며, 언급되지 않은 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 이루기 위한 본 개시의 일 양태에 따르면, 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법은, 지도 데이터의 지도 포인트 클라우드에 기초하여 객체의 적어도 하나의 부분에 지도 대표 벡터가 포함된 벡터 맵(vector map)을 생성하는 단계와, 이동체의 주변 환경으로부터 실시간으로 획득된 주변 포인트 클라우드에 기초하여 객체의 적어도 하나의 부분에 검출 대표 벡터가 포함된 검출 피쳐 정보를 생성하는 단계와, 상기 지도 대표 벡터와 상기 검출 대표 벡터 간의 유사성을 이용하여 상기 벡터 맵과 상기 검출 피쳐(feature) 정보에서 동일 추정되는 적어도 하나의 부분을 탐색하는 단계, 및 상기 탐색된 부분을 기준으로 상기 벡터 맵과 상기 검출 피쳐 정보를 매칭하여, 상기 이동체의 위치를 추정하는 단계를 포함한다.
다른 실시예에서, 상기 부분은 상기 객체의 면과 에지 중 적어도 어느 하나일 수 있다.
또 다른 실시예에서, 상기 벡터 맵을 생성하는 단계는, 상기 지도 포인트 클라우드에서의 소정의 포인트와 인접 포인트들 간의 벡터에 기초하여 포인트들을 포함하는 하나의 면인지를 판정하여 결정하는 단계와, 상기 판정된 면과 인접 포인트들 간의 거리에 기초하여 확대된 하나의 면인지를 판정하여 확대 면을 결정하는 과정을 반복하는 단계와, 상기 반복된 과정에서 결정된 복수의 확대 면들 간의 거리와 각에 기초하여 최종 면과 최종 에지를 결정하는 단계, 및 상기 최종 면과 상기 최종 에지 별 상기 지도 대표 벡터들이 포함된 벡터 맵을 생성하는 단계를 포함할 수 있다.
또 다른 실시예에서, 상기 하나의 면인지를 판정하여 결정하는 단계는, 상기 소정 포인트와 상기 인접 포인트들 간의 공분산 행렬(covariance matrix)를 이용하여 고유값(eigenvalue)를 산출하는 단계, 및 최소의 고유값이 제 1 임계값보다 작으면 상기 소정 포인트와 상기 인접 포인트를 포함하는 하나의 면인 것으로 결정하는 단계를 포함할 수 있다.
또 다른 실시예에서, 상기 최종 면과 상기 최종 에지를 결정하는 단계는, 상기 복수의 확대 면들 간의 각, 및 상기 확대 면들 각각의 기하학적 중심점(centroid)과 인접 확대 면들 간의 거리가 제 2 임계값보다 작은 경우에, 상기 확대 면들이 하나의 면으로 병합하도록 판정하여, 상기 최종 면과 상기 최종 에지를 결정할 수 있다.
또 다른 실시예에서, 상기 검출 피쳐 정보를 생성하는 단계는, 상기 주변 포인트 클라우드에서의 소정의 포인트와 인접 포인트들 간의 벡터에 기초하여 포인트들을 포함하는 하나의 면인지를 판정하여 결정하는 단계와, 상기 판정된 면과 인접 포인트들 간의 거리에 기초하여 확대된 하나의 면인지를 판정하여 확대 면을 결정하는 과정을 반복하는 단계와, 상기 반복된 과정에서 결정된 복수의 확대 면들 간의 거리와 각에 기초하여 검출용 최종 면과 검출용 최종 에지를 결정하는 단계, 및 상기 검출용 최종 면과 상기 검출용 최종 에지 별 상기 검출 대표 벡터들이 포함된 검출 피쳐 정보를 생성하는 단계를 포함할 수 있다.
또 다른 실시예에서, 상기 이동체는 상기 주변 포인트 클라우드를 획득하는 라이다 센서, 상기 주변 환경의 이미지를 획득하는 영상 센서, 상기 이동체의 위치 정보를 획득하는 측위 센서들 및 상기 이동체의 자세를 파악하는 관성 센서(IMU)를 포함하는 다중 센서를 탑재하되, 상기 주변 포인트 클라우드에서의 소정의 포인트와 인접 포인트들 간의 벡터에 기초하여 포인트들을 포함하는 하나의 면인지를 판정하여 결정하는 단계 전에, 상기 라이다 센서의 상기 주변 포인트 클라우드, 상기 영상 센서의 영상 데이터 및 상기 측위 센서의 위치 정보에 기초하여, 상기 이동체의 이동한 지점들 간의 상대 위치 데이터를 나타내는 오도메트리 정보를 생성하는 단계, 및 상기 관성 센서로부터 획득된 상기 이동체의 자세 정보에 기초하여, 상기 주변 포인트 클라우드의 데이터에서 발생된 왜곡을 보정하는 단계를 더 포함할 수 있다.
또 다른 실시예에서, 상기 벡터 맵과 상기 검출 피쳐 정보에서 동일 추정되는 적어도 하나의 부분을 탐색하는 단계는, 상기 이동체의 위치 정보, 자세 정보 및 상기 오도메트리 정보에 기초하여 추정되는 상기 이동체의 현재 위치를 초기값으로 결정하는 단계, 및 상기 초기값을 기준으로, 상기 벡터 맵의 지도 대표 벡터와 상기 검출 피쳐 정보의 검출 대표 벡터 간에 소정의 유사도를 갖는 대표 벡터들과 관련된 상기 벡터 맵 및 상기 검출 피쳐 정보의 면들을 탐색하여, 상기 탐색된 면들을 동일한 객체의 동일 면들로 추정하는 단계를 포함할 수 있다.
또 다른 실시예에서, 상기 주변 포인트 클라우드에서의 소정의 포인트와 인접 포인트들 간의 벡터에 기초하여 포인트들을 포함하는 하나의 면인지를 판정하여 결정하는 단계 전에, 상기 주변 포인트 클라우드를 소정 밀도로 다운샘플링하는 단계를 더 포함할 수 있다.
또 다른 실시예에서, 상기 이동체의 위치를 추정하는 단계는, 상기 탐색된 부분을 기준으로 상기 벡터 맵의 객체 정보와 상기 검출 피쳐 정보의 객체 정보를 매칭하여 상기 이동체의 위치를 추정하는 단계와, 상기 벡터 맵에서의 객체의 면을 구성하는 포인트들을 샘플링하는 단계, 및 상기 샘플링한 포인트들과 상기 검출 피쳐 정보에서의 객체의 면 간의 거리에 기초하여, 상기 이동체의 포즈(pose) 값을 산출하며, 상기 산출된 포즈값에 기초하여 상기 추정된 위치를 수정하는 단계를 포함할 수 있다.
본 개시에 대하여 위에서 간략하게 요약된 특징들은 후술하는 본 개시의 상세한 설명의 예시적인 양상일 뿐이며, 본 개시의 범위를 제한하는 것은 아니다.
본 개시에 따르면, 이동체로부터 획득되는 주변 지도 데이터와 기 저장된 지도 데이터 간의 매칭에서 연산량을 경감함과 동시에, 지도 데이터의 용량을 획기적으로 감소하면서 이동체 위치 추정의 정확도를 확보할 수 있다.
이외에도 본 명세서를 통해 당업자라면 파악할 수 있는 구성을 통해 도출되는 효과를 배제하지 않는다. 본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 개시의 실시예에 따른 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법을 구현하는 맵 매칭 위치 추정장치에 관한 구성도이다.
도 2는 본 개시의 실시예에 따른 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법에 관한 순서도이다.
도 3은 벡터 맵(vector map)을 생성하는 과정에 관한 순서도이다.
도 4는 상호 인접한 포인트들 간의 벡터 정보들에 기초하여 객체를 구성하는 하나의 면인지를 결정하는 일례를 예시한 도면이다.
도 5는 결정된 하나의 면으로부터 인접 포인트들로 확장하여 객체를 구성하는 확대 면인지를 결정하는 일례를 예시한 도면이다.
도 6은 검출 피쳐 정보를 생성하는 과정에 관한 순서도이다.
도 7는 이동체가 주변 환경의 주변 포인트 클라우드를 획득하는 일례를 예시한 도면이다.
도 8는 검출 피쳐 정보의 생성 과정에서, 상호 인접한 포인트들 간의 벡터 정보들에 기초하여 객체를 구성하는 하나의 면인지를 결정하는 일례를 예시한 도면이다.
도 9는 검출 피쳐 정보와 벡터 맵 간의 동일 객체의 부분을 탐색하고 매칭하는 일례를 예시한 도면이다.
이하, 첨부한 도면들 및 후술되어 있는 내용을 참조하여 본 개시의 바람직한 실시예들을 상세히 설명한다. 그러나, 본 개시는 여기서 설명되어지는 실시예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 오히려, 여기서 소개되는 실시예들은 개시된 내용이 철저하고 완전해질 수 있도록 그리고 당업자에게 본 개시의 사상이 충분히 전달될 수 있도록 하기 위해 제공되어지는 것이다. 명세서 전체에 걸쳐서 동일한 참조번호들은 동일한 구성요소들을 나타낸다. 한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 개시를 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급되지 않는 한 복수형도 포함된다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자가 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
또한, "부" 내지 "모듈" 이란, 일반적으로 논리적으로 분리 가능한 소프트웨어(컴퓨터 프로그램), 하드웨어 등의 부품을 가리킨다. 따라서, 본 실시형태에 있어서의 모듈은 컴퓨터, 프로그램에 있어서의 모듈뿐만 아니라, 하드웨어 구성에 있어서의 모듈도 가리킨다. 그 때문에, 본 실시형태는, 그것들을 모듈로서 기능시키기 위한 컴퓨터 프로그램(컴퓨터에 각각의 단계를 실행시키기 위한 프로그램, 컴퓨터를 각각의 수단으로서 기능시키기 위한 프로그램, 컴퓨터에 각각의 기능을 실현시키기 위한 프로그램), 시스템 및 방법의 설명도 겸하고 있다. 다만, 설명의 형편상, 「저장한다」, 「저장시킨다」, 이것들과 동등한 문언을 이용하지만, 이들 문언은, 실시형태가 컴퓨터 프로그램일 경우에는, 기억 장치에 기억시키는, 또는 기억 장치에 기억시키는 것과 같이 제어하는 것을 의미한다. 또한, "부" 내지 "모듈:은 기능에 일대일로 대응하고 있어도 되지만, 실장에 있어서는, 1 모듈을 1 프로그램으로 구성해도 되고, 복수 모듈을 1 프로그램으로 구성해도 되고, 반대로 1 모듈을 복수 프로그램으로 구성해도 된다. 또한, 복수 모듈은 1 컴퓨터에 의해 실행되어도 되고, 분산 또는 병렬 환경에 있어서의 컴퓨터에 의해 1 모듈이 복수 컴퓨터로 실행되어도 된다. 또한, 1개의 모듈에 다른 모듈이 포함되어 있어도 된다. 또한, 이하, 「접속」이란 물리적인 접속 외에, 논리적인 접속(데이터의 주고받기, 지시, 데이터 간의 참조 관계 등)일 경우에도 채용한다. 「미리 정해진」또는 「소정」이란, 대상으로 하고 있는 처리 전에 정해져 있음을 말하고, 본 실시형태에 의한 처리가 개시되기 전은 물론이고, 본 실시형태에 의한 처리가 개시된 후에도, 대상으로 하고 있는 처리 전이면, 그 때의 상황, 상태에 따라, 또는 그때까지의 상황, 상태에 따라 정해지는 것의 의미를 포함해서 이용한다.
또한, 시스템 또는 장치란, 복수의 컴퓨터, 하드웨어, 장치 등이 네트워크(일대 일 대응의 통신 접속을 포함함) 등의 통신 수단에 의해 접속되어 구성되는 것 외에, 1개의 컴퓨터, 하드웨어, 장치 등에 의해 실현될 경우도 포함된다. 「장치」와 「시스템」이란, 서로 동의(同意)의 용어로서 이용한다. 물론이지만, 「시스템」에는, 인위적인 결정인 사회적인 「기구」(사회 시스템)에 지나지 않는 것은 포함하지 않는다.
또한, 각 부 내지 각 모듈에 의한 처리마다 또는 각 부 내지 모듈 내에서 복수의 처리를 행할 경우는 그 처리마다, 대상이 되는 정보를 기억 장치로부터 판독 입력하고, 그 처리를 행한 후에, 처리 결과를 기억 장치에 기입하는 것이다. 따라서, 처리 전의 기억 장치로부터의 판독 입력, 처리 후의 기억 장치에의 기입에 관해서는, 설명을 생략할 경우가 있다. 또한, 여기에서의 기억 장치로서는, 하드디스크, RAM(Random Access Memory), 외부 기억 매체, 통신 회선을 통한 기억 장치, CPU(Central Processing Unit) 내의 레지스터 등을 포함하고 있어도 된다.
이하, 도 1을 참조하여, 본 개시의 실시예에 따른 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 장치(이하, '위치 추정 장치'라 함)에 대하여 설명하기로 한다.
위치 추정 장치(100)는 이동체의 이동 과정에서, 이동체에 탑재된 센서를 통해 실시간으로 획득되는 주변 환경의 센서 데이터와 이동체 등에 기 저장된 지도 데이터와 매칭하여, 이동체의 위치를 추정하는 장치이다. 본 개시에서는 지도 데이터 및 벡터 맵(vector map)이 위치 추정 장치(100)에 내장된 것으로 예시하고 있으나, 다른 예로서, 지도 데이터 및 벡터 맵이 외부 장치로부터 전송되어 이용될 수도 있으며, 또 다른 예로서, 지도 데이터가 외부 장치로부터 전송되며, 벡터 맵은 전송된 지도 데이터로부터 가공되어 위치 추정 장치(100)에 저장될 수도 있다.
한편, 이동체는 완전 및 반자율 주행 자동차 및 자율주행 로봇 등일 수 있다.
도 1은 본 개시의 실시예에 따른 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법을 구현하는 장치에 관한 구성도이다.
위치 추정 장치(100)는 이동체의 이동 과정에서 주변 환경으로부터 객체의 센싱 데이터를 취득하는 다중 센서(110), 다중 센서(110)를 구성하는 센서들의 데이터에 대한 인덱싱, 캘리브레이션(calibration), 정합, 융합, 가공 및 오도메트리(odometry) 정보 생성 등을 수행하는 변환부(120), 지도 데이터 및 다중 센서의 데이터에 기초하여 벡터 맵 및 검출 피쳐 정보를 생성하는 생성부(130), 지도 데이터부(140), 벡터 맵과 검출 피쳐(feature) 정보를 상호 정합하는 매칭부(150) 및 정합된 맵들을 이용하여 이동체의 위치를 추정하는 위치 추정부(160)를 포함할 수 있다.
다중 센서(110)는 이동 중인 이동체의 위치 정보를 획득하는 측위 센서(112), 이동체의 주변 환경으로부터 주변 포인트 클라우드를 획득하는 라이다 센서(114), 주변 환경의 이미지를 획득하는 영상 센서(116) 및 이동체의 자세를 파악하는 관성 센서(IMU(Inertial Measurement Unit); 118)를 포함할 수 있다.
측위 센서(112)는 위성 항법 장치(GPS)를 통해 이동체의 이동 위치를 취득하는 위치 취득 장치를 포함할 수 있다.
라이다 센서(114)는 이동체에 탑재되어 그 주위의 대상물과 관련된 2차원 또는 3차원 지리 데이터, 예컨대 지형, 지물 관련 데이터를 획득하여 측량용 관측 데이터를 취득하는 센서일 수 있다. 예를 들어, 라이다 센서(114)는 레이저 또는 초음파 센서 등일 수 있으며, 레이저 센서의 경우, 라이다(Light Detection and Ranging; LiDAR) 센서일 수 있다. 이러한 라이다 센서는 데이터를 취득하고자 하는 대상물에 레이저를 주사하며 대상물로부터 반사되어 복귀하는 전자파의 시차와 에너지 변화를 감지하여 대상물에 대한 거리와 반사 강도를 산출한다.
영상 센서(116)는 이동 중인 이동체에 탑재되어 그 주위의 주변 대상물, 예컨대 지형, 지물을 이미지로 촬영하여 영상용 관측 데이터를 취득하는 센서이며, 측량용 또는 비측량용 카메라, 스테레오 카메라일 있으며, 이에 제한되지 않는다.
본 개시에서는 관성 센서가 IMU인 것으로 예시하고 있으나, 관성 항법 장치(Inertial Navigation System; INS)를 이용하여 차량의 자세를 취득할 수도 있다.
도 1에서 도시하고 있지 않으나, 다중 센서(110)는 오도메트리 센서(미도시)를 이용하여, 이동하는 이동체의 위치의 변화 값(이동 거리, 회전 각도 등)을 획득할 수 있다. 예를 들어, 오도메트리 센서는 이동체가 주행하는 중에 바퀴 회전 수 등을 측정함으로써, 차량의 위치 변화 값을 계산할 수 있다. 이에 따라, 위치 추정 장치(100)는 두 지점(노드)의 상대 위치 데이터를 산출할 수 있다. 다른 예에서, 오도메트리 센서가 생략됨에도, 두 지점의 상대 위치 데이터는 영상 센서(116)의 영상 데이터, 측위 센서(112)의 위치 정보 및 라이다 센서(114)의 주변 포인트 클라우드의 데이터에 기초하여, 이동체가 이동한 지점들 간의 상대 위치 데이터가 산출될 수도 있다.
변환부(120)는 주변 포인트 클라우드의 데이터, 영상 데이터, 이동체의 위치 정보 등의 센서 데이터들 간의 기하 정보를 보정하여 융합할 수 있다. 변환부(120)는 라이다 센서(114)로부터 획득된 주변 포인트 클라우드가 컬러인 경우에, 주변 포인트 클라우드의 RGB 데이터 및 영상 데이터 등을 이용하여, 기하 정보의 보정 및 다중 센서(110)의 데이터들을 융합하는 과정에서, 깊이(depth) 데이터가 융합 데이터에 포함될 수 있다. 후술할 검출 피쳐 정보는 주변 포인트 클라우드의 데이터에 포함된 거리와 반사 강도 등 외에도, 주변 포인트 클라우드에 포함된 RGB 데이터와 깊이 데이터까지 이용하여 생성될 수 있다.
생성부(130)는 지도 데이터의 지도 포인트 클라우드에 기초하여 객체의 적어도 하나의 부분에 지도 대표 벡터가 포함된 벡터 맵을 생성할 수 있다. 또한, 생성부(130)는 이동체의 주변 환경으로부터 실시간으로 획득된 주변 포인트 클라우드에 기초하여 객체의 적어도 하나의 부분에 검출 대표 벡터가 포함된 검출 피쳐 정보를 생성할 수 있다. 실시간으로 생성되는 검출 피쳐 정보는 기 제작된 벡터 맵과 매칭하여 위치 추정에 이용함으로써, 이동체에 대한 실시간 로컬리제이션(localization)이 구현될 수 있다.
벡터 맵 및 검출 피쳐 정보는 생성부(130)에 의해, 대표 벡터를 포함하여 다른 데이터를 추가로 가질 수 있다. 즉, 벡터 맵 및 검출 피쳐 정보에 포함되는 객체 정보는 포인트 클라우드, 영상 데이터 및 위치 정보에 기초하여 생성될 수 있으며, 객체의 적어도 하나의 부분에 대해 규정하는 대표 벡터 뿐만 아니라, 객체의 형태, 종류, 명칭 등을 포함할 수 있다.
지도 데이터부(140)는 이동체가 이동하는 주변에 대한 지도 정보를 저장할 수 있다. 지도 정보는 다중 센서(110)로부터 기 획득된 센서 데이터에 기초하여 소정 좌표계에 따라 미리 생성된 공간 정보 및 지도 포인트 클라우드에 기초하여 생성된 벡터 맵을 포함할 수 있다.
공간 정보에 적용된 소정 좌표계는 지도 좌표계, 절대 좌표계 또는 별도의 좌표계일 수 있으나, 이에 제한되지 않는다. 공간 정보는 해당 좌표 등에 생성된 데이터로서, 다중 센서(110)의 센서(관측) 데이터, 내부 기하, 외부 기하, 고유 데이터, 시간 정보, 취득 환경 정보, 확률 정보, 포인트 클라우드 데이터 관련 정보, 영상 데이터 관련 정보, 오브젝트 정보 및 지도 관련 정보를 포함할 수 있다. 확률 정보는 관측 데이터, 시간 정보, 각 센서(112~118)의 오측정으로 인한 객체의 위치 오류도에 근거하여 객체의 위치에 대한 오류 확률을 포함할 수 있다. 오브젝트 정보는 이동체의 이동 전에 이미 획득된 주변에 존재하는 객체에 관한 데이터로서 객체의 종류, 명칭, 형태, 변경 이력 등을 포함할 수 있다. 오브젝트 정보는 과거에 다중 센서(110)로부터 획득된 센서 데이터를 분석하여 도출된 객체 관련 정보일 수 있다.
본 실시예에서는 공간 정보가 상술한 데이터들 내지 정보들을 전부 포함하는 것으로 기술하고 있으나, 이에 제한되지 않으며, 설계 사양에 따라 상술한 데이터/정보들 중 일부만을 포함하도록 설정될 수 있다. 아울러, 지도 정보는 신규로 취득된 센서 데이터에 기초하여 갱신될 수 있다.
매칭부(150)는 지도 대표 벡터와 검출 대표 벡터 간의 유사성을 이용하여 벡터 맵과 검출 피쳐 정보에서 동일 추정되는 적어도 하나의 부분을 탐색할 수 있다.
위치 추정부(160)는 매칭부(150)에서 탐색된 부분을 기준으로 벡터 맵과 검출 피쳐 정보를 매칭하여, 이동체의 위치를 추정할 수 있다. 위치 추정부(160)는 상기 탐색된 부분을 기준으로 벡터 맵의 객체 정보와 검출 피쳐 정보의 객체 정보를 매칭하여 이동체의 위치를 추정할 수 있다. 각 객체 정보는 지도 대표 벡터와 검출 대표 벡터일 수도 있으며, 이들 대표 벡터 및 벡터 맵과 검출 피쳐 정보에 기록된 객체의 형태, 종류, 명칭 등일 수 있다.
이상에서는, 위치 추정 장치(100)의 모듈 별 기능에 대해 개략적으로 설명하였으며, 이하에서는 도 1 내지 도 9를 참조하여, 본 개시의 실시예에 따른 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법과 아울러서, 위치 추정 장치(100)의 모듈 별 기능을 보다 상세하게 기술하기로 한다.
도 2는 본 개시의 실시예에 따른 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법에 관한 순서도이다.
도 2를 참조하면, 생성부(130)는 지도 데이터의 지도 포인트 클라우드에 기초하여 객체의 면과 에지 별 대표 벡터가 포함된 벡터 맵을 생성할 수 있다(S105).
여기서, 상기 부분은 상기 객체의 면과 에지 중 적어도 어느 하나일 수 있으며, 본 실시예에서는 설명의 편의를 위해, 상기 부분은 객체의 면과 에지 전부를 포함하는 것으로 기술한다. 그러나, 벡터 맵의 지도 대표 벡터가 표현될 수 있다면, 부분은 면과 에지 중 적어도 어느 하나일 수 있다. 에지는 인접한 면들 사이에 위치되는 라인이다.
도 3을 참조하여 벡터 맵의 생성에 대하여 상세히 설명한다. 도 3은 벡터 맵(vector map)을 생성하는 과정에 관한 순서도이다.
먼저, 생성부(130)는 지도 데이터에 공간 색인(spatial index)를 생성할 수 있다(S205).
공간 색인은 공간 정보의 용이한 탐색, 벡터 맵과의 정합 등을 위해, 지도 데이터부(140)에 저장된 공간 정보의 지도 포인트 클라우드에 대해 인덱스를 부여할 수 있다. 예컨대, 공간 정보가 특정 형태로 구조화된 경우에, 구조의 프로토콜에 따라 인덱스가 부여될 수 있다. 또한, 공간 정보는 다중 센서(110)로부터 기 획득된 센서 데이터에 기초하여 소정 좌표계에 따라 미리 생성되므로, 각 공간 정보와 연계된 좌표계, 지도 포인트 클라우드의 채널, 주사(scanning) 간격, 형태 등의 주사 정보 등에 근거하여 인덱스가 부여될 수 있다. 이상의 실시예에서는, 생성부(130)가 공간 색인을 수행하는 것으로 예시하고 있으나, 다른 실시예에서는 지도 데이터부(140)가 공간 색인을 수행한 후에, 색인된 지도 포인트 클라우드가 생성부(130)에 제공될 수도 있다.
다음으로, 생성부(130)는 지도 포인트 클라우드에서의 소정의 포인트(12)와 인접 포인트들(12) 간의 벡터에 기초하여 포인트들을 포함하는 하나의 면인지를 판정하여 결정할 수 있다(S210).
하나의 면인지를 판정하여 결정하는 과정과 관련하여 도 4를 참조하여 보다 상세히 설명한다. 도 4는 상호 인접한 포인트들 간의 벡터 정보들에 기초하여 객체를 구성하는 하나의 면인지를 결정하는 일례를 예시한 도면이다.
하나의 면인지를 판정하여 결정하는 과정은 도 4에서와 같이, 생성부(130)에 의해, 지도 포인트 클라우드를 통해 파악되는 객체(10)에 분포된 소정 포인트(12)와 인접 포인트들(12) 간의 공분산 행렬(covariance matrix)를 이용하여 고유값(eigenvalue)를 산출할 수 있다. 공분산 행렬은 도 4의 2개의 박스에서 예시한 바와 같이, 소정 포인트와 각 인접 포인트 간의 벡터를 도출하고 벡터들을 이용하여 산출될 수 있다. 고유값은 공분산 행렬의 벡터들의 값으로 계산될 수 있다.
이어서, 생성부(130)는 최소의 고유값이 제 1 임계값보다 작으면 소정 포인트(12)와 인접 포인트(12)를 포함하는 하나의 면인 것으로 결정할 수 있다.
도 4를 예로 들어 설명하면, 상측 박스에서의 포인트들 간의 벡터들에 기초한 공분산 행렬로부터 산출된 고유값이 제 1 임계값보다 작다고 판정되면, 포인트들을 둘러싸는 점선 사각형이 하나의 면으로 결정될 수 있다. 이와는 달리, 하측 박스에서의 고유값이 제 1 임계값보다 크다고 판정되면, 하측 박스에 대응하는 점선 사각형은 하나의 면이 되지 않는 것으로 결정될 수 있다.
다음으로, 생성부(130)는 앞서 판정된 하나의 면과 인접 포인트들 간의 거리에 기초하여 확대된 하나의 면인지를 판정하여 확대 면을 결정하는 과정을 반복할 수 있다(S215).
확대면의 결정 과정에 대해 도 5를 예시하여 설명한다. 도 5는 결정된 하나의 면으로부터 인접 포인트들로 확장하여 객체를 구성하는 확대 면인지를 결정하는 일례를 예시한 도면이다.
생성부(130)는 도 4의 상측 박스에 도시된 하나의 면(14)과 인접 포인트들(12) 간의 거리에 기초하여 확대된 하나의 면인지를 판정할 수 있다. 생성부(130)는 상기 거리가 확대 임계값보다 작으면, 하나의 면(14)과 인접 포인트들(12)를 감싸는 참조부호 16에 해당하는 사각면을 확대 면(16)으로 결정할 수 있다. 이와 같은 과정은 객체(10)의 모든 점으로 확장하여, 확대 면(16)은 확대 임계값과의 상대적 차이와 같은 소정 조건을 만족하는 점을 전부 포함하여 확장될 수 있다. S215 단계의 반복을 통해 확대 면(16)이 최대로 확장되면, 확대 면(16)에 포함된 포인트들에 기초한 면 방정식을 구할 수 있다.
아울러, 생성부(130)는 S210 및 S215 단계 이행 중, 하나의 면(14) 및 확대 면(16)에서 포함되지 않은 포인트들에 대하여, S210 및 S215 단계의 과정을 반복하여 객체(10)를 구성하는 면들을 전부 추정할 수 있다.
다음으로, 생성부(130)는 객체(10)의 모든 포인트들(12)에 대해 S210 및 S215 단계를 반복하여 결정된 복수의 확대 면들 간의 거리와 각에 기초하여 최종 면과 최종 에지를 결정할 수 있다(S220).
구체적으로, 최종 면과 최종 에지의 결정은, 복수의 확대 면들 간의 각, 및 확대 면들 각각의 기하학적 중심점(centroid)과 인접 확대 면들 간의 거리가 제 2 임계값보다 작은 경우에, 확대 면들이 하나의 면으로 병합하도록 판정하여, 최종 면과 최종 에지를 결정할 수 있다. 상기 각 및 거리가 제 2 임계값보다 큰 경우에, 확대 면들은 객체(10)에서 최종 별개의 면으로 결정되며, 별개의 면들이 서로 인접하면, 별개 면들 사이의 라인은 최종 에지로 결정될 수 있다. 아울러, 최종 면으로 결정된 면은 해당 면에 포함된 포인트들을 이용하여 면 방정식을 구할 수 있다.
계속해서, 생성부(130)는 최종 면과 에지 별 지도 대표 벡터가 포함된 벡터 맵을 생성할 수 있다(S225).
지도 대표 벡터(V_P1~V_P6, V_E1~V_E6)는 도 9의 실선으로 표시된 픽쳐 맵에서와 같이, 각 객체(20m, 22m, 28m)의 최종 면과 최종 에지마다 부여될 수 있다. V_P1~V_P6 및 V_E1~V_E6는 각각 최종 면 및 최종 에지에 대한 지도 대표 벡터로 예시된 것이다. 지도 대표 벡터는 최종 면마다의 면 방정식 및/또는 소정 개수로 선택된 포인트들 간의 벡터 등으로 산출될 수 있다. 또한, 최종 에지에 대한 지도 대표 벡터는 에지를 구성하는 포인트들의 벡터 등으로 설정될 수 있다.
이와 같이 벡터 맵을 생성한 후에, 다시 도 2로 회귀하여 검출 피쳐 정보를 생성할 수 있다. 본 실시예에서는 지도 포인트 클라우드가 색상화된(colorized) 포인트인 것을 명확하게 예시하고 있지 않다. 다른 실시예로 지도 포인트 클라우드가 컬러인 경우에, 지도 포인트 클라우드의 RGB 데이터의 강도를 이용하여 벡터 맵이 생성될 수 있다. 또한, 공간 정보에 영상 데이터가 더 포함된 경우, 지도 포인트 클라우드와 영상 데이터 간의 기하 정보의 보정 및 다중 센서(110)의 데이터들의 융합 과정에서, 깊이(depth) 데이터가 융합 데이터에 포함될 수 있다. 벡터 맵은 지도 포인트 클라우드의 데이터에 포함된 거리와 반사 강도 등 외에도, 지도 포인트 클라우드에 포함된 RGB 데이터와 깊이 데이터까지 이용하여 생성될 수 있다.
다시 도 2를 참조하면, 생성부(130)는 이동체의 주변 환경으로부터 실시간으로 획득된 주변 포인트 클라우드에 기초하여 객체의 적어도 하나의 부분에 검출 대표 벡터가 포함된 검출 피쳐 정보를 실시간으로 생성할 수 있다(S110).
여기서, 상기 부분은 객체의 면과 에지 중 적어도 어느 하나일 수 있으며, 본 실시예에서는 설명의 편의를 위해, 상기 부분은 객체의 면과 에지 전부를 포함하는 것으로 기술한다. 그러나, 지도 대표 벡터와 대응되도록 검출 피쳐 정보의 검출 대표 벡터가 표현될 수 있다면, 부분은 면과 에지 중 적어도 어느 하나일 수 있다. 에지는 인접한 면들 사이에 위치되는 라인이다.
검출 피쳐 정보는 벡터 맵과 유사한 방식으로 생성부(130)에 의해 생성될 수 있으며, 도 6을 참조하여 검출 피쳐 정보의 생성에 대하여 상세히 설명한다. 도 6은 검출 피쳐 정보를 생성하는 과정에 관한 순서도이다.
우선, 이동체는 주변 환경으로부터 주변 클라우드 포인트를 획득할 수 있다(S305).
이동체(18)는 도 7에 예시된 바와 같이, 다중 센서(110)를 탑재하면서 이동 중의 주변 환경을 취득할 수 있다. 도 7는 이동체가 주변 환경의 주변 포인트 클라우드를 획득하는 일례를 예시한 도면이다. 이동체(18)는 다중 센서(110)의 라이다 센서(114)를 이용하여, 주변 환경의 객체들(20, 22)로부터 주변 클라우드 포인트를 획득할 수 있다. 물론, 다중 센서(110)에 포함된 측위 센서(112), 영상 센서(116) 및 관성 센서(118)는 이동체의 위치 정보, 주변 환경의 이미지 및 이동체의 자세를 획득할 수 있다. 이에 더하여, 다중 센서(110)가 오도메트리 센서를 더 구비하면, 이동하는 이동체의 위치의 변화 값(이동 거리, 회전 각도 등)을 획득할 수 있다.
다음으로, 변환부(120)는 이동체(18)의 다중 센서(110)를 이용하여 오도메트리 정보를 생성하며, 주변 포인트 클라우드의 데이터를 보정할 수 있다(S310).
구체적으로, 변환부(120)는 영상 센서(116)의 영상 데이터, 측위 센서(112)의 위치 정보 및 라이다 센서(114)의 주변 포인트 클라우드의 데이터에 기초하여, 이동체가 이동한 지점들 간의 상대 위치 데이터를 나타내는 오도메트리 정보를 생성할 수 있다. 본 실시예에서는 오도메트리 센서가 생략되어도 오도메트리 정보를 생성하는 예로 설명하고 있으나, 오도메트리 센서가 구비되면, 변환부(120)는 오도메트리 센서로부터의 데이터에 기초하여 오도메트리 정보를 생성할 수 있다.
또한, 주변 포인트 클라우드의 데이터 보정은 관성 센서(118)로부터 획득된 이동체의 자세를 참조하여 주변 포인트 클라우드의 데이터 왜곡을 보정함으로써 수행될 수 있다. 주변 포인트 클라우드의 데이터는 객체에 표현되는 포인트들, 이동체와 각 객체 간의 거리 및 반사 강도에 따른 각 객체의 형태, 객체들 간의 상대적 위치, 포인트들의 확률 정보, 각 객체의 위치 정보 등을 포함할 수 있다. 아울러, 변환부(120)는 주변 포인트 클라우드의 데이터, 영상 데이터, 이동체의 위치 정보 등의 센서 데이터들 간의 기하 정보를 보정하여 융합할 수 있다. 이에 의해 기하 변환된 주변 포인트 클라우드의 데이터는 이동체의 자세를 참조하여 보정될 수도 있다.
이에 더하여, 변환부(120)는 라이다 센서(114)로부터 획득된 주변 포인트 클라우드가 컬러인 경우에, 주변 포인트 클라우드의 RGB 데이터 및 영상 데이터 등을 이용하여, 기하 정보의 보정 및 다중 센서(110)의 데이터들을 융합하는 과정에서, 깊이(depth) 데이터가 융합 데이터에 포함될 수 있다. 검출 피쳐 정보는 주변 포인트 클라우드의 데이터에 포함된 포인트들, 객체와의 거리와 반사 강도 등 외에도, 주변 포인트 클라우드에 포함된 RGB 데이터와 깊이 데이터까지 이용하여 생성될 수 있다.
계속해서, 변환부(120)는 주변 포인트 클라우드의 데이터에 인덱스를 생성할 수 있다(S315).
주변 포인트 클라우드의 용이한 탐색, 지도 데이터 및/또는 벡터 맵과의 정합 등을 위해, 라이다 채널 및 주사(firing) 정보 등에 기초하여 주변 포인트 클라우드에 인덱스가 부여될 수 있다.
이어서, 변환부(120)는 검출 피쳐 정보의 연산 경감을 위해, 보정된 주변 포인트 클라우드의 데이터를 소정 밀도로 다운샘플링(downsampling)할 수 있다(S320).
변환부(120)는 객체와의 거리에 관계없이 유사한 범위의 소정 밀도로 주변 포인트 클라우드의 데이터, 예컨대 포인트들을 다운샘플링할 수 있다.
계속해서, 생성부(130)는 보정된 주변 포인트 클라우드에 기초하여 검출 대표 벡터가 포함된 검출 피쳐 정보를 생성할 수 있다(S325).
검출 피쳐 정보는 도 3을 통해 설명된 벡터 맵과 유사한 방식으로 생성될 수 있으며, 이에 대해서 설명하기로 한다.
먼저, 생성부(130)는 S210 단계와 유사하게, 주변 포인트 클라우드에서의 소정의 포인트와 인접 포인트들 간의 벡터에 기초하여 포인트들을 포함하는 하나의 면인지를 판정하여 결정할 수 있다.
하나의 면인지를 판정하여 결정하는 과정과 관련하여 도 8를 참조하여 보다 상세히 설명한다. 도 8는 검출 피쳐 정보의 생성 과정에서, 상호 인접한 포인트들 간의 벡터 정보들에 기초하여 객체를 구성하는 하나의 면인지를 결정하는 일례를 예시한 도면이다.
포인트들(24)은 객체에 주사된 라이다 채널들에서 최상층 및 최하층의 채널을 제외한 나머지 채널들의 포인트들에서 선정될 수 있다. 아울러, 포인트들(24)은 도 8과 같이, 각 포인트(24)에서 인접한 2 개의 채널들(26a, 26c)과 각 포인트(24)가 속한 채널(26b)에 위치된 포인트들로 선정될 수 있다.
하나의 면인지를 판정하여 결정하는 과정은 도 4와 마찬가지로, 생성부(130)에 의해, 선정된 포인트들(24) 간의 공분산 행렬을 이용하여 고유값을 산출할 수 있다. 공분산 행렬은 도 8에 예시된 소정 포인트와 각 인접 포인트 간의 벡터를 도출하고 벡터들을 이용하여 산출될 수 있다. 고유값은 공분산 행렬의 벡터들의 값으로 계산될 수 있다.
이어서, 생성부(130)는 최소의 고유값이 제 3 임계값보다 작으면 소정 포인트와 인접 포인트를 포함하는 하나의 면인 것으로 결정할 수 있다. 이와 관련된 상세 설명은 S210 단계와 유사하여 생략한다.
다음으로, 생성부(130)는 S215 단계와 마찬가지로, 앞서 판정된 하나의 면과 인접 포인트들 간의 거리에 기초하여 확대된 하나의 면인지를 판정하여 확대 면을 결정하는 과정을 반복할 수 있다. 확대면의 결정 과정은 도 5를 통한 설명과 유사하여 생략하기로 한다.
S215 단계의 반복을 통해 확대 면(16)이 최대로 확장되면, 확대 면(16)에 포함된 포인트들에 기초한 면 방정식을 구할 수 있다.
아울러, 생성부(130)는 S210 및 S215 단계와 유사한 상술의 단계들 중, 하나의 면 및 확대 면에서 포함되지 않은 포인트들에 대하여, 상술의 단계들을 반복하여 객체를 구성하는 면들을 전부 추정할 수 있다.
다음으로, 생성부(130)는 S220 단계와 마찬가지로, 객체의 모든 포인트들에 대해 상술의 단계들을 반복하여 결정된 복수의 확대 면들 간의 거리와 각에 기초하여 검출용 최종 면과 검출용 최종 에지를 결정할 수 있다.
검출용 최종 면과 검출용 최종 에지의 결정은 S220 단계와 실질적으로 동일하여, 이에 대한 상세한 설명은 생략하기로 한다.
이에 따라, 검출용 최종 면으로 결정된 면은 해당 면에 포함된 포인트들을 이용하여 면 방정식을 구할 수 있다.
계속해서, 생성부(130)는 검출용 최종 면과 검출용 최종 에지 별 검출 대표 벡터가 포함된 검출 피쳐 정보를 생성할 수 있다.
검출 대표 벡터(V_SP1~V_SP6, V_SE1~V_SE6)는 도 9의 점선으로 표시된 검출 피쳐 정보에서와 같이, 각 객체(20s, 22s, 28s)의 검출용 최종 면과 검출용 최종 에지마다 부여될 수 있다. V_SP1~V_SP6 및 V_SE1~V_SE6는 각각 검출용 최종 면 및 검출용 최종 에지에 대한 검출 대표 벡터로 예시된 것이다. 검출 대표 벡터는 검출용 최종 면마다의 면 방정식 및/또는 소정 개수로 선택된 포인트들 간의 벡터 등으로 산출될 수 있다. 또한, 검출용 최종 에지에 대한 검출 대표 벡터는 에지를 구성하는 포인트들의 벡터 등으로 설정될 수 있다.
이와 같이 검출 피쳐 정보를 생성한 후에, 도 2로 회귀하여 벡터 맵과 검출 피쳐 정보에서 동일 추정되는 부분을 탐색할 수 있다.
다시 도 2를 참조하면, 매칭부(150)는 검출 피쳐 정보의 초기값과 최소 거리에 위치한 벡터 맵의 부분을 탐색할 수 있다(S115).
구체적으로, 매칭부(150)는 측위 센서(112)에 의한 이동체의 위치 정보, 관성 센서(118)에 의한 이동체의 자세 정보 및 오도메트리 정보에 기초하여 추정되는 이동체의 현재 위치를 초기값으로 결정할 수 있다. 이어서, 매칭부(150)는 초기값을 기준으로, 벡터 맵의 지도 대표 벡터와 검출 피쳐 정보의 검출 대표 벡터 간에 소정의 유사도를 갖는 대표 벡터들과 관련된 벡터 맵 및 벡터 맵의 면들을 탐색할 수 있다. 이에 따라, 매칭부(150)는 탐색된 면들을 동일한 객체의 동일 면들로 추정할 수 있다.
즉, 매칭부(150)는 지도 대표 벡터와 검출 대표 벡터 간의 유사성을 이용하여 벡터 맵과 검출 피쳐 정보에서 동일 추정되는 적어도 하나의 부분을 탐색할 수 있다.
상기 부분은 면 및/또는 에지일 수 있으며, 상술한 실시예에서는 면을 탐색하는 예를 기술하였으나, 다른 실시예에서는 에지 또는 면/에지의 조합을 탐색할 수 있다.
다음으로, 위치 추정부(160)는 탐색된 부분을 기준으로 벡터 맵과 검출 피쳐 정보를 매칭하여, 이동체의 위치를 실시간으로 추정할 수 있다(S120).
구체적으로, 위치 추정부(160)는 도 9에서와 같이, 탐색된 부분을 기준으로 벡터 맵의 객체 정보와 검출 피쳐 정보의 객체 정보를 매칭하여 이동체의 위치를 추정할 수 있다. 도 9는 검출 피쳐 정보와 벡터 맵 간의 동일 객체의 부분을 탐색하고 매칭하는 일례를 예시한 도면이다.
객체 정보는 객체의 적어도 하나의 부분에 대해 규정하는 지도 대표 벡터, 검출 대표 벡터뿐만 아니라, 객체의 형태, 종류, 명칭 등을 포함할 수 있다. 본 실시예에서는 위치 추정시의 연산 부담을 경감하기 위해, 대표 벡터를 이용한 위치 추정을 예로 들고 있으나, 이에 제한되지 않고, 객체에 포함된 포인트 클라우드의 포인트들, 이들로부터 추정되는 객체의 윤곽 등으로 위치 추정하는 예를 배제하지 않는다.
도 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)의 위치를 실시간으로 추정할 수 있다.
한편, 위치 추정부(160)는 벡터 맵에서의 객체의 면을 구성하는 포인트들을 샘플링하는 과정을 추가로 수행할 수 있다. 이후, 위치 추정부(160)는 위치 추정(localization)의 정확성을 위해, 벡터 맵에서 샘플링한 포인트들과 검출 피쳐 정보에서의 객체의 면 간의 거리에 기초하여, 이동체의 포즈(pose) 값을 산출하며, 산출된 포즈값에 기초하여 추정된 위치를 수정할 수 있다.
본 개시에 따르면, 이동체로부터 획득되는 주변 지도 데이터와 기 저장된 지도 데이터 간의 매칭에서 연산량을 경감함과 동시에, 지도 데이터의 용량을 획기적으로 감소하면서 이동체 위치 추정의 정확도를 확보할 수 있다.
도 1에 도시된 장치를 구성하는 구성요소 또는 도 2, 3, 6에 도시된 실시예들에 따른 단계는 그 기능을 실현시키는 프로그램의 형태로 컴퓨터 판독가능한 기록 매체에 기록될 수 있다. 여기에서, 컴퓨터 판독 가능한 기록 매체란, 데이터나 프로그램 등의 정보를 전기적, 자기적, 광학적, 기계적, 또는 화학적 작용에 의해 축적하고, 컴퓨터에서 판독할 수 있는 기록 매체를 말한다. 이러한 기록 매체 중 컴퓨터로부터 분리 가능한 것으로서는, 예를 들면, 휴대용 스토리지(portable storage), 플렉시블 디스크, 광자기 디스크, CD-ROM, CD-R/W, DVD, DAT, 메모리 카드 등이 있다. 또한, 위치 추정 장치 및 컴퓨터에 고정된 기록 매체로서 SSD(Solid State Disk), 하드디스크나 ROM 등이 있다.
또한, 이상에서, 본 개시의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되어 동작하는 것으로 설명되었다고 해서, 본 개시가 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 개시의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다.
이상에서 대표적인 실시예를 통하여 본 개시에 대하여 상세하게 설명하였으나, 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 개시의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 개시의 권리 범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위 뿐만 아니라 이 특허청구범위와 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태에 의하여 정해져야 한다.

Claims (10)

  1. 지도 데이터의 지도 포인트 클라우드에 기초하여 객체의 적어도 하나의 부분에 지도 대표 벡터가 포함된 벡터 맵(vector map)을 생성하는 단계;
    이동체의 주변 환경으로부터 실시간으로 획득된 주변 포인트 클라우드에 기초하여 객체의 적어도 하나의 부분에 검출 대표 벡터가 포함된 검출 피쳐(feature) 정보를 생성하는 단계;
    상기 지도 대표 벡터와 상기 검출 대표 벡터 간의 유사성을 이용하여 상기 벡터 맵과 상기 검출 피쳐 정보에서 동일 추정되는 적어도 하나의 부분을 탐색하는 단계; 및
    상기 탐색된 부분을 기준으로 상기 벡터 맵과 상기 검출 피쳐 정보를 매칭하여, 상기 이동체의 위치를 추정하는 단계를 포함하고,
    상기 벡터 맵을 생성하는 단계는,
    상기 지도 포인트 클라우드에서의 소정의 포인트와 인접 포인트들 간의 벡터에 기초하여 포인트들을 포함하는 하나의 면인지를 판정하여 결정하는 단계;
    상기 판정된 면과 인접 포인트들 간의 거리에 기초하여 확대된 하나의 면인지를 판정하여 확대 면을 결정하는 과정을 반복하는 단계;
    상기 반복된 과정에서 결정된 복수의 확대 면들 간의 거리와 각에 기초하여 최종 면과 최종 에지를 결정하는 단계; 및
    상기 최종 면과 상기 최종 에지 별 상기 지도 대표 벡터들이 포함된 벡터 맵을 생성하는 단계를 포함하며,
    상기 최종 면과 상기 최종 에지를 결정하는 단계는, 상기 복수의 확대 면들 간의 각, 및 상기 확대 면들 각각의 기하학적 중심점(centroid)과 인접 확대 면들 간의 거리가 임계값보다 작은 경우에, 상기 확대 면들이 하나의 면으로 병합하도록 판정하여, 상기 최종 면과 상기 최종 에지를 결정하는 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 제 1 항에 있어서,
    상기 검출 피쳐 정보를 생성하는 단계는,
    상기 주변 포인트 클라우드에서의 소정의 포인트와 인접 포인트들 간의 벡터에 기초하여 포인트들을 포함하는 하나의 면인지를 판정하여 결정하는 단계;
    상기 판정된 면과 인접 포인트들 간의 거리에 기초하여 확대된 하나의 면인지를 판정하여 확대 면을 결정하는 과정을 반복하는 단계;
    상기 반복된 과정에서 결정된 복수의 확대 면들 간의 거리와 각에 기초하여 검출용 최종 면과 검출용 최종 에지를 결정하는 단계;
    상기 검출용 최종 면과 상기 검출용 최종 에지 별 상기 검출 대표 벡터들이 포함된 검출 피쳐 정보를 생성하는 단계를 포함하는 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법.
  7. 제 6 항에 있어서,
    상기 이동체는 상기 주변 포인트 클라우드를 획득하는 라이다 센서, 상기 주변 환경의 이미지를 획득하는 영상 센서, 상기 이동체의 위치 정보를 획득하는 측위 센서들 및 상기 이동체의 자세를 파악하는 관성 센서(IMU)를 포함하는 다중 센서를 탑재하되,
    상기 주변 포인트 클라우드에서의 소정의 포인트와 인접 포인트들 간의 벡터에 기초하여 포인트들을 포함하는 하나의 면인지를 판정하여 결정하는 단계 전에,
    상기 라이다 센서의 상기 주변 포인트 클라우드, 상기 영상 센서의 영상 데이터 및 상기 측위 센서의 위치 정보에 기초하여, 상기 이동체의 이동한 지점들 간의 상대 위치 데이터를 나타내는 오도메트리 정보를 생성하는 단계; 및
    상기 관성 센서로부터 획득된 상기 이동체의 자세 정보에 기초하여, 상기 주변 포인트 클라우드의 데이터에서 발생된 왜곡을 보정하는 단계를 더 포함하는 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법.
  8. 제 7 항에 있어서,
    상기 벡터 맵과 상기 검출 피쳐 정보에서 동일 추정되는 적어도 하나의 부분을 탐색하는 단계는,
    상기 이동체의 위치 정보, 자세 정보 및 상기 오도메트리 정보에 기초하여 추정되는 상기 이동체의 현재 위치를 초기값으로 결정하는 단계; 및
    상기 초기값을 기준으로, 상기 벡터 맵의 지도 대표 벡터와 상기 검출 피쳐 정보의 검출 대표 벡터 간에 소정의 유사도를 갖는 대표 벡터들과 관련된 상기 벡터 맵 및 상기 검출 피쳐 정보의 면들을 탐색하여, 상기 탐색된 면들을 동일한 객체의 동일 면들로 추정하는 단계를 포함하는 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법.
  9. 삭제
  10. 제 1 항에 있어서,
    상기 이동체의 위치를 추정하는 단계는,
    상기 탐색된 부분을 기준으로 상기 벡터 맵의 객체 정보와 상기 검출 피쳐 정보의 객체 정보를 매칭하여 상기 이동체의 위치를 추정하는 단계;
    상기 벡터 맵에서의 객체의 면을 구성하는 포인트들을 샘플링하는 단계; 및
    상기 샘플링한 포인트들과 상기 검출 피쳐 정보에서의 객체의 면 간의 거리에 기초하여, 상기 이동체의 포즈(pose) 값을 산출하며, 상기 산출된 포즈값에 기초하여 상기 추정된 위치를 수정하는 단계를 포함하는 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법.
KR1020200174861A 2020-12-14 2020-12-14 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법 KR102624644B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200174861A KR102624644B1 (ko) 2020-12-14 2020-12-14 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200174861A KR102624644B1 (ko) 2020-12-14 2020-12-14 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법

Publications (2)

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

Family

ID=82221206

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200174861A KR102624644B1 (ko) 2020-12-14 2020-12-14 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법

Country Status (1)

Country Link
KR (1) KR102624644B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111722245A (zh) 2020-06-22 2020-09-29 北京百度网讯科技有限公司 定位方法、定位装置和电子设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8723987B2 (en) * 2009-10-30 2014-05-13 Honeywell International Inc. Uncertainty estimation of planar features
KR101391554B1 (ko) * 2012-07-19 2014-05-02 고려대학교 산학협력단 평면 추출 방법 및 이를 구비하는 이동 로봇의 지도 형성 방법 및 위치 인식 방법
KR20200082109A (ko) * 2018-12-28 2020-07-08 한국로봇융합연구원 비주얼 데이터와 3D LiDAR 데이터 융합 기반 계층형 특징정보 추출 및 응용 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111722245A (zh) 2020-06-22 2020-09-29 北京百度网讯科技有限公司 定位方法、定位装置和电子设备

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
KR20220084910A (ko) 2022-06-21

Similar Documents

Publication Publication Date Title
Palomer et al. Inspection of an underwater structure using point‐cloud SLAM with an AUV and a laser scanner
CN112785702B (zh) 一种基于2d激光雷达和双目相机紧耦合的slam方法
CN110807350B (zh) 用于面向扫描匹配的视觉slam的系统和方法
CN111583369B (zh) 一种基于面线角点特征提取的激光slam方法
Lenac et al. Fast planar surface 3D SLAM using LIDAR
Castellanos et al. Mobile robot localization and map building: A multisensor fusion approach
JP5430456B2 (ja) 幾何特徴抽出装置、幾何特徴抽出方法、及びプログラム、三次元計測装置、物体認識装置
CN110675307A (zh) 基于vslam的3d稀疏点云到2d栅格图的实现方法
JP2005528707A (ja) データ組間の特徴マッピング
JP2023021098A (ja) マップ構築方法、装置及び記憶媒体
US20230251097A1 (en) Efficient map matching method for autonomous driving and apparatus thereof
CN112068152A (zh) 使用3d扫描仪同时进行2d定位和2d地图创建的方法和系统
CN112964291A (zh) 一种传感器标定的方法、装置、计算机存储介质及终端
CN115790571A (zh) 基于异构无人系统相互观测的同时定位与地图构建方法
CN115371662A (zh) 一种基于概率栅格移除动态对象的静态地图构建方法
CN117218350A (zh) 一种基于固态雷达的slam实现方法及系统
CN115031718A (zh) 一种多传感器融合的无人船同步定位与建图方法(slam)及系统
WO2022151011A1 (zh) 一种定位方法、装置和车辆
Birk et al. Simultaneous localization and mapping (SLAM)
KR102130687B1 (ko) 다중 센서 플랫폼 간 정보 융합을 위한 시스템
CN111781606A (zh) 一种新型激光雷达和超声波雷达融合的小型化实现方法
KR102624644B1 (ko) 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법
US20240151855A1 (en) Lidar-based object tracking
Kolu et al. A mapping method tolerant to calibration and localization errors based on tilting 2D laser scanner
Pang et al. FLAME: Feature-likelihood based mapping and localization for autonomous vehicles

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