KR102317430B1 - 자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성방법, 서버 및 컴퓨터프로그램 - Google Patents
자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성방법, 서버 및 컴퓨터프로그램 Download PDFInfo
- Publication number
- KR102317430B1 KR102317430B1 KR1020210068260A KR20210068260A KR102317430B1 KR 102317430 B1 KR102317430 B1 KR 102317430B1 KR 1020210068260 A KR1020210068260 A KR 1020210068260A KR 20210068260 A KR20210068260 A KR 20210068260A KR 102317430 B1 KR102317430 B1 KR 102317430B1
- Authority
- KR
- South Korea
- Prior art keywords
- road
- generated
- grid
- generating
- graph
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000004590 computer program Methods 0.000 title claims abstract description 17
- 230000007774 longterm Effects 0.000 claims abstract description 18
- 230000001419 dependent effect Effects 0.000 claims description 10
- 238000004891 communication Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- PDWZXKSZLRVSEH-UHFFFAOYSA-N 6-chloro-4-n-cyclopropyl-4-n-(thiophen-2-ylmethyl)pyrimidine-2,4-diamine Chemical compound NC1=NC(Cl)=CC(N(CC=2SC=CC=2)C2CC2)=N1 PDWZXKSZLRVSEH-UHFFFAOYSA-N 0.000 description 1
- 101100021579 Homo sapiens L1RE1 gene Proteins 0.000 description 1
- 102100031764 LINE-1 retrotransposable element ORF1 protein Human genes 0.000 description 1
- 101100075458 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) LRE1 gene Proteins 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 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/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/343—Calculating itineraries, i.e. routes leading from a starting point to a series of categorical destinations using a global route restraint, round trips, touristic trips
-
- 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/3446—Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
-
- 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/3453—Special cost functions, i.e. other than distance or default speed limit of road segments
-
- 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/3453—Special cost functions, i.e. other than distance or default speed limit of road segments
- G01C21/3492—Special cost functions, i.e. other than distance or default speed limit of road segments employing speed data or traffic data, e.g. real-time or historical
-
- 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/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3807—Creation or updating of map data characterised by the type of data
- G01C21/3815—Road data
-
- 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/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3833—Creation or updating of map data characterised by the source of data
- G01C21/3848—Data obtained from both position sensors and additional sensors
-
- 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/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3863—Structures of map data
-
- 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/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3885—Transmission of map data to client devices; Reception of map data by client devices
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- G06Q50/30—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/40—Business processes related to the transportation industry
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2552/00—Input parameters relating to infrastructure
- B60W2552/10—Number of lanes
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2556/00—Input parameters relating to data
- B60W2556/45—External transmission of data to or from the vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- General Health & Medical Sciences (AREA)
- General Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Health & Medical Sciences (AREA)
- Economics (AREA)
- Theoretical Computer Science (AREA)
- Traffic Control Systems (AREA)
- Instructional Devices (AREA)
- Navigation (AREA)
- Aviation & Aerospace Engineering (AREA)
- Operations Research (AREA)
Abstract
자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성방법, 서버 및 컴퓨터프로그램이 제공된다. 본 발명의 다양한 실시예에 따른 자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성방법은, 컴퓨팅 장치에 의해 수행되는 방법에 있어서, 소정의 지역에 대한 로드 네트워크 데이터를 생성하는 단계, 상기 생성된 로드 네트워크 데이터를 이용하여 자율주행 차량의 단기 주행 계획을 위한 격자 로드 네트워크 데이터를 생성하는 단계 및 상기 생성된 격자 로드 네트워크 데이터를 이용하여 상기 자율주행 차량의 장기 주행 계획을 위한 로드 교차 그래프를 생성하는 단계를 포함한다.
Description
본 발명의 다양한 실시예는 자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성방법, 서버 및 컴퓨터프로그램에 관한 것으로, 보다 구체적으로, 자율주행 차량에 대한 단기, 장기 주행 계획을 생성하기 위한 로드 네트워크 맵을 생성하는 방법에 관한 것이다.
차량을 운전하는 사용자들의 편의를 위하여, 각종 센서와 전자 장치 등(예: 차량 운전자 보조 시스템(ADAS: Advanced Driver Assistance System)이 구비되고 있는 추세이며, 특히, 차량의 자율 주행 시스템(Autonomous driving System)에 대한 기술 개발이 활발하게 이루어지고 있다.
여기서, 자율 주행 시스템이란 운전자의 개입 없이 주변 환경을 인식하고, 인식된 주변 환경에 따라 스스로 주어진 목적지까지 자동으로 주행하는 차량을 말한다.
일반적으로 자율 주행 시스템의 경우, 자율 주행 차량에 경로를 제공하는 등 다양한 목적을 수행하기 위하여, 다양한 사전 정보들이 필요하다. 특히, 도로의 차로, 차선에 관한 정보를 포함하는 로드 네트워크 데이터는 자율 주행 시스템에 포함된 다양한 모듈에서 활용가능한 사전 정보라는 점에서 필수적인 데이터이기 때문에, 로드 네트워크 데이터를 생성하는 과정이 필수적이다.
본 발명이 해결하고자 하는 과제는 소정의 지역내에 위치하는 도로에 대한 각종 정보를 수집하여 로드 네트워크 데이터를 생성하고, 이를 이용하여 격자 로드 네트워크 데이터 및 로드 교차 그래프를 자동 생성함으로써, 자율주행 차량의 단기 주행 계획과 장기 주행 계획을 위한 로드 네트워크 맵을 구축할 수 있는 자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성방법, 서버 및 컴퓨터프로그램을 제공하는 것이다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 해결하기 위한 본 발명의 일 실시예에 따른 자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성방법은, 컴퓨팅 장치에 의해 수행되는 방법에 있어서, 소정의 지역에 대한 로드 네트워크 데이터를 생성하는 단계, 상기 생성된 로드 네트워크 데이터를 이용하여 자율주행 차량의 단기 주행 계획을 위한 격자 로드 네트워크 데이터를 생성하는 단계 및 상기 생성된 격자 로드 네트워크 데이터를 이용하여 상기 자율주행 차량의 장기 주행 계획을 위한 로드 교차 그래프를 생성하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 로드 네트워크 데이터를 생성하는 단계는, 상기 소정의 지역에 위치하는 제1 도로 및 상기 제1 도로와 연결된 제2 도로 간의 연결관계를 나타내는 제1 로드 네트워크를 생성하는 단계 및 상기 생성된 제1 로드 네트워크를 이용하여 상기 제1 도로에 포함된 복수의 제1 차선과 상기 제2 도로에 포함된 복수의 제2 차선 간의 연결관계를 나타내는 제2 로드 네트워크를 생성하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 제1 로드 네트워크를 생성하는 단계는, 상기 제1 도로 및 상기 제2 도로 각각을 그래프화하여 제1 도로 그래프 및 제2 도로 그래프를 생성하되, 상기 생성된 제1 도로 그래프 및 상기 생성된 제2 도로 그래프는 상기 제1 도로 및 상기 제2 도로 각각의 형상 정보, 방향 정보 및 속성 정보를 포함하는 것인, 단계 및 상기 생성된 제1 도로 그래프와 상기 생성된 제2 도로 그래프를 연결하여 상기 제1 로드 네트워크를 생성하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 제1 로드 네트워크를 생성하는 단계는, 상기 제1 도로 및 상기 제2 도로 각각을 기 설정된 기준에 따라 분할하여 하나 이상의 독립 도로(Independent Road) 및 하나 이상의 종속 도로(Dependent Road)를 생성하는 단계 및 상기 생성된 하나 이상의 독립 도로와 상기 생성된 하나 이상의 종속 도로를 연결하여 상기 제1 로드 네트워크를 생성하되, 하나의 독립 도로와 하나의 종속 도로를 교차하여 연결하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 제2 로드 네트워크를 생성하는 단계는, 상기 복수의 제1 차선 및 상기 복수의 제2 차선 각각을 그래프화하여 상기 복수의 제1 차선 각각의 상대적 위치를 나타내는 제1 차선 그래프와 상기 복수의 제2 차선 각각의 상대적 위치를 나타내는 제2 차선 그래프를 생성하되, 상기 생성된 제1 차선 그래프 및 상기 생성된 제2 차선 그래프는 상기 복수의 제1 차선 및 상기 복수의 제2 차선 각각의 속성 정보를 포함하는 것인, 단계 및 상기 생성된 제1 차선 그래프와 상기 생성된 제2 차선 그래프를 연결하여 상기 제2 로드 네트워크를 생성하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 격자 로드 네트워크 데이터를 생성하는 단계는, 상기 생성된 로드 네트워크 데이터를 이용하여 하나 이상의 격자 도로를 생성하는 단계, 상기 생성된 하나 이상의 격자 도로 간의 연결정보를 생성하는 단계 및 상기 생성된 연결정보에 따라 상기 생성된 하나 이상의 격자 도로를 연결하는 격자 도로 네트워크를 생성하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 하나 이상의 격자 도로를 생성하는 단계는, 상기 생성된 로드 네트워크 데이터에 기초하여, 상기 소정의 지역 내에 위치하는 복수의 차로 중 기 설정된 조건을 만족하는 하나 이상의 차로를 그룹화하여 하나 이상의 격자 도로를 생성하되, 상기 기 설정된 조건은 동일한 속성을 가지며, 물리적 및 법적으로 이동이 가능한 것인, 단계를 포함할 수 있다.
다양한 실시예에서, 상기 하나 이상의 격자 도로를 생성하는 단계는, 상기 생성된 하나 이상의 격자 도로 상에 복수의 포인트를 격자 형태로 설정하는 단계 및 상기 설정된 복수의 포인트 각각에, 상기 설정된 복수의 포인트 각각이 위치하는 격자 도로에 대한 기하학적 정보(Geometric Information)와 의미 정보(Semantic Information)를 매칭하여 저장하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 연결정보를 생성하는 단계는, 상기 생성된 하나 이상의 격자 도로 간의 교차 여부를 판단하고, 상기 판단된 교차 여부에 기초하여 상기 생성된 하나 이상의 격자 도로 간의 연결관계를 나타내는 연결정보를 생성하되, 상기 생성된 연결정보의 형태는, 상기 생성된 하나 이상의 격자 도로 간의 교차 구간의 길이에 기초하여 결정되는 것인, 단계를 포함할 수 있다.
다양한 실시예에서, 상기 로드 교차 그래프를 생성하는 단계는, 상기 생성된 격자 로드 네트워크 데이터에 기초하여, 제1 격자 도로에 포함된 하나 이상의 차로와 제2 격자 도로에 포함된 하나 이상의 차로 간의 이동 가능 여부를 판단하는 단계 및 상기 판단된 이동 가능 여부에 기초하여, 상기 제1 격자 도로에 포함된 하나 이상의 차로와 상기 제2 격자 도로에 포함된 하나 이상의 차로를 연결하는 상기 로드 교차 그래프를 생성하는 단계를 포함할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성서버는, 프로세서, 네트워크 인터페이스, 메모리 및 상기 메모리에 로드(load)되고, 상기 프로세서에 의해 실행되는 컴퓨터 프로그램을 포함하되, 상기 컴퓨터 프로그램은, 소정의 지역에 대한 로드 네트워크 데이터를 생성하는 인스트럭션(instruction), 상기 생성된 로드 네트워크 데이터를 이용하여 자율주행 차량의 단기 주행 계획을 위한 격자 로드 네트워크 데이터를 생성하는 인스트럭션 및 상기 생성된 격자 로드 네트워크 데이터를 이용하여 상기 자율주행 차량의 장기 주행 계획을 위한 로드 교차 그래프를 생성하는 인스트럭션을 포함할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 컴퓨터로 읽을 수 있는 기록매체에 기록된 컴퓨터프로그램은, 컴퓨팅 장치와 결합되어, 소정의 지역에 대한 로드 네트워크 데이터를 생성하는 단계, 상기 생성된 로드 네트워크 데이터를 이용하여 자율주행 차량의 단기 주행 계획을 위한 격자 로드 네트워크 데이터를 생성하는 단계 및 상기 생성된 격자 로드 네트워크 데이터를 이용하여 상기 자율주행 차량의 장기 주행 계획을 위한 로드 교차 그래프를 생성하는 단계를 실행시키기 위하여 컴퓨터로 판독가능한 기록매체에 저장될 수 있다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 다양한 실시예에 따르면, 소정의 지역내에 위치하는 도로에 대한 각종 정보를 수집하여 로드 네트워크 데이터를 생성하고, 이를 이용하여 격자 로드 네트워크 데이터 및 로드 교차 그래프를 자동 생성함으로써, 로드 네트워크 맵을 구축할 수 있고, 이를 이용하여 자율주행 차량에 대한 보다 정확한 단기 주행 계획과 장기 주행 계획의 생성이 가능하다는 이점이 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성시스템을 도시한 도면이다.
도 2는 본 발명의 다른 실시예에 따른 자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성서버의 하드웨어 구성도이다.
도 3은 본 발명의 또 다른 실시예에 따른 자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성방법의 순서도이다.
도 4는 다양한 실시예에서, 로드 네트워크 데이터를 생성하는 방법의 순서도이다.
도 5는 다양한 실시예에서, 로드 네트워크 데이터를 생성하는 방법에 따라 생성된 로드 네트워크의 형태를 예시적으로 도시한 도면이다.
도 6은 다양한 실시예에 적용 가능한 도로 그래프를 예시적으로 도시한 도면이다.
도 7 및 8은 다양한 실시예에 적용 가능한 차선 그래프를 예시적으로 도시한 도면이다.
도 9는 다양한 실시예에서, 제1 도로 그래프와 제2 도로 그래프 및 제1 차선 그래프와 제2 차선 그래프를 연결하는 형태를 예시적으로 도시한 도면이다.
도 10은 다양한 실시예에서, 독립 도로와 종속 도로를 연결하는 과정을 도시한 도면이다.
도 11은 다양한 실시예에서, 도로 그래프 상에서 도로의 바깥 영역에 주행 계획이 설정되는 형태를 예시적으로 도시한 도면이다.
도 12는 다양한 실시예에서, 격자 로드 네트워크 데이터를 생성하는 방법의 순서도이다.
도 13은 다양한 실시예에서, 격자 로드 네트워크 데이터를 생성하는 방법에 따라 생성된 격자 로드 네트워크의 형태를 예시적으로 도시한 도면이다.
도 14는 다양한 실시예에서, 하나 이상의 격자 로드 상에 복수의 포인트를 설정하는 과정을 도시한 도면이다.
도 15는 다양한 실시예에서, 격자 로드 네트워크 데이터를 이용하여 로드 교차 그래프를 생성하는 과정을 도시한 도면이다.
도 16은 다양한 실시예에서, 격자 로드 네트워크 데이터 및 로드 교차 그래프를 이용하여 자율주행 차량의 주행 계획을 생성하는 과정을 도시한 도면이다.
도 2는 본 발명의 다른 실시예에 따른 자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성서버의 하드웨어 구성도이다.
도 3은 본 발명의 또 다른 실시예에 따른 자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성방법의 순서도이다.
도 4는 다양한 실시예에서, 로드 네트워크 데이터를 생성하는 방법의 순서도이다.
도 5는 다양한 실시예에서, 로드 네트워크 데이터를 생성하는 방법에 따라 생성된 로드 네트워크의 형태를 예시적으로 도시한 도면이다.
도 6은 다양한 실시예에 적용 가능한 도로 그래프를 예시적으로 도시한 도면이다.
도 7 및 8은 다양한 실시예에 적용 가능한 차선 그래프를 예시적으로 도시한 도면이다.
도 9는 다양한 실시예에서, 제1 도로 그래프와 제2 도로 그래프 및 제1 차선 그래프와 제2 차선 그래프를 연결하는 형태를 예시적으로 도시한 도면이다.
도 10은 다양한 실시예에서, 독립 도로와 종속 도로를 연결하는 과정을 도시한 도면이다.
도 11은 다양한 실시예에서, 도로 그래프 상에서 도로의 바깥 영역에 주행 계획이 설정되는 형태를 예시적으로 도시한 도면이다.
도 12는 다양한 실시예에서, 격자 로드 네트워크 데이터를 생성하는 방법의 순서도이다.
도 13은 다양한 실시예에서, 격자 로드 네트워크 데이터를 생성하는 방법에 따라 생성된 격자 로드 네트워크의 형태를 예시적으로 도시한 도면이다.
도 14는 다양한 실시예에서, 하나 이상의 격자 로드 상에 복수의 포인트를 설정하는 과정을 도시한 도면이다.
도 15는 다양한 실시예에서, 격자 로드 네트워크 데이터를 이용하여 로드 교차 그래프를 생성하는 과정을 도시한 도면이다.
도 16은 다양한 실시예에서, 격자 로드 네트워크 데이터 및 로드 교차 그래프를 이용하여 자율주행 차량의 주행 계획을 생성하는 과정을 도시한 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
명세서에서 사용되는 "부" 또는 “모듈”이라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부" 또는 “모듈”은 어떤 역할들을 수행한다. 그렇지만 "부" 또는 “모듈”은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부" 또는 “모듈”은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부" 또는 “모듈”은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부" 또는 “모듈”들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부" 또는 “모듈”들로 결합되거나 추가적인 구성요소들과 "부" 또는 “모듈”들로 더 분리될 수 있다.
공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성요소와 다른 구성요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작시 구성요소들의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들어, 도면에 도시되어 있는 구성요소를 뒤집을 경우, 다른 구성요소의 "아래(below)"또는 "아래(beneath)"로 기술된 구성요소는 다른 구성요소의 "위(above)"에 놓여질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성요소는 다른 방향으로도 배향될 수 있으며, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.
본 명세서에서, 컴퓨터는 적어도 하나의 프로세서를 포함하는 모든 종류의 하드웨어 장치를 의미하는 것이고, 실시 예에 따라 해당 하드웨어 장치에서 동작하는 소프트웨어적 구성도 포괄하는 의미로서 이해될 수 있다. 예를 들어, 컴퓨터는 스마트폰, 태블릿 PC, 데스크톱, 노트북 및 각 장치에서 구동되는 사용자 클라이언트 및 애플리케이션을 모두 포함하는 의미로서 이해될 수 있으며, 또한 이에 제한되는 것은 아니다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
본 명세서에서 설명되는 각 단계들은 컴퓨터에 의하여 수행되는 것으로 설명되나, 각 단계의 주체는 이에 제한되는 것은 아니며, 실시 예에 따라 각 단계들의 적어도 일부가 서로 다른 장치에서 수행될 수도 있다.
여기서, 본 명세서에서는 자율주행 차량을 대상으로 하여, 자율주행 차량의 단기 및 장기 주행 계획을 설계하기 위한 사전 데이터로서 로드 네트워크 맵을 생성하는 방법에 대해 설명하고 있으나, 이에 한정되지 않고, 반자율주행 차량이나, 자율주행 기능을 사용하지 않는 일반 차량을 대상으로 적용이 가능하다.
도 1은 본 발명의 일 실시예에 따른 자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성시스템을 도시한 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성시스템은 로드 네트워크 맵 생성서버(100), 사용자 단말(200) 및 외부 서버(300)를 포함할 수 있다.
여기서, 도 1에 도시된 자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성시스템은 일 실시예에 따른 것이고, 그 구성 요소가 도 1에 도시된 실시예에 한정되는 것은 아니며, 필요에 따라 부가, 변경 또는 삭제될 수 있다.
일 실시예에서, 로드 네트워크 맵 생성서버(100)는 자율주행 차량(10)의 주행 계획을 위한 로드 네트워크 맵을 생성할 수 있다. 예를 들어, 로드 네트워크 맵 생성서버(100)는 소정의 지역에 위치하는 도로에 대한 모든 정보(예: 도로 구조에 대한 정보 등)를 수집하여 로드 네트워크 데이터를 생성할 수 있고, 생성된 로드 네트워크 데이터를 이용하여 자율주행 차량(10)의 단기 주행 계획을 위한 격자 로드 네트워크 데이터를 생성할 수 있으며, 생성된 격자 로드 네트워크 데이터를 이용하여 자율주행 차량(10)의 장기 주행 계획을 위한 로드 교차 그래프를 생성할 수 있다.
다양한 실시예에서, 로드 네트워크 맵 생성서버(100)는 네트워크(400)를 통해 사용자 단말(200) 또는 소정의 지역을 통행하는 차량(예: 자율주행 차량(10))과 연결될 수 있으며, 사용자 단말(200) 또는 차량으로부터 소정의 지역에 대한 센서 데이터를 수집할 수 있고, 수집한 센서 데이터를 이용하여 소정의 지역에 대한 로드 네트워크 데이터를 생성할 수 있다.
또한, 로드 네트워크 맵 생성서버(100)는 네트워크(400)를 통해 외부 서버(300)(예: 국토교통부 서버)와 연결될 수 있고, 외부 서버(300)를 통해 소정의 지역에 위치하는 도로에 대한 각종 정보를 수집하여 로드 네트워크 데이터를 생성할 수 있다.
또한, 로드 네트워크 맵 생성서버(100)는 소정의 지역에 대한 로드 네트워크 데이터가 생성되는 것에 응답하여 자동으로 격자 로드 네트워크 데이터를 생성할 수 있으며, 격자 로드 네트워크 데이터가 생성되는 것에 응답하여 다시 자동으로 로드 교차 그래프를 생성할 수 있다. 그러나, 이에 한정되지 않는다.
여기서, 사용자 단말(200)은 휴대성과 이동성이 보장되는 무선 통신 장치로서, 네비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(Smartphone), 스마트 패드(Smartpad), 타블렛PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있으나, 이에 한정되지 않는다.
또한, 여기서, 네트워크(400)는 복수의 단말 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미할 수 있다. 예를 들어, 네트워크(400)는 근거리 통신망(LAN: Local Area Network), 광역 통신망(WAN: Wide Area Network), 인터넷(WWW: World Wide Web), 유무선 데이터 통신망, 전화망, 유무선 텔레비전 통신망 등을 포함한다.
또한, 여기서, 무선 데이터 통신망은 3G, 4G, 5G, 3GPP(3rd Generation Partnership Project), 5GPP(5th Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), RF(Radio Frequency), 블루투스(Bluetooth) 네트워크, NFC(Near-Field Communication) 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등이 포함되나 이에 한정되지는 않는다.
다양한 실시예에서, 로드 네트워크 맵 생성서버(100)는 격자 로드 네트워크 데이터 및 로드 교차 그래프를 이용하여 자율주행 차량(10)의 제어를 위한 주행 계획을 생성할 수 있다. 여기서, 주행 계획은 자율주행 차량(10)의 현재 위치부터 목적지까지의 주행 경로를 생성하고, 이에 따라 자율주행 차량(10)이 이동하도록 제어하는 계획뿐만 아니라, 주행할 차로, 차로 변경 위치, 속도 또는 가속도 제어, 조향각 제어 등 다양한 제어를 위한 계획을 의미할 수 있다.
일 실시예에서, 외부 서버(300)는 네트워크(400)를 통해 로드 네트워크 맵 생성서버(100)와 연결될 수 있으며, 로드 네트워크 맵 생성서버(100)가 자율주행 차량(10)의 주행 계획을 위한 로드 네트워크 맵 생성 프로세스를 수행하기 위하여 필요한 각종 정보(예: 로드 네트워크 맵 생성 룰)를 제공하거나, 자율주행 차량(10)의 주행 계획을 위한 로드 네트워크 맵 생성 프로세스를 수행함에 따라 생성되는 데이터(예: 로드 네트워크 데이터, 격자 로드 네트워크 데이터 및 로드 교차 그래프 등)를 제공받아 저장할 수 있다. 예를 들어, 외부 서버(300)는 로드 네트워크 맵 생성서버(100)의 외부에 별도로 구비되는 저장 서버일 수 있으나, 이에 한정되지 않는다. 이하, 도 2를 참조하여, 자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성 프로세스를 수행하는 로드 네트워크 맵 생성서버(100)의 하드웨어 구성에 대해 설명하도록 한다.
도 2는 본 발명의 다른 실시예에 따른 자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성서버의 하드웨어 구성도이다.
도 2를 참조하면, 본 발명의 다른 실시예에 따른 로드 네트워크 맵 생성서버(100)(이하, “서버(100)”)는 하나 이상의 프로세서(110), 프로세서(110)에 의하여 수행되는 컴퓨터 프로그램(151)을 로드(Load)하는 메모리(120), 버스(130), 통신 인터페이스(140) 및 컴퓨터 프로그램(151)을 저장하는 스토리지(150)를 포함할 수 있다. 여기서, 도 2에는 본 발명의 실시예와 관련 있는 구성요소들만 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 2에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.
프로세서(110)는 서버(100)의 각 구성의 전반적인 동작을 제어한다. 프로세서(110)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 포함하여 구성될 수 있다.
또한, 프로세서(110)는 본 발명의 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있으며, 서버(100)는 하나 이상의 프로세서를 구비할 수 있다.
다양한 실시예에서, 프로세서(110)는 프로세서(110) 내부에서 처리되는 신호(또는, 데이터)를 일시적 및/또는 영구적으로 저장하는 램(RAM: Random Access Memory, 미도시) 및 롬(ROM: Read-Only Memory, 미도시)을 더 포함할 수 있다. 또한, 프로세서(110)는 그래픽 처리부, 램 및 롬 중 적어도 하나를 포함하는 시스템온칩(SoC: system on chip) 형태로 구현될 수 있다.
메모리(120)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(120)는 본 발명의 다양한 실시예에 따른 방법/동작을 실행하기 위하여 스토리지(150)로부터 컴퓨터 프로그램(151)을 로드할 수 있다. 메모리(120)에 컴퓨터 프로그램(151)이 로드되면, 프로세서(110)는 컴퓨터 프로그램(151)을 구성하는 하나 이상의 인스트럭션들을 실행함으로써 상기 방법/동작을 수행할 수 있다. 메모리(120)는 RAM과 같은 휘발성 메모리로 구현될 수 있을 것이나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다.
버스(130)는 서버(100)의 구성 요소 간 통신 기능을 제공한다. 버스(130)는 주소 버스(address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.
통신 인터페이스(140)는 서버(100)의 유무선 인터넷 통신을 지원한다. 또한, 통신 인터페이스(140)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(140)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다. 몇몇 실시예에서, 통신 인터페이스(140)는 생략될 수도 있다.
스토리지(150)는 컴퓨터 프로그램(151)을 비 임시적으로 저장할 수 있다. 서버(100)를 통해 자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성 프로세스를 수행하는 경우, 스토리지(150)는 자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성 프로세스를 제공하기 위하여 필요한 각종 정보를 저장할 수 있다.
스토리지(150)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
컴퓨터 프로그램(151)은 메모리(120)에 로드될 때 프로세서(110)로 하여금 본 발명의 다양한 실시예에 따른 방법/동작을 수행하도록 하는 하나 이상의 인스트럭션들을 포함할 수 있다. 즉, 프로세서(110)는 상기 하나 이상의 인스트럭션들을 실행함으로써, 본 발명의 다양한 실시예에 따른 상기 방법/동작을 수행할 수 있다.
일 실시예에서, 컴퓨터 프로그램(151)은 소정의 지역에 대한 로드 네트워크 데이터를 생성하는 단계, 생성된 로드 네트워크 데이터를 이용하여 자율주행 차량의 단기 주행 계획을 위한 격자 로드 네트워크 데이터를 생성하는 단계 및 생성된 격자 로드 네트워크 데이터를 이용하여 자율주행 차량의 장기 주행 계획을 위한 로드 교차 그래프를 생성하는 단계를 포함하는 자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성방법을 수행하도록 하는 하나 이상의 인스트럭션을 포함할 수 있다.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.
본 발명의 구성 요소들은 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 애플리케이션)으로 구현되어 매체에 저장될 수 있다. 본 발명의 구성 요소들은 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있으며, 이와 유사하게, 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 이하, 도 3 내지 16을 참조하여, 서버(100)가 수행하는 자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성방법에 대해 설명하도록 한다.
도 3은 본 발명의 또 다른 실시예에 따른 자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성방법의 순서도이다.
도 3을 참조하면, S110 단계에서, 서버(100)는 소정의 지역에 대한 로드 네트워크 데이터를 생성할 수 있다. 예를 들어, 서버(100)는 네트워크(400)를 통해 사용자 단말(200) 또는 소정의 지역을 통행하는 차량(예: 자율주행 차량(10))과 연결될 수 있으며, 사용자 단말(200) 또는 차량으로부터 소정의 지역에 대한 센서 데이터를 수집할 수 있고, 수집한 센서 데이터를 이용하여 소정의 지역에 대한 로드 네트워크 데이터를 생성할 수 있다.
여기서, 센서 데이터는, 소정의 지역에 위치하는 도로의 구조와 관련된 모든 정보를 의미할 수 있으며, 카메라 센서를 통해 소정의 지역을 촬영함으로써 생성되는 영상 데이터, 라이라 센서를 통해 수집되는 라이다 센서 데이터, 레이더 센서를 통해 수집되는 레이더 센서 데이터, GPS 센서를 통해 수집되는 위치 데이터를 포함할 수 있다.
또한, 로드 네트워크 맵 생성서버(100)는 네트워크(400)를 통해 외부 서버(300)(예: 국토교통부 서버)와 연결될 수 있고, 외부 서버(300)를 통해 소정의 지역에 위치하는 도로에 대한 각종 정보를 수집하여 로드 네트워크 데이터를 생성할 수 있다.
여기서, 로드 네트워크 데이터는 자율주행 차량의 주행 계획을 생성하기 위하여 이용하는 데이터로서, 도로 구조에 대한 필수적인 정보를 포함하고 있는 데이터를 의미할 수 있다.
다양한 실시예에서, 로드 네트워크 데이터는 후술되는 S120 단계 및 S130 단계를 거쳐 격자 로드 네트워크 데이터 및 로드 교차 그래프를 자동 생성하기 위한 정보(예: 도로 구조, 형상, 방향, 기하학적 정보(Geometric Information) 및 속성 정보(Semantic Information) 등)를 포함할 수 있으며, 사용자가 직접 편집하기 용이한 형태의 구조로 저장될 수 있다.
다양한 실시예에서, 서버(100)는 소정의 지역에 위치하는 제1 도로 및 제1 도로와 연결되는 제2 도로 간의 연결관계, 제1 도로 및 제2 도로에 포함된 차선 간의 연결관계를 나타내는 로드 네트워크(예: 도 5)를 생성할 수 있다. 이하, 도 4 내지 11을 참조하여 설명하도록 한다.
도 4는 다양한 실시예에서, 로드 네트워크 데이터를 생성하는 방법의 순서도이다.
도 4를 참조하면, S210 단계에서, 서버(100)는 소정의 지역에 위치하는 제1 도로 및 제1 도로와 연결된 제2 도로 간의 연결관계를 나타내는 제1 로드 네트워크를 생성할 수 있다.
먼저, 서버(100)는 제1 도로 및 상기 제2 도로 각각을 그래프화하여 제1 도로 그래프 및 제2 도로 그래프를 생성할 수 있다. 예를 들어, 서버(100)는 도 6에 도시된 바와 같이, 제1 그래프 생성 모델을 이용하여 제1 도로 및 제2 도로 각각을 그래프화함으로써, 제1 도로 그래프 및 제2 도로 그래프를 생성할 수 있다.
여기서, 제1 그래프 생성 모델은 부분 다항식을 이용하여 도로에 대한 N차 다항식 함수를 추정하고, 이를 S-D 도메인의 그래프로 그래프화 하는 SCP(Spline Curvature Path) 모델일 수 있다. 예를 들어, 서버(100)는 그래프화 하고자하는 제1 도로 및 제2 도로의 형상 정보에 기초하여, 제1 도로 및 제2 도로 각각에 대한 N차 다항식 함수를 추정하고, 추정된 N차 다항식 함수에 각종 데이터값(예: 제1 도로 및 제2 도로의 시작 및 종료 지점에 대한 좌표값(X, Y) 및 경계 조건(Boundary condition)과 제1 도로 및 제2 도로의 곡률에 대한 연속성 조건 등)을 대입하여 N차 다항식 함수를 확정함으로써, 제1 도로 및 제2 도로 각각에 대한 제1 도로 그래프, 제2 도로 그래프를 생성할 수 있다. 그러나, 이에 한정되지 않고, 제1 도로 및 제2 도로를 그래프화하는 다양한 방법이 적용될 수 있다.
여기서, 제1 도로 그래프와 제2 도로 그래프는 제1 도로 및 제2 도로 각각에 대한 기하학적 정보를 포함할 수 있다. 예를 들어, 제1 도로 그래프 및 제2 도로 그래프는 제1 도로 및 제2 도로 각각에 대한 형상 정보를 포함할 수 있다. 일례로, 제1 도로 그래프 및 제2 도로 그래프는 SCP 모델을 통해, 도로의 형상 정보를 나타내는 다항식 함수를 추정하고, 추정된 다항식 함수에 의해 그래프화된 것인 바, 대표적인 선 하나로 도로의 형상 정보를 표현할 수 있다. 또한, 제1 도로 그래프와 제2 도로 그래프는 제1 도로 및 제2 도로 각각의 방향성 정보를 포함할 수 있다.
또한, 제1 도로 그래프와 제2 도로 그래프는 제1 도로 및 제2 도로 각각에 대한 속성 정보를 포함할 수 있다. 예를 들어, 제1 도로 그래프와 제2 도로 그래프는 제1 도로 및 제2 도로 각각의 명시성(Explicitness)(예: 명시적 도로(explicit road): 노면 표식이 명시적으로 표시된 도로, 비명시적 도로(implicit road): 유턴 구간 혹은 교차로 등과 같이 노면 표식이 명시적으로 표시되지 않은 도로), 보호구역(Protection Area) 여부(예: 장애인 보호구연, 어린이 보호구역 및 노약자 보호구역 등)에 대한 정보를 포함할 수 있다.
이후, 서버(100)는 제1 도로 그래프와 제2 도로 그래프를 연결함으로써, 제1 로드 네트워크를 생성할 수 있다. 여기서, 제1 로드 네트워크는 제1 도로 그래프와 제2 도로 그래프를 직접 연결하는 형태로 표현될 수 있으나, 이에 한정되지 않고, 도 5에 도시된 바와 같이 제1 도로를 가리키는 인디케이터(Indicator)와 제2 도로를 가리키는 인디케이터를 연결하는 형태로 표현됨으로써, 사용자가 로드 네트워크를 직접 수정 및 편집하기 용이한 형태로 구현될 수 있다.
다양한 실시예에서, 서버(100)는 제1 도로 및 제2 도로 각각을 기 설정된 기준에 따라 분할하여 하나 이상의 독립 도로(Independent Road) 및 하나 이상의 종속 도로(Dependent Road)를 생성할 수 있고, 하나 이상의 독립 도로와 하나 이상의 종속 도로를 연결하여 제1 로드 네트워크를 생성하되, 하나의 독립 도로와 하나의 종속 도로를 교차하여 연결할 수 있다.
예를 들어, 서버(100)는 도 10에 도시된 바와 같이, 제1 도로 및 제2 도로 각각을 기 설정된 기준(예: 다른 도로로의 이동 가능 여부)에 따라 분할함으로써, 복수의 단위 도로를 생성할 수 있고, 복수의 단위 도로 각각의 속성에 따라 독립 도로 또는 종속 도로로 구분할 수 있다.
여기서, 독립 도로는 서로 다른 방향에 위치하는 둘 이상의 단위 도로로부터 선택되어 연결되거나, 서로 다른 방향에 위치하는 둘 이상의 단위 도로를 선택하여 연결이 가능한 단위 도로를 의미할 수 있고, 종속 도로는 하나의 단위 도로로부터 선택되어 연결되거나, 하나의 단위 도로만을 선택하여 연결이 가능한 단위 도로를 의미할 수 있다.
이때, 서버(100)는 제1 도로 및 제2 도로 각각을 분할하여 복수의 단위 도로를 생성하고, 복수의 단위 도로 각각의 속성에 따라 독립 도로 또는 종속 도로로 구분하되, 연속된 둘 이상의 단위 도로가 독립 도로로 구분되거나, 연속된 둘 이상의 단위 도로가 종속 도로로 구분되는 경우, 하나의 독립 도로와 하나의 종속 도로가 교차 배치될 수 있도록 연속된 둘 이상의 단위 도로를 하나의 단위 도로로 통합할 수 있다.
이후, 서버(100)는 상기의 방법에 따라 생성된 복수의 독립 도로와 복수의 종속 도로 각각을 연결하되, 하나의 독립 도로와 하나의 종속 도로가 번갈아 가며 연결할 수 있다. 예를 들어, 서버(100)는 복수의 단위 도로 중 독립 도로로 구분된 단위 도로들을 먼저 배치한 후, 배치된 독립 도로들 사이마다 종속 도로를 배치함으로써, 하나의 독립 도로와 하나의 종속 도로가 번갈아 가며 연결되도록 할 수 있다.
일례로, 서버(100)는 사용자 단말(200)로 로드 네트워크 데이터의 생성을 위한 사용자 인터페이스(User interface, UI)(예: GUI)를 제공할 수 있고, UI를 통해 사용자로부터 얻은 제1 사용자 입력에 따라 먼저 독립 도로들을 배치할 수 있다. 이후, 서버(100)는 UI를 통해 사용자로부터 얻은 제2 사용자 입력에 따라 독립 도로들 사이 사이마다 종속 도로를 배치하되, 종속 도로를 배치함과 동시에 독립 도로와 종속 도로를 자동으로 연결함으로써, 하나의 독립 도로와 하나의 종속 도로가 번갈아 가며 연결되도록 할 수 있다.
추후, 서버(100)는 UI를 통해 사용자로부터 특정 독립 도로의 편집을 위한 사용자 입력을 얻는 경우, 사용자 입력에 따라 특정 독립 도로를 편집할 수 있고, 특정 독립 도로를 편집함에 따라 특정 독립 도로와 연결된 종속 도로 역시 자동으로 편집(종속 도로 양쪽에 연결되는 독립 도로들의 위치에 맞춰 자동으로 편집)되도록 할 수 있다.
상기와 같이 도로를 복수의 단위 도로로 분할 및 연결하지 않을 경우, 사용자가 직접 로드 네트워크를 편집하는 과정에서 도로와 도로 간의 연결관계가 수정될 때마다 전파(Propagation)되어 전체의 로드 네트워크 지속적으로 변경되기 때문에, 로드 네트워크의 관리 및 유지 보수가 어렵다는 문제가 있다.
이를 고려하여, 본 발명의 다양한 실시예에 따른 자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성방법은, 단순히 제1 도로와 제2 도로 전체를 연결하지 않고, 제1 도로와 제2 도로를 세분화하여 연결함으로써, 로드 네트워크에 대한 유지 관리와 편집 처리를 용이하게 할 수 있다.
S220 단계에서, 서버(100)는 제1 로드 네트워크를 이용하여 제1 도로에 포함된 복수의 제1 차선과 제2 도로에 포함된 복수의 제2 차선 간의 연결관계를 나타내는 제2 로드 네트워크를 생성할 수 있다.
먼저, 서버(100)는 복수의 제1 차선 및 복수의 제2 차선 각각을 그래프화하여 복수의 제1 차선 각각의 상대적 위치를 나타내는 제1 차선 그래프와 복수의 제2 차선 각각의 상대적 위치를 나타내는 제2 차선 그래프를 생성할 수 있다. 예를 들어, 서버(100)는 도 7에 도시된 바와 같이, 제2 그래프 생성 모델을 이용하여, 복수의 제1 차선 및 복수의 제2 차선 각각에 대한 제1 차선 그래프 및 제2 차선 그래프를 생성할 수 있다.
여기서, 제2 그래프 생성 모델은 S-D 도메인으로 그래프화된 제1 도로 그래프 및 제2 도로 그래프를 이용하여, 복수의 제1 차선 및 복수의 제2 차선 각각의 상대적 위치를 나타내는 S-L 도메인의 그래프로 그래프화하는 SP(Spline Path) 모델일 수 있다. 예를 들어, 서버(100)는 복수의 제1 차선 중 기준 제1 차선을 선택하고, 선택한 기준 제1 차선의 시작점(SSTART)에서부터 끝점(SFINISH)까지를 연결하는 직선 그래프(L=+0.5)를 생성할 수 있다. 이후, 서버(100)는 기준 제1 차선을 기준으로 나머지 제1 차선들에 대한 직선 그래프를 생성하되, 기준 제1 차선과의 상대적인 위치를 고려하여 직선 그래프를 생성(예: 기준 제1 차선 위에 위치하는 제1 차선은 L=+1.5, 기준 제1 차선 바로 아래에 위치하는 제1 차선은 L=-0.5)할 수 있다. 이를 통해, 제1 차선 그래프 및 제2 차선 그래프 각각은 복수의 제1 차선 및 복수의 제2 차선 각각의 상대적 위치에 대한 기하학적 정보를 포함할 수 있다.
또한, 제1 차선 그래프와 제2 차선 그래프는 복수의 제1 차선 및 복수의 제2 차선 각각에 대한 속성 정보를 포함할 수 있다. 예를 들어, 제1 차선 그래프와 제2 차선 그래프는 복수의 제1 차선 및 복수의 제2 차선 각각에 대한 타입(Type) 정보(예: 실선, 점선, 복선(이중 실선, 실선과 점선 또는 점선과 실선))와 색상 정보(예: 백색, 황색, 청색)에 대한 정보를 포함할 수 있다.
이후, 서버(100)는 제1 차선 그래프와 제2 차선 그래프를 연결함으로써, 제2 로드 네트워크를 생성할 수 있다. 예를 들어, 서버(100)는 제1 차선 그래프에 대한 특징점과 제2 차선 그래프에 대한 특징점(예: 중심점)을 연결할뿐만 아니라, 복수의 제1 차선과 복수의 제2 차선이 교차하는 지점에 위치하는 모든 지점을 부드러운 곡선 형태로 연결할 수 있다.
예를 들어, 도 9에 도시된 바와 같이, 복수의 제1 차선을 포함하는 제1 도로(20)와 복수의 제2 차선을 포함하는 제2 도로(30)가 연결되는 경우(예: 도 9(A)), 복수의 제1 차선과 복수의 제2 차선이 교차하는 모든 지점을 부드러운 곡선(예: 직선)으로 연결할 수 있다. 즉, 복수의 제1 차선 및 복수의 제1 차선 각각과 매칭되어 연결되는 복수의 제2 차선의 위치가 서로 상이하더라도, 상대적 위치가 동일할 경우, S-L 좌표 상의 동일한 위치에 배치되도록 하여 도 9에 도시된 바와 같이 제1 차선 그래프 및 제2 차선 그래프가 직선으로 연결되도록 함으로써, 하나의 S-L 도메인의 직선 그래프를 생성할 수 있다(예: 도 9(B)).
이때, 도 9(A)에 도시된 바와 같이, 제1 도로(20)의 경우, 다른 도로(제2 도로(30))로의 이동 없이 제1 도로(20)를 계속 주행하는 경로와 제1 도로(20)에서 제2 도로(30)로 이동하는 주행 경로 즉 2개의 주행 경로를 생성할 수 있는 바, 제1 도로(20)와 제2 도로(30)의 교차지점을 기준으로 제1 도로(20)를 두개의 단위 도로(20-1, 20-2)로 분할할 수 있고, 도 9(B)에 도시된 바와 같이 각각의 주행 경로를 고려하여 2개의 제2 로드 네트워크를 생성할 수 있다
여기서, 제1 도로와 제2 도로 각각에 포함된 하나 이상의 차로는 도 8에 도시된 바와 같이 상호 인접한 2개의 차선 그래프의 보간으로 표현될 수 있다. 즉, 서버(100)는 제1 도로와 제2 도로 각각에 포함된 차로를 연결하는 로드 네트워크를 별도로 생성하지 않고, 제1 차선 그래프와 제2 차선 그래프를 연결함에 따라 생성되는 제2 로드 네트워크 상에 제1 도로와 제2 도로 각각에 포함된 하나 이상의 차로 간의 연결상태를 표현할 수 있다.
여기서, 하나 이상의 차로는 상호 인접한 2개의 차선 그래프의 보간으로 표현되고, 상호 인접한 2개의 차선 간의 간격은 실제 거리와 관계없이 상대적인 위치에 따라 설정(예: 1)되는 바, 실제 차로의 폭에 대한 정보를 포함하고 있지 않는다.
여기서, 제2 로드 네트워크 상에 포함된 제1 도로 및 제2 도로 각각에 위치하는 차로는 차로에 대한 속성 정보를 포함할 수 있다. 예를 들어, 제1 도로 및 제2 도로 각각에 위치하는 차로는 방향 지시 정보(예: 직진, 없음, 좌회전, 우회전, 직진우회전, 직진좌회전, 직진금지, 유턴 등), 타입 정보(예: 일반차로, 버스전용차로(all-day, peak-hour) 등) 및 속도 정보(예: 규정속도, 최저 규정 속도, 최대 규정 속도, 표준 주행 경로 등)를 포함할 수 있다. 이때, 제1 도로 및 제2 도로 각각에 포함된 차로들 각각은 둘 이상의 속성 정보를 포함할 수 있다.
한편, 자율주행 차량(10)의 주행 계획을 생성함에 있어서, 긴급한 상황이 발생함에 따라 부득이하게 정해진 차로를 벗어난 영역으로 주행해야 하는 경우가 발생할 수 있다(예: 주행계획에 따라 주행 중인 자율주행 차량(10)의 전방에 있는 차량이 급정거함에 따라, 급정거를 피하기 위해 갓길로 회피하거나, 왕복 2차로 구간에서 자율주행 차량(10)이 주행중인 차로에 장애물이 위치하여 부득이하게 반대방향의 차로로 역주행해야 하는 경우 등).
이를 고려하여, 서버(100)는 상기의 방법에 따라 제2 로드 네트워크를 생성하되, 도 11에 도시된 바와 같이, 제1 차선 그래프 및 제2 차선 그래프에서, 최 상단에 위치하는 차선의 윗부분(반대방향 차선으로의 역주행 고려)에 대한 영역과 최 하단에 위치하는 차선의 아래부분(갓길 주행 고려)에 대한 영역을 확장하여 생성함으로써, 상기와 같이 주행 상 변수가 발생함에 따라 지정된 차로를 벗어나는 주행 계획이 가능하도록 할 수 있다.
다시, 도 3을 참조하면, S120 단계에서, 서버(100)는 S110 단계를 거쳐 생성된 로드 네트워크 데이터를 이용하여 격자 로드 네트워크 데이터를 생성할 수 있다. 여기서, 격자 로드 네트워크 데이터는, 자율주행 차량(10)의 단기 주행 계획을 위하여 이용하는 데이터를 의미할 수 있다.
다양한 실시예서, 서버(100)는 로드 네트워크 데이터를 이용하여 소정의 지역에 대한 하나 이상의 격자 도로를 설정하고, 설정된 하나 이상의 격자 도로 간의 연결 관계를 정의할 수 있으며, 이에 따라 격자 도로 네트워크를 생성할 수 있다. 이하, 도 12 내지 14를 참조하여 설명하도록 한다.
도 12는 다양한 실시예에서, 격자 로드 네트워크 데이터를 생성하는 방법의 순서도이다.
도 12을 참조하면, S310 단계에서, 서버(100)는 로드 네트워크 데이터를 이용하여 하나 이상의 격자 도로(예: Lattice Road(LR), 도 13(A)의 LR_A, LR_B, LR_C, LR_D, LR_E, LR_F)를 생성할 수 있다. 예를 들어, 서버(100)는 로드 네트워크 데이터에 기초하여, 소정의 지역 내에 위치하는 복수의 차로 중 기 설정된 조건(예: 동일 속성을 가지며, 물리적 또는 법적으로 이동이 가능)을 만족하는 하나 이상의 차로를 그룹화하여 하나 이상의 격자 도로를 생성할 수 있다.
다양한 실시예에서, 서버(100)는 하나 이상의 격자 도로 상에 복수의 포인트를 격자 형태로 설정할 수 있으며, 설정된 복수의 포인트 각각에 복수의 포인트 각각이 위치하는 격자 도로에 대한 기하학적 정보와 속성 정보를 매칭하여 저장할 수 있다. 예를 들어, 도 14에 도시된 바와 같이, 서버(100)는 하나 이상의 격자 도로 각각에 대한 그래프(S-L 그래프)에 상에서 S축으로 제1 거리(예: 1m)단위, L축으로 제2 거리(예: 0.25m)단위의 격자 형태를 가지도록 복수의 포인트를 설정할 수 있고, 설정된 복수의 포인트마다 각각의 포인트가 위치하는 도로에 대한 기하학적 정보(예: 방향정보, 형상 정보 등)와 속성 정보(예: 명시성, 보호구역 여부 등)를 매칭하여 저장할 수 있다. 여기서, 복수의 포인트가 설정되는 S축으로의 제1 거리와 L축으로의 제2 거리는 하나의 예시일 뿐 이에 한정되지 않고, 소정의 범위 내에서 조정이 가능하다.
또한, 복수의 포인트 중 하나 이상의 격자 도로의 차선 상에 위치하는 하나 이상의 포인트에 대하여, 차선에 대한 기하학적 정보(예: 상대적 위치 정보 등)와 속성 정보(예: 타입, 색상에 대한 정보)를 더 포함할 수 있다.
또한, 복수의 포인트 중 하나 이상의 격자 도로 각각에 포함된 차로 상에 위치하는 하나 이상의 포인트에 대하여, 각각의 차로에 대한 기하학적 정보와 속성 정보(예: 방향 지시 정보, 타입, 속도 정보 등)를 매칭하여 저장할 수 있다.
S320 단계에서, 서버(100)는 하나 이상의 격자 도로 간의 연결정보(Lattice Road Edge(LRE), 도 13(B) 및 도 13(C)의 LRE1, LRE2, LRE3, LRE4, LRE5 및 LRE6)를 생성할 수 있다. 예를 들어, 서버(100)는 하나 이상의 격자 도로 간의 교차 여부를 판단하고, 판단된 교차 여부에 기초하여 생성된 하나 이상의 격자 도로 간의 연결관계를 나타내는 연결정보를 생성할 수 있다.
이때, 서버(100)는 하나 이상의 격자 도로 간의 교차 구간의 길이에 기초하여 연결정보의 형태를 결정할 수 있다. 예를 들어, 서버(100)는 도 13에 도시된 바와 같이, 제1 격자 도로(LR_A)와 제2 격자 도로(LR_B)가 교차되되, 교차 구간의 길이가 0인 경우, 포인트 형태의 연결정보(예: XPoint3, XPoint4, XPoint5, XPoint6)를 생성할 수 있다.
한편, 서버(100)는 도 13에 도시된 바와 같이, 제1 격자 도로(LR_A)와 제3 격자 도로(LR_C)가 교차되되, 소정의 길이를 가지는 교차 구간을 가지는 경우 즉, 교차 구간의 길이가 0이 아닌 경우, 소정의 길이를 가지는 라인 형태의 연결정보(예: XSeg1, XSeg2)를 생성할 수 있다.
S330 단계에서, 서버(100)는 S320 단계를 거쳐 생성된 연결정보에 따라 S310 단계를 거쳐 생성된 하나 이상의 격자 도로를 연결하는 격자 도로 네트워크를 생성할 수 있다(예: 도 13(B) 및 도 13(C)).
즉, 서버(100)는 상기의 방법에 따라 격자 로드 네트워크 데이터를 생성함으로써, 자율주행 차량(10)의 단기 주행 계획(예: 하나의 격자 로드에 포함된 제1 격자에서 제2 격자로 이동하는 주행 경로)을 생성하는데 이용할 수 있다.
다시, 도 3을 참조하면, S130 단계에서, 서버(100)는 S120 단계를 거쳐 생성된 격자 로드 네트워크 데이터를 이용하여 로드 교차 그래프를 생성할 수 있다.
여기서, 로드 교차 그래프는 자율주행 차량(10)의 장기 주행 계획을 위하여 이용하는 데이터를 의미할 수 있다.
다양한 실시예서, 서버(100)는 격자 로드 네트워크 데이터를 이용하여 서로 다른 하나 이상의 격자 로드를 연결하는 로드 교차 그래프를 생성할 수 있다.
먼저, 서버(100)는 격자 로드 네트워크 데이터에 기초하여 제1 격자 도로에 포함된 하나 이상의 차로와 제2 격자 도로에 포함된 하나 이상의 차로 간의 이동 가능 여부를 판단할 수 있다.
예를 들어, 도 15에 도시된 바와 같이, 제2 격자 도로(LR_B)에서 제4 격자 도로(LR_D) 방향으로 점선 형태의 차로 변경 가능 구간이 설정되어 있을 경우 제2 격자 도로(LR_B)에서 제4 격자 도로(LR_D)로 차로 이동이 가능할 수 있으나, 제2 격자 도로(LR_B)의 1차로에서 제4 격자 도로(LR_D)까지의 거리가 멀고, 도로교통법상 차로 변경 시 하나의 차로씩 순차적으로 변경해야 한다는 점을 고려할 때, 제2 격자 도로(LR_B)의 1차로에서 제4 격자 도로(LR_D)로 이동하는 것은 현실적으로 불가능할 수 있다.
만약, 이러한 점을 고려하지 않고, 제2 격자 도로(LR_B)의 1차로와 제4 격자 도로(LR_D)를 이동 가능한 경로로 연결할 경우, 해당 데이터에 따라 생성된 주행 계획에 기초하여 제2 격자 도로(LR_B)의 1차로에서 제4 격자 도로(LR_D)로 차로를 변경하려는 자율주행 차량(10)에 의해 주변의 다른 차량들이 위험한 상황에 노출되거나 불편을 겪을 수 있으며, 도로교통법 제19조(안전거리 확보 등) 제3항("모든 차의 운전자는 차의 진로를 변경하려는 경우에 그 변경하려는 방향으로 오고 있는 다른 차의 정상적인 통행에 장애를 줄 우려가 있을 때에는 진로를 변경하여서는 아니된다")에 따라 범칙금 또는 벌점이 부과될 수 있다.
이러한 점을 고려하여, 서버(100)는 상호 연결된 제1 격자 도로 및 제2 격자 도로 각각에 대하여, 제1 격자 도로 및 제2 격자 도로 각각에 포함된 차로 간의 이동 가능 여부를 판단하고, 판단된 이동 가능 여부에 기초하여 제1 격자 도로에 포함된 하나 이상의 차로와 제2 격자 도로에 포함된 하나 이상의 차로를 연결하는 로드 교차 그래프를 생성할 수 있다.
여기서, 제1 격자 도로로 포함된 하나 이상의 차로와 제2 격자 도로에 포함된 하나 이상의 차로 간의 이동 가능 여부를 판단하는 방법은 제1 격자 도로에 포함된 하나 이상의 차로와 제2 격자 도로에 포함된 하나 이상의 차로 간의 거리, 제1 격자 도로와 제2 격자 도로 간에 설정된 교차 가능 구간의 길이 밑 도로의 속성에 따른 차로별 변경주기(예: 일반도로 30m, 고속도로 100m)에 기초하여 판단되는 것일 수 있으나, 이에 한정되지 않는다.
다양한 실시예에서, 서버(100)는 상기의 방법에 따라 생성된 격자 로드 네트워크 데이터 및 로드 교차 그래프를 이용하여 자율주행 차량(10)에 대한 주행 계획(단기 주행 계획 및 장기 주행 계획)을 생성할 수 있다.
예를 들어, 도 16에 도시된 바와 같이, 서버(100)는 사용자로부터 목적지에 대한 정보를 입력받는 경우, 사용자의 위치 정보(또는 사용자가 탑승하고 있는 자율주행 차량(10)의 위치 정보), 사용자로부터 입력된 목적지에 대한 위치 정보 및 로드 교차 그래프를 이용하여 사용자의 현재 위치부터 목적지까지의 장기 주행 계획을 수립할 수 있다. 예를 들어, 서버(100)는 로드 교차 그래프를 이용하여 사용자의 현재 위치부터 목적지까지 주행하기 위한 하나 이상의 도로를 선택하고, 선택한 하나 이상의 도로를 연결하는 장기 주행 계획을 생성할 수 있다.
이후, 서버(100)는 격자 로드 네트워크 데이터를 이용하여 사용자의 현재 위치부터 목적지까지의 단기 주행 계획을 수립할 수 있다. 예를 들어, 서버(100)는 로드 교차 그래프를 이용하여 선택된 하나 이상의 도로 각각에 대하여 설정된 복수의 격자를 연결함으로써, 로드 교차 그래프를 이용하여 선택된 하나 이상의 도로 상의 단기 주행 계획을 생성할 수 있다.
전술한 자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성방법은 도면에 도시된 순서도를 참조하여 설명하였다. 간단한 설명을 위해 자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성방법은 일련의 블록들로 도시하여 설명하였으나, 본 발명은 상기 블록들의 순서에 한정되지 않고, 몇몇 블록들은 본 명세서에 도시되고 시술된 것과 상이한 순서로 수행되거나 또는 동시에 수행될 수 있다. 또한, 본 명세서 및 도면에 기재되지 않은 새로운 블록이 추가되거나, 일부 블록이 삭제 또는 변경된 상태로 수행될 수 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.
100 : 로드 네트워크 맵 생성서버
200 : 사용자 단말
300 : 외부 서버
400 : 네트워크
200 : 사용자 단말
300 : 외부 서버
400 : 네트워크
Claims (12)
- 컴퓨팅 장치에 의해 수행되는 자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성방법에 있어서,
소정의 지역에 대한 로드 네트워크 데이터를 생성하는 단계;
상기 생성된 로드 네트워크 데이터를 이용하여 자율주행 차량의 단기 주행 계획을 위한 격자 로드 네트워크 데이터를 생성하는 단계; 및
상기 생성된 격자 로드 네트워크 데이터를 이용하여 상기 자율주행 차량의 장기 주행 계획을 위한 로드 교차 그래프를 생성하는 단계를 포함하는,
자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성방법. - 제1항에 있어서,
상기 로드 네트워크 데이터를 생성하는 단계는,
상기 소정의 지역에 위치하는 제1 도로 및 상기 제1 도로와 연결된 제2 도로 간의 연결관계를 나타내는 제1 로드 네트워크를 생성하는 단계; 및
상기 생성된 제1 로드 네트워크를 이용하여 상기 제1 도로에 포함된 복수의 제1 차선과 상기 제2 도로에 포함된 복수의 제2 차선 간의 연결관계를 나타내는 제2 로드 네트워크를 생성하는 단계를 포함하는,
자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성방법. - 제2항에 있어서,
상기 제1 로드 네트워크를 생성하는 단계는,
상기 제1 도로 및 상기 제2 도로 각각을 그래프화하여 제1 도로 그래프 및 제2 도로 그래프를 생성하되, 상기 생성된 제1 도로 그래프 및 상기 생성된 제2 도로 그래프는 상기 제1 도로 및 상기 제2 도로 각각의 형상 정보, 방향 정보 및 속성 정보를 포함하는 것인, 단계; 및
상기 생성된 제1 도로 그래프와 상기 생성된 제2 도로 그래프를 연결하여 상기 제1 로드 네트워크를 생성하는 단계를 포함하는,
자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성방법. - 제2항에 있어서,
상기 제1 로드 네트워크를 생성하는 단계는,
상기 제1 도로 및 상기 제2 도로 각각을 기 설정된 기준에 따라 분할하여 하나 이상의 독립 도로(Independent Road) 및 하나 이상의 종속 도로(Dependent Road)를 생성하는 단계; 및
상기 생성된 하나 이상의 독립 도로와 상기 생성된 하나 이상의 종속 도로를 연결하여 상기 제1 로드 네트워크를 생성하되, 하나의 독립 도로와 하나의 종속 도로를 교차하여 연결하는 단계를 포함하는,
자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성방법. - 제2항에 있어서,
상기 제2 로드 네트워크를 생성하는 단계는,
상기 복수의 제1 차선 및 상기 복수의 제2 차선 각각을 그래프화하여 상기 복수의 제1 차선 각각의 상대적 위치를 나타내는 제1 차선 그래프와 상기 복수의 제2 차선 각각의 상대적 위치를 나타내는 제2 차선 그래프를 생성하되, 상기 생성된 제1 차선 그래프 및 상기 생성된 제2 차선 그래프는 상기 복수의 제1 차선 및 상기 복수의 제2 차선 각각의 속성 정보를 포함하는 것인, 단계; 및
상기 생성된 제1 차선 그래프와 상기 생성된 제2 차선 그래프를 연결하여 상기 제2 로드 네트워크를 생성하는 단계를 포함하는,
자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성방법. - 제1항에 있어서,
상기 격자 로드 네트워크 데이터를 생성하는 단계는,
상기 생성된 로드 네트워크 데이터를 이용하여 하나 이상의 격자 도로를 생성하는 단계;
상기 생성된 하나 이상의 격자 도로 간의 연결정보를 생성하는 단계; 및
상기 생성된 연결정보에 따라 상기 생성된 하나 이상의 격자 도로를 연결하는 격자 도로 네트워크를 생성하는 단계를 포함하는,
자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성방법. - 제6항에 있어서,
상기 하나 이상의 격자 도로를 생성하는 단계는,
상기 생성된 로드 네트워크 데이터에 기초하여, 상기 소정의 지역 내에 위치하는 복수의 차로 중 기 설정된 조건을 만족하는 하나 이상의 차로를 그룹화하여 하나 이상의 격자 도로를 생성하되, 상기 기 설정된 조건은 동일한 속성을 가지며, 물리적 및 법적으로 이동이 가능한 것인, 단계를 포함하는,
자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성방법. - 제6항에 있어서,
상기 하나 이상의 격자 도로를 생성하는 단계는,
상기 생성된 하나 이상의 격자 도로 상에 복수의 포인트를 격자 형태로 설정하는 단계; 및
상기 설정된 복수의 포인트 각각에, 상기 설정된 복수의 포인트 각각이 위치하는 격자 도로에 대한 기하학적 정보(Geometric Information)와 의미 정보(Semantic Information)를 매칭하여 저장하는 단계를 포함하는,
자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성방법. - 제6항에 있어서,
상기 연결정보를 생성하는 단계는,
상기 생성된 하나 이상의 격자 도로 간의 교차 여부를 판단하고, 상기 판단된 교차 여부에 기초하여 상기 생성된 하나 이상의 격자 도로 간의 연결관계를 나타내는 연결정보를 생성하되, 상기 생성된 연결정보의 형태는, 상기 생성된 하나 이상의 격자 도로 간의 교차 구간의 길이에 기초하여 결정되는 것인, 단계를 포함하는,
자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성방법. - 제6항에 있어서,
상기 로드 교차 그래프를 생성하는 단계는,
상기 생성된 격자 로드 네트워크 데이터에 기초하여, 제1 격자 도로에 포함된 하나 이상의 차로와 제2 격자 도로에 포함된 하나 이상의 차로 간의 이동 가능 여부를 판단하는 단계; 및
상기 판단된 이동 가능 여부에 기초하여, 상기 제1 격자 도로에 포함된 하나 이상의 차로와 상기 제2 격자 도로에 포함된 하나 이상의 차로를 연결하는 상기 로드 교차 그래프를 생성하는 단계를 포함하는,
자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성방법. - 프로세서;
네트워크 인터페이스;
메모리; 및
상기 메모리에 로드(load)되고, 상기 프로세서에 의해 실행되는 컴퓨터 프로그램을 포함하되,
상기 컴퓨터 프로그램은,
소정의 지역에 대한 로드 네트워크 데이터를 생성하는 인스트럭션(instruction);
상기 생성된 로드 네트워크 데이터를 이용하여 자율주행 차량의 단기 주행 계획을 위한 격자 로드 네트워크 데이터를 생성하는 인스트럭션; 및
상기 생성된 격자 로드 네트워크 데이터를 이용하여 상기 자율주행 차량의 장기 주행 계획을 위한 로드 교차 그래프를 생성하는 인스트럭션을 포함하는,
자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성서버. - 컴퓨팅 장치와 결합되어,
소정의 지역에 대한 로드 네트워크 데이터를 생성하는 단계;
상기 생성된 로드 네트워크 데이터를 이용하여 자율주행 차량의 단기 주행 계획을 위한 격자 로드 네트워크 데이터를 생성하는 단계; 및
상기 생성된 격자 로드 네트워크 데이터를 이용하여 상기 자율주행 차량의 장기 주행 계획을 위한 로드 교차 그래프를 생성하는 단계를 실행시키기 위하여 컴퓨터로 판독가능한 기록매체에 저장된,
컴퓨터로 읽을 수 있는 기록매체에 기록된 컴퓨터프로그램.
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210068260A KR102317430B1 (ko) | 2021-05-27 | 2021-05-27 | 자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성방법, 서버 및 컴퓨터프로그램 |
KR1020210139919A KR20220160456A (ko) | 2021-05-27 | 2021-10-20 | 자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성방법, 서버 및 컴퓨터프로그램 |
JP2022086370A JP7475711B2 (ja) | 2021-05-27 | 2022-05-26 | 自律走行車両の走行計画のためのロードネットワークマップ生成方法、サーバーおよびコンピュータプログラム |
US17/825,578 US20220379912A1 (en) | 2021-05-27 | 2022-05-26 | Method, server, and computer program for creating road network map to design driving plan for autonomous driving vehicle |
EP22175830.3A EP4095489B1 (en) | 2021-05-27 | 2022-05-27 | Method, server, and computer program for creating road network map to design driving plan for autonomous driving vehicle |
CN202210594070.9A CN115406455A (zh) | 2021-05-27 | 2022-05-27 | 用于自动驾驶车辆的驾驶计划的道路网图生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210068260A KR102317430B1 (ko) | 2021-05-27 | 2021-05-27 | 자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성방법, 서버 및 컴퓨터프로그램 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210139919A Division KR20220160456A (ko) | 2021-05-27 | 2021-10-20 | 자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성방법, 서버 및 컴퓨터프로그램 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR102317430B1 true KR102317430B1 (ko) | 2021-10-26 |
KR102317430B9 KR102317430B9 (ko) | 2022-01-17 |
Family
ID=78268519
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210068260A KR102317430B1 (ko) | 2021-05-27 | 2021-05-27 | 자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성방법, 서버 및 컴퓨터프로그램 |
KR1020210139919A KR20220160456A (ko) | 2021-05-27 | 2021-10-20 | 자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성방법, 서버 및 컴퓨터프로그램 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210139919A KR20220160456A (ko) | 2021-05-27 | 2021-10-20 | 자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성방법, 서버 및 컴퓨터프로그램 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220379912A1 (ko) |
EP (1) | EP4095489B1 (ko) |
JP (1) | JP7475711B2 (ko) |
KR (2) | KR102317430B1 (ko) |
CN (1) | CN115406455A (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115171371A (zh) * | 2022-06-16 | 2022-10-11 | 海信集团控股股份有限公司 | 一种协作式道路交叉口通行方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140117836A (ko) * | 2013-03-27 | 2014-10-08 | 국방과학연구소 | 무인자율차량을 위한 주행경로 생성장치 및 이의 제어방법 |
KR20140126500A (ko) | 2013-04-23 | 2014-10-31 | 메티스정보주식회사 | 도로 네트워크 데이터 생성 방법 및 이를 실행하는 장치 |
KR20160057756A (ko) * | 2014-11-14 | 2016-05-24 | 한국전자통신연구원 | 차량 자율주행 시스템 및 이를 이용한 차량 주행 방법 |
KR20210048450A (ko) * | 2019-10-23 | 2021-05-03 | 주식회사 라이드플럭스 | 차량 주행 경로 지도 생성 방법, 장치 및 컴퓨터프로그램 |
KR20210057579A (ko) * | 2019-11-12 | 2021-05-21 | 엘지전자 주식회사 | 경로 제공 장치 및 그것의 경로 제공 방법 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4604683B2 (ja) | 2004-11-25 | 2011-01-05 | 日産自動車株式会社 | 危険状況警報装置 |
JP5116236B2 (ja) | 2006-01-30 | 2013-01-09 | アルパイン株式会社 | 地図データ作成方法及び地図データ作成装置 |
JP4948205B2 (ja) | 2007-02-28 | 2012-06-06 | クラリオン株式会社 | ナビゲーション装置、ナビゲーションシステムおよび経路表示方法。 |
DE102013013867A1 (de) * | 2013-08-20 | 2015-03-12 | Audi Ag | Kraftfahrzeug und Verfahren zur Steuerung eines Kraftfahrzeugs |
US9405293B2 (en) * | 2014-05-30 | 2016-08-02 | Nissan North America, Inc | Vehicle trajectory optimization for autonomous vehicles |
DE102015208790A1 (de) * | 2015-05-12 | 2016-11-17 | Volkswagen Aktiengesellschaft | Bestimmen einer Trajektorie für ein Fahrzeug |
US10146224B2 (en) * | 2016-11-09 | 2018-12-04 | GM Global Technology Operations LLC | Processor-implemented systems and methods for automated driving |
JP6720066B2 (ja) | 2016-11-29 | 2020-07-08 | アルパイン株式会社 | 誘導経路設定装置および誘導経路設定方法 |
JP6871784B2 (ja) | 2017-03-31 | 2021-05-12 | パイオニア株式会社 | 車線情報生成装置及び車線情報生成方法並びに車線情報生成用プログラム |
US10725470B2 (en) * | 2017-06-13 | 2020-07-28 | GM Global Technology Operations LLC | Autonomous vehicle driving systems and methods for critical conditions |
US10754339B2 (en) * | 2017-09-11 | 2020-08-25 | Baidu Usa Llc | Dynamic programming and quadratic programming based decision and planning for autonomous driving vehicles |
CN109752009B (zh) | 2017-11-03 | 2023-01-06 | 华为技术有限公司 | 路口区域路网数据生成方法及装置 |
US11099017B2 (en) * | 2018-02-13 | 2021-08-24 | Baidu Usa Llc | Determining driving paths for autonomous driving vehicles based on offset points |
US11520335B2 (en) * | 2018-04-12 | 2022-12-06 | Baidu Usa Llc | Determining driving paths for autonomous driving vehicles based on map data |
US10800408B2 (en) * | 2018-05-24 | 2020-10-13 | Baidu Usa Llc | Determining driving paths for autonomous driving that avoid moving obstacles |
US11199842B2 (en) * | 2018-06-26 | 2021-12-14 | Baidu Usa Llc | Determining driving paths for autonomous driving using parallel processing |
US11097748B2 (en) | 2018-10-23 | 2021-08-24 | Baidu Usa Llc | Two-step reference line smoothing method to mimic human driving behaviors for autonomous driving cars |
JP7214076B2 (ja) | 2019-03-29 | 2023-01-30 | マツダ株式会社 | 車両運転支援システム |
WO2020245769A1 (en) * | 2019-06-04 | 2020-12-10 | Motional Ad Llc | Autonomous vehicle operation using linear temporal logic |
-
2021
- 2021-05-27 KR KR1020210068260A patent/KR102317430B1/ko active IP Right Grant
- 2021-10-20 KR KR1020210139919A patent/KR20220160456A/ko unknown
-
2022
- 2022-05-26 JP JP2022086370A patent/JP7475711B2/ja active Active
- 2022-05-26 US US17/825,578 patent/US20220379912A1/en active Pending
- 2022-05-27 EP EP22175830.3A patent/EP4095489B1/en active Active
- 2022-05-27 CN CN202210594070.9A patent/CN115406455A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140117836A (ko) * | 2013-03-27 | 2014-10-08 | 국방과학연구소 | 무인자율차량을 위한 주행경로 생성장치 및 이의 제어방법 |
KR20140126500A (ko) | 2013-04-23 | 2014-10-31 | 메티스정보주식회사 | 도로 네트워크 데이터 생성 방법 및 이를 실행하는 장치 |
KR20160057756A (ko) * | 2014-11-14 | 2016-05-24 | 한국전자통신연구원 | 차량 자율주행 시스템 및 이를 이용한 차량 주행 방법 |
KR20210048450A (ko) * | 2019-10-23 | 2021-05-03 | 주식회사 라이드플럭스 | 차량 주행 경로 지도 생성 방법, 장치 및 컴퓨터프로그램 |
KR20210057579A (ko) * | 2019-11-12 | 2021-05-21 | 엘지전자 주식회사 | 경로 제공 장치 및 그것의 경로 제공 방법 |
Non-Patent Citations (1)
Title |
---|
1020160057756 A |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115171371A (zh) * | 2022-06-16 | 2022-10-11 | 海信集团控股股份有限公司 | 一种协作式道路交叉口通行方法及装置 |
CN115171371B (zh) * | 2022-06-16 | 2024-03-19 | 海信集团控股股份有限公司 | 一种协作式道路交叉口通行方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
KR20220160456A (ko) | 2022-12-06 |
EP4095489B1 (en) | 2024-07-31 |
KR102317430B9 (ko) | 2022-01-17 |
JP7475711B2 (ja) | 2024-04-30 |
EP4095489A1 (en) | 2022-11-30 |
US20220379912A1 (en) | 2022-12-01 |
CN115406455A (zh) | 2022-11-29 |
JP2022183123A (ja) | 2022-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10606277B2 (en) | Speed optimization based on constrained smoothing spline for autonomous driving vehicles | |
JP6622148B2 (ja) | 周辺環境認識装置 | |
US11713975B2 (en) | Routing graph management in autonomous vehicle routing | |
US12007243B2 (en) | Traffic lane line fitting method and system | |
CN111580524B (zh) | 基于路径规划的车辆换道方法、装置、设备及存储介质 | |
US20190080266A1 (en) | Cost based path planning for autonomous driving vehicles | |
CN110006430B (zh) | 一种航迹规划算法的优化方法 | |
US10288437B2 (en) | Routing with data version stitching | |
CN110794841B (zh) | 路径导航方法、装置及计算机可读存储介质 | |
CN109945867B (zh) | 无人机的路径规划方法、装置和计算机设备 | |
US11435200B2 (en) | Autonomous vehicle routing with local and general routes | |
KR102317430B1 (ko) | 자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성방법, 서버 및 컴퓨터프로그램 | |
US20210188308A1 (en) | A qp spline path and spiral path based reference line smoothing method for autonomous driving | |
CN109341698B (zh) | 一种移动机器人的路径选择方法及装置 | |
WO2019021437A1 (ja) | 走行支援方法及び走行支援装置 | |
Meng et al. | Improved hybrid A-star algorithm for path planning in autonomous parking system based on multi-stage dynamic optimization | |
US20210064042A1 (en) | Path planning for autonomous and semi-autonomous vehicles | |
JP2021196874A (ja) | 走行支援方法及び走行支援装置 | |
US20210074037A1 (en) | Dynamic parameter architecture for qp smoother | |
CN116448095A (zh) | 移动机器人及其导航方法、装置、计算机设备和存储介质 | |
WO2022047476A1 (en) | Autonomous vehicle planned route prediction | |
KR20220092660A (ko) | 자율주행 차량의 주행 경로 생성 방법, 장치 및 컴퓨터프로그램 | |
KR102643540B1 (ko) | 자율주행 차량의 충돌 방지 방법, 장치 및 컴퓨터프로그램 | |
KR20230128156A (ko) | 자율주행 차량의 주행 가이드를 위한 사용자 인터페이스 제공방법, 장치 및 컴퓨터프로그램 | |
KR102671815B1 (ko) | 자율주행을 위한 객체 인지 방법, 장치 및 컴퓨터프로그램 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
A107 | Divisional application of patent | ||
GRNT | Written decision to grant | ||
G170 | Re-publication after modification of scope of protection [patent] |