KR20230093158A - 에이전트 우선순위화를 위한 방법 및 시스템 - Google Patents

에이전트 우선순위화를 위한 방법 및 시스템 Download PDF

Info

Publication number
KR20230093158A
KR20230093158A KR1020220014939A KR20220014939A KR20230093158A KR 20230093158 A KR20230093158 A KR 20230093158A KR 1020220014939 A KR1020220014939 A KR 1020220014939A KR 20220014939 A KR20220014939 A KR 20220014939A KR 20230093158 A KR20230093158 A KR 20230093158A
Authority
KR
South Korea
Prior art keywords
agent
agents
autonomous vehicle
primary
interaction
Prior art date
Application number
KR1020220014939A
Other languages
English (en)
Inventor
벤스 세르나
유라이 캅잔
케빈 씨. 갈
토마스 쾰백 예스페르센
지안마르코 알레산드로 베르나스코니
헹강 쿠이
Original Assignee
모셔널 에이디 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 모셔널 에이디 엘엘씨 filed Critical 모셔널 에이디 엘엘씨
Publication of KR20230093158A publication Critical patent/KR20230093158A/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
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0015Planning or execution of driving tasks specially adapted for safety
    • B60W60/0016Planning or execution of driving tasks specially adapted for safety of the vehicle or its occupants
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/095Predicting travel path or likelihood of collision
    • 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/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • 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
    • 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
    • B60W30/0956Predicting travel path or likelihood of collision the prediction being responsive to traffic or environmental parameters
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • B60W40/04Traffic conditions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • 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/0097Predicting future conditions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • 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/0098Details of control systems ensuring comfort, safety or stability not otherwise provided for
    • 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
    • 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
    • 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/0027Planning or execution of driving tasks using trajectory prediction for other traffic participants
    • B60W60/00276Planning or execution of driving tasks using trajectory prediction for other traffic participants for two or more other traffic participants
    • 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/0011Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0005Processor details or data handling, e.g. memory registers or chip 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
    • 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/0043Signal treatments, identification of variables or parameters, parameter estimation or state estimation
    • B60W2050/0052Filtering, filters
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0062Adapting control system settings
    • B60W2050/0075Automatic parameter input, automatic initialising or calibrating means
    • B60W2050/009Priority selection
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2554/00Input parameters relating to objects
    • B60W2554/20Static objects
    • 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
    • B60W2554/00Input parameters relating to objects
    • B60W2554/40Dynamic objects, e.g. animals, windblown objects
    • 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
    • B60W2554/00Input parameters relating to objects
    • B60W2554/40Dynamic objects, e.g. animals, windblown objects
    • B60W2554/402Type
    • 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
    • B60W2554/00Input parameters relating to objects
    • B60W2554/40Dynamic objects, e.g. animals, windblown objects
    • B60W2554/404Characteristics
    • 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
    • B60W2554/00Input parameters relating to objects
    • B60W2554/40Dynamic objects, e.g. animals, windblown objects
    • B60W2554/404Characteristics
    • B60W2554/4041Position
    • 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
    • B60W2554/00Input parameters relating to objects
    • B60W2554/40Dynamic objects, e.g. animals, windblown objects
    • B60W2554/404Characteristics
    • B60W2554/4042Longitudinal 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
    • B60W2554/00Input parameters relating to objects
    • B60W2554/40Dynamic objects, e.g. animals, windblown objects
    • B60W2554/404Characteristics
    • B60W2554/4045Intention, e.g. lane change or imminent movement

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Game Theory and Decision Science (AREA)
  • Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Traffic Control Systems (AREA)
  • Developing Agents For Electrophotography (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

에이전트 우선순위화를 위한 방법이 제공되며, 방법은 일차 에이전트 세트를 결정하고, 일차 에이전트 세트에 기초하여 자율 주행 차량에 대한 궤적을 생성하는 것을 포함할 수 있다. 여기에 기재된 일부 방법은 또한, 환경에서의 에이전트의 상호작용 파라미터를 결정하는 것을 포함한다. 시스템 및 컴퓨터 프로그램 제품이 또한 제공된다.

Description

에이전트 우선순위화를 위한 방법 및 시스템 {METHODS AND SYSTEMS FOR AGENT PRIORITIZATION}
본 개시는 일반적으로 자율 주행 차량(autonomous vehicle)을 작동시키기 위한 방법 및 시스템에 관한 것이다.
자율 주행 차량은 자율 주행 차량에 대한 궤적(trajectory)을 결정하기 위해 다수의 방법 및 시스템을 사용할 수 있다. 그러나, 이들 방법 및 시스템은 높은 계산 능력을 요구할 수 있으며, 이는 비효율적인 계산으로 이어질 수 있다. 또한, 방법 및 시스템은 자율 주행 차량의 반응 시간을 늦출 수 있으며, 이는 실제 문제를 초래할 수 있다.
에이전트 우선순위화를 위한 방법이 제공되며, 방법은 일차 에이전트 세트를 결정하고, 일차 에이전트 세트에 기초하여 자율 주행 차량에 대한 궤적을 생성하는 것을 포함할 수 있다. 여기에 기재된 일부 방법은 또한, 환경에서의 에이전트의 상호작용 파라미터를 결정하는 것을 포함한다. 시스템 및 컴퓨터 프로그램 제품이 또한 제공된다.
도 1은 자율 주행 시스템(autonomous system)의 하나 이상의 컴포넌트를 포함하는 차량이 구현될 수 있는 예시적인 환경이다.
도 2는 자율 주행 시스템을 포함하는 차량의 하나 이상의 시스템의 다이어그램이다.
도 3은 도 1 및 도 2의 하나 이상의 디바이스 및/또는 하나 이상의 시스템의 컴포넌트들의 다이어그램이다.
도 4는 자율 주행 시스템의 특정 컴포넌트들의 다이어그램이다.
도 5a 내지 도 5c는 에이전트 우선순위화를 위한 예시적인 프로세스의 구현의 다이어그램들이다.
도 6은 에이전트 우선순위화를 위한 프로세스의 예시적인 구현을 위한 트레이닝 절차의 다이어그램이다.
도 7a 및 도 7b는 에이전트 우선순위화를 위한 프로세스의 예시적인 구현의 다이어그램들이다.
도 8은 에이전트 우선순위화를 위한 예시적인 프로세스의 플로우차트를 예시한다.
도 9는 에이전트 우선순위화를 위한 프로세스를 포함하는 계산 효율 데이터의 다이어그램이다.
이하의 설명에서는, 설명 목적으로 본 개시에 대한 완전한 이해를 제공하기 위해 다수의 특정 세부 사항들이 기재된다. 그렇지만, 본 개시에 의해 기술되는 실시예들이 이러한 특정 세부 사항들이 없더라도 실시될 수 있음이 명백할 것이다. 일부 경우에, 본 개시의 양태들을 불필요하게 모호하게 하는 것을 피하기 위해 잘 알려진 구조들 및 디바이스들은 블록 다이어그램 형태로 예시되어 있다.
시스템들, 디바이스들, 모듈들, 명령어 블록들, 데이터 요소들 등을 나타내는 것들과 같은, 개략적인 요소들의 특정 배열들 또는 순서들이 설명의 편의를 위해 도면들에 예시되어 있다. 그렇지만, 본 기술 분야의 통상의 기술자라면 도면들에서의 개략적인 요소들의 특정 순서 또는 배열이, 그러한 것으로 명시적으로 기술되지 않는 한, 프로세스들의 특정 프로세싱 순서 또는 시퀀스, 또는 프로세스들의 분리가 필요하다는 것을 암시하는 것으로 의미되지 않음을 이해할 것이다. 게다가, 도면에 개략적인 요소를 포함시키는 것은, 그러한 것으로 명시적으로 기술되지 않는 한 일부 실시예들에서, 그러한 요소가 모든 실시예들에서 필요하다는 것 또는 그러한 요소에 의해 표현되는 특징들이 다른 요소들에 포함되지 않을 수 있거나 다른 요소들과 결합되지 않을 수 있다는 것을 암시하는 것으로 의미되지 않는다.
게다가, 2 개 이상의 다른 개략적인 요소 사이의 연결, 관계 또는 연관을 예시하기 위해 실선 또는 파선 또는 화살표와 같은 연결 요소들이 도면들에서 사용되는 경우에, 임의의 그러한 연결 요소들의 부재는 연결, 관계 또는 연관이 존재할 수 없음을 암시하는 것으로 의미되지 않는다. 환언하면, 본 개시를 모호하게 하지 않기 위해 요소들 사이의 일부 연결들, 관계들 또는 연관들이 도면들에 예시되어 있지 않다. 추가적으로, 예시의 편의를 위해, 요소들 사이의 다수의 연결들, 관계들 또는 연관들을 나타내기 위해 단일의 연결 요소가 사용될 수 있다. 예를 들어, 연결 요소가 신호들, 데이터 또는 명령어들(예를 들면, "소프트웨어 명령어들")의 통신을 나타내는 경우에, 본 기술 분야의 통상의 기술자라면 그러한 요소가, 통신을 수행하기 위해 필요하게 될 수 있는, 하나 또는 다수의 신호 경로(예를 들면, 버스)를 나타낼 수 있다는 것을 이해할 것이다.
제1, 제2, 제3 등의 용어들이 다양한 컴포넌트들을 기술하는 데 사용되지만, 이러한 요소들이 이러한 용어들에 의해 제한되어서는 안된다. 제1, 제2, 제3 등의 용어들은 하나의 요소를 다른 요소와 구별하는 데만 사용된다. 예를 들어, 기술된 실시예들의 범위를 벗어나지 않으면서, 제1 접촉은 제2 접촉이라고 지칭될 수 있고, 유사하게 제2 접촉은 제1 접촉이라고 지칭될 수 있다. 제1 접촉과 제2 접촉 둘 모두가 접촉이지만, 동일한 접촉은 아니다.
본원에서의 다양한 기술된 실시예들에 대한 설명에서 사용되는 전문용어는 특정 실시예들을 기술하기 위해서만 포함되어 있으며, 제한하는 것으로 의도되지 않는다. 다양한 기술된 실시예들에 대한 설명 및 첨부된 청구항들에서 사용되는 바와 같이, 단수 형태들("a", "an" 및 "the")은 복수 형태들도 포함하는 것으로 의도되고, 문맥이 달리 명확히 나타내지 않는 한, "하나 이상" 또는 "적어도 하나"와 상호 교환 가능하게 사용될 수 있다. "및/또는"이라는 용어가, 본원에서 사용되는 바와 같이, 연관된 열거된 항목들 중 하나 이상의 항목의 일부 및 모든 가능한 조합을 지칭하고 포함한다는 것이 또한 이해될 것이다. "포함한다(includes)", 포함하는(including), 포함한다(comprises)" 및/또는 "포함하는(comprising)"이라는 용어들이, 본 설명에서 사용될 때, 언급된 특징들, 정수들, 단계들, 동작들, 요소들, 및/또는 컴포넌트들의 존재를 명시하지만, 하나 이상의 다른 특징, 정수, 단계, 동작, 요소, 컴포넌트, 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는다는 것이 추가로 이해될 것이다.
본원에서 사용되는 바와 같이, "통신" 및 "통신하다"라는 용어들은 정보(또는, 예를 들어, 데이터, 신호들, 메시지들, 명령어들, 커맨드들 등에 의해 표현되는 정보)의 수신, 접수, 송신, 전달, 제공 등 중 적어도 하나를 지칭한다. 하나의 유닛(예를 들면, 디바이스, 시스템, 디바이스 또는 시스템의 컴포넌트, 이들의 조합들 등)이 다른 유닛과 통신한다는 것은 하나의 유닛이 직접 또는 간접적으로 다른 유닛으로부터 정보를 수신하고/하거나 다른 유닛으로 정보를 전송(예를 들면, 송신)할 수 있음을 의미한다. 이것은 본질적으로 유선 및/또는 무선인 직접 또는 간접 연결을 지칭할 수 있다. 추가적으로, 송신되는 정보가 제1 유닛과 제2 유닛 사이에서 수정, 프로세싱, 중계 및/또는 라우팅될 수 있을지라도 2 개의 유닛은 서로 통신하고 있을 수 있다. 예를 들어, 제1 유닛이 정보를 수동적으로 수신하고 정보를 제2 유닛으로 능동적으로 송신하지 않을지라도 제1 유닛은 제2 유닛과 통신하고 있을 수 있다. 다른 예로서, 적어도 하나의 중간 유닛(예를 들면, 제1 유닛과 제2 유닛 사이에 위치하는 제3 유닛)이 제1 유닛으로부터 수신되는 정보를 프로세싱하고 프로세싱된 정보를 제2 유닛으로 송신하는 경우 제1 유닛은 제2 유닛과 통신하고 있을 수 있다. 일부 실시예들에서, 메시지는 데이터를 포함하는 네트워크 패킷(예를 들면, 데이터 패킷 등)을 지칭할 수 있다.
본원에서 사용되는 바와 같이, "~ 경우"라는 용어는, 선택적으로, 문맥에 따라 "~할 때", 또는 "~시에" 또는 "~라고 결정하는 것에 응답하여", "~을 검출하는 것에 응답하여" 등을 의미하는 것으로 해석된다. 유사하게, 문구 "~라고 결정되는 경우" 또는 "[언급된 조건 또는 이벤트]가 검출되는 경우"는, 선택적으로, 문맥에 따라, "~라고 결정할 시에", "~라고 결정하는 것에 응답하여", "[언급된 조건 또는 이벤트]를 검출할 시에", "[언급된 조건 또는 이벤트]를 검출하는 것에 응답하여" 등을 의미하는 것으로 해석된다. 또한, 본원에서 사용되는 바와 같이, "갖는다"(has, have), "갖는(having)" 등의 용어들은 개방형(open-ended) 용어들인 것으로 의도된다. 게다가, 문구 "~에 기초하여"는, 달리 명시적으로 언급되지 않는 한, "~에 적어도 부분적으로 기초하여"를 의미하는 것으로 의도된다.
"적어도 하나" 및 "하나 이상"은 하나의 요소에 의해 수행되는 기능, 둘 이상의 요소에 의해, 예를 들면, 분산 방식으로, 수행되는 기능, 하나의 요소에 의해 수행되는 여러 기능들, 여러 요소들에 의해 수행되는 여러 기능들, 또는 이들의 임의의 조합을 포함한다.
본 개시의 일부 실시예들은 본원에서 임계치와 관련하여 기술된다. 본원에 기술된 바와 같이, 임계치를 충족시키거나 만족시키는 것은 값이 임계치보다 큰 것, 임계치보다 많은 것, 임계치보다 높은 것, 임계치보다 크거나 같은 것, 임계치보다 작은 것, 임계치보다 적은 것, 임계치보다 낮은 것, 임계치보다 작거나 같은 것, 임계치와 동일한 것 등을 지칭할 수 있다.
그 예가 첨부 도면에 예시된 실시예가 이제 상세하게 언급될 것이다. 이하의 상세한 설명에서, 다양한 기술된 실시예에 대한 완전한 이해를 제공하기 위해 많은 특정 세부 사항이 기재된다. 그렇지만, 다양한 기술된 실시예들이 이러한 특정 세부 사항들이 없더라도 실시될 수 있다는 것이 본 기술 분야의 통상의 기술자에게 명백할 것이다. 다른 경우에, 실시예의 양태를 불필요하게 모호하게 하지 않기 위해 공지된 방법, 절차, 컴포넌트, 회로, 및 네트워크는 상세히 기술되지 않았다.
일반적 개관
일부 양태들 및/또는 실시예들에서, 본원에 기술된 시스템들, 방법들, 및 컴퓨터 프로그램 제품들은 자율 주행 자량을 작동시키기 위한 방법을 포함하고/하거나 구현한다. 구체적으로, 자율 주행 차량이 위치되어 있는 환경에 위치된 복수의 에이전트들과의 자율 주행 차량의 상호작용을 예측하는 하나 이상의 상호작용 파라미터를 사용함으로써 에이전트 우선순위화(prioritization)를 위한 시스템, 방법 및 컴퓨터 프로그램 제품이 본원에 기술된다. 유리하게는, 본원에 기술된 시스템, 방법 및 컴퓨터 프로그램 제품은 우선순위화 및/또는 필터링을 적용할 수 있다.
본원에 기술된 시스템, 방법 및 컴퓨터 프로그램 제품의 구현에 의해, 에이전트 우선순위화를 위한 기술은, 자율 주행 차량에 대한 궤적을 제공하기 위한 것과 같은 계산 효율을 개선할 수 있다. 예를 들어, 본원에 기술된 시스템, 방법 및 컴퓨터 프로그램 제품은 계산 시간 감소 및/또는 수정된 계산 충실도(fidelity)로 이어질 수 있다. 이는 자율 주행 차량의 실시간 작동에 유리할 수 있다.
이제 도 1을 참조하면, 자율 주행 시스템들을 포함하는 차량들은 물론 그렇지 않은 차량들이 작동되는 예시적인 환경(100)이 예시되어 있다. 예시된 바와 같이, 환경(100)은 차량들(102a 내지 102n), 대상체들(104a 내지 104n), 루트들(106a 내지 106n), 영역(108), 차량 대 인프라스트럭처(vehicle-to-infrastructure, V2I) 디바이스(110), 네트워크(112), 원격 자율 주행 차량(AV) 시스템(114), 플릿 관리 시스템(fleet management system)(116), 및 V2I 시스템(118)을 포함한다. 차량들(102a 내지 102n), 차량 대 인프라스트럭처(V2I) 디바이스(110), 네트워크(112), 자율 주행 차량(AV) 시스템(114), 플릿 관리 시스템(116), 및 V2I 시스템(118)은 유선 연결들, 무선 연결들, 또는 유선 또는 무선 연결들의 조합을 통해 상호연결한다(예를 들면, 통신 등을 위해 연결을 확립한다). 일부 실시예들에서, 대상체들(104a 내지 104n)은 유선 연결들, 무선 연결들 또는 유선 또는 무선 연결들의 조합을 통해 차량들(102a 내지 102n), 차량 대 인프라스트럭처(V2I) 디바이스(110), 네트워크(112), 자율 주행 차량(AV) 시스템(114), 플릿 관리 시스템(116), 및 V2I 시스템(118) 중 적어도 하나와 상호연결한다.
차량들(102a 내지 102n)(개별적으로 차량(102)이라고 지칭되고 집합적으로 차량들(102)이라고 지칭됨)은 상품 및/또는 사람을 운송하도록 구성된 적어도 하나의 디바이스를 포함한다. 일부 실시예들에서, 차량들(102)은 네트워크(112)를 통해 V2I 디바이스(110), 원격 AV 시스템(114), 플릿 관리 시스템(116), 및/또는 V2I 시스템(118)과 통신하도록 구성된다. 일부 실시예들에서, 차량들(102)은 자동차들, 버스들, 트럭들, 기차들 등을 포함한다. 일부 실시예들에서, 차량들(102)은 본원에 기술된 차량들(200)(도 2 참조)과 동일하거나 유사하다. 일부 실시예들에서, 일단의 차량들(200) 중의 차량(200)은 자율 주행 플릿 관리자와 연관된다. 일부 실시예들에서, 차량들(102)은, 본원에 기술된 바와 같이, 각자의 루트들(106a 내지 106n)(개별적으로 루트(106)라고 지칭되고 집합적으로 루트들(106)이라고 지칭됨)을 따라 주행한다. 일부 실시예들에서, 하나 이상의 차량(102)은 자율 주행 시스템(예를 들면, 자율 주행 시스템(202)과 동일하거나 유사한 자율 주행 시스템)을 포함한다.
대상체들(104a 내지 104n)(개별적으로 대상체(104)라고 지칭되고 집합적으로 대상체들(104)이라고 지칭됨)은, 예를 들어, 적어도 하나의 차량, 적어도 하나의 보행자, 적어도 하나의 자전거 타는 사람, 적어도 하나의 구조물(예를 들면, 건물, 표지판, 소화전(fire hydrant) 등) 등을 포함한다. 각각의 대상체(104)는 정지해 있거나(예를 들면, 일정 시간 기간 동안 고정 위치(location)에 위치하거나) 이동하고 있다(예를 들면, 속도를 가지며 적어도 하나의 궤적과 연관되어 있다). 일부 실시예들에서, 대상체들(104)은 영역(108) 내의 대응하는 위치들과 연관되어 있다.
루트들(106a 내지 106n)(개별적으로 루트(106)라고 지칭되고 집합적으로 루트들(106)이라고 지칭됨)은 각각 AV가 운행할 수 있는 상태들을 연결하는 행동들의 시퀀스(궤적이라고도 함)와 연관된다(예를 들면, 이를 규정한다). 각각의 루트(106)는 초기 상태(예를 들면, 제1 시공간적 위치, 속도 등에 대응하는 상태)에서 시작되고 최종 목표 상태(예를 들면, 제1 시공간적 위치와 상이한 제2 시공간적 위치에 대응하는 상태) 또는 목표 영역(예를 들면, 허용 가능한 상태들(예를 들면, 종료 상태들(terminal states))의 부분 공간(subspace))에서 종료된다. 일부 실시예들에서, 제1 상태는 개인 또는 개인들이 AV에 의해 픽업(pick-up)되어야 하는 위치를 포함하고 제2 상태 또는 영역은 AV에 의해 픽업된 개인 또는 개인들이 하차(drop-off)해야 하는 위치 또는 위치들을 포함한다. 일부 실시예들에서, 루트들(106)은 복수의 허용 가능한 상태 시퀀스들(예를 들면, 복수의 시공간적 위치 시퀀스들)을 포함하며, 복수의 상태 시퀀스들은 복수의 궤적들과 연관된다(예를 들면, 이를 정의한다). 일 예에서, 루트들(106)은, 도로 교차로들에서의 회전 방향들을 지시하는 일련의 연결된 도로들과 같은, 상위 레벨 행동들 또는 부정확한 상태 위치들만을 포함한다. 추가적으로 또는 대안적으로, 루트들(106)은, 예를 들어, 특정 목표 차선들 또는 차선 영역들 내에서의 정확한 위치들 및 해당 포지션(position)들에서의 목표 속력과 같은, 보다 정확한 행동들 또는 상태들을 포함할 수 있다. 일 예에서, 루트들(106)은 중간 목표들에 도달하기 위해 제한된 룩어헤드 호라이즌(lookahead horizon)을 갖는 적어도 하나의 상위 레벨 행동 시퀀스를 따른 복수의 정확한 상태 시퀀스들을 포함하며, 여기서 제한된 호라이즌 상태 시퀀스들의 연속적인 반복들의 조합은 누적되어 복수의 궤적들에 대응하며 이 복수의 궤적들은 집합적으로 최종 목표 상태 또는 영역에서 종료하는 상위 레벨 루트를 형성한다.
영역(108)은 차량들(102)이 운행할 수 있는 물리적 영역(예를 들면, 지리적 영역)을 포함한다. 일 예에서, 영역(108)은 적어도 하나의 주(state)(예를 들면, 국가, 지방, 국가에 포함된 복수의 주들의 개개의 주 등), 주의 적어도 하나의 부분, 적어도 하나의 도시, 도시의 적어도 하나의 부분 등을 포함한다. 일부 실시예들에서, 영역(108)은 간선 도로, 주간 간선 도로, 공원 도로, 도시 거리 등과 같은 적어도 하나의 명명된 주요 도로(thoroughfare)(본원에서 "도로"라고 지칭됨)를 포함한다. 추가적으로 또는 대안적으로, 일부 예들에서, 영역(108)은 진입로, 주차장의 섹션, 공터 및/또는 미개발 부지의 섹션, 비포장 경로 등과 같은 적어도 하나의 명명되지 않은 도로를 포함한다. 일부 실시예들에서, 도로는 적어도 하나의 차선(예를 들면, 차량(102)에 의해 횡단될 수 있는 도로의 일 부분)을 포함한다. 일 예에서, 도로는 적어도 하나의 차선 마킹과 연관된(예를 들면, 이에 기초하여 식별되는) 적어도 하나의 차선을 포함한다.
차량 대 인프라스트럭처(V2I) 디바이스(110)(때때로 차량 대 인프라스트럭처 또는 차량 대 사물(V2X) 디바이스라고 지칭됨)는 차량들(102) 및/또는 V2I 인프라스트럭처 시스템(118)과 통신하도록 구성된 적어도 하나의 디바이스를 포함한다. 일부 실시예들에서, V2I 디바이스(110)는 네트워크(112)를 통해 차량들(102), 원격 AV 시스템(114), 플릿 관리 시스템(116), 및/또는 V2I 시스템(118)과 통신하도록 구성된다. 일부 실시예들에서, V2I 디바이스(110)는 RFID(radio frequency identification) 디바이스, 사이니지(signage), 카메라(예를 들면, 2차원(2D) 및/또는 3차원(3D) 카메라), 차선 마커, 가로등, 주차 미터기 등을 포함한다. 일부 실시예들에서, V2I 디바이스(110)는 차량들(102)과 직접 통신하도록 구성된다. 추가적으로 또는 대안적으로, 일부 실시예들에서, V2I 디바이스(110)는 V2I 시스템(118)을 통해 차량들(102), 원격 AV 시스템(114), 및/또는 플릿 관리 시스템(116)과 통신하도록 구성된다. 일부 실시예들에서, V2I 디바이스(110)는 네트워크(112)를 통해 V2I 시스템(118)과 통신하도록 구성된다.
네트워크(112)는 하나 이상의 유선 및/또는 무선 네트워크를 포함한다. 일 예에서, 네트워크(112)는 셀룰러 네트워크(예를 들면, LTE(long term evolution) 네트워크, 3G(third generation) 네트워크, 4G(fourth generation) 네트워크, 5G(fifth generation) 네트워크, CDMA( code division multiple access) 네트워크 등), PLMN(public land mobile network), LAN(local area network), WAN(wide area network), MAN(metropolitan area network), 전화 네트워크(예를 들면, PSTN(public switched telephone network)), 사설 네트워크, 애드혹 네트워크, 인트라넷, 인터넷, 광섬유 기반 네트워크, 클라우드 컴퓨팅 네트워크 등, 이러한 네트워크들의 일부 또는 전부의 조합 등을 포함한다.
원격 AV 시스템(114)은 네트워크(112)를 통해 차량들(102), V2I 디바이스(110), 네트워크(112), 플릿 관리 시스템(116), 및/또는 V2I 시스템(118)과 통신하도록 구성된 적어도 하나의 디바이스를 포함한다. 일 예에서, 원격 AV 시스템(114)은 서버, 서버들의 그룹, 및/또는 다른 유사한 디바이스들을 포함한다. 일부 실시예들에서, 원격 AV 시스템(114)은 플릿 관리 시스템(116)과 동일 위치에 배치된다(co-located). 일부 실시예들에서, 원격 AV 시스템(114)은 자율 주행 시스템, 자율 주행 차량 컴퓨터, 자율 주행 차량 컴퓨터에 의해 구현되는 소프트웨어 등을 포함한, 차량의 컴포넌트들 중 일부 또는 전부의 설치에 관여된다. 일부 실시예들에서, 원격 AV 시스템(114)은 차량의 수명 동안 그러한 컴포넌트들 및/또는 소프트웨어를 유지 관리(예를 들면, 업데이트 및/또는 교체)한다.
플릿 관리 시스템(116)은 차량들(102), V2I 디바이스(110), 원격 AV 시스템(114), 및/또는 V2I 인프라스트럭처 시스템(118)과 통신하도록 구성된 적어도 하나의 디바이스를 포함한다. 일 예에서, 플릿 관리 시스템(116)은 서버, 서버들의 그룹, 및/또는 다른 유사한 디바이스들을 포함한다. 일부 실시예들에서, 플릿 관리 시스템(116)은 라이드 셰어링(ridesharing) 회사(예를 들면, 다수의 차량들(예를 들면, 자율 주행 시스템들을 포함하는 차량들 및/또는 자율 주행 시스템들을 포함하지 않는 차량들)의 작동을 제어하는 조직 등)와 연관된다.
일부 실시예들에서, V2I 시스템(118)은 네트워크(112)를 통해 차량들(102), V2I 디바이스(110), 원격 AV 시스템(114), 및/또는 플릿 관리 시스템(116)과 통신하도록 구성된 적어도 하나의 디바이스를 포함한다. 일부 예들에서, V2I 시스템(118)은 네트워크(112)와 상이한 연결을 통해 V2I 디바이스(110)와 통신하도록 구성된다. 일부 실시예들에서, V2I 시스템(118)은 서버, 서버들의 그룹, 및/또는 다른 유사한 디바이스들을 포함한다. 일부 실시예들에서, V2I 시스템(118)은 지자체 또는 사설 기관(예를 들면, V2I 디바이스(110) 등을 유지 관리하는 사설 기관)과 연관된다.
도 1에 예시된 요소들의 수 및 배열은 예로서 제공된다. 도 1에 예시된 것보다, 추가적인 요소들, 더 적은 요소들, 상이한 요소들 및/또는 상이하게 배열된 요소들이 있을 수 있다. 추가적으로 또는 대안적으로, 환경(100)의 적어도 하나의 요소는 도 1의 적어도 하나의 상이한 요소에 의해 수행되는 것으로 기술된 하나 이상의 기능을 수행할 수 있다. 추가적으로 또는 대안적으로, 환경(100)의 적어도 하나의 요소 세트는 환경(100)의 적어도 하나의 상이한 요소 세트에 의해 수행되는 것으로 기술된 하나 이상의 기능을 수행할 수 있다.
이제 도 2를 참조하면, 차량(200)은 자율 주행 시스템(202), 파워트레인 제어 시스템(204), 조향 제어 시스템(206), 및 브레이크 시스템(208)을 포함한다. 일부 실시예들에서, 차량(200)은 차량(102)(도 1 참조)과 동일하거나 유사하다. 일부 실시예들에서, 차량(200)은 자율 주행 능력을 갖는다(예를 들면, 완전 자율 주행 차량들(예를 들면, 인간 개입에 의존하지 않는 차량들), 고도 자율 주행 차량들(예를 들면, 특정 상황들에서 인간 개입에 의존하지 않는 차량들) 등을, 제한 없이, 포함한, 차량(200)이 인간 개입 없이 부분적으로 또는 완전히 작동될 수 있게 하는 적어도 하나의 기능, 특징, 디바이스 등을 구현한다). 완전 자율 주행 차량들 및 고도 자율 주행 차량들에 대한 상세한 설명에 대해서는, 그 전체가 참고로 포함되는, SAE International's standard J3016: Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems를 참조할 수 있다. 일부 실시예들에서, 차량(200)은 자율 주행 플릿 관리자 및/또는 라이드 셰어링 회사와 연관된다.
자율 주행 시스템(202)은 카메라들(202a), LiDAR 센서들(202b), 레이더 센서들(202c), 및 마이크로폰들(202d)과 같은 하나 이상의 디바이스들을 포함하는 센서 스위트(sensor suite)를 포함한다. 일부 실시예들에서, 자율 주행 시스템(202)은 보다 많거나 보다 적은 디바이스들 및/또는 상이한 디바이스들(예를 들면, 초음파 센서들, 관성 센서들, GPS 수신기들(아래에서 논의됨), 차량(200)이 주행한 거리의 표시와 연관된 데이터를 생성하는 주행 거리 측정 센서들 등)을 포함할 수 있다. 일부 실시예들에서, 자율 주행 시스템(202)은 자율 주행 시스템(202)에 포함된 하나 이상의 디바이스를 사용하여 본원에서 기술되는 환경(100)과 연관된 데이터를 생성한다. 자율 주행 시스템(202)의 하나 이상의 디바이스에 의해 생성되는 데이터는 차량(200)이 위치하는 환경(예를 들면, 환경(100))을 관측하기 위해 본원에 기술된 하나 이상의 시스템에 의해 사용될 수 있다. 일부 실시예들에서, 자율 주행 시스템(202)은 통신 디바이스(202e), 자율 주행 차량 컴퓨터(202f), 및 안전 제어기(202g)를 포함한다.
카메라들(202a)은 버스(예를 들면, 도 3의 버스(302)와 동일하거나 유사한 버스)를 통해 통신 디바이스(202e), 자율 주행 차량 컴퓨터(202f) 및/또는 안전 제어기(202g)와 통신하도록 구성된 적어도 하나의 디바이스를 포함한다. 카메라들(202a)은 물리적 대상체들(예를 들면, 자동차들, 버스들, 연석들, 사람들 등)을 포함하는 이미지들을 캡처하기 위한 적어도 하나의 카메라(예를 들면, CCD(charge-coupled device)와 같은 광 센서를 사용하는 디지털 카메라, 열 카메라, 적외선(IR) 카메라, 이벤트 카메라 등)를 포함한다. 일부 실시예들에서, 카메라(202a)는 카메라 데이터를 출력으로서 생성한다. 일부 예들에서, 카메라(202a)는 이미지와 연관된 이미지 데이터를 포함하는 카메라 데이터를 생성한다. 이 예에서, 이미지 데이터는 이미지에 대응하는 적어도 하나의 파라미터(예를 들면, 노출, 밝기 등과 같은 이미지 특성들, 이미지 타임스탬프 등)를 명시할 수 있다. 그러한 예에서, 이미지는 한 형식(예를 들면, RAW, JPEG, PNG 등)으로 되어 있을 수 있다. 일부 실시예들에서, 카메라(202a)는 입체시(stereopsis)(스테레오 비전(stereo vision))를 위해 이미지들을 캡처하도록 차량 상에 구성된(예를 들면, 차량 상에 자리된) 복수의 독립적인 카메라들을 포함한다. 일부 예들에서, 카메라(202a)는 복수의 카메라들을 포함하고, 이 복수의 카메라들은 이미지 데이터를 생성하고 이미지 데이터를 자율 주행 차량 컴퓨터(202f) 및/또는 플릿 관리 시스템(예를 들면, 도 1의 플릿 관리 시스템(116)과 동일하거나 유사한 플릿 관리 시스템)으로 송신한다. 그러한 예에서, 자율 주행 차량 컴퓨터(202f)는 적어도 2 개의 카메라로부터의 이미지 데이터에 기초하여 복수의 카메라들 중 적어도 2 개의 카메라의 시야 내의 하나 이상의 대상체까지의 깊이를 결정한다. 일부 실시예들에서, 카메라들(202a)은 카메라들(202a)로부터 일정 거리(예를 들면, 최대 100 미터, 최대 1 킬로미터 등) 내의 대상체들의 이미지들을 캡처하도록 구성된다. 그에 따라, 카메라들(202a)은 카메라들(202a)로부터 하나 이상의 거리에 있는 대상체들을 인지하도록 최적화된 센서들 및 렌즈들과 같은 특징부들을 포함한다.
일 실시예에서, 카메라(202a)는 시각적 내비게이션 정보를 제공하는 하나 이상의 교통 신호등, 거리 표지판 및/또는 다른 물리적 대상체와 연관된 하나 이상의 이미지를 캡처하도록 구성된 적어도 하나의 카메라를 포함한다. 일부 실시예들에서, 카메라(202a)는 하나 이상의 이미지와 연관된 교통 신호등 데이터를 생성한다. 일부 예들에서, 카메라(202a)는 한 형식(예를 들면, RAW, JPEG, PNG 등)을 포함하는 하나 이상의 이미지와 연관된 TLD 데이터를 생성한다. 일부 실시예들에서, TLD 데이터를 생성하는 카메라(202a)는, 카메라(202a)가 가능한 한 많은 물리적 대상체들에 관한 이미지들을 생성하기 위해 넓은 시야를 갖는 하나 이상의 카메라(예를 들면, 광각 렌즈, 어안 렌즈, 대략 120도 이상의 시야각을 갖는 렌즈 등)를 포함할 수 있다는 점에서, 카메라들을 포함하는 본원에 기술된 다른 시스템들과 상이하다.
LiDAR(Laser Detection and Ranging) 센서들(202b)은 버스(예를 들면, 도 3의 버스(302)와 동일하거나 유사한 버스)를 통해 통신 디바이스(202e), 자율 주행 차량 컴퓨터(202f), 및/또는 안전 제어기(202g)와 통신하도록 구성된 적어도 하나의 디바이스를 포함한다. LiDAR 센서들(202b)은 광 방출기(예를 들면, 레이저 송신기)로부터 광을 송신하도록 구성된 시스템을 포함한다. LiDAR 센서들(202b)에 의해 방출되는 광은 가시 스펙트럼 밖에 있는 광(예를 들면, 적외선 광 등)을 포함한다. 일부 실시예들에서, 작동 동안, LiDAR 센서들(202b)에 의해 방출되는 광은 물리적 대상체(예를 들면, 차량)와 조우하고 LiDAR 센서들(202b)로 다시 반사된다. 일부 실시예들에서, LiDAR 센서들(202b)에 의해 방출되는 광은 광이 조우하는 물리적 대상체들을 투과하지 않는다. LiDAR 센서들(202b)은 광 방출기로부터 방출된 광이 물리적 대상체와 조우한 후에 그 광을 검출하는 적어도 하나의 광 검출기를 또한 포함한다. 일부 실시예들에서, LiDAR 센서들(202b)과 연관된 적어도 하나의 데이터 프로세싱 시스템은 LiDAR 센서들(202b)의 시야에 포함된 대상체들을 나타내는 이미지(예를 들면, 포인트 클라우드, 결합된 포인트 클라우드(combined point cloud) 등)를 생성한다. 일부 예들에서, LiDAR 센서(202b)와 연관된 적어도 하나의 데이터 프로세싱 시스템은 물리적 대상체의 경계들, 물리적 대상체의 표면들(예를 들면, 표면들의 토폴로지) 등을 나타내는 이미지를 생성한다. 그러한 예에서, 이미지는 LiDAR 센서들(202b)의 시야 내의 물리적 대상체들의 경계들을 결정하는 데 사용된다.
레이더(radar; Radio Detection and Ranging) 센서들(202c)은 버스(예를 들면, 도 3의 버스(302)와 동일하거나 유사한 버스)를 통해 통신 디바이스(202e), 자율 주행 차량 컴퓨터(202f), 및/또는 안전 제어기(202g)와 통신하도록 구성된 적어도 하나의 디바이스를 포함한다. 레이더 센서들(202c)은 전파들을 (펄스형으로 또는 연속적으로) 송신하도록 구성된 시스템을 포함한다. 레이더 센서들(202c)에 의해 송신되는 전파들은 미리 결정된 스펙트럼 내에 있는 전파들을 포함한다. 일부 실시예들에서, 작동 동안, 레이더 센서들(202c)에 의해 송신되는 전파들은 물리적 대상체와 조우하고 레이더 센서들(202c)로 다시 반사된다. 일부 실시예들에서, 레이더 센서들(202c)에 의해 전송되는 전파들이 일부 대상체들에 의해 반사되지 않는다. 일부 실시예들에서, 레이더 센서들(202c)과 연관된 적어도 하나의 데이터 프로세싱 시스템은 레이더 센서들(202c)의 시야에 포함된 대상체들을 나타내는 신호들을 생성한다. 예를 들어, 레이더 센서(202c)와 연관된 적어도 하나의 데이터 프로세싱 시스템은 물리적 대상체의 경계들, 물리적 대상체의 표면들(예를 들면, 표면들의 토폴로지) 등을 나타내는 이미지를 생성한다. 일부 예들에서, 이미지는 레이더 센서들(202c)의 시야 내의 물리적 대상체들의 경계들을 결정하는 데 사용된다.
마이크로폰들(202d)은 버스(예를 들면, 도 3의 버스(302)와 동일하거나 유사한 버스)를 통해 통신 디바이스(202e), 자율 주행 차량 컴퓨터(202f) 및/또는 안전 제어기(202g)와 통신하도록 구성된 적어도 하나의 디바이스를 포함한다. 마이크로폰들(202d)은 오디오 신호들을 캡처하고 오디오 신호들과 연관된(예를 들면, 이를 나타내는) 데이터를 생성하는 하나 이상의 마이크로폰(예를 들면, 어레이 마이크로폰, 외부 마이크로폰 등)을 포함한다. 일부 예들에서, 마이크로폰들(202d)은 트랜스듀서 디바이스들 및/또는 유사 디바이스들을 포함한다. 일부 실시예들에서, 본원에 기술된 하나 이상의 시스템은 마이크로폰들(202d)에 의해 생성되는 데이터를 수신하고 데이터와 연관된 오디오 신호들에 기초하여 차량(200)에 상대적인 대상체의 포지션(예를 들면, 거리 등)을 결정할 수 있다.
통신 디바이스(202e)는 카메라들(202a), LiDAR 센서들(202b), 레이더 센서들(202c), 마이크로폰들(202d), 자율 주행 차량 컴퓨터(202f), 안전 제어기(202g), 및/또는 DBW 시스템(202h)과 통신하도록 구성된 적어도 하나의 디바이스를 포함한다. 예를 들어, 통신 디바이스(202e)는 도 3의 통신 인터페이스(314)와 동일하거나 유사한 디바이스를 포함할 수 있다. 일부 실시예들에서, 통신 디바이스(202e)는 차량 대 차량(vehicle-to-vehicle, V2V) 통신 디바이스(예를 들면, 차량들 간의 데이터의 무선 통신을 가능하게 하는 디바이스)를 포함한다.
자율 주행 차량 컴퓨터(202f)는 카메라들(202a), LiDAR 센서들(202b), 레이더 센서들(202c), 마이크로폰들(202d), 통신 디바이스(202e), 안전 제어기(202g), 및/또는 DBW 시스템(202h)과 통신하도록 구성된 적어도 하나의 디바이스를 포함한다. 일부 예들에서, 자율 주행 차량 컴퓨터(202f)는 클라이언트 디바이스, 모바일 디바이스(예를 들면, 셀룰러 전화, 태블릿 등), 서버(예를 들면, 하나 이상의 중앙 프로세싱 유닛, 그래픽 프로세싱 유닛 등을 포함하는 컴퓨팅 디바이스) 등과 같은 디바이스를 포함한다. 일부 실시예들에서, 자율 주행 차량 컴퓨터(202f)는 본원에 기술된 자율 주행 차량 컴퓨터(400)와 동일하거나 유사하다. 추가적으로 또는 대안적으로, 일부 실시예들에서, 자율 주행 차량 컴퓨터(202f)는 자율 주행 차량 시스템(예를 들면, 도 1의 원격 AV 시스템(114)과 동일하거나 유사한 자율 주행 차량 시스템), 플릿 관리 시스템(예를 들면, 도 1의 플릿 관리 시스템(116)과 동일하거나 유사한 플릿 관리 시스템), V2I 디바이스(예를 들면, 도 1의 V2I 디바이스(110)와 동일하거나 유사한 V2I 디바이스), 및/또는 V2I 시스템(예를 들면, 도 1의 V2I 시스템(118)과 동일하거나 유사한 V2I 시스템)과 통신하도록 구성된다.
안전 제어기(202g)는 카메라들(202a), LiDAR 센서들(202b), 레이더 센서들(202c), 마이크로폰들(202d), 통신 디바이스(202e), 자율 주행 차량 컴퓨터(202f), 및/또는 DBW 시스템(202h)과 통신하도록 구성된 적어도 하나의 디바이스를 포함한다. 일부 예들에서, 안전 제어기(202g)는 차량(200)의 하나 이상의 디바이스(예를 들면, 파워트레인 제어 시스템(204), 조향 제어 시스템(206), 브레이크 시스템(208) 등)를 작동시키기 위한 제어 신호들을 생성 및/또는 송신하도록 구성된 하나 이상의 제어기(전기 제어기, 전기기계 제어기 등)를 포함한다. 일부 실시예들에서, 안전 제어기(202g)는 자율 주행 차량 컴퓨터(202f)에 의해 생성 및/또는 송신되는 제어 신호들보다 우선하는(예를 들면, 이를 무시하는) 제어 신호들을 생성하도록 구성된다.
DBW 시스템(202h)은 통신 디바이스(202e) 및/또는 자율 주행 차량 컴퓨터(202f)와 통신하도록 구성된 적어도 하나의 디바이스를 포함한다. 일부 예들에서, DBW 시스템(202h)은 차량(200)의 하나 이상의 디바이스(예를 들면, 파워트레인 제어 시스템(204), 조향 제어 시스템(206), 브레이크 시스템(208) 등)를 작동시키기 위한 제어 신호들을 생성 및/또는 송신하도록 구성된 하나 이상의 제어기(예를 들면, 전기 제어기, 전기기계 제어기 등)를 포함한다. 추가적으로 또는 대안적으로, DBW 시스템(202h)의 하나 이상의 제어기는 차량(200)의 적어도 하나의 상이한 디바이스(예를 들면, 방향 지시등, 헤드라이트, 도어록, 윈도실드 와이퍼 등)를 작동시키기 위한 제어 신호들을 생성 및/또는 송신하도록 구성된다.
파워트레인 제어 시스템(204)은 DBW 시스템(202h)과 통신하도록 구성된 적어도 하나의 디바이스를 포함한다. 일부 예들에서, 파워트레인 제어 시스템(204)은 적어도 하나의 제어기, 액추에이터 등을 포함한다. 일부 실시예들에서, 파워트레인 제어 시스템(204)은 DBW 시스템(202h)으로부터 제어 신호들을 수신하고, 파워트레인 제어 시스템(204)은 차량(200)이 전진하는 것을 시작하게 하고, 전진하는 것을 중지하게 하며, 후진하는 것을 시작하게 하고, 후진하는 것을 중지하게 하며, 한 방향으로 가속하게 하고, 한 방향으로 감속하게 하며, 좌회전을 수행하게 하고, 우회전을 수행하게 하는 등을 한다. 일 예에서, 파워트레인 제어 시스템(204)은 차량의 모터에 제공되는 에너지(예를 들면, 연료, 전기 등)가 증가하게 하거나, 동일하게 유지되게 하거나, 또는 감소하게 하여, 이에 의해 차량(200)의 적어도 하나의 바퀴가 회전하거나 회전하지 않게 한다.
조향 제어 시스템(206)은 차량(200)의 하나 이상의 바퀴를 회전시키도록 구성된 적어도 하나의 디바이스를 포함한다. 일부 예들에서, 조향 제어 시스템(206)은 적어도 하나의 제어기, 액추에이터 등을 포함한다. 일부 실시예들에서, 조향 제어 시스템(206)은 차량(200)이 좌측 또는 우측으로 방향 전환하게 하기 위해 차량(200)의 전방 2 개의 바퀴 및/또는 후방 2 개의 바퀴가 좌측 또는 우측으로 회전하게 한다.
브레이크 시스템(208)은 차량(200)이 속력을 감소시키게 하고/하거나 정지해 있는 채로 유지하게 하기 위해 하나 이상의 브레이크를 작동시키도록 구성된 적어도 하나의 디바이스를 포함한다. 일부 예들에서, 브레이크 시스템(208)은 차량(200)의 대응하는 로터(rotor)에서 차량(200)의 하나 이상의 바퀴들과 연관된 하나 이상의 캘리퍼(caliper)가 닫히게 하도록 구성되는 적어도 하나의 제어기 및/또는 액추에이터를 포함한다. 추가적으로 또는 대안적으로, 일부 예들에서, 브레이크 시스템(208)은 자동 긴급 제동(automatic emergency braking, AEB) 시스템, 회생 제동 시스템 등을 포함한다.
일부 실시예들에서, 차량(200)은 차량(200)의 상태 또는 조건의 속성들을 측정 또는 추론하는 적어도 하나의 플랫폼 센서(명시적으로 예시되지 않음)를 포함한다. 일부 예들에서, 차량(200)은 GPS(global positioning system) 수신기, IMU(inertial measurement unit), 휠 속력 센서, 휠 브레이크 압력 센서, 휠 토크 센서, 엔진 토크 센서, 조향각 센서 등과 같은 플랫폼 센서들을 포함한다.
이제 도 3을 참조하면, 디바이스(300)의 개략 다이어그램이 예시되어 있다. 예시된 바와 같이, 디바이스(300)는 프로세서(304), 메모리(306), 저장 컴포넌트(308), 입력 인터페이스(310), 출력 인터페이스(312), 통신 인터페이스(314), 및 버스(302)를 포함한다. 일부 실시예들에서, 디바이스(300)는 차량들(102)의 적어도 하나의 디바이스(예를 들면, 차량들(102)의 시스템의 적어도 하나의 디바이스), 원격 AV 시스템(114), 플릿 관리 시스템(116), V2I 시스템(118)의 적어도 하나의 디바이스, 및/또는 네트워크(112)의 하나 이상의 디바이스(예를 들면, 네트워크(112)의 시스템의 하나 이상의 디바이스)에 대응한다. 일부 실시예들에서, 차량들(102)의 하나 이상의 디바이스(예를 들면, 차량들(102)의 시스템의 하나 이상의 디바이스), 원격 AV 시스템(114), 플릿 관리 시스템(116), 및 V2I 시스템(118)의 적어도 하나의 디바이스, 및/또는 네트워크(112)의 하나 이상의 디바이스(예를 들면, 네트워크(112)의 시스템의 하나 이상의 디바이스)는 적어도 하나의 디바이스(300) 및/또는 디바이스(300)의 적어도 하나의 컴포넌트를 포함한다. 도 3에 도시된 바와 같이, 디바이스(300)는 버스(302), 프로세서(304), 메모리(306), 저장 컴포넌트(308), 입력 인터페이스(310), 출력 인터페이스(312), 및 통신 인터페이스(314)를 포함한다.
버스(302)는 디바이스(300)의 컴포넌트들 간의 통신을 가능하게 하는 컴포넌트를 포함한다. 일부 실시예들에서, 프로세서(304)는 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합으로 구현된다. 일부 예들에서, 프로세서(304)는 적어도 하나의 기능을 수행하도록 프로그래밍될 수 있는, 프로세서(예를 들면, 중앙 프로세싱 유닛(CPU), 그래픽 프로세싱 유닛(GPU), 가속 프로세싱 유닛(APU) 등), 마이크로폰, 디지털 신호 프로세서(DSP), 및/또는 임의의 프로세싱 컴포넌트(예를 들면, FPGA(field-programmable gate array), ASIC(application specific integrated circuit) 등)를 포함한다. 메모리(306)는 프로세서(304)가 사용할 데이터 및/또는 명령어들을 저장하는, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 및/또는 다른 유형의 동적 및/또는 정적 저장 디바이스(예를 들면, 플래시 메모리, 자기 메모리, 광학 메모리 등)를 포함한다.
저장 컴포넌트(308)는 디바이스(300)의 작동 및 사용에 관련된 데이터 및/또는 소프트웨어를 저장한다. 일부 예들에서, 저장 컴포넌트(308)는 하드 디스크(예를 들면, 자기 디스크, 광학 디스크, 광자기 디스크, 솔리드 스테이트 디스크 등), CD(compact disc), DVD(digital versatile disc), 플로피 디스크, 카트리지, 자기 테이프, CD-ROM, RAM, PROM, EPROM, FLASH-EPROM, NV-RAM 및/또는 다른 유형의 컴퓨터 판독 가능 매체를, 대응하는 드라이브와 함께, 포함한다.
입력 인터페이스(310)는 디바이스(300)가, 예컨대, 사용자 입력(예를 들면, 터치스크린 디스플레이, 키보드, 키패드, 마우스, 버튼, 스위치, 마이크로폰, 카메라 등)을 통해, 정보를 수신할 수 있게 하는 컴포넌트를 포함한다. 추가적으로 또는 대안적으로, 일부 실시예들에서, 입력 인터페이스(310)는 정보를 감지하는 센서(예를 들면, GPS(global positioning system) 수신기, 가속도계, 자이로스코프, 액추에이터 등)를 포함한다. 출력 인터페이스(312)는 디바이스(300)로부터의 출력 정보를 제공하는 컴포넌트(예를 들면, 디스플레이, 스피커, 하나 이상의 발광 다이오드(LED) 등)를 포함한다.
일부 실시예들에서, 통신 인터페이스(314)는 디바이스(300)가 유선 연결, 무선 연결, 또는 유선 연결과 무선 연결의 조합을 통해 다른 디바이스들과 통신할 수 있게 하는 트랜시버 유사 컴포넌트(예를 들면, 트랜시버, 개별 수신기 및 송신기 등)를 포함한다. 일부 예들에서, 통신 인터페이스(314)는 디바이스(300)가 다른 디바이스로부터 정보를 수신하고/하거나 다른 디바이스에 정보를 제공할 수 있게 한다. 일부 예들에서, 통신 인터페이스(314)는 이더넷 인터페이스, 광학 인터페이스, 동축 인터페이스, 적외선 인터페이스, RF(radio frequency) 인터페이스, USB(universal serial bus) 인터페이스, Wi-Fi® 인터페이스, 셀룰러 네트워크 인터페이스 등을 포함한다.
일부 실시예들에서, 디바이스(300)는 본원에 기술된 하나 이상의 프로세스를 수행한다. 디바이스(300)는 프로세서(304)가, 메모리(305) 및/또는 저장 컴포넌트(308)와 같은, 컴퓨터 판독 가능 매체에 의해 저장된 소프트웨어 명령어들을 실행하는 것에 기초하여 이러한 프로세스들을 수행한다. 컴퓨터 판독 가능 매체(예를 들면, 비일시적 컴퓨터 판독 가능 매체)는 본원에서 비일시적 메모리 디바이스로서 정의된다. 비일시적 메모리 디바이스는 단일의 물리 저장 디바이스 내부에 위치한 메모리 공간 또는 다수의 물리 저장 디바이스들에 걸쳐 분산된 메모리 공간을 포함한다.
일부 실시예들에서, 소프트웨어 명령어들은 통신 인터페이스(314)를 통해 다른 컴퓨터 판독 가능 매체로부터 또는 다른 디바이스로부터 메모리(306) 및/또는 저장 컴포넌트(308)로 판독된다. 실행될 때, 메모리(306) 및/또는 저장 컴포넌트(308)에 저장된 소프트웨어 명령어들은 프로세서(304)로 하여금 본원에 기술된 하나 이상의 프로세스를 수행하게 한다. 추가적으로 또는 대안적으로, 고정 배선(hardwired) 회로는 본원에 기술된 하나 이상의 프로세스를 수행하기 위해 소프트웨어 명령어들 대신에 또는 소프트웨어 명령어들과 결합하여 사용된다. 따라서, 본원에 기술된 실시예들은, 달리 명시적으로 언급되지 않는 한, 하드웨어 회로와 소프트웨어의 임의의 특정 조합으로 제한되지 않는다.
메모리(306) 및/또는 저장 컴포넌트(308)는 데이터 스토리지 또는 적어도 하나의 데이터 구조(예를 들면, 데이터베이스 등)를 포함한다. 디바이스(300)는 데이터 스토리지 또는 메모리(306) 또는 저장 컴포넌트(308) 내의 적어도 하나의 데이터 구조로부터 정보를 수신하는 것, 그에 정보를 저장하는 것, 그에게로 정보를 통신하는 것, 또는 그에 저장된 정보를 검색하는 것을 할 수 있다. 일부 예들에서, 정보는 네트워크 데이터, 입력 데이터, 출력 데이터, 또는 이들의 임의의 조합을 포함한다.
일부 실시예들에서, 디바이스(300)는 메모리(306)에 그리고/또는 다른 디바이스(예를 들면, 디바이스(300)와 동일하거나 유사한 다른 디바이스)의 메모리에 저장된 소프트웨어 명령어들을 실행하도록 구성된다. 본원에서 사용되는 바와 같이, "모듈"이라는 용어는, 프로세서(304)에 의해 그리고/또는 다른 디바이스(예를 들면, 디바이스(300)와 동일하거나 유사한 다른 디바이스)의 프로세서에 의해 실행될 때, 디바이스(300)(예를 들면, 디바이스(300)의 적어도 하나의 컴포넌트)로 하여금 본원에 기술된 하나 이상의 프로세스를 수행하게 하는 메모리(306)에 그리고/또는 다른 디바이스의 메모리에 저장된 적어도 하나의 명령어를 지칭한다. 일부 실시예들에서, 모듈은 소프트웨어, 펌웨어, 하드웨어 등으로 구현된다.
도 3에 예시된 컴포넌트들의 수 및 배열은 예로서 제공된다. 일부 실시예들에서, 디바이스(300)는 도 3에 예시된 것보다, 추가적인 컴포넌트들, 더 적은 컴포넌트들, 상이한 컴포넌트들, 또는 상이하게 배열된 컴포넌트들을 포함할 수 있다. 추가적으로 또는 대안적으로, 디바이스(300)의 컴포넌트 세트(예를 들면, 하나 이상의 컴포넌트)는 디바이스(300)의 다른 컴포넌트 또는 다른 컴포넌트 세트에 의해 수행되는 것으로 기술된 하나 이상의 기능을 수행할 수 있다.
이제 도 4를 참조하면, 자율 주행 차량 컴퓨터(400)(때때로 "AV 스택"이라고 지칭됨)의 예시적인 블록 다이어그램이 예시되어 있다. 예시된 바와 같이, 자율 주행 차량 컴퓨터(400)는 인지 시스템(402)(때때로 인지 모듈이라고 지칭됨), 계획 시스템(404)(때때로 계획 모듈이라고 지칭됨), 로컬화 시스템(406)(때때로 로컬화 모듈이라고 지칭됨), 제어 시스템(408)(때때로 제어 모듈이라고 지칭됨) 및 데이터베이스(410)를 포함한다. 일부 실시예들에서, 인지 시스템(402), 계획 시스템(404), 로컬화 시스템(406), 제어 시스템(408) 및 데이터베이스(410)는 차량의 자율 주행 운행 시스템(예를 들면, 차량(200)의 자율 주행 차량 컴퓨터(202f))에 포함 및 구현된다. 추가적으로 또는 대안적으로, 일부 실시예들에서, 인지 시스템(402), 계획 시스템(404), 로컬화 시스템(406), 제어 시스템(408), 및 데이터베이스(410)는 하나 이상의 독립형 시스템(예를 들면, 자율 주행 차량 컴퓨터(400) 등과 동일하거나 유사한 하나 이상의 시스템)에 포함된다. 일부 예들에서, 인지 시스템(402), 계획 시스템(404), 로컬화 시스템(406), 제어 시스템(408), 및 데이터베이스(410)는 본원에 기술된 바와 같이 차량 및/또는 적어도 하나의 원격 시스템에 위치하는 하나 이상의 독립형 시스템에 포함된다. 일부 실시예들에서, 자율 주행 차량 컴퓨터(400)에 포함된 시스템들 중 일부 및/또는 전부는 소프트웨어(예를 들면, 메모리에 저장된 소프트웨어 명령어들), 컴퓨터 하드웨어(예를 들면, 마이크로프로세서, 마이크로컨트롤러, ASIC(application-specific integrated circuit), FPGA(Field Programmable Gate Array) 등), 또는 컴퓨터 소프트웨어와 컴퓨터 하드웨어의 조합으로 구현된다. 일부 실시예들에서, 자율 주행 차량 컴퓨터(400)가 원격 시스템(예를 들면, 원격 AV 시스템(114)과 동일하거나 유사한 자율 주행 차량 시스템, 플릿 관리 시스템(116)과 동일하거나 유사한 플릿 관리 시스템, V2I 시스템(118)과 동일하거나 유사한 V2I 시스템 등)과 통신하도록 구성된다는 것이 또한 이해될 것이다.
일부 실시예들에서, 인지 시스템(402)은 환경에서의 적어도 하나의 물리적 대상체와 연관된 데이터(예를 들면, 적어도 하나의 물리적 대상체를 검출하기 위해 인지 시스템(402)에 의해 사용되는 데이터)를 수신하고 적어도 하나의 물리적 대상체를 분류한다. 일부 예들에서, 인지 시스템(402)은 적어도 하나의 카메라(예를 들면, 카메라들(202a))에 의해 캡처되는 이미지 데이터를 수신하고, 이미지는 적어도 하나의 카메라의 시야 내의 하나 이상의 물리적 대상체와 연관되어 있다(예를 들면, 이를 표현한다). 그러한 예에서, 인지 시스템(402)은 물리적 대상체들(예를 들면, 자전거들, 차량들, 교통 표지판들, 보행자들 등)의 하나 이상의 그룹화에 기초하여 적어도 하나의 물리적 대상체를 분류한다. 일부 실시예들에서, 인지 시스템(402)이 물리적 대상체들을 분류하는 것에 기초하여 인지 시스템(402)은 물리적 대상체들의 분류와 연관된 데이터를 계획 시스템(404)으로 송신한다.
일부 실시예들에서, 계획 시스템(404)은 목적지와 연관된 데이터를 수신하고 차량(예를 들면, 차량들(102))이 목적지를 향해 주행할 수 있는 적어도 하나의 루트(예를 들면, 루트들(106))와 연관된 데이터를 생성한다. 일부 실시예들에서, 계획 시스템(404)은 인지 시스템(402)으로부터의 데이터(예를 들면, 위에서 기술된, 물리적 대상체들의 분류와 연관된 데이터)를 주기적으로 또는 연속적으로 수신하고, 계획 시스템(404)은 인지 시스템(402)에 의해 생성되는 데이터에 기초하여 적어도 하나의 궤적을 업데이트하거나 적어도 하나의 상이한 궤적을 생성한다. 일부 실시예들에서, 계획 시스템(404)은 로컬화 시스템(406)으로부터 차량(예를 들면, 차량들(102))의 업데이트된 포지션과 연관된 데이터를 수신하고, 계획 시스템(404)은 로컬화 시스템(406)에 의해 생성되는 데이터에 기초하여 적어도 하나의 궤적을 업데이트하거나 적어도 하나의 상이한 궤적을 생성한다.
일부 실시예들에서, 로컬화 시스템(406)은 한 영역에서의 차량(예를 들면, 차량들(102))의 한 위치와 연관된(예를 들면, 이를 나타내는) 데이터를 수신한다. 일부 예들에서, 로컬화 시스템(406)은 적어도 하나의 LiDAR 센서(예를 들면, LiDAR 센서들(202b))에 의해 생성되는 적어도 하나의 포인트 클라우드와 연관된 LiDAR 데이터를 수신한다. 특정 예들에서, 로컬화 시스템(406)은 다수의 LiDAR 센서들로부터의 적어도 하나의 포인트 클라우드와 연관된 데이터를 수신하고 로컬화 시스템(406)은 포인트 클라우드들 각각에 기초하여 결합된 포인트 클라우드를 생성한다. 이러한 예들에서, 로컬화 시스템(406)은 적어도 하나의 포인트 클라우드 또는 결합된 포인트 클라우드를 데이터베이스(410)에 저장되어 있는 해당 영역의 2차원(2D) 및/또는 3차원(3D) 맵과 비교한다. 로컬화 시스템(406)이 적어도 하나의 포인트 클라우드 또는 결합된 포인트 클라우드를 맵과 비교하는 것에 기초하여 로컬화 시스템(406)은 이어서 해당 영역에서의 차량의 포지션을 결정한다. 일부 실시예들에서, 맵은 차량의 운행 이전에 생성되는 해당 영역의 결합된 포인트 클라우드를 포함한다. 일부 실시예들에서, 맵은, 제한 없이, 도로 기하학적 특성들의 고정밀 맵, 도로 네트워크 연결 특성들을 기술하는 맵, 도로 물리적 특성들(예컨대, 교통 속력, 교통량, 차량 교통 차선과 자전거 타는 사람 교통 차선의 수, 차선 폭, 차선 교통 방향, 또는 차선 마커 유형 및 위치, 또는 이들의 조합)을 기술하는 맵, 및 도로 특징부, 예컨대, 횡단보도, 교통 표지판 또는 다양한 유형의 다른 주행 신호들의 공간적 위치들을 기술하는 맵을 포함한다. 일부 실시예들에서, 맵은 인지 시스템에 의해 수신되는 데이터에 기초하여 실시간으로 생성된다.
다른 예에서, 로컬화 시스템(406)은 GPS(global positioning system) 수신기에 의해 생성되는 GNSS(Global Navigation Satellite System) 데이터를 수신한다. 일부 예들에서, 로컬화 시스템(406)은 해당 영역 내에서의 차량의 위치와 연관된 GNSS 데이터를 수신하고 로컬화 시스템(406)은 해당 영역 내에서의 차량의 위도 및 경도를 결정한다. 그러한 예에서, 로컬화 시스템(406)은 차량의 위도 및 경도에 기초하여 해당 영역에서의 차량의 포지션을 결정한다. 일부 실시예들에서, 로컬화 시스템(406)은 차량의 포지션과 연관된 데이터를 생성한다. 일부 예들에서, 로컬화 시스템(406)이 차량의 포지션을 결정하는 것에 기초하여 로컬화 시스템(406)은 차량의 포지션과 연관된 데이터를 생성한다. 그러한 예에서, 차량의 포지션과 연관된 데이터는 차량의 포지션에 대응하는 하나 이상의 시맨틱 특성과 연관된 데이터를 포함한다.
일부 실시예들에서, 제어 시스템(408)은 계획 시스템(404)으로부터 적어도 하나의 궤적과 연관된 데이터를 수신하고 제어 시스템(408)은 차량의 작동을 제어한다. 일부 예들에서, 제어 시스템(408)은 계획 시스템(404)으로부터 적어도 하나의 궤적과 연관된 데이터를 수신하고, 제어 시스템(408)은 파워트레인 제어 시스템(예를 들면, DBW 시스템(202h), 파워트레인 제어 시스템(204) 등), 조향 제어 시스템(예를 들면, 조향 제어 시스템(206)) 및/또는 브레이크 시스템(예를 들면, 브레이크 시스템(208))이 작동하게 하는 제어 신호들을 생성하여 송신하는 것에 의해 차량의 작동을 제어한다. 궤적이 좌회전을 포함하는 예에서, 제어 시스템(408)은 조향 제어 시스템(206)으로 하여금 차량(200)의 조향각을 조정하게 함으로써 차량(200)이 좌회전하게 하는 제어 신호를 송신한다. 추가적으로 또는 대안적으로, 제어 시스템(408)은 차량(200)의 다른 디바이스들(예를 들면, 헤드라이트, 방향 지시등, 도어록, 윈도실드 와이퍼 등)로 하여금 상태들을 변경하게 하는 제어 신호들을 생성하여 송신한다.
일부 실시예들에서, 인지 시스템(402), 계획 시스템(404), 로컬화 시스템(406), 및/또는 제어 시스템(408)은 적어도 하나의 머신 러닝 모델(예를 들면, 적어도 하나의 다층 퍼셉트론(MLP), 적어도 하나의 콘볼루션 신경 네트워크(CNN), 적어도 하나의 순환 신경 네트워크(RNN), 적어도 하나의 오토인코더, 적어도 하나의 트랜스포머(transformer) 등)을 구현한다. 일부 예들에서, 인지 시스템(402), 계획 시스템(404), 로컬화 시스템(406), 및/또는 제어 시스템(408)은 단독으로 또는 위에서 언급된 시스템들 중 하나 이상과 조합하여 적어도 하나의 머신 러닝 모델을 구현한다. 일부 예에서, 인지 시스템(402), 계획 시스템(404), 로컬화 시스템(406), 및/또는 제어 시스템(408)은 파이프라인(예를 들면, 환경에 위치한 하나 이상의 대상체를 식별하기 위한 파이프라인 등)의 일부로서 적어도 하나의 머신 러닝 모델을 구현한다.
데이터베이스(410)는 인지 시스템(402), 계획 시스템(404), 로컬화 시스템(406) 및/또는 제어 시스템(408)으로 송신되며, 이들로부터 수신되고/되거나 이들에 의해 업데이트되는 데이터를 저장한다. 일부 예들에서, 데이터베이스(410)는 작동에 관련된 데이터 및/또는 소프트웨어를 저장하고 자율 주행 차량 컴퓨터(400)의 적어도 하나의 시스템을 사용하는 저장 컴포넌트(예를 들면, 도 3의 저장 컴포넌트(308)와 동일하거나 유사한 저장 컴포넌트)를 포함한다. 일부 실시예들에서, 데이터베이스(410)는 적어도 하나의 영역의 2D 및/또는 3D 맵과 연관된 데이터를 저장한다. 일부 예들에서, 데이터베이스(410)는 도시의 일 부분, 다수의 도시들의 다수의 부분들, 다수의 도시들, 카운티, 주, 국가(State)(예를 들면, 나라(country)) 등의 2D 및/또는 3D 맵과 연관된 데이터를 저장한다. 그러한 예에서, 차량(예를 들면, 차량들(102) 및/또는 차량(200)과 동일하거나 유사한 차량)은 하나 이상의 운전 가능한 영역(예를 들면, 단일 차선 도로, 다중 차선 도로, 간선도로, 시골 길(back road), 오프로드 트레일 등)을 따라 운전할 수 있고, 적어도 하나의 LiDAR 센서(예를 들면, LiDAR 센서들(202b)과 동일하거나 유사한 LiDAR 센서)로 하여금 적어도 하나의 LiDAR 센서의 시야에 포함된 대상체들을 나타내는 이미지와 연관된 데이터를 생성하게 할 수 있다.
일부 실시예들에서, 데이터베이스(410)는 복수의 디바이스들에 걸쳐 구현될 수 있다. 일부 예들에서, 데이터베이스(410)는 차량(예를 들면, 차량들(102) 및/또는 차량(200)과 동일하거나 유사한 차량), 자율 주행 차량 시스템(예를 들면, 원격 AV 시스템(114)과 동일하거나 유사한 자율 주행 차량 시스템), 플릿 관리 시스템(예를 들면, 도 1의 플릿 관리 시스템(116)과 동일하거나 유사한 플릿 관리 시스템), V2I 시스템(예를 들면, 도 1의 V2I 시스템(118)과 동일하거나 유사한 V2I 시스템) 등에 포함될 수 있다.
이제 도 5a 내지 도 5c를 참조하면, 예컨대 자율 주행 차량 궤적을 결정하기 위해, 에이전트 우선순위화 및/또는 에이전트 필터링을 위한 프로세스의 하나 이상의 구현(500)의 다이어그램들이 예시되어 있다. 일부 실시예들에서, 구현(500)은 AV 컴퓨터(540), 및 차량(502)(자율 주행 차량과 같은, 도 2의 차량(200)과 유사함)을 포함한다. 일부 실시예들에서, 시스템(500)은, 원격 AV 시스템, 플릿 관리 시스템, V2I 시스템과 같은, 시스템과 동일하거나 유사하다.
유리하게는, 모션 예측 및 궤적의 계획을 위한 것과 같은 에이전트 필터링 및/또는 우선순위화를 수행할 수 있는 자율 주행 차량, 시스템, 방법 및 컴퓨터 프로그램 제품이 개시된다. 예를 들어, 에이전트들은 프로세싱 파이프라인에서(예컨대, AV 컴퓨터(540)를 통해) 필터링 및/또는 우선순위화될 수 있다. 예를 들어, 에이전트들은 그의 결정된 중요도(importance) 뿐만 아니라 다른 특징들에 기초하여 필터링 및/또는 우선순위화될 수 있다. 특정 에이전트의 중요도는 자율 주행 차량과의 가능한 상호작용으로 인한 것일 수 있다. 더 낮은 중요도를 갖는 에이전트들에 낮은 충실도(Low-fidelity) 기술이 적용될 수 있다. 이는 중요한 에이전트들이 계산 비용이 더 많이 들 수 있는 높은 충실도 기술로부터의 이익을 얻을 수 있게 할 수 있다. 아래에 상세하게 설명되는 바와 같이, 에이전트의 중요도를 식별하기 위해, 해당 에이전트의 자율 주행 차량과의 상호작용의 예측을 나타내는 상호작용 파라미터를 결정하도록 하나 이상의 다양한 기술이 사용될 수 있다. 이러한 기술의 예는, 호모토피 추출(homotopy extraction), 유클리드 거리 도달가능성(Euclidean distance reachability), 도로 인프라구조 도달가능성(road infrastructure reachability), 및 기하학적 충돌(geometric collision) 중의 하나 이상을 포함한다. 부가의 계산 효율을 위해, 에이전트들은 클러스터링될 수 있다. 프로세싱 파이프라인의 임의의 단계에서, 즉 에이전트 인식, 에이전트 예측, 에이전트 투영(projection), 모션 계획 등에서, 필터링 및/또는 우선순위화 기술이 사용될 수 있다. 예를 들어, 필터링 및/또는 우선순위화 기술이 예측 및/또는 모션 계획에 사용될 수 있다.
유리하게는, 본 개시는 자율 주행 차량에 대한 궤적을 제공하는데 수반되는 에이전트 프로세싱 파이프라인의 계산 효율을 개선할 수 있다. 예를 들어, 본 개시는, 예컨대 처리해야 할 더 적은 에이전트를 갖기 때문에, 현재 스택에 대한 계산 시간의 감소를 유도할 수 있다. 필터링은 처리되어야 할 에이전트의 수를 감소시킬 수 있다. 우선순위화는 덜 중요한 에이전트에 대해 감소된 충실도를 갖는 알고리즘이 사용될 수 있게 하며, 따라서 더 빠르게 할 수 있다. 새로운 타입의 이용가능한 알고리즘은 가장 중요한 에이전트에 대해서만 실행될 수 있다. 이 방법은 가장 중요한 에이전트에 대해서만 더 높은 충실도 및 계산 비용이 더 많이 드는 모델을 사용할 수 있게 하므로, 자율 주행 차량이 보다 공격적이고 반응적이게 될 수 있다. 전체 계산 로드도 또한 감소될 수 있다.
예를 들어, 자율 주행 차량의 모션 계획의 작업은 환경 내의 하나 이상의 에이전트에 기초하여 합법적인 및/또는 편안한 궤적을 찾는 것일 수 있다. 많은 수의 에이전트들이 존재할 수 있지만, 에이전트들의 더 작은 서브세트만 자율 주행 차량의 궤적에 영향을 미칠 수 있다. 에이전트들의 프로세싱이 계산 집약적 동작이고 이용가능한 자원이 한정되어 있으므로, 예를 들어 에이전트들의 우선순위화 및/또는 에이전트들의 필터링에 기초하여, 에이전트들의 서브세트를 결정하는 것이 유리할 수 있다.
예를 들어, 에이전트가, 예컨대 의미있는(meaningful) 방식으로, 자율 주행 차량의 궤적에 영향을 미칠 가능성이 없다고 결정되면, 일부 에이전트는 폐기될 수 있으며, 예컨대 필터링 제외(filter out)될 수 있다. 이 “중요하지 않은” 에이전트들을 프로세싱하는 것은 상당한 양의 시간이 걸릴 수 있다. 대안으로서, 또는 필터링과 함께, 에이전트의 우선순위도 고려될 수 있다. 에이전트들을 우선순위화함으로써, 더 낮은 해상도 모델의 하나 이상이 사용될 수 있고, 더 낮은 수치 정확도가 필요할 수 있고, 더 빠른 예측 및/또는 네트워크가 사용될 수 있고, 반복 알고리즘에서의 더 적고/적거나 한정된 수의 반복이 사용될 수 있다.
도 5a는, 구체적으로 일부 예에서 인지 시스템(514) 및 계획 시스템(516)을 포함하는, 자율 주행 차량에 사용될 수 있는, 예컨대 AV 컴퓨터(540)의, 프로세싱 파이프라인을 예시한 시스템의 일부를 예시한다. 인지 시스템(514) 및 계획 시스템(516)은 도 4에서 설명된 바와 유사할 수 있다.
하나 이상의 예시적인 시스템에서, 시스템은 적어도 하나의 프로세서를 포함할 수 있다. 하나 이상의 예시적인 시스템에서, 시스템은, 적어도 하나의 프로세서에 의해 실행될 때, 적어도 하나의 프로세서로 하여금 센서 데이터를 획득하게 하는 명령어들을 저장한 적어도 하나의 메모리를 포함할 수 있다. 센서 데이터는 자율 주행 차량이 작동하고 있는 환경과 연관될 수 있다. 하나 이상의 예시적인 시스템에서, 시스템은, 적어도 하나의 프로세서에 의해 실행될 때, 적어도 하나의 프로세서로 하여금 에이전트 세트를 결정하게 하는 명령어들을 저장한 적어도 하나의 메모리를 포함할 수 있다. 적어도 하나의 프로세서는 센서 데이터에 기초하여 에이전트 세트를 결정할 수 있다. 에이전트 세트는 환경에 위치된 복수의 에이전트들을 포함할 수 있다. 하나 이상의 예시적인 시스템에서, 시스템은, 적어도 하나의 프로세서에 의해 실행될 때, 적어도 하나의 프로세서로 하여금 상호작용 파라미터를 결정하게 하는 명령어들을 저장한 적어도 하나의 메모리를 포함할 수 있다. 적어도 하나의 프로세서는 에이전트 세트의 각각의 에이전트에 대하여 상호작용 파라미터를 결정할 수 있다. 상호작용 파라미터는 해당 에이전트의 자율 주행 자량과의 상호작용의 예측을 나타낼 수 있다. 예를 들어, 에이전트가 적어도 하나의 에이전트를 포함할 때, 상호작용 파라미터는 그 적어도 하나의 에이전트와 자율 주행 차량 사이의 상호작용의 예측을 나타낼 수 있다. 하나 이상의 예시적인 시스템에서, 시스템은, 적어도 하나의 프로세서에 의해 실행될 때, 적어도 하나의 프로세서로 하여금 일차(primary) 에이전트 세트를 결정하게 하는 명령어들을 저장한 적어도 하나의 메모리를 포함할 수 있다. 적어도 하나의 프로세서는 상호작용 파라미터에 기초하여 일차 에이전트 세트를 결정할 수 있다. 일차 에이전트 세트는 에이전트 세트의 서브세트일 수 있다. 하나 이상의 예시적인 시스템에서, 시스템은, 적어도 하나의 프로세서에 의해 실행될 때, 적어도 하나의 프로세서로 하여금 자율 주행 차량의 궤적을 생성하게 하는 명령어들을 저장한 적어도 하나의 메모리를 포함할 수 있다. 적어도 하나의 프로세서는 일차 에이전트 세트에 기초하여 자율 주행 차량의 궤적을 생성할 수 있다.
적어도 하나의 프로세서는 센서의 프로세서일 수 있다. 적어도 하나의 프로세서는 AV 컴퓨터(540)의 프로세서일 수 있다. 적어도 하나의 프로세서는 자율 주행 차량의 프로세서일 수 있다.
도 5a에 도시된 바와 같이, 인지 시스템(402)은 센서 데이터(502)를 획득, 예컨대 수신할 수 있다. 센서 데이터(502)는 자율 주행 차량과 연관된 하나 이상의 센서로부터 수신될 수 있다. 자율 주행 차량은, 예를 들어 센서 데이터(502)를 제공하도록 구성된, 하나 이상의 센서를 포함할 수 있다. 하나 이상의 센서는 자율 주행 차량의 환경에서 복수의 에이전트들을 검출하도록 구성될 수 있다. 센서 데이터(502)는 예를 들어, 적외선 데이터, LiDAR 데이터, 모션 데이터 및 픽처 데이터 중의 하나 이상일 수 있다. 센서 데이터(502)는 자율 주행 차량이 작동하고 있는 환경과 연관될 수 있다. 센서는 상기에 설명된 센서들 중 임의의 것 및/또는 전부일 수 있다. 환경의 차원에는 제한이 없지만, 환경은 자율 주행 차량이 센서 데이터를 획득할 수 있는 어느 곳이든 될 수 있다. 이는 자율 주행 차량에 부착된 센서, 또는 차량 외부의 센서로부터 수신된 데이터를 포함할 수 있다.
센서 데이터(502)는 에이전트 인식 방식과 같은 에이전트 인식(504)을 위해 사용될 수 있다. 예를 들어, 적어도 하나의 프로세서는 센서 데이터(502)에 기초하여 환경에 위치된 복수의 에이전트들을 포함하는 에이전트 세트를 결정할 수 있다. 에이전트 세트는 환경에 위치된 하나 이상의 에이전트를 포함할 수 있다.
에이전트는 자율 주행 차량의 환경에서 인지될 수 있는 임의의 아이템 또는 대상체로서 볼 수 있다. 일부 예에서, 에이전트는 시간이 지남에 따라 동적 움직임이 가능한 임의의 것일 수 있다. 일부 예에서, 에이전트는, 센서를 통해 그의 환경을 인지하고/하거나 액추에이터를 통해 그 환경에 대해 작용하는 것으로서 보일 수 있는 임의의 것일 수 있다.
에이전트는 환경에 위치된 모든 물리적 대상체일 수 있다. 에이전트는 환경에 위치된 일부 물리적 대상체일 수 있다. 에이전트의 타입은 시스템 또는 사용자에 의해 설정될 수 있다. 에이전트의 타입은 자동으로, 예컨대 머신 러닝을 통해 결정될 수 있다. 예시적인 에이전트는 다른 차량, 보행자, 자전거 타는 사람, 도로 장애물, 표지판 및 교차로를 포함하지만, 이에 한정되는 것은 아니다. 하나 이상의 예시적인 시스템에서, 복수의 에이전트들의 에이전트는 시간이 지남에 따라 동적 움직임이 가능한 대상체를 포함할 수 있다. 에이전트는 센서에 의해 캡처되거나 센서 데이터에 포함되는 임의의 대상체일 수 있다. 예를 들어, 도로 사용자 및/또는 도로 장비가 에이전트일 수 있다.
에이전트는 하나 이상의 기준을 통해 결정될 수 있다. 예시적인 기준은 움직임, 예상 움직임, 및 가속도를 포함한다. 에이전트는 데이터베이스에 저장될 수 있다. 에이전트는 머신 러닝을 통해 결정될 수 있다. 에이전트는 신경 네트워크 모델을 통해 결정될 수 있다.
에이전트 세트는 특정 에이전트에 관련된 데이터를 포함할 수 있다. 에이전트 세트는, 예를 들어 에이전트를 식별하는 에이전트 식별자를 통해, 특정 에이전트와 연관된 데이터를 포함할 수 있다. 에이전트 세트는 데이터베이스일 수 있다. 에이전트 세트는 테이블일 수 있다. 에이전트 세트는 정렬되어(ordered) 있을 수 있다. 에이전트 세트는 무질서할 수 있다. 에이전트 세트는, 에이전트 식별자들의 리스트와 같은 에이전트들의 리스트일 수 있다. 에이전트 세트는 0 에이전트를 포함할 수 있다. 에이전트 세트는 적어도 하나의 에이전트를 포함할 수 있다. 다르게 말하자면, 시스템은 센서 데이터에 기초하여 적어도 하나의 에이전트를 포함하는 에이전트 세트를 결정할 수 있다. 에이전트 세트는 복수의 에이전트들을 포함할 수 있다.
에이전트 세트의 하나 이상의 에이전트에 대하여, 에이전트 예측 방식과 같은 에이전트 예측(506)이 수행될 수 있다. 에이전트 세트의 각각의 에이전트에 대하여, 에이전트 예측 방식과 같은 에이전트 예측(506)이 수행될 수 있다. 에이전트 예측(506)은, 예컨대 확률에 기초하여, 에이전트의 동작(action)을 예측할 수 있다. 예시적인 동작은 움직임, 속력, 방향 및 가속도이다. 예를 들어, 에이전트 예측(506)은 해당 에이전트의 자율 주행 차량과의 예측을 나타내는 상호작용 파라미터를 결정하는 것을 포함할 수 있다. 상호작용 파라미터는 상호작용의 확률일 수 있다. 상호작용 파라미터는 속력 및/또는 방향과 같은 에이전트의 차원을 나타낼 수 있다.
상호작용 파라미터는, 예컨대 잠재적 상호작용, 잠재적 충돌, 잠재적 부딪힘으로 인해, 자율 주행 차량의 궤적에 대한 해당 에이전트의 상호작용을 나타낼 수 있다. 예를 들어, 상호작용 파라미터는 해당 에이전트의 자율 주행 차량과의 잠재적 미래 상호작용, 예컨대 예측되는 상호작용, 예컨대 에이전트가 자율 주행 차량과 상호작용할 확률을 나타낼 수 있다. 예를 들어, 상호작용 파라미터는 해당 에이전트가 자율 주행 차량과 상호작용하는 상호작용 레벨의 예측을 나타낼 수 있다.
또한, 에이전트 세트의 하나 이상의(예컨대 각각의) 에이전트에 대하여, 에이전트 투영 방식과 같은 에이전트 투영(508)이 수행될 수 있다. 에이전트 예측(506)은 에이전트가 갈 가능성이 있는(예컨대 갈 것인) 곳을 예측할 수 있지만, 에이전트 투영(508)은 에이전트가 갈 가능성이 있는(예컨대 갈 것인) 곳을 실제로 투영할 수 있다. 상호작용 파라미터는 에이전트 예측(506) 및/또는 에이전트 투영을 통해 결정될 수 있다.
하나 이상의 예시적인 시스템에서, 적어도 하나의 프로세서에 의해, 에이전트 세트의 각각의 에이전트에 대하여, 해당 에이전트의 자율 주행 차량과의 상호작용의 예측을 나타내는 상호작용 파라미터를 결정하는 것은, 해당 에이전트의 자율 주행 차량과의 상호작용을 예측하는 것을 포함할 수 있다. 하나 이상의 예시적인 시스템에서, 적어도 하나의 프로세서에 의해, 에이전트 세트의 각각의 에이전트에 대하여, 해당 에이전트의 자율 주행 차량과의 상호작용의 예측을 나타내는 상호작용 파라미터를 결정하는 것은, 예측에 기초하여 상호작용 파라미터를 결정하는 것을 포함할 수 있다.
예를 들어, 에이전트 예측(506)은 해당 에이전트의 자율 주행 차량과의 상호작용 파라미터를 예측할 수 있다. 상호작용 파라미터는 상호작용을 나타낼 수 있다.
상호작용은 에이전트와 자율 주행 차량 사이의 물리적 상호작용일 수 있다. 상호작용은 자율 주행 차량 자체로써 이루어질 수 있다. 상호작용은 자율 주행 차량 주변의 영역과 이루어질 수 있다. 예를 들어, 자율 주행 차량은 자율 주행 차량 주변의 정의된 경계를 가질 수 있다.
하나 이상의 예시적인 시스템에서, 예컨대 에이전트 예측(506) 및/또는 에이전트 투영(508) 동안, 해당 에이전트의 자율 주행 차량과의 상호작용 파라미터를 예측하는 것은, 각각의 에이전트에 대하여 하나 이상의 호모토피(homotopy) 파라미터를 결정하는 것을 포함할 수 있다. 하나 이상의 호모토피 파라미터는 자율 주행 차량의 궤적에 대해 에이전트에 의해 적용되는 제약을 나타낼 수 있다. 하나 이상의 예시적인 시스템에서, 해당 에이전트의 자율 주행 차량과의 상호작용을 예측하는 것은 하나 이상의 호모토피 파라미터에 기초하여 상호작용을 예측하는 것을 포함할 수 있다.
하나 이상의 호모토피 파라미터는 에이전트의 잠재적 제약을 포함할 수 있다. 하나 이상의 호모토피 파라미터는 에이전트의 특정 물리적 특성을 나타낼 수 있다. 하나 이상의 예시적인 시스템에서, 하나 이상의 호모토피 파라미터는 에이전트의 속력, 에이전트의 가속도, 및 에이전트의 위치 중의 하나 이상을 나타낸다. 하나 이상의 호모토피 파라미터는 호모토피의 수를 포함할 수 있다. 하나 이상의 호모토피 파라미터는 호모토피의 크기를 포함할 수 있다. 호모토피 파라미터는 상기에 한정되지 않으며, 다른 파라미터도 사용될 수 있다.
하나 이상의 예시적인 시스템에서, 하나 이상의 호모토피 파라미터에 기초하여 상호작용을 예측하는 것은, 도 5b 및 도 5c에 관련하여 설명된 바와 같은 신경 네트워크 모델로 하나 이상의 호모토피 파라미터 또는 센서 데이터를 입력함으로써 상호작용을 예측하는 것을 포함할 수 있다. 신경 네트워크 모델은 머신 러닝 모델일 수 있다. 신경 네트워크 모델은 인공 지능 모델일 수 있고/있거나 이를 포함할 수 있다. 신경 네트워크 모델은 예측을 출력할 수 있다. 신경 네트워크는 상호작용 파라미터를 출력할 수 있다. 다수의 특징들 또는 파라미터들이 신경 네트워크를 트레이닝하는데 사용될 수 있는 스칼라 숫자로 조합될 수 있다. 예를 들어, 데이터세트에 최종 중요도 계수로 주석달기(annotate)하는데 오프라인 플래너(offline-planner)가 사용될 수 있다. 실시간 요건은 드롭될 수 있다. 실측 자료(Ground truth) 예측이 이용될 수 있다. 일부 실시예에서, 시스템(500)은 상호작용 파라미터를 제공하도록 적어도 하나의 예측을 생성하기 위해 신경 네트워크 모델을 사용할 수 있다. 일 예에서, 시스템(500)은 신경 네트워크 모델에 호모토피 파라미터(들)를 제공하는 시스템(500)에 기초하여 적어도 하나의 예측을 생성하기 위해 신경 네트워크 모델을 사용할 수 있다. 이러한 예에서, 신경 네트워크 모델은 호모토피 파라미터(들)에 기초하여 적어도 하나의 예측을 생성할 수 있다. 적어도 하나의 예측은 에이전트가 자율 주행 차량과 상호작용할 확률의 예측을 포함할 수 있다.
상호작용 파라미터에 기초하여, 자율 주행 차량 컴퓨터(540)는 일차 에이전트 세트를 결정할 수 있다. 일차 에이전트 세트는 에이전트 세트일 수 있다. 일차 에이전트 세트는 에이전트 세트의 서브세트일 수 있다. 일차 에이전트 세트는 에이전트 세트의 적절한 서브세트일 수 있다. 예를 들어, 일차 에이전트 세트는 에이전트 세트와 동일하지 않을 수 있다. 예를 들어, 에이전트 세트는, 일차 에이전트 세트에 없는 에이전트와 같은, 적어도 하나의 요소를 포함할 수 있다. 일차 에이전트 세트는 에이전트 세트의 재배열(rearrangement)일 수 있다. 일차 에이전트 세트는 일차 에이전트 세트의 확인(confirmation)일 수 있다. 일차 에이전트 세트는 에이전트 세트와 동일한 수의 에이전트를 포함할 수 있다. 일차 에이전트 세트는 에이전트 세트보다 더 적은 에이전트를 포함할 수 있다. 일차 에이전트 세트는 에이전트 세트의 필터링의 결과일 수 있다. 일차 에이전트 세트는 에이전트 세트에 적용된 우선순위화 방식의 결과일 수 있다.
하나 이상의 예시적인 시스템에서, 상호작용 파라미터에 기초하여 일차 에이전트 세트를 결정하는 것은, 에이전트 세트로부터, 상호작용 파라미터에 기초하여 에이전트 세트의 하나 이상의 에이전트를 삭제, 제거, 제외하는 것과 같은 필터링에 의해 일차 에이전트 세트를 결정하는 것을 포함할 수 있다. 예를 들어, 일차 에이전트 세트를 결정하기 위해 필터링이 에이전트 세트에 적용될 수 있다. 필터링은 에이전트 세트와 일차 에이전트 세트 사이의 에이전트의 수를 감소시킬 수 있다. 필터링은 에이전트 세트와 일차 에이전트 세트 사이의 에이전트의 수를 감소시키지 않을 수 있다. 필터링은 일차 에이전트 세트를 결정하기 위해 에이전트 세트로부터 하나 이상의 에이전트를 제거할 수 있다.
필터링은 상호작용 파라미터에 기초할 수 있다. 예를 들어, 에이전트가 자율 주행 차량과 상호작용할 확률이 낮다면, 상호작용 파라미터에 의해 나타난 바와 같이, 에이전트는 필터링 제외될 수 있다.
하나 이상의 예시적인 시스템에서, 필터링은 상호작용 파라미터에 적용된 기준에 기초할 수 있다. 예를 들어, 기준은 임계치(threshold)에 기초할 수 있다. 기준은 에이전트가 자율 주행 차량과 상호작용할 확률 임계치일 수 있다. 기준을 만족하는 해당 에이전트의 상호작용 파라미터에 따라, 해당 에이전트는 일차 에이전트 세트의 결정에서 필터링될 수 있다. 기준을 만족하지 않는 해당 에이전트의 상호작용 파라미터에 따라, 해당 에이전트는 일차 에이전트 세트의 결정에서 필터링되지 않을 수 있다. 필터링되지 않은 에이전트들이 일차 에이전트 세트에 포함될 수 있다.
상이한 필터링 방식들이 필터링에 사용될 수 있다. 예를 들어, 에이전트 가시 거리 및 속도(유클리드 거리 도달가능성 반경), 도로 인프라구조 도달가능성(차선 분리 장벽이 있는 도로 상의 반대 차선에 있는 에이전트), 및 에이전트 투영된 다각형과 자율 주행 차량 가능 경로 사이의 기하학적 충돌, 중의 하나 이상이 있다. 유클리드 거리 기반 반경은 부가의 필터링을 위해 계산된 거리 반경을 캐시할 수 있다. 도로 인프라구조 도달가능성은 캐시된 거리를 사용할 수 있고, 도달가능한 도로 네트워크 그래프를 확장할 수 있으며, 에이전트로 도로 세그먼트를 캐시할 수 있다. 기하학적 충돌은 에이전트로 캐시된 도로 세그먼트에 대응하는 자율 주행 차량 세그먼트에 대하여 체크될 수 있다.
하나 이상의 예시적인 시스템에서, 상호작용 파라미터에 기초하여 일차 에이전트 세트를 결정하는 것은, 에이전트 세트에, 상호작용 파라미터에 기초하여 우선순위화 방식을 적용함으로써 일차 에이전트 세트를 결정하는 것을 포함할 수 있다. 우선순위화 방식은 필터링 대신에 적용될 수 있다. 우선순위화 방식은 필터링과 함께 적용될 수 있다. 우선순위화 방식은 필터링 전에 적용될 수 있다. 우선순위화 방식은 필터링 동안 적용될 수 있다. 우선순위화 방식은 필터링 후에 적용될 수 있다. 우선순위화 방식이 적용되는 에이전트들이 일차 에이전트 세트에 포함될 수 있다.
우선순위화 방식은 자율 주행 차량 컴퓨터(540)에 저장될 수 있다. 우선순위화 방식은 자율 주행 차량 컴퓨터(540)에 의해 결정될 수 있다. 우선순위화 방식은 실시간으로 결정될 수 있다.
우선순위화 방식은 에이전트 세트 및/또는 일차 에이전트 세트 내의 에이전트들을 재배열하도록 사용될 수 있다. 예를 들어, 우선순위화 방식은 에이전트 세트 및/또는 일차 에이전트 세트 내의 에이전트들을 재정렬할 수 있다. 우선순위화 방식은 자율 주행 차량과의 상호작용 가능성에 기초하여 에이전트 세트 및/또는 일차 에이전트 세트 내의 에이전트들을 재정렬할 수 있다. 우선순위화 방식은 자율 주행 차량과의 상호작용 예측에 기초하여 에이전트 세트 및/또는 일차 에이전트 세트 내의 에이전트들을 재정렬할 수 있다. 우선순위화 방식은 자율 주행 차량과의 상호작용 확률에 기초하여 에이전트 세트 및/또는 일차 에이전트 세트 내의 에이전트들을 재정렬할 수 있다.
우선순위화 방식은 에이전트 방식에 비교하여 일차 에이전트 세트에 우선순위 순서를 제공할 수 있다. 예를 들어, 우선순위화 방식은 에이전트의 자율 주행 차량과의 상호작용의 우선순위화에 기초하여 에이전트 세트 내의 에이전트들을 정렬할 수 있다. 우선순위화 방식은 에이전트 세트 및/또는 일차 에이전트 세트 내의 에이전트들의 “중요도” 순서를 결정하는데 사용될 수 있다.
하나 이상의 예시적인 시스템에서, 우선순위화 방식은 상호작용 파라미터에 적용된 기준에 기초할 수 있다. 기준을 만족하는 해당 에이전트의 상호작용 파라미터에 따라, 해당 에이전트는 일차 에이전트 세트의 결정에서 더 높은 우선순위로 이동될 수 있다. 기준을 만족하지 않는 해당 에이전트의 상호작용 파라미터에 따라, 해당 에이전트는 일차 에이전트 세트의 결정에서 더 높은 우선순위로 이동되지 않을 수 있다.
필터링 및/또는 우선순위화 방식은 일반적으로 에이전트들의 중요도를 예측하는데 사용될 수 있다. 에이전트들의 중요도는 에이전트의 상호작용 파라미터에 기초할 수 있다. 에이전트의 상호작용 파라미터는 예를 들어, 각각의 에이전트가 호모토피의 수 및/또는 크기에 미치는 영향, 각각의 에이전트가 자율 주행 차량의 최종 궤적의 특성(예컨대, 가속도)에 미치는 영향, 각각의 에이전트의 독립 영향, 다른 에이전트들에 기초한 각각의 에이전트의 종속 영향, 중의 하나 이상에 기초할 수 있다.
필터링 및/또는 우선순위화 방식이 일차 에이전트 세트를 결정하는 것과 관련하여 설명되어 있지만, 필터링 및/또는 우선순위화 방식은 자율 주행 차량 컴퓨터(540)의 작동 동안 많은 상이한 포인트들에서 사용될 수 있다. 제1 일차 에이전트 세트, 제2 일차 에이전트 세트, 제3 일차 에이전트 세트 등과 같은 새로운 일차 에이전트 세트들이 상이한 프로세싱 포인트들에서 결정될 수 있다.
예를 들어, 도 5a는 에이전트 필터링 식별 포인트(501)를 도시한다. 에이전트 필터링 식별 포인트(501)는, 일차 에이전트 세트의 결정과 같은, 그리고/또는 500의 임의의 다른 요소에 일차 에이전트 세트를 제공하는 것과 같은, 본원에 설명된 필터링 및/또는 우선순위화 방식을 나타낼 수 있다. 도 5a에 도시된 바와 같이, 에이전트 필터링 식별 포인트(501)는, 에이전트 인식(504) 동안, 에이전트 인식(504) 후에, 에이전트 예측(506) 후에, 에이전트 투영(508) 후에, 인지 시스템(514) 후에, 모션 계획(510) 동안, 및 모션 계획(510) 후에, 중의 하나 이상에서 수행될 수 있다. 에이전트 필터링 식별 포인트(501)를 사용하는 특정 시점은 한정하는 것이 아니다. 에이전트 필터링 식별 포인트(501)는, 에이전트 인식(504), 에이전트 예측(506), 에이전트 투영(508), 인지 시스템(514), 모션 계획(510), 중의 하나 이상에 일차 에이전트 세트를 제공하도록 구성될 수 있다.
에이전트 필터링 식별 포인트(501)는 필터링 및/또는 우선순위화 방식이 업데이트될 수 있는 포인트일 수 있다. 따라서, 필터링 및/또는 우선순위화 방식은 동적일 수 있다. 대안으로서, 필터링 및/또는 우선순위화 방식은 정적일 수 있다. 필터링 및/또는 우선순위화 방식은 반복적으로 적용될 수 있다. 필터링 및/또는 우선순위화 방식은 한 번 적용될 수 있다. 필터링 및/또는 우선순위화 방식은 복수 회 적용될 수 있다. 필터링 및/또는 우선순위화 방식은 연속으로 적용될 수 있다.
유리하게는, 필터링 및/또는 우선순위화 방식은 프로세싱 동안 복수의 포인트들과 같은 상이한 포인트들에서 사용될 수 있으며, 이는 계산 효율을 개선할 수 있다. 예를 들어, 필터링은 기동 탐색과 같은, 자율 주행 차량의 비용이 많이 드는 단계를 크게 개선할 수 있다. 또한, 필터링 및/또는 우선순위화 방식의 캐스케이딩 속성은 유리할 수 있다. 일찍이 필터링되는 에이전트는 나중에 프로세싱 파이프라인에 포함되지 않을 수 있으며, 그에 의해 계산 효율을 개선할수 있다.
하나 이상의 예시적인 시스템에서, 시스템은 적어도 하나의 프로세서로 하여금 복수의 에이전트들의 에이전트들을 클러스터링하게 할 수 있다. 예를 들어, 시스템은 적어도 하나의 프로세서로 하여금, 하나 이상의 호모토피 파라미터에 기초하여 복수의 에이전트들의 에이전트들을 클러스터링하게 할 수 있다. 호모토피 파라미터는, 2개의 에이전트들 사이의 투영된 거리와 같은, 자율 주행 차량의 궤적으로의 에이전트 궤적 투영을 나타낼 수 있다. 예를 들어, 호모토피 파라미터는 2개의 에이전트들 사이의 투영된 거리를 포함할 수 있다. 예를 들어, 시스템은 자율 주행 차량의 궤적으로의 에이전트 궤적 투영에 기초하여 복수의 에이전트들의 에이전트들을 클러스터링할 수 있다. 에이전트 궤적 투영이 2개의 에이전트들 사이에 충분히 가까운 경우, 2개의 에이전트들은 함께 클러스터링될 수 있다. 복수의 에이전트들의 에이전트 클러스터링은 에이전트들 사이의 투영된 거리에 기초할 수 있다. 시스템은 해당 에이전트의 상호작용 파라미터에 기초하여 에이전트들을 클러스터링할 수 있다. 시스템은 하나 이상의 호모토피 파라미터에 기초하여 에이전트들을 클러스터링할 수 있다. 예를 들어, 호모토피 파라미터는 해당 에이전트의 상호작용 파라미터를 포함할 수 있다.
예를 들어, 자율 주행 차량 컴퓨터(540)는 관련된 에이전트들을 함께 클러스터링할 수 있다. 이는 계산 효율을 개선할 수 있다. 예를 들어, 자율 주행 차량이 횡단보도 근처에 위치된 경우, 다수의 보행자들이 횡단보도를 건널 수 있다. 고도의 계산 능력을 요할 수 있는, 보행자들 각각을 에이전트로서 개별적으로 결정하고/하거나 추적하는 대신에, 시스템은 보행자들을 함께 단일 에이전트로서 클러스터링하도록 구성될 수 있다. 이는 예를 들어 보행자들 그룹이 대략 동일한 속력과 동일한 방향으로 움직이고 있다는 것을 나타내는 호모토피 파라미터에 기초할 수 있다. 예를 들어, 에이전트 세트의 전체 영향이 유사한 것으로 결정될 수 있다.
예를 들어, 에이전트 세트 내의 에이전트들의 영향이 서로 유사할 수 있으며, 트레이닝 및 실행 동안 에이전트들이 함께 클러스터링될 수 있음을 제안할 수 있다. 예를 들어, 동시에 도로를 건너는 다수 보행자들의 영향은 유사할 것이고 하나에 적용되는 필터링/우선순위화 방식이 모두에게 적용될 수 있다. 클러스터링은 에이전트 세트에 대한 에이전트들의 결정 동안 수행될 수 있다. 클러스터링은 일차 에이전트 세트의 결정 동안 수행될 수 있다. 일 예로서, 클러스터링은 여기에 설명된 바와 같은 에이전트 세트의 에이전트들을 필터링하는 형태일 수 있다.
예를 들어, 각각의 에이전트에 대하여, 예컨대 호모토피 추출기에 기초하여, 복수의 에이전트들 각각에 대한 클러스터링 파라미터가 결정될 수 있다. 제1 에이전트에 대한 제1 클러스터링 파라미터 및 제2 에이전트에 대한 제2 클러스터링 파라미터와 같이, 각각의 에이전트에 대한 클러스터링 파라미터들이 비교될 수 있다. 제1 클러스터링 파라미터 및 제2 클러스터링 파라미터 둘 다 클러스터링 기준을 만족하는 것에 따라, 제2 에이전트가 필터링될 수 있다. 제1 클러스터링 파라미터 또는 제2 클러스터링 파라미터의 어느 하나가 클러스터링 기준을 만족하지 않는 것에 따라, 제2 에이전트가 필터링되지 않을 수 있다.
클러스터링은 더 낮은 우선순위 에이전트에 대해 수행될 수 있다. 클러스터링은 더 높은 우선순위 에이전트에 대해 수행될 수 있다. 클러스터링은 모든 에이전트에 대해 수행될 수 있다.
하나 이상의 예시적인 시스템에서, 적어도 하나의 메모리는 적어도 하나의 프로세서에 의해 실행될 때, 적어도 하나의 프로세서로 하여금 적어도 하나의 프로세서에 의해 이차(secondary) 에이전트 세트를 결정하게 하는 명령어들을 저장한다. 이차 에이전트 세트는 상호작용 파라미터에 기초하여 결정될 수 있다. 일차 에이전트 세트 및 이차 에이전트 세트는 에이전트 세트의 상호 배타적인 서브세트들일 수 있다. 예를 들어, 일차 에이전트 세트는 이차 에이전트 세트의 어느 에이전트도 포함하지 않을 수 있고, 반대로도 마찬가지일 수 있다. 일차 에이전트 세트 및 이차 에이전트 세트는 에이전트 세트의 상호 배타적인 서브세트들이 아닐 수 있다. 이차 에이전트 세트는 그의 대응하는 상호작용 파라미터에 기초하여 상호작용 확률이 더 적은 것으로 간주되는 에이전트를 포함할 수 있다. 예를 들어, 에이전트는 해당 에이전트가 기준을 만족하지 않을 때 이차 에이전트 세트에 포함될 수 있다. 에이전트는 해당 에이전트가 기준을 만족할 때 일차 에이전트 세트에 포함될 수 있다.
일차 에이전트 세트는 계획 시스템(516)에 의해 획득될 수 있다. 이차 에이전트 세트는 계획 시스템(516)에 의해 획득될 수 있다. 계획 시스템(516)은 궤적 추출 방식과 같은 모션 계획(510)을 수행할 수 있다. 모션 계획(510)은 자율 주행 차량의 모션과 같은 잠재적 움직임을 결정하기 위해 사용될 수 있다. 모션 계획(510), 구체적으로 모션 계획(510)에 의해 출력되는 결과 및/또는 궤적에 기초하여, 자율 주행 차량 컴퓨터(540)는 궤적 평가 방식과 같은 궤적 평가(512)를 수행할 수 있다. 예를 들어, 모션 계획(510)은 자율 주행 차량의 하나 이상의 잠재적 궤적을 생성할 수 있다. 그 다음, 궤적 평가(512)는 자율 주행 차량에 의해 수행될 수 있는 자율 주행 차량에 대한 궤적을 생성하도록 잠재적 궤적들의 각각을 평가할 수 있다. 예를 들어, 궤적 평가(512)는 잠재적 궤적들의 평가를 위해 일차 에이전트 세트를 획득할 수 있다. 궤적 평가(512)는 일차 에이전트 세트에 기초하여, 자율 주행 차량을 작동시키기 위해 자율 주행 차량에 대한 궤적을 생성할 수 있다. 에이전트의 궤적은 공간 및 시간에서의 에이전트의 포지션을 나타내는 하나 이상의 궤적 파라미터를 특징으로 할 수 있다. 궤적은 하나 이상의 궤적 파라미터를 포함하는 궤적 출력으로서 볼 수 있다.
하나 이상의 예시적인 시스템에서, 일차 에이전트 세트에 기초하여 자율 주행 차량에 대한 궤적을 생성하는 것은, 일차 에이전트 세트 및 이차 에이전트 세트에 기초하여, 자율 주행 차량에 대한 궤적을 생성하는 것을 포함할 수 있다. 자율 주행 차량의 궤적은 이차 에이전트 세트에만 기초하여 생성될 수 있다.
하나 이상의 예시적인 시스템에서, 일차 에이전트 세트에 기초하여 자율 주행 차량에 대한 궤적을 생성하는 것은, 일차 에이전트 세트의 에이전트에 제1 모델을 적용하는 것을 포함할 수 있다. 예를 들어, 제1 모델은 일차 에이전트 세트의 각각의 에이전트에 적용될 수 있다.
하나 이상의 예시적인 시스템에서, 일차 에이전트 세트 및 이차 에이전트 세트에 기초하여 자율 주행 차량에 대한 궤적을 생성하는 것은, 이차 에이전트 세트의 하나 이상의 에이전트에 제2 모델을 적용하는 것을 포함할 수 있다. 예를 들어, 제2 모델은 이차 에이전트 세트의 각각의 에이전트에 적용될 수 있다.
제1 모델은 제2 모델과는 상이할 수 있다. 제1 모델은 제2 모델과는 상이한 파라미터를 가질 수 있다. 하나 이상의 예시적인 시스템에서, 제1 모델은 제2 모델보다 더 높은 충실도를 가질 수 있다. 하나 이상의 예시적인 시스템에서, 제1 모델 또는 제2 모델은, 에이전트 인식 방식, 에이전트 예측 방식, 에이전트 투영 방식, 궤적 추출 방식, 및 궤적 평가 방식, 중의 하나 이상을 포함한다. 제1 모델은 예를 들어 게임 이론적(Game-theoretic) 상호작용 인식 계획 및/또는 크라우스 래인-팔로우(Krauss Lane-Follow) 알고리즘일 수 있다. 제2 모델은 예를 들어 일정 속도 알고리즘 중의 하나 이상일 수 있다. 이들 모델은 에이전트 예측(506)에 특히 유용할 수 있다.
제1 모델 및/또는 제2 모델은 에이전트 예측(506)에도 사용될 수 있다. 예를 들어, 우선순위화 방식은 에이전트의 기하학적 표현의 충실도를 결정하는 데에 유용할 수 있다. 제1 모델은 복잡하고 가능한 볼록하지 않은 다각형을 사용하여 투영할 수 있다. 제2 모델은 경계 박스(bounding boxes)를 사용하여 투영할 수 있다.
제1 모델 및/또는 제2 모델은 또한 모션 계획(510)에 사용될 수 있다. 예를 들어, 제1 모델은 제약 추출을 사용할 수 있는 반면, 제2 모델은 제약 추출을 사용하지 않을 수 있다. 낮은 우선순위 에이전트에 대하여 제약 추출을 스킵함으로써, 총 계산이 감소될 수 있다.
제1 모델 및/또는 제2 모델은 또한 궤적 평가(512)에 사용될 수 있다. 예를 들어, 제1 모델은 충돌 검사를 위해 높은 샘플링 레이트를 사용할 수 있는 반면, 제2 모델은 낮은 샘플링 레이트를 사용할 수 있다.
에이전트 인식(504)은 센서 데이터(502)에 기초하여 에이전트를 식별하도록 구성될 수 있다. 예를 들어, 제1 모델을 적용하는 것은 일차 에이전트 세트에 제1 에이전트 인식 방식을 적용하는 것을 포함할 수 있다. 예를 들어, 제2 모델을 적용하는 것은 이차 에이전트 세트에 제2 에이전트 인식 방식을 적용하는 것을 포함할 수 있다. 예를 들어, 제2 에이전트 인식 방식은 제1 에이전트 인식 방식보다 더 낮은 충실도를 가질 수 있다.
일차 에이전트 세트의 에이전트에 제1 모델을 적용하는 것은 일차 에이전트 세트의 에이전트의 궤적을 예측하는 것을 포함할 수 있다. 예를 들어, 이차 에이전트 세트의 에이전트에 제2 모델을 적용하는 것은 이차 에이전트 세트의 에이전트의 궤적을 예측하는 것을 포함할 수 있다.
예를 들어, 일차 에이전트 세트의 에이전트에 제1 모델을 그리고/또는 이차 에이전트 세트의 에이전트에 제2 모델을 적용하는 것은 자율 주행 차량과 연관된 환경과 같은 영역으로 에이전트의 궤적을 투영하는 것을 포함할 수 있다. 자율 주행 차량과 연관된 영역은 자율 주행 차량에 의해 횡단될 수 있는(또는 그러할) 도로 표면을 포함할 수 있다. 에이전트 투영(508)을 적용할 때, 우선순위화를 위한 제1 모델은 에이전트의 기하학적 표현의 충실도를 결정하는데 사용될 수 있다. 예를 들어, 일차 에이전트 세트의 높은 우선순위 대상체는 복잡하고 가능한 볼록하지 않은 다각형을 사용하여 투영될 수 있는 반면, 이차 에이전트 세트의 낮은 우선순위 에이전트는 더 간단한 경계 박스로 투영될 수 있다.
특정 시스템에서, 제2 모델은 일차 에이전트 세트 및 이차 에이전트 세트 둘 다에 적용될 수 있다. 그 다음, 제1 모델이 일차 에이전트 세트에 추가적으로 적용될 수 있다.
제3 모델이 삼차(tertiary) 에이전트 세트에 적용될 수 있다. 제4 모델이 사차(quaternary) 에이전트 세트에 적용될 수 있다. 모델과 에이전트 세트의 개수는 한정되지 않는다.
하나 이상의 예시적인 시스템에서, 제어 시스템(408) 및/또는 AV 컴퓨터(540)와 같은 시스템은 적어도 하나의 프로세서로 하여금 궤적에 기초하여 자율 주행 차량을 작동시키게 할 수 있다. 자율 주행 차량은 자율 주행 차량을 운전하는 것과 같이 작동시킬 수 있다. 프로세서는 자율 주행 차량을 운전하는 것과 같이 작동시키도록 구성될 수 있다. 시스템은 자율 주행 차량을 운전하도록 구성될 수 있다. 시스템은 자율 주행 차량을 작동시키도록 구성될 수 있다. 예를 들어, 복수의 궤적들이 후보 궤적들로서 생성되고 보일 수 있다. 자율 주행 차량 컴퓨터(540)는 후보 궤적들 중에 궤적을 선택하고 선택된 궤적에 따라 선택적으로 운행하도록(navigate) 구성될 수 있다.
도 5b는, 예컨대 자율 주행 차량 궤적을 결정하기 위해, 에이전트 우선순위화 및/또는 필터링을 위한 프로세스의 하나 이상의 구현의 다이어그램을 예시한다. 구체적으로 도 5b는 인지 시스템(514) 및 계획 시스템(516)의 부가의 세부사항들을 예시한다.
도시된 바와 같이, 인지 시스템(514)은 센서 데이터(502)를 수신할 수 있다. 인지 시스템(514)은 신경 네트워크와 같은 신경 네트워크 모델(520)을 더 포함할 수 있다. 신경 네트워크 모델(520)은 도 5a에 관련하여 상기에 설명된 에이전트 인식(504), 에이전트 예측(506) 및 에이전트 투영(508) 중의 하나 이상을 포함할 수 있다.
신경 네트워크 모델(520)은 노드, 모델, 파라미터, 방식과 같은 다수의 헤드(head)들을 포함할 수 있다. 예를 들어, 신경 네트워크 모델(520)은 검출 헤드와 같은 인지 헤드(522), 중요도 분류 헤드와 같은 우선순위화 헤드(52), 및 예측 헤드(526), 중의 하나 이상을 포함할 수 있다. 인지 헤드(522)는 특정 예에서 상기에 설명된 에이전트 인식(504)을 포함할 수 있다. 예측 헤드(526)는 특정 예에서 상기에 설명된 에이전트 예측(506) 및 에이전트 투영(508)을 포함할 수 있다. 우선순위화 헤드(524)는, 예컨대 상기에 설명된 필터링 및/또는 우선순위화 방식을 사용하여, 일차 에이전트 세트의 결정에 사용될 수 있다.
도 5b에 도시된 바와 같이, 신경 네트워크 모델(520)은 센서 데이터(502)를 수신할 수 있다. 인지 헤드(522)는 에이전트 세트를 결정하도록 센서 데이터를 사용할 수 있다. 에이전트 세트는 환경에 위치된 하나 이상의 에이전트를 포함할 수 있다. 에이전트 세트는 환경에 위치된 복수의 에이전트들을 포함할 수 있다.
인지 헤드(522)는 신경 네트워크(520)에서 하나 이상의 추가적인 헤드에 에이전트 세트를 출력할 수 있다.
예를 들어, 인지 헤드는 예측 헤드(526)에 에이전트 세트를 출력할 수 있다. 예측 헤드(526)는, 에이전트 세트 내의 임의의 에이전트의 움직임을 예측하기 위해, 센서 데이터(502)와 함께 에이전트 세트를 이용할 수 있다. 예측 헤드(526)는, 에이전트 세트 내의 임의의 에이전트의 움직임을 예측하기 위해, 예를 들어 머신 러닝 및/또는 인공 지능을 이용할 수 있다. 또한, 예측 헤드(526)는 에이전트 세트의 각각의 에이전트에 대하여 상호작용 파라미터를 결정할 수 있다. 상호작용 파라미터는 해당 에이전트의 자율 주행 자량과의 상호작용의 예측을 나타낼 수 있다. 예를 들어, 예측 헤드(526)는 특정 에이전트가 자율 주행 차량과 상호작용할 가능성이 있는지 여부를 예측할 수 있다. 예측 헤드(526)는 예측을 나타내는 데이터 뿐만 아니라 상호작용 파라미터를 출력할 수 있다. 예를 들어, 상호작용 파라미터는 에이전트 세트 내의 특정 에이전트와 함께 저장될 수 있다.
인지 헤드(522)는 우선순위화 헤드(524)에 에이전트 세트를 출력할 수 있다. 우선순위화 헤드(524)는 규칙 기반의 우선순위화 헤드일 수 있다. 우선순위화 헤드(524)는 우선순위화 헤드에 기초한, 신경 네트워크와 같은 머신 러닝일 수 있다. 우선순위화 헤드(524)는, 예컨대 에이전트 세트 내의, 상이한 에이전트들의 우선순위화 방식을 제공할 수 있다. 우선순위화 헤드(524)는 필터링을 적용할 수 있다. 우선순위화 헤드(524)는, 예컨대 적어도 하나의 프로세서에 의해, 에이전트 세트로부터 일차 에이전트 세트를 결정할 수 있다. 우선순위화 헤드(524)는 예측 헤드(526)로부터의 상호작용 파라미터에 기초하여 일차 에이전트 세트를 결정할 수 있다. 또한, 우선순위화 헤드(524)는 에이전트 분석의 우선순위화를 위해 예측 헤드(526)에 출력을 제공할 수 있다.
예를 들어, 우선순위화 헤드(524)는 우선순위화를 수행하기 위해 상호작용 파라미터와 같은, 예측 헤드(526)로부터의 출력을 수신할 수 있다. 우선순위화 헤드(524)는, 예컨대 기준에 기초하여, 우선순위화를 출력할 수 있다. 우선순위화 헤드(524)는 예측 헤드(526)에 우선순위화를 출력할 수 있다.
그 다음, 인지 시스템(514)은 일차 에이전트 세트 및/또는 에이전트 세트에 특징 기반의 우선순위화(528)를 선택적으로 적용할 수 있다. 특징들은 호모토피일 수 있다. 특징들은 상호작용 파라미터일 수 있다. 특징 기반의 우선순위화는 본원에 설명된 필터링 및/또는 우선순위화 방식을 포함할 수 있다. 예를 들어, 우선순위화 헤드(524)는 특징 기반의 우선순위화(528)를 제공할 수 있다. 특징 기반의 우선순위화(528)는, 예컨대 우선순위화 방식에 기초하여, 일차 에이전트 세트 내의 에이전트들의 순서를 재배열할 수 있다. 예를 들어, 특징 기반의 우선순위화는 특징에 기초하여 일차 에이전트 세트의 에이전트들을 재배열할 수 있다. 특징은 하나 이상의 호모토피 파라미터일 수 있다. 특징 기반의 우선순위화(528)는 또한 에이전트 세트 및/또는 일차 에이전트 세트의 필터링을 제공할 수 있다.
일차 에이전트 세트는 인지 시스템(514)으로부터 출력될 수 있다. 예를 들어, 일차 에이전트 세트는 계획 시스템(516)으로 출력될 수 있다.
계획 시스템(516)은 인지 시스템(514)으로부터의 출력을 수신할 수 있다. 예를 들어, 계획 시스템(516)은 입력으로서 일차 에이전트 세트를 수신할 수 있다.
계획 시스템(516)은 일차 에이전트 세트 내의 에이전트들에 호모토피 추출과 같은 더 많은 호모토피 검색(homotopy search)(530)을 적용할 수 있다. 계획 시스템(516)은 에이전트 세트 내의 에이전트들에 호모토피 추출과 같은 더 많은 호모토피 검색(530)을 적용할 수 있다. 호모토피 검색(530)은 예를 들어 도 5a에서 상기에 설명된 모션 계획(510)일 수 있다.
도 5b에 도시된 바와 같이, 호모토피 검색(530)은 잠재적 궤적(532)을 생성할 수 있다. 호모토피 검색(530)은 다수의 잠재적 궤적(532, 532A, 532B) 및/또는 호모토피를 생성할 수 있으며, 이는 궤적 실현(realization)으로도 알려져 있다. 궤적의 개수에는 어떠한 특정 제한도 없으며, 임의의 수의 궤적 생성기가 생성될 수 있다.
잠재적 궤적(530, 530A, 530B)에 기초하여, 계획 시스템(516)은 궤적 선택(534)을 행할 수 있다. 이는 도 5a에 관련하여 상기에 설명된 궤적 평가(512)를 포함할 수 있다. 또한, 계획 시스템(516)은 자율 주행 차량의 궤적을 생성할 수 있다. 예를 들어, 계획 시스템(516)은 일차 에이전트 세트 및/또는 에이전트 세트에 기초하여 자율 주행 차량에 대한 궤적을 생성할 수 있다.
에이전트의 궤적은 공간 및 시간에서의 에이전트의 포지션을 나타내는 하나 이상의 궤적 파라미터를 특징으로 할 수 있다. 궤적은 하나 이상의 궤적 파라미터를 포함하는 궤적 출력으로서 볼 수 있다.
도 5c는 신경 네트워크(520)를 포함하는 것과 같은 인지 시스템(514)의 부가의 세부사항들을 예시한다. 특히, 도 5c는 제1 모델 및/또는 제2 모델과 같은 하나 이상의 모델이 에이전트 세트에 어떻게 적용될 수 있는지 예시한다.
설명된 바와 같이, 인지 시스템(514)은 센서 데이터(502)를 획득할 수 있다. 신경 네트워크(520)가 센서 데이터(502)를 더 수신할 수 있다. 센서 데이터(502)로부터, 상기에 설명된 인지 헤드(522) 및 우선순위화 헤드(524)와 같은 다수의 신경 네트워크 헤드들이 사용될 수 있다.
인지 헤드(522) 및 우선순위화 헤드(524)는 일차 에이전트 세트 및 이차 에이전트 세트를 결정하도록 함께 작업할 수 있다. 예를 들어, 높은 우선순위 에이전트가 일차 에이전트 세트에 포함될 수 있는 반면, 더 낮은 우선순위 에이전트가 이차 에이전트 세트에 포함될 수 있다. 우선순위화 헤드(524)는 사전 트레이닝될 수 있다. 우선순위화 헤드(524)는 트레이닝될 수 있다.
세립도(fine-grained) 예측 헤드와 같은 제1 모델(542)이 일차 에이전트 세트에 적용될 수 있다. 일차 에이전트 세트는 자율 주행 차량과 상호작용할 것으로 예측되는 에이전트를 포함할 수 있으므로, 제1 모델(542)은 높은 충실도를 가질 수 있다. 제1 모델(542)은 계산하는데 비용이 많이 들 수 있다. 따라서, 계산 능력은 일차 에이전트 세트의 보다 강건한 분석을 준비하는데 사용될 수 있다. 제1 모델(542)은 사전 트레이닝될 수 있다. 제1 모델(542)은 트레이닝될 수 있다.
조립도(coarse-grained) 예측 헤드와 같은 제2 모델(544)이 이차 에이전트 세트에 적용될 수 있다. 이차 에이전트 세트는 자율 주행 차량과 상호작용하지 않을 것으로 예측되는 에이전트를 포함할 수 있으므로, 제2 모델(544)은 낮은 충실도를 가질 수 있다. 제2 모델(544)은 계산하는데 비용이 더 적을 수 있다. 제2 모델(544)은 제1 모델(542)보다 낮은 충실도를 가질 수 있다. 따라서, 이차 에이전트 세트의 덜 강건한 분석을 준비하는 데에, 적어도 제1 모델(542)과 비교하여 볼 때, 계산 능력은 감소될 수 있다. 제2 모델(544)은 사전 트레이닝될 수 있다. 제2 모델(544)은 트레이닝될 수 있다.
또한, 에이전트 필터링 식별 포인트(501)가 신경 네트워크(520) 내에서 사용될 수 있다. 도 5c에 도시된 바와 같이, 에이전트 필터링 식별 포인트(501)는 우선순위화 헤드(524)와 함께 사용될 수 있다. 에이전트 필터링 식별 포인트(501)는 제1 모델(542)과 함께 사용될 수 있다. 또한, 에이전트 필터링 식별 포인트(501)는 인지 헤드(522) 및/또는 제2 모델(544)과 함께 사용될 수 있다.
도 6은, 신경 네트워크(540)에 대한 것과 같은, 자율 주행 차량 컴퓨터(400)를 트레이닝하기 위한 시스템을 예시한다. 자율 주행 차량 컴퓨터(400)는 도 5a 내지 도 5c의 자율 주행 차량 컴퓨터(540)의 작동에 따라 작동할 수 있다. 이는 보다 정확하고/하거나 보다 효율적인 궤적 맵을 생성하기 위해 행해질 수 있다. 데이터베이스(450)는, 인지 시스템(402), 계획 시스템(404), 로컬화 시스템(406) 및/또는 제어 시스템(408)으로 송신되며 이들로부터 수신되고/되거나 이들에 의해 업데이트되는 데이터를 저장한다. 일부 예에서, 데이터베이스(450)는, 작동에 관련된 데이터 및/또는 소프트웨어를 저장하고 자율 주행 차량 컴퓨터(400)의 적어도 하나의 시스템을 사용하는 저장 컴포넌트(예컨대, 도 3의 저장 컴포넌트(308)와 동일하거나 유사한 저장 컴포넌트)를 포함한다. 일부 실시예에서, 데이터베이스(450)는 적어도 하나의 영역의 2D 및/또는 3D 맵과 연관된 데이터를 저장한다. 일부 예에서, 데이터베이스(450)는 도시의 일 부분, 다수의 도시들의 다수의 부분들, 다수의 도시들, 카운티, 주, 국가(State)(예를 들면, 나라(country)) 등의 2D 및/또는 3D 맵과 연관된 데이터를 저장한다. 그러한 예에서, 차량(예를 들면, 차량들(102) 및/또는 차량(200)과 동일하거나 유사한 차량)은 하나 이상의 운전 가능한 영역(예를 들면, 단일 차선 도로, 다중 차선 도로, 간선도로, 시골 길(back road), 오프로드 트레일 등)을 따라 운전할 수 있고, 적어도 하나의 LiDAR 센서(예를 들면, LiDAR 센서들(202b)과 동일하거나 유사한 LiDAR 센서)로 하여금 적어도 하나의 LiDAR 센서의 시야에 포함된 대상체들을 나타내는 이미지와 연관된 데이터를 생성하게 할 수 있다.
일부 실시예에서, 데이터베이스(450)는 복수의 디바이스들에 걸쳐 구현될 수 있다. 일부 예에서, 데이터베이스(450)는 차량(예를 들면, 차량들(102) 및/또는 차량(200)과 동일하거나 유사한 차량), 자율 주행 차량 시스템(예를 들면, 원격 AV 시스템(114)과 동일하거나 유사한 자율 주행 차량 시스템), 플릿 관리 시스템(예를 들면, 도 1의 플릿 관리 시스템(116)과 동일하거나 유사한 플릿 관리 시스템), 및/또는 V2I 시스템(예를 들면, 도 1의 V2I 시스템(118)과 동일하거나 유사한 V2I 시스템) 등에 포함될 수 있다. 데이터베이스(450)는 차량에 포함된 것과 같은 물리적 데이터베이스일 수 있다. 데이터베이스(450)는 차량에 의해 액세스될 수 있는 클라우드 데이터베이스와 같은 가상 데이터베이스일 수 있다.
예를 들어 전문가 드라이버로부터 생성된 데이터베이스와 같은 데이터베이스(450)가, 증강 예측 신경 네트워크와 같은 신경 네트워크(540)에 데이터 입력을 제공하도록 사용될 수 있다. 데이터베이스(450)는 또한, 예컨대 실측 자료를 위해, 플래너 시스템(454)에 데이터를 제공할 수 있다. 신경 네트워크(540) 및 플래너 시스템(454) 중의 하나 또는 둘 다는, 신경 네트워크(540)가 어떻게 수행하여야 하는지에 비교하여, 신경 네트워크(540)가 어떻게 수행하고 있는지에 대한 비교를 나타내는 손실을 결정할 수 있다. 예를 들어, 신경 네트워크(540)과 플래너(454) 사이에 중요도 계수가 비교될 수 있다. 신경 네트워크(540)를 개선하기 위해 손실(456)은 플래너(454), 신경 네트워크(540) 및 데이터베이스(450) 중의 하나 이상에 출력될 수 있다. 손실(456)은 플래너(454)와 신경 네트워크(540) 사이에 계산될 수 있다. 예를 들어, 손실(456)은, 인지 시스템(402), 계획 시스템(404), 제1 모델(542), 제2 모델(544), 인지 헤드(522), 우선순위화 헤드(524), 인지 헤드(526), 특징 기반의 우선순위화(528), 호모토피 검색(530), 에이전트 인식(504), 에이전트 예측(506), 에이전트 투영(508), 및 모션 계획(510), 중의 하나 이상을 업데이트, 예컨대 트레이닝하도록 사용될 수 있다. 에이전트들의 특징들에는 트레이닝에 사용될 수 있는 스칼라 숫자가 지정될 수 있다.
플래너 시스템(454)은 호모토피 및/또는 중요도 기준을 추출하는데 사용될 수 있다. 플래너 시스템(454)은 신경 네트워크(540)를 트레이닝하는데 사용될 수 있다. 예를 들어, 플래너 시스템(454)은 에이전트가 자율 주행 차량에 대한 이동 통로에 어떻게 영향을 미치는지 추출하는데 사용될 수 있다. 신경 네트워크(540)는 플래너 시스템(545)이 각각의 에이전트에 적용된 것과 동일한 정보를 추출하도록 트레이닝될 수 있다. 플래너 시스템(454)은 사람이 만든 또는 미리 설정된 규칙을 포함할 수 있지만, 신경 네트워크(540)는 이를 피하고 대신 머신 러닝을 사용할 수 있다.
예를 들어, 플래너 시스템(454)은 주어진 시나리오 상에서 에이전트들의 중요도를 결정하기 위해 다수 회 실행될 수 있다. 그렇지만, 이는 자율 주행 차량의 모든 잠재적 상호작용에 대하여 행하기에 시간 소모적이고 비용이 많이 들 수 있다. 그러나, 플래너 시스템(454)은 다수의 시나리오 실행을 사용하여 신경 네트워크(540)를 트레이닝하는데 사용될 수 있다. 플래너 시스템(454)은 오프라인으로 실행될 수 있고, 따라서 자율 주행 차량의 작동 동안 활성이 아닐 수 있다.
이제 도 7a 및 도 7b를 참조하면, 예컨대 자율 주행 차량 궤적을 결정하기 위해, 에이전트 우선순위화 및/또는 에이전트 필터링을 위한 프로세스의 구현(700)의 다이어그램들이 예시되어 있다. 일부 실시예에서, 구현(700)은 상기에 상세하게 개시된 바와 같은 인지 시스템(402) 또는 인지 시스템(514) 및 계획 시스템(404) 또는 계획 시스템(516)을 포함한다. 로컬화 시스템(406), 제어 시스템(408) 등과 같은 부가의 시스템도 이용될 수 있다.
구체적으로, 도 7a는, 예컨대 자율 주행 차량 궤적을 결정하기 위해, 에이전트 우선순위화 및/또는 에이전트 필터링을 위한 프로세스의 실세계 예시적인 구현(700)을 예시한다.
자율 주행 차량(702)은 상기에 상세하게 설명된 임의의 및/또는 모든 시스템, 방법 및 매체를 포함할 수 있다. 자율 주행 차량(702)은 도 7b에 나타낸 바와 같은 방향을 가질 수 있다. 자율 주행 차량(702)은 자율 주행 차량(702)이 작동하고 있는 환경의 센서 데이터를 획득할 수 있다. 그 다음, 자율 주행 차량(702)은 센서 데이터에 기초하여 환경에 위치된 복수의 에이전트들을 포함하는 에이전트 세트를 결정할 수 있다.
도 7a에서, 에이전트 세트에 결정 및 포함될 수 있는 다수의 에이전트들이 있다. 예를 들어, 제1 에이전트(704), 제2 에이전트(706), 제3 에이전트(708), 제4 에이전트(710)가 있다. 에이전트들(704, 706, 708, 710)은 차량 에이전트로 불릴 수 있다. 에이전트들은 전부 도 7a에 나타낸 바와 같은 현재 방향을 가질 수 있다.
자율 주행 차량(702)은, 에이전트들(704, 706, 708, 710) 각각에 대하여, 해당 에이전트의 자율 주행 차량과의 상호작용의 예측을 나타내는 상호작용 파라미터를 결정하도록 구성된다. 제1 에이전트(704)는 가드 레일에 의해 자율 주행 차량(702)으로부터 분리되어 있으므로, 제1 에이전트(704)는 매우 낮은 상호작용 파라미터를 가질 것이다. 마찬가지로, 제4 에이전트(710)는 제2 에이전트(706)를 포함한 차선에 의해 분리되어 있고 또한 자율 주행 차량(702) 앞에 있으므로, 제4 에이전트(710)도 또한 낮은 상호작용 파라미터를 가질 것이다. 제4 에이전트(710)로부터의 상호작용의 일부 잠재적 예측이 있을 수 있으므로, 제1 에이전트(704)보다는 더 높은 상호작용 파라미터를 가질 수 있다.
제2 에이전트(706) 옆으로 이동하면, 자율 주행 차량(702)에 가깝기도 하고 그와 나란히 있다. 따라서, 높은 상호작용 예측이 있으므로, 제2 에이전트(706)는 높은 상호작용 파라미터를 가질 수 있다.
제3 에이전트(708)는 차선에 의해 분리되어 있지만, 자율 주행 차량 뒤에 위치되어 있다. 비교적 낮은 상호작용 및 그에 따라 낮은 상호작용 파라미터를 가질 것으로 예측될 수 있다. 상황 인식에 따라, 제4 에이전트(710)보다 더 높거나 더 낮거나 또는 등가인 상호작용 파라미터를 가질 수 있다. 편의상, 제3 에이전트(708)는 제2 에이전트(706)와 제4 에이전트(710) 사이의 상호작용 파라미터를 갖는다고 가정할 것이다.
따라서, 자율 주행 차량(702)은 에이전트들(704, 706, 708, 및 710)의 상호작용 파라미터에 기초하여 일차 에이전트 세트를 결정할 수 있다. 설명한 바와 같이, 자율 주행 차량(702)은 일차 에이전트 세트를 결정하기 위해 복수의 에이전트들을 필터링 및/또는 우선순위화할 수 있다.
도 7a에 도시된 상황에서, 제1 에이전트(704)는 기준을 만족하는 상호작용 파라미터를 가질 수 있다. 따라서, 제1 에이전트(704)는 필터링될 수 있고, 자율 주행 차량(702)은 제1 에이전트(704)에 관심이 없을 수 있다.
우선순위화 방식이 나머지 에이전트들(706, 708, 및 710)에, 예를 들어 기준에 기초하여, 적용될 수 있다. 따라서, 에이전트들은, 일차 에이전트 세트의 결정에 있어서, 높은 우선순위에서 낮은 우선순위로, 제2 에이전트(706), 제3 에이전트(708) 및 제4 에이전트(710)로 우선순위화될 수 있다. 그 다음, 자율 주행 차량(702)은 일차 에이전트 세트에 기초하여 자율 주행 차량(702)의 궤적을 생성할 수 있다. 또한, 자율 주행 차량(702)은 궤적을 따라 작동할 수 있다.
대안으로서, 제2 에이전트(706)는 일차 에이전트 세트에 포함되는 반면, 제3 에이전트(708) 및 제4 에이전트(710)는 이차 에이전트 세트에 포함되는 것으로 결정될 수 있다. 제2 에이전트(706)를 갖는 일차 에이전트 세트에 제1 모델이 적용될 수 있으며, 이는 높은 충실도를 가질 수 있다. 이는 제2 에이전트(706)가 자율 주행 차량(702)과 상호작용할 수 있다는 높은 예측이 있으므로 유리할 수 있다. 반면에, 제3 에이전트(708) 및 제4 에이전트(710)를 갖는 이차 에이전트 세트에 제2 모델이 적용될 수 있으며, 이는 낮은 충실도를 가질 수 있다. 자율 주행 차량(702)이 제1 에이전트(704)와는 달리 제3 에이전트(708) 및 제4 에이전트(710)에 여전히 관심이 있지만, 상호작용의 예측이 낮고 따라서 더 낮은 충실도 모델이 사용될 수 있다. 이는 유리하게 자율 주행 차량(702)의 계산 능력을 절약할 수 있다.
에이전트 세트에 결정 및 포함될 수 있는 부가의 에이전트는 에이전트들(720A, 720B, 720C, 720D)이다. 예를 들어, 에이전트들(720A, 720B, 720C, 720D)은 보행자 에이전트들로 불릴 수 있다. 이들을 에이전트 세트에 포함시키기 위해 에이전트들(720A, 720B, 720C, 720D) 전부를 추적하는 것은 계산적으로 비효율적일 수 있다. 따라서, 자율 주행 차량(702)은, 예를 들어 에이전트들(720A, 720B, 720C, 720D)이 대략 동일한 속력 및 방향으로 움직이는 것 같다고 자율 주행 차량(702)이 결정하는 경우, 이들을 함께 클러스터링하도록 구성될 수 있다. 따라서, 자율 주행 차량(702)은 에이전트들(720A, 720B, 720C, 720D)을 단일 결합된 에이전트(722)로서 취급할 수 있다. 그러므로, 자율 주행 차량(702)은 에이전트들(720A, 720B, 720C, 720D) 각각에 대하여 상호작용 파라미터를 결정하는 대신, 결합된 에이전트(722)에 대하여 상호작용 파라미터를 결정할 수 있다. 이는 계산 능력을 절약할 수 있다.
도 7b는, 예컨대 자율 주행 차량 궤적을 결정하기 위해, 에이전트 우선순위화 및/또는 에이전트 필터링을 위한 프로세스의 예시적인 구현(700)을 예시한다. 도시된 바와 같이, 자율 주행 차량(702)은 센서 데이터를 결정하도록 센서를 사용할 수 있다. 센서 데이터에 기초하여, 자율 주행 차량(702)은 상기에 상세하게 설명된 바와 같이 에이전트 세트 및 일차 에이전트 세트(714)를 결정할 수 있다. 상기에 상세하게 설명된 대로, 일차 에이전트 세트는 계획 시스템(404)에 의해 획득될 수 있다. 계획 시스템(404)은 궤적(716)을 전송하거나 출력할 수 있다. 예를 들어, 계획 시스템(404)은 제어 시스템(408)에 궤적(716)을 전송할 수 있다. 제어 시스템(408)은, 예컨대 궤적(716)이 나타내는 커맨드를 통해, 자율 주행 차량(702)을 작동시키도록 사용될 수 있다.
이제 도 8을 참조하면, 예컨대 자율 주행 차량 궤적을 결정하기 위해, 에이전트 우선순위화 및/또는 에이전트 필터링을 위한 프로세스(800)의 플로우차트가 예시되어 있다. 방법은 도 1, 도 2, 도 3, 도 4, 도 5a 내지 도 5c, 도 6, 및 도 7a 내지 도 7b의 AV 컴퓨터(40) 및 차량(102, 200, 300, 702)과 같은, 본원에 개시된 시스템에 의해 수행될 수 있다. 개시된 시스템은 방법(800)의 동작 중의 하나 이상을 수행하도록 구성될 수 있는 적어도 하나의 프로세서를 포함할 수 있다.
방법(800)은 자율 주행 차량을 작동시키기 위한 방법일 수 있다. 하나 이상의 예시적인 방법에서, 방법(800)은 단계(802)에서, 적어도 하나의 프로세서에 의해, 자율 주행 차량이 작동하고 있는 환경과 연관된 센서 데이터를 획득하는 단계를 포함할 수 있다. 하나 이상의 예시적인 방법에서, 방법(800)은, 적어도 하나의 프로세서에 의해, 센서 데이터에 기초하여, 환경에 위치된 복수의 에이전트들을 포함하는 에이전트 세트를 결정하는 단계(804)를 포함할 수 있다. 하나 이상의 예시적인 방법에서, 방법(800)은, 적어도 하나의 프로세서에 의해, 에이전트 세트의 각각의 에이전트에 대하여, 해당 에이전트의 자율 주행 차량과의 상호작용의 예측을 나타내는 상호작용 파라미터를 결정하는 단계(806)를 포함할 수 있다. 하나 이상의 예시적인 방법에서, 방법(800)은, 적어도 하나의 프로세서에 의해, 상호작용 파라미터에 기초하여, 일차 에이전트 세트를 결정하는 단계(808)를 포함할 수 있으며, 일차 에이전트 세트는 에이전트 세트의 서브세트이다. 하나 이상의 예시적인 방법에서, 방법(800)은, 적어도 하나의 프로세서에 의해, 일차 에이전트 세트에 기초하여, 자율 주행 차량에 대한 궤적을 생성하는 단계(810)를 포함할 수 있다.
자율 주행 차량은 적어도 하나의 센서를 포함할 수 있다. 센서 데이터는 적어도 하나의 센서로부터 있을 수 있다. 센서 데이터는 자율 주행 차량과 연관된 하나 이상의 센서로부터 있을 수 있다.
상호작용 파라미터는 예컨대 잠재적 상호작용, 잠재적 충돌 및/또는 잠재적 부딪힘으로 인해, 자율 주행 차량의 궤적에 대한 해당 에이전트의 상호작용을 나타낼 수 있다. 예를 들어, 상호작용 파라미터는 해당 에이전트의 자율 주행 차량과의 잠재적 미래 상호작용, 예컨대 예측되는 상호작용, 예컨대 에이전트가 자율 주행 차량과 상호작용할 확률을 나타낼 수 있다. 예를 들어, 상호작용 파라미터는 해당 에이전트가 자율 주행 차량과 상호작용할 상호작용 레벨의 예측을 나타낼 수 있다.
일차 에이전트 세트는 에이전트 세트의 적절한 서브세트일 수 있다.
궤적은 공간 및 시간에서의 에이전트의 포지션을 나타내는 하나 이상의 궤적 파라미터를 특징으로 할 수 있다. 궤적은 하나 이상의 궤적 파라미터를 포함하는 궤적 출력으로서 볼 수 있다.
하나 이상의 예시적인 방법에서, 상호작용 파라미터에 기초하여 일차 에이전트 세트를 결정하는 것은, 상호작용 파라미터에 기초하여 에이전트 세트의 하나 이상의 에이전트를 필터링하는 것에 의해 일차 에이전트 세트를 결정하는 것을 포함할 수 있다.
필터링되지 않은 에이전트 세트의 에이전트들이 일차 에이전트 세트에 포함될 수 있다.
하나 이상의 예시적인 방법에서, 상호작용 파라미터에 기초하여 일차 에이전트 세트를 결정하는 것은, 에이전트 세트에, 상호작용 파라미터에 기초하여 우선순위화 방식을 적용함으로써 일차 에이전트 세트를 결정하는 것을 포함할 수 있다.
우선순위화되는 에이전트 세트의 에이전트들이 일차 에이전트 세트에 포함될 수 있다.
하나 이상의 예시적인 방법에서, 필터링 또는 우선순위화 방식은 상호작용 파라미터에 적용된 기준에 기초할 수 있다.
하나 이상의 예시적인 방법에서, 필터링 및/또는 우선순위화 방식은 상호작용 파라미터에 적용된 기준에 기초할 수 있다.
다르게 말하자면, 방법은 해당 에이전트의 상호작용 파라미터가 임계치와 같은 기준을 만족하는지 여부를 결정하는 것을 포함할 수 있다. 예를 들어, 에이전트는 에이전트의 상호작용 파라미터가 기준을 만족할 때 일차 에이전트 세트에 포함될 수 있다.
하나 이상의 예시적인 방법에서, 일차 에이전트 세트에 기초하여 자율 주행 차량에 대한 궤적을 생성하는 것은, 일차 에이전트 세트의 에이전트에 제1 모델을 적용하는 것을 포함한다.
하나 이상의 예시적인 방법에서, 방법(800)은, 적어도 하나의 프로세서에 의해, 상호작용 파라미터에 기초하여, 이차 에이전트 세트를 결정하는 것을 더 포함할 수 있으며, 일차 에이전트 세트 및 이차 에이전트 세트는 에이전트 세트의 상호 배타적인 서브세트들이다.
예를 들어, 이차 에이전트 세트는, 예컨대 그의 상호작용 파라미터에 기초하여, 상호작용이 더 적은 것으로 간주되는 에이전트를 포함할 수 있다. 예를 들어, 에이전트는 에이전트의 상호작용 파라미터가 기준을 만족하지 않을 때 이차 에이전트 세트에 포함될 수 있다.
하나 이상의 예시적인 방법에서, 일차 에이전트 세트에 기초하여 자율 주행 차량에 대한 궤적을 생성하는 것은, 일차 에이전트 세트 및 이차 에이전트 세트에 기초하여, 자율 주행 차량에 대한 궤적을 생성하는 것을 포함할 수 있다.
하나 이상의 예시적인 방법에서, 일차 에이전트 세트 및 이차 에이전트 세트에 기초하여 자율 주행 차량에 대한 궤적을 생성하는 것은, 이차 에이전트 세트의 하나 이상의 에이전트에 제2 모델을 적용하는 것을 포함할 수 있다.
제3 모델이 적용될 수 있고, 제4 모델이 적용될 수 있고, 제5 모델이 적용될 수 있고, 등등이다. 제2 모델은 제1 모델과는 상이할 수 있다.
하나 이상의 예시적인 방법에서, 제1 모델은 제2 모델보다 더 높은 충실도를 가질 수 있다.
하나 이상의 예시적인 방법에서, 제1 모델 또는 제2 모델은, 에이전트 인식 방식, 에이전트 예측 방식, 에이전트 투영 방식, 궤적 추출 방식, 및 궤적 평가 방식, 중의 하나 이상을 포함할 수 있다.
에이전트 인식 방식과 같은 방법은 센서 데이터에 기초하여 에이전트를 식별하도록 구성될 수 있다. 예를 들어, 제1 모델을 적용하는 것은 일차 에이전트 세트에 제1 에이전트 인식 방식을 적용하는 것을 포함할 수 있다. 예를 들어, 제2 모델을 적용하는 것은 이차 에이전트 세트에 제2 에이전트 인식 방식을 적용하는 것을 포함할 수 있다. 예를 들어, 제2 에이전트 인식 방식은 제1 에이전트 인식 방식보다 더 낮은 충실도를 가질 수 있다. 예를 들어, 일차 에이전트 세트의 에이전트에 제1 모델을 적용하는 것은 일차 에이전트 세트의 에이전트의 궤적을 예측하는 것을 포함할 수 있다. 예를 들어, 이차 에이전트 세트의 에이전트에 제2 모델을 적용하는 것은 이차 에이전트 세트의 에이전트의 궤적을 예측하는 것을 포함할 수 있다.
예를 들어, 일차 에이전트 세트의 에이전트에 제1 모델을 그리고/또는 이차 에이전트 세트의 에이전트에 제2 모델을 적용하는 것은, 환경과 같은, 자율 주행 차량과 연관된 영역으로 에이전트의 궤적을 투영하는 것을 포함할 수 있다. 자율 주행 차량과 연관된 영역은 자율 주행 차량에 의해 횡단될 수 있는(또는 그러할) 도로 표면을 포함할 수 있다. 검출된 에이전트를 자율 주행 차량의 경로로 투영할 때, 우선순위화를 위한 제1 모델은 에이전트의 기하학적 표현의 충실도를 결정하는데 사용될 수 있고, 예를 들어 일차 에이전트 세트의 높은 우선순위 대상체는 복잡하고 가능한 볼록하지 않은 다각형을 사용하여 투영될 수 있는 반면, 이차 에이전트 세트의 낮은 우선순위 에이전트는 더 간단한 경계 박스로 투영될 수 있다.
궤적 추출에 대하여, 검출된 각각의 에이전트로부터 자율 주행 차량의 의도한 궤적에 대해 제약이 적용될 수 있다. 더 많은 제약이 있는 에이전트 및 대상체를 우선순위화함으로써, 더 적은 제약의 에이전트에 대한 제약 추출이 스킵될 수 있고, 따라서 총 계산을 감소시킬 수 있다.
궤적 평가에 관하여, 궤적을 평가할 때, AV 컴퓨터는 검출된 대상체와의 충돌을 체크할 수 있다. 낮은 우선순위 대상체는 더 높은 우선순위 대상체보다는 더 낮은 샘플링 레이트로 충돌 체크를 실행할 수 있다.
하나 이상의 예시적인 방법에서, 적어도 하나의 프로세서에 의해, 에이전트 세트의 각각의 에이전트에 대하여 해당 에이전트의 자율 주행 차량과의 상호작용의 예측을 나타내는 상호작용 파라미터를 결정하는 것은, 해당 에이전트의 자율 주행 차량과의 상호작용을 예측하고, 예측에 기초하여 상호작용 파라미터를 결정하는 것을 포함할 수 있다. 하나 이상의 예시적인 방법에서, 적어도 하나의 프로세서에 의해, 에이전트 세트의 각각의 에이전트에 대하여 해당 에이전트의 자율 주행 차량과의 상호작용의 예측을 나타내는 상호작용 파라미터를 결정하는 것은, 해당 에이전트의 자율 주행 차량과의 상호작용을 예측하는 것을 포함할 수 있다. 하나 이상의 예시적인 방법에서, 적어도 하나의 프로세서에 의해, 에이전트 세트의 각각의 에이전트에 대하여 해당 에이전트의 자율 주행 차량과의 상호작용의 예측을 나타내는 상호작용 파라미터를 결정하는 것은, 예측에 기초하여 상호작용 파라미터를 결정하는 것을 포함할 수 있다.
하나 이상의 예시적인 방법에서, 해당 에이전트의 자율 주행 차량과의 상호작용을 예측하는 것은, 각각의 에이전트에 대하여, 자율 주행 차량의 궤적에 대해 에이전트에 의해 적용된 제약을 나타내는 하나 이상의 호모토피 파라미터를 결정하고, 하나 이상의 호모토피 파라미터에 기초하여 상호작용을 예측하는 것을 포함할 수 있다. 하나 이상의 예시적인 방법에서, 해당 에이전트의 자율 주행 차량과의 상호작용을 예측하는 것은, 각각의 에이전트에 대하여, 자율 주행 차량의 궤적에 대해 에이전트에 의해 적용된 제약을 나타내는 하나 이상의 호모토피 파라미터를 결정하는 것을 포함할 수 있다. 하나 이상의 예시적인 방법에서, 해당 에이전트의 자율 주행 차량과의 상호작용을 예측하는 것은 하나 이상의 호모토피 파라미터에 기초하여 상호작용을 예측하는 것을 포함할 수 있다.
호모토피 파라미터는 호모토피의 수를 포함할 수 있다. 호모토피 파라미터는 호모토피의 크기를 포함할 수 있다.
하나 이상의 예시적인 방법에서, 하나 이상의 호모토피 파라미터에 기초하여 상호작용을 예측하는 것은 신경 네트워크 모델로 하나 이상의 호모토피 파라미터 또는 센서 데이터를 입력함으로써 상호작용을 예측하는 것을 포함할 수 있다.
하나 이상의 예시적인 방법에서, 하나 이상의 호모토피 파라미터에 기초하여 상호작용을 예측하는 것은 신경 네트워크 모델로 하나 이상의 호모토피 파라미터 및/또는 센서 데이터를 입력함으로써 상호작용을 예측하는 것을 포함할 수 있다.
다수의 특징들 또는 파라미터들이 신경 네트워크 모델을 트레이닝하는데 사용될 수 있는 스칼라 숫자로 조합될 수 있다. 공장에서와 같이, 오프라인 플래너가 데이터세트에 최종 중요도 계수로 주석달기하는데 사용될 수 있다. 실시간 요건(들)은 드롭될 수 있다. 실측 자료 예측이 이용될 수 있다. 또한, 데이터의 큐레이션이 신경 네트워크 모델의 트레이닝에 사용될 수 있다.
하나 이상의 예시적인 방법에서, 하나 이상의 호모토피 파라미터는 에이전트의 속력, 에이전트의 가속도, 및 에이전트의 위치 중의 하나 이상을 나타낼 수 있다.
하나 이상의 예시적인 방법에서, 방법(800)은 하나 이상의 호모토피 파라미터에 기초하여 복수의 에이전트들의 에이전트들을 클러스터링하는 것을 포함할 수 있다.
에이전트들의 영향이 서로 유사할 수 있으며, 트레이닝 및 실행 동안 에이전트들이 함께 클러스터링될 수 있음을 제안할 수 있다. 예를 들어, 동시에 도로를 건너는 다수 보행자들의 영향은 유사할 수 있고, 보행자들 중의 하나에 적용되는 필터링/우선순위화 방식이 모두에게 적용될 수 있다. 예를 들어, 방법은, 호모토피 추출기에 기초하여, 복수의 에이전트들 각각에 대한 클러스터링 파라미터를 결정하는 것을 포함할 수 있다. 방법은 복수의 에이전트들 중의 제1 에이전트의 클러스터링 파라미터를 복수의 에이전트들 중의 제2 에이전트의 클러스터링 파라미터와 비교하는 것을 포함할 수 있다. 제1 클러스터링 파라미터 및 제2 클러스터링 파라미터 둘 다가 클러스터링 기준을 만족하는 것에 따라, 방법은 제2 에이전트를 필터링하는 것을 포함할 수 있다.
하나 이상의 예시적인 방법에서, 복수의 에이전트들의 에이전트는 시간이 지남에 따라 동적 움직임이 가능한 대상체를 포함할 수 있다.
에이전트는 센서에 의해 캡처되는 임의의 대상체, 예컨대 도로 사용자 및/또는 도로 장비일 수 있다.
하나 이상의 예시적인 방법에서, 방법(800)은 궤적에 기초하여 자율 주행 차량을 작동시키는 것을 포함할 수 있다.
예를 들어, 복수의 궤적들이 후보 궤적들로서 생성되고 보일 수 있다. 자율 주행 차량 컴퓨터는 후보 궤적들 중에 궤적을 선택하고 선택된 궤적에 따라 선택적으로 운행하도록 구성될 수 있다.
여기에 더 개시된 것은 자율 주행 차량을 작동시키기 위한 방법이다. 하나 이상의 예시적인 방법에서, 방법은, 적어도 하나의 프로세서에 의해, 자율 주행 차량이 작동하고 있는 환경과 연관된 센서 데이터를 획득하는 것을 포함할 수 있다. 하나 이상의 예시적인 방법에서, 방법은, 적어도 하나의 프로세서에 의해, 센서 데이터에 기초하여, 환경에 위치된 복수의 에이전트들을 포함하는 에이전트 세트를 결정하는 것을 포함할 수 있다. 하나 이상의 예시적인 방법에서, 방법은, 적어도 하나의 프로세서에 의해, 에이전트 세트에, 센서 데이터에 기초한 우선순위화 방식을 적용함으로써 일차 에이전트 세트를 결정하는 것을 포함할 수 있다. 하나 이상의 예시적인 방법에서, 방법은, 적어도 하나의 프로세서에 의해, 일차 에이전트 세트에 기초하여, 자율 주행 차량에 대한 궤적을 생성하는 것을 포함할 수 있다.
도 9는 개시된 실시예, 시스템, 방법, 및 컴퓨터 프로그램 제품의 이점 중의 하나를 예시한다. y 축은 x 축을 따라 본 개시의 상이한 양상들을 사용하는 궤적 추출 타임라인의 레이턴시를 예시하며, 예를 들어 계산 시간을 예시할 수 있다. y 축은 일반적으로 계산 시간을 나타내는 것으로 이해될 수 있다. 예측 헤드(526), 호모토피 검색(530), 궤적 실현(532), 궤적 선택(534)에 대하여, 높은 충실도 모델(902), 중간 충실도 모델(904) 및 낮은 충실도 모델(906)을 포함하는 상이한 타입의 모델들이 도시되어 있다(예컨대, 도 5b에 관련하여 예시됨). 제1 모델은 높은 충실도 모델(902)일 수 있고, 제2 모델은 중간 충실도 모델(904)이거나 낮은 충실도 모델(906)일 수 있다. 대안으로서, 제1 모델은 중간 충실도 모델(904)일 수 있고, 제2 모델은 낮은 충실도 모델(906)일 수 있다.
도시된 바와 같이, 예컨대 자율 주행 차량 궤적을 결정하기 위해, 에이전트 우선순위화 및/또는 에이전트 필터링에 대하여 개시된 실시예, 시스템, 방법, 및 컴퓨터 프로그램 제품을 사용하는 것에는 강한 계산 효율적 이점이 있을 수 있다.
전술한 설명에서, 본 개시의 양태들 및 실시예들은 구현마다 달라질 수 있는 다수의 특정 세부 사항들을 참조하여 기술되었다. 그에 따라, 설명 및 도면들은 제한적인 의미가 아니라 예시적인 의미로 간주되어야 한다. 본 발명의 범위의 유일한 독점적인 지표, 및 출원인이 본 발명의 범위이도록 의도한 것은, 본 출원에서 특정 형태로 나오는 일련의 청구항의 문언적 등가 범위이며, 임의의 후속 보정을 포함한다. 그러한 청구항에 포함된 용어에 대한 본원에서 명시적으로 기재된 임의의 정의는 청구항에서 사용되는 그러한 용어의 의미를 결정한다. 추가적으로, 전술한 설명 및 이하의 청구항에서 "추가로 포함하는"이라는 용어가 사용될 때, 이 문구에 뒤따르는 것은 추가적인 단계 또는 엔티티, 또는 이전에 언급된 단계 또는 엔티티의 서브-단계/서브-엔티티일 수 있다.
또한 이하의 항목들 중 임의의 것에 따른 방법들, 비일시적 컴퓨터 판독 가능 매체들 및 시스템들이 개시된다.
항목 1. 자율 주행 차량을 작동(operating)시키는 방법에 있어서,
적어도 하나의 프로세서에 의해, 자율 주행 차량이 작동하는 있는 환경과 연관된 센서 데이터를 획득하는 단계;
상기 적어도 하나의 프로세서에 의해, 상기 센서 데이터에 기초하여, 상기 환경에 위치된 복수의 에이전트들을 포함하는 에이전트 세트를 결정하는 단계;
상기 적어도 하나의 프로세서에 의해, 상기 에이전트 세트의 각각의 에이전트에 대하여, 해당 에이전트의 상기 자율 주행 차량과의 상호작용의 예측을 나타내는 상호작용 파라미터를 결정하는 단계;
상기 적어도 하나의 프로세서에 의해, 상기 상호작용 파라미터에 기초하여, 일차(primary) 에이전트 세트를 결정하는 단계 - 상기 일차 에이전트 세트는 상기 에이전트 세트의 서브세트임 - ; 및
상기 적어도 하나의 프로세서에 의해, 상기 일차 에이전트 세트에 기초하여, 상기 자율 주행 차량에 대한 궤적을 생성하는 단계
를 포함하는, 방법.
항목 2. 항목 1에 있어서, 상기 상호작용 파라미터에 기초하여 상기 일차 에이전트 세트를 결정하는 단계는, 상기 상호작용 파라미터에 기초하여 상기 에이전트 세트의 하나 이상의 에이전트를 필터링(filtering out)함으로써 상기 일차 에이전트 세트를 결정하는 단계를 포함하는 것인, 방법.
항목 3. 항목 1 또는 항목 2에 있어서, 상기 상호작용 파라미터에 기초하여 상기 일차 에이전트 세트를 결정하는 단계는:
상기 상호작용 파라미터에 기초한 우선순위화 방식(prioritization scheme)을 상기 에이전트 세트에 적용함으로써 상기 일차 에이전트 세트를 결정하는 단계를 포함하는 것인, 방법.
항목 4. 항목 2 또는 항목 3에 있어서, 상기 필터링 또는 상기 우선순위화 방식은 상기 상호작용 파라미터에 적용된 기준에 기초하는 것인, 방법.
항목 5. 항목 1 내지 항목 4 중 어느 하나에 있어서, 상기 일차 에이전트 세트에 기초하여 상기 자율 주행 차량에 대한 궤적을 생성하는 단계는, 상기 일차 에이전트 세트의 에이전트에 제1 모델을 적용하는 단계를 포함하는 것인, 방법.
항목 6. 항목 1 내지 항목 5 중 어느 하나에 있어서, 상기 적어도 하나의 프로세서에 의해, 상기 상호작용 파라미터에 기초하여, 이차(secondary) 에이전트 세트를 결정하는 단계를 더 포함하고, 상기 일차 에이전트 세트 및 상기 이차 에이전트 세트는 상기 에이전트 세트의 상호 배타적인 서브세트들인 것인, 방법.
항목 7. 항목 6에 있어서, 상기 일차 에이전트 세트에 기초하여 상기 자율 주행 차량에 대한 궤적을 생성하는 단계는:
상기 일차 에이전트 세트 및 상기 이차 에이전트 세트에 기초하여 상기 자율 주행 차량에 대한 궤적을 생성하는 단계를 포함하는 것인, 방법.
항목 8. 항목 5 내지 항목 7 중 어느 하나에 있어서, 상기 일차 에이전트 세트 및 상기 이차 에이전트 세트에 기초하여 상기 자율 주행 차량에 대한 궤적을 생성하는 단계는:
상기 이차 에이전트 세트의 하나 이상의 에이전트에 제2 모델을 적용하는 단계를 포함하는 것인, 방법.
항목 9. 항목 8에 있어서, 상기 제1 모델은 상기 제2 모델보다 더 높은 충실도(fidelity)를 갖는 것인, 방법.
항목 10. 항목 8 또는 항목 9에 있어서, 상기 제1 모델 또는 제2 모델은, 에이전트 인식 방식, 에이전트 예측 방식, 에이전트 투영 방식, 궤적 추출 방식 및 궤적 평가 방식 중의 하나 이상을 포함하는 것인, 방법.
항목 11. 항목 1 내지 항목 10 중 어느 하나에 있어서, 상기 적어도 하나의 프로세서에 의해, 상기 에이전트 세트의 각각의 에이전트에 대하여, 해당 에이전트의 상기 자율 주행 차량과의 상호작용의 예측을 나타내는 상호작용 파라미터를 결정하는 단계는:
상기 해당 에이전트의 상기 자율 주행 차량과의 상호작용을 예측하는 단계; 및
상기 예측에 기초하여 상기 상호작용 파라미터를 결정하는 단계
를 포함하는 것인, 방법.
항목 12. 항목 11에 있어서, 상기 해당 에이전트의 상기 자율 주행 차량과의 상호작용을 예측하는 단계는:
각각의 에이전트에 대하여, 상기 자율 주행 차량의 궤적에 대해 상기 에이전트에 의해 적용되는 제약을 나타내는 하나 이상의 호모토피(homotopy) 파라미터를 결정하는 단계; 및
상기 하나 이상의 호모토피 파라미터에 기초하여 상기 상호작용을 예측하는 단계
를 포함하는 것인, 방법.
항목 13. 항목 12에 있어서, 상기 하나 이상의 호모토피 파라미터에 기초하여 상기 상호작용을 예측하는 단계는, 상기 하나 이상의 호모토피 파라미터 또는 센서 데이터를 신경 네트워크 모델에 입력함으로써 상기 상호작용을 예측하는 단계를 포함하는 것인, 방법.
항목 14. 항목 12 또는 항목 13에 있어서, 상기 하나 이상의 호모토피 파라미터는, 상기 에이전트의 속력, 상기 에이전트의 가속도, 및 상기 에이전트의 위치 중의 하나 이상을 나타내는 것인, 방법.
항목 15. 항목 12 또는 항목 13에 있어서, 상기 방법은, 상기 하나 이상의 호모토피 파라미터에 기초하여, 상기 복수의 에이전트들의 에이전트들을 클러스터링하는 단계를 포함하는 것인, 방법.
항목 16. 항목 1 내지 항목 15 중 어느 하나에 있어서, 상기 복수의 에이전트들의 에이전트는 시간이 지남에 따라 동적 움직임이 가능한 대상체를 포함하는 것인, 방법.
항목 17. 항목 1 내지 항목 16 중 어느 하나에 있어서, 상기 방법은, 상기 궤적에 기초하여, 상기 자율 주행 차량을 작동시키는 단계를 포함하는 것인, 방법.
항목 18. 명령어들이 저장되어 있는 비일시적 컴퓨터 판독가능 매체에 있어서, 상기 명령어들은 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서로 하여금 동작들을 수행하게 하며, 상기 동작들은:
적어도 하나의 프로세서에 의해, 자율 주행 차량이 작동하는 있는 환경과 연관된 센서 데이터를 획득하는 동작;
상기 적어도 하나의 프로세서에 의해, 상기 센서 데이터에 기초하여, 상기 환경에 위치된 복수의 에이전트들을 포함하는 에이전트 세트를 결정하는 동작;
상기 적어도 하나의 프로세서에 의해, 상기 에이전트 세트의 각각의 에이전트에 대하여, 해당 에이전트의 상기 자율 주행 차량과의 상호작용의 예측을 나타내는 상호작용 파라미터를 결정하는 동작;
상기 적어도 하나의 프로세서에 의해, 상기 상호작용 파라미터에 기초하여, 일차 에이전트 세트를 결정하는 동작 - 상기 일차 에이전트 세트는 상기 에이전트 세트의 서브세트임 - ; 및
상기 적어도 하나의 프로세서에 의해, 상기 일차 에이전트 세트에 기초하여, 상기 자율 주행 차량에 대한 궤적을 생성하는 동작
을 포함하는 것인, 비일시적 컴퓨터 판독가능 매체.
항목 19. 항목 18에 있어서, 상기 상호작용 파라미터에 기초하여 상기 일차 에이전트 세트를 결정하는 동작은, 상기 상호작용 파라미터에 기초하여 상기 에이전트 세트의 하나 이상의 에이전트를 필터링함으로써 상기 일차 에이전트 세트를 결정하는 동작을 포함하는 것인, 비일시적 컴퓨터 판독가능 매체.
항목 20. 항목 18 또는 항목 19에 있어서, 상기 상호작용 파라미터에 기초하여 상기 일차 에이전트 세트를 결정하는 동작은:
상기 상호작용 파라미터에 기초한 우선순위화 방식을 상기 에이전트 세트에 적용함으로써 상기 일차 에이전트 세트를 결정하는 동작을 포함하는 것인, 비일시적 컴퓨터 판독가능 매체.
항목 21. 항목 19 또는 항목 20에 있어서, 상기 필터링 또는 상기 우선순위화 방식은 상기 상호작용 파라미터에 적용된 기준에 기초하는 것인, 비일시적 컴퓨터 판독가능 매체.
항목 22. 항목 18 내지 항목 21 중 어느 하나에 있어서, 상기 일차 에이전트 세트에 기초하여 상기 자율 주행 차량에 대한 궤적을 생성하는 동작은, 상기 일차 에이전트 세트의 에이전트에 제1 모델을 적용하는 동작을 포함하는 것인, 비일시적 컴퓨터 판독가능 매체.
항목 23. 항목 18 내지 항목 22 중 어느 하나에 있어서, 상기 적어도 하나의 프로세서에 의해, 상기 상호작용 파라미터에 기초하여, 이차 에이전트 세트를 결정하는 동작을 더 포함하고, 상기 일차 에이전트 세트 및 상기 이차 에이전트 세트는 상기 에이전트 세트의 상호 배타적인 서브세트들인 것인, 비일시적 컴퓨터 판독가능 매체.
항목 24. 항목 23에 있어서, 상기 일차 에이전트 세트에 기초하여 상기 자율 주행 차량에 대한 궤적을 생성하는 동작은:
상기 일차 에이전트 세트 및 상기 이차 에이전트 세트에 기초하여 상기 자율 주행 차량에 대한 궤적을 생성하는 동작을 포함하는 것인, 비일시적 컴퓨터 판독가능 매체.
항목 25. 항목 22 내지 항목 24 중 어느 하나에 있어서, 상기 일차 에이전트 세트 및 상기 이차 에이전트 세트에 기초하여 상기 자율 주행 차량에 대한 궤적을 생성하는 동작은:
상기 이차 에이전트 세트의 하나 이상의 에이전트에 제2 모델을 적용하는 동작을 포함하는 것인, 비일시적 컴퓨터 판독가능 매체.
항목 26. 항목 25에 있어서, 상기 제1 모델은 상기 제2 모델보다 더 높은 충실도를 갖는 것인, 비일시적 컴퓨터 판독가능 매체.
항목 27. 항목 25 또는 항목 26에 있어서, 상기 제1 모델 또는 제2 모델은, 에이전트 인식 방식, 에이전트 예측 방식, 에이전트 투영 방식, 궤적 추출 방식 및 궤적 평가 방식 중의 하나 이상을 포함하는 것인, 비일시적 컴퓨터 판독가능 매체.
항목 28. 항목 18 내지 항목 27 중 어느 하나에 있어서, 상기 적어도 하나의 프로세서에 의해, 상기 에이전트 세트의 각각의 에이전트에 대하여, 해당 에이전트의 상기 자율 주행 차량과의 상호작용의 예측을 나타내는 상호작용 파라미터를 결정하는 동작은:
상기 해당 에이전트의 상기 자율 주행 차량과의 상호작용을 예측하는 동작; 및
상기 예측에 기초하여 상기 상호작용 파라미터를 결정하는 동작
을 포함하는 것인, 비일시적 컴퓨터 판독가능 매체.
항목 29. 항목 28에 있어서, 상기 해당 에이전트의 상기 자율 주행 차량과의 상호작용을 예측하는 동작은:
각각의 에이전트에 대하여, 상기 자율 주행 차량의 궤적에 대해 상기 에이전트에 의해 적용되는 제약을 나타내는 하나 이상의 호모토피 파라미터를 결정하는 동작; 및
상기 하나 이상의 호모토피 파라미터에 기초하여 상기 상호작용을 예측하는 동작
을 포함하는 것인, 비일시적 컴퓨터 판독가능 매체.
항목 30. 항목 29에 있어서, 상기 하나 이상의 호모토피 파라미터에 기초하여 상기 상호작용을 예측하는 동작은, 상기 하나 이상의 호모토피 파라미터 또는 센서 데이터를 신경 네트워크 모델에 입력함으로써 상기 상호작용을 예측하는 동작을 포함하는 것인, 비일시적 컴퓨터 판독가능 매체.
항목 31. 항목 29 또는 항목 30에 있어서, 상기 하나 이상의 호모토피 파라미터는, 상기 에이전트의 속력, 상기 에이전트의 가속도, 및 상기 에이전트의 위치 중의 하나 이상을 나타내는 것인, 비일시적 컴퓨터 판독가능 매체.
항목 32. 항목 29 또는 항목 30에 있어서, 상기 동작들은, 상기 하나 이상의 호모토피 파라미터에 기초하여, 상기 복수의 에이전트들의 에이전트들을 클러스터링하는 동작을 포함하는 것인, 비일시적 컴퓨터 판독가능 매체.
항목 33. 항목 18 내지 항목 32 중 어느 하나에 있어서, 상기 복수의 에이전트들의 에이전트는 시간이 지남에 따라 동적 움직임이 가능한 대상체를 포함하는 것인, 비일시적 컴퓨터 판독가능 매체.
항목 34. 항목 18 내지 항목 32 중 어느 하나에 있어서, 상기 동작들은, 상기 궤적에 기초하여, 상기 자율 주행 차량을 작동시키는 동작을 포함하는 것인, 비일시적 컴퓨터 판독가능 매체.
항목 35. 시스템에 있어서,
적어도 하나의 프로세서; 및
명령어들을 저장한 적어도 하나의 메모리
를 포함하고,
상기 명령어들은 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서로 하여금:
자율 주행 차량이 작동하는 있는 환경과 연관된 센서 데이터를 획득하고;
상기 센서 데이터에 기초하여, 상기 환경에 위치된 복수의 에이전트들을 포함하는 에이전트 세트를 결정하고;
상기 에이전트 세트의 각각의 에이전트에 대하여, 해당 에이전트의 상기 자율 주행 차량과의 상호작용의 예측을 나타내는 상호작용 파라미터를 결정하고;
상기 상호작용 파라미터에 기초하여, 일차 에이전트 세트를 결정하고 - 상기 일차 에이전트 세트는 상기 에이전트 세트의 서브세트임 - ;
상기 일차 에이전트 세트에 기초하여, 상기 자율 주행 차량에 대한 궤적을 생성하게 하는 것인, 시스템.
항목 36. 항목 35에 있어서, 상기 상호작용 파라미터에 기초하여 상기 일차 에이전트 세트를 결정하는 것은, 상기 상호작용 파라미터에 기초하여 상기 에이전트 세트의 하나 이상의 에이전트를 필터링함으로써 상기 일차 에이전트 세트를 결정하는 것을 포함하는 것인, 시스템.
항목 37. 항목 35 또는 항목 36에 있어서, 상기 상호작용 파라미터에 기초하여 상기 일차 에이전트 세트를 결정하는 것은:
상기 상호작용 파라미터에 기초한 우선순위화 방식을 상기 에이전트 세트에 적용함으로써 상기 일차 에이전트 세트를 결정하는 것을 포함하는 것인, 시스템.
항목 38. 항목 36 또는 항목 37에 있어서, 상기 필터링 또는 상기 우선순위화 방식은 상기 상호작용 파라미터에 적용된 기준에 기초하는 것인, 시스템.
항목 39. 항목 35 내지 항목 38 중 어느 하나에 있어서, 상기 일차 에이전트 세트에 기초하여 상기 자율 주행 차량에 대한 궤적을 생성하는 것은, 상기 일차 에이전트 세트의 에이전트에 제1 모델을 적용하는 것을 포함하는 것인, 시스템.
항목 40. 항목 35 내지 항목 39 중 어느 하나에 있어서, 상기 적어도 하나의 프로세서에 의해, 상기 상호작용 파라미터에 기초하여, 이차 에이전트 세트를 결정하는 것을 더 포함하고, 상기 일차 에이전트 세트 및 상기 이차 에이전트 세트는 상기 에이전트 세트의 상호 배타적인 서브세트들인 것인, 시스템.
항목 41. 항목 40에 있어서, 상기 일차 에이전트 세트에 기초하여 상기 자율 주행 차량에 대한 궤적을 생성하는 것은:
상기 일차 에이전트 세트 및 상기 이차 에이전트 세트에 기초하여 상기 자율 주행 차량에 대한 궤적을 생성하는 것을 포함하는 것인, 시스템.
항목 42. 항목 39 내지 항목 41 중 어느 하나에 있어서, 상기 일차 에이전트 세트 및 상기 이차 에이전트 세트에 기초하여 상기 자율 주행 차량에 대한 궤적을 생성하는 것은:
상기 이차 에이전트 세트의 하나 이상의 에이전트에 제2 모델을 적용하는 것을 포함하는 것인, 시스템.
항목 43. 항목 42에 있어서, 상기 제1 모델은 상기 제2 모델보다 더 높은 충실도를 갖는 것인, 시스템.
항목 44. 항목 42 또는 항목 43에 있어서, 상기 제1 모델 또는 제2 모델은, 에이전트 인식 방식, 에이전트 예측 방식, 에이전트 투영 방식, 궤적 추출 방식 및 궤적 평가 방식 중의 하나 이상을 포함하는 것인, 시스템.
항목 45. 항목 35 내지 항목 44 중 어느 하나에 있어서, 상기 적어도 하나의 프로세서에 의해, 상기 에이전트 세트의 각각의 에이전트에 대하여, 해당 에이전트의 상기 자율 주행 차량과의 상호작용의 예측을 나타내는 상호작용 파라미터를 결정하는 것은:
상기 해당 에이전트의 상기 자율 주행 차량과의 상호작용을 예측하고;
상기 예측에 기초하여 상기 상호작용 파라미터를 결정하는 것
을 포함하는 것인, 시스템.
항목 46. 항목 45에 있어서, 상기 해당 에이전트의 상기 자율 주행 차량과의 상호작용을 예측하는 것은:
각각의 에이전트에 대하여, 상기 자율 주행 차량의 궤적에 대해 상기 에이전트에 의해 적용되는 제약을 나타내는 하나 이상의 호모토피 파라미터를 결정하고;
상기 하나 이상의 호모토피 파라미터에 기초하여 상기 상호작용을 예측하는 것
을 포함하는 것인, 시스템.
항목 47. 항목 46에 있어서, 상기 하나 이상의 호모토피 파라미터에 기초하여 상기 상호작용을 예측하는 것은, 상기 하나 이상의 호모토피 파라미터 또는 센서 데이터를 신경 네트워크 모델에 입력함으로써 상기 상호작용을 예측하는 것을 포함하는 것인, 시스템.
항목 48. 항목 45 내지 항목 47 중 어느 하나에 있어서, 상기 하나 이상의 호모토피 파라미터는, 상기 에이전트의 속력, 상기 에이전트의 가속도, 및 상기 에이전트의 위치 중의 하나 이상을 나타내는 것인, 시스템.
항목 49. 항목 45 내지 항목 47 중 어느 하나에 있어서, 상기 시스템은 상기 적어도 하나의 프로세서로 하여금, 상기 하나 이상의 호모토피 파라미터에 기초하여, 상기 복수의 에이전트들의 에이전트들을 클러스터링하게 하는 것인, 시스템.
항목 50. 항목 35 내지 항목 49 중 어느 하나에 있어서, 상기 복수의 에이전트들의 에이전트는 시간이 지남에 따라 동적 움직임이 가능한 대상체를 포함하는 것인, 시스템.
항목 51. 항목 35 내지 항목 50 중 어느 하나에 있어서, 상기 시스템은 상기 적어도 하나의 프로세서로 하여금, 상기 궤적에 기초하여, 상기 자율 주행 차량을 작동시키게 하는 것인, 시스템.

Claims (30)

  1. 자율 주행 차량을 작동(operating)시키는 방법에 있어서,
    적어도 하나의 프로세서에 의해, 자율 주행 차량이 작동하는 있는 환경과 연관된 센서 데이터를 획득하는 단계;
    상기 적어도 하나의 프로세서에 의해, 상기 센서 데이터에 기초하여, 상기 환경에 위치된 복수의 에이전트들을 포함하는 에이전트 세트를 결정하는 단계;
    상기 적어도 하나의 프로세서에 의해, 상기 에이전트 세트의 각각의 에이전트에 대하여, 해당 에이전트의 상기 자율 주행 차량과의 상호작용의 예측을 나타내는 상호작용 파라미터를 결정하는 단계;
    상기 적어도 하나의 프로세서에 의해, 상기 상호작용 파라미터에 기초하여, 일차(primary) 에이전트 세트를 결정하는 단계 - 상기 일차 에이전트 세트는 상기 에이전트 세트의 서브세트임 - ; 및
    상기 적어도 하나의 프로세서에 의해, 상기 일차 에이전트 세트에 기초하여, 상기 자율 주행 차량에 대한 궤적을 생성하는 단계
    를 포함하는, 방법.
  2. 청구항 1에 있어서,
    상기 상호작용 파라미터에 기초하여 상기 일차 에이전트 세트를 결정하는 단계는, 상기 상호작용 파라미터에 기초하여 상기 에이전트 세트의 하나 이상의 에이전트를 필터링(filtering out)함으로써 상기 일차 에이전트 세트를 결정하는 단계를 포함하는 것인, 방법.
  3. 청구항 1에 있어서,
    상기 상호작용 파라미터에 기초하여 상기 일차 에이전트 세트를 결정하는 단계는:
    상기 상호작용 파라미터에 기초한 우선순위화 방식(prioritization scheme)을 상기 에이전트 세트에 적용함으로써 상기 일차 에이전트 세트를 결정하는 단계를 포함하는 것인, 방법.
  4. 청구항 2에 있어서,
    상기 필터링 또는 우선순위화 방식은 상기 상호작용 파라미터에 적용된 기준에 기초하는 것인, 방법.
  5. 청구항 1에 있어서,
    상기 일차 에이전트 세트에 기초하여 상기 자율 주행 차량에 대한 궤적을 생성하는 단계는, 상기 일차 에이전트 세트의 에이전트에 제1 모델을 적용하는 단계를 포함하는 것인, 방법.
  6. 청구항 1에 있어서,
    상기 적어도 하나의 프로세서에 의해, 상기 상호작용 파라미터에 기초하여, 이차(secondary) 에이전트 세트를 결정하는 단계를 더 포함하고, 상기 일차 에이전트 세트 및 상기 이차 에이전트 세트는 상기 에이전트 세트의 상호 배타적인 서브세트들인 것인, 방법.
  7. 청구항 6에 있어서,
    상기 일차 에이전트 세트에 기초하여 상기 자율 주행 차량에 대한 궤적을 생성하는 단계는:
    상기 일차 에이전트 세트 및 상기 이차 에이전트 세트에 기초하여 상기 자율 주행 차량에 대한 궤적을 생성하는 단계를 포함하는 것인, 방법.
  8. 청구항 5에 있어서,
    상기 일차 에이전트 세트 및 상기 이차 에이전트 세트에 기초하여 상기 자율 주행 차량에 대한 궤적을 생성하는 단계는:
    상기 이차 에이전트 세트의 하나 이상의 에이전트에 제2 모델을 적용하는 단계를 포함하는 것인, 방법.
  9. 청구항 8에 있어서,
    상기 제1 모델은 상기 제2 모델보다 더 높은 충실도(fidelity)를 갖는 것인, 방법.
  10. 청구항 8에 있어서,
    상기 제1 모델 또는 제2 모델은, 에이전트 인식 방식, 에이전트 예측 방식, 에이전트 투영 방식, 궤적 추출 방식 및 궤적 평가 방식 중의 하나 이상을 포함하는 것인, 방법.
  11. 청구항 1에 있어서,
    상기 적어도 하나의 프로세서에 의해, 상기 에이전트 세트의 각각의 에이전트에 대하여, 해당 에이전트의 상기 자율 주행 차량과의 상호작용의 예측을 나타내는 상호작용 파라미터를 결정하는 단계는:
    상기 해당 에이전트의 상기 자율 주행 차량과의 상호작용을 예측하는 단계; 및
    상기 예측에 기초하여 상기 상호작용 파라미터를 결정하는 단계
    를 포함하는 것인, 방법.
  12. 청구항 11에 있어서,
    상기 해당 에이전트의 상기 자율 주행 차량과의 상호작용을 예측하는 단계는:
    각각의 에이전트에 대하여, 상기 자율 주행 차량의 궤적에 대해 상기 에이전트에 의해 적용되는 제약을 나타내는 하나 이상의 호모토피(homotopy) 파라미터를 결정하는 단계; 및
    상기 하나 이상의 호모토피 파라미터에 기초하여 상기 상호작용을 예측하는 단계
    를 포함하는 것인, 방법.
  13. 청구항 12에 있어서,
    상기 하나 이상의 호모토피 파라미터에 기초하여 상기 상호작용을 예측하는 단계는, 상기 하나 이상의 호모토피 파라미터 또는 센서 데이터를 신경 네트워크 모델에 입력함으로써 상기 상호작용을 예측하는 단계를 포함하는 것인, 방법.
  14. 청구항 12에 있어서,
    상기 하나 이상의 호모토피 파라미터는, 상기 에이전트의 속력, 상기 에이전트의 가속도, 및 상기 에이전트의 위치 중의 하나 이상을 나타내는 것인, 방법.
  15. 청구항 12에 있어서,
    상기 방법은, 상기 하나 이상의 호모토피 파라미터에 기초하여, 상기 복수의 에이전트들의 에이전트들을 클러스터링하는 단계를 포함하는 것인, 방법.
  16. 청구항 1에 있어서,
    상기 복수의 에이전트들의 에이전트는 시간이 지남에 따라 동적 움직임이 가능한 대상체를 포함하는 것인, 방법.
  17. 청구항 1에 있어서,
    상기 방법은, 상기 궤적에 기초하여, 상기 자율 주행 차량을 작동시키는 단계를 포함하는 것인, 방법.
  18. 명령어들이 저장되어 있는 비일시적 컴퓨터 판독가능 매체에 있어서, 상기 명령어들은 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서로 하여금 동작들을 수행하게 하며, 상기 동작들은:
    적어도 하나의 프로세서에 의해, 자율 주행 차량이 작동하는 있는 환경과 연관된 센서 데이터를 획득하는 동작;
    상기 적어도 하나의 프로세서에 의해, 상기 센서 데이터에 기초하여, 상기 환경에 위치된 복수의 에이전트들을 포함하는 에이전트 세트를 결정하는 동작;
    상기 적어도 하나의 프로세서에 의해, 상기 에이전트 세트의 각각의 에이전트에 대하여, 해당 에이전트의 상기 자율 주행 차량과의 상호작용의 예측을 나타내는 상호작용 파라미터를 결정하는 동작;
    상기 적어도 하나의 프로세서에 의해, 상기 상호작용 파라미터에 기초하여, 일차 에이전트 세트를 결정하는 동작 - 상기 일차 에이전트 세트는 상기 에이전트 세트의 서브세트임 - ; 및
    상기 적어도 하나의 프로세서에 의해, 상기 일차 에이전트 세트에 기초하여, 상기 자율 주행 차량에 대한 궤적을 생성하는 동작
    을 포함하는 것인, 비일시적 컴퓨터 판독가능 매체.
  19. 시스템에 있어서,
    적어도 하나의 프로세서; 및
    명령어들을 저장한 적어도 하나의 메모리
    를 포함하고,
    상기 명령어들은 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서로 하여금:
    자율 주행 차량이 작동하는 있는 환경과 연관된 센서 데이터를 획득하고;
    상기 센서 데이터에 기초하여, 상기 환경에 위치된 복수의 에이전트들을 포함하는 에이전트 세트를 결정하고;
    상기 에이전트 세트의 각각의 에이전트에 대하여, 해당 에이전트의 상기 자율 주행 차량과의 상호작용의 예측을 나타내는 상호작용 파라미터를 결정하고;
    상기 상호작용 파라미터에 기초하여, 일차 에이전트 세트를 결정하고 - 상기 일차 에이전트 세트는 상기 에이전트 세트의 서브세트임 - ;
    상기 일차 에이전트 세트에 기초하여, 상기 자율 주행 차량에 대한 궤적을 생성하게 하는 것인, 시스템.
  20. 청구항 19에 있어서,
    상기 상호작용 파라미터에 기초하여 상기 일차 에이전트 세트를 결정하는 것은, 상기 상호작용 파라미터에 기초하여 상기 에이전트 세트의 하나 이상의 에이전트를 필터링함으로써 상기 일차 에이전트 세트를 결정하는 것을 포함하는 것인, 시스템.
  21. 청구항 19에 있어서,
    상기 상호작용 파라미터에 기초하여 상기 일차 에이전트 세트를 결정하는 것은:
    상기 상호작용 파라미터에 기초한 우선순위화 방식을 상기 에이전트 세트에 적용함으로써 상기 일차 에이전트 세트를 결정하는 것을 포함하는 것인, 시스템.
  22. 청구항 19에 있어서,
    상기 일차 에이전트 세트에 기초하여 상기 자율 주행 차량에 대한 궤적을 생성하는 것은, 상기 일차 에이전트 세트의 에이전트에 제1 모델을 적용하는 것을 포함하는 것인, 시스템.
  23. 청구항 19에 있어서,
    상기 적어도 하나의 프로세서에 의해, 상기 상호작용 파라미터에 기초하여, 이차 에이전트 세트를 결정하는 것을 더 포함하고, 상기 일차 에이전트 세트 및 상기 이차 에이전트 세트는 상기 에이전트 세트의 상호 배타적인 서브세트들인 것인, 시스템.
  24. 청구항 23에 있어서,
    상기 일차 에이전트 세트에 기초하여 상기 자율 주행 차량에 대한 궤적을 생성하는 것은:
    상기 일차 에이전트 세트 및 상기 이차 에이전트 세트에 기초하여 상기 자율 주행 차량에 대한 궤적을 생성하는 것을 포함하는 것인, 시스템.
  25. 청구항 23에 있어서,
    상기 일차 에이전트 세트 및 상기 이차 에이전트 세트에 기초하여 상기 자율 주행 차량에 대한 궤적을 생성하는 것은:
    상기 이차 에이전트 세트의 하나 이상의 에이전트에 제2 모델을 적용하는 것을 포함하는 것인, 시스템.
  26. 청구항 25에 있어서,
    상기 제1 모델은 상기 제2 모델보다 더 높은 충실도를 갖는 것인, 시스템.
  27. 청구항 19에 있어서,
    상기 적어도 하나의 프로세서에 의해, 상기 에이전트 세트의 각각의 에이전트에 대하여, 해당 에이전트의 상기 자율 주행 차량과의 상호작용의 예측을 나타내는 상호작용 파라미터를 결정하는 것은:
    상기 해당 에이전트의 상기 자율 주행 차량과의 상호작용을 예측하고;
    상기 예측에 기초하여 상기 상호작용 파라미터를 결정하는 것
    을 포함하는 것인, 시스템.
  28. 청구항 27에 있어서,
    상기 해당 에이전트의 상기 자율 주행 차량과의 상호작용을 예측하는 것은:
    각각의 에이전트에 대하여, 상기 자율 주행 차량의 궤적에 대해 상기 에이전트에 의해 적용되는 제약을 나타내는 하나 이상의 호모토피 파라미터를 결정하고;
    상기 하나 이상의 호모토피 파라미터에 기초하여 상기 상호작용을 예측하는 것
    을 포함하는 것인, 시스템.
  29. 청구항 19에 있어서,
    상기 시스템은 상기 적어도 하나의 프로세서로 하여금, 상기 궤적에 기초하여, 상기 자율 주행 차량을 작동시키게 하는 것인, 시스템.
  30. 자율 주행 차량을 작동시키는 방법에 있어서,
    적어도 하나의 프로세서에 의해, 자율 주행 차량이 작동하는 있는 환경과 연관된 센서 데이터를 획득하는 단계;
    상기 적어도 하나의 프로세서에 의해, 상기 센서 데이터에 기초하여, 상기 환경에 위치된 복수의 에이전트들을 포함하는 에이전트 세트를 결정하는 단계;
    상기 적어도 하나의 프로세서에 의해, 상기 센서 데이터에 기초한 우선순위화 방식을 상기 에이전트 세트에 적용함으로써 일차 에이전트 세트를 결정하는 단계; 및
    상기 적어도 하나의 프로세서에 의해, 상기 일차 에이전트 세트에 기초하여, 상기 자율 주행 차량에 대한 궤적을 생성하는 단계
    를 포함하는, 방법.
KR1020220014939A 2021-12-17 2022-02-04 에이전트 우선순위화를 위한 방법 및 시스템 KR20230093158A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/553,857 US11675362B1 (en) 2021-12-17 2021-12-17 Methods and systems for agent prioritization
US17/553,857 2021-12-17

Publications (1)

Publication Number Publication Date
KR20230093158A true KR20230093158A (ko) 2023-06-27

Family

ID=80507282

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220014939A KR20230093158A (ko) 2021-12-17 2022-02-04 에이전트 우선순위화를 위한 방법 및 시스템

Country Status (5)

Country Link
US (2) US11675362B1 (ko)
KR (1) KR20230093158A (ko)
CN (1) CN116265313A (ko)
DE (1) DE102022102214A1 (ko)
GB (1) GB2613904A (ko)

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9495874B1 (en) * 2012-04-13 2016-11-15 Google Inc. Automated system and method for modeling the behavior of vehicles and other agents
US9248834B1 (en) * 2014-10-02 2016-02-02 Google Inc. Predicting trajectories of objects based on contextual information
US9630318B2 (en) * 2014-10-02 2017-04-25 Brain Corporation Feature detection apparatus and methods for training of robotic navigation
US9612123B1 (en) * 2015-11-04 2017-04-04 Zoox, Inc. Adaptive mapping to navigate autonomous vehicles responsive to physical environment changes
US10203696B2 (en) 2016-07-26 2019-02-12 Waymo Llc Determining drivability of objects for autonomous vehicles
US10733460B2 (en) * 2016-09-14 2020-08-04 Nauto, Inc. Systems and methods for safe route determination
CN110462544A (zh) * 2017-03-20 2019-11-15 御眼视觉技术有限公司 自主车辆的轨迹选择
US10528059B2 (en) * 2017-05-24 2020-01-07 Uatc, Llc Systems and methods for controlling autonomous vehicles that provide a vehicle service to users
US20190066409A1 (en) * 2017-08-24 2019-02-28 Veniam, Inc. Methods and systems for measuring performance of fleets of autonomous vehicles
US11243532B1 (en) * 2017-09-27 2022-02-08 Apple Inc. Evaluating varying-sized action spaces using reinforcement learning
US10620637B2 (en) * 2017-11-29 2020-04-14 GM Global Technology Operations LLC Systems and methods for detection, classification, and geolocation of traffic objects
US10275689B1 (en) * 2017-12-21 2019-04-30 Luminar Technologies, Inc. Object identification and labeling tool for training autonomous vehicle controllers
US11157527B2 (en) * 2018-02-20 2021-10-26 Zoox, Inc. Creating clean maps including semantic information
US11169536B2 (en) * 2018-04-09 2021-11-09 SafeAI, Inc. Analysis of scenarios for controlling vehicle operations
US11231715B2 (en) * 2018-05-22 2022-01-25 King Fahd University Of Petroleum And Minerals Method and system for controlling a vehicle
AU2019301524A1 (en) * 2018-07-07 2023-03-16 Peloton Technology, Inc. Control of automated following in vehicle convoys
US11048253B2 (en) * 2018-11-21 2021-06-29 Waymo Llc Agent prioritization for autonomous vehicles
US10739777B2 (en) * 2018-11-20 2020-08-11 Waymo Llc Trajectory representation in behavior prediction systems
US11034348B2 (en) * 2018-11-20 2021-06-15 Waymo Llc Agent prioritization for autonomous vehicles
US10852746B2 (en) * 2018-12-12 2020-12-01 Waymo Llc Detecting general road weather conditions
US11237572B2 (en) * 2018-12-27 2022-02-01 Intel Corporation Collision avoidance system, depth imaging system, vehicle, map generator and methods thereof
US11161501B2 (en) * 2019-01-07 2021-11-02 Toyota Research Insititute, Inc. System and method for optimizing a path for obstacle evasion for a vehicle
US11163820B1 (en) * 2019-03-25 2021-11-02 Gm Cruise Holdings Llc Object search service employing an autonomous vehicle fleet
US11155258B2 (en) * 2019-03-25 2021-10-26 GM Global Technology Operations LLC System and method for radar cross traffic tracking and maneuver risk estimation
US20220187847A1 (en) * 2019-11-05 2022-06-16 Strong Force Vcn Portfolio 2019, Llc Robot Fleet Management for Value Chain Networks
US10955855B1 (en) * 2019-11-23 2021-03-23 Ha Q Tran Smart vehicle
US20210180958A1 (en) * 2019-12-16 2021-06-17 Automotive Research & Testing Center Graphic information positioning system for recognizing roadside features and method using the same
US11415992B2 (en) * 2019-12-27 2022-08-16 Woven Planet North America, Inc. Resource prioritization based on travel path relevance
DE102021112349A1 (de) * 2020-05-12 2021-11-18 Motional Ad Llc Fahrzeugbetrieb unter verwendung eines dynamischen belegungsrasters
JP2023528078A (ja) * 2020-06-05 2023-07-03 ガティック エーアイ インコーポレイテッド 自律エージェントの不確実性推定に基づく決定論的軌道選択のための方法およびシステム
US20220027193A1 (en) * 2020-07-21 2022-01-27 Waymo Llc Task scheduling for agent prediction
US11687077B2 (en) * 2020-08-07 2023-06-27 Waymo Llc Ranking agents near autonomous vehicles by mutual importance
US20220063666A1 (en) * 2020-09-01 2022-03-03 Motional Ad Llc Scoring autonomous vehicle trajectories using reasonable crowd data
KR20230135069A (ko) * 2020-12-18 2023-09-22 스트롱 포스 브이씨엔 포트폴리오 2019, 엘엘씨 밸류 체인 네트워크를 위한 로봇 플릿 관리 및 적층제조

Also Published As

Publication number Publication date
DE102022102214A1 (de) 2023-06-22
US20230195129A1 (en) 2023-06-22
CN116265313A (zh) 2023-06-20
GB202200725D0 (en) 2022-03-09
US20230195128A1 (en) 2023-06-22
GB2613904A (en) 2023-06-21
US11675362B1 (en) 2023-06-13

Similar Documents

Publication Publication Date Title
KR102595886B1 (ko) 매핑에서의 향상된 시맨틱 라벨링을 위한 멀티 모달 분할 네트워크
EP4326587A1 (en) Predicting agent trajectories
KR20230051035A (ko) Radar와 lidar 융합을 사용한 대상체 검출
US20230294741A1 (en) Agent importance prediction for autonomous driving
WO2023249857A1 (en) Semi-closed loop rollouts for data augmentation
KR102631148B1 (ko) 센서 데이터를 사용하여 자동으로 교통 신호 검출
US20230159033A1 (en) High fidelity data-driven multi-modal simulation
US11400958B1 (en) Learning to identify safety-critical scenarios for an autonomous vehicle
KR20230108672A (ko) 규칙집 궤적 생성을 위한 그래프 탐색
US11675362B1 (en) Methods and systems for agent prioritization
US11634158B1 (en) Control parameter based search space for vehicle motion planning
US20230373529A1 (en) Safety filter for machine learning planners
US20240127579A1 (en) Identifying new classes of objects in environments of vehicles
US20240025452A1 (en) Corridor/homotopy scoring and validation
US20240123996A1 (en) Methods and systems for traffic light labelling via motion inference
US20240125608A1 (en) Graph exploration forward search
US20240051568A1 (en) Discriminator network for detecting out of operational design domain scenarios
US20230150544A1 (en) Generating notifications indicative of unanticipated actions
US20240126254A1 (en) Path selection for remote vehicle assistance
KR20230140517A (ko) 차량 루트 상의 대상체 횡단의 예측 및 제어
WO2024086056A1 (en) Identifying new classes of objects in environments of vehicles
KR20220156736A (ko) 종속 가능성 구조체로의 다중 타겟 추적
WO2023146799A1 (en) Counterexample-guided update of a motion planner
KR20230110145A (ko) 아이트래커 디바이스 및 라이다 포인트 클라이드 데이터를 사용하는 목표 결정
WO2024081593A1 (en) Methods and systems for traffic light labelling via motion inference

Legal Events

Date Code Title Description
E902 Notification of reason for refusal