KR20200138673A - 속력 프로파일 추정 - Google Patents

속력 프로파일 추정 Download PDF

Info

Publication number
KR20200138673A
KR20200138673A KR1020200064549A KR20200064549A KR20200138673A KR 20200138673 A KR20200138673 A KR 20200138673A KR 1020200064549 A KR1020200064549 A KR 1020200064549A KR 20200064549 A KR20200064549 A KR 20200064549A KR 20200138673 A KR20200138673 A KR 20200138673A
Authority
KR
South Korea
Prior art keywords
speed profile
trajectory
driving scenario
vehicle
planning
Prior art date
Application number
KR1020200064549A
Other languages
English (en)
Other versions
KR102358923B1 (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
Priority claimed from US16/880,967 external-priority patent/US11814046B2/en
Application filed by 모셔널 에이디 엘엘씨 filed Critical 모셔널 에이디 엘엘씨
Publication of KR20200138673A publication Critical patent/KR20200138673A/ko
Priority to KR1020220012918A priority Critical patent/KR102453672B1/ko
Application granted granted Critical
Publication of KR102358923B1 publication Critical patent/KR102358923B1/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/14Adaptive cruise control
    • B60W30/143Speed control
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/93Lidar systems specially adapted for specific applications for anti-collision purposes
    • G01S17/931Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • 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/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/095Predicting travel path or likelihood of collision
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/10Path keeping
    • B60W30/12Lane keeping
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • 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
    • 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
    • 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
    • B60W50/08Interaction between the driver and the control system
    • B60W50/082Selecting or switching between different modes of propelling
    • 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
    • B60W50/08Interaction between the driver and the control system
    • B60W50/085Changing the parameters of the control units, e.g. changing limit values, working points by control input
    • 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
    • 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/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • 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/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/165Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
    • 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/20Instruments for performing navigational calculations
    • 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
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3407Route searching; Route guidance specially adapted for specific applications
    • G01C21/3415Dynamic re-routing, e.g. recalculating the route when the user deviates from calculated route or after detecting real-time traffic data or accidents
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3407Route searching; Route guidance specially adapted for specific applications
    • G01C21/3423Multimodal routing, i.e. combining two or more modes of transportation, where the modes can be any of, e.g. driving, walking, cycling, public transport
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3446Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3605Destination input or retrieval
    • G01C21/3614Destination input or retrieval through interaction with a road map, e.g. selecting a POI icon on a road map
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3626Details of the output of route guidance instructions
    • G01C21/3644Landmark guidance, e.g. using POIs or conspicuous other objects
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3667Display of a road map
    • 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
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • 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/0001Details of the control system
    • B60W2050/0019Control system elements or transfer functions
    • B60W2050/0028Mathematical models, e.g. for simulation
    • 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
    • B60W2556/00Input parameters relating to data
    • B60W2556/20Data confidence level
    • 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
    • B60W2720/00Output or target parameters relating to overall vehicle dynamics
    • B60W2720/10Longitudinal speed
    • B60W2720/103Speed profile
    • 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
    • B60W2720/00Output or target parameters relating to overall vehicle dynamics
    • B60W2720/24Direction of travel
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2300/00Purposes or special features of road vehicle drive control systems
    • B60Y2300/10Path keeping
    • B60Y2300/12Lane keeping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Electromagnetism (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Traffic Control Systems (AREA)

Abstract

무엇보다도, 차량 상의 계획 회로에 의해, 운전 시나리오에 응답하여 차량에 대한 제안된 궤적을 획득하는 것; 계획 회로에 의해, 추정된 속력 프로파일 및 신뢰도 점수를 획득하는 것 - 신뢰도 점수는 추정된 속력 프로파일과 제안된 궤적에 대해 제어 회로에 의해 생성될 실제 속력 프로파일의 유사도를 나타냄 -; 신뢰도 점수가 신뢰도 임계치를 충족시키는지 여부를 결정하는 것; 및 신뢰도 점수가 신뢰도 임계치를 초과한다는 결정에 따라, 차량 상의 제어 회로에 의해, 제안된 궤적을 따라 차량을 동작시키는 것을 위한 방법을 포함하는, 차량에 대한 제안된 궤적에 대한 속력 프로파일을 추정하고 속력 프로파일에 따라 제안된 궤적을 따라 차량을 동작시키는 기술을 설명한다.

Description

속력 프로파일 추정{ESTIMATING SPEED PROFILES}
본 명세서는 속력 프로파일 추정에 관한 것이다.
자율 주행 차량은, 예를 들어, 도로 사망자수, 교통 정체, 주차 혼잡을 감소시키는 것 및 연비를 개선시키는 것에 의해, 사람 운전 차량에 비해 이점이 있다. 자율 주행 차량의 하나의 컴포넌트는 장애물, 차량에 근접한 환경, 또는 다른 관련 운전 조건을 고려하여 의사결정을 하고 차량이 취해야 하는 제안된 궤적을 생성할 수 있다. 차량의 다른 컴포넌트는 제안된 궤적을 수신하고 제안된 궤적에 따라 차량을 동작시킬 수 있다. 상이한 운전 조건을 갖는 상이한 운전 시나리오를 통해 차량이 동작됨에 따라 이 프로세스가 여러 번 반복될 수 있다.
도 1은 자율 주행 능력을 갖는 자율 주행 차량(autonomous vehicle)의 일 예를 도시한다.
도 2는 예시적인 "클라우드" 컴퓨팅 환경을 예시한다.
도 3은 컴퓨터 시스템을 예시한다.
도 4는 자율 주행 차량에 대한 예시적인 아키텍처를 도시한다.
도 5는 인지 모듈에 의해 사용될 수 있는 입력 및 출력의 일 예를 도시한다.
도 6은 LiDAR 시스템의 일 예를 도시한다.
도 7은 동작 중의 LiDAR 시스템을 도시한다.
도 8은 LiDAR 시스템의 동작을 추가적으로 상세하게 도시한다.
도 9는 계획 모듈의 입력과 출력 사이의 관계의 블록 다이어그램을 도시한다.
도 10은 경로 계획에서 사용되는 방향 그래프를 도시한다.
도 11은 제어 모듈의 입력 및 출력의 블록 다이어그램을 도시한다.
도 12는 제어기의 입력, 출력, 및 컴포넌트의 블록 다이어그램을 도시한다.
도 13은 속력 프로파일 추정 회로를 갖는 제어기의 입력, 출력, 및 컴포넌트의 블록 다이어그램을 도시한다.
도 14는 계획 회로 및 제어 회로에 대해, 제각기, 플래너(planner) 인지 파이프라인 및 제어기 인지 파이프라인의 블록 다이어그램을 도시한다.
도 15는 추정된 속력 프로파일을 사용하여 궤적을 따라 차량을 동작시키기 위한 프로세스를 나타내는 플로차트이다.
설명을 위한 이하의 기술에서는, 본 발명에 대한 완전한 이해를 제공하기 위해 다수의 특정 세부사항이 제시된다. 그렇지만, 본 발명이 이러한 특정 세부사항 없이 실시될 수 있다는 것이 명백할 것이다. 다른 예에서, 공지된 구조 및 디바이스는 본 발명을 불필요하게 모호하게 하는 것을 피하기 위하여 블록 다이어그램 형태로 도시된다.
도면에서, 기술을 용이하게 하기 위해, 디바이스, 모듈, 명령 블록 및 데이터 요소를 나타내는 것과 같은 개략적 요소의 특정 배열 또는 순서가 도시된다. 그렇지만, 본 기술 분야의 일반적 기술자라면, 도면에서의 개략적 요소의 특정 순서 또는 배열이 프로세싱의 특정한 순서 또는 시퀀스, 또는 프로세스의 분리가 요구된다는 것을 암시하는 것을 의미하지는 않는다는 점을 이해할 것이다. 또한, 도면에 개략적 요소를 포함시키는 것은, 그러한 요소가 모든 실시예에서 요구된다는 점을 암시하는 것을 의미하지 않거나, 또는 그러한 요소에 의해 표현된 특징이 일 실시예에서 포함되지 않거나 또는 다른 요소와 조합되지 않을 수 있다는 점을 암시하는 것을 의미하지 않는다.
또한, 도면에서, 2개 이상의 다른 개략적 요소 사이의 연결, 관계 또는 연관을 예시하기 위해 실선 또는 파선 또는 화살표와 같은 연결 요소가 사용되는 경우에, 임의의 그러한 연결 요소의 부재는 연결, 관계 또는 연관이 존재할 수 없다는 점을 암시하는 것을 의미하지 않는다. 환언하면, 요소 사이의 일부 연결, 관계, 또는 연관은 본 개시내용을 모호하게 하지 않기 위해 도면에 도시되지 않는다. 또한, 예시를 용이하게 하기 위해, 요소 사이의 다수의 연결, 관계 또는 연관을 표현하기 위해 단일의 연결 요소가 사용된다. 예를 들어, 연결 요소가 신호, 데이터 또는 명령의 통신을 표현하는 경우, 본 기술 분야의 일반적 기술자라면, 그러한 요소가, 통신에 영향을 주기 위해 필요할 수 있는 하나 또는 다수의 신호 경로(예를 들어, 버스)를 표현한다는 것을 이해할 것이다.
그 예가 첨부 도면에 예시된 실시예가 이제 상세하게 참조될 것이다. 이하의 상세한 설명에서, 다양한 기술된 실시예에 대한 완전한 이해를 제공하기 위해 많은 특정 세부사항이 제시된다. 그렇지만, 다양한 기술된 실시예가 이러한 특정 세부사항 없이 실시될 수 있다는 것이 본 기술 분야의 일반적 기술자에게 명백할 것이다. 다른 예에서, 실시예의 양태를 불필요하게 모호하게 하지 않기 위해 공지된 방법, 절차, 컴포넌트, 회로, 및 네트워크는 상세하게 기술되지 않았다.
서로 독립적으로 또는 다른 특징의 임의의 조합과 함께 각각 사용될 수 있는 여러 특징이 이하에 기술된다. 그렇지만, 임의의 개별 특징은 위에서 논의된 문제 중 임의의 것을 해결할 수 없거나 또는 위에서 논의된 문제 중 단지 하나만을 해결할 수 있다. 위에서 논의된 문제 중 일부는 본원에 기술된 특징 중 임의의 것에 의해 완전히 해결되지는 않을 수 있다. 표제가 제공되지만, 특정 표제와 관련되지만 해당 표제를 갖는 섹션에서 발견되지 않은 정보가 본 설명의 다른 곳에서 발견될 수도 있다. 실시예는 이하의 개요에 따라 본원에 기술된다.
1. 일반적 개관
2. 시스템 개관
3. 자율 주행 차량 아키텍처
4. 자율 주행 차량 입력
5. 자율 주행 차량 계획
6. 자율 주행 차량 제어
7. 속력 프로파일 추정
일반적 개관
도 13 내지 도 15와 관련하여 아래에서 더 상세히 기술되는 바와 같이, (자율 주행 차량과 같은) 차량은 차량에 대한 제안된 궤적의 적어도 일부에 대한 추정된 속력 프로파일을 획득할 수 있는 계획 회로를 포함할 수 있다. 차량의 제어 회로는 상이한 운전 시나리오에 대한 궤적에 대해 이전에 훈련된 머신 러닝 모델을 사용하여 속력 프로파일 추정치를 생성할 수 있다. 머신 러닝 모델은 입력된 제안된 궤적의 적어도 하나의 세그먼트에 대한 추정된 속력 프로파일을 출력할 수 있는 것은 물론, 추정된 속력 프로파일과 차량의 제어 회로에 의해 생성될 실제 속력 프로파일 사이의 예상된 유사도 레벨을 나타내는 신뢰도 점수를 출력할 수 있다. 신뢰도 점수에 따라, 계획 회로는 제안된 궤적을 제어 회로에 전송할 수 있으며, 제안된 궤적은, 차례로, 제어 회로로 하여금 차량을 제안된 궤적을 따라 동작시키게 한다. 제어 회로는 경로 계획을 위한 증분 알고리즘을 실행할 수 있고, 또한 입력된 제안된 궤적의 세그먼트에 대한 속력 프로파일 추정치를 생성할 수 있다.
이러한 기술은 여러 장점이 있다. 예를 들어, 추정된 속력 프로파일 및 해당 속력 프로파일에 대한 대응하는 신뢰도 점수를 계획 회로에 제공하는 것은, 제안된 궤적을 수신한 후에 제어 회로에 의해 생성될 실제 속력 프로파일에 따른 상이한 기준, 예를 들어, 실현성, 안전성, 규칙 준수 및 조작(maneuver)의 편의에 기초하여, 더 나은 제안된 궤적이 제어 회로에 전달될 수 있게 한다. 속력 프로파일을 추정하는 것은 계획 회로에 의해 생성되는 각각의 제안된 궤적에 대한속력 프로파일을 생성하는 것보다 계산적으로 더 실현 가능하고 더 빠르다. 간단한 휴리스틱(heuristic) 접근법을 통해 머신 러닝 모델을 사용하여 속력 프로파일을 추정하는 것은 또한 신뢰도 점수가 추정될 수 있게 하여, 계획 회로가 어느 제안된 궤적을 제어 회로에 전송할지를 결정할 때 측정된 신뢰도 레벨을 고려할 수 있게 한다. 머신 러닝 모델은 환경 인자, 예를 들어, 폐색은 물론, 시스템 특성, 예를 들어, 상이한 센서의 성능을 고려하도록 훈련될 수 있다. 속력 프로파일의 신뢰도 점수는 또한 센서로부터 수신되고 인지 파이프라인을 통해 프로세싱되는 데이터의 신뢰성을 반영한다.
시스템 개관
도 1은 자율 주행 능력을 갖는 자율 주행 차량(100)의 일 예를 도시한다.
본원에서 사용되는 바와 같이, 용어 "자율 주행 능력"은, 완전한 자율 주행 차량, 고도의 자율 주행 차량, 및 조건부 자율 주행 차량을 제한 없이 포함하는, 실시간 인간 개입 없이 차량이 부분적으로 또는 완전하게 동작될 수 있게 하는 기능, 특징, 또는 설비를 지칭한다.
본원에서 사용되는 바와 같이, 자율 주행 차량(AV)은 자율 주행 능력을 갖는 차량이다.
본원에서 사용되는 바와 같이, "차량"은 상품 또는 사람의 운송 수단을 포함한다. 예를 들어, 자동차, 버스, 기차, 비행기, 드론, 트럭, 보트, 선박, 잠수함, 비행선 등. 무인 자동차는 차량의 일 예이다.
본원에서 사용되는 바와 같이, "궤적"은 AV를 제1 시공간적 위치로부터 제2 시공간적 위치로 운행시키는 경로 또는 루트를 지칭한다. 일 실시예에서, 제1 시공간적 위치는 최초 또는 시작 위치라고 지칭되고 제2 시공간적 위치는 목적지, 최종 위치, 목표, 목표 위치 또는 목표 장소라고 지칭된다. 일부 예에서, 궤적은 하나 이상의 세그먼트(예를 들어, 도로의 섹션)로 구성되고, 각각의 세그먼트는 하나 이상의 블록(예를 들어, 차선 또는 교차로의 부분)으로 구성된다. 일 실시예에서, 시공간적 위치는 현실 세계 위치에 대응한다. 예를 들어, 시공간적 위치는 사람을 태우거나 내려주고 또는 상품을 싣거나 내리는 픽업(pick up) 또는 드롭-오프(drop-off) 위치이다.
본원에서 사용되는 바와 같이, "운전 시나리오"는 특정한 시간에 차량에 근접한 환경을 기술하는 일단의 조건을 지칭한다. 운전 시나리오는 차량이 있는 도로를 기술하는 조건은 물론, 특정한 시간에서의 날씨 또는 가시성 조건을 포함할 수 있다. 운전 시나리오는 차량이 동작 중인 동안 차량의 경로에 있는 센서에 의해 검출되는 대상체, 예를 들어, 보행자 또는 다른 차량을 지칭할 수 있다. 각각의 검출된 대상체에 대해, 운전 시나리오는 또한 대상체에 대한 일단의 각자의 외부적으로 관찰 가능한 파라미터 값, 예를 들어, 대상체의 속도 및 가속도를 지칭한다. 차량이 궤적을 따라 진행할 때 운전 시나리오가 변경될 수 있으며, 이는 차량에 대한 궤적의 변화를 유발할 수 있다. 예를 들어, 차량은 하나의 궤적을 따라 진행할 수 있고 차량이 궤적을 따라 계속가는 것을 방해하는 장애물을 갑자기 만날 수 있다. 이 새로운 장애물은 새로운 운전 시나리오로서 표현될 수 있고, 이에 응답하여 차량은 새로운 궤적을 따라 진행하기 위해 본 명세서에서 기술되는 기술에 의해 동작될 수 있다.
본원에서 사용되는 바와 같이, "센서(들)"는 센서를 둘러싸는 환경에 관한 정보를 검출하는 하나 이상의 하드웨어 컴포넌트를 포함한다. 하드웨어 컴포넌트 중 일부는 감지 컴포넌트(예를 들어, 이미지 센서, 생체인식 센서), 송신 및/또는 수신 컴포넌트(예를 들어, 레이저 또는 라디오 주파수 파 송신기 및 수신기), 아날로그 대 디지털 변환기와 같은 전자 컴포넌트, 데이터 저장 디바이스(예를 들어, RAM 및/또는 비휘발성 스토리지), 소프트웨어 또는 펌웨어 컴포넌트, 및 ASIC(application-specific integrated circuit), 마이크로프로세서 및/또는 마이크로컨트롤러와 같은 데이터 프로세싱 컴포넌트를 포함할 수 있다.
본원에서 사용되는 바와 같이, "장면 묘사(scene description)"는 AV 차량 상의 하나 이상의 센서에 의해 검출되거나 AV 외부의 소스에 의해 제공되는 하나 이상의 분류된 또는 라벨링된 대상체를 포함하는 데이터 구조(예를 들어, 리스트) 또는 데이터 스트림이다.
본원에서 사용되는 바와 같이, "도로"는 차량에 의해 횡단될 수 있는 물리적 영역이고, 명명된 주요 도로(예를 들어, 도시 거리, 주간 고속도로 등)에 대응할 수 있거나, 또는 명명되지 않은 주요 도로(예를 들어, 주택 또는 사무실 건물 내의 사유 도로, 주차장 섹션, 공터 섹션, 시골 지역의 비포장 경로 등)에 대응할 수 있다. 일부 차량(예를 들어, 4륜 구동 픽업 트럭, 스포츠 유틸리티 차량 등)은 차량 진행에 대해 특히 적합하지 않은 다양한 물리적 영역을 횡단할 수 있기 때문에, "도로"는 임의의 지자체 또는 다른 정부 또는 행정처에 의해 주요 도로로 공식적으로 규정되지 않은 물리적 영역일 수 있다.
본원에서 사용되는 바와 같이, "차선"은 차량에 의해 횡단될 수 있는 도로의 일부이다. 차선은 때때로 차선 마킹(lane marking)에 기초하여 식별된다. 예를 들어, 차선은 차선 마킹 사이의 공간의 대부분 또는 전부에 대응할 수 있거나, 또는 차선 마킹 사이의 공간의 단지 일부(예를 들어, 50% 미만)에 대응할 수 있다. 예를 들어, 멀리 이격된 차선 마킹을 갖는 도로는 차선 마킹 사이에 둘 이상의 차량을 수용할 수 있어서, 하나의 차량이 차선 마킹을 횡단하지 않고 다른 차량을 추월할 수 있고, 따라서 차선 마킹 사이의 공간보다 협소한 차선을 갖거나 차선 마킹 사이에 2개의 차선을 갖는 것으로 해석될 수 있다. 차선은 차선 마킹의 부재 시에도 해석될 수 있다. 예를 들어, 차선은 환경의 물리적 특징, 예를 들어, 시골 지역에서의 주요 도로를 따라 있는 바위 및 나무 또는, 예를 들어, 미개발 지역에서의 회피될 자연 장애물에 기초하여 규정될 수 있다. 차선은 또한 차선 마킹 또는 물리적 특징과 무관하게 해석될 수 있다. 예를 들어, 차선은 차선 경계로서 해석될 특징이 달리 없는 영역에서 장애물이 없는 임의의 경로에 기초하여 해석될 수 있다. 예시적인 시나리오에서, AV는 들판 또는 공터의 장애물 없는 부분을 통해 차선을 해석할 수 있다. 다른 예시적인 시나리오에서, AV는 차선 마킹을 갖지 않는 넓은 (예를 들어, 2개 이상의 차선을 위해 충분히 넓은) 도로를 통해 차선을 해석할 수 있다. 이 시나리오에서, AV는 차선에 관한 정보를 다른 AV에 전달할 수 있어서, 다른 AV가 동일한 차선 정보를 사용하여 그 자신들 간에 경로 계획을 조정할 수 있다.
용어 "OTA(over-the-air) 클라이언트"는 임의의 AV, 또는 AV에 내장되거나, AV에 결합되거나, 또는 AV와 통신하는 임의의 전자 디바이스(예를 들어, 컴퓨터, 제어기, IoT 디바이스, 전자 제어 유닛(ECU))를 포함한다.
용어 "OTA(over-the-air) 업데이트"는, 셀룰러 모바일 통신(예를 들어, 2G, 3G, 4G, 5G), 라디오 무선 영역 네트워크(예를 들어, WiFi) 및/또는 위성 인터넷을 포함하지만 이들로 제한되지 않는, 독점적인 및/또는 표준화된 무선 통신 기술을 사용하여 OTA 클라이언트에 전달되는 소프트웨어, 펌웨어, 데이터 또는 구성 설정, 또는 이들의 임의의 조합에 대한 임의의 업데이트, 변경, 삭제, 또는 추가를 의미한다.
용어 "에지 노드"는 AV와 통신하기 위한 포털을 제공하고 OTA 업데이트를 스케줄링하여 OTA 클라이언트에 전달하기 위해 다른 에지 노드 및 클라우드 기반 컴퓨팅 플랫폼과 통신할 수 있는 네트워크에 결합된 하나 이상의 에지 디바이스를 의미한다.
용어 "에지 디바이스"는 에지 노드를 구현하고 기업 또는 서비스 제공자(예를 들어, VERIZON, AT&T) 코어 네트워크에 물리적 무선 액세스 포인트(AP)를 제공하는 디바이스를 의미한다. 에지 디바이스의 예는 컴퓨터, 제어기, 송신기, 라우터, 라우팅 스위치, IAD(integrated access device), 멀티플렉서, MAN(metropolitan area network) 및 WAN(wide area network) 액세스 디바이스를 포함하지만, 이들로 제한되지 않는다.
"하나 이상"은 하나의 요소에 의해 수행되는 기능, 하나보다 많은 요소에 의해, 예를 들어, 분산 방식으로, 수행되는 기능, 하나의 요소에 의해 수행되는 여러 기능, 여러 요소에 의해 수행되는 여러 기능, 또는 이들의 임의의 조합을 포함한다.
또한, 용어, 제1, 제2 등이 일부 예에서 다양한 요소를 기술하기 위해 본원에 사용되었지만, 이 요소는 이러한 용어에 의해 제한되지 않아야 한다는 것이 이해될 것이다. 이 용어들은 단지 하나의 요소를 다른 요소와 구별하기 위해 사용된다. 예를 들어, 기술된 다양한 실시예의 범위를 벗어나지 않고, 제1 접촉은 제2 접촉이라 명명될 수 있고, 유사하게 제2 접촉은 제1 접촉이라 명명될 수 있다. 제1 접촉 및 제2 접촉 양자 모두가 접촉이지만, 동일한 접촉은 아니다.
본원에 기술된 다양한 실시예의 설명에 사용된 용어는 단지 특정한 실시예를 기술하기 위한 것이며, 제한하려는 것은 아니다. 기술된 다양한 실시예 및 첨부된 청구항의 설명에서 사용되는 바와 같이, 단수형은 문맥이 달리 명시적으로 표시하지 않은 이상, 복수형을 포함하도록 의도되었다. 또한, 본원에서 사용되는 바와 같은 용어 "및/또는"은 열거된 연관 항목 중 하나 이상의 항목의 임의의 그리고 모든 가능한 조합을 지칭하고 포함한다는 것이 이해될 것이다. 또한, 용어 "포함한다" 및/또는 "포함하는"은 본 설명에서 사용될 때, 언급된 특징, 정수, 단계, 동작, 요소, 및/또는 컴포넌트의 존재를 명기하지만, 하나 이상의 다른 특징, 정수, 단계, 동작, 요소, 컴포넌트, 및/또는 그의 그룹의 존재 또는 추가를 배제하지 않는다는 것도 이해될 것이다.
본원에서 사용되는 바와 같이, 용어 "~ 경우"는 선택적으로 문맥에 따라 "~할 때", 또는 "~시에" 또는 "결정에 응답하여" 또는 "검출에 응답하여"를 의미하는 것으로 해석된다. 마찬가지로, 구문 "~라고 결정된다면" 또는 "[언급된 조건 또는 이벤트]가 검출되는 경우"는 선택적으로 문맥에 따라, "결정할 시에" 또는 "결정에 응답하여" 또는 "[언급된 조건 또는 이벤트]의 검출 시에" 또는 "[언급된 조건 또는 이벤트]의 검출에 응답하여"를 의미하는 것으로 해석된다.
본원에서 사용되는 바와 같이, AV 시스템은 AV의 동작을 지원하는 하드웨어, 소프트웨어, 저장 데이터, 및 실시간으로 생성된 데이터의 어레이와 함께 AV를 지칭한다. 일 실시예에서, AV 시스템은 AV 내에 포함된다. 일 실시예에서, AV 시스템은 여러 위치에 걸쳐 확산되어 있다. 예를 들어, AV 시스템의 소프트웨어 중 일부는 도 3과 관련하여 아래에서 기술되는 클라우드 컴퓨팅 환경(300)과 유사한 클라우드 컴퓨팅 환경 상에 구현된다.
일반적으로, 본원은 완전한 자율 주행 차량, 고도의 자율 주행 차량, 및 조건부 자율 주행 차량, 예를 들어 각각 소위 레벨 5 차량, 레벨 4 차량 및 레벨 3 차량을 포함하는 하나 이상의 자율 주행 능력을 갖는 임의의 차량에 적용 가능한 기술을 개시한다(차량의 자율성의 레벨 분류에 대한 세부사항은 본원에 그 전체가 참조로 포함된, SAE 국제 표준 J3016: 온로드 자동차 자동 운전 시스템에 관한 용어의 분류 및 정의(Taxonomy and Definitions for Terms Related to On-128-172020-02-28 Road Motor Vehicle Automated Driving Systems) 참조). 또한, 본원에서 개시된 기술은 부분적인 자율 주행 차량 및 운전자 보조 차량, 예를 들어 소위 레벨 2 및 레벨 1 차량에도 적용 가능하다(SAE 국제 표준 J3016: 온로드 자동차 자동 운전 시스템에 관한 용어의 분류 및 정의 참조). 일 실시예에서, 레벨 1, 레벨 2, 레벨 3, 레벨 4 및 레벨 5 차량 시스템 중 하나 이상은 센서 입력의 프로세싱에 기초하여 특정의 동작 조건 하에서 특정의 차량 동작(예를 들어, 조향, 제동, 및 맵 사용)을 자동화할 수 있다. 본원에서 개시된 기술은 완전한 자율 주행 차량으로부터 사람-운전 차량까지의 범위에 있는 임의의 레벨에 있는 차량에 혜택을 줄 수 있다.
자율 주행 차량은 사람 운전자를 필요로 하는 차량보다 장점이 있다. 한 가지 장점은 안전성이다. 예를 들어, 2016년에, 미국은 9100억 달러의 사회적 비용으로 추정되는 600만 건의 자동차 사고, 240만 건의 부상, 4만 명의 사망자, 및 1300만 건의 차량 충돌을 경험했다. 1억 마일 주행당 미국 교통 사망자수는, 부분적으로 차량에 설치된 추가적인 안전 대책으로 인해, 1965년과 2015년 사이에 약 6명으로부터 1명으로 줄었다. 예를 들어, 충돌이 발생할 것이라는 추가적인 0.5초의 경고는 전후 충돌의 60%를 완화시키는 것으로 생각된다. 그렇지만, 수동 안전 기능(예를 들어, 시트 벨트, 에어백)은 이 수치를 개선시키는 데 한계에 도달했을 것이다. 따라서 차량의 자동 제어와 같은, 능동적 안전 대책이 이러한 통계치를 개선시키는 데 유망한 다음 단계이다. 인간 운전자가 95%의 충돌에서 중요한 충돌전 사건에 책임있는 것으로 생각되기 때문에, 자동 운전 시스템은, 예를 들어, 중요한 상황을 인간보다 잘 신뢰성있게 인식하고 회피하는 것에 의해; 더 나은 의사 결정을 하고, 교통 법규를 준수하며, 미래의 사건을 인간보다 더 잘 예측하는 것에 의해; 그리고 차량을 인간보다 더 잘 신뢰성있게 제어하는 것에 의해 더 나은 안전 결과를 달성할 수 있다.
도 1을 참조하면, AV 시스템(120)은, 대상체(예를 들어, 자연 장애물(191), 차량(193), 보행자(192), 자전거 운전자, 및 다른 장애물)을 회피하고 도로 법규(예를 들어, 동작 규칙 또는 운전 선호)를 준수하면서, 환경(190)을 통해 궤적(198)을 따라 AV(100)를 목적지(199)(때때로 최종 위치로 지칭됨)로 동작시킨다.
일 실시예에서, AV 시스템(120)은 컴퓨터 프로세서(146)로부터의 동작 커맨드를 수신하고 이에 따라 작동하도록 설비된 디바이스(101)를 포함한다. 일 실시예에서, 컴퓨팅 프로세서(146)는 도 3을 참조하여 아래에 기술되는 프로세서(304)와 유사하다. 디바이스(101)의 예는 조향 제어(102), 브레이크(103), 기어, 가속기 페달 또는 다른 가속 제어 메커니즘, 앞유리 와이퍼, 사이드-도어 락, 윈도 제어, 및 방향 지시등을 포함한다.
일 실시예에서, AV 시스템(120)은 AV의 위치, 선형 속도 및 선형 가속도, 각속도 및 각가속도, 및 방향(예를 들어, AV(100)의 선단의 배향)와 같은 AV(100)의 상태 또는 조건의 특성을 측정 또는 추론하기 위한 센서(121)를 포함한다. 센서(121)의 예는 GPS, 차량 선형 가속도 및 각속도 양자 모두를 측정하는 IMU(inertial measurement unit), 휠 슬립 비(wheel slip ratio)를 측정 또는 추산하기 위한 휠 속력 센서, 휠 브레이크 압력 또는 제동 토크 센서, 엔진 토크 또는 휠 토크 센서, 및 조향 각도 및 각도비(angular rate) 센서이다.
또한, 실시예에서, 센서(121)는 AV의 환경의 특성을 감지 또는 측정하기 위한 센서를 포함한다. 예를 들어, 가시광, 적외선 또는 열(또는 양자 모두)의 스펙트럼식 단안 또는 스테레오 비디오 카메라(122), LiDAR(123), RADAR, 초음파 센서, TOF(time-of-flight) 심도 센서, 속력 센서, 온도 센서, 습도 센서, 및 강우 센서.
일 실시예에서, AV 시스템(120)은 컴퓨터 프로세서(146)와 연관된 머신 명령 또는 센서(121)에 의해 수집된 데이터를 저장하기 위한 데이터 저장 유닛(142) 및 메모리(144)를 포함한다. 일 실시예에서, 데이터 저장 유닛(142)은 도 3과 관련하여 아래에 기술되는 ROM(308) 또는 저장 디바이스(310)와 유사하다. 일 실시예에서, 메모리(144)는 아래에 기술되는 메인 메모리(306)와 유사하다. 일 실시예에서, 데이터 저장 유닛(142) 및 메모리(144)는 환경(190)에 관한 이력, 실시간, 및/또는 예측 정보를 저장한다. 일 실시예에서, 저장된 정보는 맵, 운전 성능, 교통 정체 업데이트 또는 날씨 상태를 포함한다. 일 실시예에서, 환경(190)에 관한 데이터는 원격에 위치된 데이터베이스(134)로부터 통신 채널을 통해 AV(100)에 송신된다.
일 실시예에서, AV 시스템(120)은 다른 차량의 상태 및 조건, 예를 들어 위치, 선형 속도 및 각속도, 선형 가속도 및 각가속도, 및 AV(100)를 향한 선형 및 각도 방향의 측정된 또는 추정된 특성을 통신하기 위한 통신 디바이스(140)를 포함한다. 이 디바이스는 V2V(Vehicle-to-Vehicle) 및 V2I(Vehicle-to-Infrastructure) 통신 디바이스 및 지점간(point-to-point) 또는 애드혹(ad hoc) 네트워크 또는 양자 모두를 통한 무선 통신을 위한 디바이스를 포함한다. 일 실시예에서, 통신 디바이스(140)는 (라디오 및 광학적 통신을 포함하는) 전자기 스펙트럼 또는 다른 매체(예를 들어, 공기 및 음향 매체)를 통해 통신한다. V2V(Vehicle-to-Vehicle), V2I(Vehicle-to-Infrastructure) 통신(및 일 실시예에서 하나 이상의 다른 타입의 통신)의 조합이 때때로 V2X(Vehicle-to-Everything) 통신으로 지칭된다. V2X 통신은 전형적으로, 자율 주행 차량 간의 사이 및 자율 주행 차량들 간의 통신을 위한 하나 이상의 통신 표준에 따른다.
일 실시예에서, 통신 디바이스(140)는 통신 인터페이스를 포함한다. 예를 들어, 유선, 무선, WiMAX, Wi-Fi, 블루투스, 위성, 셀룰러, 광학, 근거리, 적외선, 또는 라디오 인터페이스. 통신 인터페이스는 원격에 위치된 데이터베이스(134)로부터 AV 시스템(120)으로 데이터를 송신한다. 일 실시예에서, 원격에 위치된 데이터베이스(134)는 도 2에 기술된 바와 같이 클라우드 컴퓨팅 환경(200)에 내장된다. 통신 인터페이스(140)는 센서(121)로부터 수집된 데이터 또는 AV(100)의 동작에 관련된 다른 데이터를 원격에 위치된 데이터베이스(134)에 송신한다. 일 실시예에서, 통신 인터페이스(140)는 원격 조작에 관련되는 정보를 AV(100)에 송신한다. 일 실시예에서, AV(100)는 다른 원격(예를 들어, "클라우드") 서버(136)와 통신한다.
일 실시예에서, 원격에 위치된 데이터베이스(134)는 또한 (예를 들어, 도로 및 거리 위치와 같은 데이터를 저장하는) 디지털 데이터를 저장 및 송신한다. 이러한 데이터는 AV(100) 상의 메모리(144)에 저장되거나, 원격에 위치된 데이터베이스(134)로부터 통신 채널을 통해 AV(100)에 송신된다.
일 실시예에서, 원격에 위치된 데이터베이스(134)는 하루 중 유사한 시간에서 궤적(198)을 따라 이전에 진행된 차량의 운전 특성(예를 들어, 속력 및 가속도 프로파일)에 관한 이력 정보를 저장 및 송신한다. 일 구현예에서, 이러한 데이터는 AV(100) 상의 메모리(144)에 저장될 수 있거나, 원격에 위치된 데이터베이스(134)로부터 통신 채널을 통해 AV(100)에 송신될 수 있다.
AV(100) 상에 위치된 컴퓨팅 디바이스(146)는 실시간 센서 데이터 및 이전 정보 양자 모두에 기초한 제어 액션을 알고리즘적으로 생성하여, AV 시스템(120)이 자율 주행 성능을 실행할 수 있게 한다.
일 실시예에서, AV 시스템(120)은 AV(100)의 사용자(예를 들어, 탑승자 또는 원격 사용자)에게 정보 및 경고를 제공하고 그로부터 입력을 수신하기 위해 컴퓨팅 디바이스(146)에 결합된 컴퓨터 주변기기(132)를 포함한다. 일 실시예에서, 주변기기(132)는 도 3을 참조하여 아래에 논의되는 디스플레이(312), 입력 디바이스(314), 및 커서 제어기(316)와 유사하다. 결합은 무선 또는 유선이다. 인터페이스 디바이스 중 임의의 둘 이상이 단일 디바이스에 통합될 수 있다.
도 2는 예시적인 "클라우드" 컴퓨팅 환경을 예시한다. 클라우드 컴퓨팅은 구성 가능한 컴퓨팅 리소스(예를 들어, 네트워크, 네트워크 대역폭, 서버, 프로세싱, 메모리, 스토리지, 애플리케이션, 가상 머신, 및 서비스)의 공유 풀에 대한 간편한 주문형 네트워크 액세스를 가능하게 하기 위한 서비스 전달(service delivery)의 일 모델이다. 전형적인 클라우드 컴퓨팅 시스템에서는, 하나 이상의 대형 클라우드 데이터 센터가 클라우드에 의해 제공되는 서비스를 전달하는 데 사용되는 머신을 수용한다. 이제 도 2를 참조하면, 클라우드 컴퓨팅 환경(200)은 클라우드(202)를 통해 상호연결되는 클라우드 데이터 센터(204a, 204b, 및 204c)를 포함한다. 데이터 센터(204a, 204b, 및 204c)는 클라우드 컴퓨팅 서비스를 클라우드(202)에 연결된 컴퓨터 시스템(206a, 206b, 206c, 206d, 206e, 및 206f)에 제공한다.
클라우드 컴퓨팅 환경(200)은 하나 이상의 클라우드 데이터 센터를 포함한다. 일반적으로, 클라우드 데이터 센터, 예를 들어 도 2에 도시된 클라우드 데이터 센터(204a)는 클라우드, 예를 들어 도 2에 도시된 클라우드(202) 또는 클라우드의 특정 부분을 구성하는 서버의 물리적 배열체를 지칭한다. 예를 들어, 서버는 클라우드 데이터 센터 내에 룸, 그룹, 로우(row), 및 랙(rack)으로 물리적으로 배열된다. 클라우드 데이터 센터는 하나 이상의 서버의 룸을 포함하는 하나 이상의 구역을 갖는다. 각각의 룸은 하나 이상의 서버 로우를 가지며, 각각의 로우는 하나 이상의 랙을 포함한다. 각각의 랙은 하나 이상의 개별 서버 노드를 포함한다. 일부 구현예에서, 구역, 룸, 랙, 및/또는 로우 내의 서버는, 전력 요건, 에너지 요건, 열적 요건, 가열 요건 및/또는 다른 요건을 포함하는, 데이터 센터 설비의 물리적 인프라스트럭처 요건에 기초하여 그룹으로 배열된다. 일 실시예에서, 서버 노드는 도 3에서 기술된 컴퓨터 시스템과 유사하다. 데이터 센터(204a)는 다수의 랙을 통해 분산된 다수의 컴퓨팅 시스템을 갖는다.
클라우드(202)는, 네트워크와 함께 클라우드 데이터 센터(204a, 204b 및 204c), 및 클라우드 데이터 센터(204a, 204b 및 204c)를 상호연결하고 클라우드 컴퓨팅 서비스에 대한 컴퓨팅 시스템(206a 내지 206f)의 액세스를 용이하게 하는 것을 보조하는 네트워킹 리소스(예를 들어, 네트워킹 장비, 노드, 라우터, 스위치 및 네트워킹 케이블)을 포함한다. 일 실시예에서, 네트워크는 지상 또는 위성 연결을 사용하여 배치된 유선 또는 무선 링크를 사용하여 결합된 하나 이상의 로컬 네트워크, 광역 네트워크, 또는 인터네트워크의 임의의 조합을 나타낸다. 네트워크를 거쳐 교환되는 데이터는 IP(Internet Protocol), MPLS(Multiprotocol Label Switching), ATM(Asynchronous Transfer Mode) 및 프레임 릴레이 등과 같은 임의 수의 네트워크 계층 프로토콜을 사용하여 송신된다. 또한, 네트워크가 다수의 서브 네트워크의 조합을 나타내는 실시예에서, 상이한 네트워크 계층 프로토콜은 기저 서브 네트워크(underlying sub-networks)의 각각에서 사용된다. 일 실시예에서, 네트워크는 공중 인터넷과 같은 하나 이상의 상호연결된 인터네트워크를 나타낸다.
컴퓨팅 시스템(206a 내지 206f) 또는 클라우드 컴퓨팅 서비스 소비자는 네트워크 링크 및 네트워크 어댑터를 통해 클라우드(202)에 연결된다. 일 실시예에서, 컴퓨팅 시스템(206a 내지 206f)은 다양한 컴퓨팅 디바이스, 예를 들어 서버, 데스크톱, 랩톱, 태블릿, 스마트폰, IoT(Internet of Things) 디바이스, 자율 주행 차량(자동차, 드론, 셔틀, 기차, 버스 등을 포함) 및 소비자 전자기기로서 구현된다. 일 실시예에서, 컴퓨팅 시스템(206a 내지 206f)은 다른 시스템 내에 또는 그 일부로서 구현된다.
도 3은 컴퓨터 시스템(300)을 도시한다. 일 구현예에서, 컴퓨터 시스템(300)은 특수 목적 컴퓨팅 디바이스이다. 특수 목적 컴퓨팅 디바이스는 그 기술을 수행하도록 고정-배선(hard-wired)되거나, 그 기술을 수행하도록 지속적으로 프로그래밍되는 하나 이상의 ASIC(application-specific integrated circuit) 또는 FPGA(field programmable gate array)와 같은 디지털 전자 디바이스를 포함하거나, 펌웨어, 메모리, 다른 스토리지 또는 조합에서 프로그램 명령에 따라 그 기술을 수행하도록 프로그래밍되는 하나 이상의 범용 하드웨어 프로세서를 포함할 수 있다. 또한, 그러한 특수-목적 컴퓨팅 디바이스는 커스텀 고정-배선 로직, ASIC, 또는 FPGA를 커스텀 프로그래밍과 조합하여 기술을 실현할 수 있다. 다양한 실시예에서, 특수-목적 컴퓨팅 디바이스는 기술을 구현하기 위한 고정-배선 및/또는 프로그램 로직을 포함하는 데스크톱 컴퓨터 시스템, 포터블 컴퓨터 시스템, 휴대용 디바이스, 네트워크 디바이스, 또는 임의의 다른 디바이스이다.
일 실시예에서, 컴퓨터 시스템(300)은 정보를 통신하기 위한 버스(302) 또는 다른 통신 메커니즘, 및 정보를 프로세싱하기 위해 버스(302)와 결합된 하드웨어 프로세서(304)를 포함한다. 하드웨어 프로세서(304)는, 예를 들어, 범용 마이크로프로세서이다. 컴퓨터 시스템(300)은 버스(302)에 결합된, 프로세서(304)에 의해 실행될 명령 및 정보를 저장하기 위한, RAM(random access memory) 또는 다른 동적 저장 디바이스와 같은, 메인 메모리(306)를 또한 포함한다. 일 구현예에서, 메인 메모리(306)는 프로세서(304)에 의해 실행될 명령의 실행 동안 일시적 변수 또는 다른 중간 정보를 저장하기 위해 사용된다. 그러한 명령은 프로세서(304)에 액세스 가능한 비-일시적 저장 매체에서 저장될 때, 컴퓨터 시스템(300)을 명령에서 특정된 동작을 수행하도록 커스터마이징된 특수-목적 머신으로 렌더링한다.
일 실시예에서, 컴퓨터 시스템(300)은, 프로세서(304)를 위한 정적 정보 및 명령을 저장하기 위해 버스(302)와 결합된 ROM(read only memory)(308) 또는 다른 정적 저장 디바이스를 추가로 포함한다. 자기 디스크, 광학 디스크, 솔리드-스테이트 드라이브, 또는 3차원 크로스 포인트 메모리와 같은 저장 디바이스(310)가 제공되고 정보 및 명령을 저장하기 위해 버스(302)에 결합된다.
일 실시예에서, 컴퓨터 시스템(300)은 버스(302)를 통해, 정보를 컴퓨터 사용자에게 디스플레이하기 위한 CRT(cathode ray tube), LCD(liquid crystal display), 플라스마 디스플레이, LED(light emitting diode) 디스플레이, 또는 OLED(organic light emitting diode) 디스플레이와 같은 디스플레이(312)에 결합된다. 문자 숫자식 및 다른 키를 포함하는 입력 디바이스(314)는 정보 및 커맨드 선택을 프로세서(304)에 통신하기 위해 버스(302)에 결합된다. 다른 타입의 사용자 입력 디바이스는, 디스플레이(312) 상에서 커서 움직임을 제어하고 프로세서(304)에 방향 정보 및 커맨드 선택을 통신하기 위한, 마우스, 트랙볼, 터치식 디스플레이 또는 커서 방향 키와 같은 커서 제어기(316)이다. 이 입력 디바이스는 전형적으로, 디바이스가 평면에서 위치를 특정할 수 있게 하는 2개의 축, 제1 축(예를 들어, x-축) 및 제2 축(예를 들어, y-축)에서의 2 자유도를 갖는다.
일 실시예에 따르면, 본원에서의 기술은 프로세서(304)가 메인 메모리(306)에 포함된 하나 이상의 명령의 하나 이상의 시퀀스를 실행하는 것에 응답하여 컴퓨터 시스템(300)에 의해 수행된다. 그러한 명령은 저장 디바이스(310)와 같은 다른 저장 매체로부터 메인 메모리(306) 내로 판독된다. 메인 메모리(306)에 포함된 명령의 시퀀스의 실행은 프로세서(304)로 하여금 본원에서 기술된 프로세스 단계를 수행하게 한다. 대안적 실시예에서는, 소프트웨어 명령 대신에 또는 소프트웨어 명령과 조합하여 고정-배선 회로가 사용된다.
본원에서 사용되는 바와 같은 용어 "저장 매체"는 머신이 특정 방식으로 동작하게 하는 데이터 및/또는 명령을 저장하는 임의의 비-일시적 매체를 지칭한다. 그러한 저장 매체는 비휘발성 매체 및/또는 휘발성 매체를 포함한다. 비휘발성 매체는 예를 들어, 광학 디스크, 자기 디스크, 솔리드-스테이트 드라이브, 또는 3차원 크로스 포인트 메모리, 예를 들어 저장 디바이스(310)를 포함한다. 휘발성 매체는 동적 메모리, 예를 들어 메인 메모리(306)를 포함한다. 저장 매체의 일반적인 형태는, 예를 들어 플로피 디스크, 플렉서블 디스크, 하드 디스크, 솔리드-스테이트 드라이브, 자기 테이프, 또는 임의의 다른 자기 데이터 저장 매체, CD-ROM, 임의의 다른 광학 데이터 저장 매체, 홀의 패턴을 갖춘 임의의 물리적 매체, RAM, PROM, 및 EPROM, FLASH-EPROM, NV-RAM, 또는 임의의 다른 메모리 칩, 또는 카트리지를 포함한다.
저장 매체는 송신 매체와 별개이지만 송신 매체와 함께 사용될 수 있다. 송신 매체는 저장 매체 간에 정보를 전달하는 데 참여한다. 예를 들어, 송신 매체는 버스(302)를 포함하는 와이어를 포함하여, 동축 케이블, 구리 와이어 및 광섬유를 포함한다. 또한, 송신 매체는 라디오-파 및 적외선 데이터 통신 동안 생성되는 것과 같은 광파 또는 음향파의 형태를 취할 수 있다.
일 실시예에서, 실행을 위해 하나 이상의 명령의 하나 이상의 시퀀스를 프로세서(304)에 반송하는 데 다양한 형태의 매체가 수반된다. 예를 들어, 명령은 초기에 원격 컴퓨터의 자기 디스크 또는 솔리드-스테이트 드라이브에 보유된다. 원격 컴퓨터는 동적 메모리에 명령을 로딩하고 모뎀을 사용하여 전화선을 통해 명령을 전송한다. 컴퓨터 시스템(300)에 로컬 접속된 모뎀은 전화선 상에서 데이터를 수신하고 적외선 송신기를 사용하여 데이터를 적외선 신호로 변환한다. 적외선 검출기는 적외선 신호 내에 반송된 데이터를 수신하고 적절한 회로는 데이터를 버스(302)에 배치한다. 버스(302)는 메인 메모리(306)로 데이터를 반송하고, 프로세서(304)는 메인 메모리로부터 명령을 검색 및 실행한다. 메인 메모리(306)에 의해 수신된 명령은 프로세서(304)에 의해 실행되기 전이나 실행된 후에 선택적으로 저장 디바이스(310)에 저장될 수 있다.
컴퓨터 시스템(300)은 버스(302)와 결합된 통신 인터페이스(318)도 포함한다. 통신 인터페이스(318)는 로컬 네트워크(322)에 연결된 네트워크 링크(320)에 대한 2-웨이 데이터 통신(two-way data communication) 결합을 제공한다. 예를 들어, 통신 인터페이스(318)는 ISDN(integrated service digital network) 카드, 케이블 모뎀, 위성 모뎀, 또는 대응하는 타입의 전화선에 데이터 통신 연결을 제공하기 위한 모뎀이다. 다른 예로서, 통신 인터페이스(318)는 호환 가능한 LAN(local area network)에 데이터 통신 연결을 제공하기 위한 LAN 카드이다. 일부 구현예에서는, 무선 링크도 구현된다. 임의의 그러한 구현예에서, 통신 인터페이스(318)는 다양한 타입의 정보를 나타내는 디지털 데이터 스트림을 반송하는 전기 신호, 전자기 신호, 또는 광학 신호를 전송 및 수신한다.
네트워크 링크(320)는 전형적으로 하나 이상의 네트워크를 통한 다른 데이터 디바이스로의 데이터 통신을 제공한다. 예를 들어, 네트워크 링크(320)는 로컬 네트워크(322)를 통해 호스트 컴퓨터(324)로의 연결 또는 ISP(Internet Service Provider)(326)에 의해 동작되는 클라우드 데이터 센터 또는 장비로의 연결을 제공할 수 있다. ISP(326)는 차례로 지금은 "인터넷(328)"으로 통칭되는 월드-와이드 패킷 데이터 통신 네트워크(world-wide packet data communication network)를 통해 데이터 통신 서비스를 제공한다. 로컬 네트워크(322) 및 인터넷(328) 양자 모두는 디지털 데이터 스트림을 반송하는 전기 신호, 전자기 신호, 또는 광학 신호를 사용한다. 다양한 네트워크를 통한 신호 및 컴퓨터 시스템(300)으로 그리고 컴퓨터 시스템(300)으로부터 디지털 데이터를 반송하는 통신 인터페이스(318)를 통한 네트워크 링크(320) 상의 신호는 송신 매체의 예시적인 형태이다. 실시예에서, 네트워크(320)는 위에서 기술된 클라우드(202) 또는 클라우드(202)의 일부를 포함한다.
컴퓨터 시스템(300)은 네트워크(들), 네트워크 링크(320) 및 통신 인터페이스(318)를 통해 프로그램 코드를 포함하는 메시지 및 데이터를 전송 및 수신한다. 일 실시예에서, 컴퓨터 시스템(300)은 프로세싱을 위한 코드를 수신한다. 수신된 코드는 수신될 때 프로세서(304)에 의해 실행되고 및/또는, 이후의 실행을 위해 저장 디바이스(310) 또는 다른 비휘발성 저장 디바이스에 저장된다.
자율 주행 차량 아키텍처
도 4는 자율 주행 차량(예를 들어, 도 1에 도시된 AV(100))에 대한 예시적인 아키텍처(400)를 도시한다. 아키텍처(400)는 인지 모듈(402)(때때로 인지 회로라고 지칭됨), 계획 모듈(planning module)(404)(때때로 계획 회로라고 지칭됨), 제어 모듈(406)(때때로 제어 회로라고 지칭됨), 로컬화 모듈(localization module)(408)(때때로 로컬화 회로라고 지칭됨), 및 데이터베이스 모듈(410)(때때로 데이터베이스 회로라고 지칭됨)을 포함한다. 각각의 모듈은 AV(100)의 동작에서 소정의 역할을 한다. 다함께, 모듈(402, 404, 406, 408 및 410)은 도 1에 도시된 AV 시스템(120)의 일부일 수 있다. 일 실시예에서, 모듈(402, 404, 406, 408, 및 410) 중 임의의 모듈은 컴퓨터 소프트웨어(예를 들어, 컴퓨터 판독 가능한 매체 상에 저장된 실행 가능한 코드) 및 컴퓨터 하드웨어(예를 들어, 하나 이상의 마이크로프로세서, 마이크로컨트롤러, ASIC(application-specific integrated circuit), 하드웨어 메모리 디바이스, 다른 타입의 집적 회로, 다른 타입의 컴퓨터 하드웨어, 또는 이러한 것 중 임의의 것 또는 모든 것의 조합)의 조합이다. 모듈(402, 404, 406, 408, 및 410)의 각각의 모듈은 때때로 프로세싱 회로(예를 들어, 컴퓨터 하드웨어, 컴퓨터 소프트웨어, 또는 이 둘의 조합)라고 지칭된다. 모듈(402, 404, 406, 408, 및 410) 중 임의의 것 또는 모든 것의 조합은 또한 프로세싱 회로의 일 예이다.
사용 중에, 계획 모듈(404)은 목적지(412)를 나타내는 데이터를 수신하고 목적지(412)에 도달하기 위해(예를 들어, 도착하기 위해) AV(100)에 의해 진행될 수 있는 궤적(414)(때때로 루트라고 지칭됨)을 나타내는 데이터를 결정한다. 계획 모듈(404)이 궤적(414)을 나타내는 데이터를 결정하기 위해, 계획 모듈(404)은 인지 모듈(402), 로컬화 모듈(408), 및 데이터베이스 모듈(410)로부터 데이터를 수신한다.
인지 모듈(402)은, 예를 들어, 도 1에도 도시된 바와 같이, 하나 이상의 센서(121)를 사용하여 인근의 물리적 대상체를 식별한다. 대상체는 분류되고(예를 들어, 보행자, 자전거, 자동차, 교통 표지판 등과 같은 타입으로 그룹화되고), 분류된 대상체(416)를 포함하는 장면 묘사는 계획 모듈(404)에 제공된다.
또한, 계획 모듈(404)은 로컬화 모듈(408)로부터 AV 위치(418)를 나타내는 데이터를 수신한다. 로컬화 모듈(408)은 위치를 계산하기 위해 센서(121)로부터의 데이터 및 데이터베이스 모듈(410)로부터의 데이터(예를 들어, 지리적 데이터)를 사용하여 AV 위치를 결정한다. 예를 들어, 로컬화 모듈(408)은 GNSS(Global Operation Satellite System) 센서로부터의 데이터 및 지리적 데이터를 사용하여 AV의 경도 및 위도를 계산한다. 일 실시예에서, 로컬화 모듈(408)에 의해 사용되는 데이터는 도로 기하학적 특성의 고-정밀 맵, 도로망 연결 특성을 기술하는 맵, 도로 물리적 특성(예를 들어, 교통 속력, 교통량, 차량 및 자전거 운전자 교통 차선의 수, 차선 폭, 차선 교통 방향, 또는 차선 마커 타입 및 위치, 또는 그 조합)을 기술하는 맵, 및 도로 특징부, 예를 들어, 횡단보도, 교통 표지판 또는 다양한 타입의 다른 진행 신호(travel signal)의 공간적 위치를 기술하는 맵을 포함한다. 일 실시예에서, 고-정밀 맵은 자동 또는 수동 주석 달기(annotation)를 통해 저-정밀 맵에 데이터를 추가함으로써 구성된다.
제어 모듈(406)은 궤적(414)을 나타내는 데이터 및 AV 위치(418)를 나타내는 데이터를 수신하고, AV(100)로 하여금 목적지(412)로 궤적(414)을 진행하게 할 방식으로 AV의 제어 기능(420a 내지 420c)(예를 들어, 조향, 스로틀링, 제동, 점화)을 동작시킨다. 예를 들어, 궤적(414)이 좌회전을 포함하는 경우, 제어 모듈(406)은, 조향 기능의 조향 각도가 AV(100)로 하여금 좌측으로 회전하게 하고 스로틀링 및 제동이 AV(100)로 하여금 이러한 회전이 이루어지기 전에 통과하는 보행자 또는 차량을 위해 일시중지 또는 대기하게 하는 방식으로 제어 기능(420a 내지 420c)을 동작시킬 것이다.
자율 주행 차량 입력
도 5는 인지 모듈(402)(도 4)에 의해 사용되는 입력(502a 내지 502d)(예를 들어, 도 1에 도시된 센서(121)) 및 출력(504a 내지 504d)(예를 들어, 센서 데이터)의 일 예를 도시한다. 하나의 입력(502a)은 LiDAR(Light Detection and Ranging) 시스템(예를 들어, 도 1에 도시된 LiDAR(123))이다. LiDAR은 그의 시선에 있는 물리적 대상체에 관한 데이터를 획득하기 위해 광(예를 들어, 적외선 광과 같은 광의 버스트)을 사용하는 기술이다. LiDAR 시스템은 출력(504a)으로서 LiDAR 데이터를 생성한다. 예를 들어, LiDAR 데이터는 환경(190)의 표현을 구성하는 데 사용되는 3D 또는 2D 포인트(포인트 클라우드로도 공지됨)의 집합체이다.
다른 입력(502b)은 RADAR 시스템이다. RADAR은 인근의 물리적 대상체에 관한 데이터를 획득하기 위해 라디오 파를 사용하는 기술이다. RADAR는 LiDAR 시스템의 시선 내에 있지 않은 대상체에 관한 데이터를 획득할 수 있다. RADAR 시스템(502b)은 출력(504b)으로서 RADAR 데이터를 생성한다. 예를 들어, RADAR 데이터는 환경(190)의 표현을 구성하는 데 사용되는 하나 이상의 라디오 주파수 전자기 신호이다.
다른 입력(502c)은 카메라 시스템이다. 카메라 시스템은 인근의 물리적 대상체에 관한 정보를 획득하기 위해 하나 이상의 카메라(예를 들어, CCD(charge-coupled device)와 같은 광 센서를 사용하는 디지털 카메라)를 사용한다. 카메라 시스템은 출력(504c)으로서 카메라 데이터를 생성한다. 카메라 데이터는 종종 이미지 데이터(예를 들어, RAW, JPEG, PNG 등과 같은 이미지 데이터 형식의 데이터)의 형태를 취한다. 일부 예에서, 카메라 시스템은, 카메라 시스템이 심도를 인지할 수 있게 하는, 입체시(stereopsis)(스테레오 비전)를 위해, 다수의 독립적인 카메라를 갖는다. 카메라 시스템에 의해 인지되는 대상체가 본원에서 "인근"으로 기술되지만, 이것은 AV에 상대적인 것이다. 사용 중에, 카메라 시스템은 멀리 있는, 예를 들어, AV 전방으로 최대 1 킬로미터 이상에 있는 대상체를 "보도록" 구성될 수 있다. 따라서, 카메라 시스템은 멀리 떨어져 있는 대상체를 인지하기 위해 최적화되는 센서 및 렌즈와 같은 특징부를 가질 수 있다.
다른 입력(502d)은 TLD(traffic light detection) 시스템이다. TLD 시스템은 하나 이상의 카메라를 사용하여, 시각적 운행 정보를 제공하는 신호등, 거리 표지판, 및 다른 물리적 대상체에 관한 정보를 획득한다. TLD 시스템은 출력(504d)으로서 TLD 데이터를 생성한다. TLD 데이터는 종종 이미지 데이터(예를 들어, RAW, JPEG, PNG 등과 같은 이미지 데이터 형식의 데이터)의 형태를 취한다. TLD 시스템은, 시각적 운행 정보를 제공하는 가능한 한 많은 물리적 대상체에 관한 정보를 획득하기 위해 TLD 시스템이 넓은 시계를 갖는 카메라(예를 들어, 광각 렌즈 또는 어안 렌즈를 사용함)를 사용하여, AV(100)가 이러한 대상체에 의해 제공되는 모든 관련 운행 정보에 액세스한다는 점에서, 카메라를 포함하는 시스템과 상이하다. 예를 들어, TLD 시스템의 시야각은 약 120도 이상일 수 있다.
일 실시예에서, 출력(504a 내지 504d)은 센서 융합 기술을 사용하여 조합된다. 따라서, 개별 출력(504a 내지 504d) 중 어느 하나가 AV(100)의 다른 시스템에 제공되거나(예를 들어, 도 4에 도시된 바와 같은 계획 모듈(404)에 제공되거나), 또는 조합된 출력이 동일한 타입(동일한 조합 기술을 사용하는 것 또는 동일한 출력을 조합하는 것 또는 양자 모두)의 단일 조합 출력 또는 다중 조합 출력의 형태 또는 상이한 타입(예를 들어, 상이한 각자의 조합 기술을 사용하는 것 또는 상이한 각자의 출력을 조합하는 것 또는 양자 모두)의 단일 조합 출력 또는 다중 조합 출력의 형태 중 어느 하나로 다른 시스템에 제공될 수 있다. 일 실시예에서, 조기 융합(early fusion) 기술이 사용된다. 조기 융합 기술은 하나 이상의 데이터 프로세싱 단계가 조합 출력에 적용되기 전에 출력을 조합하는 것을 특징으로 한다. 일부 실시예에서, 늦은 융합(late fusion) 기술이 사용된다. 늦은 융합 기술은 하나 이상의 데이터 프로세싱 단계가 개별 출력에 적용된 후에 출력을 조합하는 것을 특징으로 한다.
도 6은 LiDAR 시스템(602)(예를 들어, 도 5에 도시된 입력(502a))의 일 예를 도시한다. LiDAR 시스템(602)은 광 이미터(606)(예를 들어, 레이저 송신기)로부터 광(604a 내지 604c)을 방출한다. LiDAR 시스템에 의해 방출되는 광은 전형적으로 가시 스펙트럼에 있지 않으며, 예를 들어, 적외선 광이 종종 사용된다. 방출되는 광(604b)의 일부는 물리적 대상체(608)(예를 들어, 차량)와 조우하고, LiDAR 시스템(602)으로 다시 반사된다. (LiDAR 시스템으로부터 방출되는 광은 전형적으로 물리적 대상체, 예를 들어, 고체 형태의 물리적 대상체를 관통하지 않는다). 또한, LiDAR 시스템(602)은 반사된 광을 검출하는 하나 이상의 광 검출기(610)를 갖는다. 일 실시예에서, LiDAR 시스템과 연관된 하나 이상의 데이터 프로세싱 시스템은 LiDAR 시스템의 시계(614)를 나타내는 이미지(612)를 생성한다. 이미지(612)는 물리적 대상체(608)의 경계(616)를 나타내는 정보를 포함한다. 이러한 방식으로, 이미지(612)는 AV 인근의 하나 이상의 물리적 대상체의 경계(616)를 결정하는 데 사용된다.
도 7은 동작 중인 LiDAR 시스템(602)을 도시한다. 이 도면에 도시된 시나리오에서, AV(100)는 이미지(702) 형태의 카메라 시스템 출력(504c) 및 LiDAR 데이터 포인트(704) 형태의 LiDAR 시스템 출력(504a) 양자 모두를 수신한다. 사용 중에, AV(100)의 데이터 프로세싱 시스템은 이미지(702)를 데이터 포인트(704)와 비교한다. 특히, 이미지(702)에서 식별된 물리적 대상체(706)가 데이터 포인트(704) 중에서도 식별된다. 이러한 방식으로, AV(100)는 데이터 포인트(704)의 윤곽 및 밀도에 기초하여 물리적 대상체의 경계를 인지한다.
도 8은 LiDAR 시스템(602)의 동작을 추가적으로 상세하게 도시한다. 위에서 기술된 바와 같이, AV(100)는 LiDAR 시스템(602)에 의해 검출되는 데이터 포인트의 특성에 기초하여 물리적 대상체의 경계를 검출한다. 도 8에 도시된 바와 같이, 지면(802)과 같은 평평한 대상체는 LiDAR 시스템(602)으로부터 방출되는 광(804a 내지 804d)을 일관된 방식으로 반사할 것이다. 달리 말하면, LiDAR 시스템(602)이 일관된 간격을 사용하여 광을 방출하기 때문에, 지면(802)은 광을 동일한 일관된 간격으로 다시 LiDAR 시스템(602)으로 반사할 것이다. AV(100)가 지면(802) 위에서 진행함에 따라, LiDAR 시스템(602)은 도로를 방해하는 것이 없는 경우 다음 유효 지면 포인트(806)에 의해 반사되는 광을 계속 검출할 것이다. 그렇지만, 대상체(808)가 도로를 방해하는 경우, LiDAR 시스템(602)에 의해 방출되는 광(804e 내지 804f)은 예상되는 일관된 방식과 불일치하는 방식으로 포인트(810a 내지 810b)로부터 반사될 것이다. 이 정보로부터, AV(100)는 대상체(808)가 존재한다고 결정할 수 있다.
경로 계획
도 9는 (예를 들어, 도 4에 도시된 바와 같은) 계획 모듈(404)의 입력과 출력 사이의 관계의 블록 다이어그램(900)을 도시한다. 일반적으로, 계획 모듈(404)의 출력은 시작 포인트(904)(예를 들어, 소스 위치 또는 최초의 위치)로부터 종료 포인트(906)(예를 들어, 목적지 또는 최종 위치)까지의 루트(902)이다. 루트(902)는 전형적으로 하나 이상의 세그먼트에 의해 규정된다. 예를 들어, 세그먼트는 거리, 도로, 공도, 사유 도로, 또는 자동차 진행에 적절한 다른 물리적 영역의 적어도 일 부분에 걸쳐 진행되는 거리이다. 일부 예에서, 예를 들어, AV(100)가 4륜 구동(4WD) 또는 상시 4륜구동(AWD) 자동차, SUV, 픽업 트럭 등과 같은 오프-로드 주행 가능 차량인 경우, 루트(902)는 비포장 경로 또는 탁트인 들판과 같은 "오프-로드" 세그먼트를 포함한다.
루트(902)에 추가하여, 계획 모듈은 차선-레벨 루트 계획 데이터(908)도 출력한다. 차선-레벨 루트 계획 데이터(908)는 특정한 시간에서의 세그먼트의 조건에 기초하여 루트(902)의 세그먼트를 횡단하는 데 사용된다. 예를 들어, 루트(902)가 다중 차선 공도를 포함하는 경우, 차선-레벨 루트 계획 데이터(908)는, 예를 들어, 출구가 다가오고 있는지, 차선 중 하나 이상이 다른 차량을 갖는지, 또는 수 분 또는 그 미만 동안에 걸쳐 변화되는 다른 인자에 기초하여 AV(100)가 다중 차선 중 한 차선을 선택하는 데 사용할 수 있는 궤적 계획 데이터(910)를 포함한다. 유사하게, 일부 구현예에서, 차선-레벨 루트 계획 데이터(908)는 루트(902)의 세그먼트에 특정적인 속력 제약(912)을 포함한다. 예를 들어, 세그먼트가 보행자 또는 예상치 않은 교통상황(traffic)을 포함하는 경우, 속력 제약(912)은 AV(100)를 예상된 속력보다 더 느린 진행 속력, 예를 들어, 세그먼트에 대한 속력 제한 데이터에 기초한 속력으로 제한할 수 있다.
일 실시예에서, 계획 모듈(404)로의 입력은 (예를 들어, 도 4에 도시된 데이터베이스 모듈(410)로부터의) 데이터베이스 데이터(914), 현재 위치 데이터(916)(예를 들어, 도 4에 도시된 AV 위치(418)), (예를 들어, 도 4에 도시된 목적지(412)에 대한) 목적지 데이터(918), 및 대상체 데이터(920)(예를 들어, 도 4에 도시된 인지 모듈(402)에 의해 인지되는 분류된 대상체(416))를 포함한다. 일 실시예에서, 데이터베이스 데이터(914)는 계획에 사용되는 규칙을 포함한다. 규칙은 형식 언어를 사용하여, 예를 들어, 불리언 로직을 사용하여 특정된다. AV(100)와 조우하는 임의의 주어진 상황에서, 규칙 중 적어도 일부는 해당 상황에 적용될 것이다. 규칙이 AV(100)에 이용 가능한 정보, 예를 들어, 주위 환경에 관한 정보에 기초하여 충족되는 조건을 갖는 경우, 규칙이 주어진 상황에 적용된다. 규칙은 우선순위를 가질 수 있다. 예를 들어, "도로가 공도인 경우, 최좌측 차선으로 이동하라"로 되어 있는 규칙은, 출구가 1마일 내에서 다가오고 있는 경우, 최우측 차선으로 이동하라"는 것보다 더 낮은 우선순위를 가질 수 있다.
도 10은 예를 들어, 계획 모듈(404)(도 4)에 의해 경로 계획에 사용되는 방향 그래프(1000)를 도시한다. 일반적으로, 도 10에 도시된 것과 같은 방향 그래프(1000)는 임의의 시작 포인트(1002)와 종료 포인트(1004) 사이의 경로를 결정하는 데 사용된다. 현실 세계에서는, 시작 포인트(1002)와 종료 포인트(1004)를 분리하는 거리는 상대적으로 클 수 있거나(예를 들어, 2개의 상이한 대도시 지역 내) 또는 상대적으로 작을 수 있다(예를 들어, 도시 블록과 맞닿아 있는 2개의 교차로 또는 다중 차선 도로의 2개의 차선).
일 실시예에서, 방향 그래프(1000)는 AV(100)에 의해 점유될 수 있는 시작 포인트(1002)와 종료 포인트(1004) 사이의 상이한 위치를 나타내는 노드(1006a 내지 1006d)를 갖는다. 일부 예에서, 예를 들어, 시작 포인트(1002) 및 종료 포인트(1004)가 상이한 대도시 지역을 나타낼 때, 노드(1006a 내지 1006d)는 도로의 세그먼트를 나타낸다. 일부 예에서, 예를 들어, 시작 포인트(1002) 및 종료 포인트(1004)가 동일한 도로 상의 상이한 위치를 나타낼 때, 노드(1006a 내지 1006d)는 해당 도로 상의 상이한 위치를 나타낸다. 이러한 방식으로, 방향 그래프(1000)는 다양한 레벨의 입도(granularity)로 정보를 포함한다. 또한, 일 실시예에서, 높은 입도를 갖는 방향 그래프는 또한 더 큰 스케일을 갖는 다른 방향 그래프의 하위그래프이다. 예를 들어, 시작 포인트(1002) 및 종료 포인트(1004)가 멀리 떨어져 있는(예를 들어, 수 마일(many miles) 떨어져 있는) 방향 그래프는 그의 정보 대부분이 낮은 입도이고 저장된 데이터에 기초하지만, AV(100)의 시계 내의 물리적 위치를 나타내는 그래프의 부분에 대한 일부 높은 입도 정보도 포함한다.
노드(1006a 내지 1006d)는 노드와 중첩할 수 없는 대상체(1008a 내지 1008b)와 별개이다. 일 실시예에서, 입도가 낮을 때, 대상체(1008a 내지 1008b)는 자동차에 의해 횡단될 수 없는 구역, 예를 들어, 거리 또는 도로가 없는 영역을 나타낸다. 입도가 높을 때, 대상체(1008a 내지 1008b)는 AV(100)의 시계 내의 물리적 대상체, 예를 들어, 다른 자동차, 보행자, 또는 AV(100)가 물리적 공간을 공유할 수 없는 다른 엔티티를 나타낸다. 일 실시예에서, 대상체(1008a 내지 1008b)의 일부 또는 전부는 정적 대상체(예를 들어, 가로등 또는 전신주와 같은 위치를 변경하지 않는 대상체) 또는 동적 대상체(예를 들어, 보행자 또는 다른 자동차와 같은 위치를 변경할 수 있는 대상체)이다.
노드(1006a 내지 1006d)는 에지(1010a 내지 1010c)에 의해 연결된다. 2개의 노드(1006a 내지 1006b)가 에지(1010a)에 의해 연결되는 경우, AV(100)가, 예를 들어, 다른 노드(1006b)에 도착하기 전에 중간 노드로 진행할 필요 없이, 하나의 노드(1006a)와 다른 노드(1006b) 사이에서 진행하는 것이 가능하다. (노드 사이에서 진행하는 AV(100)를 언급할 때, AV(100)가 각자의 노드에 의해 표현되는 2개의 물리적 위치 사이에서 진행한다는 것을 의미한다.) 에지(1010a 내지 1010c)는, AV(100)가 제1 노드로부터 제2 노드로, 또는 제2 노드로부터 제1 노드로 진행한다는 의미에서 종종 양방향성이다. 일 실시예에서, 에지(1010a 내지 1010c)는, AV(100)가 제1 노드로부터 제2 노드로 진행할 수 있지만, AV(100)가 제2 노드로부터 제1 노드로 진행할 수 없다는 의미에서 단방향성이다. 에지(1010a 내지 1010c)는, 예를 들어, 일방통행로, 거리, 도로, 또는 공도의 개별 차선, 또는 법적 또는 물리적 제약으로 인해 일 방향으로만 횡단될 수 있는 다른 특징을 나타낼 때 단방향성이다.
일 실시예에서, 계획 모듈(404)은 방향 그래프(1000)를 사용하여 시작 포인트(1002)와 종료 포인트(1004) 사이의 노드 및 에지로 이루어진 경로(1012)를 식별한다.
에지(1010a 내지 1010c)는 연관된 비용(1014a 내지 1014b)을 갖는다. 비용(1014a 내지 1014b)은 AV(100)가 해당 에지를 선택하는 경우 소비될 리소스를 나타내는 값이다. 전형적인 리소스는 시간이다. 예를 들어, 하나의 에지(1010a)가 다른 에지(1010b)의 물리적 거리에 2배인 물리적 거리를 나타내면, 제1 에지(1010a)의 연관된 비용(1014a)은 제2 에지(1010b)의 연관된 비용(1014b)의 2배일 수 있다. 시간에 영향을 미치는 다른 인자는 예상된 교통상황, 교차로의 수, 속력 제한 등을 포함한다. 다른 전형적인 리소스는 연비(fuel economy)이다. 2개의 에지(1010a 및 1010b)는 동일한 물리적 거리를 나타낼 수 있지만, 예를 들어, 도로 조건, 예상된 날씨 등으로 인해, 하나의 에지(1010a)는 다른 에지(1010b)보다 더 많은 연료를 요구할 수 있다.
계획 모듈(404)이 시작 포인트(1002)와 종료 포인트(1004) 사이의 경로(1012)를 식별할 때, 계획 모듈(404)은 전형적으로, 비용에 최적화된 경로, 예를 들어, 에지의 개별 비용이 함께 가산될 때 최소 전체 비용을 갖는 경로를 선택한다.
자율 주행 차량 제어
도 11은 (예를 들어, 도 4에 도시된 바와 같은) 제어 모듈(406)의 입력 및 출력의 블록 다이어그램(1100)을 도시한다. 제어 모듈은, 예를 들어, 프로세서(304)와 유사한 하나 이상의 프로세서(예를 들어, 마이크로프로세서 또는 마이크로컨트롤러 또는 양자 모두와 같은 하나 이상의 컴퓨터 프로세서), 메인 메모리(306)와 유사한 단기 및/또는 장기 데이터 스토리지(예를 들어, 메모리 랜덤-액세스 메모리 또는 플래시 메모리 또는 양자 모두), ROM(308), 및 저장 디바이스(310)를 포함하는 제어기(1102), 및 메모리 내에 저장된 명령에 따라 동작하는데, 상기 명령은 명령이 (예를 들어, 하나 이상의 프로세서에 의해) 실행될 때 제어기(1102)의 동작을 수행한다.
일 실시예에서, 제어기(1102)는 원하는 출력(1104)을 나타내는 데이터를 수신한다. 원하는 출력(1104)은 전형적으로 속도, 예를 들어, 속력 및 방향을 포함한다. 원하는 출력(1104)은, 예를 들어, (예를 들어, 도 4에 도시된 바와 같은) 계획 모듈(404)로부터 수신되는 데이터에 기초할 수 있다. 원하는 출력(1104)에 따라, 제어기(1102)는 스로틀 입력(1106) 및 조향 입력(1108)으로서 사용 가능한 데이터를 생성한다. 스로틀 입력(1106)은 원하는 출력(1104)을 달성하기 위해 조향 페달에 관여하거나 또는 다른 스로틀 제어에 관여함으로써, AV(100)의 스로틀(예를 들어, 가속도 제어)에 관여하는 정도를 나타낸다. 일부 예에서, 스로틀 입력(1106)은 AV(100)의 브레이크(예를 들어, 감속 제어)에 관여하는데 사용 가능한 데이터를 또한 포함한다. 조향 입력(1108)은 조향 각도, 예를 들어, AV의 조향 제어(예를 들어, 조향 휠, 조향 각도 액추에이터, 또는 조향 각도를 제어하기 위한 다른 기능성)가 원하는 출력(1104)을 달성하도록 위치설정되어야 하는 각도를 나타낸다.
일 실시예에서, 제어기(1102)는 스로틀 및 조향에 제공되는 입력을 조정하는 데 사용되는 피드백을 수신한다. 예를 들어, AV(100)가 언덕과 같은 방해물(1110)과 조우하면, AV(100)의 측정된 속력(1112)은 원하는 출력 속력 아래로 낮아진다. 일 실시예에서, 임의의 측정된 출력(1114)은, 예를 들어, 측정된 속력과 원하는 출력 사이의 차분(1113)에 기초하여, 필요한 조정이 수행되도록 제어기(1102)에 제공된다. 측정된 출력(1114)은 측정된 위치(1116), 측정된 속도(1118)(속력 및 방향을 포함), 측정된 가속도(1120), 및 AV(100)의 센서에 의해 측정 가능한 다른 출력을 포함한다.
일 실시예에서, 방해물(1110)에 관한 정보는, 예를 들어, 카메라 또는 LiDAR 센서와 같은 센서에 의해 미리 검출되고, 예측 피드백 모듈(1122)에 제공된다. 이후, 예측 피드백 모듈(1122)은 정보를 제어기(1102)에 제공하며, 제어기(1102)는 이 정보를 사용하여 그에 따라 조정할 수 있다. 예를 들어, AV(100)의 센서가 언덕을 검출한("본") 경우, 이 정보는 상당한 감속을 피하기 위해 적절한 시간에 스로틀에 관여할 준비를 하도록 제어기(1102)에 의해 사용될 수 있다.
도 12는 제어기(1102)의 입력, 출력, 및 컴포넌트의 블록 다이어그램(1200)을 도시한다. 제어기(1102)는 스로틀/브레이크 제어기(1204)의 동작에 영향을 미치는 속력 프로파일러(1202)를 갖는다. 예를 들어, 속력 프로파일러(1202)는, 예를 들어, 제어기(1102)에 의해 수신되고 속력 프로파일러(1202)에 의해 프로세싱되는 피드백에 따라 스로틀/브레이크(1206)를 사용하여 가속에 관여하거나 감속에 관여하도록 스로틀/브레이크 제어기(1204)에 명령한다.
본원에서 사용되는 바와 같이, "속력 프로파일"은 속력 프로파일러로부터 스로틀/브레이크 제어기로의 명령의 특성을 규정하는 데이터를 지칭한다. 예를 들어, 계획 회로(404)가 궤적을 따라 AV(100)를 동작시키기 위해 궤적을 제어 회로(406)에 전송하면, 속력 프로파일러(1202)는 궤적에 대한 대응하는 속력 프로파일을 생성한다. 제어 회로(406)는 속력 프로파일에 의해 규정되는 명령의 특성을 사용하여 또는 속력 프로파일에 의해 규정되는 특성의 미리 결정된 임계값 내의 명령의 특성을 사용하여 AV(100)를 동작시킨다.
일 실시예에서, 궤적에 대한 속력 프로파일은 제어 회로(406)가 AV(100)로 하여금 궤적의 하나 이상의 세그먼트를 따라 동작하게 하는 속도를 특성화한다. 예를 들어, 궤적에 대한 속력 프로파일러(1202)에 의해 생성되는 속력 프로파일에 따라 AV(100)를 동작시키는 제어 회로(406)는 비포장 도로 또는 탁트인 들판의 "오프-로드" 세그먼트에서 AV(100)를 더 저속으로 동작시키고, 포장 도로의 세그먼트에 도달할 시에 AV(100)을 가속시킨다. 일 실시예에서, 제어 회로(406)가 AV(100)로 하여금 궤적의 하나 이상의 세그먼트를 따라 동작하게 하는 속도는 환경 조건, 예를 들어, 날씨, 도로의 조건, 및 보행자, 다른 차량, 및 일반 대상체의 관찰 가능한 특성에 의존한다. 일 실시예에서, 관찰 가능한 특성은 인지된 대상체의 존재, 위치, 및 모션을 포함한다.
일 실시예에서, 궤적에 대한 속력 프로파일은 제어 회로(406)가 AV(100)로 하여금 궤적의 하나 이상의 세그먼트를 따라 동작하게 하는 가속도를 특성화한다. 궤적을 따른 AV(100)의 속도의 특성화와 유사하게, 제어 회로(406)는 상이한 세그먼트를 통한 궤적을 따라 다양한 레벨의 가속도로 AV(100)를 동작시킬 수 있다. 일 실시예에서, 궤적에 대한 속력 프로파일은 제어 회로(406)가 AV(100)로 하여금 궤적의 하나 이상의 세그먼트를 따라 동작하게 하는 속도 및 가속도 양자 모두를 특성화한다.
일 실시예에서, 궤적에 대한 속력 프로파일은 제어 회로(406)가 AV(100)로 하여금 궤적의 하나 이상의 세그먼트를 따라 동작하게 하는 저크(jerk)를 특성화한다. 궤적을 따른 AV(100)의 가속도 및 속도의 특성화와 유사하게, 제어 회로(406)는 상이한 세그먼트를 통한 궤적을 따라 다양한 레벨의 저크로 AV(100)를 동작시킬 수 있다. 제어 회로(406)가 AV(100)로 하여금 궤적의 세그먼트 중 하나 이상의 세그먼트를 따라 동작하게 하는 저크는 AV(100) 승객의 편의 메트릭에 부분적으로 의존할 수 있다. 편의 메트릭에 기초하여 인지된 승객에 대한 편의 레벨에 따라, 제어 회로(406)는 AV(100)가 궤적을 따라 동작할 때 저크를 감소시킨다.
일반적으로, 속력 프로파일러는 AV(100)가 있는 운전 시나리오에 따라 주어진 궤적에 대한 속력 프로파일을 생성할 수 있고, 속력 프로파일러(1202)에 조건을 부과할 수 있다. 궤적에 대해 생성되는 속력 프로파일에 영향을 주는 조건은 이하의 것을 단독으로 또는 조합하여 중 어느 하나로 포함한다.
1. 속력 프로파일의 실현성, 예를 들어, 선택된 속력 프로파일로 궤적을 따라 AV(100)를 동작시키는 것이 자연의 법칙 내에서 또는 AV(100)의 물리적 또는 부과된 제한 내에서 AV(100)에 대해 물리적으로 가능한지 여부.
2. 속력 프로파일에 따라 궤적을 따라 AV(100)를 동작시키는 것의 안전성, 예를 들어, 생성된 속력 프로파일에 따라 궤적을 따라 AV(100)를 동작시키는 것이 AV(100)가 궤적을 따라 진행할 때 AV(100)의 승객 또는 AV(100)에 근접한 다른 사람에 대해 안전한지 여부.
3. 속력 프로파일에 따라 궤적을 따라 AV(100)를 동작시키는 동안 교통 규칙 및 법규의 준수, 예를 들어, 대응하는 속력 프로파일에 따라 궤적을 따라 AV(100)를 동작시키는 것이 게시된 속력 제한을 준수하는지 여부.
4. AV(100)가 속력 프로파일에 따라 궤적을 따라 진행할 때 승객의 편의, 예를 들어, 선택된 속력 프로파일에 따라 궤적을 따라 AV(100)를 동작시키는 것이 승객을 불편하게 할 수 있는 급가속/급감속을 포함하는지 여부.
5. 하나 이상의 도로를 따라 AV(100)을 동작시키는 동안 도로 요소와의 근접성과 상호작용. 도로 요소는, 도로에 근접한 게시된 교통 표지판 또는 도로 자체에 표시된 표지판, 예를 들어, 얼룩말 횡단보도(zebra crossing)를 포함한, 교통 표지판을 포함한다. 도로 요소는 속력 프로파일러(1202)가 운전 시나리오에 대한 각자의 속력 프로파일을 생성하는 방법에 영향을 미치는 제한된 가시성을 갖는 교차로 또는 다가오는 회전을 표시할 수 있다.
일 실시예에서, 이러한 조건 및 다른 조건은 경험적으로, 예를 들어, 다양한 궤적에 대해 생성되는 속력 프로파일에 관해 수집된 이전 데이터의 결과로서; 수동으로, 예를 들어, 전문가 의견 또는 개인적인 경험에 기초하여; 또는 규칙 기반 접근법에 따라 확정된다.
일반적으로, 계획 회로(402)가 궤적을 생성하고 궤적을 제어 회로(406)에 전송한 후에 속력 프로파일러(1202)는 궤적에 대한 속력 프로파일을 생성한다. 결과적으로, 계획 회로(404)가 궤적을 제어 회로(406)에 이미 전송한 후에 속력 프로파일이 생성되기 때문에, 궤적에 대해 생성된 속력 프로파일이 계획 회로(404)에 이용 가능하지 않다. 따라서, 계획 회로(404)는 생성된 속력 프로파일에 응답하여 궤적을 갱신할 수 없고, 또한 통상적으로 궤적의 하나 이상의 세그먼트를 따라 진행하는 데 필요한 시간을 정확하게 추정할 수 없다. 이러한 이유는 적어도, 계획 회로(404)와 제어 회로(406)가 AV(100)의 동작 동안 센서 데이터의 상이한 서브세트에 액세스한 결과로서, 계획 회로(404)가 제어 회로(406)에 비해 AV(100)에 관한 더 제한된 정보를 수신할 수 있기 때문이다.
이상적으로 계획 회로(404)는, 제안된 궤적에 대한 대응하는 속력 프로파일이 주어지면, 예를 들어, 생성된 속력 프로파일이 위에서 논의된 바와 같이 하나 이상의 부과된 조건을 불충분하게 충족시키지 않거나 충족시키지 않기 때문에, 그 대신에 새로운 궤적을 제어 회로(406)에 제안한다.
본원에서 사용되는 바와 같이, "제안된 궤적"은 AV(100)에 의해 진행될 수 있지만, 궤적을 따라 진행하도록 AV(100)를 동작시키기 위해 제어 회로(406)에 전송되지 않은 궤적을 지칭한다. 계획 회로(404)는 제어 회로(406)에 전송할 제안된 궤적을 선택할 수 있다.
계획 회로(404)는 궤적을 제어 회로(406)에 전송하기 전에 많은 상이한 제안된 궤적을 생성한다. 일 실시예에서, 계획 회로(404)는, 위에서 논의된 바와 같이, AV(100)가 상이한 운전 시나리오에서 동작하기 때문에, 필요에 따라 많은 상이한 제안된 궤적을 생성한다. 계획 회로(404)는 AV(100)가 새로운 운전 시나리오에서 동작하는 것에 응답하여 매초마다 여러 번 궤적을 제어 회로(406)에 전송한다. 일 실시예에서, 계획 회로(404)는 어떤 미리 결정된 적합도 함수(fitness function)에 기초하여 또는 임의의 적절한 기준 세트에 의해 제어 회로(406)에 전송할 제안된 궤적을 선택한다.
계획 회로(404)는 먼저 잠재적으로 무한한 경로 세트로부터 이용 가능한 궤적 세트를 획득하고 AV(100)가 해당 경로를 따라 진행할 수 있는 궤적을 획득한다. 일 실시예에서, 계획 회로(404)가 모든 가능한 궤적을 개별적으로 검사하는 것이 계산상 불가능한(computational infeasible) 경우에도, 계획 회로(404)는 이용 가능한 궤적 세트를 획득하기 위해 동적 프로그래밍에서의 임의의 적절한 기술을 통해 이용 가능한 궤적 세트를 획득한다.
이어서, 계획 회로(404)는 이용 가능한 궤적 세트를 그래프로 나타낸다. 그래프의 각각의 정점은 맵 상의 물리적 위치를 나타내고, 그래프의 각각의 에지는 에지에 의해 연결되는 노드가 위치된 물리적 위치 사이의 경로를 나타낸다. 일 실시예에서, 그래프는 각각의 정점에서의 AV(100)의 속도 성분을 추가적으로 포함한다. 계획 회로(404)는 임의의 적절한 그래프 구성 알고리즘에 의해 그래프를 구성한다. 일 실시예에서, 계획 회로(404)는 랜덤 샘플링 방법, 예를 들어, RRT 또는 RRT*에 의해 그래프를 구성한다. 일 실시예에서, 계획 회로(404)는 그래프를 격자(grid)로서 구성한다.
계획 회로(404)는 이용 가능한 궤적의 그래프로부터 최적의 궤적을 찾기 위해 임의의 적절한 경로 탐색 알고리즘을 사용한다. 경로 탐색 알고리즘은: Dijkstra의 알고리즘, A*, D*, LPA*는 물론, 전술한 예의 임의의 적절한 변형을 포함한다. 일 실시예에서, 계획 회로(404)는 AV(100)에 의해 최단 거리가 진행되는 것을 결과하는 궤적으로서 최적의 궤적을 선택한다. 다른 실시예에서, 계획 회로(404)는 AV(100) 진행에 의해 최단 시간이 소요되는 것을 결과하는 궤적으로서 최적의 궤적을 선택한다. 일 실시예에서, 계획 회로(404)는 임의의 적절한 경로 탐색 알고리즘을 사용하여 최적의 궤적을 점증적으로, 즉 세그먼트별로 찾는다.
일 실시예에서, 이용 가능한 궤적의 수가 미리 결정된 한계 내에 있는 경우, 계획 회로(404)는 최적의 궤적을 찾기 위해 각각의 궤적을 개별적으로 평가한다. 일 실시예에서, 계획 회로(404)는 AV(100)를 유한 상태 머신으로서 모델링하고, AV(100)가 하나의 모드로부터 다른 모드로 전환해야 할 가능성을 평가함으로써 이용 가능한 궤적 중에서 최적의 궤적을 선택한다. 예를 들어, 하나의 모드는 "차선 추종(lane following)", "차선 변경(lane changing)" 또는 "차량 추월(vehicle overtaking)"일 수 있다. 계획 회로(404)는, 예를 들어, AV(100)가 가다 서다(stop-and-go) 교통상황에서 또는 달리 혼잡한 도로에서 동작하기 때문에, AV(100)가 모드를 변경해야 할 가능성에 기초하여 각각의 궤적을 평가한다.
따라서, 계획 회로(404)가 궁극적으로 궤적을 제어 회로에 전송하기 전에 제안된 궤적의 많은 반복을 생성하기 때문에, AV(100)가 동작 중인 동안 매초마다 여러 번 궤적이 생성되어 제어 회로에 전송된다면, 계획 회로(404)가 각각의 제안된 궤적에 대한 대응하는 속력 프로파일을 생성하는 것이 계산상 불가능할 가능성이 있다. 또한, AV(100)에 대한 운전 시나리오가 변경될 때 제어 회로(406)가 최신 궤적을 제공받아야 하므로, 계획 회로(404)가 계획 회로에 의해 생성되는 각각의 제안된 궤적에 대한 제어 회로(406)로부터의 생성된 속력 프로파일을 수신하는 것은 계산상 불가능하다
그에 부가하여, 제어 회로(406)는 통상적으로 속력 프로파일의 강건성(robustness)을 추정할 수 없다. 구체적으로, 제어 회로(406)는 AV(100)에 근접한 환경의 변화에 응답하여, 즉 AV(100)가 궤적을 따라 진행할 때 계획 회로(404)에 의해 속력 프로파일이 조정될 정도를 결정할 수 없다.
계획 회로(404)로 하여금 각각의 제안된 궤적에 대한 대응하는 속력 프로파일을 생성하게 하는 것의 계산상 불가능성에 부가하여, 계획 회로(404)는 제어 회로(406)가 달리 액세스할 수 있는 속력 프로파일을 생성하기에 충분한 데이터를 수신하지 못한다. 제어 회로(406)는 AV(100)의 동역학에 관한 정보, 예를 들어, AV(100)의 모션 특성은 물론 AV(100)의 승객에 대한 편의 메트릭을 수신한다. 일 실시예에서, 계획 회로(404)와 달리, 제어 회로(406)는 AV의 물리적 조건, 예를 들어, 브레이크와 관련된 정보와 같은, 감각 정보를 AV의 다양한 센서로부터 수신한다. 많은 제안된 궤적을 프로세싱하기 위해, 계획 회로는 더 적은 데이터에 액세스할 수 있는데, 그 이유는 더 많은 데이터는 연속적인 업데이트된 궤적을 위해 제어 회로가 의존하는 계획 회로를 방해할 것이기 때문이다.
적어도 위에서 기술된 이유로 인해, 계획 회로는 일반적으로 궤적을 제어 회로에 전송하기 전에 제안된 궤적에 대한 대응하는 속력 프로파일을 알 수 없다. 일 실시예에서, 계획 회로는 속력 프로파일러가 각각의 궤적에 대해 생성할 대응하는 속력 프로파일을 추정하기 위해 하나 이상의 휴리스틱을 사용하여 궤적을 생성한다.
일 실시예에서, 계획 회로(404)는 속력 프로파일러(1202)가 생성할 대응하는 속력 프로파일에 관해 가정을 하는 "낙관적(optimistic)" 휴리스틱 하에서 궤적을 생성한다. 낙관적 접근법에서, 계획 회로(404)는 속력 프로파일러(1202)가 속력 프로파일에 대한 허용 가능한 최고 특성, 예를 들어, AV(100)가 동작할 수 있는 최고 속도 및 최고 가속도를 갖는 궤적에 대한 속력 프로파일을 생성할 것이라고 가정한다. 이 추정치는 그 자체로 매우 부정확하기 때문에, AV(100)에 대한 추정된 시간은 경험적으로 도출된 인자에 의해 정정된다. 낙관적 모델은 또한 계획 회로(404)가 AV(100)가 실행하는 것이 불가능할 수 있거나 또는 AV(100) 내의 승객에 대해 안전하지 않을 수 있는 궤적을 생성하는 것을 결과할 수 있다.
일 실시예에서, 계획 회로(404)는 "비관적(pessimistic)" 휴리스틱 하에서 궤적을 생성하고, 속력 프로파일러(1202)가 속력 프로파일에 대한 허용 가능한 최저 특성, 예를 들어, AV(100)가 동작할 수 있는 최저 속도 및 최저 가속도를 갖는 궤적에 대한 속력 프로파일을 생성할 것이라고 가정한다. 비관적 추정치는 AV(100)가 너무 "조심스럽게" 작동하고 따라서 특정 궤적을 따라 진행할 수 없는 것을 결과할 수 있는데, 그 이유는, 예를 들어, 해당 궤적이, 안전하게 수행하기 위해 최소 가속을 요구하는, 다가오는 차선에서 잠깐 가속하는 것에 의해 다른 차량을 추월하도록 AV(100)을 동작시키는 것을 요구하기 때문이다.
또한, 제어기(1102)는 조향 제어기(1210)의 동작에 영향을 미치는 측방향 추적 제어기(1208)를 갖는다. 예를 들어, 측방향 추적 제어기(1208)는, 예를 들어, 제어기(1102)에 의해 수신되고 측방향 추적 제어기(1208)에 의해 프로세싱되는 피드백에 따라 조향 각도 액추에이터(1212)의 위치를 조정하도록 조향 제어기(1204)에 명령한다. 일 실시예에서, 측방향 추적 제어기(1208) 및 조향 제어기(1210)는 조합된 모듈로서 구현된다.
제어기(1102)는 스로틀/브레이크(1206) 및 조향 각도 액추에이터(1212)를 제어하는 방법을 결정하기 위해 사용되는 여러 입력을 수신한다. 계획 모듈(404)은, 예를 들어, AV(100)가 동작을 시작할 때 방향을 선택하고 AV(100)가 교차로에 도달할 때 어느 도로 세그먼트를 횡단할지를 결정하기 위해, 제어기(1102)에 의해 사용되는 정보를 제공한다. 로컬화 모듈(408)은, 예를 들어, 스로틀/브레이크(1206) 및 조향 각도 액추에이터(1212)가 제어되고 있는 방식에 기초하여 예상되는 위치에 AV(100)가 있는지를 제어기(1102)가 결정할 수 있도록, AV(100)의 현재 위치를 기술하는 정보를 제어기(1102)에 제공한다. 일 실시예에서, 제어기(1102)는 다른 입력(1214)으로부터의 정보, 예를 들어, 데이터베이스, 컴퓨터 네트워크 등으로부터 수신된 정보를 수신한다.
속력 프로파일 추정
도 13은 속력 프로파일 추정 회로(1302)를 갖는 제어기(1300)의 입력, 출력, 및 컴포넌트의 블록 다이어그램을 도시한다. 일 실시예에서, 제어기(1300)는 도 12에 도시된 제어기(1102)와 유사한 컴포넌트를 갖는다. 구체적으로, 일 실시예에서, 제어기(1300)의 속력 프로파일러, 스로틀/브레이크 제어기, 측방향 추적 제어기, 및 조향 휠 제어기는 도 12에 도시된 제어기(1102)의 속력 프로파일러(1202), 스로틀/브레이크 제어기(1204), 측방향 추적 제어기(1208), 및 조향 휠 제어기(1210)와 동일하다. 제어기(1300)의 구성 및 개별 컴포넌트는 다른 실시예에서 위에서 논의된 실시예와 부합하는 적절한 방식으로 상이할 수 있다.
속력 프로파일 추정 회로(1302)는 계획 회로(404)에 의해 생성되는 제안된 궤적(1304a)을, 입력으로서, 수신하고, 제안된 궤적(1304a)에 대한 추정된 속력 프로파일(1304b)은 물론 추정된 속력 프로파일(1304b)에 대한 신뢰도 점수를, 계획 회로(404)에 대한 출력으로서, 생성한다. 추정된 속력 프로파일(1304b)은 속력 프로파일러(1202)가 제안된 궤적(1304a)을 입력으로서 수신한 경우 속력 프로파일러(1202)가 제안된 궤적(1304a)에 대해 생성했을 실제 속력 프로파일의 추정치이다.
속력 프로파일 추정 회로(1302)에 의해 속력 프로파일을 추정하는 것은 계획 회로(404)가 제안된 궤적을 제어 회로(406)에 전송하기 전에 제안된 궤적을 조정 또는 거부할 수 있게 한다. 일 실시예에서, 추정된 속력 프로파일(1304a)이 제안된 궤적(1304a)에 대한 속력 프로파일이 승객에 불편한 방식으로 AV(100) 가속 또는 제동을 결과할 것임을 나타내면, 계획 회로(404)는 제안된 궤적을 제어 회로(1306)에 전송하는 것을 억제한다. 계획 회로(404)가 제안된 궤적을 제어 회로(406)에 전송하기 전에 추정된 속력 프로파일(1304b)을 수신하지 않았다면, 계획 회로(404)는, 위에서 논의된 하나 이상의 조건에 따라, 더 나은 궤적을 생성하여 회로(406)에 전송할 기회를 놓쳤을 수 있다.
속력 프로파일 추정 회로(1302)는 머신 러닝 모델(1306)을 구현하고 이 모델을 사용하여 입력 궤적에 대한 속력 프로파일을 추정한다. 속력 프로파일 추정 회로(1302)는 제안된 궤적(1304a)을, 입력으로서, 수신하고 머신 러닝 모델(1306)의 학습된 파라미터 값을 사용하여 속력 프로파일 추정치(1304b)는 물론 각자의 신뢰도 점수를, 출력으로서, 생성한다. 일 실시예에서, 머신 러닝 모델(1306)은 속력 프로파일 추정 회로에 의해 구현되고 임의의 적절한 지도 학습 기술에 의해, 예를 들어, 인공 신경 네트워크, 강화 학습, 서포트 벡터 머신, 회귀 모델, 또는 랜덤 포레스트 모델에 의해 훈련된다.
일반적으로, 머신 러닝 모델은 머신 러닝 모델에 의해 정의되는 하나 이상의 파라미터의 파라미터 값을 학습하기 위해 손실 함수를 감소시킴으로써 라벨링된 훈련 데이터에 대해 훈련된다. 머신 러닝 모델은, 학습된 파라미터 값을 사용하여, 새로운 입력에 대한 예측을 하기 위해 속력 프로파일 회로(1302)에 의해 구현된다. 본원에서 사용되는 바와 같이, "라벨링된 훈련 데이터"는 데이터 요소의 개별 벡터를 지칭하며, 각각의 개별 벡터는 개별 벡터가 무엇을 나타내는지를 표시하는 각자의 "라벨"과 연관된다. 라벨링된 훈련 데이터는 수동으로, 예를 들어, 사용자에 의해; 또는, 자동으로, 예를 들어, 궤적을 수신한 후에 제어 회로(406)의 실측치 출력(ground-truth output)으로 궤적을 규정하는 라벨링 데이터에 의해 라벨링될 수 있다.
예를 들어, 신경 네트워크는 머신 러닝 모델(1306)에 대한 파라미터 값을 학습하기 위한 특정한 머신 러닝 기술의 일 구현예이다. 신경 네트워크는 훈련된 가중치의 행렬에 의해 표현되는 복수의 네트워크 계층을 가질 수 있다. 본원에서 사용되는 바와 같이, "네트워크 계층"은 입력을 수신하고, 활성화 함수에 따라 입력을 프로세싱하며, 출력을 생성하는 상호연결된 프로세싱 요소의 그룹을 지칭한다. "입력 계층"은 신경 네트워크 외부의 소스, 예를 들어, 사용자로부터 입력, 예를 들어, 벡터를 수신하는 네트워크 계층이다. "출력 계층"은 신경 네트워크의 입력 계층 또는 은닉 계층 중 어느 하나로부터 하나 이상의 입력을 수신하고 신경 네트워크에 대한 최종 출력을 생성하는 네트워크 계층이다. 신경 네트워크는 하나 이상의 "은닉 계층"을 가질 수 있는데, 은닉 계층은 신경 네트워크의 입력 계층 또는 다른 은닉 계층 중 어느 하나로부터 입력을 수신하고 신경 네트워크의 출력 계층 또는 다른 은닉 계층 중 어느 하나에 대한 출력을 생성하는 네트워크 계층을 지칭한다.
본원에서 사용되는 바와 같이, "훈련된 가중치"는 네트워크 계층에서의 입력의 중요성을 감소시키거나 증가시키기 위해 네트워크 계층에서의 입력을 조정하는 각각의 네트워크 계층에서의 학습된 파라미터 값을 지칭한다. 일 실시예에서, 가중치는 하나 이상의 라벨링된 훈련 예를 사용하여 신경 네트워크의 포워드 패스(forward pass)를 수행하고 이어서 각각의 계층에서 손실 함수에 의해, 예를 들어, 확률론적 또는 배치 경사 하강법을 사용한 역전파에 의해 손실을 계산함으로써 머신 러닝 모델에 대해 훈련된다. 가중치는 라벨링된 훈련 예제(즉, 라벨 자체)에 대한 예측된 값과 실측치 값 사이의 차이를 나타내는 손실을 감소시키기 위해 업데이트된다.
일 예로서, 머신 러닝 모델(1306)의 가중치는 설정된 반복 횟수 동안 훈련된다. 다른 예로서, 머신 러닝 모델(1306)의 가중치는 각각의 계층에 대한 계산된 손실이 미리 결정된 임계치 내에 있을 때까지 훈련된다. 훈련이 완료될 때 가중치는 신경 네트워크의 "훈련된 가중치"라고 지칭된다.
일 실시예에서, 머신 러닝 모델(1306)의 가중치는 계획 회로(404)에 의해 생성되는 궤적을 나타내는 훈련 벡터를 사용하여 훈련된다. 각각의 훈련 벡터는 훈련 벡터에 의해 표현되는 궤적에 대해 속력 프로파일러(1202)에 의해 생성되는 대응하는 속력 프로파일로 라벨링된다. 머신 러닝 모델(1306)의 가중치는 새로운 궤적을 표현하는 이전에 조우되지 않은 벡터에 대한 속력 프로파일을 추정하기 위한 파라미터를 학습하기 위해 훈련 벡터를 사용하여 훈련된다. 머신 러닝(1306)에 의해 생성되는 출력 속력 프로파일은 새로운 궤적에 대한 추정된 속력 프로파일이라고 불린다.
일 실시예에서, 머신 러닝 모델(1306)의 가중치는 계획 회로(404)와 동일하게 또는 실질적으로 동일하게 구성된 계획 회로에 의해 생성되는 궤적의 라벨링된 훈련 벡터의 집합체에 대해 오프라인으로 훈련된다. 라벨링된 훈련 데이터는 AV(100) 또는 다른 유사하게 구성된 자율 주행 차량이 상이한 운전 시나리오에서 동작될 때 이들로부터 수집된다. 예를 들어, 자율 주행 차량이 상이한 운전 시나리오에서 동작할 때, 자율 주행 차량에 대한 AV 시스템은 다수의 궤적 및 각각의 궤적에 대한 대응하는 속력 프로파일을 생성한다. 일 실시예에서, 자율 주행 차량에 대한 AV 시스템은 궤적과 속력 프로파일의 쌍을 규정하는 데이터를 저장 및 송신한다.
머신 러닝 모델의 가중치는 또한, 위에서 논의된 바와 같이, 계획 회로(404)에 이용 가능하지 않은 라벨링된 훈련 데이터, 예를 들어, AV(100)의 모션 특성 및 AV(100)의 승객의 편의 메트릭에 대해 훈련될 수 있다. 일 실시예에서, 훈련 데이터는 계획 회로(404)에 의해 생성되는 궤적, AV(100)에 근접한 분류된 대상체에 관한 정보, 즉 아래에서 논의되는 바와 같이, 인지 파이프라인에 의해 프로세싱되는 센서 데이터, 및 모션 특성, 편의 메트릭, 또는 제어 회로(406)에는 이용 가능하지만 계획 회로(404)에는 이용 가능하지 않은 다른 정보를 규정한다.
일 실시예에서, 머신 러닝 모델(1306)의 가중치는 제안된 궤적과 AV(100) 상의 속력 프로파일러(1202)에 의해 생성되는 대응하는 속력 프로파일의 쌍에 의해 온라인으로 훈련된다. 예를 들어, 속력 프로파일러(1202)가 궤적에 대한 속력 프로파일을 생성할 때, 속력 프로파일 추정 회로(1302)는 생성된 속력 프로파일 및 대응하는 궤적을 사용하여, 예를 들어, 손실 함수를 통해 역전파를 갖는 확률적 경사 하강법을 사용하여 머신 러닝 모델(1306)의 가중치를 업데이트한다. 일 실시예에서, 속력 프로파일 추정 회로(1302)는 생성된 쌍을 배칭(batch)하고 각각의 배치(batch)에 대해 머신 러닝 모델(1306)을 재훈련시킨다.
추정된 속력 프로파일(1304b)은 속력 프로파일러(1202)가 제안된 궤적(1304a)에 대해 생성할 실제 속력 프로파일의 근사치이고, 따라서 일 실시예에서, 속력 프로파일 추정 회로(1302)는 부가적으로 추정된 속력 프로파일(1304b)의 일부로서 신뢰도 점수를 생성한다. 계획 회로(404)는 추정된 궤적(1304a)을 제어 회로(406)에 전송하기로 결정할 때 추정된 속력 프로파일(1304b)에 의존할지 여부를 결정하기 위해 추정된 속력 프로파일(1304b)에 대한 신뢰도 점수를 사용한다.
일 실시예에서, 신뢰도 점수가, 예를 들어, 미리 결정된 임계치 미만으로 낮으면, 계획 회로(404)는, 예를 들어, 위에서 논의된 낙관적 또는 비관적 접근법에 의해 궤적을 생성하는 다른 모델로 "폴백(fall back)"하도록 구성된다. 다른 실시예에서, 계획 회로(404)는 새로운 제안된 궤적을 생성하여 속력 프로파일 추정 회로(1302)에 전송하도록 구성된다. 이에 응답하여, 속력 프로파일 추정 회로(1302)는 새로운 신뢰도 점수를 갖는 새로운 속력 프로파일 추정치를 생성하여 전송한다. 다른 실시예에서, 계획 회로(404)는 새로운 제안된 궤적을 제어 회로(406)에 전송할지 여부를 결정하기 위해 대응하는 신뢰도 점수에 기초하여 새로운 속력 프로파일 추정치를 평가하도록 구성된다.
일 실시예에서, 계획 회로(404)는, 제안된 궤적이 달리 안전하고 승객에게 편안하며 합법적임에도 불구하고, 낮은 신뢰도 점수를 갖는 제안된 궤적을 거부한다. 이러한 이유는 낮은 신뢰도가, 일반적으로 AV(100)의 환경의 변화에 덜 강건한, 불확실한 추정치의 징후이기 때문이다. 따라서, 일 실시예에서, 계획 회로(404)는, 다른 궤적이 위에서 논의된 조건의 면에서 더 적합하더라도, 다른 궤적보다 더 높은 신뢰도 점수를 갖는 궤적을 선택한다.
일 실시예에서, 속력 프로파일 추정 회로(1302)는 제안된 궤적(1304a)과 속력 프로파일러(1202)가 제안된 궤적(1304a)을 입력으로서 수신한 경우 속력 프로파일러(1202)가 생성할 실제 속력 프로파일 사이의 변동을 추정함으로써 제안된 궤적(1304a)에 대한 신뢰도 점수를 생성한다. 예를 들어, 추정된 높은 변동은 제안된 궤적(1304a)이 신뢰할 수 있는 추정치가 아님을 나타내며, 따라서 속력 프로파일 추정 회로(1302)는 낮은 신뢰도 점수를 속력 프로파일 추정치(1304b)에 할당할 것이다.
반대로, 추정된 낮은 변동은 제안된 궤적(1304a)이 동일하거나 유사한 운전 시나리오에 대한 다른 속력 프로파일 추정치와 크게 다르지 않기 때문에 제안된 궤적(1304a)이 신뢰할 수 있는 추정치임을 나타낸다. 따라서, 속력 프로파일 추정 회로(1302)는 속력 프로파일 추정치(1304b)에 높은 신뢰도 점수를 할당할 수 있다.
일 실시예에서, 머신 러닝 모델(1306)의 가중치가 계획 회로(404)에 이용 가능하지 않은 데이터를 나타내는 훈련 벡터에 대해 훈련된다. 훈련 벡터에 의해 표현되는 더 많은 특징, 예를 들어, AV(100)의 물리적 특성을 나타내는 특징은 더 정확한 파라미터를 훈련시키는 데 사용될 수 있다.
일 실시예에서, 이러한 추가적인 특징들은 (아래에서 논의되는) 인지-제어기 파이프라인(1404)을 통해 속력 프로파일러(1202)에 의해 수신되는 데이터를 나타내고, 궤적을 수신하는 것에 응답하여 속력 프로파일을 생성하는 데 사용된다. 따라서, 이러한 추가적인 특징은 AV(100)의 동작 동안 계획 회로(404)에 제공되지 않는 데이터를 나타내지만, 이러한 추가적인 특징을 포함하는 벡터에 대해 머신 러닝 모델(1306)의 가중치를 훈련시키는 것은 머신 러닝 모델(1306)에 대한 정확한 파라미터 값을 학습하는 데 유용할 수 있다.
도 14는 계획 회로(404) 및 제어 회로(406)를 위한 플래너-제어기 파이프라인(1404)의 블록 다이어그램을 도시한다. 본원에서 사용되는 바와 같이, "플래너-제어기 파이프라인(1404)"은 센서(121)로부터 계획 회로(404) 및 제어 회로(406)에 전송되는 수신된 데이터를 지칭한다. 플래너-제어기 파이프라인(1404)은 데이터가 계획 회로(404)에 의해 수신되기 전에 센서(121)로부터의 데이터에 대해 수행되는 임의의 프로세싱을 또한 포함한다. 일 실시예에서, 플래너-제어기 파이프라인(1404)은 제어 회로(406)에 의해 프로세싱되지만 계획 회로(404)에 의해 프로세싱되지 않는 추가적인 정보(1406)를 또한 포함한다.
일 실시예에서, 센서(121)로부터의 데이터는 플래너-제어기 파이프라인(1404), 대안적인 인지 파이프라인(1408), 및 플래너 파이프라인(1410)의 임의의 조합을 통해 프로세싱된다. 위에서 그리고 아래에서 더욱 상세하게 논의된 바와 같이, 일 실시예에서, 계획 회로(404)는 제어 회로(406)에 이용 가능하지 않은 플래너 파이프라인(1410)으로부터 정보를 수신한다. 마찬가지로, 일 실시예에서, 제어 회로(406)는 계획 회로(404)에 이용 가능하지 않은 대안적인 인지 파이프라인(1408)으로부터 정보를 수신한다.
이 데이터는, 도 4와 관련하여 도시된 바와 같이, 센서(121)에 의해 수집된 데이터는 물론 데이터베이스 모듈(410)에 저장된 데이터를 포함한다. 일 실시예에서, 인지-제어기 파이프라인(1404), 대안적인 인지 파이프라인(1408) 및 플래너 파이프라인(1410)은 각자의 파이프라인을 통해 데이터를 프로세싱하기 위해 도 4에 도시된 바와 같은 모듈의 임의의 조합으로 각자의 프로세싱 회로를 포함한다.
일 실시예에서, 플래너-제어기 파이프라인(1404)은, 점선(1406)으로 도시된 바와 같이, 계획 회로(404)를 우회한다. 일 실시예에서, 계획 회로(404)가 제어 회로(406)에 대한 궤적을 생성하기 위해 그 만큼 많은 정보를 요구하지 않기 때문에 계획 회로(404)가 우회된다. 계획 회로(404)가 궤적을 제어 회로(406)에 전송하기 전에 많은 궤적을 생성하기 때문에, 많은 상이한 궤적의 신속한 프로세싱을 용이하게 하기 위해 더 적은 데이터가 계획 회로(404)에 전송된다.
일 실시예에서, 계획-제어기 파이프라인(1404)은 하나 이상의 센서(121)를 사용하여 물리적 대상체를 분류할 수 있는 인지 회로(402)를 포함한다. 분류된 대상체(416)가 계획 회로(404)에는 제공될 수 있지만, 제어 회로(406)에는 제공되지 않을 수 있는데, 그 이유는 제어 회로(406)가 궤적을 따라 AV(100)를 동작시키기 위해 분류된 대상체(416)를 나타내는 데이터를 요구하지 않기 때문이다. 일 실시예에서, 플래너 파이프라인(1410)은 인지 회로(402)를 포함하고 계획 회로(404)에 의해서만 수신되는 센서(121)로부터의 데이터, 예를 들어, 분류된 대상체와 관련된 정보를 프로세싱한다.
일 실시예에서, 대안적인 인지 파이프라인(1408)은 제어 회로(406)의해서만 수신되고 계획 회로(404)에 의해서는 수신되지 않는 센서(121)로부터의 데이터를 프로세싱한다. 예를 들어, 제어 회로(406)는 AV(100)에 근접한 환경의 표현을 규정하는 데이터를 수신하며, 이는 AV(100)가 궤적을 따라 진행할 때 제어 회로(406)가 AV(100)의 동작에 대한 빠르고 정확한 조정을 하는 것을 용이하게 한다. 일 실시예에서, 하나의 표현은 동적 점유 격자(dynamic occupancy grid, "DOG")에 의한 것이고, 여기서 AV(100)에 근접한 대상체는, 필드 이론(field theory) 기반 유체 역학에서 유체가 모델링되는 방식과 유사하게, 입자의 집합체로서 모델링된다. DOG에 대한 상세한 논의는, 그 전체가 참고로 본원에 포함되는, 2019년 4월 24일에 출원된 미국 가특허 출원 제62/837,902호인 “FIELD THEORY BASED PERCEPTION FOR AUTONOMOUS VEHICLES”"에서 제공된다. 이러한 실시예에서, 대안적인 인지 파이프라인(1408)을 통해 프로세싱되는 데이터는 계획 회로(404)를 통과하지 않는데, 그 이유는 계획 회로(404)가 파이프라인(1408)으로부터의 데이터를 프로세싱할 수 없거나 효율적으로 프로세싱할 수 없기 때문이다.
일 실시예에서, 플래너-제어기 파이프라인(1406)은 로컬화 모듈(408)을 포함한다. 로컬화 모듈(408)은 AV(100)의 위치를 회로(404 및 406) 중 하나 또는 양자 모두에 제공한다. 일 실시예에서, 플래너-제어기 파이프라인(1406)은, 예를 들어, 도 4와 관련하여 위에서 기술된 바와 같이, 데이터베이스 회로(410)로부터의 데이터를 포함한다. 이 실시예에서, 계획 회로(404) 및 제어 회로(406) 양자 모두는 각자의 기능을 수행하기 위해 AV(100)의 위치와 관련된 정보를 요구할 수 있다.
플래너-제어기 파이프라인(1406)에 의해 프로세싱되는 데이터는 머신 러닝 모델(1306)을 훈련시키기 위한 훈련 벡터를 생성하는 데 사용될 수 있다. 이러한 훈련 벡터는 궤적은 물론, 제어 회로(406)에 의해 수신되고 계획 회로(404)에 의해 수신되지 않는 정보에 기초한 추가적인 특징을 나타낼 수 있는데, 그 이유는, 즉, 추가적인 특징이 계획 회로(404)를 우회하는 바이패스 파이프라인(1406)을 통한 데이터에 의해 표현되기 때문이다. 동작 중에, 계획 회로가 제안된 궤적(1304a)을 제어 회로(406)에 전송할 때, 계획 회로(404)는 바이패스 파이프라인(1406)에서의 데이터를 사용함이 없이 제안된 궤적을 생성할 것이다. 그럼에도 불구하고, 속력 프로파일 추정 회로(1302)는, 머신 러닝 모델(1306)이 추가적인 특징을 갖는 훈련 벡터에 대해 훈련된 경우에도, 추정된 속력 프로파일(1304b)을 반환한다.
일 실시예에서, 속력 프로파일 추정 회로(1302)는 AV(100)에 대한 현재의 운전 시나리오의 제안된 궤적에 대한 속력 프로파일 추정치를 제공하기 위해 이전에 조우된 운전 시나리오와 훈련 동안 측정되는 속력 프로파일 사이의 연관을 저장 및 사용한다. 예를 들어, AV(100)의 승객은 매일, 예를 들어, 출퇴근(work commute)을 위해 AV(100)를 사용할 수 있다. 출퇴근은 일상적으로, 예를 들어, 매일 동일한 도로 또는 도로들을 따라 목적지로 진행하는 것을 수반할 수 있다. 일 실시예에서, 계획 회로(404)는 AV(100)의 이러한 일상적인 동작 동안 생성되는 다른 궤적과 동일하거나 유사한 궤적을 생성한다.
일 실시예에서, 속력 프로파일러 추정 회로(1302)는 낮은 신뢰도 점수를 갖는 속력 프로파일 추정치에 대응하는 AV(100)의 위치를 고려한다. 더 낮은 신뢰도 점수는, 예를 들어, 환경의 조건, 예를 들어, 일반적으로 낮은 가시성 또는 폐색에 대응할 수 있거나, 또는 AV(100) 자체의 조건, 예를 들어, 다른 환경에 대비하여 특정 환경에서 센서가 거짓 양성(false positive)을 생성하는 더 높은 경향에 대응할 수 있다.
속력 프로파일 추정 회로(1302)는, 일 실시예에서, 속력 프로파일 추정 회로(1302)가 특정한 제안된 궤적을 얼마나 자주 수신하는지를 추적하도록 구성된다. 특정 시간 기간 내에 특정 횟수로 수신된 특정한 제안된 궤적을 식별할 때, 속력 프로파일 추정 회로(1302)는 AV(100)가 운행하는 운전 시나리오와 추정된 속력 프로파일 사이의 연관을 저장한다.
속력 프로파일 추정 회로(1302)는 빠른 룩업(look-up)을 위한 임의의 적절한 데이터 구조의 일부로서 속력 프로파일과 운전 시나리오 사이의 연관을 저장할 수 있다. 일 실시예에서, 데이터 구조는 해시 테이블이다. 일 실시예에서, 데이터 구조는 연관 배열(associative array)이다.
일 실시예에서, 조우된 속력 프로파일 및 대응하는 운전 시나리오를 저장한 후에, 속력 프로파일 추정 회로(1302)는 현재의 운전 시나리오에 응답하여 계획 회로(404)에 의해 생성되는 새로운 제안된 궤적을 수신한다. 속력 프로파일 추정 회로(1302)는 현재의 운전 시나리오를 각자의 속력 프로파일 추정치와 각각 연관되는 저장된 운전 시나리오와 비교한다. 현재의 운전 시나리오를 저장된 운전 시나리오와 비교할 때, 속력 프로파일 추정 회로(1302)는 유사도 임계치 내에서 운전 시나리오와 유사한 저장된 운전 시나리오를 식별한다.
예를 들어 그리고 일 실시예에서, 속력 프로파일 추정 회로(1302)는 현재의 운전 시나리오가 양쪽 운전 시나리오의 각각의 개별 조건을 비교함으로써 다른 운전 시나리오에 대해 유사도 임계치 내에 있는지를 결정한다. 두 가지 운전 시나리오는 유사한데, 그 이유는 이들 양자 모두가 가시성이 높고 AV(100)에 근접한 물리적 장애물이 거의 없는 환경을 나타내기 때문이다. 일 실시예에서, 유사도 임계치는 경험적으로 결정된다.
일 실시예에서, 속력 프로파일 추정 회로(1302)가 저장된 운전 시나리오를 식별하면, 제안된 궤적에 대한 속력 프로파일 추정치는 저장된 운전 시나리오와 연관된 속력 프로파일 추정치이다. 공통적인 운전 시나리오에 대한 속력 프로파일 추정치를 저장 및 검색함으로써, 속력 프로파일 추정 회로(1302)는 새로운 추정치를 생성하는 것보다 더 빠르게 계획 회로(404)를 위한 속력 프로파일 추정치를 획득한다.
도 15는 추정된 속력 프로파일을 사용하여 궤적을 따라 차량을 동작시키기 위한 프로세스(1500)를 나타내는 플로차트이다. 일 실시예에서, 차량은 도 1에 도시된 자율 주행 차량(100)이고, 프로세스(1500)는, 도 4에 도시된 계획 회로(404) 및 제어 회로(406)와 같은, 계획 회로 및 제어 회로에 의해 수행된다.
계획 회로는 제안된 궤적을 획득하여 제어 회로에 전송한다(단계(1502)).
계획 회로는 추정된 속력 프로파일 및 속력 프로파일 추정치에 대한 신뢰도 점수를 획득한다(단계(1504)). 도 13을 참조하여 위에서 논의된 바와 같이, 제어 회로의 속력 프로파일 추정 회로는 제안된 궤적을 머신 러닝 모델의 학습된 파라미터 값을 사용하여 프로세싱하여 속력 프로파일 추정치를 획득한다. 또한, 제어 회로는, 속력 프로파일 추정 회로를 통해, 추정된 속력 프로파일과 속력 프로파일러에 의해 생성되는 다른 속력 프로파일 사이의 변동에 기초하여 신뢰도 점수를 생성할 수 있다. 일 실시예에서, 속력 프로파일 추정 회로는 제안된 궤적과 유사한 파라미터 값을 갖는 궤적에 대한 다수의 속력 프로파일을 생성한다. 다수의 속력 프로파일 각각 사이의 변동은 추정된 속력 프로파일에 대한 신뢰도 점수이다. 일 실시예에서, 속력 프로파일 추정 회로는 궤적에 표현되는 바와 같이 AV(100)의 위치 또는 모션 특성을 증분 또는 감분시키는 것에 의해 제안된 궤적을 변화시키고 이어서 궤적에 대한 각자의 속력 프로파일 추정치를 계산한다. 일반적으로, 변동이 작을수록, 추정된 속력 프로파일에 대한 신뢰도 점수는 높다.
예를 들어, 제어 회로는 추정된 속력 프로파일에 대한 변동 그리고 후속하여 신뢰도 점수를 결정하기 위해 주성분 분석을 수행할 수 있다. 주성분 분석은 각각의 데이터 요소를 데이터 요소에 대한 주성분을 나타내는 각자의 값 세트로 변환하는 것에 의해 데이터 세트에 대해 수행되는 통계 기술을 지칭한다. 각각의 데이터 요소 사이의 변동을 결정하기 위해 각각의 데이터 요소의 주성분이 다른 데이터 요소의 주성분과 비교된다.
계획 회로는 속력 프로파일 추정치에 대한 신뢰도 점수가 미리 결정된 신뢰도 점수 임계치를 충족시키는지 여부를 결정한다(결정 마름모((1506)). 도 13을 참조하여 위에서 논의된 바와 같이, 신뢰도 점수는 경험적으로 결정될 수 있다.
신뢰도 점수가 미리 결정된 임계치를 충족시킨다는 결정에 따라, 계획 회로는 제안된 궤적을 제어 회로에 전송하고, 제어 회로는 차례로 제안된 궤적에 따라 차량을 동작시킨다(단계(1508)).
신뢰도 점수가 미리 결정된 임계치를 충족시키지 않는다는 결정에 따라, 일 실시예에서, 계획 회로는 휴리스틱을 사용하여 새로운 제안된 궤적을 획득한다(단계(1510)). 예를 들어, 휴리스틱은, 위에서 논의된 바와 같이, 비관적 휴리스틱 또는 낙관적 휴리스틱일 수 있다. 단계(1510)를 수행한 후에, 계획 회로는 새로운 제안된 궤적을 제어 회로에 전송하고, 제어 회로는 새로운 제안된 궤적에 따라 차량을 동작시킨다(단계(1508)).
신뢰도 점수가 미리 결정된 임계치를 충족시키지 않는다는 결정에 따라, 일 실시예에서, 계획 회로는 새로운 제안된 궤적을 획득한다(단계(1512)). 계획 회로는 추정된 속력 프로파일 및 새로운 제안된 궤적에 대한 신뢰도 점수를 획득하기 위해 단계(1504)를 반복할 수 있다(단계(1504)).
상기 설명에서, 본 발명의 실시예는 구현예마다 변화될 수 있는 다수의 특정 세부사항을 참조하여 기술되었다. 따라서, 상세한 기술 및 도면은 제한적인 관점보다는 예시적인 관점에서 보아야 한다. 본 발명의 범위의 유일한 독점적인 지표, 및 출원인이 본 발명의 범위가 되도록 의도한 것은, 본 출원에서 특정 형태로 나오는 청구항 세트의 문언적 등가 범위이며, 그러한 청구항이 나오는 특정 형태는 임의의 후속 보정을 포함한다. 그러한 청구항에 포함된 용어에 대해 본원에서 명시적으로 개시된 모든 정의는 청구항에서 사용되는 바와 같은 그러한 용어의 의미를 지배한다. 그에 부가하여, 상기 설명 및 이하의 청구항에서 용어 "추가로 포함하는"이 사용될 때, 이 문구에 뒤따르는 것은 추가적인 단계 또는 엔티티, 또는 이전에 언급된 단계 또는 엔티티의 서브-단계/서브-엔티티일 수 있다.

Claims (43)

  1. 컴퓨터-구현 방법으로서,
    차량 상의 계획 회로에 의해, 운전 시나리오에 응답하여 상기 차량에 대한 제안된 궤적을 획득하는 단계;
    상기 계획 회로에 의해, 추정된 속력 프로파일 및 신뢰도 점수를 획득하는 단계 - 상기 신뢰도 점수는 상기 추정된 속력 프로파일과 상기 제안된 궤적에 대해 제어 회로에 의해 생성될 실제 속력 프로파일의 유사도를 나타냄 -;
    상기 신뢰도 점수가 신뢰도 임계치를 충족시키는지 여부를 결정하는 단계; 및
    상기 신뢰도 점수가 상기 신뢰도 임계치를 초과한다는 결정에 따라, 상기 차량 상의 제어 회로에 의해, 상기 제안된 궤적을 따라 상기 차량을 동작시키는 단계
    를 포함하는, 컴퓨터-구현 방법.
  2. 제1항에 있어서,
    상기 신뢰도 점수가 상기 신뢰도 임계치를 충족시키지 않는다는 결정에 따라:
    상기 계획 회로에 의해, 미리 결정된 속력 프로파일 휴리스틱에 기초하여 제2 궤적을 획득하는 단계; 및
    상기 제어 회로에 의해, 상기 제2 궤적을 따라 상기 차량을 동작시키는 단계
    를 더 포함하는, 컴퓨터-구현 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 신뢰도 점수가 상기 신뢰도 임계치를 충족시키지 않는다는 결정에 따라:
    상기 계획 회로에 의해, 제2 제안된 궤적을 획득하는 단계, 및
    상기 제어 회로에 의해, 상기 제2 제안된 궤적을 따라 상기 차량을 동작시키는 단계
    를 더 포함하는, 컴퓨터-구현 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 미리 결정된 속력 프로파일 휴리스틱은 낙관적 휴리스틱(optimistic heuristic)인 것인, 컴퓨터-구현 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 미리 결정된 속력 프로파일 휴리스틱은 비관적 속력 프로파일 휴리스틱(pessimistic speed profile heuristic)인 것인, 컴퓨터-구현 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 계획 회로에 의해, 추정된 속력 프로파일 및 신뢰도 점수를 획득하는 단계는:
    상기 제어 회로에 의해, 상기 운전 시나리오를 규정하는 데이터 및 상기 제안된 궤적을 포함하는, 상기 추정된 속력 프로파일에 대한 질의를 수신하는 단계;
    상기 제어 회로에 의해, 상기 제안된 궤적 및 상기 운전 시나리오를 규정하는 상기 데이터를 사용하여 상기 추정된 속력 프로파일을 생성하는 단계; 및
    상기 제어 회로에 의해, 상기 신뢰도 점수를 생성하는 단계를 포함하는 것인, 컴퓨터-구현 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서, 상기 제어 회로에 의해, 상기 제안된 궤적 및 상기 운전 시나리오를 규정하는 상기 데이터를 사용하여 상기 추정된 속력 프로파일을 생성하는 단계는:
    훈련된 모델을 사용하여 상기 추정된 속력 프로파일을 생성하는 단계 - 상기 훈련된 모델은 복수의 궤적과 복수의 속력 프로파일 사이의 복수의 연관을 나타내고, 상기 복수의 속력 프로파일 중의 각각의 속력 프로파일은 상기 제어 회로에 의해 상기 복수의 궤적 중의 각자의 궤적으로부터 생성됨 - 를 포함하는 것인, 컴퓨터-구현 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 훈련된 모델은 제1 인지 파이프라인으로부터 데이터를 수신하도록 구성된 제어 회로에 의해 생성되는 제2 복수의 속력 프로파일에 대해 훈련되고;
    상기 계획 회로에 의해, 상기 제안된 궤적을 수신하는 단계는 상기 제1 인지 파이프라인에서의 상기 데이터를 사용하여 상기 제안된 궤적을 수신하는 단계를 포함하는, 컴퓨터-구현 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 제어 회로는 또한, 상기 제1 인지 파이프라인에 이용 가능하지 않은 데이터를 제2 인지 파이프라인으로부터 수신하도록 구성되는, 컴퓨터-구현 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서, 상기 제어 회로에 의해, 상기 신뢰도 점수를 생성하는 단계는:
    복수의 속력 프로파일의 주성분 분석으로부터 주성분 세트를 획득하는 단계; 및
    상기 주성분 세트와 상기 추정된 속력 프로파일 사이의 변동으로서 상기 신뢰도 점수를 생성하는 단계를 포함하는, 컴퓨터-구현 방법.
  11. 시스템으로서,
    궤적을 획득하고,
    상기 궤적을 따라 차량을 동작시키며,
    상기 제어 회로가 상기 궤적을 따라 상기 차량을 동작시킬 때 상기 차량이 가질 속도를 나타내는 속력 프로파일을 생성하도록 구성된 제어 회로; 및
    운전 시나리오에 응답하여 상기 차량에 대한 제안된 궤적을 획득하고;
    추정된 속력 프로파일 및 신뢰도 점수를 획득하며 - 상기 신뢰도 점수는 상기 추정된 속력 프로파일과 상기 제안된 궤적에 대해 상기 제어 회로에 의해 생성될 실제 속력 프로파일의 유사도를 나타냄 -,
    상기 신뢰도 점수가 신뢰도 임계치를 충족시키는지 여부를 결정하도록 구성된 계획 회로
    를 포함하며,
    상기 제어 회로는 또한, 상기 신뢰도 점수가 상기 신뢰도 임계치를 충족시킨다는 결정에 따라, 상기 궤적을 따라 상기 차량을 동작시키도록 구성되는 것인, 시스템.
  12. 제11항에 있어서, 상기 계획 회로는 또한,
    상기 신뢰도 점수가 상기 신뢰도 임계치를 충족시키지 않는다는 결정에 따라:
    상기 계획 회로에 의해, 미리 결정된 속력 프로파일 휴리스틱에 기초하여 제2 궤적을 획득하고,
    상기 제2 궤적을 따라 상기 차량을 동작시키도록 구성되는, 시스템.
  13. 제11항 또는 제12항에 있어서, 상기 미리 결정된 속력 프로파일 휴리스틱은 낙관적 휴리스틱인 것인, 시스템.
  14. 제11항 내지 제13항 중 어느 한 항에 있어서, 상기 미리 결정된 속력 프로파일 휴리스틱은 비관적 속력 프로파일 휴리스틱인 것인, 시스템.
  15. 제11항 내지 제14항 중 어느 한 항에 있어서, 상기 제어 회로는 또한,
    추정된 속력 프로파일에 대한 제1 질의를 수신하고 - 상기 제1 질의는 제1 운전 시나리오를 규정하는 데이터 및 제1 궤적을 포함함 -,
    상기 제1 운전 시나리오를 규정하는 상기 데이터를 사용하여 추정된 속력 프로파일을 생성하도록 구성되고,
    상기 계획 회로에 의해, 추정된 속력 프로파일 및 신뢰도 점수를 획득하는 것은,
    상기 제어 회로에 의해, 상기 운전 시나리오를 규정하는 데이터 및 상기 제안된 궤적을 포함하는, 상기 추정된 속력 프로파일에 대한 질의를 수신하는 것,
    상기 제어 회로에 의해, 상기 제안된 궤적 및 상기 운전 시나리오를 규정하는 상기 데이터를 사용하여 상기 추정된 속력 프로파일을 생성하는 것, 및
    상기 제어 회로에 의해, 상기 신뢰도 점수를 생성하는 것을 포함하는 것인, 시스템.
  16. 제11항 내지 제15항 중 어느 한 항에 있어서, 상기 제어 회로에 의해, 상기 제안된 궤적 및 상기 운전 시나리오를 규정하는 상기 데이터를 사용하여 상기 추정된 속력 프로파일을 생성하는 것은,
    훈련된 모델을 사용하여 상기 추정된 속력 프로파일을 생성하는 것 - 상기 훈련된 모델은 복수의 궤적과 복수의 속력 프로파일 사이의 복수의 연관을 규정하고, 상기 복수의 속력 프로파일 중의 각각의 속력 프로파일은 상기 제어 회로에 의해 상기 복수의 궤적 중의 각자의 궤적으로부터 생성됨 - 을 포함하는 것인, 시스템.
  17. 제11항 내지 제16항 중 어느 한 항에 있어서, 상기 제어 회로에 의해, 상기 신뢰도 점수를 생성하는 것은,
    복수의 속력 프로파일의 주성분 분석으로부터 주성분 세트를 획득하는 것; 및
    상기 주성분 세트와 상기 추정된 속력 프로파일 사이의 변동으로서 상기 신뢰도 점수를 생성하는 것을 포함하는 것인, 시스템.
  18. 제11항 내지 제17항 중 어느 한 항에 있어서,
    상기 훈련된 모델은 제1 인지 파이프라인으로부터 데이터를 수신하도록 구성된 제어 회로에 의해 생성되는 제2 복수의 속력 프로파일을 규정하는 데이터를 포함하는 훈련 데이터에 대해 훈련되고;
    상기 계획 회로에 의해, 상기 제안된 궤적을 획득하는 것은 상기 제1 인지 파이프라인에서의 상기 데이터를 사용하여 상기 제안된 궤적을 획득하는 것을 포함하는 것인, 시스템.
  19. 제11항 내지 제18항 중 어느 한 항에 있어서, 상기 동작은,
    상기 제어 회로에 의해, 상기 제1 인지 파이프라인에 이용 가능하지 않은 데이터를 제2 인지 파이프라인으로부터 획득하는 것을 더 포함하는 것인, 시스템.
  20. 제1 디바이스의 하나 이상의 프로세서에 의해 실행하기 위한 하나 이상의 프로그램을 포함하는 비-일시적 컴퓨터 판독 가능한 저장 매체로서, 상기 하나 이상의 프로그램은, 상기 하나 이상의 프로세서에 의해 실행될 때, 상기 제1 디바이스로 하여금 동작을 수행하게 하는 명령을 포함하고, 상기 동작은:
    차량 상의 계획 회로에 의해, 운전 시나리오에 응답하여 상기 차량에 대한 제안된 궤적을 획득하는 것,
    상기 계획 회로에 의해, 추정된 속력 프로파일 및 신뢰도 점수를 획득하는 것 - 상기 신뢰도 점수는 상기 추정된 속력 프로파일과 상기 제안된 궤적에 대해 제어 회로에 의해 생성될 실제 속력 프로파일의 유사도의 척도를 나타냄 -,
    상기 신뢰도 점수가 신뢰도 임계치를 충족시키는지 여부를 결정하는 것, 및
    상기 신뢰도 점수가 상기 신뢰도 임계치를 초과한다는 결정에 따라, 상기 차량 상의 상기 제어 회로에 의해, 상기 제안된 궤적을 따라 상기 차량을 동작시키는 것을 포함하는, 비-일시적 컴퓨터 판독 가능한 저장 매체.
  21. 컴퓨터-구현 방법으로서,
    차량 상의 계획 회로에 의해, 제1 운전 시나리오에 응답하여 차량에 대한 제1 궤적을 생성하는 단계 - 상기 제1 운전 시나리오는 상기 차량이 동작 중인 동안 상기 차량의 조건 및 상기 차량에 근접한 환경을 규정하는 데이터에 의해 표현됨 -;
    상기 계획 회로에 의해, 상기 제1 궤적에 대한 제1 속력 프로파일 추정치를 획득하는 단계 - 상기 제1 속력 프로파일 추정치는 미리 결정된 신뢰도 임계치를 충족시키는 신뢰도 점수를 가짐 -;
    상기 계획 회로에 의해, 상기 제1 속력 프로파일 추정치와 상기 제1 운전 시나리오 사이의 연관을 저장하는 단계;
    제어 회로에 의해, 제2 운전 시나리오에서 상기 차량을 동작시키는 단계;
    상기 제2 운전 시나리오가 유사도 임계치 내에서 상기 제1 운전 시나리오와 유사하다고 결정하는 단계;
    상기 제2 운전 시나리오가 유사도 임계치 내에서 상기 제1 운전 시나리오와 유사하다는 결정에 따라:
    상기 계획 회로에 의해, 상기 제2 운전 시나리오에 응답하여 상기 차량에 대한 제2 궤적을 생성하는 단계,
    상기 계획 회로에 의해, 상기 제1 운전 시나리오와 연관된 상기 제1 속력 프로파일 추정치를 획득하는 단계, 및
    상기 제어 회로에 의해, 상기 제2 궤적을 따라 상기 차량을 동작시키는 단계
    를 포함하는, 컴퓨터-구현 방법.
  22. 시스템으로서,
    하나 이상의 컴퓨터 및, 상기 하나 이상의 컴퓨터에 의해 실행될 때, 상기 하나 이상의 컴퓨터로 하여금 동작을 수행하게 하도록 동작 가능한 명령이 저장되어 있는 하나 이상의 저장 디바이스
    를 포함하고, 상기 동작은:
    계획 회로에 의해, 제1 운전 시나리오에 응답하여 차량에 대한 제1 궤적을 생성하는 것 - 상기 제1 운전 시나리오는 상기 차량이 동작 중인 동안 상기 차량의 조건 및 상기 차량에 근접한 환경을 규정하는 데이터에 의해 표현됨 -;
    상기 계획 회로에 의해, 상기 제1 궤적에 대한 제1 속력 프로파일 추정치를 획득하는 것 - 상기 제1 속력 프로파일 추정치는 신뢰도 임계치를 충족시키는 신뢰도 점수를 가짐 -;
    상기 계획 회로에 의해, 상기 제1 속력 프로파일 추정치와 상기 제1 운전 시나리오 사이의 연관을 저장하는 것;
    제어 회로에 의해, 제2 운전 시나리오에서 상기 차량을 동작시키는 것;
    상기 제2 운전 시나리오가 미리 결정된 유사도 임계치 내에서 상기 제1 운전 시나리오와 유사하다고 결정하는 것;
    상기 제2 운전 시나리오가 미리 결정된 유사도 임계치 내에서 상기 제1 운전 시나리오와 유사하다는 결정에 따라:
    상기 계획 회로에 의해, 상기 제2 운전 시나리오에 응답하여 상기 차량에 대한 제2 궤적을 생성하는 것,
    상기 계획 회로에 의해, 상기 제1 운전 시나리오와 연관된 상기 제1 속력 프로파일을 획득하는 것, 및
    상기 제어 회로에 의해, 상기 제2 궤적을 따라 상기 차량을 동작시키는 것을 포함하는, 시스템.
  23. 컴퓨터-구현 방법으로서,
    차량 상의 계획 회로에 의해, 제1 운전 시나리오에 응답하여 차량에 대한 제1 궤적을 생성하는 단계 - 상기 제1 운전 시나리오는 상기 차량이 동작 중인 동안 상기 차량의 조건 및 상기 차량에 근접한 환경을 규정하는 데이터에 의해 표현됨 -;
    상기 계획 회로에 의해, 상기 제1 궤적에 대한 제1 속력 프로파일 추정치 및 상기 제1 속력 프로파일 추정치에 대한 제1 신뢰도 점수를 획득하는 단계 - 상기 신뢰도 점수는 상기 제1 속력 프로파일 추정치와 상기 제1 궤적에 대해 제어 회로에 의해 생성될 실제 속력 프로파일의 유사도를 나타내고, 상기 제1 신뢰도 점수는 미리 결정된 신뢰도 임계치를 충족시킴 -;
    상기 계획 회로에 의해, 상기 제1 속력 프로파일 추정치와 상기 제1 운전 시나리오 사이의 연관을 저장하는 단계;
    제어 회로에 의해, 제2 운전 시나리오에서 상기 차량을 동작시키는 단계;
    상기 제2 운전 시나리오가 유사도 임계치 내에서 상기 제1 운전 시나리오와 유사하다고 결정하는 단계; 및
    상기 제2 운전 시나리오가 유사도 임계치 내에서 상기 제1 운전 시나리오와 유사하다는 결정에 따라:
    상기 계획 회로에 의해, 상기 제2 운전 시나리오에 응답하여 상기 차량에 대한 제2 궤적을 생성하는 단계,
    상기 계획 회로에 의해, 상기 제1 운전 시나리오와 연관된 상기 제1 속력 프로파일 추정치를 획득하는 단계, 및
    상기 제어 회로에 의해, 상기 제2 궤적을 따라 상기 차량을 동작시키는 단계
    를 포함하는, 컴퓨터-구현 방법.
  24. 제23항에 있어서,
    상기 제2 운전 시나리오가 유사도 임계치 내에서 상기 제1 운전 시나리오와 유사하지 않다는 결정에 따라:
    상기 계획 회로에 의해, 미리 결정된 속력 프로파일 휴리스틱에 기초하여 상기 제2 운전 시나리오에 응답하여 제3 궤적을 생성하는 단계, 및
    상기 제어 회로에 의해, 상기 제3 궤적을 따라 상기 차량을 동작시키는 단계
    를 추가로 포함하는, 컴퓨터-구현 방법.
  25. 제23항 또는 제24항에 있어서,
    상기 제2 운전 시나리오가 유사도 임계치 내에서 상기 제1 운전 시나리오와 유사하지 않다는 결정에 따라:
    상기 계획 회로에 의해, 상기 제2 운전 시나리오에 응답하여 상기 차량에 대한 제3 궤적을 생성하는 단계;
    상기 계획 회로에 의해, 제3 속력 프로파일 추정치 및 상기 제3 속력 프로파일 추정치에 대한 제3 신뢰도 점수를 획득하는 단계;
    상기 제3 신뢰도 점수가 상기 미리 결정된 신뢰도 임계치를 충족시키는지 여부를 결정하는 단계; 및
    상기 제3 신뢰도 점수가 상기 미리 결정된 신뢰도 임계치를 충족시킨다는 결정에 따라, 상기 제어 회로에 의해, 상기 제3 궤적을 따라 상기 차량을 동작시키는 단계
    를 더 포함하는, 컴퓨터-구현 방법.
  26. 제23항 내지 제25항 중 어느 한 항에 있어서,
    상기 제3 신뢰도 점수가 상기 미리 결정된 신뢰도 임계치를 충족시키지 않는다는 결정에 따라:
    상기 계획 회로에 의해, 미리 결정된 속력 프로파일 휴리스틱에 기초하여 상기 제2 운전 시나리오에 응답하여 제4 궤적을 생성하는 단계, 및
    상기 제어 회로에 의해, 상기 제4 궤적을 따라 상기 차량을 동작시키는 단계
    를 추가로 포함하는, 컴퓨터-구현 방법.
  27. 제23항 내지 제26항 중 어느 한 항에 있어서, 상기 계획 회로에 의해, 상기 제1 궤적에 대한 상기 제1 속력 프로파일 추정치 및 상기 제1 속력 프로파일 추정치에 대한 상기 제1 신뢰도 점수를 획득하는 단계는,
    복수의 속력 프로파일의 주성분 분석으로부터 주성분 세트를 획득하는 단계; 및
    상기 주성분 세트와 상기 제1 속력 프로파일 추정치 사이의 변동으로서 상기 제1 신뢰도 점수를 생성하는 단계를 포함하는, 컴퓨터-구현 방법.
  28. 제23항 내지 제27항 중 어느 한 항에 있어서, 상기 제어 회로에 의해, 상기 제1 속력 프로파일 추정치 및 상기 제1 신뢰도 점수를 획득하는 단계는,
    상기 제어 회로에 의해, 상기 제1 운전 시나리오를 규정하는 데이터 및 상기 제1 궤적을 포함하는, 상기 제1 속력 프로파일 추정치에 대한 질의를 수신하는 단계;
    상기 제어 회로에 의해, 상기 제1 궤적 및 상기 제1 운전 시나리오를 규정하는 상기 데이터를 사용하여 상기 제1 속력 프로파일 추정치를 생성하는 단계; 및
    상기 제어 회로에 의해, 상기 제1 신뢰도 점수를 생성하는 단계를 포함하는, 컴퓨터-구현 방법.
  29. 제23항 내지 제28항 중 어느 한 항에 있어서, 상기 제어 회로에 의해, 상기 제1 궤적 및 상기 제1 운전 시나리오를 규정하는 상기 데이터를 사용하여 상기 제1 속력 프로파일 추정치를 생성하는 단계는,
    훈련된 모델을 사용하여 상기 제1 속력 프로파일 추정치를 생성하는 단계 - 상기 훈련된 모델은 복수의 궤적과 복수의 속력 프로파일 사이의 복수의 연관을 나타내고, 상기 복수의 속력 프로파일 중의 각각의 속력 프로파일은 상기 제어 회로에 의해 상기 복수의 궤적 중의 각자의 궤적으로부터 생성됨 - 를 포함하는, 컴퓨터-구현 방법.
  30. 시스템으로서,
    하나 이상의 컴퓨터 및, 상기 하나 이상의 컴퓨터에 의해 실행될 때, 상기 하나 이상의 컴퓨터로 하여금 동작을 수행하게 하도록 동작 가능한 명령이 저장되어 있는 하나 이상의 저장 디바이스
    를 포함하고, 상기 동작은:
    차량 상의 계획 회로에 의해, 제1 운전 시나리오에 응답하여 차량에 대한 제1 궤적을 생성하는 것 - 상기 제1 운전 시나리오는 상기 차량이 동작 중인 동안 상기 차량의 조건 및 상기 차량에 근접한 환경을 규정하는 데이터에 의해 표현됨 -;
    상기 계획 회로에 의해, 상기 제1 궤적에 대한 제1 속력 프로파일 추정치 및 상기 제1 속력 프로파일 추정치에 대한 제1 신뢰도 점수를 획득하는 것 - 상기 신뢰도 점수는 상기 제1 속력 프로파일 추정치와 상기 제1 궤적에 대해 제어 회로에 의해 생성될 실제 속력 프로파일의 유사도를 나타내고, 상기 제1 신뢰도 점수는 미리 결정된 신뢰도 임계치를 충족시킴 -;
    상기 계획 회로에 의해, 상기 제1 속력 프로파일 추정치와 상기 제1 운전 시나리오 사이의 연관을 저장하는 것;
    제어 회로에 의해, 제2 운전 시나리오에서 상기 차량을 동작시키는 것;
    상기 제2 운전 시나리오가 유사도 임계치 내에서 상기 제1 운전 시나리오와 유사하다고 결정하는 것; 및
    상기 제2 운전 시나리오가 유사도 임계치 내에서 상기 제1 운전 시나리오와 유사하다는 결정에 따라:
    상기 계획 회로에 의해, 상기 제2 운전 시나리오에 응답하여 상기 차량에 대한 제2 궤적을 생성하는 것,
    상기 계획 회로에 의해, 상기 제1 운전 시나리오와 연관된 상기 제1 속력 프로파일 추정치를 획득하는 것, 및
    상기 제어 회로에 의해, 상기 제2 궤적을 따라 상기 차량을 동작시키는 것을 포함하는, 시스템.
  31. 제30항에 있어서, 상기 동작은,
    상기 제2 운전 시나리오가 유사도 임계치 내에서 상기 제1 운전 시나리오와 유사하지 않다는 결정에 따라:
    상기 계획 회로에 의해, 미리 결정된 속력 프로파일 휴리스틱에 기초하여 상기 제2 운전 시나리오에 응답하여 제3 궤적을 생성하는 것, 및
    상기 제어 회로에 의해, 상기 제3 궤적을 따라 상기 차량을 동작시키는 것을 추가로 포함하는, 시스템.
  32. 제30항 또는 제31항에 있어서, 상기 동작은,
    상기 제2 운전 시나리오가 유사도 임계치 내에서 상기 제1 운전 시나리오와 유사하지 않다는 결정에 따라:
    상기 계획 회로에 의해, 상기 제2 운전 시나리오에 응답하여 상기 차량에 대한 제3 궤적을 생성하는 것;
    상기 계획 회로에 의해, 제3 속력 프로파일 추정치 및 상기 제3 속력 프로파일 추정치에 대한 제3 신뢰도 점수를 획득하는 것;
    상기 제3 신뢰도 점수가 상기 미리 결정된 신뢰도 임계치를 충족시키는지 여부를 결정하는 것; 및
    상기 제3 신뢰도 점수가 상기 미리 결정된 신뢰도 임계치를 충족시킨다는 결정에 따라, 상기 제어 회로에 의해, 상기 제3 궤적을 따라 상기 차량을 동작시키는 것을 더 포함하는 것인, 시스템.
  33. 제30항 내지 제32항 중 어느 한 항에 있어서, 상기 동작은,
    상기 제3 신뢰도 점수가 상기 미리 결정된 신뢰도 임계치를 충족시키지 않는다는 결정에 따라:
    상기 계획 회로에 의해, 미리 결정된 속력 프로파일 휴리스틱에 기초하여 상기 제2 운전 시나리오에 응답하여 제4 궤적을 생성하는 것, 및
    상기 제어 회로에 의해, 상기 제4 궤적을 따라 상기 차량을 동작시키는 것을 더 포함하는, 시스템.
  34. 제30항 내지 제33항 중 어느 한 항에 있어서, 상기 계획 회로에 의해, 상기 제1 궤적에 대한 상기 제1 속력 프로파일 추정치 및 상기 제1 속력 프로파일 추정치에 대한 상기 제1 신뢰도 점수를 획득하는 것은,
    복수의 속력 프로파일의 주성분 분석으로부터 주성분 세트를 획득하는 것; 및
    상기 주성분 세트와 상기 제1 속력 프로파일 추정치 사이의 변동으로서 상기 제1 신뢰도 점수를 생성하는 것을 포함하는 것인, 시스템.
  35. 제30항 내지 제34항 중 어느 한 항에 있어서, 상기 제어 회로에 의해, 상기 제1 속력 프로파일 추정치 및 상기 제1 신뢰도 점수를 획득하는 것은,
    상기 제어 회로에 의해, 상기 제1 운전 시나리오를 규정하는 데이터 및 상기 제1 궤적을 포함하는, 상기 제1 속력 프로파일 추정치에 대한 질의를 수신하는 것;
    상기 제어 회로에 의해, 상기 제1 궤적 및 상기 제1 운전 시나리오를 규정하는 상기 데이터를 사용하여 상기 제1 속력 프로파일 추정치를 생성하는 것; 및
    상기 제어 회로에 의해, 상기 제1 신뢰도 점수를 생성하는 것을 포함하는 것인, 시스템.
  36. 제30항 내지 제35항 중 어느 한 항에 있어서, 상기 제어 회로에 의해, 상기 제1 궤적 및 상기 제1 운전 시나리오를 규정하는 상기 데이터를 사용하여 상기 제1 속력 프로파일 추정치를 생성하는 것은,
    훈련된 모델을 사용하여 상기 제1 속력 프로파일 추정치를 생성하는 것 - 상기 훈련된 모델은 복수의 궤적과 복수의 속력 프로파일 사이의 복수의 연관을 나타내고, 상기 복수의 속력 프로파일 중의 각각의 속력 프로파일은 상기 제어 회로에 의해 상기 복수의 궤적 중의 각자의 궤적으로부터 생성됨 - 을 포함하는 것인, 시스템.
  37. 하나 이상의 컴퓨터에 의해 실행될 때, 상기 하나 이상의 컴퓨터로 하여금 동작을 수행하게 하는 명령으로 인코딩된 하나 이상의 컴퓨터 판독 가능한 저장 매체로서, 상기 동작은,
    차량 상의 계획 회로에 의해, 제1 운전 시나리오에 응답하여 차량에 대한 제1 궤적을 생성하는 것 - 상기 제1 운전 시나리오는 상기 차량이 동작 중인 동안 상기 차량의 조건 및 상기 차량에 근접한 환경을 규정하는 데이터에 의해 표현됨 -;
    상기 계획 회로에 의해, 상기 제1 궤적에 대한 제1 속력 프로파일 추정치 및 상기 제1 속력 프로파일 추정치에 대한 제1 신뢰도 점수를 획득하는 것 - 상기 신뢰도 점수는 상기 제1 속력 프로파일 추정치와 상기 제1 궤적에 대해 제어 회로에 의해 생성될 실제 속력 프로파일의 유사도를 나타내고, 상기 제1 신뢰도 점수는 미리 결정된 신뢰도 임계치를 충족시킴 -;
    상기 계획 회로에 의해, 상기 제1 속력 프로파일 추정치와 상기 제1 운전 시나리오 사이의 연관을 저장하는 것;
    제어 회로에 의해, 제2 운전 시나리오에서 상기 차량을 동작시키는 것;
    상기 제2 운전 시나리오가 유사도 임계치 내에서 상기 제1 운전 시나리오와 유사하다고 결정하는 것; 및
    상기 제2 운전 시나리오가 유사도 임계치 내에서 상기 제1 운전 시나리오와 유사하다는 결정에 따라:
    상기 계획 회로에 의해, 상기 제2 운전 시나리오에 응답하여 상기 차량에 대한 제2 궤적을 생성하는 것,
    상기 계획 회로에 의해, 상기 제1 운전 시나리오와 연관된 상기 제1 속력 프로파일 추정치를 획득하는 것, 및
    상기 제어 회로에 의해, 상기 제2 궤적을 따라 상기 차량을 동작시키는 것을 포함하는, 컴퓨터 판독 가능한 저장 매체.
  38. 제37항에 있어서, 상기 동작은,
    상기 제2 운전 시나리오가 유사도 임계치 내에서 상기 제1 운전 시나리오와 유사하지 않다는 결정에 따라:
    상기 계획 회로에 의해, 미리 결정된 속력 프로파일 휴리스틱에 기초하여 상기 제2 운전 시나리오에 응답하여 제3 궤적을 생성하는 것, 및
    상기 제어 회로에 의해, 상기 제3 궤적을 따라 상기 차량을 동작시키는 것을 더 포함하는 것인, 컴퓨터 판독 가능한 저장 매체.
  39. 제37항 또는 제38항에 있어서, 상기 동작은,
    상기 제2 운전 시나리오가 유사도 임계치 내에서 상기 제1 운전 시나리오와 유사하지 않다는 결정에 따라:
    상기 계획 회로에 의해, 상기 제2 운전 시나리오에 응답하여 상기 차량에 대한 제3 궤적을 생성하는 것;
    상기 계획 회로에 의해, 제3 속력 프로파일 추정치 및 상기 제3 속력 프로파일 추정치에 대한 제3 신뢰도 점수를 획득하는 것;
    상기 제3 신뢰도 점수가 상기 미리 결정된 신뢰도 임계치를 충족시키는지 여부를 결정하는 것; 및
    상기 제3 신뢰도 점수가 상기 미리 결정된 신뢰도 임계치를 충족시킨다는 결정에 따라, 상기 제어 회로에 의해, 상기 제3 궤적을 따라 상기 차량을 동작시키는 것을 더 포함하는 것인, 컴퓨터 판독 가능한 저장 매체.
  40. 제37항 내지 제39항 중 어느 한 항에 있어서, 상기 동작은,
    상기 제3 신뢰도 점수가 상기 미리 결정된 신뢰도 임계치를 충족시키지 않는다는 결정에 따라:
    상기 계획 회로에 의해, 미리 결정된 속력 프로파일 휴리스틱에 기초하여 상기 제2 운전 시나리오에 응답하여 제4 궤적을 생성하는 것, 및
    상기 제어 회로에 의해, 상기 제4 궤적을 따라 상기 차량을 동작시키는 것을 더 포함하는 것인, 컴퓨터 판독 가능한 저장 매체.
  41. 제37항 내지 제40항 중 어느 한 항에 있어서, 상기 계획 회로에 의해, 상기 제1 궤적에 대한 상기 제1 속력 프로파일 추정치 및 상기 제1 속력 프로파일 추정치에 대한 상기 제1 신뢰도 점수를 획득하는 것은,
    복수의 속력 프로파일의 주성분 분석으로부터 주성분 세트를 획득하는 것; 및
    상기 주성분 세트와 상기 제1 속력 프로파일 추정치 사이의 변동으로서 상기 제1 신뢰도 점수를 생성하는 것을 포함하는 것인, 컴퓨터 판독 가능한 저장 매체.
  42. 제37항 내지 제41항 중 어느 한 항에 있어서, 상기 제어 회로에 의해, 상기 제1 속력 프로파일 추정치 및 상기 제1 신뢰도 점수를 획득하는 것은,
    상기 제어 회로에 의해, 상기 제1 운전 시나리오를 규정하는 데이터 및 상기 제1 궤적을 포함하는, 상기 제1 속력 프로파일 추정치에 대한 질의를 수신하는 것;
    상기 제어 회로에 의해, 상기 제1 궤적 및 상기 제1 운전 시나리오를 규정하는 상기 데이터를 사용하여 상기 제1 속력 프로파일 추정치를 생성하는 것; 및
    상기 제어 회로에 의해, 상기 제1 신뢰도 점수를 생성하는 것을 포함하는 것인, 컴퓨터 판독 가능한 저장 매체.
  43. 제37항 내지 제42항 중 어느 한 항에 있어서, 상기 제어 회로에 의해, 상기 제1 궤적 및 상기 제1 운전 시나리오를 규정하는 상기 데이터를 사용하여 상기 제1 속력 프로파일 추정치를 생성하는 것은,
    훈련된 모델을 사용하여 상기 제1 속력 프로파일 추정치를 생성하는 것 - 상기 훈련된 모델은 복수의 궤적과 복수의 속력 프로파일 사이의 복수의 연관을 나타내고, 상기 복수의 속력 프로파일 중의 각각의 속력 프로파일은 상기 제어 회로에 의해 상기 복수의 궤적 중의 각자의 궤적으로부터 생성됨 - 을 포함하는 것인, 컴퓨터 판독 가능한 저장 매체.
KR1020200064549A 2019-05-29 2020-05-28 속력 프로파일 추정 KR102358923B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220012918A KR102453672B1 (ko) 2019-05-29 2022-01-28 속력 프로파일 추정

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201962854284P 2019-05-29 2019-05-29
US62/854,284 2019-05-29
US201962906691P 2019-09-26 2019-09-26
US62/906,691 2019-09-26
US16/880,967 2020-05-21
US16/880,967 US11814046B2 (en) 2019-05-29 2020-05-21 Estimating speed profiles

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020220012918A Division KR102453672B1 (ko) 2019-05-29 2022-01-28 속력 프로파일 추정

Publications (2)

Publication Number Publication Date
KR20200138673A true KR20200138673A (ko) 2020-12-10
KR102358923B1 KR102358923B1 (ko) 2022-02-08

Family

ID=71526205

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020200064549A KR102358923B1 (ko) 2019-05-29 2020-05-28 속력 프로파일 추정
KR1020220012918A KR102453672B1 (ko) 2019-05-29 2022-01-28 속력 프로파일 추정
KR1020220127673A KR102518680B1 (ko) 2019-05-29 2022-10-06 속력 프로파일 추정

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020220012918A KR102453672B1 (ko) 2019-05-29 2022-01-28 속력 프로파일 추정
KR1020220127673A KR102518680B1 (ko) 2019-05-29 2022-10-06 속력 프로파일 추정

Country Status (5)

Country Link
US (1) US20240075927A1 (ko)
KR (3) KR102358923B1 (ko)
CN (1) CN112014859A (ko)
DE (1) DE102020114306A1 (ko)
GB (3) GB2601060B (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210158483A1 (en) * 2019-11-26 2021-05-27 Samsung Electronics Co., Ltd. Jointly learning visual motion and confidence from local patches in event cameras
KR102445049B1 (ko) * 2022-04-15 2022-09-21 국방과학연구소 단일 신경망 추정 자율주행 차량의 모델 예측 제어 방법 및 모델 예측 제어 시스템

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200361452A1 (en) * 2019-05-13 2020-11-19 Toyota Research Institute, Inc. Vehicles and methods for performing tasks based on confidence in accuracy of module output
US20220396289A1 (en) * 2021-06-15 2022-12-15 Nvidia Corporation Neural network path planning
DE102021134155B3 (de) * 2021-12-21 2023-02-09 Cariad Se Verfahren und Prozessorschaltung zur Verbrauchsoptimierung von vollautomatisierten oder teilautomatisierten Fahrmanövern eines Kraftfahrzeugs sowie entsprechend ausgestattetes Kraftfahrzeug und System

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008129804A (ja) * 2006-11-20 2008-06-05 Toyota Motor Corp 走行制御計画生成システム及びコンピュータプログラム
EP2537727A1 (en) * 2011-06-22 2012-12-26 Volvo Car Corporation Method for estimating a speed profile for a vehicle
KR20150062834A (ko) * 2013-11-29 2015-06-08 현대엠엔소프트 주식회사 휴리스틱을 이용한 주행 경로 탐색 장치 및 방법
US20150344036A1 (en) * 2014-05-30 2015-12-03 The Regents Of The University Of Michigan Vehicle speed profile prediction using neural networks
US20180017971A1 (en) * 2016-07-14 2018-01-18 Mitsubishi Electric Research Laboratories, Inc. System and Method for Controlling Motion of Vehicle
EP3323669A1 (en) * 2016-11-22 2018-05-23 Samsung Electronics Co., Ltd. Vehicle control unit (vcu) and operating method thereof
US20190152490A1 (en) * 2017-11-22 2019-05-23 Uber Technologies, Inc. Object Interaction Prediction Systems and Methods for Autonomous Vehicles

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9081651B2 (en) * 2013-03-13 2015-07-14 Ford Global Technologies, Llc Route navigation with optimal speed profile
US10710592B2 (en) * 2017-04-07 2020-07-14 Tusimple, Inc. System and method for path planning of autonomous vehicles based on gradient
US10551842B2 (en) * 2017-06-19 2020-02-04 Hitachi, Ltd. Real-time vehicle state trajectory prediction for vehicle energy management and autonomous drive
US10579063B2 (en) * 2017-07-21 2020-03-03 Uatc, Llc Machine learning for predicting locations of objects perceived by autonomous vehicles
US11256983B2 (en) * 2017-07-27 2022-02-22 Waymo Llc Neural networks for vehicle trajectory planning
US10782694B2 (en) * 2017-09-07 2020-09-22 Tusimple, Inc. Prediction-based system and method for trajectory planning of autonomous vehicles
US10739775B2 (en) * 2017-10-28 2020-08-11 Tusimple, Inc. System and method for real world autonomous vehicle trajectory simulation
CN109410586B (zh) * 2018-12-13 2020-06-05 中南大学 一种基于多元数据融合的交通状态检测方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008129804A (ja) * 2006-11-20 2008-06-05 Toyota Motor Corp 走行制御計画生成システム及びコンピュータプログラム
EP2537727A1 (en) * 2011-06-22 2012-12-26 Volvo Car Corporation Method for estimating a speed profile for a vehicle
KR20150062834A (ko) * 2013-11-29 2015-06-08 현대엠엔소프트 주식회사 휴리스틱을 이용한 주행 경로 탐색 장치 및 방법
US20150344036A1 (en) * 2014-05-30 2015-12-03 The Regents Of The University Of Michigan Vehicle speed profile prediction using neural networks
US20180017971A1 (en) * 2016-07-14 2018-01-18 Mitsubishi Electric Research Laboratories, Inc. System and Method for Controlling Motion of Vehicle
EP3323669A1 (en) * 2016-11-22 2018-05-23 Samsung Electronics Co., Ltd. Vehicle control unit (vcu) and operating method thereof
US20190152490A1 (en) * 2017-11-22 2019-05-23 Uber Technologies, Inc. Object Interaction Prediction Systems and Methods for Autonomous Vehicles

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210158483A1 (en) * 2019-11-26 2021-05-27 Samsung Electronics Co., Ltd. Jointly learning visual motion and confidence from local patches in event cameras
US11694304B2 (en) * 2019-11-26 2023-07-04 Samsung Electronics Co., Ltd. Jointly learning visual motion and confidence from local patches in event cameras
KR102445049B1 (ko) * 2022-04-15 2022-09-21 국방과학연구소 단일 신경망 추정 자율주행 차량의 모델 예측 제어 방법 및 모델 예측 제어 시스템

Also Published As

Publication number Publication date
KR102518680B1 (ko) 2023-04-05
US20240075927A1 (en) 2024-03-07
GB2601060A (en) 2022-05-18
GB2601060B (en) 2023-02-01
KR20220038301A (ko) 2022-03-28
GB2611225A (en) 2023-03-29
KR102358923B1 (ko) 2022-02-08
KR20220139850A (ko) 2022-10-17
GB2587454B (en) 2021-12-29
CN112014859A (zh) 2020-12-01
GB2587454A (en) 2021-03-31
KR102453672B1 (ko) 2022-10-11
DE102020114306A1 (de) 2020-12-03
GB2611225B (en) 2023-10-18
GB202008016D0 (en) 2020-07-15
GB202218647D0 (en) 2023-01-25

Similar Documents

Publication Publication Date Title
KR102532546B1 (ko) 미리 계산되거나 동적으로 생성된 궤적 뱅크로부터의 궤적 예측
US20200216064A1 (en) Classifying perceived objects based on activity
US11814046B2 (en) Estimating speed profiles
US11945440B2 (en) Data driven rule books
KR102616561B1 (ko) 복수의 모션 제약을 사용하는 차량의 동작
KR102453672B1 (ko) 속력 프로파일 추정
KR102505717B1 (ko) 교통 신호등 추정
US11731653B2 (en) Conditional motion predictions
KR20220147006A (ko) 동적 상태를 사용한 자율 주행 차량의 궤적의 계획
KR20220042038A (ko) 교정 정보를 사용한 av 경로 계획
GB2616739A (en) Traffic light estimation
GB2616372A (en) Classifying perceived objects based on activity
KR20220110068A (ko) 기동 생성을 사용한 차량 작동

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant