KR20210117125A - 시나리오 기반의 자율 주행 차량 제어 - Google Patents

시나리오 기반의 자율 주행 차량 제어 Download PDF

Info

Publication number
KR20210117125A
KR20210117125A KR1020200124012A KR20200124012A KR20210117125A KR 20210117125 A KR20210117125 A KR 20210117125A KR 1020200124012 A KR1020200124012 A KR 1020200124012A KR 20200124012 A KR20200124012 A KR 20200124012A KR 20210117125 A KR20210117125 A KR 20210117125A
Authority
KR
South Korea
Prior art keywords
adv
scenario
control
current
driving
Prior art date
Application number
KR1020200124012A
Other languages
English (en)
Other versions
KR102488526B1 (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 KR20210117125A publication Critical patent/KR20210117125A/ko
Application granted granted Critical
Publication of KR102488526B1 publication Critical patent/KR102488526B1/ko

Links

Images

Classifications

    • 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/06Automatic manoeuvring for parking
    • 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/0011Planning or execution of driving tasks involving control alternatives for a single driving scenario, e.g. planning several paths to avoid obstacles
    • 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
    • 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
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/04Conjoint control of vehicle sub-units of different type or different function including control of propulsion units
    • 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
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/18Conjoint control of vehicle sub-units of different type or different function including control of braking systems
    • B60W10/184Conjoint control of vehicle sub-units of different type or different function including control of braking systems with wheel brakes
    • 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
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/20Conjoint control of vehicle sub-units of different type or different function including control of steering systems
    • 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/18Propelling the vehicle
    • B60W30/18009Propelling the vehicle related to particular drive situations
    • B60W30/18036Reversing
    • 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/18Propelling the vehicle
    • B60W30/182Selecting between different operative modes, e.g. comfort and performance modes
    • 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
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • 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
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/10Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to vehicle motion
    • B60W40/105Speed
    • 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
    • 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/007Emergency override
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D15/00Steering not otherwise provided for
    • B62D15/02Steering position indicators ; Steering position determination; Steering aids
    • B62D15/027Parking aids, e.g. instruction means
    • B62D15/0285Parking performed automatically
    • 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/0223Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
    • 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
    • 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/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • 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/0095Automatic control mode change
    • 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
    • B60W2520/00Input parameters relating to overall vehicle dynamics
    • B60W2520/10Longitudinal speed
    • 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
    • B60W2552/00Input parameters relating to infrastructure
    • B60W2552/05Type of road, e.g. motorways, local streets, paved or unpaved roads
    • 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
    • B60W2552/00Input parameters relating to infrastructure
    • B60W2552/53Road markings, e.g. lane marker or crosswalk
    • 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
    • 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 of positioning data, e.g. GPS [Global Positioning System] data
    • G05D2201/0213

Landscapes

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

Abstract

일 실시예에서, 자율 주행 차량(ADV)의 제어에는 ADV의 현재 시나리오에 대한 결정이 포함된다. 해당 시나리오에 기반하여, 복수의 다양한 제어 알고리즘에서 활성 제어 알고리즘으로써 제어 알고리즘을 선택한다. 하나 또는 복수의 목표 입력에 기반하여 활성 제어 알고리즘을 이용하여 하나 또는 복수의 제어 명령어를 생성한다. 제어 명령어를 적용하여 ADV의 이동을 구현한다.

Description

시나리오 기반의 자율 주행 차량 제어{SCENARIO BASED CONTROL OF AUTONOMOUS DRIVING VEHICLE}
본원의 실시예는 전체적으로 자율 주행 차량에 관한 것이다. 보다 상세하게, 시나리오를 기반으로 한 자율 주행 차량 제어에 관한 것이다.
자율 주행 모드로 운행되는 차량(예컨대, 무인 운전)은 탑승자, 특히 운전자를 운전과 관련된 일부 역할로부터 해방시킬 수 있다. 자율 주행 모드로 운행될 때, 차량은 다양한 지점으로 내비게이션할 수 있음으로써, 최소한의 인간-기계 상호 작용이 가능한 경우 또는 어떠한 탑승자도 없는 일부 경우에서도 운행이 가능하다.
이동 계획 및 제어는 자율 주행의 핵심 동작이다. 그러나, 종래의 이동 계획은 다양한 차량 유형에 따른 특징 차이를 고려하지 않고, 주로 곡률과 속도를 기준으로 하여 주어진 경로를 완성하는 난이도를 추정한다. 모든 유형의 차량에 동일한 이동 계획 및 제어를 적용하는 것은, 일부 경우에 있어서 정확하고 않을 뿐만아니라 원활하지 않을 수도 있다.
차량 제어 알고리즘은 목표 제어 파라미터(예컨대, 차량 위치, 차량 진행 방향 또는 속도)를 신속하게(aggressively) 추적하는 방법을 결정한다. 상이한 주행 시나리오에서 상이한 제어 알고리즘과 구성이 필요할 것이다.
일 양태에 있어서, 본원은 자율 주행 차량(ADV)의 작동 방법을 제공하며, 상기 방법은, 상기 ADV 주변의 주행 환경을 감지하는 단계; 상기 주행 환경에 기반하여, 복수의 주행 시나리오에서 상기 ADV의 현재 시나리오를 결정하는 단계; 상기 현재 시나리오에 기반하여, 복수의 다양한 제어 알고리즘에서 제어 알고리즘을 선택하는 단계 - 상기 제어 알고리즘 중 각각은 상기 주행 환경 중 적어도 하나와 연관됨 -;하나 또는 복수의 제어 목표 입력에 기반하여, 상기 주행 시나리오와 연관된 복수의 컨트롤러로부터 상기 선택한 제어 알고리즘과 서로 대응되는 컨트롤러를 호출하고, 상기 선택한 제어 알고리즘을 이용하여 제어 명령어를 생성하는 단계; 및상기 제어 명령어를 적용하여 상기 ADV의 이동을 구현하는 단계;를 포함한다.
다른 일 양태에 있어서, 본원은 명령어가 저장된 비 일시적 기계 판독 가능한 저장 매체를 제공하며, 상기 명령어가 프로세서에 의해 실행될 경우 상기 프로세서가 상기 일 양태에 따른 방법을 구현하도록 한다.
또 다른 일 양태에 있어서, 본원은데이터 처리 시스템을 제공하며, 상기 시스템은 프로세서 및 상기 프로세서에 연결되고 명령어를 저장하는 저장 장치를 포함하며, 상기 명령어가 상기 프로세서에 의해 실행될 경우 상기 프로세서가 상기 일 양태에 따른 방법을 구현하도록 한다.
본원의 실시예는 첨부 도면의 각 도면에서 제한적인 방식이 아닌 예시로써 제시되어 있으며, 도면의 동일한 참조 부호는 유사한 요소를 나타낸다.
도 1은 일 실시예에 따른 네트워크화 시스템의 블록도를 나타낸다.
도 2는 일 실시예에 따른 자율 주행 차량의 일 예의 블록도를 나타낸다.
도 3a 내지 도 3b는 일 실시예에 따른 자율 주행 차량과 함께 사용되는 감지 및 계획 시스템 일 예의 블록도를 나타낸다.
도 4는 일 실시예에 따른 자율 주행을 위한 시스템 아키텍처의 블록도를 나타낸다.
도 5는 일 실시예에 따른 시나리오를 기반으로 자율 주행 차량을 제어하는 프로세스를 나타낸다.
도 6은 일 실시예에 따른 주차 제어 및 일반 주행 제어 모듈의 일 예를 나타낸다.
도 7은 일 실시예에 따른 시나리오를 기반으로 상이한 제어 알고리즘을 사용하여 자율 주행 차량을 제어하는 시스템을 나타낸다.
아래 설명된 세부내용을 참고하여 본원의 다양한 실시예와 양태에 대한 설명을 할 것이며, 상기 다양한 실시예는 도면에 도시되어 있다. 아래의 설명과 도면은 본원에 대한 설명이며, 본원을 제한하는 것으로 해석되어서는 안된다. 본원의 다양한 실시예에 대한 전반적인 이해를 돕기 위해 많은 특정 세부 사항을 설명하였다. 그러나 일부 경우에는 본원의 실시예에 대한 간결한 설명을 위해 잘 알려진 세부 사항이나 일반적인 세부 사항에 대한 설명은 생략하였다.
본 명세서에서 언급한 "일 실시예" 또는 "실시예"는 해당 실시예와 결합하여 설명한 특정 특징, 구조 또는 특성이 본원의 적어도 하나의 실시예에 포함될 수 있음을 의미한다. 본 명세서 각 부분에 나타나는 "일 실시예에서"라는 표현들은 모두 동일한 실시예를 지칭하는 것은 아니다.
상이한 주행 시나리오에서 상이한 제어 알고리즘 및 구성이 필요할 수 있다. 예를 들어, 어떤 경우에는 자율 주행 차량이 목표 차량의 진행 방향을 신속하게(aggressively) 추적하기를 원할 수도 있다. 이러한 경우에 있어서, 제어 알고리즘은 시간의 흐름에 따라 방향 전환 명령어를 신속하게 변화시켜, 목표 차량의 진행 방향과 현재 차량의 진행 방향 사이의 오차를 신속하게 줄일 수 있다. 다른 경우에 있어서, 제어 알고리즘은 제어 명령가 특정 시간 동안(예컨대, 한 프레임부터 다음 프레임까지) 내에 변경될 수 있는 정도를 제한할 것을 원할 수 있다.
일부 실시예에 따라, 본원의 방법과 시스템은 자율 주행 차량을 위한 제어 모듈의 핫 스왑(hot swap) 모델을 제공한다. 자율 주행 차량의 현재 시나리오를 기반으로 상이한 제어 알고리즘을 시스템에 "삽입"할 수 있다. 현재 시나리오(예컨대, 도로 위 또는 도로 내 주행 시나리오와 같은 기본 주행 시나리오 또는 주차 시나리오와 같은 개방된 공간 주행 시나리오)는 ADV의 속도뿐만 아니라 차량의 감지 입력을 기준으로 결정된다. 속도가 유일한 결정 요소일 경우, 제어 알고리즘이 지나치게 자주 전환됨과 동시에 ADV의 실제 주행 시나리오를 정확하게 반영하지 못할 수 있다(예컨대, 차량이 정차하지 않더라도 느려질 수 있음). 따라서 두 개 또는 더 많은 요인을 기반으로 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) 및 센서 시스템(115)을 포함하나 이에 제한되지 않는다. 자율 주행 차량(101)에 엔진, 바퀴, 스티어링 휠, 변속기 등과 같은 일반 차량에 포함되는 일부 상용 부재들도 더 포함될 수 있으며, 상기 부재들은 차량 제어 시스템(111) 및/또는 감지 및 계획 시스템(110)에 의해 다양한 통신 신호 및/또는 명령어로 제어될 수 있고, 상기 다양한 통신 신호 및/또는 명령어에는 예를 들어 가속 신호 또는 명령어, 감속 신호 또는 명령어, 조향 신호 또는 명령어, 제동 신호 또는 명령어 등이 있다.
부재들(110 내지 115)은 상호 연결 부재, 버스, 네트워크 또는 그 조합을 통해 서로 통신하도록 연결된다. 예를 들어, 부재들(110 내지 115)은 컨트롤러 영역 네트워크(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)은 다양한 부재 또는 시스템과 통신하기 위해 WiFi를 사용하는 등, 셀룰러 네트워크 또는 무선 로컬 영역 네트워크(WLAN)를 사용할 수 있다. 무선 통신 시스템(112)은 예를 들어 적외선 링크, 블루투스 등을 이용하여 장치(예컨대, 승객의 이동 장치, 디스플레이 장치, 차량(101) 내 스피커)와 직접 통신할 수 있다. 사용자 인터페이스 시스템(113)은 예를 들어 키보드, 터치 스크린 디스플레이 장치, 마이크 및 스피커 등이 포함된 차량(101) 내에 구현된 주변 장치의 일부분일 수 있다.
무선 통신 시스템(112)은 차량 사물 통신(V2X) 유닛을 포함할 수 있다. 통신 유닛은 무선 통신 프로토콜(예컨대, 셀룰러 V2X(C-V2X))을 통해 통신한다. 통신 유닛은 도로변 장치나 서버와 같은 다양한 차량 및 장치(V2V 또는 V2I)와 통신할 수 있으며, V2X 네트워크와 통신할 수도 있다. ADV는 V2X 유닛을 통해 물체, 장애물(예컨대, 다양한 차량, 보행자, 파편 등), 도로 정보 및/또는 지도 정보에 대한 데이터를 수신할 수 있다. 해당 데이터는 ADV 주변 환경을 평가하고 감지하도록, ADV 차량 탑재 센서에서 생성된 센서 데이터의 보완 또는 대체로써 감지 및 계획 시스템(110)에 의해 처리될 수 있다.
자율 주행 차량(101)의 기능 중 일부 또는 전부는, 특히 자율 주행 모드에서 작동될 때, 감지 및 계획 시스템(110)에 의해 제어되거나 관리될 수 있다. 감지 및 계획 시스템(110)에는 필요한 하드웨어(예컨대, 프로세서, 메모리, 스토리지)와 소프트웨어(예컨대, 운영 체제, 계획 및 경로 배정 프로그램)가 포함되어 있으며, 센서 시스템(115), 제어 시스템(111), 무선 통신 시스템(112) 및/또는 사용자 인터페이스 시스템(113)으로부터 정보를 수신하고, 수신된 정보를 처리하며, 출발지부터 목적지까지의 노선이나 경로를 계획하고, 계획 및 제어 정보를 기반으로 차량(101)을 운전한다. 선택적으로, 감지 및 계획 시스템(110)은 차량 제어 시스템(111)과 집적될 수 있다.
예를 들어, 승객으로서 사용자는 사용자 인터페이스를 통해 여정의 출발지와 목적지를 지정할 수 있다. 감지 및 계획 시스템(110)은 여정에 관한 데이터를 획득한다. 예를 들어, 감지 및 계획 시스템(110)은 서버(103 내지 104)의 일부가 될 수 있는 MPOI 서버로부터 위치 및 경로 정보를 획득할 수 있다. 위치 서버는 위치 서비스를 제공하고, MPOI 서버는 지도 서비스와 일부 위치에 대한 POI를 제공한다. 선택적으로, 이러한 위치 및 MPOI 정보는 감지 및 계획 시스템(110)의 영구 스토리지에 로컬로 캐시될 수 있다.
자율 주행 차량(101)이 경로를 따라 이동할 때 감지 및 계획 시스템(110) 또한 교통 정보 시스템 또는 서버(TIS)로부터 실시간 교통 정보를 획득할 수 있다. 서버(103 내지 104)는 제3자 엔티티에 의해 작동될 수 있음을 유의하여야 한다. 선택적으로 서버(103 내지 104)의 기능은 감지 및 계획 시스템(110)과 집적될 수 있다. 실시간 교통정보, MPOI 정보, 위치 정보 및 센서 시스템(115)에 의해 탐지되거나 감지된 실시간 현지 환경 데이터(예컨대, 장애물, 물체, 근처 차량)에 기반하여, 감지 및 계획 시스템(110)은 최적의 경로를 계획하고, 계획된 경로를 따라 예를 들어, 제어 시스템(111)을 통해 차량(101)을 운전함으로써 목적지에 안전하고 효율적으로 도달할 수 있다.
서버(103)는 데이터 분석 시스템일 수 있고, 이를 통해 다양한 고객에게 데이터 분석 서비스를 제공할 수 있다. 일 실시예에서, 데이터 분석 시스템(103)은 데이터 수집 장치(121)와 머신러닝 엔진(122)을 포함한다. 데이터 수집 장치(121)는 다양한 차량(자율 주행 차량 또는 인간 운전자가 운전하는 일반 차량)으로부터 주행 통계 데이터(123)를 수집한다. 주행 통계 데이터(123)는 주행 명령어(예컨대, 스로틀, 브레이크, 스티어링 명령어) 및 차량의 센서에 의해 각기 다른 시점에서 포착된 차량의 반응(예컨대, 속도, 가속, 감속, 방향)에 대한 정보를 포함한다. 또한 주행 통계 데이터(123)에는 노선(출발지 및 목적지 위치 포함), MPOI, 도로 상태, 기상 상태 등과 같은 다양한 시점의 주행 환경에 대한 정보가 더 포함될 수 있다.
주행 통계 데이터(123)에 기반하여, 머신러닝 엔진(122)은 다양한 목적을 위해 일 세트의 규칙, 알고리즘 및/또는 예측 모델(124)을 생성하거나 훈련시킨다. 일 실시예에서, 알고리즘(124)에는 복수의 주행 시나리오에 대응되는 복수의 상이한 제어 알고리즘과 ADV 주위의 주행 환경에 대한 감지 결과에 기반하여 현재 주행 시나리오를 결정하는 알고리즘이 포함될 수 있다. 다음, 알고리즘(124)을 ADV에 업로드하여 자율 주행 중에 실시간으로 사용할 수 있다.
도 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)은 여정 관련 정보를 획득하기 위해 자율 주행 차량(300)의 지도 및 경로 정보(311)와 같은 다양한 부재들과 통신한다. 예를 들어, 위치 결정 모듈(301)은 위치 서버, 지도 및 POI(MPOI) 서버로부터 위치 및 경로 정보를 획득할 수 있다. 위치 서버는 위치 서비스를 제공하며 MPOI 서버는 지도 서비스와 일부 위치에서의 POI를 제공함으로써, 지도 및 경로 정보(311)의 일부로써 캐시될 수 있다. 자율 주행 차량(300)이 경로를 따라 이동할 때 위치 결정 모듈(301)은 교통 정보 시스템 또는 서버로부터 실시간 교통 정보를 획득할 수도 있다.
센서 시스템(115)으로부터 제공되는 센서 데이터와 위치 결정 모듈(301)로부터 획득한 위치 결정 정보를 바탕으로, 감지 모듈(302)은 주변 환경에 대한 감지를 결정한다. 감지 정보는 일반 운전자가 운전하고 있는 차량 주변에서 감지하는 물체들을 나타낼 수 있다. 감지에 있어서, 물체 형태로 된 차도 구성, 신호등 신호, 또 다른 차량의 상대적 위치, 보행자, 건물, 횡단보도 또는 기타 교통 관련 표지(예컨대, 정지 표지, 양보 표지) 등이 포함될 수 있다. 차선 구성에는 차도 형상(예컨대, 직선 또는 곡선), 차도 폭, 도로의 차도 개수, 일방 또는 양방향 차도, 병합 또는 분리된 차도, 출구 차도 등과 같이 하나 또는 복수의 차도를 설명하는 정보가 포함될 수 있다.
감지 모듈(302)은 하나 또는 복수의 카메라에 의해 수집된 이미지를 처리하고 분석하여, 자율 주행 차량 환경에서의 물체 및/또는 특징을 식별하기 위해 컴퓨터 비전 시스템이나 컴퓨터 비전 시스템의 기능을 포함할 수 있다. 상기 물체에는 교통 신호, 도로 경계, 기타 차량, 보행자 및/또는 장애물 등이 포함될 수 있다. 컴퓨터 비전 시스템은 사물 인식 알고리즘, 영상 추적 및 기타 컴퓨터 비전 기술을 사용할 수 있다. 일부 실시예에서, 컴퓨터 비전 시스템은 환경 지도를 제작하고, 물체를 추적하고, 물체의 속도를 예측하는 등의 작업을 할 수 있다. 감지 모듈(302)은 레이더 및/또는 LIDAR와 같은 기타 센서에 의해 제공받은 기타 센서 데이터에 기반하여 물체를 감지할 수도 있다.
일 실시예에 따르면, 위치 결정 모듈(301) 및/또는 감지 모듈(302)은 차량 탑재 센서를 통해 획득한 센서 데이터와 결합하여 차량의 위치를 결정하고 차량 주변의 운전 환경을 감지하기 위해, 도로변 장치와 같은 다른 장치와 통신할 수 있다. 예를 들어, 도로를 따라 설치된 일부 도로변 장치에는 카메라, LIDAR 장치 및/또는 레이더 장치와 같은 센서가 장착될 수 있다. 도로변 장치에는 장애물, 신호등 인식 등을 포함한 일부 도로 또는 차도 구간의 운전 환경을 결정하기 위한, 감지 모듈(302)과 같은 기능이 포함될 수 있다. 이러한 정보는 V2X와 같은 링크를 통해 가까운 차량에 전달될 수 있다. 차량은 도로변 장치로부터 수신한 정보를 이용하여 운전 환경을 감지할 수 있다. 선택적으로, 차량은 운전 환경을 감지할 때 그 자체의 감지 과정을 도로변 장치로부터 수신한 감지 데이터와 결합할 수 있다.
각각의 물체에 대해 예측 모듈(303)은 해당 경우에서 물체가 어떻게 움직일 것인 가를 예측한다. 예측은 일 세트의 지도/노선 정보(311)와 교통 규칙(312)을 고려하는 시점에서, 주행 환경을 감지하는 감지 데이터에 기반하여 수행된다. 예를 들어, 물체가 반대 방향의 차량이고 현재 주행 환경에 교차로가 포함되어 있는 경우, 예측 모듈(303)은 차량이 직진하거나 회전할 가능성이 있는지 여부를 예측한다. 만약 감지 데이터에서 교차로에 신호등이 없다고 나타날 경우, 예측 모듈(303)은 차량이 교차로에 진입하기 전에 완전히 정차해야 할 수도 있다고 예측할 수 있다. 만약 감지 데이터에서 차량이 현재 좌회전 전용 차선 또는 우회전 전용 차선에 있다고 나타날 경우, 예측 모듈(303)은 차량이 각각 좌회전하거나 우회전할 가능성이 더 높다고 예측할 수 있다.
결정 모듈(304)은 각각의 물체에 대해 그 물체를 어떻게 처리할 것인지에 대한 결정을 내린다. 예를 들어, 결정 모듈(304)은 특정 물체(예컨대, 교차로의 다른 차량)와 물체를 설명하는 메타데이터(예컨대, 속도, 방향, 회전 각도)에 대해, 상기 물체와 만나는 방법(예컨대, 추월, 양보, 정지, 지나가기)을 결정한다. 결정 모듈(304)은 영구 스토리지(352)에 저장될 수 있는 교통 규칙 또는 운전 규칙(312)과 같은 규칙 집합에 따라 이러한 결정을 내릴 수 있다.
노선 배정 모듈(307)은 출발지부터 목적지까지 하나 또는 복수의 노선 또는 경로를 제공하도록 구성된다. 사용자로부터 수신된 여정과 같이 출발지부터 목적지까지 주어진 여정에 대해, 노선 배정 모듈(307)은 노선 및 지도 정보(311)를 획득하고, 출발지부터 목적지에 이를 수 있는 모든 노선 또는 경로를 결정한다. 노선 배정 모듈(307)은 출발지에서 목적지에 이르는 각각의 노선을 결정하는 지형도 형태의 기준선을 생성할 수 있다. 기준선은 다른 차량, 장애물 또는 교통 상황 등의 영향을 받지 않는 이상적인 노선이나 경로를 가리킨다. 즉 도로에 다른 차량, 보행자 또는 장애물이 없을 경우, 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)의 매시간 간격과 같은 복수의 계획 주기(주행 주기라고도 지칭함)로 수행된다. 계획 또는 주행 주기 중 각각에 대해, 계획 및 제어 데이터에 기반한 하나 또는 복수의 제어 명령어가 발송된다. 즉, 계획 모듈(305)은 100ms마다 다음 노선 또는 경로 구간을 계획하는데, 예를 들어, 목표 위치와 ADV가 목표 위치에 도달하는 데 걸리는 시간을 포함한다. 선택적으로 계획 모듈(305)은 구체적인 속도, 방향 및/또는 스티어링 각도 등을 정할 수도 있다. 일 실시예에서, 계획 모듈(305)은 다음 기정 구간(예컨대, 5초)에 대해 노선 또는 경로 구간을 계획한다. 각각의 계획 주기에 대해, 계획 모듈(305)은 이전의 일 주기에서 계획한 목표 위치에 기반하여 현재 주기(예컨대, 다음 5초)에 대한 목표 위치를 계획한다. 다음, 제어 모듈(306)은 현재 주기의 계획 및 제어 데이터에 기반하여 하나 또는 복수의 제어 명령어(예컨대, 스로틀, 브레이크, 스티어링 제어 명령어)를 생성한다.
결정 모듈(304)과 계획 모듈(305)은 통합 모듈로 집적될 수 있음을 주의하여야 한다. 결정 모듈(304)/계획 모듈(305)에는 자율 주행 차량의 주행 경로를 정하기 위한 내비게이션 시스템 또는 내비게이션 시스템의 기능이 포함될 수 있다. 예를 들어, 내비게이션 시스템은 자율 주행 차량이 최종 목적지로 가는 차도 기반의 경로를 따라 앞으로 이동하면서, 기본적으로 감지된 장애물을 피하도록 하는 경로를 따라 이동함에 있어서 영향을 주는 일련의 속도와 진행방향을 결정할 수 있다. 목적지는 사용자 인터페이스 시스템(113)에 의해 진행되는 사용자 입력으로 설정될 수 있다. 내비게이션 시스템은 자율 주행 차량이 운행하는 동안 동적으로 운전 경로를 업데이트할 수 있다. 내비게이션 시스템은 자율 주행 차량의 운전 경로를 정하기 위해, GPS 시스템과 하나 또는 복수의 지도로부터 전달받은 데이터를 결합할 수 있다.
일 실시예에서, 시나리오 판단 모듈(308)은 감지 모듈(302) 및/또는 위치 결정 모듈(301)에 의해 제공되는 감지 데이터에 기반하여 현재 운전 시나리오를 결정하도록 구성된다. 현재 운전 시나리오에 기반하여, 계획 모듈(305) 및/또는 제어 모듈(306)은 차도 모드 또는 개방 공간 모드와 같은 다양한 운전 모드에서 작동될 수 있다. 차도 모드에서 ADV는 차도 표기(예컨대, 차선)와 같은 도로의 차선 구성을 기준으로 운전하도록 구성된다. 개방 공간 모드(예컨대, 주차)에서 ADV는 현재 주행 환경에서 감지된 장애물을 기준으로, 앞과 뒤를 포함한 모든 방향에서 운전하도록 구성된다. 상이한 운전 모드에서 상이한 알고리즘이 연관될 수 있다. 제어 모듈(306)에서, 상이한 컨트롤러(예컨대, 개방 공간 컨트롤러, 차도 컨트롤러)를 호출하여 상응하는 작업을 수행할 수 있다. 시나리오 판단 모듈(308)은 별도의 모듈로 구현되거나 모듈(301 내지 307) 중 어느 하나(예컨대, 감지 모듈(302))와 집적될 수 있음을 주의하여야 한다.
도 4는 일 실시예에 따른 자율 주행을 위한 시스템 아키텍처를 나타낸 블록도이다. 시스템 아키텍처(400)는 도 3a와 도 3b에서 설명한 자율 주행 시스템의 시스템 아키텍처를 나타낼 수 있다. 도 4를 참조하면, 시스템 아키텍처(400)는 애플리케이션 레이어(401), 계획 및 제어(PNC) 레이어(402), 감지 레이어(403), 드라이버 레이어(404), 펌웨어 레이어(405) 및 하드웨어 레이어(406)를 포함하나 이에 제한되지 않는다. 애플리케이션 레이어(401)는 사용자 인터페이스 시스템(113)과 연관된 기능 등, 자율 주행 차량의 사용자 또는 승객과 상호 작용하는 사용자 인터페이스 또는 구성 애플리케이션을 포함할 수 있다. PNC 레이어(402)에는 적어도 계획 모듈(305)과 제어 모듈(306)의 기능이 포함될 수 있다. 감지 레이어(403)는 적어도 감지 모듈(302)의 기능을 포함할 수 있다. 일 실시예에서, 예측 모듈(303) 및/또는 결정 모듈(304)의 기능을 포함하는 추가 레이어가 존재한다. 선택적으로, 이러한 기능은 PNC 레이어(402) 및/또는 감지 레이어(403)에 포함될 수 있다. 시스템 아키텍처(400)는 드라이버 레이어(404), 펌웨어 레이어(405) 및 하드웨어 레이어(406)를 더 포함한다. 펌웨어 레이어(405)는 적어도 센서 시스템(115)의 기능을 나타내며, 필드 프로그래머블 게이트 어레이(FPGA)의 형태로 구현될 수 있다. 하드웨어 레이어(406)는 제어 시스템(111)과 같은 자율 주행 차량의 하드웨어를 나타낼 수 있다. 레이어(401 내지 403)는 장치 드라이버 레이어(404)를 통해 펌웨어 레이어(405) 및 하드웨어 레이어(406)와 통신할 수 있다.
도 5는 일 실시예에 따라 ADV를 제어하는 프로세스(500)를 나타낸다. 프로세스(500)는 소프트웨어, 하드웨어 또는 이들의 조합을 포함할 수 있는 프로세싱 로직에 의해 수행될 수 있다. 예를 들어, 위에서 설명한 시나리오 판단 모듈(308)과 제어 모듈(306)에 의해 프로세스(500)가 수행될 수 있다. 도 5를 참조하면, 블록(501)에서 해당 프로세스는 ADV의 현재 시나리오를 결정하는 단계를 포함한다. 현재 시나리오는 운전 환경에 따라 결정될 수 있다. 일부 실시예에서, 현재 시나리오는 단순히 차량 속도에만 기반한 것이 아닌 하이 레벨에서 결정된 것이다. 일부 실시예에서 시나리오를 기반으로 하는 주행 환경에는 지도 정보, 현재 차량 위치, 현재 차량 경로, 현재 차량 방향 및 현재 차량 속도 중 적어도 두 가지를 포함한다. 예를 들어, 현재 차량 위치가 지도 정보를 인용 참조하는 경우, 이는 ADV가 지정된 주차 구역(예컨대, 주차 구조물 또는 주차장)에 위치함을 나타낼 수 있다. 또한, 현재 차량 경로 또는 방향은 ADV가 지정된 주차 구역으로 진입하거나 주차 구역에서 나가고 있음을 나타낼 수 있다. 따라서 이러한 정보에 가반하여 하이 레벨에서 시나리오를 결정할 수 있다.
블록(502)에서 해당 프로세스는 현재 시나리오를 기반으로 복수의 상이한 제어 알고리즘으로부터 제어 알고리즘을 선택하는 단계를 포함한다. 설명한 바와 같이, 제어 알고리즘은 차량의 현재 시나리오에 따라 제어 파라미터(예컨대, 속도, 조향)의 변화를 다르게 제한하거나 패널티를 줄 수 있다. 따라서 차량의 현재 시나리오에 따라 복수의 상이한 제어 알고리즘으로부터 적절하고 마땅한 제어 알고리즘을 선택한다.
블록(503)에서, 해당 프로세스는 하나 또는 복수의 제어 목표 입력에 기반하여, 제어 알고리즘을 사용하여 제어 명령어를 생성하는 단계를 포함한다. 하나 또는 복수의 제어 목표 입력에는 ADV의 목표 위치, ADV의 현재 위치, ADV의 목표 속도, ADV의 현재 속도, ADV의 목표 진행 방향 및 ADV의 현재 진행 방향 중 적어도 하나가 포함될 수 있다.
복수의 상이한 제어 알고리즘 각각은 상응한 컨트롤러와 연관될 수 있다. 예를 들어, 상이한 제어 알고리즘 각각은 컴퓨터 명령어와 같은 상응한 컨트롤러에 의해 캡슐화되거나 상응한 컨트롤러에 의해 호출되고 실행될 수 있다. 제어 명령어는 현재 시나리오에 상응한 컨트롤러를 호출하여 선택한 제어 알고리즘을 실행함으로써 생성된다. 예를 들어 현재 시나리오가 주차 시나리오인 경우 주차 컨트롤러를 호출하여 주차에 적합한 제어 명령어를 생성한다. 주차 시나리오가 활성화되면 주행 컨트롤러를 호출하여 주행에 적합한 제어 명령어를 생성한다.
블록(504)에서, 해당 프로세스는 ADV의 이동을 구현하기 위해 제어 명령어를 적용하는 단계를 포함한다. 제어 명령어(예컨대, 스로틀, 브레이크 또는 스티어링 명령어)는 상응한 액츄에이터(스로틀, 브레이크 또는 스티어링 액츄에이터)로 전달되어, ADV의 이동을 구현한다. 구현된 이동은 제어 명령어에 부합한다. 예를 들어, 제어 명령어에 응답하여, 제어 명령어 값은 ADV의 가속, 회전 또는 제동의 정도를 결정한다. 해당 프로세스는 주행 중에 수행됨으로써 관련 시나리오에 따라 동적으로 ADV 제어를 조정할 수 있다.
도 6은 일 실시예에 따른 모듈화 핫 스왑 제어 모듈을 구비한 시스템을 나타낸다. 시나리오 판단 모듈(308)은 어떤 ADV 주행 시나리오가 현재 ADV와 관련되어 있는지에 대한 하이 레벨의 판단을 내릴 수 있다. 현재 시나리오는 복수의 시나리오로부터 선택될 수 있다. 이러한 시나리오는 사전에 결정되어 (예컨대, 데이터 및/또는 컴퓨터 명령어으로써) 컴퓨터 저장 장치에 저장될 수 있다. 도 6과 같이 일부 실시예에서, 복수의 시나리오에는 주차 시나리오와 정상 주행 시나리오가 포함된다. 시나리오 판단 모듈(308)은 복수의 요인들(예컨대, 지도 데이터, 차량 위치, 차량 방향 및 차량 속도)에 기반하여 어떤 시나리오가 연관되는지 결정한다.
예를 들어, 이러한 요인들은 차량이 지정된 주차 구역(예컨대, 주차장)에 진입하고 있음을 나타낼 수 있다. 이러한 시나리오에서, 시나리오 판단 모듈(308)은 활성 시나리오를 "주차 시나리오"로 설정할 수 있다. ADV가 지정된 주차 구역을 벗어날 때 또는 ADV가 한 목적지부터 다른 목적지까지 정상적으로 주행할 때, 시나리오 판단 모듈(308)은 활성 시나리오를 "일반 운전 시나리오"로 설정할 수 있다. 일부 실시예에서, 추가 주행 시나리오를 미리 결정하고 그 중에서 선택할 수 있다.
상기 시스템은 운전 시나리오에 기반하여 활성 ADV 제어 모듈로서 "핫 플러그"되는 복수의 제어 모듈(예컨대, 612 및 622)을 포함하며, 여기서 제어 모듈(612) 및 제어 모듈(622)은 제어 모듈(306)의 일부로 구현될 수 있다. 각각의 제어 모듈에는 공통 전처리 장치(614)와 공통 후처리 장치(616)가 포함될 수 있다. 또한 각각의 모듈은 ADV가 현재 위치한 시나리오 유형과 호환되는 제어 명령어를 생성하는 다양한 제어 알고리즘(602)을 구비할 수 있다. 주차 컨트롤러(618)와 정상 주행 컨트롤러(628)는 상이한 운전 시나리오에 대응하는 상이한 제어 알고리즘의 예이다. 컨트롤러(618) 및 컨트롤러(628)는 상응하는 시나리오를 처리하도록 특별히 설계되고 구성될 수 있다. 그러나 이들은 일 세트의 공통의 애플리케이션 프로그램 인터페이스(API)가 배치되어 있다. 따라서 모든 컨트롤러를 삽입하고 호출하여 상응한 시나리오에 대한 특정 작업을 수행할 수 있다. 일부 실시예에서, 정상 주행 컨트롤러는 기본 컨트롤러이다. 따라서 시나리오 결정 모듈에서 별도로 결정하지 않는 한, 정상 주행 시나리오(예컨대, 차도 주행 시나리오)이 기본 주행 시나리오이다.
ADV의 목표 위치, ADV의 현재 위치, ADV의 목표 속도, ADV의 현재 속도, ADV의 목표 진행 방향 및 ADV의 현재 진행 방향과 같은 하나 또는 복수의 제어 목표 입력에 기반하여 제어 명령어를 생성한다. 각각의 상이한 제어 알고리즘은 제어 명령어를 생성하여 ADV의 목표 파라미터(위치, 속도, 진행 방향)와 현재 파라미터(위치, 속도, 진행 방향)간 차이를 줄임으로써, 목표 파라미터를 추적할 수 있다. 그러나 현재 시나리오에 따라, 각각의 제어 알고리즘은 해당 목표 파라미터를 더 또는 덜 신속하게 추적할 수 있다. 또한 일부 제어 알고리즘은 제어를 제한하거나 일부 동작(예컨대, 역방향)을 차단할 수도 있다.
일부 실시예에서, 주차 컨트롤러(618)가 주차 시나리오(예컨대, 개방 공간 모드)에서 정방향 및 역방향 스로틀 명령어를 허용하고 생성할 수 있다. 반면 정상 주행 컨트롤러(628)는 역방향 스로틀을 허용하지 않는데, 그 이유는 정상 주행 시나리오에서 한 목적지부터 다른 한 목적지까지 ADV가 역방향으로 운전해서는 안 되기 때문이다.
일부 실시예에서, 주차 컨트롤러(618)는 주차 시나리오에서 정상 주행 시나리오의 정상 주행 컨트롤러(628)보다 더 신속하게 a) ADV의 목표 위치와 ADV의 현재 위치 간의 차이 및/또는 b) ADV의 목표 진행 방향과 ADV의 현재 진행 방향 간의 차이를 줄일 수 있다.
일부 실시예에서, 주차 컨트롤러(618)는 주차 시나리오에서 정상 주행 컨트롤러(628)보다 덜 신속하게 제어 명령어를 생성하여 목표 제어 파라미터(예컨대, ADV의 속도)와 ADV의 현재 상태(예컨대, ADV의 현재 속도)간 차이를 감소한다. 주차 컨트롤러(618)는 갑작스러운 속도 변화에 패널티를 주어 제한된 공간 및 주차장에서 ADV의 가속도를 감소시킬 수 있는데, 이 때 갑작스러운 가속은 승객의 불편함과 안전 문제를 야기할 수 있다.
도 7은 ADV의 현재 시나리오에 기반하여 적절하게 다양한 제어 알고리즘(602)을 모듈화 방식으로 구현하는 ADV 시스템을 나타낸다. 시나리오 결정 모듈(308)에는 정보(예컨대, 지도 데이터, 차량 위치, 차량 방향, 차량 진행 방향 등)에 기반하여 현재 관련 시나리오를 결정하는 하이 레벨 로직(701)이 포함된다. 해당 정보는 위치 결정 모듈(301), 지도 및 노선 정보(311), 센서 시스템(115) 또는 도 3a에 도시된 감지 및 계획 시스템(110)의 일부분인 기타 모듈에 의해 생성될 수 있다. 차량 섀시 채널(예컨대, CAN 버스) 또는 차량 컨트롤러와 액츄에이터를 연결하여 통신을 도모하는 기타 통신 프로토콜을 통해 해당 정보에 액세스할 수 있다.
각각의 제어 알고리즘은 공통 전처리 모듈(614) 및 공통 후처리 모듈(616)과 연관되고 통신하도록 연결될 수 있다. 이러한 모듈들은 각각 상응한 프로토콜을 구현할 수 있다.
예를 들어, 전처리 프로토콜은 현재 시나리오를 독출하고 제어 목표 입력(예컨대, 차량 위치 결정 및/또는 감지, 차량 계획 또는 차량 섀시 채널로부터)을 검색할 수 있다. 또한 전처리 프로토콜은 어떤 상이한 제어 알고리즘(602)을 활성 제어 알고리즘으로 로딩할 것인지도 결정한다. 해당 활성 제어 알고리즘이 로딩되면 활성 제어 알고리즘의 고유(unique) 제어 알고리즘에 기반하여 제어 목표 입력을 처리한다.
후처리 프로토콜은 제어 명령어를 포맷하고 차량 통신 버스(예컨대, 차량 섀시 채널)로 제어 명령어를 출력할 수 있다. 이러한 제어 명령은 제어 시스템(111)의 관련 유닛에 의해 수신될 수 있다(도 2 참조). 예를 들어, 스로틀 명령어, 스티어링 명령어 또는 브레이크 명령어 중 하나 또는 복수의 제어 명령어가 스로틀 액츄에이터, 스티어링 액츄에이터 또는 브레이크 액츄에이터에 의해 각각 수신됨으로써 ADV의 상응 및 부합되는 이동을 구현할 수 있다.
일부 실시예에서, 후처리 모듈(616)은 비상 로직(704)을 포함할 수 있다. 비상 상황에 대응하여 후처리 프로토콜은 제어 명령어를 무시하는 비상 명령어를 출력할 수 있다. 예를 들어, 비상 로직이 감지 및 계획 모듈(110)로부터 수신한 정보에 기반하여 비상 상황(예컨대, 충돌 회피, 차량 손상 감지 또는 기타 비상 상황)이 발생하였다고 결정하는 경우, 비상 로직은 ADV를 감속, 도로변 정차 및/또는 정지시키는 하나 또는 복수의 오버라이드 명령어를 생성할 수 있다.
일부 실시예에서, 제어 구성(702)은 각각의 상이한 제어 알고리즘의 제어 동작을 한정하는 파라미터를 저장한다. a) 애플리케이션 프로그램 인터페이스, b) 사용자 설정 및/또는 c) 저장 장치에 저장된 기록 가능한 파일을 통해 이러한 파라미터를 설정 및 수정할 수 있다. 다음, 제어 구성은 실행 중에 추출할 수도 있고, 컴파일 중에 기계어 명령어에 기록할 수도 있으므로, 각각의 제어 알고리즘을 편리하게 수정하고 관리할 수 있다.
위에서 표시하고 설명한 부재들 중 일부 또는 전부는 소프트웨어, 하드웨어 또는 이들의 조합에서 구현될 수 있다는 것을 주의하여야 한다. 예를 들어, 이러한 부재들은 영구 스토리지에 설치되고 저장되는 소프트웨어로 구현될 수 있고, 상기 소프트웨어는 본원에서 설명한 프로세스나 동작을 수행하기 위해 프로세서(미 도시)를 통해 메모리에 로딩되고 저장 장치로부터 실행될 수 있다. 선택적으로 이러한 부재들은 전용 하드웨어(예컨대, 집적 회로(예를 들어, 전용 집적 회로 또는 ASIC), 디지털 신호 처리기(DSP) 또는 필드 프로그래머블 게이트 어레이(FPGA))에 프로그래밍되거나 내장된 실행 가능한 코드로 구현될 수 있으며, 상기 실행 가능한 코드는 애플리케이션의 상응한 드라이버 및/또는 운영 체제를 통해 액세스될 수 있다. 또한 이러한 부재들은 하나 또는 복수의 특정 명령어를 통해 소프트웨어 부재에 의해 액세스할 수 있는 명령어 집합의 일부로써, 프로세서 또는 프로세서 코어의 특정 하드웨어 로직으로 구현될 수 있다.
상기 상세한 설명 중 일부는 이미 컴퓨터 저장 장치 내에서 데이터 비트에 대한 연산의 알고리즘과 부호 표시에 따라 도시되었다. 이러한 알고리즘의 설명과 표시는 데이터 처리 분야의 기술자들이 자신의 작업 본질을 해당 분야의 다른 기술자들에게 가장 효과적으로 전달하기 위해 사용하는 방식이다. 여기에서 알고리즘은 일반적으로 기대되는 결과로 이어지는 일관된 작업 시퀀스로 간주된다. 이러한 작업들은 물리적 양에 대해 물리적 조율이 필요한 작업을 가리킨다.
그러나 이러한 모든 용어와 유사한 용어들는 모두 적절한 물리적 양과 관련되어 있으며, 단지 이러한 양에 적용되는 편리한 표기에 불과하다는 것을 명심해야 한다. 위의 설명에서 다른 방식으로 명백하게 언급하지 않는 한, 전체 명세서에서, 용어(청구범위에 기재된 용어와 같은)를 사용한 설명은 컴퓨터 시스템 또는 이와 유사한 전자 컴퓨팅 장치의 동작 및 처리를 지칭하며, 상기 컴퓨터 시스템 또는 전자 컴퓨팅 장치는 컴퓨터 시스템의 레지스터와 메모리 내의 물리적(전자) 양으로 표시된 데이터를 조율하고, 상기 데이터를 컴퓨터 시스템 메모리 또는 레지스터 또는 기타 이러한 스토리지, 전송 또는 디스플레이 장치 내에서 유사하게 물리적 양으로 표시되는 기타 데이터로 변환한다.
본원의 실시예에서는 본 명세서의 동작을 수행하기 위한 기기와도 관련이 있다. 이러한 컴퓨터 프로그램은 비 일시적 컴퓨터 판독 가능 매체에 저장되어 있다. 컴퓨터 판독 가능 매체에는 기계(예컨대, 컴퓨터)가 판독 가능한 형태로 정보를 저장하는데 사용되는 모든 기관이 포함된다. 예를 들어, 기계 판독 가능(예컨대, 컴퓨터가 판독 가능) 매체에는 기계(예컨대, 컴퓨터)가 판독 가능한 매체(예컨대, 읽기 전용 기억장치("ROM"), 랜덤 액세스 메모리("RAM"), 디스크 저장 매체, 광 저장 매체, 플래시 메모리 장치)를 포함한다.
위 도면에서 설명한 프로세스 또는 방법은 하드웨어(예컨대, 회로, 전용 로직 등), 소프트웨어(예컨대, 비 일시적 컴퓨터 판독 가능 매체에 구현된) 또는 이 둘의 조합을 포함하는 처리 로직에 의해 수행될 수 있다. 비록 상기 프로세스 또는 방법이 위 설명에서 일부 순차적인 동작에 따라 설명되었지만, 상기 동작 중의 일부는 다른 순서로 실행될 수 있다고 마땅히 이해되어야 한다. 또한 일부 동작은 순차적으로 수행되지 않고 병렬로 수행될 수 있다.
본원의 실시예는 어떠한 특정 프로그래밍 언어를 참조하여 설명되지 않았다. 본 명세서에 설명된 바와 같이 본원의 실시예의 교시를 구현하기 위해 다양한 프로그래밍 언어가 사용될 수 있다고 이해하여야 할 것이다.
위 명세서에서, 본원의 구체적인 예시 실시방안을 참조하여 본원의 실시예를 설명하였다. 첨부된 청구범위에 기재된 본원의 더 넓은 사상 및 범위를 벗어나지 않는 선에서, 본원에 대해 다양한 수정을 할 수 있음은 명백할 것이다. 따라서 명세서 및 도면은 제한적인 의미가 아닌 예시적인 의미로 이해 되어야한다.

Claims (20)

  1. 자율 주행 차량(ADV)의 작동 방법으로서,
    상기 ADV 주변의 주행 환경을 감지하는 단계;
    상기 주행 환경에 기반하여, 복수의 주행 시나리오에서 상기 ADV의 현재 시나리오를 결정하는 단계;
    상기 현재 시나리오에 기반하여, 복수의 다양한 제어 알고리즘에서 제어 알고리즘을 선택하는 단계 - 상기 제어 알고리즘 중 각각은 상기 주행 환경 중 적어도 하나와 연관됨 -;
    하나 또는 복수의 제어 목표 입력에 기반하여, 상기 주행 시나리오와 연관된 복수의 컨트롤러로부터 상기 선택한 제어 알고리즘과 서로 대응되는 컨트롤러를 호출하고, 상기 선택한 제어 알고리즘을 이용하여 제어 명령어를 생성하는 단계; 및
    상기 제어 명령어를 적용하여 상기 ADV의 이동을 구현하는 단계;를 포함하는 것을 특징으로 하는 자율 주행 차량(ADV)의 작동 방법.
  2. 제1 항에 있어서,
    지도 정보, 현재 차량 위치 또는 현재 차량 속도 중 적어도 두 가지에 기반하여 상기 ADV의 상기 현재 시나리오를 결정하는 것을 특징으로 하는 자율 주행 차량(ADV)의 작동 방법.
  3. 제1 항에 있어서,
    상기 현재 시나리오는 주차 시나리오 및 정상 주행 시나리오를 포함하는 복수의 시나리오 중 하나인 것을 특징으로 하는 자율 주행 차량(ADV)의 작동 방법.
  4. 제3 항에 있어서,
    상기 복수의 다양한 제어 알고리즘 중 상기 주차 시나리오에 대응되는 제1 제어 알고리즘은 정방향 및 역방향 스로틀을 허용하고, 상기 복수의 다양한 제어 알고리즘 중 상기 정상 주행 시나리오에 대응되는 제2 제어 알고리즘은 역방향 스로틀을 허용하지 않는 것을 특징으로 하는 자율 주행 차량(ADV)의 작동 방법.
  5. 제3 항에 있어서,
    상기 복수의 다양한 제어 알고리즘 중 상기 주차 시나리오에 대응되는 제1 제어 알고리즘은, 상기 복수의 제어 알고리즘 중 상기 정상 주행 시나리오에 대응되는 제2 제어 알고리즘보다 상기 제어 명령어를 더 신속하게 생성하여 a) 상기 ADV의 목표 위치와 상기 ADV의 현재 위치 간 차이 또는 b) 상기 ADV의 목표 진행 방향과 상기 ADV의 현재 진행 방향 간 차이를 줄이는 것을 특징으로 하는 자율 주행 차량(ADV)의 작동 방법.
  6. 제3 항에 있어서,
    상기 복수의 다양한 제어 알고리즘 중 상기 주차 시나리오에 대응되는 제1 제어 알고리즘은, 상기 복수의 다양한 제어 알고리즘 중 상기 정상 주행 시나리오에 대응되는 제2 제어 알고리즘보다 상기 제어 명령어를 덜 신속하게 생성하여 상기 ADV의 목표 속도와 상기 ADV의 현재 속도간 차이를 줄이는 것을 특징으로 하는 자율 주행 차량(ADV)의 작동 방법.
  7. 제1 항에 있어서,
    상기 하나 또는 복수의 제어 목표 입력는 상기 ADV의 목표 위치, 상기 ADV의 현재 위치, 상기 ADV의 목표 속도, 상기 ADV의 현재 속도, 상기 ADV의 목표 진행 방향 또는 상기 ADV의 현재 진행 방향 중 적어도 하나를 포함하는 것을 특징으로 하는 자율 주행 차량(ADV)의 작동 방법.
  8. 제1 항에 있어서,
    상기 제어 명령어는 스티어링 명령어, 스로틀 명령어 또는 브레이크 명령어 중 적어도 하나를 포함하는 것을 특징으로 하는 자율 주행 차량(ADV)의 작동 방법.
  9. 제1 항에 있어서,
    상기 복수의 다양한 제어 알고리즘 중 각각의 알고리즘은 모두 공통 전처리 프로토콜과 연관되고, 상기 공통 전처리 프로토콜은 상기 현재 시나리오를 독출하여 상기 현재 시나리오에 기반하여 상기 제어 알고리즘을 선택하며, 차량 위치 결정 시스템, 차량 계획 시스템 또는 섀시 채널 중 하나 또는 복수로부터 상기 하나 또는 복수의 제어 목표 입력을 검색하는 것을 특징으로 하는 자율 주행 차량(ADV)의 작동 방법.
  10. 제1 항에 있어서,
    상기 복수의 다양한 제어 알고리즘 중 각각의 알고리즘은 모두 공통 후처리 프로토콜과 연관되고, 상기 공통 후처리 프로토콜은 상기 제어 명령어를 포맷하여, 스로틀 액츄에이터, 스티어링 액츄에이터 또는 브레이크 액츄에이터가 수신할 수 있도록 상기 제어 명령어를 차량 통신 버스에 출력하는 것을 특징으로 하는 자율 주행 차량(ADV)의 작동 방법.
  11. 제10 항에 있어서,
    상기 후처리 프로토콜은 비상 상황에 대응하여 상기 제어 명령어를 오버라이드하는 비상 명령어를 출력하는 것을 특징으로 하는 자율 주행 차량(ADV)의 작동 방법.
  12. 제1 항에 있어서,
    상기 복수의 다양한 제어 알고리즘 중 각각의 알고리즘은 모두 전자 저장 장치에 저장된 구성 파일을 통해 구성될 수 있는 것을 특징으로 하는 자율 주행 차량(ADV)의 작동 방법.
  13. 명령어가 저장된 비 일시적 기계 판독 가능한 저장 매체에 있어서,
    상기 명령어가 프로세서에 의해 실행될 경우 상기 프로세서가,
    ADV 주변의 주행 환경을 감지하는 동작;
    상기 주행 환경에 기반하여, 복수의 주행 시나리오로부터 상기 ADV의 현재 시나리오를 결정하는 동작;
    상기 현재 시나리오에 기반하여, 복수의 다양한 제어 알고리즘에서 제어 알고리즘을 선택하는 동작 - 상기 제어 알고리즘 중 각각의 알고리즘은 상기 주행 환경 중 적어도 하나와 연관됨 -;
    하나 또는 복수의 제어 목표 입력에 기반하여, 상기 주행 시나리오와 연관된 복수의 컨트롤러로부터 상기 선택된 제어 알고리즘과 대응되는 컨트롤러를 호출하고, 상기 선택된 제어 알고리즘을 이용하여 제어 명령어를 생성하는 동작; 및
    상기 제어 명령어를 적용하여 상기 ADV의 이동을 구현하는 동작;을 수행하도록 하는 것을 특징으로 하는 비 일시적 기계 판독 가능한 저장 매체.
  14. 제13 항에 있어서,
    지도 정보, 현재 차량 위치 또는 현재 차량 속도 중 적어도 두 가지를 기반으로 상기 ADV의 상기 현재 시나리오를 결정하는 것을 특징으로 하는 비 일시적 기계 판독 가능한 저장 매체.
  15. 제13 항에 있어서,
    상기 현재 시나리오는 주차 시나리오 및 정상 주행 시나리오를 포함하는 복수의 시나리오 중 하나인 것을 특징으로 하는 비 일시적 기계 판독 가능한 저장 매체.
  16. 제15 항에 있어서,
    상기 복수의 다양한 제어 알고리즘 중 상기 주차 시나리오에 대응되는 제1 제어 알고리즘은 정방향 및 역방향 스로틀을 허용하고, 상기 복수의 다양한 제어 알고리즘 중 상기 정상 주행 시나리오에 대응되는 제2 제어 알고리즘은 역방향 스로틀을 허용하지 않는 것을 특징으로 하는 비 일시적 기계 판독 가능한 저장 매체.
  17. 데이터 처리 시스템에 있어서,
    프로세서; 및
    상기 프로세서에 연결되고 명령어를 저장하는 저장 장치를 포함하되, 상기 명령어가 상기 프로세서에 의해 실행될 경우 상기 프로세서가,
    ADV 주변의 주행 환경을 감지하는 동작,
    상기 주행 환경에 기반하여, 복수의 주행 시나리오로부터 상기 ADV의 현재 시나리오를 결정하는 동작,
    상기 현재 시나리오에 기반하여, 복수의 다양한 제어 알고리즘에서 제어 알고리즘을 선택하는 동작 - 상기 제어 알고리즘 중 각각의 알고리즘은 상기 주행 환경 중 적어도 하나와 연관됨 -;
    하나 또는 복수의 제어 목표 입력에 기반하여, 상기 주행 시나리오와 연관된 복수의 컨트롤러로부터 상기 선택된 제어 알고리즘과 대응되는 컨트롤러를 호출하고, 상기 선택된 제어 알고리즘을 이용하여 제어 명령어를 생성하는 동작; 및
    상기 제어 명령어를 적용하여 상기 ADV의 이동을 구현하는 동작을 수행하도록 하는 것을 특징으로 하는 데이터 처리 시스템.
  18. 제17 항에 있어서,
    지도 정보, 현재 차량 위치 또는 현재 차량 속도 중 적어도 두 가지를 기반으로 상기 ADV의 상기 현재 시나리오를 결정하는 것을 특징으로 하는 데이터 처리 시스템.
  19. 제17 항에 있어서,
    상기 현재 시나리오는 주차 시나리오 및 정상 주행 시나리오를 포함하는 복수의 시나리오 중 하나인 것을 특징으로 하는 데이터 처리 시스템.
  20. 제19 항에 있어서,
    상기 복수의 다양한 제어 알고리즘 중 상기 주차 시나리오에 대응되는 제1 제어 알고리즘은 정방향 및 역방향 스로틀을 허용하고, 상기 복수의 다양한 제어 알고리즘 중 상기 정상 주행 시나리오에 대응되는 제2 제어 알고리즘은 역방향 스로틀을 허용하지 않는 데이터 처리 시스템.
KR1020200124012A 2020-03-18 2020-09-24 시나리오 기반의 자율 주행 차량 제어 KR102488526B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/823,066 2020-03-18
US16/823,066 US11740628B2 (en) 2020-03-18 2020-03-18 Scenario based control of autonomous driving vehicle

Publications (2)

Publication Number Publication Date
KR20210117125A true KR20210117125A (ko) 2021-09-28
KR102488526B1 KR102488526B1 (ko) 2023-01-12

Family

ID=72474093

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200124012A KR102488526B1 (ko) 2020-03-18 2020-09-24 시나리오 기반의 자율 주행 차량 제어

Country Status (5)

Country Link
US (1) US11740628B2 (ko)
EP (1) EP3882099A1 (ko)
JP (1) JP7189187B2 (ko)
KR (1) KR102488526B1 (ko)
CN (1) CN113495560A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230082777A (ko) 2021-12-02 2023-06-09 한국전자기술연구원 주행 시나리오 추천 방법 및 장치

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102634543B1 (ko) * 2021-12-21 2024-02-08 한국전자기술연구원 실제 도로 상황을 반영한 시뮬레이터용 도로교통 시나리오 생성 방법 및 시스템
US20230286584A1 (en) * 2022-03-08 2023-09-14 Ford Global Technologies, Llc Method for operating a motor vehicle with a parking assistant
CN114537443B (zh) * 2022-03-22 2024-05-03 重庆长安汽车股份有限公司 一种用于行车和泊车的纵向控制系统及方法
CN115431995B (zh) * 2022-10-18 2023-12-22 广州万协通信息技术有限公司 基于不同级别辅助驾驶的设备控制方法及装置
CN115933504B (zh) * 2023-03-14 2023-07-14 苏州浪潮智能科技有限公司 行驶控制系统,行驶控制方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160187880A1 (en) * 2014-12-25 2016-06-30 Automotive Research & Testing Center Driving control system and dynamic decision control method thereof
KR20180117207A (ko) * 2016-03-22 2018-10-26 델피 테크놀로지스, 엘엘씨. 자동주행 차량을 위한 시나리오 인지 인식 시스템
US20190079514A1 (en) * 2017-09-13 2019-03-14 Baidu Usa Llc Driving scene based path planning for autonomous driving vehicles
KR20190093729A (ko) * 2018-01-09 2019-08-12 삼성전자주식회사 차량의 자율 주행을 위한 자율 주행 장치 및 그 제어 방법
CN110579216A (zh) * 2019-09-12 2019-12-17 百度在线网络技术(北京)有限公司 测试场景库构建方法、装置、电子设备和介质
JP2020017271A (ja) * 2018-07-17 2020-01-30 バイドゥ ユーエスエイ エルエルシーBaidu USA LLC 自動運転車両のためのマルチモーダル運動計画フレームワーク

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3671754B2 (ja) 1999-08-09 2005-07-13 日産自動車株式会社 車線追従装置
JP2004276641A (ja) 2003-03-12 2004-10-07 Nissan Motor Co Ltd 先行車追従制御装置
US9156476B2 (en) * 2012-10-02 2015-10-13 Trevor O'Neill System and method for remote control of unmanned vehicles
US9199667B2 (en) * 2014-03-14 2015-12-01 Mitsubishi Electric Research Laboratories, Inc. System and method for semi-autonomous driving of vehicles
EP3018027B1 (en) * 2014-11-10 2017-06-07 Volvo Car Corporation Control arrangement arranged to control an autonomous vehicle, autonomous drive arrangement, vehicle and method
WO2016080452A1 (ja) 2014-11-19 2016-05-26 エイディシーテクノロジー株式会社 自動運転制御装置
US9592826B2 (en) * 2015-02-13 2017-03-14 Ford Global Technologies, Llc System and method for parallel parking a vehicle
US10331138B2 (en) * 2016-07-05 2019-06-25 Baidu Usa Llc Standard scene-based planning control methods for operating autonomous vehicles
US10712746B2 (en) 2016-08-29 2020-07-14 Baidu Usa Llc Method and system to construct surrounding environment for autonomous vehicles to make driving decisions
CN106372758B (zh) 2016-09-13 2020-07-17 同济大学 一种辅助泊车系统的路径跟随方法及装置
US10114374B2 (en) * 2016-11-16 2018-10-30 Baidu Usa Llc Emergency handling system for an autonomous driving vehicle (ADV)
WO2018147871A1 (en) * 2017-02-10 2018-08-16 Nissan North America, Inc. Autonomous vehicle operational management
US10452070B2 (en) * 2017-09-15 2019-10-22 Uber Technologies, Inc. Context-specific tolerance for motion control in autonomous vehicles
US11027751B2 (en) 2017-10-31 2021-06-08 Nissan North America, Inc. Reinforcement and model learning for vehicle operation
US20210116907A1 (en) * 2018-03-18 2021-04-22 Driveu Tech Ltd. Device, System, and Method of Autonomous Driving and Tele-Operated Vehicles
US11157003B1 (en) * 2018-04-05 2021-10-26 Northrop Grumman Systems Corporation Software framework for autonomous system
DE112019003322B4 (de) * 2018-09-27 2023-01-19 Hitachi Astemo, Ltd. Fahrzeugsteuervorrichtung
JP2020082915A (ja) 2018-11-20 2020-06-04 株式会社ジェイテクト 操舵装置および操舵装置におけるモータ制御方法
KR102579366B1 (ko) * 2019-02-11 2023-09-18 한국전자통신연구원 다중 서비스 능력과의 매핑을 기초로 하는 다중 네트워킹 능력 트레이딩 제어 방법 및 시스템
US11554785B2 (en) * 2019-05-07 2023-01-17 Foresight Ai Inc. Driving scenario machine learning network and driving environment simulation
CN110196593B (zh) * 2019-05-16 2022-03-01 山东浪潮科学研究院有限公司 一种自动驾驶多场景环境检测及决策系统及方法
US11548518B2 (en) * 2019-06-28 2023-01-10 Woven Planet North America, Inc. Subjective route comfort modeling and prediction
CN110825093B (zh) * 2019-11-28 2021-04-16 安徽江淮汽车集团股份有限公司 自动驾驶策略生成方法、装置、设备及存储介质
CN110879560B (zh) 2019-12-23 2022-02-25 北京百度网讯科技有限公司 控制车辆的方法、装置、设备和存储介质
US11142188B2 (en) * 2019-12-31 2021-10-12 Zoox, Inc. Action-based reference systems for vehicle control
JP7459532B2 (ja) * 2020-01-31 2024-04-02 トヨタ自動車株式会社 車両

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160187880A1 (en) * 2014-12-25 2016-06-30 Automotive Research & Testing Center Driving control system and dynamic decision control method thereof
KR20180117207A (ko) * 2016-03-22 2018-10-26 델피 테크놀로지스, 엘엘씨. 자동주행 차량을 위한 시나리오 인지 인식 시스템
US20190079514A1 (en) * 2017-09-13 2019-03-14 Baidu Usa Llc Driving scene based path planning for autonomous driving vehicles
KR20190093729A (ko) * 2018-01-09 2019-08-12 삼성전자주식회사 차량의 자율 주행을 위한 자율 주행 장치 및 그 제어 방법
JP2020017271A (ja) * 2018-07-17 2020-01-30 バイドゥ ユーエスエイ エルエルシーBaidu USA LLC 自動運転車両のためのマルチモーダル運動計画フレームワーク
CN110579216A (zh) * 2019-09-12 2019-12-17 百度在线网络技术(北京)有限公司 测试场景库构建方法、装置、电子设备和介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230082777A (ko) 2021-12-02 2023-06-09 한국전자기술연구원 주행 시나리오 추천 방법 및 장치

Also Published As

Publication number Publication date
US11740628B2 (en) 2023-08-29
JP2021147030A (ja) 2021-09-27
CN113495560A (zh) 2021-10-12
US20210294324A1 (en) 2021-09-23
EP3882099A1 (en) 2021-09-22
KR102488526B1 (ko) 2023-01-12
JP7189187B2 (ja) 2022-12-13

Similar Documents

Publication Publication Date Title
US11442450B2 (en) Method for determining passable area in planning a path of autonomous driving vehicles
KR102488526B1 (ko) 시나리오 기반의 자율 주행 차량 제어
US10915766B2 (en) Method for detecting closest in-path object (CIPO) for autonomous driving
CN111857118B (zh) 对停车轨迹分段以控制自动驾驶车辆停车
US11662730B2 (en) Hierarchical path decision system for planning a path for an autonomous driving vehicle
KR102444991B1 (ko) 피드백을 이용한 자율 주행 차량의 점진식 측면 제어 시스템
KR102359497B1 (ko) 단일 차량 동작용으로 설계된 자율 주행 시스템에 따른 차량 플래툰 구현
WO2021195951A1 (en) A parking-trajectory generation method combined with offline and online solutions
KR102599790B1 (ko) 자율 주행 차량을 이용하는 모델 트레이닝 및 온보드 검증을 위한 오디오 로깅
CN113044058A (zh) 自动驾驶车辆三点转弯
JP2022058593A (ja) 自律運転車両を使用した自動オーディオデータラベル付け
CN112985435B (zh) 用于操作自主驾驶车辆的方法及系统
US11673576B2 (en) Nested scenarios in planning for autonomous driving vehicles
US11288528B2 (en) Differentiation-based traffic light detection
JP2022058592A (ja) 自律運転車両のための音源の検出及び位置特定
CN113753071A (zh) 预防减速规划
CN113075924B (zh) 自动驾驶车辆停放场景设计
US20240005066A1 (en) Decoupled prediction evaluation
US11242057B2 (en) Method for optimizing three-point turn of autonomous driving vehicles
US11181917B2 (en) Path planning system based on steering wheel self zeroing for autonomous vehicles
US20210096249A1 (en) Front and side four-lidar design for autonomous driving vehicles
CN113075924A (zh) 自动驾驶车辆停放场景设计

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant