KR102470705B1 - 라이다 포인트 데이터의 보정 방법 및 시스템 - Google Patents

라이다 포인트 데이터의 보정 방법 및 시스템 Download PDF

Info

Publication number
KR102470705B1
KR102470705B1 KR1020220043294A KR20220043294A KR102470705B1 KR 102470705 B1 KR102470705 B1 KR 102470705B1 KR 1020220043294 A KR1020220043294 A KR 1020220043294A KR 20220043294 A KR20220043294 A KR 20220043294A KR 102470705 B1 KR102470705 B1 KR 102470705B1
Authority
KR
South Korea
Prior art keywords
points
processor
flat ground
grid cells
ground model
Prior art date
Application number
KR1020220043294A
Other languages
English (en)
Inventor
유재림
천창환
Original Assignee
(주)뷰런테크놀로지
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)뷰런테크놀로지 filed Critical (주)뷰런테크놀로지
Priority to US18/046,923 priority Critical patent/US20230296742A1/en
Application granted granted Critical
Publication of KR102470705B1 publication Critical patent/KR102470705B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/4808Evaluating distance, position or velocity data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/497Means for monitoring or calibrating
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/02Systems using the reflection of electromagnetic waves other than radio waves
    • G01S17/06Systems determining position data of a target
    • G01S17/42Simultaneous measurement of distance and other co-ordinates
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • G01S17/8943D imaging with simultaneous measurement of time-of-flight at a 2D array of receiver pixels, e.g. time-of-flight cameras or flash lidar
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/93Lidar systems specially adapted for specific applications for anti-collision purposes
    • G01S17/931Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/497Means for monitoring or calibrating
    • G01S7/4972Alignment of sensor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Electromagnetism (AREA)
  • Image Processing (AREA)
  • Computer Graphics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)

Abstract

라이다 포인트 데이터 보정 시스템이 개시된다. 상기 라이다 포인트 데이터 보정 시스템은 컴퓨팅 장치를 포함한다. 상기 컴퓨팅 장치는 프로세서, 및 상기 프로세서에 의해 실행되는 명령들을 저장하는 메모리를 포함한다. 상기 명령들은 상기 명령들은 라이다 센서로부터 복수의 3D 포인트들을 수신하며, 상기 복수의 3D 포인트들을 임의의 각도만큼 회전하는 회전 동작과 상기 임의의 각도만큼 회전된 복수의 3D 포인트들을 무작위로 추출하여 평면 지면 모델을 생성하는 평면 지면 모델 생성 동작을 미리 정해진 임의의 횟수 동안 반복적으로 수행하여 기울기가 서로 다른 복수의 평면 지면 모델들을 생성하고, 상기 생성된 기울기가 서로 다른 복수의 평면 지면 모델들 중 기울기가 가장 작은 평면 지면 모델을 결정하고, 상기 기울기가 가장 작은 평면 지면 모델에 따라 상기 라이다 센서의 라이다 포인트 데이터를 보정하도록 구현된다.

Description

라이다 포인트 데이터의 보정 방법 및 시스템 {Method and system for calibrating Lidar point data}
본 발명은 라이다 포인트 데이터의 보정 방법 및 시스템에 관한 것으로, 상세하게는 라이다 센서의 설치 위치에 따른 라이다 포인트 데이터의 왜곡을 보정하기 위한 라이다 포인트 데이터의 보정 방법 및 시스템에 관한 것이다.
라이다 센서는 객체와 주변 환경의 지도를 생성하기 위해 펄스 레이저 형태의 빛을 이용하는 센서이다. 라이다 센서는 자율 주행 차량, 이동 로봇 등 다양한 분야에서 활용될 수 있다.
라이다 센서는 센싱을 위해 차량, 또는 로봇 등 다양한 객체에 설치된다.
도 1의 (a)는 제1위치에 있는 라이다 센서의 블록도를 나타낸다. 도 2의 (a)는 제2위치에 있는 라이다 센서의 블록도를 나타낸다.
도 1의 (a)과 도 2의 (a)를 참고하면, 라이다 센서(1)의 위치는 도 1의 (a)와 도 1의 (b)가 각각 다르다. 도 1의 (a)에 위치한 라이다 센서(1)는 지면과 수평으로 설치된다. 반면, 도 2의 (a)에 위치한 라이다 센서(1)는 지면과 기울어져 설치된다.
라이다 센서(1)는 로컬 좌표계(local coordinate system)를 이용한다. 도 1의 (a)와 도 2의 (a)를 참고하면, 로컬 좌표계에 따를 때, 라이다 센서(1)의 위치에 따라 검출되는 객체(7)의 3D 포인트들의 좌표는 달라진다. 로컬 좌표계는 (xL, yL, zL)로 표현된다. 도 1의 (a)과 도 2의 (a)에서 도면 부호 3은 로컬 좌표계(local coordinate system)를 나타낸다.
도 1의 (b)는 로컬 좌표계에 따른 제1위치에 있는 라이다 센서에 의해 생성된 객체의 3D 포인트들의 좌표들을 나타낸다. 도 2의 (b)는 로컬 좌표계에 따른 제1위치에 있는 라이다 센서에 의해 생성된 객체의 3D 포인트들의 좌표들을 나타낸다.
도 1의 (b)와 도 2의 (b)를 참고하면, 같은 위치에 있는 객체(7)라 하더라도 라이다 센서(1)의 위치에 따라 생성되는 객체(7)의 3D 포인트들의 좌표가 달라진다. 도 1의 (b)와 도 2의 (b)에서 CL은 로컬 좌표계의 중심을 나타낸다.
도 1의 (a)와 도 2의 (a)를 참고하면, 글로벌 좌표계에 따를 때, 라이다 센서(1)의 위치에 관계 없이 객체(7)의 3D 포인트들의 좌표는 같아야 한다. 글로벌 좌표계는 (xO, yO, zO)로 표현된다. 도 1의 (a)과 도 2의 (a)에서 도면 부호 5는 글로벌 좌표계(global coordinate system)를 나타낸다.
도 3은 글로벌 좌표계에 따른 제1위치, 제2위치, 및 제3위치에 있는 라이다 센서에 의해 생성된 객체의 3D 포인트들의 좌표들을 나타낸다. 도 3의 (a)는 글로벌 좌표계에서 3D 포인트들의 XZ 좌표를 나타내며, 도 3의 (b)는 글로벌 좌표계에서 3D 포인트들의 YZ 좌표를 나타내며, 도 3의 (c)는 글로벌 좌표계에서 3D 포인트들의 XY 좌표를 나타낸다. 도 3의 (a), 도 3의 (b), 및 도 3의 (c)에서 도면 부호 P1, P2, 및 P3 각각은 제1위치에 따른 라이다 센서(1)의 3D 포인트들의 좌표들, 제2위치에 따른 라이다 센서(1)의 3D 포인트들의 좌표들, 및 제3위치에 따른 라이다 센서(1)의 3D 포인트들의 좌표들을 나타낸다. 라이다 센서(1)의 제3위치는 도 1과 도 2에서 도시되지 않았으나, 라이다 센서(1)의 제3위치는 도 1에 도시된 라이다 센서(1)의 제1위치, 도 2에 도시된 라이다 센서(1)의 제2위치와는 다른 위치를 의미한다. 도 3의 (a), 도3의 (b), 및 도 3의 (c)에서 CO은 글로벌 좌표계의 중심을 나타낸다.
도 1의 (a), 도 2의 (a), 및 도 3의 (a)를 참고하면, 같은 위치에 있는 객체(7)라도 라이다 센서(1)의 위치에 따라 글로벌 좌표계에서 3D 포인트들의 좌표들이 달라진다. 이러한 3D 포인트들의 좌표들의 차이로 인해 동일한 객체(7)라 하더라도 라이다 센서(1)의 위치에 따라 객체(7)의 위치, 크기, 및 형상이 다르게 계산될 수 있다. 이는 라이다 센서(1)의 설치 위치에 따른 라이다 포인트 데이터의 왜곡을 의미한다. 이러한 왜곡은 보정되어야한다.
또한, 카메라, 초음파 센서 등 여러 가지 장비들을 동시에 사용하는 시스템에서 조율의 불일치 문제가 발생한다.
한국 등록특허공보 제10-1853122호(2018.04.23.)
본 발명이 이루고자 하는 기술적인 과제는 라이다 센서의 설치 위치에 따른 라이다 포인트 데이터의 왜곡을 보정하기 위한 라이다 포인트 데이터의 보정 방법 및 시스템을 제공하는 것이다.
본 발명의 실시 예에 따른 라이다 포인트 데이터의 보정 방법은 프로세서는 라이다 센서로부터 복수의 3D 포인트들을 수신하는 단계, 상기 프로세서는 상기 복수의 3D 포인트들을 제1임의의 각도만큼 회전하는 단계, 상기 프로세서는 상기 제1임의의 각도만큼 회전된 제1복수의 3D 포인트들을 무작위로 추출하여 제1평면 지면 모델을 생성하는 단계, 상기 프로세서는 상기 복수의 3D 포인트들을 제2임의의 각도만큼 회전하는 단계, 상기 프로세서는 상기 제2임의의 각도만큼 회전된 제2복수의 3D 포인트들을 무작위로 추출하여 제2평면 지면 모델을 생성하는 단계, 상기 프로세서는 상기 제1평면 지면 모델과 상기 제2평면 지면 모델 중 기울기가 작은 평면 지면 모델을 결정하는 단계, 및 상기 프로세서는 상기 기울기가 작은 평면 지면 모델에 따라 상기 라이다 센서의 라이다 포인트 데이터를 보정하는 단계를 포함한다.
상기 라이다 포인트 데이터의 보정 방법은 상기 프로세서는 상기 제1임의의 각도만큼 회전된 제1복수의 3D 포인트들을 이용하여 복수의 제1그리드 셀들을 포함하는 첫 번째 2.5D 그리드 맵을 생성하는 단계, 및 상기 프로세서는 상기 복수의 제1그리드 셀들 각각에 포함된 최소 높이 값을 가지는 3D 포인트와 최대 높이 값을 가지는 3D 포인트 사이의 높이 차이를 이용하여 상기 복수의 제1그리드 셀들 중에서 제1지면 후보 그리드 셀들을 추출하는 단계를 더 포함하며, 상기 제1평면 지면 모델은 상기 제1지면 후보 그리드 셀들 중 어느 하나에 포함된 상기 제1복수의 3D 포인트들을 무작위로 추출하여 생성된다.
상기 라이다 포인트 데이터의 보정 방법은 상기 프로세서는 상기 제2임의의 각도만큼 회전된 제2복수의 3D 포인트들 이용하여 복수의 제2그리드 셀들을 포함하는 두 번째 2.5D 그리드 맵을 생성하는 단계, 및 상기 프로세서는 상기 복수의 제2그리드 셀들 각각에 포함된 최소 높이 값을 가지는 3D 포인트와 최대 높이 값을 가지는 3D 포인트 사이의 높이 차이를 이용하여 상기 복수의 제2그리드 셀들 중에서 제2지면 후보 그리드 셀들을 추출하는 단계를 더 포함하며, 상기 제2평면 지면 모델은 상기 제2지면 후보 그리드 셀들 중 어느 하나에 포함된 상기 제2복수의 3D 포인트들을 무작위로 추출하여 생성된다.
상기 라이다 포인트 데이터의 보정 방법은 상기 프로세서는 상기 복수의 3D 포인트들을 제3임의의 각도만큼 회전하는 단계, 및 상기 프로세서는 상기 제3임의의 각도만큼 회전된 제3복수의 3D 포인트들을 무작위로 추출하여 제3평면 지면 모델을 생성하는 단계를 더 포함한다.
상기 기울기가 작은 평면 지면 모델은 상기 제1평면 지면 모델, 상기 제2평면 지면 모델, 및 상기 제3평면 지면 모델 중 기울기가 가장 작은 평면 지면 모델이다.
상기 프로세서는 상기 기울기가 작은 평면 지면 모델에 따라 상기 라이다 센서의 라이다 포인트 데이터를 보정하는 단계는 상기 프로세서는 상기 기울기가 작은 평면 지면 모델에 대응하는 회전 각도를 저장하는 단계, 상기 프로세서는 다른 시간에 상기 라이다 센서로부터 복수의 다른 3D 포인트들을 수신하는 단계, 상기 프로세서는 상기 복수의 다른 3D 포인트들을 상기 저장된 회전 각도만큼 회전하는 단계, 상기 프로세서는 상기 저장된 회전 각도만큼 회전된 복수의 다른 3D 포인트들 이용하여 복수의 다른 그리드 셀들을 포함하는 다른 2.5D 그리드 맵을 생성하는 단계, 상기 프로세서는 상기 복수의 다른 그리드 셀들 중에서 다른 지면 후보 그리드 셀들을 추출하는 단계, 상기 프로세서는 추출된 다른 지면 후보 그리드 셀들 중 어느 하나에 포함된 상기 복수의 다른 3D 포인트들을 무작위로 추출하여 다른 평면 지면 모델을 생성하는 단계, 및 상기 프로세서는 다른 평면 지면 모델의 오프셋을 계산하고, 상기 계산된 오프셋에 따라 상기 복수의 다른 3D 포인트들의 위치를 보정하는 단계를 더 포함한다.
본 발명의 실시 예에 따른 라이다 포인트 데이터 보정 시스템은 컴퓨팅 장치를 포함한다.
상기 컴퓨팅 장치는 프로세서, 및 상기 프로세서에 의해 실행되는 명령들을 저장하는 메모리를 포함한다.
상기 명령들은 라이다 센서로부터 복수의 3D 포인트들을 수신하며, 상기 복수의 3D 포인트들을 임의의 각도만큼 회전하는 회전 동작과 상기 임의의 각도만큼 회전된 복수의 3D 포인트들을 무작위로 추출하여 평면 지면 모델을 생성하는 평면 지면 모델 생성 동작을 미리 정해진 임의의 횟수 동안 반복적으로 수행하여 기울기가 서로 다른 복수의 평면 지면 모델들을 생성하고, 상기 생성된 기울기가 서로 다른 복수의 평면 지면 모델들 중 가장 기울기가 작은 평면 지면 모델을 결정하고, 상기 가장 기울기가 작은 평면 지면 모델에 따라 상기 라이다 센서의 라이다 포인트 데이터를 보정하도록 구현된다.
상기 명령들은 상기 회전 동작과 상기 평면 지면 모델 생성 동작 사이에 상기 임의의 각도만큼 회전된 복수의 3D 포인트들을 이용하여 복수의 그리드 셀들을 포함하는 2.5D 그리드 맵을 생성하는 2.5D 그리드 맵 생성 동작과, 상기 복수의 그리드 셀들 각각에 포함된 최소 높이 값을 가지는 3D 포인트와 최대 높이 값을 가지는 3D 포인트 사이의 높이 차이를 이용하여 상기 복수의 그리드 셀들 중에서 지면 후보 그리드 셀들을 추출하는 추출 동작이 더 수행되도록 구현될 수 있다.
상기 생성된 기울기가 서로 다른 복수의 평면 지면 모델들은 상기 추출된 지면 후보 그리드 셀들에 포함된 3D 포인트들을 무작위로 추출하여 생성된다.
본 발명의 실시 예에 따른 라이다 포인트 데이터의 보정 방법 및 시스템은 라이다 센서에 의해 생성되는 3D 포인트들을 이용하여 평면 지면 모델을 생성하고 이에 따라 3D 포인트들의 좌표들을 보정함으로써 라이다 센서의 위치에 따른 라이다 포인트 데이터의 왜곡을 보정할 수 있는 효과가 있다.
또한, 본 발명의 실시 예에 따른 라이다 포인트 데이터의 보정 방법 및 시스템은 추가적인 라이다 센서 없이 하나의 라이다 센서에서 수신된 복수의 3D 포인트들만을 이용하여 라이다 포인트 데이터를 보정할 수 있는 효과가 있다.
또한, 본 발명의 실시 예에 따른 라이다 포인트 데이터의 보정 방법 및 시스템은 라이다 포인트 데이터의 보정을 위해 별도의 센서가 요구되지 않고, 하나의 라이다 센서로부터 수신된 복수의 3D 포인트들만을 이용하여 라이다 포인트 데이터를 보정할 수 있는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1의 (a)는 제1위치에 있는 라이다 센서의 블록도를 나타낸다.
도 1의 (b)는 로컬 좌표계에 따른 제1위치에 있는 라이다 센서에 의해 생성된 객체의 3D 포인트들의 좌표들을 나타낸다.
도 2의 (a)는 제2위치에 있는 라이다 센서의 블록도를 나타낸다.
도 2의 (b)는 로컬 좌표계에 따른 제1위치에 있는 라이다 센서에 의해 생성된 객체의 3D 포인트들의 좌표들을 나타낸다.
도 3은 글로벌 좌표계에 따른 제1위치, 제2위치, 및 제3위치에 있는 라이다 센서에 의해 생성된 객체의 3D 포인트들의 좌표들을 나타낸다.
도 4는 본 발명의 실시 예에 따른 라이다 포인트 데이터의 보정 시스템의 블록도를 나타낸다.
도 5는 도 4에 도시된 프로세서에 의해 생성된 2.5D 그리드 맵의 개념도를 나타낸다.
도 6은 도 4에 도시된 2.5D 그리드 맵의 생성 방법을 설명하기 위한 흐름도를 나타낸다.
도 7은 2.5D 그리드 맵의 이미지를 나타낸다.
도 8은 도 7에 도시된 2.5D 그리드 맵에서 지면 후보 그리드 셀들을 추출하는 동작들을 설명하기 위한 개념도를 나타낸다.
도 9는 도 7에 도시된 2.5D 그리드 맵에서 지면 후보 그리드 셀들을 추출하는 동작들을 설명하기 위한 흐름도를 나타낸다.
도 10은 도 7에 도시된 2.5D 그리드 맵에서 지면 후보 그리드 셀들을 추출하는 추가적인 동작들을 설명하기 위한 개념도를 나타낸다.
도 11은 본 발명의 다른 실시 예에 따른 라이다 포인트 데이터의 보정 시스템의 블록도를 나타낸다.
도 12는 도 11에 도시된 라이다 센서의 서로 다른 위치에 따라 생성된 객체의 3D 포인트들의 로컬 좌표계를 나타낸다.
도 13은 본 발명의 실시 예에 따른 평면 지면 모델을 생성하는 방법을 설명하기 위한 흐름도를 나타낸다.
도 14는 도 11에 도시된 라이다 센서의 특정 위치에 따라 생성된 객체의 3D 포인트들의 로컬 좌표계를 나타낸다.
도 15는 도 14에 도시된 로컬 좌표계를 변환한 글로벌 좌표계를 나타내다.
도 16은 본 발명의 실시 예에 따른 라이다 포인트 데이터의 보정 방법을 설명하기 위한 흐름도를 나타낸다.
도 17은 본 발명의 실시 예에 따른 라이다 포인트 데이터의 보정 방법을 설명하기 위한 다른 흐름도를 나타낸다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1구성요소는 제2구성요소로 명명될 수 있고, 유사하게 제2구성요소는 제1구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않은 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다." 또는 "가지다." 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 나타낸다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다.
도 4는 본 발명의 실시 예에 따른 라이다 포인트 데이터의 보정 시스템의 블록도를 나타낸다.
도 4를 참고하면, 라이다 포인트 데이터(25)의 보정 시스템(100)은 라이다 센서(21)의 위치에 따른 3D 포인트들의 좌표 왜곡을 보정하기 위한 시스템을 의미한다.
지면은 사람, 또는 차량이 이동할 수 있는 도로(101) 등과 같은 지역이다. 비지면은 상기 지면을 제외한 지역을 의미한다. 예컨대, 비지면은 가로등, 도로 표지판, 차량(103), 또는 보행자(105) 등과 같은 객체이다.
차량(20)의 자율주행을 위해서 라이다 포인트 데이터(25)에서 도로(101)와 같은 지면과, 다른 차량(103), 또는 보행자(105)와 같은 비지면의 구분은 필요하다. 또한, 라이다 포인트 데이터(25)에서 도로(101)와 같은 지면과 다른 차량(103), 또는 보행자(105)와 같은 비지면의 구분은 보안 분야에서 이용될 수 있다.
라이다 포인트 데이터(25)의 보정 시스템(100)은 컴퓨팅 장치(10)를 포함한다.
차량(20)은 라이다 센서(21)를 포함한다. 라이다 센서(21)는 복수의 3D 포인트들을 포함하는 라이다 포인트 데이터(25)를 생성한다. 차량(20)에 설치된 라이다 센서(21)는 차량(20)이 이동하면서 차량(20)의 다양한 주변 환경에 대한 라이다 포인트 데이터(25)를 생성한다. 라이다 포인트 데이터(25)는 복수의 3D 포인트들(23)을 포함한다. 즉, 라이다 포인트 데이터(25)는 복수의 3D 포인트들(23)을 의미한다. 복수의 3D 포인트들(23)은 3D 포인트 클라우드이다.
컴퓨팅 장치(10)는 차량(20)의 내부에서 다른 하드웨어와 결합되는 하드웨어 모듈, 또는 독립적인 하드웨어 장치로 구현될 수 있다. 예컨대, 컴퓨팅 장치(10)는 차량(20)의 ECU(Electronic Control Unit)에 구현될 수 있다. 또한, 컴퓨팅 장치(10)는 컴퓨터, 노트북, PC, 서버, 또는 태블릿 PC 등과 같은 외부의 전자 장치로 구현될 수 있다.
컴퓨팅 장치(10)는 프로세서(11)와 메모리(13)를 포함한다. 프로세서(11)는 라이다 포인트 데이터(25)의 보정을 위한 명령들을 실행한다. 메모리(13)는 상기 명령들을 저장한다. 라이다 포인트 데이터(25)의 보정이란 3D 포인트들(23)의 좌표들의 왜곡 보정을 의미한다.
프로세서(11)는 라이다 센서(21)로부터 복수의 3D 포인트들(23)을 포함하는 라이다 포인트 데이터(25)를 수신한다.
프로세서(11)는 라이다 포인트 데이터(25)를 이용하여 2.5D 그리드 맵(grid map)을 생성한다. 2.5D 그리드 맵은 2D 그리드 맵에 일부 높이 정보를 추가한 맵을 의미한다.
도 5는 도 4에 도시된 프로세서에 의해 생성된 2.5D 그리드 맵의 개념도를 나타낸다. 도 6은 도 4에 도시된 2.5D 그리드 맵의 생성 방법을 설명하기 위한 흐름도를 나타낸다.
도 4 내지 도 6을 참고하면, 프로세서(11)는 3D 원통 좌표(cylindrical coordinate)로 표현되는 복수의 3D 포인트들(23)의 축 거리(ρ)와 방위각(θ)의 유효성을 검사한다(S10). 프로세서(11)는 복수의 3D 포인트들(23) 중에서 음수의 축 거리(ρ)와 방위각(θ)을 가지는 3D 포인드들을 제외한다. 축 거리(ρ)와 방위각(θ)은 통신 에러와 노이즈 때문에 음수를 가질 수 있다.
프로세서(11)는 복수의 3D 포인트들(23)을 복수의 그리드들로 나눠진 2D 그리드 맵(40)으로 투사한다(S20). 복수의 3D 포인트들(23) 각각은 3D 원통 좌표인 (ρ,θ, z)로 표현된다. 축 거리(axial distance) ρ는 z축에서 점까지 유클리드(Euclidean) 거리를 의미한다. 방위각(azimuth) θ은 선택된 평면에서 기준 방향(도 4에서는 x축으로 표현됨)과, 원점에서 평면에서의 점까지 선 사이의 각을 의미한다. 높이 z는 선택된 평면에서 점까지 거리를 의미한다. 하나의 그리드에는 다수의 3D 포인트들이 포함될 수 있다.
실시 예에 따라 복수의 3D 포인트들(23) 각각은 데카르트 좌표(Cartersian coordinate)인 (x, y, z)로 표현될 수 있다. 복수의 3D 포인트들(23) 각각은 데카르트 좌표(Cartersian coordinate)인 (x, y, z)로 표현될 때, 프로세서(11)는 데카르트 좌표(Cartersian coordinate)를 3D 원통 좌표(cylindrical coordinate)로 변환한다.
프로세서(11)는 2D 그리드 맵(40)에 투사된 복수의 3D 포인트들(23)이 속하는 복수의 그리드들 각각의 축 거리 정보(Iρ)와 방위각 정보(Iθ)를 계산한다(S30).
프로세서(11)는 2D 그리드 맵(40)에 투사된 복수의 3D 포인트들의 (x, y, z) 3D 좌표의 유효성을 검사한다(S40). 프로세서(11)는 복수의 3D 포인트들(23)을 3D 원통 좌표에서 데카르트 좌표로 변환할 수 있다. 프로세서(11)는 2D 그리드 맵(40)에 투사된 복수의 3D 포인트들의 (x, y, z) 3D 좌표 중 x 값, y 값, 또는 z 값이 임의의 값보다 큰 포인트들은 노이즈로 제외한다.
프로세서(11)는 상기 복수의 그리드들 각각에 포함된 상기 복수의 3D 포인트들(23) 중 일정 높이 값(Zth) 이하의 3D 포인트들을 찾고, 상기 일정 높이 값(Zth) 이하의 3D 포인트들 중 최소 높이 값(zmin)과 최대 높이 값(zmax)을 높이 정보(zmin ,zmax)로 저장한다(S50). 상기 복수의 3D 포인트들(23) 중 일정 높이 값(Zth) 이상의 3D 포인트들은 지면으로 고려될 수 없기 때문이다.
실시 예에 따라 프로세서(11)는 상기 복수의 그리드들 각각에 포함된 상기 복수의 3D 포인트들(23) 중 가장 높이가 낮은 3D 포인트를 최소 높이 값(zmin)으로 결정하고, 최소 높이 값(zmin)으로부터 일정 높이 값 이하의 3D 포인트들 중 가장 높이가 높은 3D 포인트를 최대 높이 값(zmax)으로 결정하여, 최소 높이 값(zmin)과 최대 높이 값(zmax)을 높이 정보(zmin ,zmax)로 저장할 수 있다.
프로세서(11)는 축 거리 정보(Iρ)와 방위각 정보(Iθ)에 상기 높이 정보(zmin ,zmax)를 추가하여 상기 2.5D 그리드 맵(50)을 생성한다(S60). 즉, 그리드의 위치는 축 거리 정보(Iρ)와 방위각 정보(Iθ)로 표현될 수 있다.
즉, 2.5D 그리드 맵(50)에서 높이 정보는 최소 높이 값(zmin)과 최대 높이 값(zmax)만을 포함한다. 2.5D 그리드 맵(50)은 복수의 그리드 셀들로 나눠진다. 상기 복수의 그리드 셀들은 2D 그리드 맵(40)에서 복수의 그리드들과 대응된다. 다만, 2D 그리드 맵(40)에서 복수의 그리드들의 좌표는 2차원으로 표현되며, 높이 정보는 포함하지 않는다. 하지만 2.5D 그리드 맵(50)에서 복수의 그리드 셀들은 최소 높이 값(zmin)과 최대 높이 값(zmax)을 포함한다. 본 명세서에서 그리드는 2D 그리드 맵(40)에서 그리드를 의미하며, 그리드 셀은 2.5D 그리드 맵(50)에서 그리드 셀을 의미한다. 하나의 그리드 셀에는 다수의 3D 포인트들이 포함될 수 있다. 하나의 그리드 셀은 축 거리 정보(Iρ), 방위각 정보(Iθ), 및 높이 정보(zmin ,zmax)로 표현된다. 2.5D 그리드 맵(50)에서 복수의 3D 포인트들(23) 각각의 위치가 표현되는 것이 아니라, 복수의 3D 포인트들(23) 각각이 속하는 각각의 그리드 셀들의 위치(축 거리 정보(Iρ), 방위각 정보(Iθ))와 높이 정보(zmin ,zmax))가 표현된다. 또한, 복수의 그리드 셀들 각각은 그리드 셀의 상태 정보를 포함한다. 또한, 상기 그리드 셀의 상태 정보는 비유효 후보 그리드 셀, 지면 후보 그리드 셀, 및 객체 후보 그리드 셀로 나눠질 수 있다. 상기 비유효 후보 그리드 셀은 셀에 3D 포인트의 개수가 임의의 개수 이하이며, 비유효 그리드 셀의 가능성이 있는 그리드 셀을 의미한다. 상기 지면 후보 그리드 셀은 지면의 가능성이 있는 그리드 셀을 의미한다. 상기 객체 후보 그리드 셀은 비지면, 즉, 객체가 있을 가능성이 있는 그리드 셀을 의미한다.
상기 비유효 후보 그리드 셀, 상기 지면 후보 그리드 셀, 및 상기 객체 후보 그리드 셀은 프로세서(11)의 추가적인 판단에 의해 비유효 그리드 셀, 지면 그리드 셀, 또는 객체 그리드 셀로 변경될 수 있다.
상기 비유효 그리드 셀은 지면 그리드 셀과 객체 그리드 셀을 제외한 나머지 그리드 셀을 의미한다. 상기 지면 그리드 셀은 지면이 있는 그리드 셀을 의미한다. 상기 객체 그리드 셀은 비지면, 즉, 객체가 있는 그리드 셀을 의미한다.
도 7은 2.5D 그리드 맵의 이미지를 나타낸다.
도 7을 참고하면, 2.5D 그리드 맵에서 복수의 그리드 셀들(50-1~50-k; k는 자연수)이 도시된다.
도 8은 도 7에 도시된 2.5D 그리드 맵에서 지면 후보 그리드 셀들을 추출하는 동작들을 설명하기 위한 개념도를 나타낸다. 도 9는 도 7에 도시된 2.5D 그리드 맵에서 지면 후보 그리드 셀들을 추출하는 동작들을 설명하기 위한 흐름도를 나타낸다.
도 4 내지 도 8을 참고하면, 그리드 셀(GC0)에서 그리드 셀(GC10)로 갈수록 그리드 셀의 사이즈는 증가한다. 즉, 2.5D 그리드 맵(50)은 원점에서 축 거리(ρ) 방향으로 멀어질수록 그리드 셀의 사이즈가 등차수열로 증가한다. 도 7에서 그리드 셀(GC0)부터 그리드 셀(GC10)은 2.5D 그리드 맵(50)의 원점에서 축 거리(ρ) 방향으로 정렬된 그리드 셀들을 나타낸다. 상기 원점은 2.5D 그리드 맵(50)의 중심의 좌표를 의미한다.
프로세서(11)는 2.5D 그리드 맵(50)에서 지면 후보 그리드 셀들을 추출한다. 지면 후보 그리드 셀이란 복수의 그리드 셀(GC0~GC10)에서 비유효 그리드 셀과 객체 그리드 셀을 제외한 지면이 있을 가능성이 있는 그리드 셀을 의미한다. 지면 후보 그리드 셀은 추가적인 프로세서(11)의 판단에 의해 지면 그리드 셀로 확정되거나, 객체 그리드 셀, 또는 비유효 그리드 셀로 변경될 수 있다. 이하, 프로세서(11)에 의해 2.5D 그리드 맵(50)에서 지면 후보 그리드 셀이 추출되는 동작들이 설명된다.
프로세서(11)는 상기 2.5D 그리드 맵(50)에서 임의로 복수의 그리드 셀들을 베이스 그리드 셀들(base grid cells)로 선택한다(S210). 차량(20)의 폭에 대응하는 그리드 셀들이 상기 베이스 그리드 셀들로 선택될 수 있다. 예컨대, 그리드 셀들(GC0~GC4)이 베이스 그리드 셀들로 선택될 수 있다.
프로세서(11)는 상기 베이스 그리드 셀들에 포함된 복수의 그리드 셀들 (GC0~GC4) 각각의 최소 높이 값(zmin)과 최대 높이 값(zmax)을 각각 0으로 할당하고, 상기 복수의 그리드 셀들에 대해 지면 후보 그리드 셀들로 설정한다(S220). 즉, 프로세서(11)는 상기 베이스 그리드 셀 후보에 포함된 복수의 그리드 셀들(GC0, GC1, GC2, GC3, 및 GC4) 각각의 최소 높이 값(zmin)과 최대 높이 값(zmax)을 각각 0으로 할당한다. 프로세서(11)는 복수의 그리드 셀들 각각의 상태 정보를 지면 후보 그리드 셀로 설정한다. 상기 지면 후보 그리드 셀은 지면의 가능성이 있는 그리드 셀을 의미한다. 또한, 상기 지면 후보 그리드 셀은 프로세서(11)의 추가적인 판단에 따라 지면이 있는 그리드 셀로 확정될 수 있다.
라이다 센서(21)에서 가까운 그리드 셀들(GC0~GC4)은 라이다 센서(21)에 의해 많은 포인트들이 생성될 수 없다. 이는 라이다 센서(21)의 종류와 장착 위치에 따른 특성이다. 따라서 프로세서(11)는 이러한 특성을 고려하여 상기 베이스 그리드 셀들을 선택하고 상기 베이스 그리드 셀들을 지면 후보 그리드 셀들(GC0~GC4)로 설정한다.
프로세서(11)는 상기 2.5D 그리드 맵(50)에서 베이스 그리드 셀들로 선택된 복수의 그리드 셀들(GC0~GC4)을 제외한 나머지 그리드 셀들(GC5~GC10)에 대해 각각의 그리드 셀(GC5~GC10) 내에 위치한 포인트들의 개수가 임의의 포인트들의 개수보다 작은지 판단한다(S230). 예컨대, 그리드 셀(GC5)에 포함된 포인트들의 개수가 상기 임의의 포인트들의 개수보다 작은지 판단한다. 상기 임의의 포인트들의 개수는 1, 또는 2일 수 있다.
프로세서(11)는 상기 나머지 그리드 셀들(GC5~GC10) 중에서 상기 임의의 포인트들의 개수보다 작은 포인트들의 개수가 속한 그리드 셀을 비유효 후보 그리드 셀로 결정한다(S240). 상기 비유효 후보 그리드 셀은 셀에 3D 포인트의 개수가 임의의 개수 이하인 그리드 셀로 프로세서(11)의 추가적인 판단에 따라 비유효 그리드 셀로 확정되나, 지면 그리드 셀, 또는 객체 그리드 셀로 변경될 수 있는 그리드 셀을 의미한다. 예컨대, 그리드 셀(GC5, GC6, GC7, GC8, GC9 또는 GC10)은 비유효 후보 그리드 셀로 결정될 수 있다.
도 10은 도 7에 도시된 2.5D 그리드 맵에서 지면 후보 그리드 셀을 추출하는 추가적인 동작들을 설명하기 위한 개념도를 나타낸다.
도 4 내지 도 10을 참고하면, 그리드 셀(GC0)에서 그리드 셀(GC14)로 갈수록 그리드 셀의 사이즈는 증가하나, 도 10에서는 도면의 편의를 위해 그리드 셀의 사이즈가 같게 도시되었다. 도 10에서 그리드 셀(GC0)부터 그리드 셀(GC14)은 2.5D 그리드 맵(50)의 원점에서 축 거리(ρ) 방향으로 정렬된 그리드 셀들을 나타낸다.
프로세서(11)는 상기 나머지 그리드 셀들(예컨대, GC5~GC10) 중에서 상기 임의의 포인트들의 개수보다 큰 포인트들의 개수가 속한 그리드 셀들(예컨대, GC5, GC6, GC7, GC8, GC9, 또는 GC10) 각각에 대해 최대 높이 값(zmax)과 최소 높이 값(zmin)의 차이(예컨대, HT1, HT2, 또는 HT3)를 제1문턱 값(th1)과 비교한다(S250). 도 8에서 상기 나머지 그리드 셀들은 "GC5~GC10"로 표현되나, 도 10에서 상기 나머지 그리드 셀들은 "GC5~GC14"로 표현될 수 있다.
2.5D 그리드 맵(50)의 원점에서 상기 축 거리(ρ) 방향으로 멀어질수록 제1문턱 값(th1)은 증가한다. 예컨대, 그리드 셀(GC5)의 제1문턱 값(th1)과 그리드 셀(GC14)의 제1문턱 값(th1)은 다르다. 그리드 셀(GC14)의 제1문턱 값(th1)은 그리드 셀(GC5)의 제1문턱 값(th1)보다 크다. 실시 예에 따라 제1문턱 값(th1)은 임의로 설정될 수 있다.
프로세서(11)는 상기 차이(예컨대, HT1, HT2, 또는 HT3)가 상기 제1문턱 값(th1)보다 작은 그리드 셀을 지면 후보 그리드 셀로 결정한다(S260). 예컨대, 그리드 셀(GC6)의 경우, 하나의 그리드 셀(GC6)에 복수의 3D 포인트들을 포함한다. 그리드 셀(GC6)은 최대 높이 값(zmax)과 최소 높이 값(zmin)을 가진다. 프로세서(11)는 그리드 셀(GC6)의 최대 높이 값(zmax)과 최소 높이 값(zmin)의 차이(HT1)가 제1문턱 값(th1)보다 작다고 판단한다. 따라서 프로세서(11)는 그리드 셀(GC6)을 지면 후보 그리드 셀로 결정한다.
프로세서(11)는 상기 차이(예컨대, HT1, HT2, 또는 HT3)가 상기 제1문턱 값(th1)보다 큰 그리드 셀을 객체 후보 그리드 셀로 결정한다(S270). 예컨대, 프로세서(11)는 그리드 셀(GC7)의 최대 높이 값(zmax)과 최소 높이 값(zmin)의 차이(HT2)가 제1문턱 값(th1)보다 크다고 판단한다. 따라서 프로세서(11)는 그리드 셀(GC7)을 객체 후보 그리드 셀로 결정한다.
상기 비유효 그리드 셀, 상기 지면 후보 그리드 셀, 및 상기 객체 그리드 셀은 상기 그리드 셀의 상태 정보를 나타낸다.
하지만, 프로세서(11)는 상기 차이가 제1문턱 값(th1)보다 큰 그리드 셀을 객체 그리드 셀로 결정한다. 예컨대, 프로세서(11)는 그리드 셀(GC7)의 최대 높이 값(zmax)과 최소 높이 값(zmin)의 차이(HT2)가 제1문턱 값(th1)보다 크다고 판단한다. 따라서 프로세서(11)는 그리드 셀(GC7)을 객체 후보 그리드 셀로 결정한다.
프로세서(11)는 그리드 셀(GC9)의 최대 높이 값(zmax)과 최소 높이 값(zmin)의 차이(HT3)가 제1문턱 값(th1)보다 작다고 판단한다. 따라서 프로세서(11)는 그리드 셀(GC9)을 지면 후보 그리드 셀로 결정한다.
실시 예에 따라 프로세서(11)는 상기 복수의 그리드 셀들 각각에 포함된 최소 높이 값(zmax)을 가지는 3D 포인트와 최대 높이 값(zmin)을 가지는 3D 포인트 사이의 높이 차이를 이용하여 상기 복수의 그리드 셀들 중에서 지면 후보 그리드 셀들을 추출할 수 있다. 구체적으로, 프로세서(11)는 상기 복수의 그리드 셀들 각각에 포함된 최소 높이 값(zmax)을 가지는 3D 포인트와 최대 높이 값(zmin)을 가지는 3D 포인트 사이의 높이 차이가 임의의 문턱 값보다 작다고 판단할 때, 프로세서(11)는 최소 높이 값(zmax)을 가지는 3D 포인트와 최대 높이 값(zmin)을 가지는 3D 포인트 사이의 높이 차이가 상기 임의의 문턱 값보다 작은 그리드 셀들을 지면 후보 그리드 셀들로 결정한다.
도 11은 본 발명의 다른 실시 예에 따른 라이다 포인트 데이터의 보정 시스템의 블록도를 나타낸다.
도 11을 참고하면, 라이다 포인트 데이터(225)의 보정 시스템(200)은 라이다 센서(221)의 위치에 따른 3D 포인트들의 좌표 왜곡을 보정하기 위한 시스템을 의미한다. 도 4의 라이다 포인트 데이터(25)의 보정 시스템(100)은 움직이는 차량(20)에 라이다 센서(21)가 설치되나, 도 11의 라이다 포인트 데이터(225)의 보정 시스템(200)은 고정된 위치에 라이다 센서(221)가 설치된다는 점에서 차이가 있다. 하지만 도 11의 라이다 포인트 데이터(225)의 보정 시스템(200)과 도 4의 라이다 포인트 데이터(25)의 보정 시스템(100)은 라이다 포인트 데이터의 보정 방법에 관한 것이라는 점에서 유사하다. 도 11의 라이다 포인트 데이터(225)의 보정 시스템(200)에서도 2.5D 그리드 맵 생성 방법이 그대로 적용된다.
라이다 포인트 데이터(225)의 보정 시스템(200)은 라이다 센서(221)와 컴퓨팅 장치(300)를 포함한다.
라이다 센서(221)는 복수의 3D 포인트들을 포함하는 라이다 포인트 데이터(225)를 생성한다. 고정된 위치에 설치된 라이다 센서(221)는 고정된 위치의 다양한 주변 환경에 대한 라이다 포인트 데이터(225)를 생성한다.
라이다 포인트 데이터(225)는 복수의 3D 포인트들(223)을 포함한다. 즉, 라이다 포인트 데이터(225)는 복수의 3D 포인트들(223)을 의미한다. 복수의 3D 포인트들(223)은 3D 포인트 클라우드이다.
라이다 센서(221)는 객체(207)에 대한 3D 포인트들(223)을 포함하는 포인트 데이터(225)를 생성한다.
컴퓨팅 장치(300)는 다른 하드웨어와 결합되는 하드웨어 모듈, 또는 독립적인 하드웨어 장치로 구현될 수 있다. 예컨대, 컴퓨팅 장치(300)는 컴퓨터, 노트북, PC, 서버, 또는 태블릿 PC 등과 같은 외부의 전자 장치로 구현될 수 있다.
컴퓨팅 장치(300)는 프로세서(110)와 메모리(130)를 포함한다. 프로세서(110)는 라이다 포인트 데이터(225)의 보정을 위한 명령들을 실행한다. 메모리(130)는 상기 명령들을 저장한다. 라이다 포인트 데이터(225)의 보정이란 3D 포인트들(223)의 좌표들의 왜곡 보정을 의미한다.
프로세서(110)는 라이다 센서(221)로부터 복수의 3D 포인트들(223)을 포함하는 라이다 포인트 데이터(225)를 수신한다.
프로세서(110)는 라이다 포인트 데이터(225)를 이용하여 2.5D 그리드 맵(grid map)을 생성한다. 2.5D 그리드 맵은 2D 그리드 맵에 일부 높이 정보를 추가한 맵을 의미한다.
라이다 포인트 데이터(225)의 보정 방법은 크게 초기화 단계와 보정 단계로 나눠진다. 도 12, 도 13, 및 도 16은 초기화 단계에 대해 설명이다. 도 14, 도 15, 및 도 17은 보정 단계에 대한 설명이다.
도 12는 도 11에 도시된 라이다 센서의 서로 다른 위치에 따라 생성된 객체의 3D 포인트들의 로컬 좌표계를 나타낸다.
도 11 내지 도 12을 참고하면, 프로세서(110)는 라이다 센서(221)로부터 복수의 3D 포인트들(223)을 수신한다. 복수의 3D 포인트들(223)은 객체(207)에 대한 라이다 포인트 데이터이다.
프로세서(110)는 복수의 3D 포인트들(223)을 임의의 각도(θ1, θ2, θ3, θ4, θ5, 또는 θ6)만큼 회전하는 회전 동작을 수행한다. 복수의 3D 포인트들(223)가 제1임의의 각도(θ1)만큼 회전될 때, 도 12에서 제1복수의 3D 포인트들(LP1)이 도시된다. 복수의 3D 포인트들(223)가 제2임의의 각도(θ2)만큼 회전될 때, 도 12에서 제2복수의 3D 포인트들(LP2)이 도시된다. 유사한 방식으로 제3복수의 3D 포인트들(LP3) 내지 제5복수의 3D 포인트들(LP5)이 도시된다. 제6임의의 각도(θ6)가 가장 크고, 제1임의의 각도(θ1)가 가장 작다. 즉, 프로세서(110)는 복수의 3D 포인트들(223)을 서로 다른 임의의 각도(θ1, θ2, θ3, θ4, θ5, 또는 θ6)만큼 회전하는 회전 동작을 수행한다.
프로세서(110)은 상기 임의의 각도만큼 회전된 복수의 3D 포인트들(LP1, LP2, LP3, LP4, 또는, LP5)을 이용하여 복수의 그리드 셀들을 포함하는 2.5D 그리드 맵을 생성하는 2.5D 그리드 맵 생성 동작을 수행한다. 상기 2.5 그리드 맵 생성 동작은 도 5, 도 6에서 상세히 설명되었다.
프로세서(110)는 상기 복수의 그리드 셀들 각각에 포함된 최소 높이 값을 가지는 3D 포인트와 최대 높이 값을 가지는 3D 포인트 사이의 높이 차이를 이용하여 상기 복수의 그리드 셀들 중에서 지면 후보 그리드 셀들을 추출하는 추출 동작을 수행한다. 상기 지면 후보 그리드 셀들의 추출 동작은 도 8, 도 9, 및 도 10에서 상세히 설명되었다.
프로세서(110)는 추출된 지면 후보 그리드 셀들 중 어느 하나에서 무작위로 복수의 3D 포인트들을 추출하여 평면 지면 모델(PGM1, PGM2, PGM3, PGM4, 또는 PGM5)을 생성하는 평면 지면 모델 생성 동작을 수행한다.
도 13은 본 발명의 실시 예에 따른 평면 지면 모델을 생성하는 방법을 설명하기 위한 흐름도를 나타낸다.
도 11 내지 도 13을 참고하면, 프로세서(110)는 라이다 센서(221)로부터 복수의 3D 포인트들(223)을 수신한다.
프로세서(110)는 추출된 지면 후보 그리드 셀들 중 어느 하나에서 복수의 3D 포인트들을 무작위로 추출하여 평면 지면 모델(PGM1, PGM2, PGM3, PGM4, 또는 PGM5)을 생성한다. 상기 평면 지면 모델(PGM1, PGM2, PGM3, PGM4, 또는 PGM5)을 생성한다함은 상기 평면 지면 모델(PGM1, PGM2, PGM3, PGM4, 또는 PGM5)과, 상기 평면 지면 모델(PGM1, PGM2, PGM3, PGM4, 또는 PGM5)의 파라미터들을 확정함을 의미한다.
구체적으로 상기 평면 지면 모델(PGM1, PGM2, PGM3, PGM4, 또는 PGM5)은 아래의 같은 동작들을 이용하여 생성될 수 있다.
프로세서(110)는 추출된 지면 후보 그리드 셀들 중 어느 하나에서 복수의 3D 포인트들을 무작위로 추출하는 추출 동작을 수행한다(S310). 도 13에서 (x, y, z)는 3D 포인트들의 좌표를 나타낸다. 예컨대, (1, 1, 0)은 3D 포인트의 좌표를 나타낸다.
실시 예에 따라 프로세서(110)는 상기 2.5D 그리드 맵 생성 동작과 지면 후보 그리드 셀들을 추출하는 추출 동작을 수행하지 않고, 복수의 3D 포인트들을 임의의 각도만큼 회전한 상태에서 3D 포인트들을 무작위로 추출하는 추출 동작을 수행할 수 있다.
프로세서(110)는 상기 무작위로 추출된 복수의 3D 포인트들을 예비적인 평면 지면 모델에 적용하여 상기 평면 지면 모델의 파라미터들을 계산하는 파라미터 계산 동작을 수행한다(S320). 상기 예비적인 평면 지면 모델은 수학적 모델이며, 1차 방정식일 수 있다. 상기 예비적인 평면 지면 모델은 파라미터들이 결정되지 않은 1차 방정식을 의미한다. 도 13에서 상기 예비적인 평면 지면 모델(MM)은 아래의 수학식과 같다.
[수학식 1]
0=ax+by+cz+d
상기 a , 상기 b, 및 상기 c, 및 상기 d는 파라미터들을 나타낸다.
상기 ai, 상기 bi, 상기 ci, 및 상기 di는 i번째에서 파라미터들의 값을 나타낸다.
프로세서(110)는 n(n은 자연수) 횟수 동안 복수의 3D 포인트들 중 무작위로 추출되지 않은 나머지 3D 포인트들을 상기 제1평면 지면 모델에 적용하여 오차를 계산하는 오차 계산 동작을 반복적으로 수행한다(S330). 도 13에서 en은 상기 오차의 수학식을 나타낸다.
프로세서(110)는 상기 계산된 오차가 일정한 값(residual) 이상일 때, 오차의 값을 카운팅을 하는 카운팅 동작을 수행한다(S340).
프로세서(110)는 i(i는 자연수) 횟수 동안 상기 추출 동작, 상기 파라미터 계산 동작, 상기 오차 계산 동작, 및 상기 카운팅 동작을 반복적으로 수행한다(S350).
프로세서(110)는 반복적으로 수행하여 카운팅된 오차의 값들 중 가장 작은 카운팅 값에 대응하는 파라미터들을 적용하여 상기 평면 지면 모델을 최종적으로 생성한다(S360). 즉, 파라미터들이 정해진 평면 지면 모델이 생성된다.
도 11 내지 도 12을 참고하면, 프로세서(110)는 기울기가 서로 다른 복수의 평면 지면 모델들(PGM1~PGM5)을 생성하기 위해 횟수를 카운팅하고, 상기 카운팅된 횟수가 미리 정해진 횟수에 도달할 때까지 반복적으로 상기 회전 동작, 상기 2.5D 그리드 맵 생성 동작, 상기 지면 후보 그리드 셀들을 추출하는 추출 동작, 및 상기 평면 지면 모델 생성 동작을 수행한다.
예컨대, 프로세서(110)는 라이다 센서(221)로부터 수신된 복수의 3D 포인트들(223)을 제1임의의 각도(θ1)만큼 회전한다.
프로세서(110)는 상기 제1임의의 각도(θ1)만큼 회전된 제1복수의 3D 포인트들(LP1)을 이용하여 복수의 제1그리드 셀들을 포함하는 첫 번째 2.5D 그리드 맵을 생성한다.
프로세서(110)는 상기 복수의 제1그리드 셀들 중에 제1지면 후보 그리드 셀들을 추출한다.
프로세서(110)는 상기 제1지면 후보 그리드 셀들 중 어느 하나에 포함된 제1복수의 3D 포인트들을 무작위로 추출하여 제1평면 지면 모델(PGM1)을 생성한다.
프로세서(110)는 횟수를 카운트하고, 라이다 센서(221)로부터 수신된 복수의 3D 포인트들(223)을 제2임의의 각도(θ2)만큼 회전한다. 제2임의의 각도(θ2)는 제1임의의 각도(θ1)보다 크다.
프로세서(110)는 상기 제2임의의 각도(θ2)만큼 회전된 제2복수의 3D 포인트들(LP2)을 이용하여 복수의 제2그리드 셀들을 포함하는 두 번째 2.5D 그리드 맵을 생성한다.
프로세서(110)는 상기 복수의 제2그리드 셀들 중에 제2지면 후보 그리드 셀들을 추출한다.
프로세서(110)는 상기 제2지면 후보 그리드 셀들 중 어느 하나에 포함된 제2복수의 3D 포인트들을 무작위로 추출하여 제2평면 지면 모델(PGM2)을 생성한다.
프로세서(110)는 횟수를 카운트하고, 라이다 센서(221)로부터 수신된 복수의 3D 포인트들(223)을 제3임의의 각도(θ3)만큼 회전한다. 제3임의의 각도(θ3)는 제2임의의 각도(θ2)보다 크다.
프로세서(110)는 상기 제3임의의 각도(θ3)만큼 회전된 제3복수의 3D 포인트들(LP3)을 이용하여 복수의 제3그리드 셀들을 포함하는 세 번째 3.5D 그리드 맵을 생성한다.
프로세서(110)는 상기 복수의 제3그리드 셀들 중에 제3지면 후보 그리드 셀들을 추출한다.
프로세서(110)는 상기 제3지면 후보 그리드 셀들 중 어느 하나에 포함된 제3복수의 3D 포인트들을 무작위로 추출하여 제3평면 지면 모델(PGM3)을 생성한다.
프로세서(110) 유사한 방법으로 나머지 평면 지면 모델들(PGM4, PGM5)을 생성한다. 생성된 평면 지면 모델들(PGM1~PMG5)의 기울기들은 모두 다르다.
상기 기울기가 가장 작은 평면 지면 모델은 가상의 선과 평면 지면 모델의 사이의 각도를 계산하여 기울기가 가장 작은 평면 지면 모델이 결정될 수 있다. 예컨대, 상기 제1평면 지면 모델(PGM1)과 가상의 선(VL1) 사이의 각도를 계산할 수 있다. 상기 계산된 각도는 상기 제1평면 지면 모델(PGM1)의 기울기에 비례한다. 즉, 상기 계산된 각도가 클수록 상기 제1평면 지면 모델(PGM1)의 기울기는 크다. 상기 제2평면 지면 모델(PGM2)과 가상의 선(VL2) 사이의 각도를 계산할 수 있다. 상기 계산된 각도는 상기 제2평면 지면 모델(PGM2)의 기울기에 비례한다. 가상의 선(VL1, VL2, VL3, VL4, 또는 VL5)은 X축(XL)과 평행한 가상의 선을 의미한다. 또한, 가상의 선(VL1, VL2, VL3, VL4, 또는 VL5)은 평평한 가상의 평면을 의미할 수 있다.
상기 제2평면 지면 모델(PGM2)과 가상의 선(VL2) 사이의 각도는 상기 제1평면 지면 모델(PGM1)과 가상의 선(VL1) 사이의 각도보다 작으므로, 프로세서(110)는 제2평면 지면 모델(PGM2)의 기울기가 제1평면 지면 모델(PGM1)의 기울기보다 작다고 결정한다.
프로세서(110)는 기울기가 서로 다른 복수의 평면 지면 모델들(PGM1~PMG5) 중 기울기가 가장 작은 평면 지면 모델(예컨대, PGM3)을 결정한다. 제3평면 지면 모델(PGM3)과 가상의 선(VL3) 사이의 각도가 가장 작다. 따라서 복수의 평면 지면 모델들(PGM1~PGM5) 중 제3평면 지면 모델(PGM3)의 기울기가 가장 작다.
프로세서(110)는 기울기가 가장 작은 평면 지면 모델(예컨대, LP3)에 대응하는 회전 각도(θ3)를 메모리(130)에 저장한다.
회전 각도(θ3)를 메모리(130)에 저장함으로써 초기화 단계가 완료된다.
상기 초기화 단계가 완료된 후, 보정 단계가 수행된다. 즉, 프로세서(110)는 상기 기울기가 작은 평면 지면 모델(예컨대, PGM3)에 따라 라이다 센서(221)의 라이다 포인트 데이터를 보정한다. 보정 단계는 도 14, 도 15, 및 도 17에서 자세히 설명될 것이다.
도 14는 도 11에 도시된 라이다 센서의 특정 위치에 따라 생성된 객체의 3D 포인트들의 로컬 좌표계를 나타낸다.
도 11 내지 도 14를 참고하면, 프로세서(110)는 다른 시간에 라이다 센서(221)로부터 복수의 다른 3D 포인트들(LP_N1)을 수신한다. 상기 복수의 다른 3D 포인트들(LP_N1)은 상기 다른 시간인 제2시간에 라이다 센서(221)가 수신한 라이다 포인트 데이터를 의미한다. 도 12에서 복수의 3D 포인트들(LP1, LP2, LP3, LP4, 또는 LP5)은 제1시간에 라이다 센서(221)가 수신한 라이다 포인트 데이터를 의미한다. 즉, 상기 복수의 다른 3D 포인트들(LP_N1)은 도 16에서 설명한 초기화 단계가 끝난 이후의 시점에서 라이다 센서(221)가 수신한 라이다 포인트 데이터를 의미한다.
프로세서(110)는 상기 복수의 다른 3D 포인트들(LP_N1)을 도 16에서 메모리(130)에 저장된 회전 각도(예컨대, θ3)만큼 회전하도록 회전 동작을 수행한다. 상기 복수의 다른 3D 포인트들(LP_N1)을 도 16에서 메모리(130)에 저장된 회전 각도(예컨대, θ3)만큼 회전하면 회전된 다른 3D 포인트들(LP_N2)이 위치한다.
프로세서(110)은 메모리(130)에 저장된 회전 각도(예컨대, θ3)만큼 회전된 복수의 다른 3D 포인트들(LP_N2)을 이용하여 복수의 그리드 셀들을 포함하는 2.5D 그리드 맵을 생성하는 2.5D 그리드 맵 생성 동작을 수행한다.
프로세서(110)는 상기 복수의 그리드 셀들 중에서 지면 후보 그리드 셀들을 추출하는 추출 동작을 수행한다.
프로세서(110)는 추출된 지면 후보 그리드 셀들 중 어느 하나에서 무작위로 복수의 다른 3D 포인트들을 추출하여 평면 지면 모델(PGM_N)을 생성하는 평면 지면 모델 생성 동작을 수행한다.
프로세서(110)는 생성된 평면 지면 모델(PGM_N)의 오프셋(OFFSET_A, 또는 OFFSET_B)을 계산한다. 평면 지면 모델(PGM_N)과 가상의 수평 선(VL_N) 사이의 각도 차이을 이용하여 제1오프셋(OFFSET_A)이 계산될 수 있다. 평면 지면 모델(PGM_N)의 Z 좌표 값과 로컬 좌표계의 원점(CL)의 Z 좌표 값과의 차이을 이용하여 제2오프셋(OFFSET_B)이 계산될 수 있다. 또한, 글로벌 좌표계에서 라이다 센서(221)의 Z 좌표 값을 이용하여 제2오프셋(OFFSET_B)이 계산될 수 있다.
도 15는 도 14에 도시된 로컬 좌표계를 변환한 글로벌 좌표계를 나타내다.
도 11 내지 도 15를 참고하면, 프로세서(110)는 평면 지면 모델(PGM_N)의 오프셋(OFFSET_A, 또는 OFFSET_B)을 보정한다. 평면 지면 모델(PGM_N)의 오프셋(OFFSET_A, 또는 OFFSET_B)을 보정하면 보정된 3D 포인트들(CLP)의 좌표들은 글로벌 좌표계에서 도 15와 같이 도시된다.
프로세서(110)는 복수의 다른 3D 포인트들(LP_N1)의 좌표들을 보정함으로써 라이다 센서(221)의 위치에 따른 라이다 포인트 데이터의 왜곡을 보정할 수 있다.
도 16은 본 발명의 실시 예에 따른 라이다 포인트 데이터의 보정 방법을 설명하기 위한 흐름도를 나타낸다.
도 11 내지 도 16을 참고하면, 프로세서(110)는 라이다 센서(221)로부터 복수의 3D 포인트들(223)을 수신한다(S510). 복수의 3D 포인트들(223)은 객체(207)에 대한 라이다 포인트 데이터이다.
프로세서(110)는 복수의 3D 포인트들(223)을 임의의 각도만큼 회전하는 회전 동작을 수행한다(S520).
프로세서(110)은 상기 임의의 각도만큼 회전된 복수의 3D 포인트들(223)을 이용하여 복수의 그리드 셀들을 포함하는 2.5D 그리드 맵을 생성하는 2.5D 그리드 맵 생성 동작을 수행한다(S530).
프로세서(110)는 상기 복수의 그리드 셀들 각각에 포함된 최소 높이 값을 가지는 3D 포인트와 최대 높이 값을 가지는 3D 포인트 사이의 높이 차이를 이용하여 상기 복수의 그리드 셀들 중에서 지면 후보 그리드 셀들을 추출하는 추출 동작을 수행한다(S540).
프로세서(110)는 추출된 지면 후보 그리드 셀들 중 어느 하나에서 무작위로 복수의 3D 포인트들을 추출하여 평면 지면 모델을 생성하는 평면 지면 모델 생성 동작을 수행한다(S550).
프로세서(110)는 횟수를 카운팅하고, 상기 카운팅된 횟수가 미리 정해진 횟수에 도달할 때까지 반복적으로 상기 회전 동작(S520), 상기 2.5D 그리드 맵 생성 동작(S530), 상기 추출 동작(S540), 및 상기 평면 지면 모델 생성 동작(S550)을 수행하여 기울기가 서로 다른 복수의 평면 지면 모델들(PGM1~PGM5)을 생성한다(S560). 상기 수신 동작(510)이 반복적으로 수행될 때, 라이다 센서(221)의 임의의 각도는 점차적으로 증가한다.
프로세서(110)는 상기 서로 다른 기울기들을 갖는 복수의 평면 지면 모델들(PGM1~PGM5) 중 가장 기울기가 작은 평면 지면 모델(예컨대, PGM3)을 결정한다(S570).
프로세서(110)는 상기 가장 기울기가 작은 평면 지면 모델(예컨대, PGM3)의 회전 각도(θ3)를 메모리(130)에 저장한다(S580).
도 16은 상기 서로 다른 기울기들을 갖는 복수의 평면 지면 모델들(PGM1~PGM5) 중 가장 기울기가 작은 평면 지면 모델(예컨대, PGM3)에 대응하는 회전 각도(예컨대, θ3)를 메모리(130)에 저장하는 초기화 단계를 나타낸다.
도 17은 본 발명의 실시 예에 따른 라이다 포인트 데이터의 보정 방법을 설명하기 위한 다른 흐름도를 나타낸다.
도 17은 라이다 센서의 초기화 단계 이후의 보정 단계를 나타낸다. 도 14, 도 15, 및 도 17을 참고하면, 프로세서(110)는 라이다 센서(221)로부터 복수의 다른 3D 포인트들(LP_N1)을 수신한다(S610). 상기 복수의 다른 3D 포인트들(LP_N1)은 제2시간에 라이다 센서(221)가 수신한 라이다 포인트 데이터를 의미한다. 도 16에서 복수의 3D 포인트들은 제1시간에 라이다 센서(221)가 수신한 라이다 포인트 데이터를 의미한다. 즉, 상기 복수의 다른 3D 포인트들(LP_N1)은 도 16에서 설명한 초기화 단계가 끝난 이후의 시점에서 라이다 센서(221)가 수신한 라이다 포인트 데이터를 의미한다. 상기 제1시간과 상기 제2시간은 서로 다른 시간이다.
프로세서(110)는 상기 복수의 다른 3D 포인트들(LP_N1)을 도 16에서 메모리(130)에 저장된 회전 각도(예컨대, θ3)만큼 회전하도록 회전 동작을 수행한다(S620). 상기 복수의 다른 3D 포인트들(LP_N1)을 도 16에서 메모리(130)에 저장된 회전 각도(예컨대, θ3)만큼 회전하면 상기 복수의 다른 3D 포인트들(LP_N2)으로 위치가 변경된다.
프로세서(110)은 메모리(130)에 저장된 회전 각도(예컨대, θ3)만큼 회전된 복수의 다른 3D 포인트들(LP_N2)을 이용하여 복수의 그리드 셀들을 포함하는 2.5D 그리드 맵을 생성하는 2.5D 그리드 맵 생성 동작을 수행한다(S630).
프로세서(110)는 상기 복수의 그리드 셀들 각각에 포함된 최소 높이 값을 가지는 3D 포인트와 최대 높이 값을 가지는 3D 포인트 사이의 높이 차이를 이용하여 상기 복수의 그리드 셀들 중에서 지면 후보 그리드 셀들을 추출하는 추출 동작을 수행한다(S640).
프로세서(110)는 추출된 지면 후보 그리드 셀들 중 어느 하나에서 무작위로 복수의 다른 3D 포인트들을 추출하여 평면 지면 모델(PGM_N)을 생성하는 평면 지면 모델 생성 동작을 수행한다(S650).
프로세서(110)는 생성된 평면 지면 모델(PGM_N)의 오프셋(OFFSET_A, OFFEST_B)을 계산한다(S660).
프로세서(110)는 계산된 오프셋(OFFSET_A, OFFEST_B)을 보정한다(S670). 계산된 오프셋(OFFSET_A, OFFEST_B)을 보정함으로써 다른 3D 포인트들의 좌표들이 보정될 수 있다. 즉, 복수의 다른 3D 포인트들(LP_N1)의 좌표들은 복수의 다른 3D 포인 3D 포인트들의 좌표들(CLP)로 보정된다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
200: 라이다 포인트 데이터의 보정 시스템;
207: 객체;
221: 라이다 센서;
223: 3D 포인트들;
225: 라이다 포인트 데이터;
300: 컴퓨팅 장치;
110: 프로세서;
130: 메모리;

Claims (8)

  1. 컴퓨팅 장치를 포함하며,
    상기 컴퓨팅 장치는,
    프로세서; 및
    상기 프로세서에 의해 실행되는 명령들을 저장하는 메모리를 포함하며,
    상기 명령들은,
    라이다 센서로부터 복수의 3D 포인트들을 수신하며,
    상기 복수의 3D 포인트들을 임의의 각도만큼 회전하는 회전 동작과 상기 임의의 각도만큼 회전된 복수의 3D 포인트들을 무작위로 추출하여 평면 지면 모델을 생성하는 평면 지면 모델 생성 동작을 미리 정해진 임의의 횟수 동안 반복적으로 수행하여 기울기가 서로 다른 복수의 평면 지면 모델들을 생성하고,
    상기 생성된 기울기가 서로 다른 복수의 평면 지면 모델들 중 기울기가 가장 작은 평면 지면 모델을 결정하고,
    상기 기울기가 가장 작은 평면 지면 모델에 따라 상기 라이다 센서의 라이다 포인트 데이터를 보정하도록 구현되는 라이다 포인트 데이터 보정 시스템.
  2. 제1항에 있어서, 상기 명령들은,
    상기 회전 동작과 상기 평면 지면 모델 생성 동작 사이에 상기 임의의 각도만큼 회전된 복수의 3D 포인트들을 이용하여 복수의 그리드 셀들을 포함하는 2.5D 그리드 맵을 생성하는 2.5D 그리드 맵 생성 동작과, 상기 복수의 그리드 셀들 각각에 포함된 최소 높이 값을 가지는 3D 포인트와 최대 높이 값을 가지는 3D 포인트 사이의 높이 차이를 이용하여 상기 복수의 그리드 셀들 중에서 지면 후보 그리드 셀들을 추출하는 추출 동작이 더 수행되도록 구현되는 라이다 포인트 데이터 보정 시스템.
  3. 제2항에 있어서, 상기 생성된 기울기가 서로 다른 복수의 평면 지면 모델들은,
    상기 추출된 지면 후보 그리드 셀들에 포함된 3D 포인트들을 무작위로 추출하여 생성되는 라이다 포인트 데이터 보정 시스템.
  4. 프로세서는 라이다 센서로부터 수신된 복수의 3D 포인트들을 제1임의의 각도만큼 회전하여 상기 제1임의의 각도만큼 회전된 제1복수의 3D 포인트들을 무작위로 추출하여 제1평면 지면 모델을 생성하는 단계;
    상기 프로세서는 상기 복수의 3D 포인트들을 제2임의의 각도만큼 회전하여 상기 제2임의의 각도만큼 회전된 제2복수의 3D 포인트들을 무작위로 추출하여 제2평면 지면 모델을 생성하는 단계;
    상기 프로세서는 상기 제1평면 지면 모델과 상기 제2평면 지면 모델 중 기울기가 작은 평면 지면 모델을 결정하는 단계; 및
    상기 프로세서는 상기 기울기가 작은 평면 지면 모델에 따라 상기 라이다 센서의 라이다 포인트 데이터를 보정하는 단계를 포함하는 라이다 포인트 데이터의 보정 방법.
  5. 제4항에 있어서, 상기 라이다 포인트 데이터의 보정 방법은,
    상기 프로세서는 상기 제1임의의 각도만큼 회전된 제1복수의 3D 포인트들을 이용하여 복수의 제1그리드 셀들을 포함하는 첫 번째 2.5D 그리드 맵을 생성하는 단계; 및
    상기 프로세서는 상기 복수의 제1그리드 셀들 각각에 포함된 최소 높이 값을 가지는 3D 포인트와 최대 높이 값을 가지는 3D 포인트 사이의 높이 차이를 이용하여 상기 복수의 제1그리드 셀들 중에서 제1지면 후보 그리드 셀들을 추출하는 단계를 더 포함하며,
    상기 제1평면 지면 모델은 상기 제1지면 후보 그리드 셀들 중 어느 하나에 포함된 상기 제1복수의 3D 포인트들을 무작위로 추출하여 생성되는 라이다 포인트 데이터의 보정 방법.
  6. 제4항에 있어서, 상기 라이다 포인트 데이터의 보정 방법은,
    상기 프로세서는 상기 제2임의의 각도만큼 회전된 제2복수의 3D 포인트들 이용하여 복수의 제2그리드 셀들을 포함하는 두 번째 2.5D 그리드 맵을 생성하는 단계; 및
    상기 프로세서는 상기 복수의 제2그리드 셀들 각각에 포함된 최소 높이 값을 가지는 3D 포인트와 최대 높이 값을 가지는 3D 포인트 사이의 높이 차이를 이용하여 상기 복수의 제2그리드 셀들 중에서 제2지면 후보 그리드 셀들을 추출하는 단계를 더 포함하며,
    상기 제2평면 지면 모델은 상기 제2지면 후보 그리드 셀들 중 어느 하나에 포함된 상기 제2복수의 3D 포인트들을 무작위로 추출하여 생성되는 라이다 포인트 데이터의 보정 방법.
  7. 제4항에 있어서, 상기 라이다 포인트 데이터의 보정 방법은,
    상기 프로세서는 상기 복수의 3D 포인트들을 제3임의의 각도만큼 회전하는 단계; 및
    상기 프로세서는 상기 제3임의의 각도만큼 회전된 제3복수의 3D 포인트들을 무작위로 추출하여 제3평면 지면 모델을 생성하는 단계를 더 포함하며,
    상기 기울기가 작은 평면 지면 모델은,
    상기 제1평면 지면 모델, 상기 제2평면 지면 모델, 및 상기 제3평면 지면 모델 중 기울기가 가장 작은 평면 지면 모델인 라이다 포인트 데이터의 보정 방법.
  8. 제4항에 있어서, 상기 프로세서는 상기 기울기가 작은 평면 지면 모델에 따라 상기 라이다 센서의 라이다 포인트 데이터를 보정하는 단계는,
    상기 프로세서는 상기 기울기가 작은 평면 지면 모델에 대응하는 회전 각도를 저장하는 단계;
    상기 프로세서는 다른 시간에 상기 라이다 센서로부터 복수의 다른 3D 포인트들을 수신하는 단계;
    상기 프로세서는 상기 복수의 다른 3D 포인트들을 상기 저장된 회전 각도만큼 회전하는 단계;
    상기 프로세서는 상기 저장된 회전 각도만큼 회전된 복수의 다른 3D 포인트들 이용하여 복수의 다른 그리드 셀들을 포함하는 다른 2.5D 그리드 맵을 생성하는 단계;
    상기 프로세서는 상기 복수의 다른 그리드 셀들 중에서 다른 지면 후보 그리드 셀들을 추출하는 단계;
    상기 프로세서는 추출된 다른 지면 후보 그리드 셀들 중 어느 하나에 포함된 상기 복수의 다른 3D 포인트들을 무작위로 추출하여 다른 평면 지면 모델을 생성하는 단계; 및
    상기 프로세서는 다른 평면 지면 모델의 오프셋을 계산하고, 상기 계산된 오프셋에 따라 상기 복수의 다른 3D 포인트들의 위치를 보정하는 단계를 더 포함하는 라이다 포인트 데이터의 보정 방법.










KR1020220043294A 2022-03-15 2022-04-07 라이다 포인트 데이터의 보정 방법 및 시스템 KR102470705B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/046,923 US20230296742A1 (en) 2022-03-15 2022-10-16 Method and system for calibrating lidar point data

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220031830 2022-03-15
KR20220031830 2022-03-15

Publications (1)

Publication Number Publication Date
KR102470705B1 true KR102470705B1 (ko) 2022-11-25

Family

ID=84237247

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220043294A KR102470705B1 (ko) 2022-03-15 2022-04-07 라이다 포인트 데이터의 보정 방법 및 시스템

Country Status (2)

Country Link
US (1) US20230296742A1 (ko)
KR (1) KR102470705B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101547940B1 (ko) * 2014-12-17 2015-08-28 가톨릭관동대학교산학협력단 동일평면상에 있는 지상 라이다 자료의 오차 조정 시스템 및 방법
JP2016045330A (ja) * 2014-08-22 2016-04-04 株式会社Ihi 3次元点群データの位置合わせ方法と装置及びその移動体システム
KR101853122B1 (ko) 2017-09-27 2018-04-30 제주대학교 산학협력단 지상 기반 라이다, 라이다 측정오차 보정 장치 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016045330A (ja) * 2014-08-22 2016-04-04 株式会社Ihi 3次元点群データの位置合わせ方法と装置及びその移動体システム
KR101547940B1 (ko) * 2014-12-17 2015-08-28 가톨릭관동대학교산학협력단 동일평면상에 있는 지상 라이다 자료의 오차 조정 시스템 및 방법
KR101853122B1 (ko) 2017-09-27 2018-04-30 제주대학교 산학협력단 지상 기반 라이다, 라이다 측정오차 보정 장치 및 방법

Also Published As

Publication number Publication date
US20230296742A1 (en) 2023-09-21

Similar Documents

Publication Publication Date Title
US10558881B2 (en) Parallax minimization stitching method and apparatus using control points in overlapping region
US10613227B2 (en) Method and apparatus for positioning vehicle
CN110095752B (zh) 定位方法、装置、设备和介质
US20220277478A1 (en) Positioning Method and Apparatus
CN112381889B (zh) 相机检验方法、装置、设备及存储介质
EP3842752A1 (en) Vehicle positioning method, apparatus, electronic device, vehicle and storage medium
CN111680596B (zh) 基于深度学习的定位真值校验方法、装置、设备及介质
US10107899B1 (en) System and method for calibrating light intensity
CN112086010A (zh) 地图生成方法、装置、设备及存储介质
US11448771B2 (en) Method and apparatus for evaluating data, device, and computer-readable storage medium
US12056825B2 (en) Electronic device for providing indoor positioning and method therefor
CN112148622B (zh) 虚拟道具的控制方法、装置、电子设备及存储介质
EP3961583B1 (en) Method for detecting obstacle, electronic device, roadside device and cloud control platform
CN111507204A (zh) 倒计时信号灯的检测方法、装置、电子设备及存储介质
CN103425963A (zh) 信息处理器、信息处理方法和程序
KR102378646B1 (ko) 라이다 포인트 데이터의 포인트 속성 적용 방법 및 시스템
US20230169686A1 (en) Joint Environmental Reconstruction and Camera Calibration
KR102470705B1 (ko) 라이다 포인트 데이터의 보정 방법 및 시스템
Mehralian et al. EKFPnP: extended Kalman filter for camera pose estimation in a sequence of images
US20210008730A1 (en) Pose determining method for mobile robot and apparatus and mobile robot thereof
KR102378649B1 (ko) 라이다 포인트 데이터의 지면 및 비지면 판단 방법 및 시스템
KR20200057513A (ko) 차량 위치 추정 장치 및 방법
CN112400118A (zh) 坐标校正方法、装置、计算设备及计算机存储介质
JP5464671B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
CN112419423B (zh) 一种标定方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
GRNT Written decision to grant