KR20240021124A - 자율 주행 경로 생성 장치 및 방법 - Google Patents

자율 주행 경로 생성 장치 및 방법 Download PDF

Info

Publication number
KR20240021124A
KR20240021124A KR1020230103405A KR20230103405A KR20240021124A KR 20240021124 A KR20240021124 A KR 20240021124A KR 1020230103405 A KR1020230103405 A KR 1020230103405A KR 20230103405 A KR20230103405 A KR 20230103405A KR 20240021124 A KR20240021124 A KR 20240021124A
Authority
KR
South Korea
Prior art keywords
lane
priority
autonomous driving
map
link
Prior art date
Application number
KR1020230103405A
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 주식회사 아이나비시스템즈
Publication of KR20240021124A publication Critical patent/KR20240021124A/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/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/3446Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/095Predicting travel path or likelihood of collision
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
    • B60W30/10Path keeping
    • B60W30/12Lane keeping
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
    • B60W30/18Propelling the vehicle
    • B60W30/18009Propelling the vehicle related to particular drive situations
    • B60W30/18163Lane change; Overtaking manoeuvres
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0015Planning or execution of driving tasks specially adapted for safety
    • 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/3415Dynamic re-routing, e.g. recalculating the route when the user deviates from calculated route or after detecting real-time traffic data or accidents
    • 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/3453Special cost functions, i.e. other than distance or default speed limit of road segments
    • G01C21/3461Preferred or disfavoured areas, e.g. dangerous zones, toll or emission zones, intersections, manoeuvre types, segments such as motorways, toll roads, ferries
    • 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/3453Special cost functions, i.e. other than distance or default speed limit of road segments
    • G01C21/3492Special 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
    • 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/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0062Adapting control system settings
    • B60W2050/0075Automatic parameter input, automatic initialising or calibrating means
    • B60W2050/009Priority selection
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Input parameters relating to data
    • B60W2556/40High definition maps
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Input parameters relating to data
    • B60W2556/45External transmission of data to or from the vehicle
    • B60W2556/50External transmission of data to or from the vehicle for navigation systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Navigation (AREA)

Abstract

본 문서에 개시되는 일 실시 예에 따른 차량에 구비된 자율 주행 경로 생성 장치는, 적어도 하나의 명령어가 저장된 메모리; 및 상기 메모리와 기능적으로 연결된 프로세서를 포함하고, 상기 프로세서는, 상기 적어도 하나의 명령어를 실행함으로써, SD Map의 도로 링크를 포함하는 내비게이션 경로 데이터를 획득하고, 상기 경로 데이터에 매칭되는 HD Map에 따른 후보 링크 그룹들을 확인하고, 상기 후보 링크 그룹들 간의 연결성에 기반하여 상기 후보 링크 그룹들에 포함된 차로 링크의 우선 순위를 부여하고, 상기 차로 링크의 우선 순위를 추종하도록 상기 후보 링크 그룹들로부터 자율 주행 궤적 데이터를 생성할 수 있다.

Description

자율 주행 경로 생성 장치 및 방법{APPARATUS AND METHOD FOR GENERATING AUTONOMOUS DRIVING PATH}
본 연구는 산업통상자원부와 한국산업기술평가관리원이 지원하는 자율주행기술개발혁신사업(20014361)으로 수행된 연구결과입니다.
본 문서에서 개시되는 다양한 실시 예들은, 초정밀 지도에 기반한 자율 주행 경로 생성 기술과 관련된다.
차량에 대한 사용자의 요구 사항이 증가하면서 운전자의 안전 및 편의를 향상시키기 위한 다양한 시스템이 개발되고 있다.
나아가, 운전자에게 보다 안락하고 안전한 주행환경을 제공하기 위한 지능형 운전자 지원 시스템에 대한 연구 역시 활발하게 진행되고 있으며 궁극적으로는 자율 주행 또는 무인 자율 주행을 위한 제어 시스템에 대한 연구로 확대되어가고 있다.
포인트 투 포인트(point to point) 자율 주행은 목적지를 정하면 차량이 목적지까지 자율적으로 이동하는 기술을 의미한다.
도 1은 SD Map의 일례를 설명하기 위한 도면이고, 도 2는 HD Map의 일례를 설명하기 위한 도면이다.
도 1을 참조하면, 기존의 내비게이션 지도인 SD Map(Standard Definition Map)을 활용하면 목적지까지의 최적의 주행 경로를 빠르게 만들 수 있다. 하지만, 차로가 많은 도로 환경을 1~2개의 선으로 함축하여 표현하므로 차량이 주행해야 할 대략적인 위치를 표현할 뿐, 차로 상의 위치 표현은 어려울 수 있다.
도 2를 참조하면, 초정밀 지도인 HD Map(High Definition Map)은 SD Map에 대비하여 훨씬 정확하고 세밀하게 도로를 표현해 주므로 자율 주행에 활용하기에 더 적합할 수 있다. 특히, HD Map은 차선, 차로 중심선 등의 데이터를 제공하므로 주행 경로를 정확한 위치(좌표값)로 표현할 수 있다. 하지만, 데이터가 너무 방대하기 때문에 최적의 경로를 빠르게 찾기는 어려운 단점이 있다.
한편, 자율 주행 차량은 주행하는 동안 전방 차량이 주변 교통 흐름에 비해 많이 서행하면 정체 및 추돌을 회피하기 위해 속도를 줄이거나 주행 차로(lane)를 변경하는 동작을 수행한다.
한국공개특허 제2017-0085750호에 개시된 종래의 차로 변경방법에 의하면, 횡방향 이동에 따라 소통이 원활한 것으로 간주되는 차로로 자 차량의 차로를 변경하므로, 혼잡도가 높은 차로에서 혼잡도가 낮은 차로로 자 차량을 이동시키는 동작만을 지원할 수 있다.
또한, 종래의 자율주행차량은 교차로에서 좌회전 또는 유턴 또는 우회전을 하는 경우 일반 주행과 동일하게 전역 경로를 바탕으로 교차로 좌회전 또는 유턴 또는 우회전 경로를 설정하여 주행하게 된다.
그런데, 좌회전 또는 유턴이나 우회전하려는 경로 상에 주정차 차량, 사고 차량, 낙하물 등의 오브젝트가 있을 경우 오브젝트 정보를 반영하여 미리 차로 변경이 이루어져야 하지만, 기존의 경로 설정에 따르면 반드시 차로를 변경해야 하는 시점에서 정상적으로 차로를 변경하기 어려워지는 문제점이 존재한다.
따라서, 주행 예정 차로에 오브젝트가 있는 것으로 감지되면 미리 차로를 변경함으로써 차로 변경 실패로 인한 경로 이탈 및 차량 멈춤 가능성을 줄이는 기술이 요구되고 있다.
또한, 기존의 자율 주행 방식은 비전 카메라로 획득된 영상 기반으로 외부 환경을 인식하고 이를 반영하여 차로 변경을 실시하고 있으나, 비전 카메라 의존성이 높아 날씨에 따른 외란광이나, 차로의 도색이 흐리거나, 차량 또는 사고 차량 및 파편으로 가려져 차로 인식이 어려운 경우 등 악의적 조건에서는 사고 예방을 위한 차로 변경이 원활하게 이루어지지 않다는 단점이 있다.
한국공개특허 제2017-0085750호 "차로를 변경하는 차량에 근거한 자율 주행 제어 방법 및 장치" 한국등록특허 제1664582호 "자율주행차량의 주행경로 생성장치 및 방법"
본 문서에 개시되는 다양한 실시예들은 내비게이션 지도(SD map)로 만든 경로와 초정밀 지도(HD map)의 차로 중심선을 모두 활용하여 자율 주행 경로를 생성할 수 있는 자율 주행 경로 생성 장치 및 방법을 제공할 수 있다.
또한, 본 문서에 개시되는 다양한 실시예들은 내비게이션 경로와 초정밀 지도의 차로 별 주행 우선 순위를 부여하고, 출발지에서 목적지에 도달하는 주행 정보 및 오브젝트(object)를 회피하기 위한 궤적(trajectory)을 생성할 수 있는 자율 주행 경로 생성 장치 및 방법을 제공할 수 있다.
본 문서에 개시되는 일 실시 예에 따른 차량에 구비된 자율 주행 경로 생성 장치는, 적어도 하나의 명령어가 저장된 메모리; 및 상기 메모리와 기능적으로 연결된 프로세서를 포함하고, 상기 프로세서는, 상기 적어도 하나의 명령어를 실행함으로써, SD Map의 도로 링크를 포함하는 내비게이션 경로 데이터를 획득하고, 상기 경로 데이터에 매칭되는 HD Map에 따른 후보 링크 그룹들을 확인하고, 상기 후보 링크 그룹들 간의 연결성에 기반하여 상기 후보 링크 그룹들에 포함된 차로 링크의 우선 순위를 부여하고, 상기 차로 링크의 우선 순위를 추종하도록 상기 후보 링크 그룹들로부터 자율 주행 궤적 데이터를 생성할 수 있다.
또한, 본 문서에 개시되는 일 실시 예에 따른 자율 주행 경로 생성 방법은, SD Map의 도로 링크를 포함하는 내비게이션 경로 데이터를 획득하는 동작; 상기 경로 데이터에 매칭되는 HD Map에 따른 후보 링크 그룹들을 확인하는 동작; 상기 후보 링크 그룹들 간의 연결성에 기반하여 상기 후로 링크 그룹들에 포함된 차로 링크의 우선 순위를 부여하는 동작; 및 상기 차로 링크의 우선 순위를 추종하도록 상기 후보 링크 그룹들로부터 자율 주행 궤적 데이터를 생성하는 동작을 포함할 수 있다.
일 실시예에 따르면, 내비게이션 지도(SD map)로 만든 경로와 초정밀 지도(HD map)의 차로 중심선을 모두 활용하여 자율 주행 경로를 생성함으로써, 레벨 4 자율 주행에서 초정밀 지도(HD Map)를 활용하는 경우 목적지까지 이르는 안전한 주행 정보를 만들 수 있다.
또한, 일 실시예에 따르면, 자율 주행시 주행하는 차로 상에 주행을 방해하는 오브젝트가 존재하면 미리 생성된 궤적으로 차로를 변경함으로써 오브젝트를 회피하면서 목적지까지 보다 안전하게 자율 주행이 가능하고, 차로 변경 실패로 인한 경로 이탈 및 차량 멈춤 가능성을 낮춰 자율 주행 기술의 보급에 기여할 수 있다. 이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.
도 1은 SD Map의 일례를 설명하기 위한 도면이다.
도 2는 HD Map의 일례를 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 내비게이션의 경로와 초정밀 지도 기반 포인트 투 포인트 자율 주행 경로 생성 및 주행 제어 장치를 설명하기 위한 구성도이다.
도 4는 일 실시예에 따른 자율 주행 경로 생성 방법을 설명하기 위한 흐름도이다.
도 5는 일 실시예에 따른 SD Map과 HD Map 매칭 일례를 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 최적의 링크를 가공하는 전역 경로 생성 단계를 설명하기 위한 도면이다.
도 7 및 도 8은 일 실시예에 따른 출발지와 목적지의 링크 그룹의 확정 일례를 설명하기 위한 도면이다.
도 9는 일 실시예에 따른 교차로 및 분기점에서 최적의 링크 가공 방법을 설명하기 위한 도면이다.
도 10 및 도 11은 일 실시예에 따른 교차로 및 분기점의 진행 링크의 연결성을 고려한 링크별 우선 순위 부여 방법을 설명하기 위한 도면이다.
도 12는 일 실시예에 따른 자율 주행 및 주행 중 오브젝트 회피를 위한 주행 제어 방법을 예시한 흐름도이다.
도 13 및 도 14는 일 실시예에 따라 교차로 및 분기점에서 우선 주행 차로에 오브젝트가 존재하는 경우 주행 제어 방법을 설명하기 위한 예시 그림이다.
도면의 설명과 관련하여, 동일 또는 유사한 구성요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
도 3은 일 실시예에 따른 포인트 투 포인트 자율 주행 장치를 설명하기 위한 구성도이다.
도 3을 참조하면, 일 실시예에 따른 장치(100)(자율 주행 경로 생성 장치)는 자율 주행 차량과 같은 차량에 탑재된 장치일 수 있다.
일 실시예에 따르면, 장치(100)는 SD Map 기반의 내비게이션 경로에 매칭되는 HD Map(초정밀 지도)의 차로별 주행 우선 순위를 부여 및 추종하는 목적지에 도달하는 궤적(trajectory) 데이터를 생성하여 활용할 수 있다. 여기서, 궤적 데이터는 위치 정보(좌표 x, y)과 관련되는 차로 중심선 상의 점들인 보간점들의 집합을 포함할 수 있다. 상기 궤적 데이터는 자율 주행 차량이 추종 가능한 궤적 정보일 수 있다.
따라서, 일 실시예에 따른 장치(100)가 탑재된 자율 주행 차량은 출발지에서 목적지에 이르는 차로 중심선의 궤적 정보(궤적 데이터)를 이용하여 자율 주행할 수 있다. 더욱이, 일 실시예에 따른 장치(100)는 궤적 데이터의 생성 시에 차로 별 우선 순위를 이용함에 따라, 목적지까지의 효율적인 주행을 할 수 있다. 뿐만 아니라, 일 실시예에 따른 장치(100)는 전방에서 발생 가능한 돌발의 오브젝트(사고 차량, 불법 주정차 차량, 낙하물 등)를 회피할 수 있도록 주행 정보를 제공할 수 있어, 자율 주행 차량의 안전한 자율 주행을 지원할 수 있다.
이를 위하여, 일 실시예에 따른 장치(100)는 레벨 4 자율 주행에서 초정밀 지도(HD Map) 및 교통 정보를 활용하여 목적지까지 이르는 안전한 주행 정보를 생성할 수 있다.
이를 위해, 일 실시예에 따른 장치(100)는 하나 이상의 프로세서(110), 컴퓨터 판독 가능한 저장 매체(120) 및 통신 버스(150)를 포함할 수 있다.
프로세서(110)는 장치(100)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 예컨대, 프로세서(110)는 메모리(120)에 저장된 적어도 하나의 프로그램(121)을 실행할 수 있다. 하나 이상의 프로그램(121)은 적어도 하나의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 컴퓨터 실행 가능 명령어는 프로세서(110)에 의해 실행되는 경우 장치(100)로 하여금 차로 별 주행 우선 순위를 부여하고, 이를 추종하여 오브젝트를 회피하면서 목적지에 도달하는 궤적을 생성 및 활용하기 위한 동작을 수행하도록 구성될 수 있다.
프로세서(110)는 예를 들어, 중앙처리장치(CPU), 그래픽처리장치(GPU), 마이크로프로세서, 애플리케이션 프로세서(application processor), 주문형 반도체(ASIC(application specific integrated circuit), FPGA(field programmable gate arrays)) 중 적어도 하나를 포함할 수 있으며, 복수의 코어를 가질 수 있다.
메모리(120)는 차로 링크 별 주행 우선 순위를 부여하고, 이를 추정하여 오브젝트를 회피하면서 목적지에 도달하는 궤적을 생성 및 활용하기 위한 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성될 수 있다. 메모리(120)에 저장된 프로그램(121)은 프로세서(110)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 메모리(120)는 메모리 (랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 장치(100)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.
일 실시예에 따른 메모리(120)는 SD Map 및 HD Map을 저장할 수 있다. HD Map(High Definition Map)은 차선, 차로 중심선 등의 데이터를 포함할 수 있다.
통신 버스(150)는 프로세서(110) 및 메모리(120)를 포함하는 장치(100)의 다른 다양한 컴포넌트들을 상호 연결할 수 있다.
장치(100)는 또한 하나 이상의 입출력 장치를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(130) 및 하나 이상의 통신 인터페이스(140)를 포함할 수 있다.
입출력 인터페이스(130)는 통신 버스(150)를 통해 입출력 장치(미도시) 및 장치()의 다른 컨포넌트들(예: 프로세서(110))에 연결될 수 있다. 입출력 장치(미도시)는 키보드, 마우스와 같은 입력 장치 및 디스플레이와 같은 출력 장치를 포함할 수 있다.
통신 인터페이스(140)는 장치(100)와 다른 장치(예: 자율 주행 차량, 서버 장치) 간의 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 상기 통신 채널은 V2V(Vehicle to Vehicle), V2I(Vehicle to Infrastructure), V2N(Vehicle to Nomadic Device), V2P(Vehicle to Pedestrian)와 같은 V2X 통신 채널을 포함할 수 있다. 상기 통신 채널은 CAN(controller area network), 또는 MOST(media oriented systems transport) 중 적어도 하나의 채널을 포함할 수 있다.
이하, 도 4의 일 실시예에 따른 자율 주행 경로 생성 방법의 동작들을 도 5 내지 도 9의 예시도를 참조하여 설명한다.
도 4는 일 실시예에 따른 자율 주행 경로 생성 방법을 설명하기 위한 흐름도이다. 도 5는 일 실시예에 따른 SD Map과 HD Map 매칭 일례를 설명하기 위한 도면이고, 도 6은 일 실시예에 따른 최적의 링크를 가공하는 전역 경로 생성 단계를 설명하기 위한 도면이다. 도 7 및 도 8은 일 실시예에 따른 출발지와 목적지의 링크 그룹의 확정 일례를 설명하기 위한 도면이고, 도 9는 일 실시예에 따른 교차로 및 분기점에서 최적의 링크 가공 방법을 설명하기 위한 도면이다.
도 4의 동작 410에서, 장치(100)의 프로세서(110)는 SD Map의 도로 링크를 포함하는 내비게이션 경로 데이터를 획득한다. 상기 내비게이션 경로 데이터는 예를 들면, 장치(100) 또는 외부 전자 장치가 사용자가 지정(예: 입력)한 출발지와 목적지에 기반하여 SD Map에서 출발지에서 목적지에 이르는 경로를 탐색함에 따라 생성한 것으로서, SD Map의 탐색 경로에 대한 도로 단위 링크 정보(예: SD Map의 링크 id)를 포함할 수 있다.
도 4의 동작 420에서, 프로세서(110)는 SD Map의 내비게이션 경로 데이터에 매칭되는 HD Map의 차로 정보를 획득(예: 검색)할 수 있다.
도 5를 참조하면, 도 4의 동작 430에서, 프로세서(110)는 SD Map의 내비게이션 경로(200)를 HD Map(300)과 매칭함에 따라 출발지에서 목적지까지의 경로에 대한 SD Map의 도로 링크와 매칭되는 HD Map의 모든 차로 단위의 후보 링크 그룹을 확인(또는, 수집)할 수 있다.
이때, SD Map의 링크 1개로 표현된 도로는 수십개의 HD Map의 링크로 표현될 수 있다. 상세하게는, SD Map의 한 링크는 하나의 도로(복수의 차로들을 포함함)를 나타내지만, HD Map의 링크는 하나의 차로를 나타내므로 하나의 도로를 복수의 링크들로 나타낼 수 있다. 따라서, SD Map의 링크와 HD Map의 링크를 매칭하는 경우, 프로세서(110)는 경로 데이터의 한 SD Map의 링크를 HD Map의 수십 개 링크들과 매칭시켜야 한다.
이를 개선하기 위해, 일 실시예에서는 HD Map의 차로 링크(Link)들을 그룹화(grouping)하여 SD Map의 도로 링크와 매칭할 수 있다. 예를 들어, 프로세서(110)는 HD Map의 노드를 기준으로 그 전후의 차선 링크를 서로 다른 차선 링크로 그룹화할 수 있다. 상기 HD Map의 각 노드는 차선 개수의 변화 지점, 링크의 속성 변화 지점(예: 정지선 있는 곳, 터널, 지하차로 및 도량이 있는 곳)을 구분하는 것일 수 있다. 이 같이, 일 실시예에 따른 장치(100)는 HD Map의 복수 링크들을 하나의 링크 그룹으로 묶어서 처리함에 따라 수십개의 HD Map 링크와 매칭시켜야 할 연산을 수 개의 링크 그룹에 대한 연산으로 치환할 수 있으므로, SD Map 기반의 내비게이션 경로와 HD Map을 빠르게 매칭할 수 있다.
예시적으로, 도 6에 도시된 바와 같이 출발지(S)에서 목적지(G) 까지의 경로 상에 복수의 링크 그룹들이 존재하므로, 주변의 모든 차로 단위의 후보 Link Group1~4를 수집한다.
도 4의 동작 440에서, 프로세서(110)는 SD Map의 경로(200)와 매칭된 차로에 해당하는 링크 그룹을 확인(예: 수집)하여 출발지(S)에서 목적지(G)에 위치하는 링크들 중 불필요한 링크는 제거하고, 각 링크 그룹의 연결성을 체크하여 후보 링크 중 최적의 링크를 가공하여 전역 경로를 생성할 수 있다.
도 6를 참조하면, 프로세서(110)는 출발지(S)에서 목적지(G) 까지의 후보 링크 그룹들 중 출발지에서 목적지에 이르는 주행에 불필요한 링크 그룹인 Link Group2를 제거할 수 있다.
이때, 출발지와 목적지의 링크 그룹은 다음과 같은 과정으로 확정될 수 있다.
프로세서(110)는 후보 링크 그룹내의 가장자리 Link(예: 최외곽 차로)의 보간점(vertex)에서 '출발지' 또는 '목적지'와 가장 근접한 점을 찾는다. 예를 들어, 도 7에 도시된 바와 같이, 실제 출발지가 도로상에 위치하지 않아서 또는 SD Map과 HD Map 간에 동기가 맞지 않아서 상기 SD Map의 출발지/목적지와 가장 근접한 점과 HD Map에서 매핑된 링크에는 거리 차가 있을 수 있다. 이 경우, 프로세서(110)는 보간점 추정(vertex projection)을 통해 출발지에서 가장 가까운 HD Map의 차로 링크를 매칭할 수 있다.
이하, 도 7 및 8을 참조하여 출발지/목적지 추정에 대하여 설명한다. 도 7 및 8에서, 삼각형은 SD Map의 노드이고, 삼각형 간을 잇는 실선은 SD Map의 링크이고, 실선 직사각형은 HD Map에서 맵핑된 링크 그룹이고 실선 직사각형 내부의 가로 점선은 차로 중심선일 수 있다.
도 7의 출발지(S)와 링크 그룹 1 간의 실선과 같이, SD Map의 링크와 HD Map의 링크 그룹은 서로 동기가 맞지 않을 수 있다. 따라서, 프로세서(110)는 도 8의 링크 그룹 A의 차로 중심선과 출발지(S)를 연결함에 따라 출발지에 대한 보간점 추정을 수행할 수 있다.
상세하게는, SD Map에 기반한 출발지의 링크 id 1000은 프로세서(110)가 수집한 후보 링크 그룹에 포함되지 않을 수 있다. 이 경우, 프로세서(110)는 출발지에 매칭된 링크 그룹의 이전 링크 그룹(예: 도 7의 링크 그룹 A)을 찾고, 해당 링크 그룹에 출발지 링크(link id 1000)이 포함되어 있는지 확인하여, 도 8에 도시된 바와 같이 출발지 링크를 후보 링크 그룹에 포함시킬 수 있다.
프로세서(110)는 남아 있는 후보 Link Group1, 3, 4 들이 상호 잘 연결되는지 확인하는 링크 그룹 연결성 체크를 수행하여 최종적으로 Link Group1, 3, 4 로 이루어지는 최적의 링크를 가공하여 내비게이션 경로 데이터에 대응하는 전역 경로를 생성한다. 프로세서(110)는 링크 그룹들 간의 연결이 되지 않는 차로 링크에 대해서는 도 7 및 도 8과 같이 보간점 추정을 수행할 수 있다.
이때, 프로세서(110)는 매칭된 HD Map의 링크 그룹을 차량의 주행방향에 맞게 순서대로 정렬할 수 있다. HD Map의 Link들은 Node를 통해 연결되어 있고, From Node와 To Node로 구성되어 있으므로 From Node와 To Node 간의 연결성을 확인하는 것이다.
도 4의 동작 440에서, 프로세서(110)는 목적지의 위치, 교차로 및 분기점에서의 회전 정보 중 적어도 하나의 정보에 기초하여 차선 링크의 우선 순위를 설정할 수 있다. 도 9를 참조하여 교차로 및 분기점에서의 최적의 링크를 가공하는 방법에 대하여 설명한다.
도 9를 참조하면, 프로세서(110)는 동작 410 내지 440을 통해 생성된 전역 경로 중 전방의 교차로 및 분기점에서 SD Map의 내비게이션 경로(400)와 매칭된 차로에 해당하는 링크 그룹 1000, 1002, 1003, 1004 및 1005를 확인(또는 수집)할 수 있다.
프로세서(110)는 차량의 주행 방향에 따라 확인된 링크 그룹의 연결성을 체크하여 링크 그룹 1000, 링크 그룹 1003, 링크 그룹 1004 및 링크 그룹 1005 순으로 정렬한다.
프로세서(110)는 도 9과 같이 교차로 및 분기점에서의 연결된 링크 그룹 1000과 링크 그룹 1003의 연결 차선 링크(예: 1차로 링크)를 기준으로 전역 경로 상의 각 링크 마다 우선 순위를 부여할 수 있다.
예를 들어, 프로세서(110)는 목적지의 위치, 교차로 및 분기점에서의 회전 정보 중 적어도 하나의 정보에 기초하여 차선 링크의 우선 순위를 설정할 수 있다. 프로세서(110)는 도 9와 같이, 링크 그룹 1000의 링크 중 교차로의 연결 차선 링크(1차로 링크)에 가장 높은 우선 순위 점수 100점을 부여하고, 그로부터 멀어질수록 상대적으로 낮은 우선 순위 점수를 부여할 수 있다. 도 9에서는 우선 순위를 점수로 부여하는 경우를 예로 들어 설명하였으나, 이에 한정되지 않는다. 예를 들어, 프로세서(110)는 순위값(예: 1순위, 2순위)으로 우선 순위를 부여할 수 있다.
도 4의 동작 460에서, 프로세서(110)는 출발지(S)에서 목적지(G)까지 차로 링크의 우선 순위를 추종하도록 자율 주행 궤적 데이터(또는, 자율 주행 경로)를 생성할 수 있다. 상기 자율 주행 궤적 데이터는 출발지에서 목적지에 이르는 차로 링크의 차로 중심선에 대한 보간점들의 집합일 수 있다. 상기 자율 주행 궤적 데이터는 차로 링크에 부여된 차로 링크의 우선 순위를 포함하거나, 차로 링크의 우선 순위와 관련될 수 있다.
이때, 프로세서(110)는 자율 주행 궤적 데이터 생성 이전에 자율 주행 차량이 주행하기에 적합하도록 일정 거리 단위에 포인트를 생성하고, 각 포인트에 ID 및 차로 링크의 우선 순위를 부여한다. 예를 들어, 자율 주행 차량이 주행하기에 적합한 주행 경로의 밀도는 50cm 이하일 수 있다. 만약, HD Map의 보간점 사이가 50cm보다 크다면, 프로세서(110)는 보정 알고리즘을 적용하여 50cm이하의 밀도로 우선 순위와 관련된 포인트를 만들어준다.
이하, 도 10 및 도 11을 참조하여 차로 링크 별 우선 순위 부여 방법에 대해 세부적으로 설명한다. 도 10 및 도 11은 일 실시예에 따른 교차로 및 분기점의 진행 링크의 연결성을 고려한 차로 링크별 우선 순위 부여 방법을 설명하기 위한 도면이다.
도 10에 도시된 바와 같이, 전방의 교차로 및 분기점에서 SD Map의 경로(400)와 매칭된 차로 정보가 우회전 차로이면, 프로세서(110)는 우측 끝 차로로부터 좌측 순으로 우선 순위를 부여한다. 예를 들어, 도 10에 도시된 바와 같이 주행 경로가 4차로일 경우, 프로세서(110)는 4차로 > 3차로 > 2차로 > 1차로 순으로 우선 순위를 부여한다.
도 11에 도시된 바와 같이, 전방의 교차로 및 분기점에서 SD Map의 경로(400)와 매칭된 차로 정보가 좌회전 또는 유턴 차로이면, 프로세서(110)는 주행 경로의 각 포인트 아이디마다 우선 순위를 부여하되, 좌측 끝 차로로부터 우측 순으로 우선 순위를 부여한다. 예를 들어, 도 11에 도시된 바와 같이 주행 경로가 5차로일 경우, 프로세서(110)는 1차로 > 2차로 > 3차로 > 4차로 > 5차로 순으로 우선 순위를 부여한다.
일 실시예에 따르면, 프로세서(110)는 SD Map의 도로 링크와 매칭된 차로 링크가 중간 차로 링크인 경우 해당 차로에서 멀어지는 순으로 낮아지는 우선 순위를 부여할 수 있다.
일 실시예에 따르면, 프로세서(110)는 하나의 링크 그룹 내 직선 차로 링크의 우선 순위에 대해서는 그 이전 또는 그 이후의 링크 그룹과의 연결성에 기반하여 우선 순위를 부여할 수 있다. 예를 들어, 프로세서(110)는 도 10의 우회전 이후의 직선 차로 링크 또는 도 11의 좌회전 이후의 직선 차로 링크에 대해서는 다음 링크 그룹 또는 이전 링크 그룹과 최단 거리로 이어지도록 우선 순위를 부여할 수 있다. 도 11을 참고하면, 경로(400)이 링크 그룹 1100 이후에 우회전하는 것이라면, 차량은 링크 그룹 1100에 진입할 때는 1차로로 주행한후 4차로로 이동하는 것이 주행 거리상 유리할 수 있다. 이에, 프로세서(110)는 링크 그룹 1100 내 직선 차로 링크에서 링크 그룹 1100의 진입 부분에는 1차로에 가까울수록 높은 우선 순위를 부여하다가 링크 그룹 1100의 종단 부분에는 4차로에 가까울수록 높은 우선 순위를 부여할 수 있다.
일 실시예에 따르면, 프로세서(110)는 링크 그룹 간 연결성과 더불어 다른 기준을 적용하여 차로 링크에 대해 우선 순위를 부여(또는, 조정)할 수 있다. 예를 들어, 프로세서(110)는 기부여된 차로 링크의 우선 순위를 차로 별 혼잡도, 위험 요소(예: 차량 충돌 예상 합류 지점, 차로 별 사고 지점, 포트홀 지점), 사용자 회피 차로, 사용자 선호 차로, 그 외 도로의 위험 요소 정보 중 적어도 하나의 기준에 따라 조정할 수 있다.
한 실시예에 따르면, 프로세서(110)는 궤적 데이터 생성 시점에 자율 주행 궤적 데이터와 매칭되는 차로 별 교통정보를 확인할 수 있다. 프로세서(110)는 차로 별 교통 정보에 기반하여 상대적으로 혼잡도가 낮은 차로의 우선 순위를 높이고, 교통체증이 발생된(혼잡도가 높은) 차로의 우선 순위를 낮춤에 따라 부여된 우선 순위를 조정할 수 있다. 상기 교통 상황은 실시간으로 변화될 수 있으므로, 프로세서(110)는 실시간 교통 상황을 반영하여 자율 주행 궤적 데이터에 기반한 주행중에 상기 우선 순위를 재조정할 수 있다.
한 실시예에 따르면, 프로세서(110)는 궤적 데이터 생성 시점에 실시간 교통 정보에 기반하여 주행 경로와 매칭되는 차로 별 사고 지점의 존재 여부를 확인할 수 있다. 프로세서(110)는 차로 별 사고 지점 정보가 존재하는 것을 확인하면, 사고 발생 차로를 회피하도록 사고 발생 차로의 우선 순위를 (가장) 낮게 조절할 수 있다.
한 실시예에 따르면, 프로세서(110)는 궤적 데이터 생성 시점에 실시간 교통 정보에 기반하여 주행 경로와 매칭되는 포트홀 지점의 존재 여부를 확인할 수 있다. 프로세서(110)는 매칭되는 포트홀 지점이 존재하는 것을 확인하면, 포트홀 지점을 회피할 수 있도록 포트홀 지점에 대응하는 차로의 우선 순위를 낮출 수 있다.
한 실시예에 따르면, 프로세서(110)는 사용자의 과거 주행 로그에 기반하여 급격한 핸들 조정, 급정차, 불법 주정차 빈번 구간 중 적어도 하나의 회피 구간(또는, 회피 차로)을 확인할 수 있다. 프로세서(110)는 자율 주행 궤적 데이터에 회피 구간(또는 회피 차로)가 존재하면, 회피 차로(또는, 회피 구간에 대응하는 차로)에 대한 우선 순위를 낮출 수 있다. 다양한 실시예에 따르면, 상기 회피 구간은 복수의 사용자 주행 로그에 기반한 빅데이터로부터 생성될 수 있다.
한 실시예에 따르면, 프로세서(110)는 사용자의 과거 주행 로그에 기반하여 사용자 선호도가 높은 차로를 확인할 수 있다. 프로세서(110)는 자율 주행 궤적 데이터에 선호 차로가 존재하면, 선호 차로의 우선 순위를 높일 수 있다. 예를 들어, 어떤 사용자는 가운데 차로로 주행하는 것을 선호하고, 다른 사용자는 1차로로 주행하는 것을 선호할 수 있다. 프로세서(110)는 과거 주행 로그에 기반하여 이러한 선호 차로를 확인 및 메모리(120)에 기록하고 이후 궤적 데이터를 생성할 때 이러한 사용자의 선호도(선호 차로)를 반영할 수 있다.
한 실시예에 따르면, 프로세서(110)는 궤적 데이터 생성 시점에 차량 간 충돌 위험이 높은 합류 지점을 확인하면, 확인된 합류 지점에는 위험 요소가 존재할 가능성이 크므로 확인된 합류 지점에 대한 우선 순위를 낮출 수 있다.
이와 같이, 일 실시예에 따른 장치(100)는 내비게이션 지도(SD map)로 만든 경로와 초정밀 지도(HD map)의 차로 중심선을 모두 활용하여 포인트 투 포인트(point to point) 자율 주행 경로를 생성함으로써, 특히 레벨 4 자율 주행에서 링크들 간의 연결성이 높아 매끄럽게 주행 가능하여 안전하면서 승차감이 높고 연비 면에서도 효율적인 주행 정보를 생성할 수 있다.
또한, 일 실시예에 따른 장치(100)는 교통 정보에 기반하여 교통 체증 지점, 사고 지점, 포트홀 지점 또는 충돌 가능성 높은 지점을 미리 확인하고, 확인된 지점을 회피할 수 있도록 차선의 우선 순위가 부여된 자율 주행 궤적 데이터를 생성함에 따라 안전하면서 신속한 자율 주행을 지원할 수 있다.
더 나아가, 일 실시예에 따른 장치(100)는 사용자의 과거 주행 로그에 기반하여 사용자의 선호도가 높은 차로(선호 차로) 또는 사용자의 선호도가 낮은 회피 차로를 분석할 수 있다. 장치(100)는 선호 차로의 우선 순위를 높이거나, 회피 차로의 우선 순위를 낮춤에 따라 사용자 만족도를 높일 수 있도록 자율 주행 궤적 데이터를 생성할 수 있다.
한편, 일 실시예에 따른 장치(100)는 자율 주행 궤적 데이터를 생성하는 동작에서 진행 방향의 최우선 순위 링크에 주행을 막는 오브젝트가 있는 것으로 판단되면, 오브젝트를 회피하는 링크들 중 우선 순위가 높은 링크로 궤적을 변경함으로써 오브젝트와의 충돌에 의한 사고를 미연에 방지할 수 있다. 이하, 도 12를 참조하여 오브젝트 회피를 위한 주행 제어 방법에 대하여 설명한다.
도 12는 일 실시예에 따른 자율 주행 및 오브젝트 회피를 위한 주행 제어 방법을 예시한 흐름도이다.
동작 1210에서, 프로세서(110)는 기생성된 자율 주행 궤적 데이터에 따라 설정된 우선 순위를 추종하여 차량이 자율 주행하도록 제어한다(S300).
이때, 자율 주행 제어는 목표 차로에 주행중인 차량과의 이격 거리, 목표 차로로의 타 차량 진입, 도로 정체 여부 등에 따라 차로를 변경하는 과정 등을 포함할 수 있다. 본 문서에서 차량의 우선 순위 추종은 자율 주행에 있어서 우선 순위가 상대적으로 높은 차로를 우선적으로 주행하는 것일 수 있다.
동작 1220에서, 프로세서(110)는 차량이 자율 주행하도록 제어하면서, 초정밀 지도 데이터 및 차량의 실시간 위치 정보에 기초하여 주행을 방해하는 오브젝트가 존재하는지 판단한다.
동작 1220에서, 주행을 방해하는 오브젝트가 존재하는 것으로 판단하면, 프로세서(110)는 동작 1230에서, 현재 주행중인 차로보다 우선 순위가 높은 차로가 있는지 판단할 수 있다.
우선 순위가 높은 차로가 존재하면, 프로세서(110)는 동작 1240에서 확인된 우선순위가 높은 차로로 차로 변경을 실시하고, 그렇지 않으면 동작 1250에서 현재 주행중인 차로 이외의 차로 중 우선 순위가 가장 높은 차로로 차로 변경을 실시한다.
이 같이, 일 실시예에 따른 장치(100)는 주행을 방해하는 오브젝트가 있는 것으로 판단되면 오브젝트를 회피하기 위하여 차로 궤적을 변경하고, 변경된 궤적을 따라 차량이 주행하도록 제어함으로써 오브젝트와의 충돌에 의한 사고를 미연에 방지할 수 있다.
이때, 오브젝트는 주/정차 차량, 사고 차량, 낙하물 등 차량의 주행을 방해하는 요인들이며, 오브젝트와의 거리가 가까워 충돌 위험이 예상될 경우 이를 회피하기 위하여 주행 속도를 줄이는 동작을 더 수행할 수도 있다.
이와 같이, 일 실시예는 프로세서(110)는 정밀지도로 가공된 차로별 주행 궤적의 주행 우선순위를 따라 차량을 자율 주행 제어를 실시하고, 동작 1260에서, 목적지에 도달하면 제어를 종료한다.
한편, 전방에 회전 차로로의 진입 정보가 있으면 회전 유형별로 부여된 우선 순위에 기초하여, 프로세서(110)는 차량이 우선 순위가 높은 차로를 추종하도록 차량의 주행을 제어한다.
이때, 차량이 우선 주행 차로로 주행하도록 제어하면서, 우선 주행 차로에 주행을 방해하는 오브젝트가 존재하면, 현재 주행 차로보다 우선 순위가 높은 차로가 존재하는지 판단한다.
이때, 현재 주행 차로보다 우선 순위가 높은 차로가 존재하면 현재 주행 차로보다 우선 순위가 높은 차로로 주행 궤적을 변경하여 차선 변경을 실시하고, 현재 주행 차로보다 우선 순위가 높은 차로가 존재하지 않으면 현재 주행 차로보다 우선 순위가 낮은 차로로 주행 궤적을 변경 및 차선 변경을 실시하여 오브젝트와의 충돌을 회피할 수 있다.
도 13 및 도 14는 일 실시예에 따라 교차로 및 분기점에서 우선 주행 차로에 오브젝트가 존재하는 경우 주행 제어 방법을 설명하기 위한 예시 그림이다.
우선, 도 13에 도시된 바와 같이 SD Map의 경로와 매칭된 차로 정보가 우측 끝 차로와 연결된 차로이면, 주행 경로 상 각 포인트 아이디의 우선 순위는 4차로 > 3차로 > 2차로 > 1차로로 설정됨에 따라 제 1 포인트 아이디(P1)에서 제 4 포인트 아이디(P4)까지는 우선 주행 차로를 추종하도록 궤적을 생성하므로 차량은 4차로로 주행하게 한다.
이때, 제5 포인트 아이디(P5)와 제6 포인트 아이디(P6) 위치에서는 우선 주행 차로인 4차로에 오브젝트가 존재하므로, 오브젝트를 회피하기 위하여 제5 포인트 아이디(P5) 위치와 제6 포인트 아이디(P6)에서는 2순위인 3차로로 주행하도록 궤적을 생성하여 차로 변경을 실시한다.
이어서, 제7 포인트 아이디(P7) 위치에서는 우선 주행 차로인 4차로에 오브젝트가 존재하지 않으므로, 1순위인 4차로로 주행하도록 궤적을 생성하여 차로 변경을 실시한다.
한편, 도 14에 도시된 바와 같이 SD Map의 경로와 매칭된 차로 정보가 좌측 끝 차로와 연결된 차로이면, 주행 경로 상 각 포인트 아이디의 우선 순위는 1차로 > 2차로 > 3차로 > 4차로 > 5차로로 설정된다.
이때, 자율 주행 차량이 2차로로 주행중인 상태로 가정하면, 좌회전 또는 유턴을 위하여 우선 주행 차로인 1차로로 궤적을 변경하려고 하지만, 제4 포인트 아이디 위치(P4)와 제5 포인트 아이디(P5) 위치에 오브젝트가 존재한다.
즉, 2차로를 주행하는 차량의 주행 경로 상에는 우선 주행 차로가 존재하지 않게 된다.
그러면, 2 차로를 주행중인 차량은 충돌을 회피하기 위하여 우선 순위가 낮은 차로로 궤적 데이터를 변경하여 제4 포인트 아이디(P4)에서 제5 포인트 아이디(P5)까지 3차로로 주행하도록 궤적 데이터를 생성한다.
그리고, 오브젝트를 지나쳐 우선 순위가 존재하는 제6 포인트 아이디(P6) 위치에서는 우선 순위가 높은 차로인 2차로로 궤적 데이터를 변경하고, 제7 포인트 아이디(P7) 위치에서는 우선 순위가 더 높은 차로인 1차로로 궤적 데이터를 변경한다.
이와 같이 일 실시예에 따르면, 진행하고자 하는 경로 전방의 자율 주행 궤적 정보가 존재하는 경우 우선 순위가 높은 차로를 추종하여 주행하도록 제어하되, 주/정차 차량, 사고 차량 또는 낙하물과 같이 우선 순위가 높은 차로의 주행을 방해하는 오브젝트 발견시 오브젝트를 회피하는 방향으로 궤적 데이터를 참조함으로써 차로 변경 실패로 인한 경로 이탈과 차량 멈춤 가능성 및 사고를 미연에 방지할 수 있는 이점이 있다.
다양한 실시예에 따르면, 장치(100)는 복수의 장치들로 구성되어, 각 장치들은 통신 인터페이스(140)을 통해 지정된 서비스를 제공하기 위한 데이터를 송수신할 수 있다. 예를 들어, 장치(100)의 일부 구성요소들은 외부 전자 장치(예: 지정된 서비스 제공 서버)에 포함될 수 있다. 이 경우, 장치(100)에는 지정된 서비스를 제공하는 프로그램(또는, 앱)이 설치되어, 프로세서(110)의 제어에 의해 프로그램을 실행함에 따라 외부 전자 장치()와 데이터를 송수신함에 따라 상기 차로 단위의 자율 주행 경로(궤적 데이터)를 생성 및 활용할 수 있다. 한편, 외부 전자 장치는 SD Map, HD Map 및 지정된 서비스 제공에 관련된 데이터를 저장하고, 장치(100)의 프로그램 요청에 따라 상기 차로 단위의 자율 주행 경로를 탐색 및 제공할 수 있다.
다양한 실시예에 따르면, 장치(100)는 개인 승용차, 버스, 택시, 택배 트럭과 같은 다양한 운송 수단을 통해 다양한 서비스를 제공할 수 있다. 예를 들어, 택시 승객은 승객 단말을 통해 출발지와 목적지를 지정하고, 자율 주행 택시를 호출할 수 있다. 이 경우, 자율 주행 택시는 출발지에서 목적지에 이르는 자율 주행 궤적 데이터를 생성하고, 자율 주행 궤적 데이터를 추종함에 따라 출발지에서 승객을 픽업하고 목적지까지 운송할 수 있다. 다른 예를 들어, 택배 기사가 출발지, 경유지 및 목적지를 설정하면, 자율 주행 택배 트럭은 출발지, 복수의 경유지 및 목적지에 대응하는 자율 주행 궤적 데이터를 생성 및 추종함에 따라 택배를 운송할 수 있다.
이와 같이, 일 실시예에 따른 장치(100)는 자율 주행시 주행하는 차로 상에 주행을 방해하는 오브젝트가 존재하면 미리 생성된 우선 순위에 따라 차로를 변경함으로써 오브젝트를 회피하여 목적지까지 보다 안전하게 자율 주행할 수 있다. 또한, 일 실시예에 따른 장치(100)는 차로 변경 실패로 인한 경로 이탈 및 차량 멈춤 가능성을 낮춰 자율 주행 기술의 보급에 기여할 수 있다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나",“A 또는 B 중 적어도 하나”, "A, B 또는 C", "A, B 및 C 중 적어도 하나” 및 “A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제1", "제2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제1) 구성요소가 다른(예: 제2) 구성요소에, “기능적으로” 또는 “통신적으로”라는 용어와 함께 또는 이런 용어 없이, “커플드” 또는 “커넥티드”라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치) 의해 읽을 수 있는 저장 매체(storage medium)(120)(예: 내장 메모리 또는 외장 메모리)에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램)로서 구현될 수 있다. 예를 들면, 기기(예: 장치(100))의 프로세서(예: 프로세서(110))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
본 문서의 다양한 실시예에 따른 구성 요소들은 소프트웨어 또는 DSP(digital signal processor), FPGA(Field Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)와 같은 하드웨어 형태로 구현될 수 있으며, 소정의 역할들을 수행할 수 있다. '구성 요소들'은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 각 구성 요소는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 일 예로서 구성 요소는 소프트웨어 구성 요소들, 객체지향 소프트웨어 구성 요소들, 클래스 구성 요소들 및 태스크 구성 요소들과 같은 구성 요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함할 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.

Claims (10)

  1. 차량에 구비된 자율 주행 경로 생성 장치에 있어서,
    적어도 하나의 명령어를 저장하는 메모리; 및
    상기 메모리와 기능적으로 연결된 프로세서를 포함하고,
    상기 프로세서는, 상기 적어도 하나의 명령어를 실행함으로써,
    SD Map의 도로 링크를 포함하는 내비게이션 경로 데이터를 획득하고,
    상기 경로 데이터에 매칭되는 HD Map에 따른 후보 링크 그룹들을 확인하고,
    상기 후보 링크 그룹들 간의 연결성에 기반하여 상기 후보 링크 그룹들에 포함된 차로 링크의 우선 순위를 부여하고,
    상기 차로 링크의 우선 순위를 추종하도록 상기 후보 링크 그룹들로부터 자율 주행 궤적 데이터를 생성하는 것인 자율 주행 경로 생성 장치.
  2. 청구항 1에 있어서, 상기 프로세서는, 상기 적어도 하나의 명령어를 실행함으로써,
    상기 HD Map에서 상기 내비게이션 경로 데이터에 포함된 상기 도로 링크에 매칭되는 차로 링크들을 그룹화한 후보 링크 그룹들을 확인하고,
    상기 후보 링크 그룹들을 상기 차량의 주행 방향에 따라 정렬한 후 상기 후보 링크 그룹들 간의 연결성을 확인하는 것인 자율 주행 경로 생성 장치.
  3. 청구항 1에 있어서, 상기 프로세서는, 상기 적어도 하나의 명령어를 실행함으로써,
    상기 후보 링크 그룹들 간의 연결 거리가 짧은 순으로 상기 차로 링크의 우선 순위를 부여하는 것인 자율 주행 경로 생성 장치.
  4. 청구항 1에 있어서, 상기 프로세서는, 상기 적어도 하나의 명령어를 실행함으로써,
    상기 후보 링크 그룹들 내 가장 자리 링크에서 상기 경로 데이터의 출발지 또는 목적지에 가장 근접한 보간점을 찾고,
    차로 링크가 포함되지 않는 경우, 상기 후보 링크 그룹들의 이전 링크 그룹 또는 이후 링크 그룹에서 상기 출발지 또는 상기 목적지에 매칭되는 차로 링크를 확인하는 것인 자율 주행 경로 생성 장치.
  5. 청구항 1에 있어서, 상기 프로세서는, 상기 적어도 하나의 명령어를 실행함으로써,
    목적지의 위치, 교차로 및 분기점에서의 회전 정보에 기반하여 상기 후보 링크 그룹들 간 차로 링크의 연결성을 확인하고 상기 차로 링크의 연결성이 높은 순으로 상기 차로 링크 별 우선 순위를 부여하는 것인 자율 주행 경로 생성 장치.
  6. 청구항 1에 있어서, 상기 프로세서는, 상기 적어도 하나의 명령어를 실행함으로써,
    상기 차량의 주행 방향에서 최우선 순위의 차로 링크에 오브젝트가 있는 것을 확인하면, 상기 오브젝트를 회피하는 차로 링크 중 상대적으로 우선 순위가 높은 차로를 주행하도록 상기 자율 주행 궤적 데이터의 궤적을 변경하는 것인 자율 주행 경로 생성 장치.
  7. 청구항 1에 있어서, 상기 프로세서는, 상기 적어도 하나의 명령어를 실행함으로써,
    상기 교통 정보에 기반하여 차로별 혼잡도 또는 차로별 위험 요소 중 적어도 하나의 정보를 확인하고,
    상기 적어도 하나의 정보에 기반하여 상기 우선 순위를 조정하는 것인 자율 주행 경로 생성 장치.
  8. 청구항 1에 있어서, 상기 프로세서는, 상기 적어도 하나의 명령어를 실행함으로써,
    사용자의 과거 주행 로그에 기반하여 사용자의 선호 차로 또는 회피 차로를 확인하고,
    상기 선호 차로의 우선 순위를 높이는 동작 또는 상기 회피 차로의 우선 순위를 낮추는 동작 중 적어도 하나의 동작을 수행하는 것인 자율 주행 경로 생성 장치.
  9. 자율 주행 경로 생성 방법에 있어서,
    SD Map의 도로 링크를 포함하는 내비게이션 경로 데이터를 획득하는 동작;
    상기 경로 데이터에 매칭되는 HD Map에 따른 후보 링크 그룹들을 확인하는 동작;
    상기 후보 링크 그룹들 간의 연결성에 기반하여 상기 후보 링크 그룹들에 포함된 차로 링크의 우선 순위를 부여하는 동작; 및
    상기 차로 링크의 우선 순위를 추종하도록 상기 후보 링크 그룹들로부터 자율 주행 궤적 데이터를 생성하는 동작
    을 포함하는 자율 주행 경로 생성 방법.
  10. 청구항 9에 있어서, 상기 부여하는 동작은,
    상기 후보 링크 그룹들 간의 연결 거리가 짧은 순으로 상기 차로 링크의 우선 순위를 부여하는 동작을 포함하는 것인 자율 주행 경로 생성 방법.
KR1020230103405A 2022-08-08 2023-08-08 자율 주행 경로 생성 장치 및 방법 KR20240021124A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20220098516 2022-08-08
KR1020220098516 2022-08-08
KR1020220098515 2022-08-08
KR20220098515 2022-08-08

Publications (1)

Publication Number Publication Date
KR20240021124A true KR20240021124A (ko) 2024-02-16

Family

ID=90056212

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230103405A KR20240021124A (ko) 2022-08-08 2023-08-08 자율 주행 경로 생성 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20240021124A (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101664582B1 (ko) 2014-11-12 2016-10-10 현대자동차주식회사 자율주행차량의 주행경로 생성장치 및 방법
KR20170085750A (ko) 2016-01-15 2017-07-25 현대자동차주식회사 차선을 변경하는 차량에 근거한 자율 주행 제어 방법 및 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101664582B1 (ko) 2014-11-12 2016-10-10 현대자동차주식회사 자율주행차량의 주행경로 생성장치 및 방법
KR20170085750A (ko) 2016-01-15 2017-07-25 현대자동차주식회사 차선을 변경하는 차량에 근거한 자율 주행 제어 방법 및 장치

Similar Documents

Publication Publication Date Title
US11231286B2 (en) Dynamic routing for self-driving vehicles
CN110667578B (zh) 自动驾驶车辆的横向决策系统及横向决策确定方法
US10678248B2 (en) Fast trajectory planning via maneuver pattern selection
EP3359436B1 (en) Method and system for operating autonomous driving vehicles based on motion plans
US20220340201A1 (en) Methods and systems for lane changes using a multi-corridor representation of local route regions
EP3861291B1 (en) Spline curve and spiral curve based reference line smoothing method
JP6544444B2 (ja) 運転支援方法及び装置
EP3877897A2 (en) Vehicle trajectory modification for following
WO2019222337A1 (en) Drive envelope determination
US11055540B2 (en) Method for determining anchor boxes for training neural network object detection models for autonomous driving
KR20190067233A (ko) 자율 차량들을 위한 동적 라우팅
US11106212B2 (en) Path planning for complex scenes with self-adjusting path length for autonomous driving vehicles
KR20190016690A (ko) 차량의 주행 제어 방법 및 장치
US11586209B2 (en) Differential dynamic programming (DDP) based planning architecture for autonomous driving vehicles
CN110968092A (zh) 自动驾驶辅助装置
CN111857118A (zh) 对停车轨迹分段以控制自动驾驶车辆停车
US11353878B2 (en) Soft-boundary based path optimization for complex scenes for autonomous driving vehicles
EP3987249B1 (en) A navigation route planning method for autonomous vehicles
US11628858B2 (en) Hybrid planning system for autonomous vehicles
JP7304875B2 (ja) 自動運転制御方法及び自動運転制御システム
US20210188308A1 (en) A qp spline path and spiral path based reference line smoothing method for autonomous driving
WO2019008648A1 (ja) 運転支援車両の目標車速生成方法及び目標車速生成装置
KR20240021124A (ko) 자율 주행 경로 생성 장치 및 방법
JP7433091B2 (ja) 走行経路の設定方法、及び、走行経路の設定装置
JP7162464B2 (ja) 運転支援方法及び運転支援装置

Legal Events

Date Code Title Description
E902 Notification of reason for refusal