KR20190098912A - 다수의 스레드를 이용하여 자율 주행 차량을 위한 기준선을 생성하기 위한 방법 및 시스템 - Google Patents

다수의 스레드를 이용하여 자율 주행 차량을 위한 기준선을 생성하기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR20190098912A
KR20190098912A KR1020190010646A KR20190010646A KR20190098912A KR 20190098912 A KR20190098912 A KR 20190098912A KR 1020190010646 A KR1020190010646 A KR 1020190010646A KR 20190010646 A KR20190010646 A KR 20190010646A KR 20190098912 A KR20190098912 A KR 20190098912A
Authority
KR
South Korea
Prior art keywords
autonomous vehicle
trajectory
reference line
baseline
location
Prior art date
Application number
KR1020190010646A
Other languages
English (en)
Other versions
KR102210714B1 (ko
Inventor
동 리
량량 장
야쟈 장
이페이 쟝
하오양 판
쟝타오 후
Original Assignee
바이두 유에스에이 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 바이두 유에스에이 엘엘씨 filed Critical 바이두 유에스에이 엘엘씨
Publication of KR20190098912A publication Critical patent/KR20190098912A/ko
Application granted granted Critical
Publication of KR102210714B1 publication Critical patent/KR102210714B1/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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • 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
    • B60W30/14Adaptive cruise control
    • 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
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0219Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory ensuring the processing of the whole working surface
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • G05D1/0278Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using satellite positioning signals, e.g. GPS
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/0104Measuring and analyzing of parameters relative to traffic conditions
    • G08G1/0108Measuring and analyzing of parameters relative to traffic conditions based on the source of data
    • G08G1/0112Measuring and analyzing of parameters relative to traffic conditions based on the source of data from the vehicle, e.g. floating car data [FCD]
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/0104Measuring and analyzing of parameters relative to traffic conditions
    • G08G1/0125Traffic data processing
    • G08G1/0129Traffic data processing for creating historical data or processing based on historical data
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/0104Measuring and analyzing of parameters relative to traffic conditions
    • G08G1/0137Measuring and analyzing of parameters relative to traffic conditions for specific applications
    • G08G1/0145Measuring and analyzing of parameters relative to traffic conditions for specific applications for active traffic flow control
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0968Systems involving transmission of navigation instructions to the vehicle
    • G08G1/096805Systems involving transmission of navigation instructions to the vehicle where the transmitted instructions are used to compute a route
    • G08G1/096827Systems involving transmission of navigation instructions to the vehicle where the transmitted instructions are used to compute a route where the route is computed onboard
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0968Systems involving transmission of navigation instructions to the vehicle
    • G08G1/096833Systems involving transmission of navigation instructions to the vehicle where different aspects are considered when computing the route
    • G08G1/096844Systems involving transmission of navigation instructions to the vehicle where different aspects are considered when computing the route where the complete route is dynamically recomputed based on new data

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Chemical & Material Sciences (AREA)
  • Analytical Chemistry (AREA)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • Human Computer Interaction (AREA)
  • Traffic Control Systems (AREA)
  • Navigation (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Game Theory and Decision Science (AREA)
  • Medical Informatics (AREA)

Abstract

제1 처리 스레드를 경유하여, 제1 위치에서 시작하는 제1 기준선을 기반으로 생성된 제1 궤적에 따라 ADV를 제어된다. 제2 처리 스레드를 경유하여, ADV가 미래의 기정된 기간 내에 도착할 수 있는 제1 궤적의 제2 위치를 기반으로 제2 기준선을 동시에 생성한다. 해당 기정된 기간은 ADV를 위한 기준선을 생성하는데 필요한 시간량보다 크거나 같다. ADV가 제1 궤적에 따라 이동하고 제2 위치에 도착하기 전에, 제2 기준선을 생성한다. 다음, ADV가 제2 위치의 기정된 근접 구역 내에 처하는 것이 확정됨에 응답하여, 제2 위치에서 제2 기준선을 계산할 필요 없이 제2 기준선을 기반으로 제2 궤적을 생성한다.

Description

다수의 스레드를 이용하여 자율 주행 차량을 위한 기준선을 생성하기 위한 방법 및 시스템{Method and System for Generating Reference Lines for Autonomous Driving Vehicles using Multiple Threads}
본 개시의 실시예는 전반적으로 자율 주행 차량을 작동하는 것에 관한 것이다, 더 구체적으로, 본 개시의 실시예는 자율 주행 차량을 제어하기 위한 기준선을 생성하는 것에 관한 것이다.
자율 주행 모드로 작동하는(예를 들어, 운전자가 없는) 차량은 탑승자, 특히 운전자를 일부 운전에 관련된 의무에서 해방하도록 할 수 있다. 자율 주행 모드로 작동할 경우, 차량은 차량용 센서를 이용하여 다양한 위치로 내비게이션할 수 있으므로, 차량이 인간과 컴퓨터 사이의 인터랙션이 가장 적은 상황 또는 승객이 전혀 없는 일부 상황에서 주행하는 것을 허용한다.
움직임 계획 및 제어는 자율 주행 중의 매우 중요한 조작이다. 통상적으로, 자율 주행 차량(ADV)은 기준선에 따라 제어되고 구동된다. 주행 궤적이 생성될 경우, 시스템은 기준선에 크게 의존한다. 기준선은 지도 상의 평활한 선이다. 차량은 기준선을 따름으로써 주행하려고 한다. 지도 상의 도로 및 차도는 보통 일련의 연결된 선 세그먼트로 표시되고, 이 선 세그먼트들은 평활하지 않고 ADV가 이들을 따르기는 어렵다. 따라서, 기준선에 대해 평활 최적화가 수행되어 기준선은 평활화된다. 그러나, 이러한 최적화는 시간을 많이 소모한다. 예를 들어, 100 미터(m) 길이의 기준선은 0.1초를 들여 평활화될 수 있다. 다음 궤적을 계획하는 계획 주기는 약 0.1초이고, 따라서, 이는 최적화를 완료하기에 충분하지 않다.
본 개시의 실시예는 전반적으로 자율 주행 차량을 작동하는 것에 관한 것이다.
본 개시의 일 방면은 자율 주행 차량을 작동하기 위한 기준선을 생성하는 컴퓨터 구현 방법에 관한 것이다. 상기 방법은, 제1 처리 스레드를 경유하여, 제1 위치에서 시작하는 제1 기준선을 기반으로 생성된 제1 궤적에 따라 자율 주행 차량을 제어하는 단계; 제2 처리 스레드를 경유하여, 상기 자율 주행 차량이 미래의 기정된 기간 내에 도착할 것으로 예상되는 상기 제1 궤적의 제2 위치를 기반으로 제2 기준선을 동시에 생성하는 단계; 상기 자율 주행 차량이 상기 제2 위치의 기정된 근접 구역 내에 처하는 것이 확정됨에 응답하여, 상기 제2 위치에서 상기 제2 기준선을 계산할 필요 없이 상기 제2 기준선을 기반으로 제2 궤적을 생성하는 단계; 및 상기 제2 위치에서 시작하는 상기 제2 궤적에 따라 상기 자율 주행 차량을 제어하는 단계를 포함한다.
본 개시의 다른 일 방면은 비일시적인 기계 판독 가능한 매체에 관한 것이다. 상기 비일시적인 기계 판독 가능한 매체에는 명령어가 저장되고, 상기 명령어는 프로세서에 의해 실행될 경우 상기 프로세서로 하여금 조작을 수행하도록 한다. 상기 조작은, 제1 처리 스레드를 경유하여, 제1 위치에서 시작하는 제1 기준선을 기반으로 생성된 제1 궤적에 따라 자율 주행 차량을 제어하는 단계; 제2 처리 스레드를 경유하여, 상기 자율 주행 차량이 미래의 기정된 기간 내에 도착할 것으로 예상되는 상기 제1 궤적의 제2 위치를 기반으로 제2 기준선을 동시에 생성하는 단계; 상기 자율 주행 차량이 상기 제2 위치의 기정된 근접 구역 내에 처하는 것이 확정됨에 응답하여, 상기 제2 위치에서 상기 제2 기준선을 계산할 필요 없이 상기 제2 기준선을 기반으로 제2 궤적을 생성하는 단계; 및 상기 제2 위치에서 시작하는 상기 제2 궤적에 따라 상기 자율 주행 차량을 제어하는 단계를 포함한다.
본 개시의 또 다른 일 방면은 데이터 처리 시스템에 관한 것이다. 상기 데이터 처리 시스템은 프로세서 및 메모리를 포함하되, 상기 메모리는 명령어를 저장하도록 상기 프로세서에 연결된다. 상기 명령어는 상기 프로세서에 의해 실행될 경우 상기 프로세서로 하여금 조작을 수행하도록 한다. 상기 조작은, 제1 처리 스레드를 경유하여, 제1 위치에서 시작하는 제1 기준선을 기반으로 생성된 제1 궤적에 따라 자율 주행 차량을 제어하는 단계; 제2 처리 스레드를 경유하여, 상기 자율 주행 차량이 미래의 기정된 기간 내에 도착할 것으로 예상되는 상기 제1 궤적의 제2 위치를 기반으로 제2 기준선을 동시에 생성하는 단계; 상기 자율 주행 차량이 상기 제2 위치의 기정된 근접 구역 내에 처하는 것이 확정됨에 응답하여, 상기 제2 위치에서 상기 제2 기준선을 계산할 필요 없이 상기 제2 기준선을 기반으로 제2 궤적을 생성하는 단계; 및 상기 제2 위치에서 시작하는 상기 제2 궤적에 따라 상기 자율 주행 차량을 제어하는 단계를 포함한다.
본 개시의 실시예는 자율 주행 차량을 제어하기 위한 기준선을 생성하는 것에 관한 것이다.
본 개시의 실시예는 첨부된 도면의 각 도면에서 한정적이 아니고 예를 드는 방식으로 도시되어 도면의 동일한 첨부기호가 유사한 부품을 가리킨다.
도1은 일 실시예에 따른 네트워크화된 시스템을 나타내는 블록도이다.
도2는 일 실시예에 따른 자율 주행 차량의 예시를 나타내는 블록도이다.
도3A 및 도3B는 일 실시예에 따른 자율 주행 차량과 함께 사용되는 감지 및 계획 시스템의 예시를 나타내는 블록도이다.
도4는 일 실시예에 따른 다수의 스레드를 이용하여 기준선을 생성하는 프로세스를 나타내는 도면이다.
도5는 일 실시예에 따른 다수의 기준선을 동시에 생성하기 위한 다수의 스레드의 예시를 나타내는 블록도이다.
도6은 일 실시예에 따른 기준선을 저장하고 검색하기 위한 데이터 구조의 예시를 나타내는 블록도이다.
도7은 일 실시예에 따른 기준선을 생성하는 프로세스를 나타내는 흐름도이다.
도8은 다른 일 실시예에 따른 기준선을 생성하는 프로세스를 나타내는 흐름도이다.
도9는 다른 일 실시예에 따른 기준선을 생성하는 프로세스를 나타내는 흐름도이다.
도10은 일 실시예에 따른 데이터 처리 시스템을 나타내는 블록도이다.
이하, 기술된 세부 사항들을 참조하여 본 개시의 다양한 실시예와 방면에 대해 설명하기로 하는 바, 첨부된 도면은 상기 다양한 실시예를 나타낸다. 이하의 설명과 도면은 본 개시에 대한 설명일 뿐, 본 개시를 한정하는 것으로 해석하여서는 아니된다. 본 개시의 다양한 실시예들에 대한 완전한 이해를 제공하기 위해 대량의 특정된 세부 사항들에 대해 설명하였다. 그러나, 일부 상황에서는, 본 개시의 실시예에 대한 간결한 기술을 제공하기 위해 널리 알려져 있거나 관습적인 세부 사항에 대해서는 설명하지 않는다.
본 명세서에 있어서, "일 실시예" 또는 "실시예"에 대한 언급은 해당 실시예를 결합하여 설명한 특정의 특징, 구조 또는 특성이 본 개시의 적어도 하나의 실시예에 포함될 수 있음을 의미한다. 본 개시의 여러 곳에 나타난 문구 "일 실시예에 있어서"는 전부 동일한 실시예를 가리켜야만 하는 것이 아니다.
일부 실시예에 따르면, ADV가 기준선을 기반으로 생성된 궤적에서 주행할 경우, 단독적 스레드는 실행되어, 예측된 ADV의 미래 위치를 기반으로 미래 계획 주기를 위한 새로운 기준선 또는 미래 기준선은 미리 병렬로 계산된다. 선택적으로, 노선 및 지도 정보를 기반으로 초기 기준 노선이 이미 확정될 경우, 차량이 도착할 수 있고 기준선을 따른 일련의 미래 위치는 예측된다. 각 미래 위치에 대하여, 기준선은 다시 계산되고 평활화된다. 미리 계산된 기준선은 메모리 또는 영구 저장 장치 중의 데이터 구조에 유지된다. ADV가 결국 예측된 미래 위치에 도착할 경우, 해당 위치에 대응되는 기준선은 쉽게 획득된 것이다. 다음, 해당 위치에서 시작하는 새로운 궤적은 해당 특정 위치의 시점에서 동일한 기준선을 계산할 필요 없으면서 해당 기준선을 이용하여 생성된다. 따라서, 시스템은 처음부터 기준선을 계산할 필요가 없으므로 계획 주기 내에 궤적을 생성하는 충분한 시간이 있다.
일 실시예에 따르면, 제1 처리 스레드를 경유하여, ADV는 제1 위치에서 시작하는 제1 기준선을 기반으로 생성된 제1 궤적에 따라 제어된다. 동시에, 제2 처리 스레드를 경유하여, 제2 기준선은 ADV가 미래의 기정된 기간 내에 도착할 수 있는 제1 궤적 또는 제1 기준선의 제2 위치를 기반으로 생성된다. 기정된 기간은 ADV를 위한 기준선을 생성하는데 필요한 시간량보다 크거나 같다. 제2 기준선은 ADV가 제1 궤적에 따라 이동하고 제2 위치에 도착하기 전에 생성된다. 이어서, ADV가 제2 위치의 기정된 근접 구역 내에 있는 것은 확정됨에 응답하여, 제2 위치에서 제2 기준선을 계산할 필요가 없으면서 제2 궤적은 제2 기준선을 기반으로 생성된다. 다음, ADV는 제2 궤적에 따라 제어된다.
다른 일 실시예에 따르면, ADV가 제1 처리 스레드를 경유하여 제1 궤적에 따라 주행할 경우, 다수의 미래 기준선은 상응하고 상이한 스레드를 경유하여 동싱에 생성될 수 있다. 각 미래 기준선은 ADV가 도착할 수 있는 예측된 미래 위치 중의 한 상이한 위치에서 시작된다. 다음, 기준선은 메모리 또는 영구 저장 장치와 같은 저장 위치에 저장된다. 예를 들어, 기준선은 위치부터 기준선까지(위치/기준선) 매핑 테이블에 저장될 수 있다. 위치/기준선 매핑 테이블은 대량의 매핑 항목을 포함한다. 각 매핑 항목은 매핑된 위치(예를 들어, 기준선의 시작 위치)에 대응되는 특정 기준선에 특정 위치를 매핑한다. 이어서, ADV가 특정 위치에 이동할 경우, 조회 조작은 ADV의 현재 위치를 기반으로 위치/기준선 매핑 테이블에서 수행되어, 현재 위치(예를 들어, 매칭하는 위치의 기정된 근접 구역 내에 있음)와 매칭되는 매핑 항목의 위치는 측정된다. 다음, 매칭하는 위치에 대응되는 기준선은 획득되며, 해당 시점에서 기준선을 계산할 필요가 없으면서 해당 기준선은 다음의 계획 주기의 궤적을 생성하는데 사용될 수 있다.
도1은 본 개시의 일 실시예에 따른 자율 주행 차량 네트워크 구성을 나타내는 블록도이다. 도1을 참조하면, 네트워크 구성(100)은 네트워크(102)를 통해 통신적 방식으로 하나 또는 다수의 서버(103-104)에 연결될 수 있는 자율 주행 차량(101)을 포함한다. 비록 하나의 자율 주행 차량을 도시하였지만, 다수의 자율 주행 차량이 네트워크(102)를 통해 상호 연결되고 및/또는 서버(103-104)에 연결될 수 있다. 네트워크(102)는 임의 유형의 네트워크일 수 있고, 예를 들어, 유선 또는 무선의 근거리 통신망(LAN), 인터넷과 같은 광역 통신망(WAN), 셀룰러 네트워크, 위성 네트워크 또는 이들의 조합일 수 있다. 서버(103-104)는 임의 유형의 서버 또는 서버 클러스터일 수 있고, 예를 들어, 네트워크 또는 클라우드 서버, 애플리케이션 서버, 백엔드 서버 또는 이들의 조합일 수 있다. 서버(103-104)는 데이터 분석 서버, 콘텐츠 서버, 교통 정보 서버, 지도 및 관심 지점(MPOI) 서버 또는 위치 서버 등일 수 있다.
자율 주행 차량은 자율 주행 모드에 처하도록 구성될 수 있는 차량을 가리키고, 상기 자율 주행 모드에서, 차량은 운전자로부터의 입력이 극히 적거나 아예 없는 상황에서 내비게이션을 하고 환경을 통행한다. 이러한 자율 주행 차량은 센서 시스템을 포함할 수 있고, 상기 센서 시스템은 차량 작동 환경과 관련된 정보를 검측하도록 구성된 하나 또는 다수의 센서를 구비한다. 상기 차량과 그에 관련된 제어기는 검측된 정보를 이용하여 내비게이션을 하고 환경을 통행한다. 자율 주행 차량(101)은 수동 모드, 완전 자율 모드 또는 부분 자율 모드에서 작동할 수 있다.
일 실시예에 있어서, 자율 주행 차량(101)은 감지 및 계획 시스템(110), 차량 제어 시스템(111), 무선 통신 시스템(112), 사용자 인터페이스 시스템(113), 인포테인먼트 시스템(114), 및 센서 시스템(115)을 포함하나, 이에 한정되지 않는다. 자율 주행 차량(101)은 일반적인 차량 중에 포함된 일부 범용 부품(예를 들어, 엔진, 바퀴, 핸들 및 변속기 등)을 더 포함할 수 있고, 상기 범용 부품은 차량 제어 시스템(111) 및/또는 감지 및 계획 시스템(110)에 의해 다양한 통신 신호 및/또는 명령(예를 들어, 가속도 신호 또는 명령, 감속도 신호 또는 명령, 조향 신호 또는 명령, 제동 신호 또는 명령 등)을 이용하여 제어될 수 있다.
부품(110-115)은 상호 연결 장치, 버스, 네트워크 또는 이들의 조합을 통해 통신적 방식으로 상호 연결될 수 있다. 예를 들어, 부품(110-115)은 계측 제어기 통신망(CAN)의 버스를 경유하여 통신적 방식으로 상호 연결될 수 있다. CAN 버스는 마이크로 제어기 및 장치로 하여금 호스트 컴퓨터가 없는 애플리케이션에서 상호 통신이 가능하도록 설계된 차량 버스 표준이다. 상기 CAN 버스는 정보 기반의 프로토콜이고, 처음엔 자동차 내의 멀티 플렉스 전기 배선을 위해 설계되었으나, 기타 다양한 상황에서도 사용된다.
도2를 참조하면, 일 실시예에 있어서, 센서 시스템(115)은 하나 또는 다수의 카메라(211), 위성 위치 확인 시스템(GPS) 유닛(212), 관성 측정 유닛(IMU; 213), 레이더 유닛(214)과 광탐지 및 거리측정(LIDAR) 유닛(215)을 포함하나, 이에 한정되지 않는다. GPS 시스템(212)은 송수신기를 포함할 수 있고, 상기 송수신기는 자율 주행 차량의 위치와 관련된 정보를 제공하도록 작동될 수 있다. IMU 유닛(213)은 관성 가속도를 기반으로 자율 주행 차량의 위치와 방향 변화를 감지할 수 있다. 레이더 유닛(214)은 라디오 신호를 이용하여 자율 주행 차량의 로컬 환경 내의 대상을 감지하는 시스템을 표시할 수 있다. 일부 실시예에 있어서, 대상 감지외에, 레이더 유닛(214)은 대상의 속도 및/또는 전진 방향을 더 감지할 수 있다. LIDAR 유닛(215)은 레이저를 이용하여 자율 주행 차량이 처하는 환경 중의 대상을 감지할 수 있다. 기타 시스템 부품 외에, LIDAR 유닛(215)은 하나 또는 다수의 레이저 소스, 레이저 스캐너, 및 하나 또는 다수의 탐지기를 더 포함할 수 있다. 카메라(211)는 자율 주행 차량 주변 환경의 이미지를 수집하기 위한 하나 또는 다수의 장치를 포함할 수 있다. 카메라(211)는 스틸 카메라 및/또는 비디오 카메라일 수 있다. 카메라는 기계적으로 이동 가능할 수 있고, 예를 들어, 카메라를 회전 플랫폼 및/또는 경사진 플랫폼에 설치함으로써 이동 가능할 수 있다.
센서 시스템(115)은 기타 센서를 더 포함할 수 있고, 예를 들어, 소나 센서, 적외선 센서, 조향 센서, 스로틀 센서, 제동 센서 및 오디오 센서(예를 들어, 마이크)를 포함할 수 있다. 오디오 센서는 자율 주행 차량 주변의 환경에서 소리를 캡처하도록 구성될 수 있다. 조향 센서는 핸들, 차량의 바퀴 또는 그들의 조합의 조향 각도를 감지하도록 구성될 수 있다. 스로틀 센서 및 제동 센서는 차량의 스로틀 위치 및 제동 위치를 각각 감지한다. 일부 상황에서, 스로틀 센서 및 제동 센서는 집적 스로틀/제동 센서로 통합될 수 있다.
일 실시예에 있어서, 차량 제어 시스템(111)은 조향 유닛(201), 스로틀 유닛(202; 가속 유닛으로도 지칭됨), 및 제동 유닛(203)을 포함하나, 이에 한정되지 않는다. 조향 유닛(201)은 차량의 방향 또는 전진 방향을 조정하도록 구성된다. 스로틀 유닛(202)은 모터 또는 엔진의 속도를 제어하도록 구성되며, 상기 모터 또는 엔진의 속도는 차량의 속도와 가속도를 제어한다. 제동 유닛(203)은 마찰을 제공하여 차량의 바퀴 또는 타이어를 늦춤으로써 차량의 속도를 줄인다. 도2에 도시된 부품은 하드웨어, 소프트웨어 또는 이들의 조합으로 구현될 수 있음을 유의하여야 한다.
도1을 다시 참조하면, 무선 통신 시스템(112)은 자율 주행 차량(101)과 외부 시스템(예를 들어, 장치, 센서, 기타 차량 등) 사이의 통신이 가능하도록 한다. 예를 들어, 무선 통신 시스템(112)은 하나 또는 다수의 장치와 무선 통신을 직접 진행할 수 있거나 통신 네트워크를 통해 무선 통신을 진행할 수 있고, 예를 들어, 네트워크(102)를 통해 서버(103-104)와 통신을 진행할 수 있다. 무선 통신 시스템(112)은 임의의 셀룰러 통신망 또는 무선 근거리 통신망(WLAN; 예를 들어, WIFI)을 이용하여 기타 부품 또는 시스템과 통신할 수 있다. 예를 들어, 무선 통신 시스템(112)은 적외선 링크, 블루투스 등을 이용하여 장치(예를 들어, 승객의 모바일 장치, 디스플레이 장치, 및 차량(101) 내의 스피커)와 직접 통신할 수 있다. 사용자 인터페이스 시스템(113)은 차량(101) 내에 구현된 주변 장치의 일부분일 수 있고, 예를 들어, 키보드, 터치 스크린 디스플레이 장치, 마이크로폰, 스피커 등을 포함한다.
특히 자율 주행 모드에서 작동할 경우, 자율 주행 차량(101)의 일부 또는 전부 기능은 감지 및 계획 시스템(110)에 의해 제어되거나 관리될 수 있다. 감지 및 계획 시스템(110)은 필요한 하드웨어(예를 들어, 프로세서, 메모리, 및 저장 장치)와 소프트웨어(예를 들어, 운영 체제, 계획 및 노선 배정 프로그램)를 포함하여 센서 시스템(115), 제어 시스템(111), 무선 통신 시스템(112) 및/또는 사용자 인터페이스 시스템(113)에서 정보를 수신하고, 수신된 정보를 처리하고, 시작점으로부터 목적지점까지의 노선 또는 경로를 계획하며, 다음, 계획 및 제어 정보에 기반하여 차량(101)을 운전한다. 선택적으로, 감지 및 계획 시스템(110)은 차량 제어 시스템(111)과 통합될 수 있다.
예를 들어, 승객으로서의 사용자가, 예를 들어, 사용자 인터페이스를 경유하여 트립의 시작 위치와 목적지를 지정할 수 있다. 감지 및 계획 시스템(110)은 트립에 관한 데이터를 획득한다. 예를 들어, 감지 및 계획 시스템(110)은 MPOI 서버에서 위치 및 노선 정보를 획득할 수 있고, 상기 MPOI 서버는 서버(103-104)의 일부분일 수 있다. 위치 서버는 위치 서비스를 제공하고, MPOI 서버는 지도 서비스 및 일부 위치의 POI를 제공한다. 선택적으로, 이러한 위치 및 MPOI 정보는 감지 및 계획 시스템(110)의 영구 저장 장치에 로컬로 캐시될 수 있다.
자율 주행 차량(101)이 노선을 따라 이동할 경우, 감지 및 계획 시스템(110)은 교통 정보 시스템 또는 서버(TIS)에서 실시간 교통 정보를 더 획득할 수 있다. 서버(103-104)는 제3자 엔터티에 의해 작동될 수 있음을 유의하여야 한다. 선택적으로, 서버(103-104)의 기능은 감지 및 계획 시스템(110)과 통합될 수 있다. 실시간 교통 정보, MPOI 정보, 위치 정보 및 센서 시스템(115)에 의해 검측 또는 감지된 실시간 로컬 환경 데이터(예를 들어, 장애물, 대상 및 근처의 차량)에 기반하여, 감지 및 계획 시스템(110)은 감지 및 계획 시스템(110)은 지정된 목적지에 안전하게 효율적으로 도착하도록 최적 노선을 계획하고, 계획된 노선에 따라, 예를 들어, 제어 시스템(111)을 통해 차량(101)을 운전할 수 있다.
서버(103)는 다양한 클라이언트를 위해 데이터 분석 서비스를 수행하는 데이터 분석 시스템일 수 있다. 일 실시예에 있어서, 데이터 분석 시스템(103)은 데이터 수집기(121)와 기계 학습 엔진(122)을 포함한다. 데이터 수집기(121)는 다양한 차량(자율 주행 차량 또는 인간 운전자가 운전하는 상용 차량)에서 주행 통계 데이터(123)를 수집한다. 주행 통계 데이터(123)는, 내리는 주행 명령(예를 들어, 스로틀, 제동, 및 조향 명령) 및 차량의 센서가 상이한 시점에서 캡처하는 차량의 응답(예를 들어, 속도, 가속, 감속, 및 방향)을 지시하는 정보를 포함한다. 주행 통계 데이터(123)는 상이한 시점에서의 주행 환경을 설명하는 정보를 더 포함할 수 있고, 예를 들어, 노선(시작 위치 및 목적지 위치를 포함함), MPOI, 도로 상태, 날씨 상태 등을 포함할 수 있다.
주행 통계 데이터(123)에 기반하여, 기계 학습 엔진(122)은 여러 가지의 목적에서 한 세트의 규칙, 알고리즘 및/또는 예측 모델(124)을 생성 또는 훈련한다. 규칙/알고리즘(124)은 규칙 또는 알고리즘을 포함하여 기준선을 계산할 수 있다. 일 실시예에 있어서, 규칙(124)은 단독적 스레드를 경유하여 새로운 기준선을 동시에 계산하도록 ADV의 미래 위치가 선택되어야 할 때에 ADV의 현재 위치에서 얼마나 떨어져 있는지를 나타내는 정보를 포함할 수 있다. 예를 들어, 기준선을 계산하는 데 1초가 걸리면, 미래 위치는 차량이 1초, 2초, 3초 등 시간 내에 도착하는 위치 중에서 선택되어야 하고, 이 위치들은 1초 후의 위치, 2초 후의 위치, 3초 후의 위치 등으로 지칭된다. 이러한 미래 위치는 해당 시점에서 차량의 속도에 기반하여 동적으로 확정될 수 있다. 이러한 알고리즘은 특정 유형의 차량에 대한 과거의 주행 통계 데이터를 기반으로 생성될 수 있다.
도3A 및 도3B는 일 실시예에 따른 자율 주행 차량과 함께 사용되는 감지 및 계획 시스템의 예시를 나타내는 블록도이다. 시스템(300)은 도1의 자율 주행 차량(101)의 일부분으로 구현될 수 있고, 감지 및 계획 시스템(110), 제어 시스템(111) 및 센서 시스템(115)을 포함하나, 이에 한정되지 않는다. 도3A 및 도3B를 참조하면, 감지 및 계획 시스템(110)은 위치 측정 모듈(301), 감지 모듈(302), 예측 모듈(303), 결정 모듈(304), 계획 모듈(305), 제어 모듈(306), 노선 제정 모듈(307) 및 기준선 생성기 또는 생성 모듈(308)을 포함하나, 이에 한정되지 않는다.
모듈(301-308)의 일부 또는 전부는 소프트웨어, 하드웨어, 또는 이들의 조합으로 구현될 수 있다. 예를 들어, 이 모듈들은 영구 저장 장치(352)에 설치될 수 있고, 메모리(351)에 로딩될 수 있고, 하나 또는 다수의 프로세서(미도시)에 의해 실행될 수 있다. 이 모듈들 중의 일부 또는 전부는 도2의 차량 제어 시스템(111)의 일부 또는 전부 모듈에 통신적 방식으로 연결되거나 그들과 통합될 수 있다. 모듈(301-308) 중의 일부는 집적 모듈로 통합될 수 있다.
위치 측정 모듈(301)은 자율 주행 차량(300)의 현재 위치를 확정하고, 예를 들어, GPS 유닛(212)을 이용하여 확정하고, 사용자의 트립 또는 노선과 관련된 임의 데이터를 관리한다. 위치 측정 모듈(301)(지도 및 노선 모듈로도 지칭됨)은 사용자의 트립 또는 노선과 관련된 임의 데이터를 관리한다. 예를 들어, 사용자는 사용자 인터페이스를 경유하여 로그인하고 트립의 시작 위치 및 목적지를 지정할 수 있다. 위치 측정 모듈(301)은 지도 및 노전 정보(311)와 같은 자율 주행 차량(300)의 기타 부품과 통신하여 트립에 관한 데이터를 획득한다. 예를 들어, 위치 측정 모듈(301)은 위치 서버와 지도 및 POI(MPOI) 서버에서 위치 및 노선 정보를 획득할 수 있다. 위치 서버는 위치 서비스를 제공하고, MPOI 서버는 지도 서비스 및 일부 위치의 POI를 제공하고, 따라서, 이는 지도 및 노전 정보(311)의 일부분으로 캐시될 수 있다. 자율 주행 차량(300)이 노선을 따라 이동할 경우, 위치 측정 모듈(301)은 교통 정보 시스템 또는 서버에서 실시간 교통 정보를 획득할 수도 있다.
센서 시스템(115)이 제공한 센서 데이터 및 위치 측정 모듈(301)이 획득한 위치 확정 정보에 기반하여, 감지 모듈(302)은 주변 환경에 대한 감지를 확정한다. 감지 정보는 보통 운전자가 운전하는 차량 주변에서 운전자가 감지하게 되는 것을 표시할 수 있다. 감지는 대상 형식을 이용하는 차도 구성(예를 들어, 직선 차도 또는 곡선 차도), 교통 신호, 다른 일 차량의 상대 위치, 보행자, 건물, 횡단 보도 또는 교통에 관한 기타 표지(예를 들어, 정지 표지, 양보 표지) 등과 같은 것을 포함할 수 있다.
감지 모듈(302)은 컴퓨터 시각 시스템 또는 컴퓨터 시각 시스템의 기능을 포함하여 하나 또는 다수의 카메라에 의해 수집된 이미지를 처리하고 분석할 수 있고, 따라서, 자율 주행 차량의 환경 중의 대상 및/또는 특징을 식별하게 된다. 상기 대상은 교통 신호, 도로 경계선, 기타 차량, 보행자 및/또는 장애물 등을 포함할 수 있다. 컴퓨터 시각 시스템은 대상 인식 알고리즘, 동영상 추적 및 기타 컴퓨터 시각 기술을 이용할 수 있다. 일부 실시예에 있어서, 컴퓨터 시각 시스템은 환경 지도를 제작하고 대상을 추적하고 대상의 속도를 추산할 수 있다. 감지 모듈(302)은 레이더 및/또는 LIDAR와 같은 기타 센서에 의해 제공된 기타 센서 데이터에 기반하여 대상을 검측할 수도 있다.
각 대상에 대하여, 예측 모듈(303)은 대상이 이런 상황에서 어떻게 표현하는지를 예측한다. 한 세트의 지도/노선 정보(311) 및 교통 규칙(312)에 따라, 예측은 해당 시점에서 주행 환경을 감지하는 감지 데이터를 기반으로 수행된다. 예를 들어, 대상이 반대 방향을 따른 차량이고 현재 주행 환경이 교차로를 포함할 경우, 예측 모듈(303)은 차량이 앞으로 직진할지, 회전을 할지를 예측하게 된다. 감지 데이터가 교차로에 신호등이 없는 것을 표명할 경우, 예측 모듈(303)은 차량이 교차로에 들어가기 전에 완전히 정지하여야 할 수 있는지를 예측할 수 있다. 감지 데이터가 차량이 현재 좌회전 전용 차도 또는 우회전 전용 차도에 처하는 것을 표명할 경우, 예측 모듈(303)은 차량이 좌회전 또는 우회전을 할 가능성이 더 높은 것을 각각 예측할 수 있다.
각 대상에 대하여, 결정 모듈(304)은 대상을 어떻게 처리하는지에 관한 결정을 내린다. 예를 들어, 특정 대상(예를 들어, 교차로 중의 다른 일 차량) 및 대상을 설명하는 메타데이터(예를 들어, 속도, 방향, 및 회전 각도)에 대하여, 결정 모듈(304)은 상기 대상과 어떻게 마주치는지(예를 들어, 추월, 양보, 정지, 및 초과)를 결정한다. 결정 모듈(304)은 교통 규칙 또는 주행 규칙(312)과 같은 규칙 세트에 따라 이러한 결정을 내릴 수 있고, 상기 규칙 세트는 영구 저장 장치(352)에 저장될 수 있다.
노선 제정 모듈(307)은 시작점으로부터 목적지점까지의 하나 또는 다수의 노선 또는 경로를 제공하도록 구성된다. 시작 위치로부터 목적지 위치까지의 지정된 트립(예를 들어, 사용자로부터 수신된 지정된 트립)에 대하여, 노선 제정 모듈(307)은 노선 및 지도 정보(311)를 획득하고, 시작 위치로부터 목적지 위치에 도착하는 모든 가능한 노선 또는 경로를 확정한다. 노선 제정 모듈(307)은 이에 의해 확정되고 시작 위치로부터 목적지 위치에 도착하는 각 노선을 위한 기준선을 지형도의 형식으로 생성할 수 있다. 선택적으로, 기준선은 기준선 생성기(308)에 의해 생성될 수 있다. 기준선은 기타 차량, 장애물 또는 교통 상황과 같은 기타 것들에서 아무런 방해를 받지 않는 이상적인 노선 또는 경로를 가리킨다. 즉, 도로 위에 기타 차량, 보행자 또는 장애물이 없을 경우, ADV는 기준선을 정확하게 또는 긴밀하게 따라야 한다. 다음, 지형도는 결정 모듈(304) 및/또는 계획 모듈(305)에 제공된다. 결정 모듈(304) 및/또는 계획 모듈(305)은 모든 가능한 노선을 검사하여 기타 모듈에 의해 제공된 기타 데이터(예를 들어, 위치 측정 모듈(301)로부터의 교통 상황, 감지 모듈(302)에 의해 감지된 주행 환경, 및 예측 모듈(303)에 의해 예측된 교통 상황)에 따라 최적 노선 중의 하나를 선택하고 변경한다. 해당 시점에서의 특정 주행 환경에 의존하여, ADV를 제어하기 위한 실제 경로 또는 노선은 노선 제정 모듈(307)에 의해 제공된 기준선과 가깝거나 다를 수도 있다.
감지된 대상 중의 각각에 대한 결정에 기반하여, 계획 모듈(305)은 노선 제정 모듈(307)에 의해 제공된 기준선을 기준으로 사용하여, 자율 주행 차량을 위해 경노 또는 노선, 및 주행 파라미터(예를 들어, 거리, 속도 및/또는 회전 각도)를 계획한다. 즉, 지정된 대상에 대하여, 결정 모듈(304)은 해당 대상에 대해 뭘 하는지를 결정하고, 계획 모듈(305)은 어떻게 할지를 확정한다. 예를 들어, 지정된 대상에 대하여, 결정 모듈(304)은 대상를 초과하는 것을 결정할 수 있고, 계획 모듈(305)은 대상의 왼쪽 또는 오른쪽에서 초과하는지를 확정할 수 있다. 계획 및 제어 데이터는 계획 모듈(305)에 의해 생성되고, 차량(300)이 다음 이동 사이클(예를 들어, 다음 노선/경로 세그먼트)에서 어떻게 이동할지를 설명하는 정보를 포함한다. 예를 들어, 계획 및 제어 데이터는 차량(300)이 시속 30마일(mph)의 속도로 10m를 이동하고, 다음, 25mph의 속도로 오른쪽 차도로 변경하도록 지시할 수 있다.
계획 및 제어 데이터에 기반하여, 제어 모듈(306)은 계획 및 제어 데이터에 의해 한정된 노선 또는 경로에 따라 적절한 명령 또는 신호를 차량 제어 시스템(111)에 발송함으로써 자율 주행 차량을 제어하고 운전한다. 상기 계획 및 제어 데이터는 충분한 정보를 포함하여, 경로 또는 노선을 따라 상이한 시점에서 적절한 차량 설정 또는 주행 파라미터(예를 들어, 스로틀, 제동 및 회전 명령)를 이용하여 차량을 노선 또는 경로의 제1 점으로부터 제2점에 운전하도록 한다.
일 실시예에 있어서, 계획 단계는 다수의 계획 주기(명령 주기로도 지칭됨)에서 수행되고, 예를 들어, 시간 간격이 100 밀리초(ms)인 모든 주기에서 수행된다. 계획 주기 또는 명령 주기 중의 각각에 대하여, 하나 또는 다수의 제어 명령은 계획 및 제어 데이터를 기반으로 내리게 된다. 즉, 각 100ms에 대하여, 계획 모듈(305)은 다음 노선 세그먼트 또는 경로 세그먼트를 계획하고, 예를 들어, 목표 위치 및 ADV가 목표 위치에 도착하는 데 필요한 시간을 포함한다. 선택적으로, 계획 모듈(305)은 구체적인 속도, 방향 및/또는 조향각 등을 더 규정할 수 있다. 일 실시예에 있어서, 계획 모듈(305)은 다음 예정된 기간(예를 들어, 5초)을 위해 노선 세그먼트 또는 경로 세그먼트를 계획한다. 각 계획 주기에 대하여, 계획 모듈(305)은 지난 주기에서 계획된 목표 위치에 기반하여 현재 주기(예를 들어, 다음 5초)를 위한 목표 위치를 계획한다. 다음, 제어 모듈(306)은 현재 주기의 계획 및 제어 데이터에 기반하여 하나 또는 다수의 제어 명령(예를 들어, 스로틀, 제동, 조향 제어 명령)을 생성한다.
결정 모듈(304) 및 계획 모듈(305)은 집적 모듈로 통합될 수 있음을 유의하여야 한다. 결정 모듈(304)/계획 모듈(305)은 네비게이션 시스템 또는 네비게이션 시스템의 기능을 포함하여 자율 주행 차량의 주행 경로를 확정할 수 있다. 예를 들어, 네비게이션 시스템은 아래와 같은 경로를 따른 자율 주행 차량의 이동을 구현하기 위한 일련의 속도 및 전진 방향을 확정할 수 있다. 상기 경로는 자율 주행 차량로 하여금 최종 목적지에 향하고 차도에 기반하는 경로를 따라 전진하는 동시에 감지된 장애물을 기본적으로 피하도록 한다. 목적지는 사용자 인터페이스 시스템(113)을 통해 진행하는 사용자 입력에 따라 설정될 수 있다. 내비게이션 시스템은 자율 주행 차량이 작동하는 동시에 주행 경로를 동적으로 업데이트할 수 있다. 네비게이션 시스템은 GPS 시스템 및 하나 또는 다수의 지도로부터의 데이터를 병합하여 자율 주행 차량을 위한 주행 경로를 확정할 수 있다.
결정 모듈(304)/계획 모듈(305)은 충돌 회피 시스템 또는 충돌 회피 시스템의 기능을 더 포함하여 자율 주행 차량의 환경 중의 잠재적인 장애물을 식별하고 평가하고 회피하거나 기타 방식으로 넘어갈 수 있다. 예를 들어, 충돌 회피 시스템은 제어 시스템(111) 내의 하나 또는 다수의 서브 시스템을 작동하여 방향을 바꾸는 동작, 회전 동작, 제동 동작 등을 채용함으로써 내비게이션에서 자율 주행 차량의 변화를 구현할 수 있다. 충돌 회피 시스템은 주변의 교통 패턴, 도로 상황 등에 기반하여 가능한 장애물 회피 동작을 자동적으로 확정할 수 있다. 충돌 회피 시스템은 자율 주행 차량이 방향을 바꿔 들어가는 근접 구역에 처하는 차량, 건축 장애물 등이 기타 센서 시스템에 의해 검측될 경우 방향을 바꾸는 동작을 채용하지 않도록 구성될 수 있다. 충돌 회피 시스템은 자율 주행 차량의 탑승자의 안전성을 최대화하고 사용 가능한 동작을 자동적으로 선택할 수 있다. 충돌 회피 시스템은 자율 주행 차량의 승객실 중에서 최소의 가속도가 나타나도록 하는 것으로 예측된 회피 동작을 선택할 수 있다.
일 실시예에 따르면, 초기 기준선이 노선 제정 모듈(307)에서 확정되고 수신될 경우, 기준선 생성기(308)는 제1 기준선을 생성하도록 구성된다. 일반적으로, 초기 기준선은 노선 및 지도 정보를 기반으로 작성된다. 도로는 일반적으로 다수의 도로 세그먼트로 표시된다. 초기 기준선은 일반적으로 각 도로 세그먼트의 중심선이다. 따라서, 초기 기준선은 상호 연결된 중심선 세그먼트의 집합이며, 이러한 초기 기준선은 평활하지 않고, 특히 두 근접한 세그먼트가 연결되는 곳에서 평활하지 않다. 초기 기준선에 기반하여, 기준선 생성기(308)는 초기 기준선에 대해 최적화를 수행하여 평활한 기준선을 생성한다.
일 실시예에 있어서, 기준선 생성기(308)는 초기 기준선의 선택된 제어점에 대해 스플라인 최적화를 수행한다. 스플라인은 함께 연결되어 곡선을 형성하는 하나 또는 다수의(예를 들어, 구분적) 다항식으로 표시되는 곡선이다. 예를 들어, 다항식 또는 다항식 함수는 근접한 제어점(제약점으로도 지칭됨) 사이의 세그먼트를 표시할 수 있다. 각 제어점은 한 세트의 제약과 관련되고, 이 제약들은 초기 제약, 등식 제약 및 부등식 제약을 포함한다.
초기 제약은 ADV의 초기 조건(예를 들어, ADV의 직접 방향 및/또는 지리적 위치)에 대응되는 한 세트의 제약을 포함한다. 등식 제약은 일부 대등한 조건(예를 들어, 완전히 또는 대체로 매칭됨)을 만족시켜야 한다고 주장하는 한 세트의 등식 제약을 포함한다. 예를 들어, 등식 제약은 연결 평활도를 보증하고, 및/또는 일부 점별 제약을 만족시키(예를 들어, 스플라인이 전방의 일부 점을 넘어가거나 전방의 일부 특정점을 구비한다)는 한 세트의 제약을 포함할 수 있다. 부등식 제약은 스플라인이 일부 경계 내에(예를 들어, 일부 제약 값 또는 공차보다 작거나 큼) 있는 것을 보증하는 한 세트의 제약을 포함한다. 부등식 제약과 등식 제약은 전부 강제 제약이고, 따라서, 이는 그들을 만족시켜야 하는 것을 의미한다. 이리하여, 생성된 기준선은 평활할 것이다.
일 실시예에 따르면, 초기 기준선은 동적 프로그래밍 기술을 이용하여 생성될 수 있다. 이러한 기준선은 대략적인 기준선이라고 불릴 수 있고, 이는 평활하지 않다. 동적 프로그래밍(또는 동적 최적화)은 수학적 최적화 방법이고, 이는 해결하고자 하는 문제를 일련의 가치 함수로 분해하고, 따라서, 각 가치 함수를 한 번 해결하고 그의 해답을 저장만 할 팔요가 있다. 다음 번에 동일한 가지 함수가 나타날 경우, 그의 해답을 다시 계산하는 대신에 이전에 계산된 해답만 조회하면 되고, 따라서, 계산 시간이 절약하게 된다. 일단 초기 기준선 또는 대략적인 기준선이 생성되면, 초기 기준선에 대한 평활화는 최적화 프로세스를 통해 진행될 수 있다. 일 실시예에 있어서, 기준선 평활 최적화는 2차 프로그래밍 기술을 이용하여 수행된다. 2차 프로그래밍은 목표 함수(예를 들어, 몇몇 변수를 구비하는 2차 함수)를 최소화 또는 최대화하는 것에 관한 것이고, 경계, 선형 등식 및/또는 부등식 제약을 받는다. 동적 프로그래밍과 2차 프로그래밍 사이의 한 차이점은 2차 프로그래밍이 기준선에서 모든 점의 모든 후보 움직임을 한 번에 최적화한다는 것이다.
그러나, 상기 최적화 조작은 시간을 많이 소모하고, 계획 주기의 지속 시간에 비하여, 기준선을 계산하고 평활화하는 데에 걸리는 시간이 때로는 상당히 많다. 종래의 시스템은 보통 한 번에 하나의 기준선을 계산한다. 각 계획 주기에 대하여, 시스템은 기준선을 생성하여야 한다. 일반적으로, 계획 주기의 범위는 0.1초~0.2초이다. 기준선을 계산하는 시간이 0.1초에 가깝거나 계획 주기의 상당한 부분을 차지할 경우, 계획 주기 내에서 기타 조작을 수행하기에는 충분한 시간이 없을 수 있다. 기준선은 일반적으로 200미터의 노선을 표시한다. 시스템이 충분한 시간을 구비하는 것을 보장하기 위해, 종래의 시스템은 기준선을 70미터로 제한하여야 할 수도 있고, 오히려 기준선을 계산하는 시간을 단축시킨다. 그러나, 짧은 기준선은 고속도로에서 진행하는 계획에 대하여 충분히 길지 않을 수 있고, 고속도로에서 계획을 진행하기에 일반적으로 200미터가 필요하다. 고속도로에서 차량은 다음의 200미터를 계획하여야 하여 급회전 및 앞에서 정지하는 차량을 예측한다.
일 실시예에 따르면, 시스템이 제1 기준선에서 생성된 궤적에 따라 ADV를 제어할 경우, 기준선 생성기(308)는 ADV가 모 시점에서 도착하는 것으로 예측되는 궤적 상의 제2 위치(즉, 미래 위치)를 기반으로 단독적 처리 스레드를 경유하여 제2 기준선을 미리 계산한다. 제2 기준선은 상이한 스레드를 이용하여 병렬로 계산되고, 동시에 ADV는 제2 위치에 도착하기 전에 여전히 궤적에 따라 행진한다. ADV가 제2 위치의 근처에 이동할 경우, 제2 위치에서 제2 기준선을 계산할 필요가 없으면서 미리 계산된 제2 기준선은 다음 계획 주기에 사용될 수 있다. 따라서, 시스템은 다음 계획 주기(예를 들어, 다음의 200미터)를 계획하기에 충분한 시간이 있다.
도4는 일 실시예에 따른 다수의 스레드를 이용하여 기준선을 생성하는 프로세스를 나타내는 도면이다. 도 4를 참조하면, ADV가 제1 기준선(401)을 기반으로 생성된 궤적에서 주행하고 있는 것으로 가정한다. 또한, 차량이 기준선(401)의 제1 위치(411)에 처하는 것으로 가정하고, 해당 제1 위치(411)는 제1 처리 스레드(예를 들어, 계획 모듈(305) 및/또는 제어 모듈(306))에 의해 계획되고 제어된다. 위치(411)에서, 기준선 생성기(308)는 위치(411)에 대한 미래 시간에서의 제2 위치(412)를 확정한다. 위치(412)와 위치(411) 사이의 거리(s)는 차량이 위치(412)에 도착하는 데 걸리는 시간량(본 명세서에서 (t)로 지칭됨)에 기반하여 확정될 수 있다. 거리(s)는 위치(411)에 있는 차량의 현재 속도(v)에 기반하여 확정될 수 있다.
일 실시예에 있어서, 차량이 위치(411)에서 위치(412)에 도착하는 데 걸리는 시간량은 기준선 발생기(308)가 새로운 기준선을 계산하는 데 걸리는 시간보다 크거나 같다. 예를 들어, 기준선 생성기(308)가 t를 들여 기준선을 계산할 경우, 위치(411)와 위치(412) 사이의 거리(s)는 s=t*v에 기반하여 확정될 수 있고, 여기서, v는 위치(411)에 있는 차량의 속도를 가리킨다. 해당 요구 뒤의 기본 원리는 Δt를 들여 기준선(402)의 생성이 완료되는 것이다. 차량이 Δt보다 짧은 시간을 들여 제2 위치(412)에 도착하면, 치량이 위치(412)에 도착할 경우, 기준선(402)은 이용 가능하지 않거나 완성되지 않을 수도 있다.
따라서, 위치(411)에서, 제2 처리 스레드를 경유하여, 기준선 생성기(308)는 시작 위치로 하는 위치(412)를 구비하는 제2 기준선(402)을 동시에 생성한다. 제2 기준선(402)을 계산하는 제2 처리 스레드에 대하여, 제1 기준선(401)을 기반으로 생성된 궤적에 따라 차량을 운전하는 제1 처리 스레드는 동시에 실행된다. 제2 기준선(402)은 차량이 위치(412)에 도착하기 전에 계산된다. 차량이 위치(412)의 기정된 근접 구역 내의 위치에 도착할 경우, 다음, 제2 기준선(402)이 회수되고, 다음 계획 주기를 위한 새로운 궤적은 해당 기준선을 이용하여 생성된다. 위치(412)에서, 차량은 기준선(401)에서 기준선(402)으로 전환된다. 유사하게, 차량이 기준선(402)에서 생성된 궤적에서 주행할 경우, 새로운 처리 스레드는 실행되어 다른 새로운 기준선을 미리 계산할 수 있다. 본 예시에 있어서, 기준선(403)은 위치(413)로부터 시작하고, 다른 기준선들은 이로써 유추할 수 있다. 즉, 차량이 미리 계산된 기준선의 상응한 위치(예를 들어, 시작점)에 도착하기 전에, 특정된 계획 주기 내에서 사용하고자 하는 각 기준선은 단독적 처리 스레드를 이용하여 미리 계산된다. 따라서, 시스템은 상응한 위치에서 기준선을 계산하는 데 시간을 들일 필요가 없다.
일 실시예에 따르면, 다수의 미래 기준선은 하나 또는 다수의 단독적 처리 스레드를 이용하여 미리 계산되고 저장 위치(예를 들어, 메모리 또는 영구 저장 장치)에 저장될 수 있다. 예를 들어, 위치(411)에서, 기준선 생성기(308)는 위치(412-414)와 같은 미래 위치를 예측하고 선택할 수 있고, 몇 개의 처리 스레드를 시작하여 선택된 위치에 대응되는 미래 기준선(예를 들어, 기준선(402) 내지 기준선(404))을 계산할 수 있다. 일 실시예에 있어서, 도5에 도시된 바와 같이, 미래 기준선 중의 각각은 단독적 처리 스레드를 시작하여 계산될 수 있다.
도5를 참조하면, 특정 기준선(501)에 기반하여, 다수의 기준선 생성 스레드(511-513)가 시작되어 미래 기준선(521-523)은 각각 계산된다. 선택적으로, 한 단독적 처리 스레드는 다수의 미래 기준선을 계산할 수 있다. 기준선(521-523)은 공유 저장 위치에 저장될 수 있고, 예를 들어, 시스템 메모리 또는 영구 저장 장치(예를 들어, 하드 디스크)의 전용 저장 위치에 저장될 수 있다. 이어서, 차량이 현재 위치로 하는 특정 위치에 이동할 경우, 다음 계획 주기에 대하여, 기준선 생성기(308)는 현재 위치를 검사하고 기준선(521-523)을 포함하는 저장 위치를 검색하여, 현재 위치가 기준선(521-523)과 관련된 대응 위치(예를 들어, 시작 위치)와 매칭되도록 한다. 현재 위치와 기준선(521-523)과 관련된 위치 중의 임의 하나 사이에 매칭이 존재할 경우, 다음, 매칭된 기준선은 저장 위치에서 회수된다. 다음, 계획 모듈(305)은 동일한 계획 주기를 위해 동일한 기준선을 계산할 필요가 없으면서, 회수된 기준선을 이용하여 새로운 궤적을 계획한다.
일 실시예에 따르면, 도6에 도시된 바와 같이, 기준선(521-523)은 위치 및 기준선(위치/기준선) 매핑 테이블에 저장되고, 해당 매핑 테이블은 메모리 및/또는 영구 저장 장치에 유지될 수 있다. 도6을 참조하면, 일 실시예에 있어서, 위치/기준선 매핑 테이블(600)은 대량의 매핑 항목을 포함한다. 각 매핑 항목은 특정 위치(601)를 특정 기준선(602)에 매핑한다. 위치(601)는 기준선(602)의 출발 위치를 표시할 수 있다. 차량의 현재 위치가 지정되면, 조회 작업은 현재 위치를 기반으로 수행되어 현재 위치와 매칭된 위치(601)를 구비하는 매핑 항목의 위치가 측정된다. 다음, 기준선(602)은 매칭 항목에서 회수되어 다음 명령 주기를 위한 궤적을 생성한다.
차량이 앞으로 이동할 경우, 미리 계산된 기준선(602)은 더 많이 소모하게 되고, 더 많은 새로운 기준선은 상술한 다수의 처리 스레드를 이용하여 생성하게 된다. 다음, 새로운 기준선은 위치/기준선 매핑 테이블에 저장되고, 예를 들어, 위치(601)에 기반하여 인덱싱된다. 동시에, 차량이 넘어가는 위치에 관련된 임의의 매핑 항목은 테이블(600)에서 제거하게 된다. 이러한 매핑 항목의 하우스키핑 작업은 단독적 하우스키핑 스레드에 의해 진행될 수 있다. 선택적으로, 하우스키핑 작업은 기준선을 소모 또는 회수하도록 하는 처리 스레드 또는 로운 기준선을 삽입하는 처리 스레드에 의해 수행될 수 있다.
도7은 일 실시예에 따른 기준선을 생성하는 프로세스를 나타내는 흐름도이다. 프로세스(700)는 처리 논리에 의해 수행될 수 있고, 상기 처리 논리는 소프트웨어, 하드웨어 또는 그들의 조합을 포함할 수 있다. 예를 들어, 프로세스(700)는 기준선 생성기(308)에 의해 수행될 수 있다. 도7을 참조하면, 조작(701)에서, 처리 논리는 제1 처리 스레드를 경유하여 제1 기준선을 기반으로 생성된 제1 궤적에 따라 ADV를 제어하고, 해당 제1 기준선은 제1 위치에서 시작된다. 조작(702)에서, 제2 처리 스레드를 경유하여, 처리 논리는 제1 궤적을 따른 제2 위치를 기반으로 제2 기준선을 동시에 생성하고, 해당 제2 위치는 ADV가 기정된 기간 내에서 가까운 미래에 도착할 수 있는 위치이다. ADV가 제2 위치의 기정된 근접 구역 내에 있는 것은 확정됨에 응답하여, 조작(703)에서, 처리 논리는 제2 위치에 접근한 시점에서 제2 기준선을 계산할 필요 없이 제2 기준선을 기반으로 제2 궤적을 생성한다. 조작(704)에서, 제2 위치에서 시작하는 제2 궤적을 기반으로 ADV를 제어한다.
도8은 다른 일 실시예에 따른 기준선을 생성하는 프로세스를 나타내는 흐름도이다. 프로세스(800)는 처리 논리에 의해 수행될 수 있고, 상기 처리 논리는 소프트웨어, 하드웨어 또는 그들의 조합을 포함할 수 있다. 예를 들어, 프로세스(800)는 기준선 생성기(308)에 의해 수행될 수 있다. 도8을 참조하면, 조작(801)에서, 처리 논리는 지도 및 노선 정보를 기반으로 시작 위치로부터 종료 위치까지의 경로를 계획한다. 조작(802)에서, 처리 논리는 ADV의 현재 위치를 기반으로 경로를 위한 제1 기준선을 생성한다. 조작(803)에서, 처리 논리는 차량이 제1 기준선을 따라 도착할 수 있는 하나 또는 다수의 미래 위치를 확정하고 선택한다. 각 미래 위치에 대하여, 조작(804)에서, 단독적 처리 스레드를 경유하여, 처리 논리는 상응한 미래 위치를 위한 미래 기준선을 미리 계산하고, 동시에 제1 기준선을 따라 차량을 제어한다. 조작(805)에서, 미래 기준선을 저장 위치(예를 들어, 위치/기준선 매핑 테이블)에 저장한다.
도9는 다른 일 실시예에 따른 기준선을 생성하는 프로세스를 나타내는 흐름도이다. 프로세스(900)는 처리 논리에 의해 수행될 수 있고, 상기 처리 논리는 소프트웨어, 하드웨어 또는 그들의 조합을 포함할 수 있다. 예를 들어, 프로세스(900)는 기준선 생성기(308)에 의해 수행될 수 있다. 도9를 참조하면, 조작(901)에서, 처리 논리는, 예를 들어, GPS 및/또는 IMU 유닛에서 수신된 정보를 기반으로 ADV의 현재 위치를 확정한다. 조작(902)에서, 처리 논리는 현재 위치를 기반으로 기정된 저장 위치(예를 들어, 위치/기준선 매핑 테이블)에서 조회 조작을 수행하여 현재 위치와 매칭되는 매칭 항목의 위치를 측정한다. 조작(903)에서, 처리 논리는 매칭 항목에서 미리 계산된 기준선을 확득한다. 조작(904)에서, 매칭 항목에서 획득된 기준선을 기반으로 궤적을 생성한다. 조작(905)에서, ADV가 궤적에 따라 이동하도록 제어한다. 프로세스(900)는 프로세스(800)의 제2 처리 스레드의 일부분으로 수행될 수 있다. 선택적으로, 프로세스(900)는 단독적 스레드로 하는 제3 처리 스레드를 경유하여 수행될 수 있다.
위에 나타나고 설명된 부품 중의 일부 또는 전부는 소프트웨어, 하드웨어 또는 이들의 조합에서 구현될 수 있다. 예를 들어, 이러한 부품은 영구 저장 장치에 설치되고 저장되는 소프트웨어로 구현될 수 있고, 상기 소프트웨어는 프로세서(미도시)를 통해 메모리에 로딩되고 메모리에서 실행되어 본 출원의 전문에 나타난 상기 프로세스 또는 조작을 구현할 수 있다. 선택적으로, 이러한 부품은 전용 하드웨어(예를 들어, 집적 회로(예를 들어, 전용 집적 회로(ASIC)), 디지털 신호 프로세서(DSP), 또는 필드 프로그램 가능한 게이트 어레이(FPGA))에 프로그래밍되거나 내장된 실행 가능한 코드로 수현될 수 있다. 상기 실행 가능한 코드는 애플리케이션으로부터의 상응한 드라이버 및/또는 운영 체제를 통해 액세스될 수 있다. 또한, 이러한 부품은 프로세서 또는 프로세서 코어 중의 특정 하드웨어 논리로 구현되어, 소프트웨어 부품에 의해 하나 또는 다수의 특정 명령어를 통해 액세스하는 명령어 집합의 일부분으로 사용될 수 있다.
도10은 본 개시의 일 실시예와 함께 사용될 수 있는 데이터 처리 시스템의 예시를 나타내는 블록도이다. 예를 들어, 시스템(1500)은 상술한 상기 프로세스 또는 방법 중의 임의의 하나를 수행하는 임의 데이터 처리 시스템을 표시할 수 있고, 예를 들어, 도1의 감지 및 계획 시스템(110) 또는 서버(103-104) 중의 임의의 하나를 표시할 수 있다. 시스템(1500)은 다수의 상이한 부품을 포함할 수 있다. 이러한 부품들은 집적 회로(IC), 집적 회로의 일부분, 분리된 전자 장치 또는 회로판(예를 들어, 컴퓨터 시스템의 메인보드 또는 플러그인 카드)에 적합한 기타 모듈로 구현될 수 있거나, 또는 기타 방식으로 컴퓨터 시스템의 섀시 내에 통합된 부품으로 구현될 수 있다.
시스템(1500)은 컴퓨터 시스템의 다수의 부품의 고차적 도면을 도시하는 것을 목적으로 함을 더 유의하여야 한다. 그러나, 일부 실시예에서 추가 부품이 존재할 수 있고, 또한, 기타 실시예에서는 도시된 부품의 상이한 배치가 나타날 수 있다는 것을 이해하여야 한다. 시스템(1500)은 데스크톱 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 서버, 이동 전화, 미디어 플레이어, 개인용 휴대 단말기(PDA), 스마트워치, 개인 휴대 통신기, 게임 장치, 네트워크 라우터 또는 허브, 무선 액세스 포인트(AP) 또는 리피터, 셋탑 박스, 또는 이들의 조합을 표시할 수 있다. 또한, 오직 하나의 기계 또는 시스템만 도시하였으나, 용어 "기계" 또는 "시스템"은 단독적으로 또는 공동으로 하나(또는 다수)의 명령어 집합을 실행하여 본 명세서에 설명된 임의의 하나 또는 다수의 방법을 수행하는 기계 또는 시스템의 임의의 집합을 포함한다는 것으로도 이해되어야 한다.
일 실시예에 있어서, 시스템(1500)은 버스 또는 상호 연결 장치(1510)를 통하여 연결된 프로세서(1501), 메모리(1503) 및 장치(1505-1508)를 포함한다. 프로세서(1501)는 하나의 프로세서 코어 또는 다수의 프로세서 코어를 포함하는 하나의 프로세서 또는 다수의 프로세서를 표시할 수 있다. 프로세서(1501)는 하나 또는 다수의 범용 프로세서를 표시할 수 있고, 예를 들어, 마이크로 프로세서, 중앙 처리 장치(CPU) 등을 표시할 수 있다. 더 구체적으로, 프로세서(1501)는 복잡 명령어 집합 컴퓨팅(CISC) 마이크로 프로세서, 축소 명령어 집합 컴퓨팅(RISC) 마이크로 프로세서, 훨씬 긴 명령어(VLIW) 마이크로 프로세서, 또는 기타 명령어 집합을 실현하는 프로세서, 또는 명령어 집합의 조합을 실현하는 프로세서일 수 있다. 프로세서(1501)는 하나 또는 다수의 전용 프로세서일 수도 있고, 예를 들어, 전용 집적 회로(ASIC), 셀룰러 또는 베이스밴드 프로세서, 필드 프로그램 가능한 게이트 어레이(FPGA), 디지털 신호 프로세서(DSP), 네트워크 프로세서, 그래픽 프로세서, 통신 프로세서, 암호화 프로세서, 코프로세서, 내장형 프로세서 또는 명령어를 처리할 수 있는 모든 기타 유형의 논리일 수 있다.
프로세서(1501)는 상기 시스템의 각종 부품들과 통신하기 위한 메인 처리 유닛 및 중앙 허브로 작용할 수 있으며, 상기 프로세서(1501)는 초저 전압 프로세서와 같은 저출력 다중 코어 프로세서 소켓일 수 있다. 이러한 프로세서는 시스템 온 칩(SoC)으로 구현될 수 있다. 프로세서(1501)는 본 명세서에 기재된 조작 및 단계를 수행하기 위한 명령어를 실행하도록 구성된다. 시스템(1500)은 선택적인 그래픽 서브 시스템(1504)과 통신하기 위한 그래픽 인터페이스를 더 포함할 수 있고, 상기 그래픽 서브 시스템(1504)은 표시 제어 장치, 그래픽 프로세서 및/또는 표시 장치를 포함할 수 있다.
프로세서(1501)는 메모리(1503)와 통신할 수 있고, 메모리(1503)는 일 실시예에서 다수의 메모리 장치로 구현되어 기정 량의 시스템 메모리를 제공할 수 있다. 메모리(1503)는 랜덤 액세스 메모리(RAM), 동적 RAM(DRAM), 싱크로너스 DRAM(SDRAM), 스태틱 RAM(SRAM)과 같은 하나 또는 다수의 휘발성 저장(또는 메모리) 장치 또는 기타 유형의 저장 장치를 포함할 수 있다. 메모리(1503)는 프로세서(1501) 또는 기타 임의의 장치에 의해 실행되는 명령어 서열을 포함하는 정보를 저장할 수 있다. 예를 들어, 다양한 운영 체제, 장치 드라이버, 펌웨어(예를 들어, 기본 입출력 체계 또는 BIOS) 및/또는 애플리케이션의 실행 가능한 코드 및/또는 데이터는 메모리(1503)에 로딩되어, 프로세서(1501)에 의해 실행될 수 있다. 운영 체제는 임의의 유형의 운영 체제일 수 있으며, 예를 들어, 로봇 운영 체제(ROS), Microsoft®의 Windows® 운영 체제, 애플의 Mac OS®/iOS®, Google®의 Android®, Linux®, Unix®, 또는 기타 실시간 또는 내장형 운영 체제일 수 있다.
시스템(1500)은 네트워크 인터페이스 장치(1505), 선택적인 입력 장치(1506) 및 기타 선택적인 IO 장치(1507)를 포함하는 장치(1505-1508)와 같은 IO 장치를 더 포함할 수 있다. 네트워크 인터페이스 장치(1505)는 무선 트래시버 및/또는 네트워크 인터페이스 카드(NIC)를 포함할 수 있다. 무선 트랜시버는 WiFi 트랜시버, 적외선 트랜시버, 블루투스 트랜시버, WiMax 트랜시버, 무선 셀룰러 텔레포니 트랜시버, 위성 트랜시버(예를 들어, 위성 위치 확인 시스템(GPS) 트랜시버) 또는 기타 무선 주파수(RF) 트랜시버 또는 이들의 조합일 수 있다. NIC는 이더넷 카드일 수 있다.
입력 장치(1506)는 마우스, 터치 패드, 터치 감응식 스크린(표시 장치(1504)에 통합될 수 있음), 스타일러스와 같은 포인터 장치, 및/또는 키보드(예를 들어, 물리적 키보드 또는 터치 감응식 스크린의 일부분으로 표시된 가상 키보드)를 포함할 수 있다. 예를 들어, 입력 장치(1506)는 터치 스크린에 연결된 터치 스크린 제어기를 포함할 수 있다. 터치 스크린 및 터치 스크린 제어기는, 예를 들어, 다수의 터치 감응 기술(용량성, 저항성, 적외선, 및 표면 탄성파 기술을 포함하나, 이에 한정되지 않음) 중 임의의 하나, 및 기타 근접각 센서 어레이 또는 터치 스크린과의 하나 또는 다수의 접촉점을 확정하기 위한 기타 부품을 이용하여 터치 스크린의 접촉 및 이동 또는 중단을 검측할 수 있다
IO 장치(1507)는 오디오 장치를 포함할 수 있다. 오디오 장치는 스피커 및/또는 마이크로 폰 을 포함함으로써 음성 인식, 음성 복제, 디지털 녹음 및/또는 텔레포니 기능과 같은 음성 지원 기능이 가능하도록 할 수 있다. 기타 IO 장치(1507)는 범용 직렬 버스 라인(USB) 포트, 병렬 포트, 직렬 포트, 프린터, 네트워크 인터페이스, 버스 브리지(예를 들어, PCI-PCI 브리지), 센서(예를 들어, 가속도계, 자이로스코프(gyroscope), 자력계, 광 센서, 나침판, 근접각 센서 등과 같은 동작 센서) 또는 이들의 조합을 더 포함할 수 있다. 장치(1507)는 이미징 처리 서브 시스템(예를 들어, 카메라)를 더 포함할 수 있고, 상기 이미징 처리 서브 시스템은 고체 촬상 소자(CCD) 또는 상보형 금속산화 반도체(CMOS) 광학 센서와 같이, 사진 및 비디오 클립을 기록하는 것과 같은 카메라 기능을 향상하도록 하기 위한 광학 센서를 포함할 수 있다. 일부 센서는 센서 허브(미도시)를 통해 상호연결 장치(1510)에 연결될 수 있고, 키보드 또는 온도 센서와 같은 기타 장치는 시스템(1500)의 구체적인 구성 또는 디자인에 따라 내장된 제어기(미도시)에 의해 제어될 수 있다.
데이터, 애플리케이션, 하나 또는 다수의 운영 체제 등과 같은 정보에 대한 영구 저장을 제공하기 위해, 프로세서(1501)에 대용량 저장 장치(미도시)가 연결될 수도 있다. 각종 실시예에 있어서, 더 얇고 가벼운 시스템 디자인을 실현하고 시스템 응답력을 향상시키기 위해, 상기 대용량 저장 장치는 고체 디바이스(SSD)를 통해 구현될 수 있다. 그러나, 기타 실시예에 있어서, 대용량 저장 장치는 주로 하드디스크 드라이브(HDD)를 이용하여 구현될 수 있으며, 비교적 적은 량의 SSD 저장 장치를 SSD 캐시로 작용하도록 하여 파워 다운 상황에서 맥락 상태 및 기타 유사한 정보에 대한 비휘발성 저장을 실현함으로써, 시스템 활동이 리부팅될 경우 빠른 파워 업을 실현할 수 있다. 또한, 플래시 장치는, 예를 들어, 직렬 주변 장치 인터페이스(SPI)를 통해 프로세서(1501)에 연결될 수 있다. 이러한 플래시 장치는 시스템 소프트웨어에 대한 비휘발성 저장을 제공할 수 있고, 상기 시스템 소프트웨어는 상기 시스템의 BIOS 및 기타 펌웨어를 포함한다.
저장 장치(1508)는 컴퓨터 액세스 가능한 저장 매체(1509; 기계 판독 가능한 저장 매체 또는 컴퓨터 판독 가능한 매체라고도 함)를 포함할 수 있고, 컴퓨터 액세스 가능한 저장 매체에는 본 명세서에 설명된 임의 하나 또는 다수의 방법 또는 기능을 구현하는 하나 또는 다수의 명령어 집합 또는 소프트웨어(예를 들어, 모듈, 유닛 및/또는 로직(1528))가 저장된다. 처리 모듈/유닛/로직(1528)은 전술된 부품 중의 임의의 하나를 표시할 수 있고, 예를 들어, 계획 모듈(305), 제어 모듈(306) 및/또는 기준선 생성기(308)를 표시할 수 있다. 처리 모듈/유닛/로직(1528)은 데이터 처리 시스템(1500), 메모리(1503) 및 프로세서(1501)에 의해 실행되는 동안, 완전히 또는 적어도 부분적으로 메모리(1503) 및/또는 프로세서(1501) 내에 위치될 수도 있으며, 여기서 데이터 처리 시스템(1500), 메모리(1503) 및 프로세서(1501)는 기계 액세스 가능한 저장 매체를 구성하기도 한다. 처리 모듈/유닛/로직(1528)은 네트워크를 통해 네트워크 인터페이스 장치(1505)를 경유하여 발신 또는 수신될 수도 있다.
컴퓨터 판독 가능한 저장 매체(1509)는 상술한 일부 소프트웨어 기능을 영구적으로 저장하기 위한 것일 수도 있다. 예시적인 실시예에서 컴퓨터 판독 가능한 저장 매체(1509)는 단일 매체로 도시되였으나, 용어 "컴퓨터 판독 가능한 저장 매체"는 하나 또는 다수의 명령어 집합을 저장하는 단일 매체 또는 다수의 매체(예를 들어, 중앙 집중식 또는 분산형 데이터베이스 및/또는 관련된 캐시 및 서버)를 포함하는 것으로 이해해야 한다. 또한, 용어 "컴퓨터 판독 가능한 저장 매체"는 명령어 집합을 저장하거나 인코딩할 수 있는 임의의 매체를 포함하는 것으로 이해해야 하고, 상기 명령어 집합은 기계에 의해 실행되고, 기계로 하여금 본 개시의 하나 또는 다수의 방법을 실행하도록 한다. 따라서, 용어 "컴퓨터 판독 가능한 저장 매체"는 고체 메모리, 광학 매체 및 자기식 매체 또는 기타 임의의 비일시적인 기계 판독 가능한 매체를 포함하나 이에 한정되지 않는 것으로 이해해야 한다.
본 명세서에 설명된 처리 모듈/유닛/로직(1528), 부품 및 기타 특징은 이산형 하드웨어 부품으로 구현되거나 ASICS, FPGA, DSP 또는 유사한 장치와 같은 하드웨어 부픔의 기능에 통합될 수 있다. 이외에, 처리 모듈/유닛/로직(1528)은 하드웨어 장치 내에서 펌웨어 또는 기능성 회로로 구현될 수 있다. 또한, 처리 모듈/유닛/로직(1528)은 하드웨어 장치 및 소프트웨어 부품의 임의의 조합으로 구현될 수 있다.
시스템(1500)은 데이터 처리 시스템의 각종 부품으로 도시되였으나, 이러한 세부 사항들은 본 개시의 실시예에 밀접히 관련되는 것이 아니므로, 부품들이 상호 연결되도도록 하는 임의의 특정 체계 구조 또는 방식을 표시하는 것이 아님을 유의해야 한다. 또한, 더 적은 부품을 구비하거나 더 많은 부품을 구비할 수 있는 네트워크 컴퓨터, 휴대용 컴퓨터, 이동 전화, 서버 및/또는 기타 데이터 처리 시스템은 본 개시의 실시예와 함께 사용될 수 있음은 자명한 것이다.
상기 상세한 설명 중의 일부분은 이미 컴퓨터 메모리 내의 데이터 비트에 대한 연산의 알고리즘 및 기호적 표현에 따라 나타났다. 이러한 알고리즘적 설명 및 표현은 데이터 처리 분야의 당업자들이 그들 작업의 요지를 해당 분야의 기타 당업자들한테 효율적으로 전달하기 위해 사용하는 방식이다. 여기서, 알고리즘은 통상적으로 원하는 결과를 달성하기 위한 조작의 자기 부합적 시퀸스로 구상된다. 이러한 조작들은 물리량에 대한 물리적 조작을 필요로 하는 조작이다.
그러나, 이러한 용어 및 유사한 용어들은 모두 적당한 물리량에 연관되어야 하고, 단지 이러한 량에 적용된 편리한 라벨일 뿐이라는 것을 명기해야 한다. 상술한 기재로부터 명확히 알 수 있는 바와 같이 기타 구체적인 설명이 없는 한, 첨부된 청구항에 기재된 용어와 같은 용어를 사용하여 진행한 설명은 명세서 전체를 걸쳐 컴퓨터 시스템 또는 유사한 전자 계산 장치의 동작 및 처리를 가리킨다는 것은 자명한 것이며, 상기 컴퓨터 시스템 또는 전자 계산 장치는 컴퓨터 시스템의 레지스터 및 메모리 내의 물리(전자)량으로 표시된 데이터를 조작하고, 상기 데이터를 컴퓨터 시스템 메모리 또는 레지스터 또는 기타 유사한 정보 저장 장치, 전송 및 표시 장치 내에서 유사하게 물리량으로 표시된 기타 데이터로 전환한다.
본 개시의 실시예는 본 명세서 중의 조작을 수행하기 위한 장치에 관련된다. 이와 같은 컴퓨터 프로그램은 비일시적인 컴퓨터 판독 가능한 매체에 저장된다. 기계 판독 가능한 매체는 정보를 기계(예를 들어, 컴퓨터)에 의해 판독 될수 있는 포맷으로 저장하기 위한 임의의 메커니즘을 포함한다. 예를 들어, 기계 판독 가능한(예를 들어, 컴퓨터 판독 가능한) 매체는 기계(예를 들어, 컴퓨터) 판독 가능한 저장 매체(예를 들어, 읽기 전용 메모리("ROM"), 랜덤 액세스 메모리("RAM"), 자기 디스크 저장 매체, 광학 저장 매체, 플래시 메모리 장치)를 포함한다.
첨부된 도면에 도시된 과정 또는 방법은 하드웨어(예를 들어, 회로, 전용 논리 등), 소프트웨어(예를 들어, 비일시적인 컴퓨터 판독 가능한 매체에 내장됨) 또는 이들의 조합을 포함하는 처리 논리에 의해 실행될 수 있다. 비록 위에서 일부 순차적인 조작에 의해 상기 과정 또는 방법에 대해 설명하였으나, 설명된 조작 중의 일부는 상이한 순서로 실행될 수도 있음을 자명할 것이다. 또한, 일부 조작은 순차적인 순서가 아니라, 병행으로 수행될 수 있다.
본 개시의 실시예는 어떠한 특정 프로그래밍 언어를 참조하여 설명된 것도 아니다. 다양한 프로그래밍 언어를 사용하여 본 명세서에서 설명된 본 개시의 실시예들의 교시를 실현할 수 있음을 자명할 것이다.
상기 명세서에서, 본 개시의 상세한 예시적 실시예들을 참조하여 본 개시의 실시예에 대해 설명하였다. 첨부된 청구항에 기재된 본 개시의 더 넓은 사상 및 범위를 벗어나지 않으면서 각종 변경을 진행할 수 있음은 명백할 것이다. 따라서, 본 명세서 및 도면은 제한적인 의미가 아닌, 설명적인 의미로 이해하여야 한다.

Claims (21)

  1. 제1 처리 스레드를 경유하여, 제1 위치에서 시작하는 제1 기준선을 기반으로 생성된 제1 궤적에 따라 자율 주행 차량을 제어하는 단계;
    제2 처리 스레드를 경유하여, 상기 자율 주행 차량이 미래의 기정된 기간 내에 도착할 것으로 예상되는 상기 제1 궤적의 제2 위치를 기반으로 제2 기준선을 동시에 생성하는 단계;
    상기 자율 주행 차량이 상기 제2 위치의 기정된 근접 구역 내에 처하는 것이 확정됨에 응답하여, 상기 제2 위치에서 상기 제2 기준선을 계산할 필요 없이 상기 제2 기준선을 기반으로 제2 궤적을 생성하는 단계; 및
    상기 제2 위치에서 시작하는 상기 제2 궤적에 따라 상기 자율 주행 차량을 제어하는 단계를 포함하는 것을 특징으로 하는 자율 주행 차량을 작동하기 위한 기준선을 생성하는 컴퓨터 구현 방법.
  2. 제1항에 있어서,
    상기 기정된 기간은 자율 주행 차량을 위한 기준선을 생성하는데 필요한 시간량보다 크거나 같은 것을 특징으로 하는 자율 주행 차량을 작동하기 위한 기준선을 생성하는 컴퓨터 구현 방법.
  3. 제1항에 있어서,
    상기 제2 위치는 상기 자율 주행 차량이 미래에 도착할 것으로 예상되고 상기 제1 궤적에서 선택된 다수의 제3 위치들 중의 하나인 것을 특징으로 하는 자율 주행 차량을 작동하기 위한 기준선을 생성하는 컴퓨터 구현 방법.
  4. 제3항에 있어서,
    상기 제2 기준선을 생성하는 단계는,
    상기 제3 위치들 중의 각각에 대하여, 단독적 처리 스레드를 경유하여 상기 제3 위치를 위한 제3 기준선을 동시에 생성하는 단계; 및
    상기 제3 기준선들을 저장 구역에 저장하고, 동시에 상기 자율 주행 차량이 상기 제1 궤적에 따라 이동하는 단계를 포함하는 것을 특징으로 하는 자율 주행 차량을 작동하기 위한 기준선을 생성하는 컴퓨터 구현 방법.
  5. 제4항에 있어서,
    상기 저장 구역은 다수의 매핑 항목들을 구비하는 매핑 테이블을 포함하고, 각 매핑 항목은 상기 제3 위치들 중의 하나를 대응되는 제3 기준선들 중의 하나에 매핑하는 것을 특징으로 하는 자율 주행 차량을 작동하기 위한 기준선을 생성하는 컴퓨터 구현 방법.
  6. 제4항에 있어서,
    상기 자율 주행 차량의 현재 위치를 확정하는 단계;
    상기 자율 주행 차량의 상기 현재 위치를 기반으로, 상기 저장 구역 내에서 검색을 진행하여 상기 제3 기준선들 중 관련 위치가 상기 현재 위치에 매칭된 하나의 제3 기준선을 획득하는 단계; 및
    상기 획득된 제3 기준선을 기반으로 다음 궤적을 생성하여, 다음 계획 주기를 진행하도록 상기 자율 주행 차량을 제어하는 단계를 더 포함하는 것을 특징으로 하는 자율 주행 차량을 작동하기 위한 기준선을 생성하는 컴퓨터 구현 방법.
  7. 제1항에 있어서,
    상기 자율 주행 차량이 제1 궤적에 따라 상기 제2 위치에 도착하기 전에, 상기 제2 기준선을 생성하는 것을 특징으로 하는 자율 주행 차량을 작동하기 위한 기준선을 생성하는 컴퓨터 구현 방법.
  8. 비일시적인 기계 판독 가능한 매체에 있어서,
    상기 비일시적인 기계 판독 가능한 매체에는 명령어가 저장되고, 상기 명령어는 프로세서에 의해 실행될 경우 상기 프로세서로 하여금 조작을 수행하도록 하며, 상기 조작은,
    제1 처리 스레드를 경유하여, 제1 위치에서 시작하는 제1 기준선을 기반으로 생성된 제1 궤적에 따라 자율 주행 차량을 제어하는 단계;
    제2 처리 스레드를 경유하여, 상기 자율 주행 차량이 미래의 기정된 기간 내에 도착할 것으로 예상되는 상기 제1 궤적의 제2 위치를 기반으로 제2 기준선을 동시에 생성하는 단계;
    상기 자율 주행 차량이 상기 제2 위치의 기정된 근접 구역 내에 처하는 것이 확정됨에 응답하여, 상기 제2 위치에서 상기 제2 기준선을 계산할 필요 없이 상기 제2 기준선을 기반으로 제2 궤적을 생성하는 단계; 및
    상기 제2 위치에서 시작하는 상기 제2 궤적에 따라 상기 자율 주행 차량을 제어하는 단계를 포함하는 것을 특징으로 하는 비일시적인 기계 판독 가능한 매체.
  9. 제8항에 있어서,
    상기 기정된 기간은 자율 주행 차량을 위한 기준선을 생성하는데 필요한 시간량보다 크거나 같은 것을 특징으로 하는 비일시적인 기계 판독 가능한 매체.
  10. 제8항에 있어서,
    상기 제2 위치는 상기 자율 주행 차량이 미래에 도착할 것으로 예상되고 상기 제1 궤적에서 선택된 다수의 제3 위치들 중의 하나인 것을 특징으로 하는 비일시적인 기계 판독 가능한 매체.
  11. 제10항에 있어서,
    상기 제2 기준선을 생성하는 단계는,
    상기 제3 위치들 중의 각각에 대하여, 단독적 처리 스레드를 경유하여 상기 제3 위치를 위한 제3 기준선을 동시에 생성하는 단계; 및
    상기 제3 기준선들을 저장 구역에 저장하고, 동시에 상기 자율 주행 차량이 상기 제1 궤적에 따라 이동하는 단계를 포함하는 것을 특징으로 하는 비일시적인 기계 판독 가능한 매체.
  12. 제11항에 있어서,
    상기 저장 구역은 다수의 매핑 항목들을 구비하는 매핑 테이블을 포함하고, 각 매핑 항목은 상기 제3 위치들 중의 하나를 대응되는 제3 기준선들 중의 하나에 매핑하는 것을 특징으로 하는 비일시적인 기계 판독 가능한 매체.
  13. 제11항에 있어서,
    상기 자율 주행 차량의 현재 위치를 확정하는 단계;
    상기 자율 주행 차량의 상기 현재 위치를 기반으로, 상기 저장 구역 내에서 검색을 진행하여 상기 제3 기준선들 중 관련 위치가 상기 현재 위치에 매칭된 하나의 제3 기준선을 획득하는 단계; 및
    상기 획득된 제3 기준선을 기반으로 다음 궤적을 생성하여, 다음 계획 주기를 진행하도록 상기 자율 주행 차량을 제어하는 단계를 더 포함하는 것을 특징으로 하는 비일시적인 기계 판독 가능한 매체.
  14. 제8항에 있어서,
    상기 자율 주행 차량이 제1 궤적에 따라 상기 제2 위치에 도착하기 전에, 상기 제2 기준선을 생성하는 것을 특징으로 하는 비일시적인 기계 판독 가능한 매체.
  15. 데이터 처리 시스템에 있어서,
    프로세서; 및
    메모리를 포함하되, 상기 메모리는 명령어를 저장하도록 상기 프로세서에 연결되고, 상기 명령어는 상기 프로세서에 의해 실행될 경우 상기 프로세서로 하여금 조작을 수행하도록 하며, 상기 조작은,
    제1 처리 스레드를 경유하여, 제1 위치에서 시작하는 제1 기준선을 기반으로 생성된 제1 궤적에 따라 자율 주행 차량을 제어하는 단계;
    제2 처리 스레드를 경유하여, 상기 자율 주행 차량이 미래의 기정된 기간 내에 도착할 것으로 예상되는 상기 제1 궤적의 제2 위치를 기반으로 제2 기준선을 동시에 생성하는 단계;
    상기 자율 주행 차량이 상기 제2 위치의 기정된 근접 구역 내에 처하는 것이 확정됨에 응답하여, 상기 제2 위치에서 상기 제2 기준선을 계산할 필요 없이 상기 제2 기준선을 기반으로 제2 궤적을 생성하는 단계; 및
    상기 제2 위치에서 시작하는 상기 제2 궤적에 따라 상기 자율 주행 차량을 제어하는 단계를 포함하는 것을 특징으로 하는 데이터 처리 시스템.
  16. 제15항에 있어서,
    상기 기정된 기간은 자율 주행 차량을 위한 기준선을 생성하는데 필요한 시간량보다 크거나 같은 것을 특징으로 하는 데이터 처리 시스템.
  17. 제15항에 있어서,
    상기 제2 위치는 상기 자율 주행 차량이 미래에 도착할 것으로 예상되고 상기 제1 궤적에서 선택된 다수의 제3 위치들 중의 하나인 것을 특징으로 하는 데이터 처리 시스템.
  18. 제17항에 있어서,
    상기 제2 기준선을 생성하는 단계는,
    상기 제3 위치들 중의 각각에 대하여, 단독적 처리 스레드를 경유하여 상기 제3 위치를 위한 제3 기준선을 동시에 생성하는 단계; 및
    상기 제3 기준선들을 저장 구역에 저장하고, 동시에 상기 자율 주행 차량이 상기 제1 궤적에 따라 이동하는 단계를 포함하는 것을 특징으로 하는 데이터 처리 시스템.
  19. 제18항에 있어서,
    상기 저장 구역은 다수의 매핑 항목들을 구비하는 매핑 테이블을 포함하고, 각 매핑 항목은 상기 제3 위치들 중의 하나를 대응되는 제3 기준선들 중의 하나에 매핑하는 것을 특징으로 하는 데이터 처리 시스템.
  20. 제18항에 있어서,
    상기 자율 주행 차량의 현재 위치를 확정하는 단계;
    상기 자율 주행 차량의 상기 현재 위치를 기반으로, 상기 저장 구역 내에서 검색을 진행하여 상기 제3 기준선들 중 관련 위치가 상기 현재 위치에 매칭된 하나의 제3 기준선을 획득하는 단계; 및
    상기 획득된 제3 기준선을 기반으로 다음 궤적을 생성하여, 다음 계획 주기를 진행하도록 상기 자율 주행 차량을 제어하는 단계를 더 포함하는 것을 특징으로 하는 데이터 처리 시스템.
  21. 제15항에 있어서,
    상기 자율 주행 차량이 제1 궤적에 따라 상기 제2 위치에 도착하기 전에, 상기 제2 기준선을 생성하는 것을 특징으로 하는 데이터 처리 시스템.
KR1020190010646A 2018-01-29 2019-01-28 다수의 스레드를 이용하여 자율 주행 차량을 위한 기준선을 생성하기 위한 방법 및 시스템 KR102210714B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/883,052 US11360482B2 (en) 2018-01-29 2018-01-29 Method and system for generating reference lines for autonomous driving vehicles using multiple threads
US15/883,052 2018-01-29

Publications (2)

Publication Number Publication Date
KR20190098912A true KR20190098912A (ko) 2019-08-23
KR102210714B1 KR102210714B1 (ko) 2021-02-01

Family

ID=65324155

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190010646A KR102210714B1 (ko) 2018-01-29 2019-01-28 다수의 스레드를 이용하여 자율 주행 차량을 위한 기준선을 생성하기 위한 방법 및 시스템

Country Status (5)

Country Link
US (1) US11360482B2 (ko)
EP (1) EP3518066B1 (ko)
JP (1) JP6779326B2 (ko)
KR (1) KR102210714B1 (ko)
CN (1) CN110096054B (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10671075B1 (en) * 2017-12-15 2020-06-02 Zoox, Inc. Trajectory generation using curvature segments
US10732632B2 (en) * 2018-01-31 2020-08-04 Baidu Usa Llc Method for generating a reference line by stitching multiple reference lines together using multiple threads
US11169528B2 (en) * 2018-05-11 2021-11-09 Uatc, Llc Initial trajectory generator for motion planning system of autonomous vehicles
US11442467B2 (en) * 2019-03-29 2022-09-13 Wipro Limited Method and system for generating a trajectory for navigating an autonomous vehicle
US11378967B2 (en) * 2019-09-25 2022-07-05 Baidu Usa Llc Enumeration based failure prevention QP smoother for autonomous vehicles
US11407419B2 (en) * 2019-12-30 2022-08-09 Baidu Usa Llc Central line shifting based pre-change lane path planning
CN111267838B (zh) * 2020-01-20 2021-07-23 北京百度网讯科技有限公司 泊车处理方法、系统、装置及车辆控制器
CN113160548B (zh) * 2020-01-23 2023-03-10 宝马股份公司 用于车辆的自动驾驶的方法、设备和车辆
US20220121201A1 (en) * 2020-10-15 2022-04-21 Argo AI, LLC System for anticipating future state of an autonomous vehicle
CN112622934B (zh) * 2020-12-25 2022-06-24 上海商汤临港智能科技有限公司 一种参考轨迹点和参考轨迹生成方法、驾驶方法以及车辆

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150353082A1 (en) * 2014-06-05 2015-12-10 Carnegie Mellon University Unified motion planning algorithm for autonomous driving vehicle in obstacle avoidance maneuver
JP2017508652A (ja) * 2014-01-16 2017-03-30 ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツングRobert Bosch Gmbh 車両を動作させる方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001255163A (ja) 2000-03-13 2001-09-21 Clarion Co Ltd 経路案内装置
JP5121255B2 (ja) 2007-02-28 2013-01-16 クラリオン株式会社 ナビゲーション装置
CN103033192A (zh) 2011-09-30 2013-04-10 上海博泰悦臻电子设备制造有限公司 导航系统及基于实时交通信息的导航方法与装置
CN104422455A (zh) 2013-08-24 2015-03-18 李竹君 一种路况实时导航系统
DE102014008353B4 (de) 2014-06-04 2016-09-15 Audi Ag Verfahren zum Betrieb eines Fahrerassistenzsystems zur automatisierten Führung eines Kraftfahrzeugs sowie zugeordnetes Kraftfahrzeug
CN104236577B (zh) 2014-09-19 2017-06-27 联想(北京)有限公司 一种信息处理方法及电子设备
JP5931989B2 (ja) 2014-09-26 2016-06-08 一般財団法人道路交通情報通信システムセンター プローブデータのマップマッチング結果の信頼性判定方法、装置およびプログラム
US9851212B2 (en) 2016-05-06 2017-12-26 Ford Global Technologies, Llc Route generation using road lane line quality
US10838426B2 (en) 2016-07-21 2020-11-17 Mobileye Vision Technologies Ltd. Distributing a crowdsourced sparse map for autonomous vehicle navigation
US10042362B2 (en) * 2016-11-18 2018-08-07 Waymo Llc Dynamic routing for autonomous vehicles
KR20180060860A (ko) * 2016-11-29 2018-06-07 삼성전자주식회사 객체들 간의 충돌을 방지하는 충돌 방지 장치 및 방법
US11256983B2 (en) * 2017-07-27 2022-02-22 Waymo Llc Neural networks for vehicle trajectory planning
CN111366166B (zh) 2018-12-25 2022-07-05 北京嘀嘀无限科技发展有限公司 一种导航路径规划方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017508652A (ja) * 2014-01-16 2017-03-30 ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツングRobert Bosch Gmbh 車両を動作させる方法
US20150353082A1 (en) * 2014-06-05 2015-12-10 Carnegie Mellon University Unified motion planning algorithm for autonomous driving vehicle in obstacle avoidance maneuver

Also Published As

Publication number Publication date
CN110096054B (zh) 2022-10-28
EP3518066B1 (en) 2022-03-30
KR102210714B1 (ko) 2021-02-01
US11360482B2 (en) 2022-06-14
JP6779326B2 (ja) 2020-11-04
EP3518066A1 (en) 2019-07-31
JP2019131177A (ja) 2019-08-08
US20190235513A1 (en) 2019-08-01
CN110096054A (zh) 2019-08-06

Similar Documents

Publication Publication Date Title
KR102210714B1 (ko) 다수의 스레드를 이용하여 자율 주행 차량을 위한 기준선을 생성하기 위한 방법 및 시스템
US10289110B2 (en) Method to dynamically adjusting steering rates of autonomous vehicles
EP3580625B1 (en) Driving scenario based lane guidelines for path planning of autonomous driving vehicles
US10569651B2 (en) Speed control and steering control assistant based on pitch status and roll status of autonomous driving vehicle
KR102279078B1 (ko) 자율 주행 차량의 v2x 통신 기반의 차량 차로 시스템
US20190317508A1 (en) Cost design for path selection in autonomous driving technology
KR20190098914A (ko) 자율 주행 차량을 위한 주행 궤적을 생성하는 방법, 시스템 및 기계 판독 가능한 매체
JP6543373B2 (ja) 自動運転車両に用いられる制御型の計画と制御システム
JP7001708B2 (ja) 自動運転車の高速計画のための多項式フィッティングベースの基準線平滑化方法
KR20190100855A (ko) 자율 주행 차량을 위한 자기 위치 측정 방법, 시스템 및 기계 판독 가능한 매체
US10882534B2 (en) Predetermined calibration table-based vehicle throttle/brake assist system for L2 autonomous driving
US10732632B2 (en) Method for generating a reference line by stitching multiple reference lines together using multiple threads
EP3659884B1 (en) Predetermined calibration table-based method for operating an autonomous driving vehicle
US11136023B2 (en) Method for determining exiting intersection of moving objects for autonomous driving vehicles
US11247700B2 (en) Enumeration-based three-point turn planning for autonomous driving vehicles
CN112272805A (zh) 连接两条平滑参考线的基于多点增强的拼接方法
EP3659886B1 (en) Method to determine vehicle load of autonomous driving vehicle using predetermined load calibration tables
WO2020132945A1 (en) Method and system for generating reference lines for autonomous driving vehicles
US20200042007A1 (en) Planning-control collaboration design for low cost autonomous driving technology

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant