KR102631726B1 - 환경 제한 및 센서 이상 시스템 및 방법 - Google Patents

환경 제한 및 센서 이상 시스템 및 방법 Download PDF

Info

Publication number
KR102631726B1
KR102631726B1 KR1020220001622A KR20220001622A KR102631726B1 KR 102631726 B1 KR102631726 B1 KR 102631726B1 KR 1020220001622 A KR1020220001622 A KR 1020220001622A KR 20220001622 A KR20220001622 A KR 20220001622A KR 102631726 B1 KR102631726 B1 KR 102631726B1
Authority
KR
South Korea
Prior art keywords
vehicle
sensor
cognitive
data
environment
Prior art date
Application number
KR1020220001622A
Other languages
English (en)
Other versions
KR20230039486A (ko
Inventor
스콧 디. 펜들톤
유 판
유 홍 엥
제임스 구오 밍 푸
Original Assignee
모셔널 에이디 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 모셔널 에이디 엘엘씨 filed Critical 모셔널 에이디 엘엘씨
Publication of KR20230039486A publication Critical patent/KR20230039486A/ko
Application granted granted Critical
Publication of KR102631726B1 publication Critical patent/KR102631726B1/ko

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/095Predicting travel path or likelihood of collision
    • 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
    • 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/00272Planning or execution of driving tasks using trajectory prediction for other traffic participants relying on extrapolation of current movement
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
    • B60W30/10Path keeping
    • 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/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/0205Diagnosing or detecting failures; Failure detection models
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • 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
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/0205Diagnosing or detecting failures; Failure detection models
    • B60W2050/0215Sensor drifts or sensor failures
    • 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
    • B60W2400/00Indexing codes relating to detected, measured or calculated conditions or factors
    • 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
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/90Single sensor for two or more measurements
    • 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
    • B60W2555/00Input parameters relating to exterior conditions, not covered by groups B60W2552/00, B60W2554/00
    • B60W2555/20Ambient conditions, e.g. wind or rain
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2400/00Special features of vehicle units
    • B60Y2400/30Sensors

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Traffic Control Systems (AREA)
  • Mathematical Physics (AREA)
  • Optical Radar Systems And Details Thereof (AREA)

Abstract

상황 평가를 이용한 작동 엔벨로프 검출(OED)을 위한 실시예들이 개시된다. 본원에서의 실시예들은 시스템의 센서들에 관련된 정보 및 운영 설계 도메인(ODD) 요구사항들에 관련된 정보를, 입력들로서, 수신하도록 구성된 작동 엔벨로프 검출기에 관한 것이다. OED는 이어서 시스템의 센서들에 관련된 정보를 ODD 요구사항들에 관련된 정보와 비교하고, 현재 센서 정보에 기초하여 시스템이 그의 ODD 내에서 작동하고 있는지 여부 또는 교정 조치가 ODD 요구사항들을 조정하는 데 적절한지 여부를 식별한다. 다른 실시예들이 기술되고/되거나 청구된다.

Description

환경 제한 및 센서 이상 시스템 및 방법 {ENVIRONMENTAL LIMITATION AND SENSOR ANOMALY SYSTEM AND METHOD}
자율 주행 차량(autonomous vehicle, AV)의 운영 설계 도메인(operational design domain, ODD)은 AV가 작동하도록 설계되는 특정 조건들이다. ODD는 다양한 조건들(예를 들면, AV의 위치, AV가 주행할 필요가 있는 속력 등)에 기초할 수 있다. AV들의 작동은 AV가 작동하도록 구성된 ODD에 기초하여 제약될 수 있다.
도 1은 다양한 실시예들에 따른, 자율 주행 시스템(autonomous system)의 하나 이상의 컴포넌트를 포함하는 차량이 구현될 수 있는 예시적인 환경이다.
도 2는 다양한 실시예들에 따른, 자율 주행 시스템을 포함하는 차량의 하나 이상의 시스템의 다이어그램이다.
도 3은 다양한 실시예들에 따른, 도 1 및 도 2의 하나 이상의 디바이스 및/또는 하나 이상의 시스템의 컴포넌트들의 다이어그램이다.
도 4는 다양한 실시예들에 따른, 자율 주행 시스템의 특정 컴포넌트들의 다이어그램이다.
도 5는 다양한 실시예들에 따른, 차량이 직면할 수 있는 예시적인 시나리오를 예시한다.
도 6은 다양한 실시예들에 따른, 예시적인 작동 엔벨로프 검출(operational envelope detection, OED) 프레임워크를 예시한다.
도 7은 다양한 실시예들에 따른, 상황 평가를 이용한 OED에 관련된 예시적인 프로세스 흐름을 예시한다.
도 8은 다양한 실시예들에 따른, 센서 파이프라인에 관련된 예시적인 블록 다이어그램이다.
도 9는 다양한 실시예들에 따른, 검출 확률(probability of detection, PoD) 맵의 일 예를 예시한다.
도 10은 다양한 실시예들에 따른, 폐색 맵의 일 예를 예시한다.
도 11은 다양한 실시예들에 따른, 인지 시스템에 관련된 예시적인 프로세스 흐름을 예시한다.
도 12는 다양한 실시예들에 따른, 인지 시스템에 관련된 대안적인 예시적인 프로세스 흐름을 예시한다.
도 13은 다양한 실시예들에 따른, 평가 파이프라인의 다이어그램이다.
도 14는 다양한 실시예들에 따른, 자율 주행 차량들에 대한 OED 프레임워크에 대한 상황 평가를 위한 프로세스의 플로차트이다.
도 15는 다양한 실시예들에 따른, 상황 콘텍스트를 이용한 부동성 검출에 관련된 예시적인 블록 다이어그램이다.
도 16은 다양한 실시예들에 따른, 상황 콘텍스트를 이용한 부동성 검출에 관련된 예시적인 프로세스의 플로차트이다.
도 17은 다양한 실시예들에 따른, 상황 콘텍스트를 이용한 부동성 검출에 관련된 대안적인 예시적인 프로세스의 플로차트이다.
도 18은 다양한 실시예들에 따른, 상황 콘텍스트를 이용한 부동성 검출에 관련된 대안적인 예시적인 프로세스의 플로차트이다.
이하의 설명에서는, 설명 목적으로 본 개시에 대한 완전한 이해를 제공하기 위해 다수의 특정 세부 사항들이 제시된다. 그렇지만, 본 개시에 의해 기술되는 실시예들이 이러한 특정 세부 사항들이 없더라도 실시될 수 있음이 명백할 것이다. 일부 경우에, 본 개시의 양태들을 불필요하게 모호하게 하는 것을 피하기 위해 잘 알려진 구조들 및 디바이스들은 블록 다이어그램 형태로 예시되어 있다.
시스템들, 디바이스들, 모듈들, 명령어 블록들, 데이터 요소들 등을 나타내는 것들과 같은, 개략적인 요소들의 특정 배열들 또는 순서들이 설명의 편의를 위해 도면들에 예시되어 있다. 그렇지만, 본 기술 분야의 통상의 기술자라면 도면들에서의 개략적인 요소들의 특정 순서 또는 배열이, 그러한 것으로 명시적으로 기술되지 않는 한, 프로세스들의 특정 프로세싱 순서 또는 시퀀스, 또는 프로세스들의 분리가 필요하다는 것을 암시하는 것으로 의미되지 않음을 이해할 것이다. 게다가, 도면에 개략적인 요소를 포함시키는 것은, 그러한 것으로 명시적으로 기술되지 않는 한 일부 실시예들에서, 그러한 요소가 모든 실시예들에서 필요하다는 것 또는 그러한 요소에 의해 표현되는 특징들이 다른 요소들에 포함되지 않을 수 있거나 다른 요소들과 결합되지 않을 수 있다는 것을 암시하는 것으로 의미되지 않는다.
게다가, 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) 용어들인 것으로 의도된다. 게다가, 문구 "~에 기초하여"는, 달리 명시적으로 언급되지 않는 한, "~에 적어도 부분적으로 기초하여"를 의미하는 것으로 의도된다.
본 개시의 일부 실시예들은 임계치와 관련하여 기술된다. 본원에 기술된 바와 같이, 임계치를 충족시키는 것은 값이 임계치보다 큰 것, 임계치보다 많은 것, 임계치보다 높은 것, 임계치보다 크거나 같은 것, 임계치보다 작은 것, 임계치보다 적은 것, 임계치보다 낮은 것, 임계치보다 작거나 같은 것, 임계치와 동일한 것 등을 지칭할 수 있다.
그 예가 첨부 도면들에 예시되어 있는 실시예들이 이제 상세하게 언급될 것이다. 이하의 상세한 설명에서, 다양한 기술된 실시예들에 대한 완전한 이해를 제공하기 위해 수많은 특정 세부 사항들이 기재된다. 그렇지만, 다양한 기술된 실시예들이 이러한 특정 세부 사항들이 없더라도 실시될 수 있다는 것이 본 기술 분야의 통상의 기술자에게 명백할 것이다. 다른 경우에, 실시예들의 양태들을 불필요하게 모호하게 하지 않기 위해 잘 알려진 방법들, 절차들, 컴포넌트들, 회로들, 및 네트워크들은 상세하게 기술되지 않았다.
일반적 개관
일부 양태들 및/또는 실시예들에서, 본원에 기술된 시스템들, 방법들, 및 컴퓨터 프로그램 제품들은 자율 주행 시스템이 기능하도록 설계된 ODD를 갖는 자율 주행 시스템을 포함하고/하거나 구현한다. 본원에서의 실시예들은 자율 주행 시스템의 센서들에 관련된 데이터 및 ODD 요구사항들에 관련된 데이터를, 입력들로서, 수신하도록 구성된 OED 프레임워크에 관한 것이다. OED는 이어서 자율 주행 시스템의 센서들에 관련된 데이터를 ODD 요구사항들에 관련된 데이터와 비교하고, 현재 센서 데이터에 기초하여 자율 주행 시스템이 그의 ODD 내에서 작동하고 있는지 여부 또는 교정 조치가 ODD 요구사항들을 조정하는 데 적절한지 여부를 식별한다.
다른 양태 및/또는 실시예에서, 본원에 기술된 시스템들, 방법들, 및 컴퓨터 프로그램 제품들은, 센서들, (예를 들면, 센서의 경로 내의 대상체에 의한) 검출된 센서 폐색, 센서의 차단 등에 영향을 미칠 환경 조건들과 같은, 센서들 중 하나 이상에 관련된 시계(visibility) 관련 인자들을 식별하는 자율 주행 시스템의 인지 시스템을 포함하거나 이에 관한 것이다. 인지 시스템은 이러한 인자들을 사용하여 센서 검출 능력들에 관련된 인지 시계 모델(perception visibility model, PVM)을 생성한다. PVM에 기초하여, 인지 시스템은 하나 이상의 맵을 생성한다. 하나의 그러한 맵은 센서들을 폐색하고 있는 대상체가 어디에 위치하는지를 나타내는 폐색 맵이다. 다른 그러한 맵은 센서가 주어진 위치에서 대상체의 존재를 검출할 수 있는 가능성에 관련된 PoD 맵이다. 일 실시예에서, 센서들에 관련된 새로운 데이터가 인지 시스템에 의해 수신되지 않는 경우, PVM 모델 또는 그의 부분들은 미리 식별된 시간 간격으로 기본 모델(default model)을 향해 반복된다.
다른 양태 및/또는 실시예에서, 본원에 기술된 시스템들, 방법들 및 컴퓨터 프로그램 제품들은 자율 주행 시스템을 위한 OED 프레임워크, 보다 상세하게는 OED 프레임워크의 SAM(situation assessment using metrics) 컴포넌트를 포함하고/하거나 구현한다. SAM 컴포넌트는 자율 주행 시스템을 갖는 차량이 특정 운전 시나리오에서 주어진 환경에서 횡단하고 있는 궤적을 이해하고 차량에 대한 거동 요구사항들이 특정 운전 시나리오에 대해 충족되는지 여부를 검증하려고 시도한다. 일 실시예에서, SAM 컴포넌트의 프로세싱 파이프라인은 2 개의 서브시스템, 즉 기동 평가 서브시스템 및 이상 검출 서브시스템을 포함한다.
다른 양태 및/또는 실시예에서, 기동 평가 서브시스템은 플래너/제어기 시스템으로부터의 궤적, 현재 및 예측된 "월드" 상태들(예를 들면, 에이전트 데이터, 교통 신호등 상태), 맵 데이터 및 목표 할당(예를 들면, 특정 목적지)를 수신한다. 기동 평가 서브시스템은 잘 정의된(well-defined) 상황들(예를 들면, 지정된 규칙들이 있는 운전 시나리오들)에 대한 준수 분석, 잘 정의되지 않은(ill-defined) 상황들(예를 들면, 지정된 규칙들이 없는 운전 시나리오들)에 대한 검출 결과, 및 인지 시스템에 대한 업데이트된 요구사항을 출력한다. 기동 평가의 일부 예들은 차선 변경 기동을 수행할 때 차량이 환경에서 다른 에이전트들(예를 들면, 다른 차량들)과 안전한 갭/거리를 유지하는지를 검사하기 위한 "갭" 분석을 포함한다. 다른 예는 안전한 기동을 수행하기 위해 차량에 대한 최소 요구 인지 구역(예를 들면, 차량의 센서 스위트에 의해 제공되는 시야)이 필요한 "관심 영역" 준수이다.
다른 양태 및/또는 실시예에서, 이상 검출 서브시스템은 잘 정의되지 않은 상황 검출 및 플래너/제어기 시스템 내부 상태들을 입력으로서 수신한다. 이상 검출 서브시스템은 적절한 개입(예를 들면, 원격 차량 지원)의 할당을 지원하기 위해 정지 이유에 관련된 콘텍스트 데이터를 출력한다. 이상 검출의 일부 예들은, 교통 사고, 공사 구역, 우선순위를 위반하는 다른 도로 사용자들(예를 들면, 무단 횡단자, 적색 신호등을 무시하는 것)와 같은, 이례적인 도로 교통 시나리오들을 포함한다. 다른 예는 차량이 원격 개입을 필요로 할 해결할 수 없는 부동성 상태에 있거나 곧 진입하게 될 "갇혀 있음(stuck)" 검출이다.
다른 양태들 및/또는 실시예들에서, 차량이 "갇혀 있게"(예를 들면, 장기의 지속기간 동안 움직일 수 없음) 될 때, 원격 차량 지원(remote vehicle assistance, RVA) 조작자가 적절한 개입을 수행할 수 있도록 RVA 조작자가 부동성의 원인을 이해하는 것이 유리할 수 있다. 다양한 정지 관련 사건들(이후부터, 정지 제약조건들이라고도 지칭됨)이 발생할 때 이러한 정지 제약조건들에 관련된 메타데이터에 기초하여 이들을 모니터링하는 프로그램 흐름에 관한 실시예들이 개시된다. 정지 제약조건의 지속기간이 미리 정의된 임계치를 넘어 지속되는 경우, 정지 제약조건에 관련된 데이터가 개입할 RVA 조작자에게 제공된다.
실시예에서, 방법은, 적어도 하나의 프로세서를 이용해, 환경의 적어도 하나의 측정과 연관된 센서 데이터에 기초하여 적어도 하나의 센서 조건을 결정하는 단계 - 센서 데이터는 환경에 위치되어 있는 적어도 하나의 차량과 연관된 적어도 하나의 센서에 의해 생성됨 - ; 적어도 하나의 프로세서를 이용해, 환경의 적어도 하나의 측정에 기초하여 적어도 하나의 환경 조건을 결정하는 단계; 적어도 하나의 프로세서를 이용해, 적어도 하나의 센서 조건, 적어도 하나의 환경 조건, 및 적어도 하나의 차량의 위치에 기초하여, 인지 시계 모델(perception visibility model)을 생성하는 단계; 및 적어도 하나의 프로세서를 이용해 인지 시계 모델에 기초하여, 적어도 하나의 차량에 의해 횡단될 궤적을 식별하는 단계를 포함한다.
실시예에서, 방법은, 적어도 하나의 프로세서를 이용해, 차량에 포함된 적어도 하나의 센서에 의해 측정된 환경의 적어도 하나의 측정과 연관된 센서 데이터를 수신하는 단계; 적어도 하나의 프로세서를 이용해, 차량의 인지 파이프라인으로부터 환경에 위치된 적어도 하나의 대상체의 검출과 연관된 인지 데이터를 수신하는 단계; 적어도 하나의 프로세서를 이용해, 환경의 적어도 하나의 측정에 기초하여 적어도 하나의 센서 조건을 검출하는 단계; 적어도 하나의 프로세서를 이용해, 환경의 적어도 하나의 측정에 기초하여 적어도 하나의 환경 조건을 검출하는 단계; 적어도 하나의 프로세서를 이용해, 차량의 위치, 적어도 하나의 센서 조건, 및 적어도 하나의 환경 조건에 기초하여, 현재 인지 시계 모델을 생성하는 단계 - 현재 인지 시계 모델은 환경에서의 차량의 부근(vicinity)을 나타냄 - ; 및 적어도 하나의 프로세서를 이용해, 환경에서의 적어도 하나의 대상체 및 현재 인지 시계 모델에 기초하여, 차량에 대한 궤적을 결정하는 단계를 포함한다.
실시예에서, 방법은, 적어도 하나의 프로세서를 이용해, 현재 인지 시계 모델이 센서 조건 또는 환경 조건 중의 적어도 하나에 기초하여 업데이트되어야 할지 여부를 결정하는 단계; 및 현재 인지 시계 모델이 업데이트되지 않음에 따라, 사전(prior) 인지 시계 모델을 현재 인지 시계 모델로서 사용하는 단계를 더 포함한다.
실시예에서, 사전 인지 시계 모델은 사전 인지 시계 모델들의 데이터베이스로부터 오프라인으로 획득된다.
실시예에서, 사전 인지 시계 모델은 지정된 시간 창에 걸쳐 축적된 과거(past) 인지 시계 모델들에 기초하여 온라인으로 획득된다.
실시예에서, 사전 인지 시계 모델은 복수의 대상체 검출에 걸쳐 지정된 범위에서 폐색되지 않은(non-occluded) 대상체의 평균 인지 시계를 나타낸다.
실시예에서, 인지 데이터는 지면 및 적어도 하나의 대상체 검출을 포함하는 시맨틱 포인트 클라우드(semantic point cloud)를 포함한다.
실시예에서, 적어도 하나의 센서 조건은, 차량의 적어도 하나의 센서가 오작동했다는 것이다.
실시예에서, 적어도 하나의 센서 조건은, 적어도 부분적으로 폐색되는 차량의 적어도 하나의 센서의 시야이다.
실시예에서, 적어도 하나의 환경 조건은 기상 조건이다.
실시예에서, 적어도 하나의 환경 조건은 조명 조건이다.
실시예에서, 인지 시계 모델은 환경에서의 적어도 하나의 대상체 검출의 복수의 위치에 대한 인지 시계 검출의 확률을 포함한다.
실시예에서, 인지 시계 검출의 확률은 미리 식별된 임계치에 기초한다.
실시예에서, 시스템은, 적어도 하나의 프로세서; 및 적어도 하나의 프로세서에 의한 명령어들의 실행시, 차량으로 하여금 선행 방법들 중 임의의 것을 수행하게 하는 명령어들을 포함하는 적어도 하나의 비일시적 컴퓨터 판독가능 저장 매체를 포함한다.
실시예에서, 비일시적 컴퓨터 판독가능 저장 매체는, 적어도 하나의 프로세서에 의한 명령어들의 실행시, 차량으로 하여금 선행 방법들 중 임의의 것을 수행하게 하는 명령어들을 포함한다.
위에서 설명된 기술들의 장점들 중 일부는 다양한 운전 시나리오들에 걸쳐 환경에서의 AV 작동에 관여된 복잡성들을 효율적으로 해결하는 OED 프레임워크의 제공을 포함한다. 본원에서의 특정 예에서, 복잡성들은 다수의 인자들(예를 들면, 조명, 기상 조건들, 도로 안이나 근처에 있는 다른 대상체들, 도로의 특성들 등)이 자율 주행 시스템의 ODD에 영향을 미치는 상이한 운전 시나리오들에 관련되어 있다. OED 프레임워크는 최소 위험 기동(minimum risk maneuver, MRM)을 가능하게 하거나 또는 운전 시나리오의 종합적 분석에 기초하여 다른 기동 또는 개입이 트리거된다.
다른 장점은 본원에서의 실시예들이 상이한 조건들 하에서 센서 인지 능력 및 성능을 모델링하기 위한 프레임워크를 제공한다는 것이다. 그러한 조건들은 환경 조건들(예를 들면, 안개, 비, 태양 눈부심 등), 센서 시계 조건들(예를 들면, 진흙과 같은 이물질에 의한 센서의 차단), 폐색 관련 조건들(예를 들면, 센서에 의한 대상체의 검출), 또는 센서 구조적 조건들(예를 들면, 센서의 유형 또는 배치)을 포함한다. 이 OED 프레임워크를 식별하는 것에 의해, 상이한 시나리오들에서 자율 주행 시스템의 작동 능력들을 확인함으로써 자율 주행 시스템이 해당 능력들 내에서 작동될 수 있도록 하기 위해 자율 주행 시스템에 의해 센서 인지 능력의 모델이 사용 가능하다.
다른 장점은 본원에서의 실시예들이 상이한 잘 정의된 운전 시나리오들 하에서 안전, 규제 및 편의 규칙들과 관련하여 비준수 위험의 정량적 척도를 제공하면서 여전히 잘 정의되지 않은 상황들(예를 들면, 비정상적 이벤트들) 또는 장기간의 부동성(예를 들면, "갇혀 있음" 검출)에 응답하여 직접 개입 할당을 가능하게 한다는 것이다. 다수의 상황들 또는 시나리오들(예를 들면, 교차로를 운행하는 동안의 차선 변경)이 동시에 평가된다. 현재 상태와 예측된 미래 상태들의 준수 검사 둘 모두에 대해 내부 상태 무관 메트릭들이 일반화된다. 상황 평가의 적용 가능성이 기본 의사 결정 알고리즘(들)과 무관하다. 상황 평가가 다수의 동시적인 궤적 제안들을 평가하는 데 사용될 수 있다.
다른 장점은 본원에서의 실시예들이 RVA 조작자에게 자율 주행 시스템의 간결한 내부 상태 데이터를 전달하면서 동시에 충분한 상황 콘텍스트를 전달하는 경량 데이터 포맷을 제공한다는 것이다. 그와 같이, RVA 조작자는 차량이 움직일 수 없는 이유에 대한 불완전한 지식 없이도 적절한 개입을 제공할 수 있다. 예를 들어, 본원에 설명된 기술들의 구현에 의해, 자율 주행 시스템의 상태에 관한 보다 정확하고 적절한 데이터가 RVA 조작자에게 제공되어, RVA 조작자가 제공된 데이터를 분석하고 적절한 개입을 구현하는 데 필요로 하는 시간 양을 감소시킨다.
시스템들 및 아키텍처들의 개관
이제 도 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)는 정지해(예를 들면, 일정 시간 기간 동안 고정 위치에 위치함) 있거나 움직이고(예를 들면, 속도를 가지며 적어도 하나의 궤적과 연관되어 있음) 있다. 일부 실시예들에서, 대상체들(104)은 영역(108) 내의 대응하는 위치들과 연관되어 있다.
루트들(106a 내지 106n)(개별적으로 루트(106)라고 지칭되고 집합적으로 루트들(106)이라고 지칭됨)은 각각 차량이 운행할 수 있는 상태들을 연결하는 행동들의 시퀀스(궤적이라고도 함)와 연관된다(예를 들면, 이를 규정한다). 각각의 루트(106)는 초기 상태(예를 들면, 제1 시공간적 위치, 속도 등에 대응하는 상태) 및 최종 목표 상태(예를 들면, 제1 시공간적 위치와 상이한 제2 시공간적 위치에 대응하는 상태) 또는 목표 영역(예를 들면, 허용 가능한 상태들(예를 들면, 종료 상태들(terminal states))의 부분 공간(subspace))에서 시작된다. 일부 실시예들에서, 제1 상태는 개인 또는 개인들이 차량에 의해 픽업(pick-up)되어야 하는 위치를 포함하고 제2 상태 또는 영역은 차량에 의해 픽업된 개인 또는 개인들이 하차(drop-off)해야 하는 위치 또는 위치들을 포함한다. 일부 실시예들에서, 루트들(106)은 복수의 허용 가능한 상태 시퀀스들(예를 들면, 복수의 시공간적 위치 시퀀스들)을 포함하며, 복수의 상태 시퀀스들은 복수의 궤적들과 연관된다(예를 들면, 이를 정의한다). 일 예에서, 루트들(106)은, 도로 교차로들에서의 회전 방향들을 지시하는 일련의 연결된 도로들과 같은, 상위 레벨 행동들 또는 부정확한 상태 위치들만을 포함한다. 추가적으로 또는 대안적으로, 루트들(106)은, 예를 들어, 특정 목표 차선들 또는 차선 영역들 내에서의 정확한 위치들 및 해당 위치들에서의 목표 속력과 같은, 보다 정확한 행동들 또는 상태들을 포함할 수 있다. 일 예에서, 루트들(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), 원격 AV 시스템(114), 플릿 관리 시스템(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 참조)과 동일하거나 유사하다. 일부 실시예들에서, 차량(102)은 자율 주행 능력을 갖는다(예를 들면, 완전 자율 주행 차량들(예를 들면, 인간 개입에 의존하지 않는 차량들), 고도 자율 주행 차량들(예를 들면, 특정 상황들에서 인간 개입에 의존하지 않는 차량들) 등을, 제한 없이, 포함한, 차량(200)이 인간 개입 없이 부분적으로 또는 완전히 작동될 수 있게 하는 적어도 하나의 기능, 특징, 디바이스 등을 구현한다). 완전 자율 주행 차량들 및 고도 자율 주행 차량들에 대한 상세한 설명에 대해서는, 그 전체가 참고로 포함되는, SAE 국제 표준 J3016: 온로드 자동차 자동 운전 시스템에 관한 용어의 분류 및 정의(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(global positioning system) 수신기들(아래에서 논의됨), 차량(200)이 주행한 거리의 표시와 연관된 데이터를 생성하는 주행 거리 측정 센서들 등)을 포함할 수 있다. 일부 실시예들에서, 자율 주행 시스템(202)은 자율 주행 시스템(202)에 포함된 하나 이상의 디바이스를 사용하여 본원에서 기술되는 환경(100)과 연관된 데이터를 생성한다. 자율 주행 시스템(202)의 하나 이상의 디바이스에 의해 생성되는 데이터는 차량(200)이 위치하는 환경(예를 들면, 환경(100))을 관측하기 위해 본원에 기술된 하나 이상의 시스템에 의해 사용될 수 있다. 일부 실시예들에서, 자율 주행 시스템(202)은 통신 디바이스(202e), 자율 주행 차량 컴퓨터(202f), 및 드라이브 바이 와이어(drive-by-wire, DBW) 시스템(202h)을 포함한다.
카메라들(202a)은 버스(예를 들면, 도 3의 버스(302)와 동일하거나 유사한 버스)를 통해 통신 디바이스(202e), AV 컴퓨터(202f) 및/또는 안전 제어기(202g)와 통신하도록 구성된 적어도 하나의 디바이스를 포함한다. 카메라들(202a)은 물리적 대상체들(예를 들면, 자동차들, 버스들, 연석들, 사람들 등)을 포함하는 이미지들을 캡처하기 위한 적어도 하나의 카메라(예를 들면, CCD(charge-coupled device)와 같은 광 센서를 사용하는 디지털 카메라, 열 카메라, 적외선(IR) 카메라, 이벤트 카메라 등)를 포함한다. 일부 실시예들에서, 카메라(202a)는 카메라 데이터를 출력으로서 생성한다. 일부 예들에서, 카메라(202a)는 이미지와 연관된 이미지 데이터를 포함하는 카메라 데이터를 생성한다. 이 예에서, 이미지 데이터는 이미지에 대응하는 적어도 하나의 파라미터(예를 들면, 노출, 밝기 등과 같은 이미지 특성들, 이미지 타임스탬프 등)를 명시할 수 있다. 그러한 예에서, 이미지는 한 포맷(예를 들면, RAW, JPEG, PNG 등)으로 되어 있을 수 있다. 일부 실시예들에서, 카메라(202a)는 입체시(stereopsis)(스테레오 비전(stereo vision))를 위해 이미지들을 캡처하도록 차량 상에 구성된(예를 들면, 차량 상에 위치된) 복수의 독립적인 카메라들을 포함한다. 일부 예들에서, 카메라(202a)는 복수의 카메라들을 포함하고, 이 복수의 카메라들은 이미지 데이터를 생성하고 이미지 데이터를 AV 컴퓨터(202f) 및/또는 플릿 관리 시스템(예를 들면, 도 1의 플릿 관리 시스템(116)과 동일하거나 유사한 플릿 관리 시스템)으로 송신한다. 그러한 예에서, AV 컴퓨터(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), AV 컴퓨터(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), AV 컴퓨터(202f) 및/또는 안전 제어기(202g)와 통신하도록 구성된 적어도 하나의 디바이스를 포함한다. 레이더 센서들(202c)은 전파들을 (펄스형으로 또는 연속적으로) 송신하도록 구성된 시스템을 포함한다. 레이더 센서들(202c)에 의해 송신되는 전파들은 미리 결정된 스펙트럼 내에 있는 전파들을 포함한다. 일부 실시예들에서, 작동 동안, 레이더 센서들(202c)에 의해 송신되는 전파들은 물리적 대상체와 조우하고 레이더 센서들(202c)로 다시 반사된다. 일부 실시예들에서, 레이더 센서들(202c)에 의해 송신되는 전파들이 일부 대상체들에 의해 반사되지 않는다. 일부 실시예들에서, 레이더 센서들(202c)과 연관된 적어도 하나의 데이터 프로세싱 시스템은 레이더 센서들(202c)의 시야에 포함된 대상체들을 나타내는 신호들을 생성한다. 예를 들어, 레이더 센서(202c)와 연관된 적어도 하나의 데이터 프로세싱 시스템은 물리적 대상체의 경계들, 물리적 대상체의 표면들(예를 들면, 표면들의 토폴로지) 등을 나타내는 이미지를 생성한다. 일부 예들에서, 이미지는 레이더 센서들(202c)의 시야 내의 물리적 대상체들의 경계들을 결정하는 데 사용된다.
마이크로폰들(202d)은 버스(예를 들면, 도 3의 버스(302)와 동일하거나 유사한 버스)를 통해 통신 디바이스(202e), AV 컴퓨터(202f) 및/또는 안전 제어기(202g)와 통신하도록 구성된 적어도 하나의 디바이스를 포함한다. 마이크로폰들(202d)은 오디오 신호들을 캡처하고 오디오 신호들과 연관된(예를 들면, 이를 나타내는) 데이터를 생성하는 하나 이상의 마이크로폰(예를 들면, 어레이 마이크로폰, 외부 마이크로폰 등)을 포함한다. 일부 예들에서, 마이크로폰들(202d)은 트랜스듀서 디바이스들 및/또는 유사 디바이스들을 포함한다. 일부 실시예들에서, 본원에 기술된 하나 이상의 시스템은 마이크로폰들(202d)에 의해 생성되는 데이터를 수신하고 데이터와 연관된 오디오 신호들에 기초하여 차량(200)을 기준으로 대상체의 위치(예를 들면, 거리 등)를 결정할 수 있다.
통신 디바이스(202e)는 카메라들(202a), LiDAR 센서들(202b), 레이더 센서들(202c), 마이크로폰들(202d), AV 컴퓨터(202f), 안전 제어기(202g), 및/또는 DBW 시스템(202h)과 통신하도록 구성된 적어도 하나의 디바이스를 포함한다. 예를 들어, 통신 디바이스(202e)는 도 3의 통신 인터페이스(314)와 동일하거나 유사한 디바이스를 포함할 수 있다. 일부 실시예들에서, 통신 디바이스(202e)는 차량 대 차량(vehicle-to-vehicle, V2V) 통신 디바이스(예를 들면, 차량들 간의 데이터의 무선 통신을 가능하게 하는 디바이스)를 포함한다.
AV 컴퓨터(202f)는 카메라들(202a), LiDAR 센서들(202b), 레이더 센서들(202c), 마이크로폰들(202d), 통신 디바이스(202e), 안전 제어기(202g), 및/또는 DBW 시스템(202h)과 통신하도록 구성된 적어도 하나의 디바이스를 포함한다. 일부 예들에서, AV 컴퓨터(202f)는 클라이언트 디바이스, 모바일 디바이스(예를 들면, 셀룰러 전화, 태블릿 등), 서버(예를 들면, 하나 이상의 중앙 프로세싱 유닛, 그래픽 프로세싱 유닛 등을 포함하는 컴퓨팅 디바이스) 등과 같은 디바이스를 포함한다. 일부 실시예들에서, AV 컴퓨터(202f)는 본원에 기술된 자율 주행 차량 컴퓨터(400)와 동일하거나 유사하다. 추가적으로 또는 대안적으로, 일부 실시예들에서, AV 컴퓨터(202f)는 원격 AV 시스템(예를 들면, 도 1의 원격 AV 시스템(114)과 동일하거나 유사한 원격 AV 시스템), 플릿 관리 시스템(예를 들면, 도 1의 플릿 관리 시스템(116)과 동일하거나 유사한 플릿 관리 시스템), V2I 디바이스(예를 들면, 도 1의 V2I 디바이스(110)와 동일하거나 유사한 V2I 디바이스), 및/또는 V2I 시스템(예를 들면, 도 1의 V2I 시스템(118)과 동일하거나 유사한 V2I 시스템)과 통신하도록 구성된다.
안전 제어기(202g)는 카메라들(202a), LiDAR 센서들(202b), 레이더 센서들(202c), 마이크로폰들(202d), 통신 디바이스(202e), AV 컴퓨터(202f), 및/또는 DBW 시스템(202h)과 통신하도록 구성된 적어도 하나의 디바이스를 포함한다. 일부 예들에서, 안전 제어기(202g)는 차량(200)의 하나 이상의 디바이스(예를 들면, 파워트레인 제어 시스템(204), 조향 제어 시스템(206), 브레이크 시스템(208) 등)를 작동시키기 위한 제어 신호들을 생성 및/또는 송신하도록 구성된 하나 이상의 제어기(전기 제어기, 전기기계 제어기 등)를 포함한다. 일부 실시예들에서, 안전 제어기(202g)는 AV 컴퓨터(202f)에 의해 생성 및/또는 송신되는 제어 신호들보다 우선하는(예를 들면, 이를 오버라이드하는) 제어 신호들을 생성하도록 구성된다.
DBW 시스템(202h)은 통신 디바이스(202e) 및/또는 AV 컴퓨터(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 수신기, IMU(inertial measurement unit), 휠 속력 센서, 휠 브레이크 압력 센서, 휠 토크 센서, 엔진 토크 센서, 조향각 센서 등과 같은 플랫폼 센서들을 포함한다.
이제 도 3을 참조하면, 디바이스(300)의 개략 다이어그램이 예시되어 있다. 예시된 바와 같이, 디바이스(300)는 프로세서(304), 메모리(306), 저장 컴포넌트(308), 입력 인터페이스(310), 출력 인터페이스(312), 통신 인터페이스(314), 및 버스(302)를 포함한다. 일부 실시예들에서, 디바이스(300)는 차량들(102)의 적어도 하나의 디바이스(예를 들면, 차량들(102)의 시스템의 적어도 하나의 디바이스), 원격 AV 시스템(114), 플릿 관리 시스템(116), 차량 대 인프라스트럭처 시스템(118), 자율 주행 시스템(202), 브레이크 시스템(208), DBW 시스템(202h), 조향 제어 시스템(206), 파워트레인 제어 시스템(204), 및/또는 네트워크(112)의 하나 이상의 디바이스(예를 들면, 네트워크(112)의 시스템의 하나 이상의 디바이스)에 대응한다. 일부 실시예들에서, 차량들(102)의 하나 이상의 디바이스(예를 들면, 차량들(102)의 시스템의 하나 이상의 디바이스), 원격 AV 시스템(114), 플릿 관리 시스템(116), 차량 대 인프라스트럭처 시스템(118), 자율 주행 시스템(202), 브레이크 시스템(208), DBW 시스템(202h), 조향 제어 시스템(206), 파워트레인 제어 시스템(204), 및/또는 네트워크(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 수신기, 가속도계, 자이로스코프, 액추에이터 등)를 포함한다. 출력 인터페이스(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 스택"이라고 지칭됨)의 예시적인 블록 다이어그램이 예시되어 있다. 예시된 바와 같이, AV 컴퓨터(400)는 인지 시스템(402)(때때로 인지 모듈이라고 지칭됨), 계획 시스템(404)(때때로 계획 모듈이라고 지칭됨), 로컬화 시스템(406)(때때로 로컬화 모듈이라고 지칭됨), 제어 시스템(408)(때때로 제어 모듈이라고 지칭됨) 및 데이터베이스(410)를 포함한다. 일부 실시예들에서, 인지 시스템(402), 계획 시스템(404), 로컬화 시스템(406), 제어 시스템(408) 및 데이터베이스(410)는 차량의 자율 주행 운행 시스템(예를 들면, 차량(200)의 AV 컴퓨터(202f))에 포함 및 구현된다. 추가적으로 또는 대안적으로, 일부 실시예들에서, 인지 시스템(402), 계획 시스템(404), 로컬화 시스템(406), 제어 시스템(408), 및 데이터베이스(410)는 하나 이상의 독립형 시스템(예를 들면, AV 컴퓨터(400) 등과 동일하거나 유사한 하나 이상의 시스템)에 포함된다. 일부 예들에서, 인지 시스템(402), 계획 시스템(404), 로컬화 시스템(406), 제어 시스템(408), 및 데이터베이스(410)는 본원에 기술된 바와 같이 차량 및/또는 적어도 하나의 원격 시스템에 위치하는 하나 이상의 독립형 시스템에 포함된다. 일부 실시예들에서, AV 컴퓨터(400)에 포함된 시스템들 중 일부 및/또는 전부는 소프트웨어(예를 들면, 메모리에 저장된 소프트웨어 명령어들), 컴퓨터 하드웨어(예를 들면, 마이크로프로세서, 마이크로컨트롤러, ASIC(application-specific integrated circuit), FPGA 등), 또는 컴퓨터 소프트웨어와 컴퓨터 하드웨어의 조합으로 구현된다. 일부 실시예들에서, AV 컴퓨터(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 수신기에 의해 생성되는 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)는 작동에 관련된 데이터 및/또는 소프트웨어를 저장하고 AV 컴퓨터(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 시스템(예를 들면, 원격 AV 시스템(114)과 동일하거나 유사한 원격 AV 시스템), 플릿 관리 시스템(예를 들면, 도 1의 플릿 관리 시스템(116)과 동일하거나 유사한 플릿 관리 시스템), V2I 시스템(예를 들면, 도 1의 V2I 시스템(118)과 동일하거나 유사한 V2I 시스템) 등에 포함될 수 있다.
상황 평가 프레임워크를 이용한 작동 엔벨로프 검출
본원에서 사용되는 바와 같이, "작동 엔벨로프"라는 용어는 AV가 그의 능력 내에서 작동하고 있는 엔벨로프를 지칭한다. 일반적으로, AV는 그의 현재 능력(예를 들면, 인지, 계획, 예측, 제어, 통신 등)이 차량이 식별된 기능 제한들(예를 들면, 환경 조건들, 도로 구조들, 다른 도로 사용자들의 거동 등)을 갖는 주어진 상황 하에서 수행하고 있거나 수행할 것으로 예상되는 기동에 의해 부과되는 기능 요구사항들을 충족시키거나 초과할 때 그의 설계된 작동 엔벨로프 내에서 작동하고 있다.
도 5는 자율 주행 시스템(202)을 갖는 차량(200)이 직면할 수 있는 예시적인 시나리오(500)를 묘사한다. 구체적으로, 도 5는 AV(200)가 교차로에서 우회전하려고 의도하는 것을 묘사한다. 우회전은 AV(200)의 의도된 궤적(520)을 보여주는 것으로 묘사되어 있다. 위에서 기술된 바와 같이, "궤적"이라는 용어는 AV(200)가 시간의 함수로서 환경을 통해 따라가는 경로를 지칭한다. 구체적으로, 본원에서 사용되는 바와 같이, AV(200)가 행동들의 시퀀스를 수행할 때 AV(200)는 "궤적을 횡단"하는 것으로 말해질 것이다. 다른 실시예에서, 그러한 행동들은 "기동을 수행하는[하고 있는]" 것으로서 지칭된다.
이 예시적인 시나리오(500)에서, 주차된 차량(510) 및 보행자(515)와 같은 다수의 대상체들이 존재한다. 구체적으로, 주차된 차량(510)은 AV(200)가 방향 전환하려고 의도하는 차선에서 연석을 따라 주차되어 있는 것으로 묘사되어 있다. 보행자(515)도 적어도 부분적으로 차선에 있다. 이 실시예에서, AV(200)가 궤적(520)을 따라 우회전을 통해 기동함에 따라, 주차된 차량(510)은 AV(200)가 보행자를 볼 수 없도록 AV(200)의 시계를 차단할 수 있다. 따라서, 이 실시예에서, AV(200)의 작동 엔벨로프가 주차된 차량(510)의 위치에 의해 영향을 받음으로써 AV(200)의 능력들(예를 들면, AV(200)의 인지)이 AV(200)가 궤적(520)을 운행할 수 있는 것에 영향을 미치게(이 경우에, 제약하게) 된다.
본 명세서에서의 실시예들은 AV(200)가 위치하는 환경 및/또는 AV(200)가 관여되어 있는 상황의 정확한 평가에 기초하여 그의 ODD 내에서 AV(200)의 작동을 보장하는 것을 돕기 위해 AV(200)의 기능 능력들 및 요구사항들을 측정하는 자율 주행 시스템에 관한 것이다.
도 6을 참조하면, 도 6은 예시적인 OED 프레임워크이다. 일부 실시예들에서, OED 프레임워크(600)와 관련하여 기술된 요소들 중 하나 이상은 하나 이상의 차량(102)(예를 들면, 차량들(102)의 하나 이상의 디바이스)에 의해 (예를 들면, 전체적으로, 부분적으로 등) 수행된다. 추가적으로 또는 대안적으로, OED 프레임워크(600)와 관련하여 기술된 하나 이상의 요소는, 도 1, 도 2, 도 3 및 도 4 중 임의의 것의 다른 디바이스들 중 하나 이상과 같은, 차량들(102)과 별개이거나 차량들(102)을 포함하는 다른 디바이스 또는 디바이스 그룹에 의해 (예를 들면, 전체적으로, 부분적으로 등) 수행될 수 있다.
일부 실시예들에서, OED 프레임워크(600)는, 카메라들(202a), LiDAR 센서들(202b), 레이더 센서들(202c), 마이크로폰들(202d) 등 중 적어도 하나를 포함하는, 적어도 하나의 센서(605)를 포함한다. 센서들(605)은 센서 데이터(606)를 인지 시스템(402)에 출력하도록 구성된다. 센서 데이터(606)는, 예를 들어, 레이더 데이터, 카메라 데이터, LiDAR 데이터 등을 포함한다.
도 4와 관련하여 위에서 기술된 기능들 외에도, 인지 시스템(402)은 적어도 하나의 인지 맵(607)을 제공한다. 인지 맵(607)은 AV의 센서들(605)이 주어진 시간에 AV(200)로부터 특정 거리에 있는 대상체를 얼마나 잘(예를 들면, 어느 정도까지) 그리고 얼마나 멀리서 정확하게 인지할 수 있는지를 기술한다. 인지 시스템(402)은 아래에서 보다 상세히 기술된다. 일부 실시예들에서, 인지 시스템(402)은 "ELSA"(environmental limitation and sensor anomaly) 시스템(402)이라고 지칭된다.
OED 프레임워크(600)는 계획 시스템(404)을 더 포함한다. 계획 시스템(404)은, 예를 들어, 도 4와 관련하여 기술된 바와 같이 다양한 시스템들 및 서브시스템들로부터 데이터를 수신한다. 추가적으로, 계획 시스템(404)은 인지 시스템(402)으로부터 인지 데이터(619)(예를 들면, 대상체 검출들) 및/또는 PVM 데이터(618)를 수신하고, 계획 시스템(404)은 이를 사용하여 자율 주행 차량 컴퓨터(400)가 평가하고/하거나 차량들(102)이 횡단할 궤적 데이터(609)를 생성하거나 업데이트한다. 궤적 데이터(609)는 궤적(520)과 같은 궤적의 하나 이상의 파라미터를 포함한다. 일 실시예에서, PVM 데이터(618)는, 아래에서 상세히 논의되는 바와 같이, 인지 시스템(402)에 의해 생성된다.
OED 프레임워크(600)는 평가 시스템(620)을 더 포함한다. 일부 실시예들에서, 평가 시스템(620)은 독립 시스템으로서 AV 컴퓨터(400)에 포함될 수 있거나 또는 인지 시스템(402)에 포함될 수 있다. 일부 실시예들에서, 평가 시스템(620)은 "SAM" 시스템(620)이라고 지칭된다. 평가 시스템(620)은 관심 영역에서 최소 요구 인지 구역을 나타내는 (AV가 작동하고 있는 환경의 부감도(top view) 또는 조감도(birds-eye view)를 따른) 인지 다각형을 제공하도록 구성된다. 본원에서 사용되는 바와 같이, "인지 구역"은 센서들(605)의 검출 능력들 내에 있는 작동 환경의 일 부분이고 "관심 영역"은 AV 부근에 있는 영역을 지칭하며, 보다 구체적으로는, AV가 존재하거나 궤적 데이터(609)에 기초하여 이동할 환경의 영역이다. 구체적으로, 평가 시스템(620)은, 계획 시스템(404)에 의해 제공되는 궤적 데이터(609)에 기초하여, 최소 인지 구역 데이터(611)를 식별하고 출력한다. 최소 인지 구역 데이터(611)는 궤적 데이터(609)에 의해 기술되는 궤적을 실행하는 데 요구되는 최소 인지 구역에 관련되어 있다.
평가 시스템(620)이 최소 요구 인지 구역을 식별할 수 없다는 것은 제안된 궤적이 기능 요구사항과 연관되어 있지 않다는 것을 나타낼 수 있다. 이 상황에서, 평가 시스템(620)은 정의되지 않은 기능 요구사항(617)의 표시를 개입 요청 시스템(630)에 제공한다. 평가 시스템(620)은 아래에서 보다 상세히 기술된다.
OED 프레임워크(600)는 중재자 시스템(625)을 더 포함한다. 중재자 시스템(625)은 인지 맵(들)(607) 및 최소 인지 구역 데이터(611)를 수신하도록 구성된다. 일 실시예에서, 중재자 시스템(625)은 계획 시스템(404)으로부터 직접 궤적 데이터(609)를 수신하도록 더 구성된다. 중재자 시스템(625)은 이어서 AV가 그의 ODD 내에서 작동하고 있는지 여부를 식별하기 위해 인지 맵(들)(607)과 최소 인지 구역 데이터(611)(및, 일 실시예에서, 궤적 데이터(609))를 비교한다. 구체적으로, 중재자 시스템(625)은 인지 시스템(402)의 출력에 제1 위험 레벨을 할당하도록 구성된다. 일부 실시예들에서, 중재자 시스템(625)은 센서 데이터(606)에 기초하여 궤적에 관련된 기능 요구사항의 비준수의 제1 위험 레벨을 할당하도록 구성된다.
중재자 시스템(625)은 평가 시스템(620)의 출력(예를 들면, 최소 인지 구역 데이터(611))에 따라 기능 요구사항의 비준수의 제2 위험 레벨을 더 할당한다. 중재자 시스템(625)은 할당된 제1 및 제2 위험 레벨들에 기초하여 총 위험 레벨을 계산한다. 총 위험 레벨에 기초하여, 중재자 시스템(625)은 AV가 안전한 상태에 있는지 여부를 식별한다. 안전한 상태의 일 예는 AV가 AV의 ODD 내에서 할당된 궤적/기동을 수행하거나 할당된 궤적/기동을 운행할 수 있는 때이다. 안전하지 않은 상태의 일 예는 궤적/기동의 요구사항들이 AV의 기능 능력들을 초과할 때이다. 중재자 시스템(625)이 AV가 안전하지 않은 상태에 있다는 것을 식별하는 경우, 중재자 시스템(625)은 안전하지 않음 지시자 데이터(unsafe indicator data)(616)를 개입 요청 시스템(630)에 출력하고, 개입 요청 시스템(630)은 개입 요청을 생성하여, 예를 들어, RVA 개입에 대해서는 원격 AV 시스템(114)으로 또는 MRM 개입에 대해서는 계획 시스템(404) 및/또는 AV 제어 시스템(408)으로 전송/송신한다.
OED 프레임워크(600)는 부동성 검출 시스템(635)을 더 포함한다. 부동성 검출 시스템(635)은, 계획 시스템(404)으로부터 수신되는 궤적에 기초하여, AV가 움직일 수 없다는 것을 식별하도록 구성된다. 부동성 검출 시스템(635)은, 아래에서 보다 상세히 기술되는 바와 같이, 해당 부동성의 이유를 식별하고 트리거 신호 데이터(614) 및 정지 이유 데이터(613)를 개입 요청 시스템(630)에 출력하도록 더 구성된다.
OED 프레임워크(600)는 개입 요청 시스템(630)을 더 포함한다. 개입 요청 시스템(630)은 개입 요청(612)을 생성하도록 구성된다. 개입 요청(612)은 인지 맵(607), 안전하지 않음 지시자 데이터(616), 최소 인지 구역 데이터(611), 정지 이유 데이터(613), 트리거 신호 데이터(614), 및/또는 정의되지 않은 기능 요구사항(617)의 표시 중 적어도 하나에 기초할 수 있다.
일 실시예에서, 개입 요청(612)은, 예를 들어, 차량의 제어와 연관된 데이터에 대한 RVA 조작자 또는 원격 조작자에 대한 요청이다. 예를 들어, 개입 요청(612)은 데이터에 대한 요청을 포함할 수 있으며, 이 데이터를 바탕으로 제어 시스템(408)은 AV로 하여금 하나 이상의 행동을 취하게 하도록 작용할 수 있다. 다른 실시예에서, 개입 요청(612)은 AV를 다시 안전한 상태에 두기 위한, AV 속력 낮추기, 정지, 길가에 차 세우기(pulling over) 등과 같은, 미리 식별된 기동일 수 있는 MRM이다. 다른 실시예에서, 개입 요청(612)은 감소된 속력 작동과 같은 성능저하 모드 작동(degraded mode operation, DMO) 태스크에 대한 요청을 포함할 수 있다.
개입 요청(612)이 적어도 하나의 인지 맵(607)에 기초하는 일 실시예에서, 인지 시스템(610) 및/또는 개입 요청 시스템(630)은 센서의 기능 또는 긴급 상황과 관련하여 오류를 검출한다. 이 실시예에서, 개입 요청 시스템(630)이 개입 요청(612)을 생성할 수 있도록, 인지 시스템(610)은 그러한 긴급 상황이 존재한다는 것을 개입 요청 시스템(630)에 직접 통지할 수 있거나, 적어도 하나의 인지 맵(607)을 제공할 수 있다.
일 실시예에서, 도시된 바와 같이 그리고 도 13과 관련하여 아래에서 보다 상세히 기술되는 바와 같이, 개입 요청 시스템(630)은 정지 이유 데이터(613) 및 트리거 신호 데이터(614)와 같은 데이터를 부동성 검출 시스템(635)으로부터 직접 수신하도록 구성된다. 구체적으로, 부동성 검출 시스템(635)이 AV가 "갇혀 있는"(예를 들면, 움직일 수 없는) 것으로 식별할 때, 부동성 검출 시스템(635)은 AV의 부동성에 관련된 콘텍스트 데이터(예를 들면, 데이터(613, 614))를 개입 요청 시스템(630)에 제공한다.
도 7은 다양한 실시예들에 따른, 상황 평가를 이용한 작동 엔벨로프 검출에 관련된 예시적인 프로세스 흐름을 묘사한다. 일부 실시예들에서, 프로세스(700)와 관련하여 기술된 요소들 중 하나 이상은 예시적인 OED 프레임워크(600)(예를 들면, OED 프레임워크(600)에 포함된 디바이스 또는 디바이스 그룹)에 의해 (예를 들면, 전체적으로, 부분적으로 등) 수행된다. 추가적으로 또는 대안적으로, 일부 실시예들에서, 프로세스(700)와 관련하여 기술된 하나 이상의 요소는, 도 1, 도 2, 도 3 및 도 4 중 임의의 것의 디바이스들 중 하나 이상과 같은, 예시적인 OED 프레임워크(600)와 별개인 다른 디바이스 또는 디바이스 그룹에 의해 (예를 들면, 전체적으로, 부분적으로 등) 수행된다.
프로세스(700)는, 705에서, AV의 위치 및 센서 데이터(606)와 같은 센서 데이터에 기초하여 AV에 대한 궤적을 결정하는 단계를 포함한다. 궤적은, 예를 들어, 위에서 기술된 바와 같이 계획 시스템(404)에서 또는 계획 시스템(404)에 의해 생성된다. 궤적은 AV로 하여금, 방향 전환하는 것, 가속, 속력을 유지하는 것, 제동하는 것 등과 같은, 행동을 취하게 하기 위해 제어 시스템(408)에 의해 구현될 적어도 하나의 커맨드를 포함한다. 추가적으로, 705는 아래에서 보다 상세히 기술되는 바와 같이 로컬화 데이터(801)에 기초할 수 있다.
프로세스(700)는, 710에서, 궤적이 적어도 하나의 정의된 기능 요구사항과 연관되어 있는지 여부를 결정하는 단계를 더 포함한다. 기능 요구사항은 AV가 주어진 궤적을 횡단할 때 준수해야 하는 규칙 또는 제약조건이다. 요구사항들은 1) 정지하는 것, 차량 속력을 유지하는 것 및 방향 전환하는 것과 같은, 차량의 기본적인 제어; 2) 교통 신호등들, 보행자들, 자전거들, 다른 차량들 및 임의의 다른 고정적 또는 동적 대상체들을 검출하는 것과 같은, 환경들을 인지할 기본적인 필요성; 3) 맵 또는 차선에서의 차량의 위치를 결정할(즉, 로컬화할) 필요성; 4) 교차로, 유턴, 차선 변경, 합류, 비보호 회전, 회전 교차로 및 임의의 다른 기동을 협상할 수 있는 차량의 능력을 포함하지만 이에 제한되지 않는다. 일 실시예에서, 결정은 평가 시스템(620)에 의해 이루어지는 반면, 다른 실시예들에서 결정은 추가적으로 또는 대안적으로 중재자 시스템(625) 또는 차량의 어떤 다른 시스템 또는 서브시스템에 의해 이루어진다.
710에서, 궤적이 (예를 들면, 정의되지 않은 기능 요구사항(617)의 표시에 기초하여) 적어도 하나의 정의된 기능 요구사항과 연관되어 있지 않다고 결정되는 경우, 프로세스(700)는, 715에서, 차량을 안전한 상태에 두기 위해 개입을 요청하는 단계로 직접 진행한다. 개입 요청은 위에서 기술된 바와 같이 개입 요청 시스템(630)에 의해 수행된다. 그러한 개입은 RVA, MRM, DMO 태스크 또는 어떤 다른 개입에 대한 요청 중 하나 이상을 포함할 수 있다. 기동이 기능 요구사항과 연관되어 있지 않다는 표시가 기동이 비정상적 기동임을 나타내기 때문에 이러한 상황에서 그러한 개입은 바람직할 수 있다. 비정상적 기동은, 예를 들어, 충돌, 비상 기동(예를 들면, 스워빙(swerve) 또는 비상 정지) 또는 어떤 다른 유형의 기동일 수 있다.
그렇지만, 710에서, 궤적이 적어도 하나의 정의된 기능 요구사항과 연관되어 있는 것으로 결정되는 경우, 프로세스(700)는, 720에서, 차량이 궤적을 횡단하는 경우 차량에 의한 적어도 하나의 정의된 기능 요구사항의 비준수의 제1 위험 레벨을 결정하는 단계를 포함한다. 일 실시예에서, 제1 위험 레벨은, 720에서, 인지 시스템(402) 및 중재자 시스템(625) 중 하나 또는 둘 모두에 의해 결정된다. 예를 들어, 일 실시예에서 인지 시스템(402)은 제1 위험 레벨을 식별하고 제1 위험 레벨의 표시를 중재자 시스템(625)에 제공한다. 다른 실시예에서, 제1 위험 레벨은 인지 시스템(402)에 의해 제공되는 인지 맵(들)(607)에 기초하여 중재자 시스템(625)에 의해 결정된다.
비준수의 제1 위험 레벨의 결정은, 예를 들어, 기동의 기능 요구사항들이 차량, 보다 구체적으로는, 센서(들)(605)의 기능 능력들을 초과하는지 여부에 기초하여 이루어진다. 구체적으로, 결정이 PVM에 기초하여 이루어진다. 일 실시예에서, PVM의 생성은 적어도 하나의 사전 PVM(prior PVM)에 기초한다. PVM은 아래에서 보다 상세히 기술된다.
일 실시예에서, 제1 위험 레벨의 결정은 정의된 기능 요구사항과 연관된 적어도 하나의 정량적 메트릭이 충족되는지 여부의 결정에 기초한다. 그러한 정량적 메트릭은 규제 규칙들, 안전 규칙들, 승객 편의 규칙들 또는 어떤 다른 유형의 규칙을 포함하지만 이에 제한되지 않는 데이터 구조인 적어도 하나의 규칙서에 기초할 수 있다.
프로세스(700)는, 725에서, (예를 들면, 로컬화 시스템(406)에 의해 제공되는 바와 같은) 차량의 위치 및 (계획 시스템(404)에 의해 제공되는 바와 같은) 궤적 데이터에 기초하여 관심 영역을 결정하는 단계를 더 포함한다. 그러한 결정은, 예를 들어, 중재자 시스템(625) 및 계획 시스템(404) 중 하나 또는 둘 모두에 의해 이루어진다.
프로세스(700)는, 730에서, 센서 데이터에 적어도 부분적으로 기초하여 관심 영역에 대한 최소 요구 인지 구역을 생성하는 단계를 더 포함한다. 일 실시예에서, 그러한 생성은 평가 시스템(620)에 의해 수행된다. 최소 요구 인지 구역은 차량이 궤적을 안전하게 횡단하는 데 필요한 최소 양의 인지 데이터(예를 들면, 환경과 연관된 최소 양의 데이터)에 기초할 수 있다. 일 실시예에서, 최소 양의 인지 데이터는 궤적의 분석에 기초하는 반면(예를 들면, 최소 양의 인지 데이터가 동적임), 다른 실시예에서 최소 양의 인지 데이터가 미리 식별된다(예를 들면, 최소 양의 인지 데이터가 정적임).
프로세스(700)는, 735에서, 최소 인지 구역에 기초하여 차량에 의한 궤적의 횡단과 연관된 제2 위험 레벨을 평가하는 단계를 더 포함한다. 일 실시예에서, 평가는 평가 시스템(620) 및 중재자 시스템(625) 중 하나 또는 둘 모두에 의해 수행된다. 예를 들어, 일 실시예에서 평가 시스템(620)은 위험을 식별하고 해당 데이터를 중재자 시스템(625)에 제공한다. 다른 실시예에서, 평가 시스템(620)은 최소 인지 구역 데이터(611)를 중재자 시스템(625)에 제공하고, 중재자 시스템(625)은 제2 위험 레벨을 식별한다. 제1 위험 레벨의 평가와 유사하게, 제2 위험 레벨의 평가는 AV의 작동에 대한 기능 요구사항들이 AV 또는 AV의 센서들의 능력들을 초과하는지 여부를 결정하는 것에 기초한다.
프로세스(700)는, 740에서, (요소(720)에서 결정되는 바와 같은) 제1 위험 레벨과 (요소(735)에서 평가되는 바와 같은) 제2 위험 레벨의 조합에 기초하여 총 위험 레벨을 결정하는 단계를 더 포함한다. 그러한 결정은 중재자 시스템(625)에 의해 수행되고, 위험의 가산, 위험의 평균(mean), 위험의 평균(average), 위험의 중앙값(median), 또는 어떤 다른 수학적 함수와 같은 하나 이상의 수학적 함수에 기초할 수 있다. 다른 실시예에서, 총 위험은 제1 또는 제2 위험 레벨들 중 가장 높은 것에만 기초하여 식별된다.
프로세스(700)는, 요소(745)에서, 총 위험 레벨이 차량을 안전한 상태 또는 안전하지 않은 상태에 둘 것인지를 결정하는 단계를 더 포함한다. 그러한 결정은 중재자 시스템(625)에 의해 수행된다. 일 실시예에서, 결정은 식별된 기동에 관련된 임계치와 총 위험 레벨의 비교에 기초한다. 환언하면, 임계치가 동적이다. 다른 실시예에서, 결정은 기동과 독립적인 미리 식별된 임계치와 총 위험 레벨의 비교에 기초한다. 환언하면, 임계치가 정적이다. 총 위험 레벨이 임계치를 충족시키는(또는 초과하는) 경우, 중재자 시스템(625)은 AV가 안전하지 않은 상태에 있거나 있을 것임을 식별하고, 예를 들어, 안전하지 않음 지시자 데이터(616)를 개입 요청 시스템(630)에 제공하는 것에 의해 요소(715)로 진행한다. 그렇지만, 총 위험 레벨이 임계치 미만(또는 이하)인 경우, 중재자 시스템(625)은 AV가 안전한 상태에 있거나 있을 것임을 식별하고, 750에서 궤적을 횡단(예를 들면, 기동을 수행)한다. 구체적으로, 중재자 시스템(625)은 제어 시스템(408)과 같은 AV의 다른 시스템 또는 서브시스템에 의한 궤적의 횡단을 용이하게 한다.
일반적으로, 관심 영역에 대한 PVM은 인지 데이터에서의 대상체 검출이 관심 영역에 있는 AV의 적어도 하나의 센서에 보일 확률을 나타낸다. 확률은 AV의 적어도 하나의 센서의 작동 상태와 연관된 센서 조건 데이터와 같은 다양한 인자들 중 하나 이상에 기초할 수 있다. 본원에서 사용되는 바와 같이, 작동 상태는 적어도 하나의 센서의 시야가 폐색되는지 여부(그리고 만약 그렇다면, 작동 상태는 시야가 어느 정도까지 폐색되는지를 나타낼 수 있음), 및/또는 적어도 하나의 센서가 오작동했는지 여부를 나타낸다. 다른 실시예에서, 확률은 기상 조건(예를 들면, 비가 오는지 화창한지), 조명 조건(예를 들면, 일광이 이용 가능한지 이용 가능하지 않은지), 또는 어떤 다른 조건과 같은 적어도 하나의 환경 조건에 기초하여 결정된다.
예시적인 인지 시스템
이전에 기술된 바와 같이, 일 실시예에서, 인지 시스템(402)은 AV의 센서들(예를 들면, 센서들(605))이 주어진 시간에 대상체를 얼마나 잘, 그리고 얼마나 멀리서 인지할 수 있는지에 대한 데이터를 제공한다. 보다 구체적으로, 인지 시스템(402)은 AV 주위의 관심의 대상체들 및 환경적 특징물들을 검출하는 인지 시스템(402)의 능력을 모델링 및 모니터링하는 것에 의해 AV의 감지 능력들을 특성화하는 일을 담당하고 있다. 이 능력은 센서 조건들(예를 들면, 센서의 차단, 더럽혀진 센서, 오작동하는 센서 등), 환경 조건들(예를 들면, 날씨, 하루 중 시간, 센서 폐색들 등) 및 센서(605)의 능력들(예를 들면, 시야(FOV), 센서들의 설치 위치 등)의 함수로서 모델링된다. 대안적인 실시예들에서, 인지 시스템(402)은 대상체 검출을 담당하고 있으며, 인지 시스템(402)과 별개인 다른 시스템은 AV 주위의 관심 대상체들 및 환경적 특징물들을 검출하는 인지 시스템(402)의 능력을 모델링 및 모니터링하는 것에 의해 AV의 감지 능력들을 특성화하는 일을 담당하고 있다.
실시예들에서, 인지 시스템(402)은 런타임 시에 AV 외부의 환경 및 인지 시스템(402)의 인지 감지 능력들을 캡슐화하는 PVM을 생성한다. PVM은 온라인 및/또는 오프라인 데이터에 기초하여 생성될 수 있다. 일 실시예에서, 센서 검출기 세트는 센서 조건들 및 환경 조건들을 검출하고 모니터링하는 데 사용된다. 센서 조건은, 차단/폐색, 더럽혀진 센서, 오작동하는 센서 등을 포함하지만 이에 제한되지 않는, 센서의 조건이다. 환경 조건은 날씨, 하루 중 시간, 센서를 폐색하고 있는(예를 들면, 센서의 FOV를 방해하고 있는) 다른 대상체들 등을 포함하지만 이에 제한되지 않는 조건이다.
도 8을 참조하면, 도 8은 인지 시스템(402)을 포함하는 예시적인 센서 시스템(800)의 블록 다이어그램을 묘사한다. 인지 시스템(402)은 센서(들)(605)로부터 센서 데이터(606)를 수신하고 센서 조건들 및/또는 환경 조건들을 검출/모니터링하도록 구성된 적어도 하나의 센서 시스템(810)을 포함한다. 구체적으로, 차단/폐색, 오물 및 오작동과 같은 센서 조건들, 또는 태양 눈부심과 같은 환경 조건들은 대상체들을 검출하는 인지 시스템(402)의 능력을 감소시킬 수 있다. 센서 시스템(들)(810)은 센서 데이터(606)(예를 들면, 어느 센서들(605)이 영향을 받고 있는지, 및 어떻게 또는 어디에서 문제가 발생하는지, 예컨대, 눈부심 효과를 생성하고 있는 태양 또는 라이트의 위치)에 기초하여 이러한 조건들의 존재 및 위치를 검출하도록 구성된다. 일 실시예에서, 센서 검출기(들)(810)는, 예를 들어, 센서 데이터(606)에 관련된 데이터 분석, 센서 데이터(606)에 관련된 메타데이터의 분석, 센서(들)(605)에 관련된 제어 데이터, 또는 센서(들)(605)에 의해 출력되는 어떤 다른 데이터를 통해 이러한 센서 또는 환경 조건들을 식별하도록 구성된다. 센서 시스템(들)(810)은 이어서 센서/환경 조건(840)에 관련된 데이터를 PVM 서브시스템(820)에 제공하며, PVM 서브시스템(820)은 아래에서 더욱 상세히 기술될 것이다.
일부 실시예들에서, 도 8에서 알 수 있는 바와 같이, 센서/환경 데이터(840)는, 위에서 기술된 바와 같이, 개입 요청 시스템(630)에 직접 제공된다. 일 실시예에서, 데이터(840)는 지속적으로 개입 요청 시스템(630)에 제공되는 반면, 다른 실시예에서 데이터(840)는 데이터의 파라미터가, 동적이거나 정적일 수 있는, 임계치에 도달하거나 초과할 때에만 개입 요청 시스템(630)에 제공된다. 이 실시예에서, 개입 요청 시스템(630)은, 위에서 기술된 바와 같이 개입을 필요로 할 수 있는, 센서 고장(예를 들면, 극한 환경 조건, 센서 오작동 등)과 같은 상황을 나타내는 센서 시스템(들)(810)로부터 수신되는 데이터(840)에 대해 작용하도록 구성된다.
인지 시스템(402)은 적어도 하나의 인지 파이프라인(815)을 더 포함한다. 인지 파이프라인(815)은 센서 데이터를 수신하고 대상체 검출에 관련된 행동들을 수행하도록 구성된다. 보다 구체적으로, 인지 파이프라인(815)은 인지 데이터(619)로서 출력되는 중간 인지 결과들을 생성하도록 구성된다. 그러한 인지 데이터(619)는 지면 및 검출된 대상체들의 데이터를 전달하는 LiDAR 시맨틱 포인트 클라우드를 포함하지만 이에 제한되지 않는다. 다른 실시예들에서, 인지 데이터(845)는, 예를 들어, RADAR 검출에 관련된 데이터, 카메라 또는 카메라들에 관련된 데이터 등을 포함한다. 인지 데이터(619)는 인지 파이프라인(들)(815)에 의해 PVM 서브시스템(820) 및 계획 시스템(404)에 출력된다.
인지 데이터(619)는 환경 폐색을 식별하는 것은 물론, LiDAR 데이터를 식별/해석하기 위해 PVM에 의해 사용된다. PVM은 또한 인지 파이프라인(815)에 의해 출력되는 인지 데이터(619)를 사용하여 AV 부근 내의 대상체에 관련된 PoD 맵과 같은 인지 맵(607)을 구성할 수 있다. 그러한 PoD 맵은 아래에서 더욱 상세히 기술된다. 인지 파이프라인(815)은, RADAR 데이터, 카메라 데이터, 또는 센서(들)(605)에 의해 생성되거나 센서(들)(605)에 관련된 어떤 다른 유형의 데이터에 관련된, 유사한 데이터를 생성하거나 유사한 기능들을 수행하도록 더 구성된다. 도 8이 단일 인지 파이프라인만을 도시하지만, 다른 실시예들에서 인지 시스템(402)이 복수의 인지 파이프라인들(815)을 포함한다는 것이 또한 이해될 것이다. 일부 실시예들에서, 센서(들)(605)의 각각의 센서는 그 자신의 인지 파이프라인을 가지는 반면, 다른 실시예들에서 센서(들) 중 적어도 하나는 인지 파이프라인을 공유한다.
인지 시스템(402)은 PVM 서브시스템(820)을 더 포함한다. PVM 서브시스템(820)은 인지 데이터(619) 및 센서/환경 데이터(840)를 수신하고 PVM을 생성하도록 구성된다. 일반적으로, PVM은 AV의 센서들(605)의 시계의 영역을 나타내는 모델이다. 아래에서 보다 상세히 기술될 것인 바와 같이, PVM은 각자의 관심 대상체들(예를 들면, 차량, 보행자, 우편함 또는 가로등과 같은 차량에 인접한 대상체 등)에 대한 PoD 주변 맵과 같은, 적어도 하나의 인지 맵(607)을 생성하는 데 사용된다. PVM은, AV 주위의 환경 폐색들 및 심각도를 모델링하는 폐색 레벨 맵과 같은, 인지 맵(607)을 더 생성한다. PoD 주변 맵 및 폐색 맵은 아래에서 보다 상세히 묘사되고 논의된다.
일반적으로, PVM 서브시스템(820)은 센서/환경 데이터(840) 및 인지 데이터(619)와 같은 데이터에 기초하여 PVM을 생성한다. 일 실시예에서, PVM은 로컬화 시스템(406)에 의해 제공되는 로컬화 데이터(801)와 같은 추가적인 데이터에 더 기초한다. 로컬화 데이터(801)는 AV의 위치 또는 환경에 관련된 데이터를 포함하고, AV의 하나 이상의 센서의 시계에 영향을 미치는 하나 이상의 대상체(예를 들면, 건물, 고가 도로 등)가 AV 주변에 있는지 여부를 식별하기 위해 PVM 서브시스템(820)에 의해 사용될 수 있다. 그러한 데이터는, 예를 들어, 글로벌 내비게이션 위성 시스템(Global Navigation Satellite System)(예를 들면, GPS)에 의해 제공될 수 있다.
일 실시예에서, PVM은 환경 조건을 나타내는 환경 데이터(802)에 더 기초한다. 그러한 환경 데이터(802)는, 예를 들어, 환경 서브시스템(850)이 통신 가능하게 결합되는 기상 서비스에 의해 생성되는 바와 같은 기상 예보를 포함한다. 환경 데이터(802)는 추가적으로 또는 대안적으로 AV 부근 내의 환경 조건을 나타내는, 기압계, 습도 센서, 또는 어떤 다른 유형의 센서와 같은 AV의 센서들(또는 AV에 통신 가능하게 결합된 센서들)에 관련된 데이터를 포함할 수 있다.
일 실시예에서, PVM 서브시스템(820)은 PVM, 또는 PoD 부근 맵 또는 폐색 맵과 같은 결과적인 맵을 PVM 사전 데이터베이스(PVM prior database)(825)에 저장된 사전 데이터(prior data)(806)에 추가로 기초하도록 구성된다. 그러한 사전 데이터(806)는 이전 PVM, 이전 PoD 주변 맵, 이전 폐색 맵, 및/또는 어떤 다른 유형의 데이터를 포함할 수 있다.
PVM 서브시스템의 결과적인 맵(들)은, 요소(720)와 관련하여 위에서 기술된 바와 같이 제1 위험 레벨을 결정하기 위해, 인지 시스템(402)에 의해 중재자 시스템(625)에 출력된다. 일부 실시예들에서, 맵들(607) 중 하나 이상은 또한 맵의 결과에 기초하여 개입을 결정하기 위해 개입 요청 시스템(630)에 직접 출력될 수 있다. 예를 들어, 일 실시예에서, PVM에 기초하여 PVM 서브시스템(820)에 의해 생성되는 맵들 중 하나 이상은 지속적으로 개입 요청 시스템(630)에 제공되는 반면, 다른 실시예에서 맵(들)은 맵(들)의 파라미터가, 동적이거나 정적일 수 있는, 임계치에 도달하거나 초과할 때에만 개입 요청 시스템(630)에 제공된다. 이 실시예에서, 개입 요청 시스템(630)은, 위에서 기술된 바와 같이 개입을 필요로 할 수 있는, 극단적 폐쇄, AV에 매우 가까운 대상체 등과 같은 상황을 나타내는 PVM 서브시스템(820)으로부터 수신되는 맵(들)에 대해 작용하도록 구성된다.
도 9를 참조하면, 도 9는 PoD 맵의 일 예(900)를 묘사한다. 이전에 언급된 바와 같이, 인지 시스템(402), 특히 PVM 서브시스템(820)은 상이한 대상체들에 대한 적어도 하나의 PoD 맵(예를 들면, 차량들에 대한 하나의 PoD 맵, 보행자들에 대한 다른 PoD 맵 등)을 생성하도록 구성된다. 추가적으로, 언급된 바와 같이, PoD 맵들은 PVM 사전 데이터베이스(825)로부터 공급되는 하나 이상의 이전 PoD 맵에 기초할 수 있다.
예(900)는 차량들에 대한 PoD 맵을 묘사한다. 구체적으로, 차량(200)(예를 들면, AV)은 거리, 차선, 간선도로, 대로(boulevard) 등일 수 있는 도로(930)에 위치한다. 이 예(900)를 위해, 도로(930)에 인접한 환경은 "오프로드(off road)"(925)라고 추가로 라벨링되어 있다. 차량(940)(예를 들면, 다른 차량)은 차량(200) 부근에 위치해 있다. 추가적으로, 태양(920)의 위치는 이 예(900)를 위해 차량(200) 전방에 있는 것으로 묘사되어 있다.
이 실시예에서, PoD 맵(905)은, 차량(940)과 같은, 에이전트들(예를 들면, 차량들, 보행자들, 자전거 타는 사람들, 모터사이클들 등)에 관련된 PoD 맵이다. 구체적으로, PoD 맵(905)은 차량(940)이, 센서(들)(605)와 같은, 차량(200)의 센서에 의해 검출될 약 N%(N=75%) 이상의 가능성이 있는 거리 임계치를 나타낸다. 일부 실시예들에서, PoD 맵(905)은 방위각(즉, 수평선으로부터의 대상체의 각도)에 의해 영향을 받거나 이에 기초할 수 있는 반면, 다른 실시예들에서 방위각은 PoD 맵(905)의 계산에 사용되는 인자가 아니다.
도 9의 예에서 알 수 있는 바와 같이, PoD 맵(905)은 일반적으로 차량(200)을 둘러싸는 부근에 걸쳐 있다. 그렇지만, PoD 맵(905)이 도 9에 묘사된 세 가지 제한을 갖는다는 점에 유의한다. 차량(940)이 차량(200)과 다른 차량 사이에 있도록 위치하는 차량을 검출하는 차량(200)의 센서의 능력을 감소시킬 수 있는, 첫 번째 제한은 차량(940)의 존재에 의해 야기된다. 예를 들어, 눈부심 또는 다른 조명 관련 환경 조건으로 인해 PoD 맵(905)의 범위를 감소시키는, 다른 제한은 태양(920)에서 보인다. PoD 맵(905)이 일반적으로 도로(930)의 에지와 일치하는 다른 제한은 차량(200) 좌측에서 보인다. 이 제한은, 예를 들어, 장벽, 건물 또는 어떤 다른 제한의 존재에 기초할 수 있다. 이 예시적인 맵이 단지 일 예일 뿐이며, PoD 맵(905)이 조정되는 특정 각도들, PoD 맵(905)의 크기 또는 형상, PoD 맵(905)에 영향을 미치는 인자들 등이 상이한 실시예들에서 상이할 수 있음이 이해될 것이다. 추가적으로, 비록 이 예(900)에서 PoD 맵들에 사용되는 값이 75%의 예시적인 임계 값을 갖는 것으로 기술되지만, 다른 실시예들에서 다른 값들이 사용될 수 있다. 일부 실시예들에서, 임계 값은 센서의 유형, PoD 맵과 연관된 대상체의 유형, 또는 어떤 다른 인자에 기초하여 선택된다. 일 실시예에서, PoD 값은 인지 시스템(402)으로부터 업스트림 또는 다운스트림에 있는 모듈들의 요구사항들에 기초하여 선택될 수 있다.
이전에 논의된 바와 같이, 일 실시예에서 PVM 서브시스템(820)은 PVM 또는 PoD 맵을 식별할 때 사전 PVM, 사전 PoD 맵, 또는 어떤 다른 데이터에 관련된 데이터를 사용하도록 구성된다. 그러한 데이터는 PVM 사전 데이터베이스(825)에 저장될 수 있다. 예(900)는 사전 PoD 맵의 2 개의 그러한 예를 묘사한다. 구체적으로, 요소(915)는, 예를 들어, 75%보다 큰 검출 확률을 갖는 자동차들에 대한 온라인 사전 PoD 맵을 묘사한다. 본원에서 사용되는 바와 같이, "온라인" 사전 PoD 맵은 PVM 서브시스템(820)에 의한 이전 계산에 관련된 사전 PoD 맵을 나타낸다. 그러한 맵은 PVM 서브시스템(820), PVM 사전 데이터베이스(825), 또는 둘 모두의 메모리에 저장될 수 있다. 일 실시예에서, 온라인 사전 PoD 맵(915)의 값들은 특정 과거 시간 창에 걸쳐(예를 들면, 과거 5분의 사용에 걸쳐) 또는 특정 수의 샘플들에 걸쳐 차량(200)의 현재 사용으로부터의 값들의 집계에 기초한다. 이 실시예에서, 온라인 사전 PoD 맵(915)은 해당 값들의 평균에 기초할 수 있는 반면, 다른 실시예들에서 맵(915)은 사전 값들에 관련된 평균, 중앙값, 최댓값, 또는 어떤 다른 함수에 기초할 수 있다.
요소(910)는, 예를 들어, 75%보다 큰 검출 확률을 갖는 자동차들에 대한 오프라인 사전 PoD 맵을 묘사한다. 본원에서 사용되는 바와 같이, "오프라인" 사전 PoD 맵은 PVM 사전 데이터베이스(825)에 저장되고 온라인 맵(예를 들면, 요소(915))이 이용 가능하지 않은 경우에 또는 온라인 맵(915)을 생성하기에 충분히 많은 수의 샘플들이 없을 정도로 환경 또는 센서 조건이 크게 변경된 경우에 사용하도록 의도되어 있는 PoD 맵을 기술한다. 그러한 오프라인 맵은 온라인 맵(915)이 없는 경우 PVM 서브시스템(820)에 의해 사용하기 위한 기본 또는 폴백 맵으로 간주될 수 있다. 일 실시예에서, 오프라인 맵(910)에 관련된 값들은 많은 수의 실행들에 관련되며, 날씨, 위치, 하루 중 시간 등과 같은 특정 환경 조건들에 더 기초할 수 있다. 온라인 맵(915)과 유사하게, 맵(910)은 사전 값들에 관련된 평균, 중앙값, 최댓값 또는 어떤 다른 함수에 기초할 수 있다.
일 실시예에서, 맵(905)은 초기에, 예를 들어, 인지 데이터(619), 센서/환경 데이터(840), 오프라인 사전 PoD 맵(910), 어떤 다른 인자, 및/또는 이들의 어떤 조합에 기초하여 생성된다. 맵(905)은 이어서 추가적인 인지 데이터(619) 및/또는 추가적인 센서/환경 데이터(840)와 같은 추가적인 데이터에 기초하여 업데이트된다. 환언하면, 추가적인 데이터가 수신될 때, 맵(905)이 업데이트된다. 그러한 업데이트는 주기적(예를 들면, 매 x 시간 단위마다)일 수 있거나 또는 새로운 데이터가 수신될 때만과 같이 동적일 수 있다. 업데이트되지 않은 맵 영역들(예를 들면, 수신된 인지 데이터(619) 또는 센서/환경 데이터(840)에 그에 대한 추가적인 데이터가 없는 맵 영역들)은 오프라인 사전 PoD 맵(910) 또는 온라인 사전 PoD 맵(915)에서의 값과 같은 사전 값을 향해 조정될 수 있다. 그러한 이동은 미리 정의된 측정 단위에 따라 증분적일 수 있거나, 또는 현재 값과 사전 값 사이의 중간점과 같이 동적일 수 있다. 일 실시예에서, PoD는 수학식 1에 따른 베이지안 업데이트(Bayesian updating)를 사용하여 반복적으로 새로운 정보/증거와 사전 확률을 결합하는 것에 의해 업데이트될 수 있다.
, [1]
여기서 H는 특정 대상체(예를 들면, 보행자)를 검출하는 이벤트이고, D는 데이터/새로운 정보이며, P(D)는 관찰된 이벤트(예를 들면, 비, 전체 조명)가 발생한 확률(예를 들면, 전체 확률의 법칙(law of total probability)을 사용하여 계산됨)이고, P(D|H)는 검출 이벤트가 주어진 경우 데이터의 우도이며, P(H)는 사전 확률이고, P(H|D)는 새로운 검출 확률이다.
도 10을 참조하면, 폐색 맵의 일 예(1000)가 묘사되어 있다. 위에서 언급된 바와 같이, 폐색 맵은 PVM 서브시스템(820)에 의해 생성되고 차량(200)의 센서들(605)이 차량(200) 부근의 대상체에 의해 폐색되거나 차단되는 영역들을 묘사한다. 차량(200)의 부근은 낮은 폐색 구역(들)(1030), 중간 폐색 구역(들)(1035) 및 높은 폐색 구역(들)(1040)과 같은 폐색 구역들을 형성하는 다양한 높이들의 여러 대상체들을 포함한다. 본원에서 사용되는 바와 같이, "낮은", "중간" 및 "높은"이라는 용어들은 서로에 대한 상대 높이들을 구별하는 데 사용된다. 일 실시예에서, 낮은 폐색 구역(1030)은 대략 지면 레벨과 지면에서 대략 1 미터 사이의 높이에 관련되어 있다. 중간 폐색 구역(1035)은 지면에서 대략 1 미터와 2 미터 사이의 높이에 관련되어 있다. 높은 폐색 구역(1040)은 대략 2 미터 초과의 높이에 관련되어 있다. 그렇지만, 다른 실시예들이 보다 많은 또는 보다 적은 폐색 구역들, 상이한 높이 파라미터들을 갖는 구역들 등을 갖는다는 것이 이해될 것이다.
차량(200) 부근의 대상체들은 낮은 폐색 구역(1030)을 생성할, 키가 작은 보행자(1005)(예를 들면, 어린이)를 포함한다. 대상체들은 중간 폐색 구역(1035)을 구성하는 키가 큰 보행자(1010)(예를 들면, 성인) 및 세단들(1020)과 같은 하나 이상의 차량을 더 포함한다. 대상체들은 높은 폐색 구역(1040)을 구성하는 이동하는 트럭, 트랙터-트레일러 등과 같은 하나 이상의 대형 차량(1015)을 더 포함한다.
일부 실시예들에서, 시간이 지남에 따라 폐색 구역들이 변할 수 있다는 점에 유의한다. 예를 들어, 1045에서 알 수 있는 바와 같이, 키가 큰 보행자(1010)에 의해 생성되는 폐색 구역은 차량(200)으로부터의 거리가 증가함에 따라 중간 폐색 구역(1035)으로부터 높은 폐색 구역(1040)으로 변한다. 이 변화는 도로의 경사의 변화, 폐색되는 센서의 유형 또는 어떤 다른 인자와 같은 인자들에 의해 야기될 수 있다. 유사하게, 1050에서, 폐색 구역이 중간 폐색 구역(1035)으로부터 낮은 폐색 구역(1030)으로 변하는 것을 알 수 있다. 이러한 변화는 위쪽으로 경사진 도로, 세단(1020)의 형상(예를 들면, 세단(1020)의 객실에 의해 야기되는 폐색 구역이 세단(1020)의 후드 또는 후방 부분에 의해 야기되는 폐색 구역과 상이함), 폐색되는 센서의 유형, 또는 어떤 다른 인자에 의해 야기될 수 있다.
도 11을 참조하면, PVM의 생성 및 사용에 관련된 예시적인 프로세스(1100)가 묘사되어 있다. 일부 실시예들에서, 프로세스(1100)와 관련하여 기술된 요소들 중 하나 이상은 예시적인 센서 파이프라인(800), 보다 구체적으로는, 도 8의 인지 시스템(402) 및 PVM 서브시스템(820)에 의해 (예를 들면, 전체적으로, 부분적으로 등) 수행된다. 추가적으로 또는 대안적으로, 일부 실시예들에서, 프로세스(1100)와 관련하여 기술된 하나 이상의 요소는, 도 1, 도 2, 도 3, 도 4 또는 도 6 중 임의의 것의 디바이스들 중 하나 이상과 같은, 예시적인 센서 파이프라인(800) 또는 그와 별개인 다른 디바이스 또는 디바이스 그룹에 의해 (예를 들면, 전체적으로, 부분적으로 등) 수행된다.
일 실시예에서, 프로세스(1100)는, 1105에서, 위에서 기술된 센서 조건들과 같은 적어도 하나의 센서 조건을 결정하는 단계를 포함한다. 센서 조건은 환경의 적어도 하나의 측정과 연관된 센서 데이터(606)에 기초하고, 센서 데이터(606)는 센서들(605) 중 적어도 하나에 의해 생성된다. 일 실시예에서, 요소(1105)는 센서 검출기(들)(810), PVM 서브시스템(820), 또는 이들의 어떤 조합에 의해 수행된다.
프로세스(1100)는, 1110에서, 환경의 적어도 하나의 측정에 기초하여, 위에서 기술된 환경 조건과 같은, 적어도 하나의 환경 조건을 결정하는 단계를 더 포함한다. 측정은, 예를 들어, 환경 데이터(802) 또는 센서 데이터(606)에 기초할 수 있다. 요소(1105)와 유사하게, 요소(1110)는 센서 검출기(들)(810), PVM 서브시스템(820), 또는 이들의 어떤 조합에 의해 수행될 수 있다.
프로세스(1100)는, 1115에서, 적어도 하나의 센서 조건, 적어도 하나의 환경 조건, 및 적어도 하나의 차량의 위치에 기초하여 PVM을 생성하는 단계를 더 포함한다. 일 실시예에서, 요소(1115)는 PVM 서브시스템(820)에 의해 수행되고, 위치 데이터(801)는 로컬화 시스템(406)에 의해 제공되는 데이터에 기초한다.
프로세스(1100)는, 1120에서, PVM에 기초하여, 적어도 하나의 차량에 의해 횡단될 궤적을 식별하는 단계를 더 포함한다. 요소(1120)는, 예를 들어, 계획 시스템(404)에 의해, 또는 개입 요청 시스템(630)에 의해 수행될 수 있다. 일 실시예에서, 궤적은, 위에서 기술된, 궤적(520)과 유사하다. 다른 실시예에서, 궤적은, 위에서 기술된 바와 같이, MRM, RVA 요청, DMO 등과 같은 기동에 관련되어 있다.
도 12를 참조하면, PVM의 생성 및 사용에 관련된 대안적인 예시적인 프로세스(1200)가 묘사되어 있다. 일부 실시예들에서, 프로세스(1200)와 관련하여 기술된 요소들 중 하나 이상은 예시적인 센서 파이프라인(800), 보다 구체적으로는, 도 8의 인지 시스템(402) 및 PVM 서브시스템(820)에 의해 (예를 들면, 전체적으로, 부분적으로 등) 수행된다. 추가적으로 또는 대안적으로, 일부 실시예들에서, 프로세스(1200)와 관련하여 기술된 하나 이상의 요소는, 도 1, 도 2, 도 3, 도 4 또는 도 6 중 임의의 것의 디바이스들 중 하나 이상과 같은, 예시적인 센서 파이프라인(800) 또는 그와 별개인 다른 디바이스 또는 디바이스 그룹에 의해 (예를 들면, 전체적으로, 부분적으로 등) 수행된다.
프로세스(1200)는, 1205에서, 센서 데이터를 수신하는 단계를 포함한다. 센서 데이터는, 예를 들어, 센서(들)(605)로부터 수신되는 센서 데이터(606)이다.
프로세스(1200)는, 1210에서, 차량의 인지 파이프라인으로부터 인지 데이터를 수신하는 단계를 더 포함한다. 인지 데이터는, 예를 들어, 인지 파이프라인(들)(815)로부터 수신되는 인지 데이터(619)이다.
프로세스(1200)는, 1215에서, 센서 데이터에 기초하여 적어도 하나의 센서 조건을 검출하는 단계를 더 포함한다. 센서 조건은 센서 검출기들(810)과 같은 센서 검출기들에 의해 검출되며, 위에서 기술된 바와 같이, 오작동, 차단 등과 같은 센서 조건에 관련되어 있다.
프로세스(1200)는, 1220에서, 센서 데이터에 기초하여 적어도 하나의 환경 조건을 검출하는 단계를 더 포함한다. 환경 조건은 위에서 기술된 바와 같은 환경 조건이며, 차량의 작동 환경의 특성을 나타낸다. 일부 실시예들에서, 환경 조건은 추가적으로 또는 대안적으로 환경 데이터(802)에 기초할 수 있다.
프로세스(1200)는, 1225에서, 차량의 위치, 적어도 하나의 센서 조건, 및 적어도 하나의 환경 조건에 기초하여 적어도 하나의 대상체 검출을 위한 현재 PVM을 생성하는 단계를 더 포함한다. 요소(1115)와 유사하게, 위치 데이터는 로컬화 시스템(406)에 의해 제공되는 데이터에 기초한다.
프로세스(1200)는, 1230에서, 인지 데이터(619) 및 PVM 데이터(618)에 적어도 부분적으로 기초하여 차량에 대한 궤적을 결정하는 단계를 더 포함한다. 요소(1120)와 유사하게, 요소(1230)는, 예를 들어, 계획 시스템(404)에 의해, 또는 개입 요청 시스템(630)에 의해 수행될 수 있다. 일 실시예에서, 궤적은 궤적(520)과 유사하다. 다른 실시예에서, 궤적은, 위에서 기술된 바와 같이, MRM, RVA 요청, DMO 등과 같은 기동에 관련되어 있다.
예시적인 상황 평가
도 13은 일부 실시예들에 따른, 평가 파이프라인(1300)의 다이어그램이다. 특정 순간에서의 AV의 거동 요구사항들은 AV가 수행하고 있는 기동 및 AV의 현재 환경에 의해 영향을 받는다. 예를 들어, AV가 보행자들 또는 자전거 타는 사람들과 같은 다른 취약한 도로 사용자들 없이 "간선도로를 따라가는 차선" 운전 시나리오를 수행하고 있을 때, AV가 번잡한 도시 환경에서 "주차된 차량 우회" 운전 시나리오를 수행하고 있을 때와 비교하여 거동 요구사항들이 상대적으로 더 적다. 평가 시스템(620)은 AV가 현재 환경에서 수행하고 있는 기동을 이해하고 현재 운전 시나리오에 대해 거동 요구사항들이 충족되는지 여부를 검증하는 임무를 맡고 있다.
평가 파이프라인(1300)은 계획 시스템(404), 평가 시스템(620), 중재자 시스템(625), 및 개입 요청 시스템(630)을 포함한다. 도 13에 도시된 바와 같이, 평가 시스템(620)은 기동 평가 서브시스템(1303) 및 이상 검출 서브시스템(1304)을 포함한다. 도 13에 명시적으로 도시되어 있지는 않지만, 일 실시예에서 계획 시스템(404)은 제어 시스템(408)을 포함하거나 제어 시스템(408)에 의해 대체된다.
궤적 데이터(609)는 인지 데이터, 맵 데이터 및 로컬화 데이터에 기초하여 계획 시스템(404)(및/또는 제어 시스템(408))에 의해 생성된다. 궤적 데이터(609)는 기동 평가 서브시스템(1303)에 입력된다. 기동 평가 서브시스템(1303)은 또한 궤적 부근의 다양한 에이전트들(예를 들면, 다른 차량들)에 대한 현재 및 미래 월드 상태들, 맵 데이터, 목표 할당 및 규칙서를 입력으로서 취하고, 잘 정의되지 않은 시나리오들에 대한 검출 결과들(예를 들면, 안전하지 않음 지시자 데이터(616)) 및 비준수 위험 분석(예를 들면, 최소 인지 구역 데이터(611))을 출력한다. 일부 실시예들에서, 인지 시스템(402)에 대한 업데이트된 요구사항들이 또한 출력된다.
기동 평가 서브시스템(1303)은 중재자 시스템(625)에 출력되는 최소 인지 구역 데이터(611)를 생성한다. 일 실시예에서, 기동 평가 서브시스템(1303)은 궤적 데이터(609)에 의해 표시되는 궤적이 ODD에 있는지, 그리고 규제, 안전 및 편의 규칙들의 준수에 대한 검사를 포함하지만 이에 제한되지 않는 미리 정의된 거동 요구사항들의 그의 준수를 결정한다. 예를 들어, 기동 평가 서브시스템(1303)이 AV에 의해 취해지는 올바른 행동들을 검증할 수 있는 경우, 자전거 타는 사람과의 차선 공유와 같은 도전적인 상황들 동안 RVA 요청 또는 MRM을 트리거하는 것이 회피될 수 있다. 다른 실시예에서, 이러한 결정은 기동 평가 서브시스템(1303)에 의해 출력되는 최소 인지 구역 데이터(611)에 기초하여 중재자 시스템(625)에 의해 수행된다.
덜 이해된 상황들(예를 들면, 미리 정의된 거동 요구사항들이 없음)은 기동 검출만을 사용하여 평가된다. 예를 들어, 교통 신호 경찰관이 오작동하는 교통 신호등 교차로에 있을 때 RVA 요청 또는 MRM은 바람직할 수 있다.
기동 평가의 일부 예들은 갭 분석 및 관심 영역 평가들을 포함하지만 이에 제한되지 않는다. 갭 분석은 차량(200)이 다른 도로 사용자들에 대해 안전한 갭을 유지하는지를 검사한다. 예를 들어, 차량(200)이 차선 변경을 수행하고 있을 때, 갭 분석은 차량(200)이 차량(200)의 전방 및 후방에서 다가오는 차량들에 대해 안전한 갭을 유지하는지를 검사한다. 관심 영역 분석은 차량(200)이 안전한 기동을 수행하기 위해 최소 요구 센서 인지 구역(예를 들면, 센서들에 의해 커버되는 영역)을 지정하는 데 사용된다.
잘 정의되지 않은 시나리오들에 대한 검출 결과들은 플래너/제어기 내부 상태들과 함께 이상 검출 서브시스템(1304)에 입력된다. 이상 검출 서브시스템(1304)은, 검출된 이상들에 대한 안전하지 않음 지시자 데이터(616)와 같은, 콘텍스트 데이터를 출력한다. 이상 검출의 일 예는, 교통 사고, 공사 구역 및, "무단 횡단자" 또는 적색 신호등을 무시하려고 시도하는 차량과 같은, 우선순위를 위반하는 다른 도로 사용자들과 같은 비정상적 도로 교통 시나리오들을 검출하는 것을 포함한다.
이상 검출의 다른 예는, 아래에서 기술되는 바와 같이, 차량(200)이 해결할 수 없는 부동성 상태에 있는지(또는 곧 진입할 것인지)를 결정하는 "갇혀 있음" 검출이다. 이러한 상황들은 원격 개입, 및 적절한 개입 태스크를 결정하는 데 사용될 수 있는 차량(200)이 움직일 수 없는 이유에 대한 콘텍스트를 필요로 할 수 있다.
콘텍스트 데이터는 개입 요청 시스템(630)에 입력되며, 개입 요청 시스템(630)은 콘텍스트 데이터에 기초하여 검출된 이상에 대한 적절한 개입을 선택한다. 개입 요청 시스템(630)은, 원격 RVA 요청들, MRM 및 DMO 태스크들을 포함하지만 이에 제한되지 않는, 적어도 하나의 개입을 개시한다.
도 14는 일부 실시예들에 따른, 상황 평가를 위한 프로세스(1400)의 플로차트이다. 프로세스(1400)는 도 13에 도시된 평가 파이프라인(1300)에 의해 구현될 수 있다.
프로세스(1400)는 1401에서 입력 데이터를 수신하는 것으로 시작된다. 입력 데이터는 궤적, 맵 데이터, 에이전트(들)의 현재/예측된 상태들 및 차량에 대한 목표 할당(예를 들면, 차량에 대한 목적지 위치)을 포함한다.
프로세스(1400)는 1402에서 입력 데이터에 기초하여 차량을 수반하는 운전 시나리오를 평가하는 것에 의해 계속된다.
프로세스(1400)는 1403에서 시나리오가 정의된 거동 요구사항 세트를 갖는지를 결정하는 것에 의해 계속된다.
시나리오가 정의된 거동 요구사항 세트를 갖지 않는 것에 따라, 프로세스(1400)는 비정상적 이벤트에 대한 콘텍스트 데이터를 생성하는 것(1404) 및 1405에서 개입 태스크를 할당하는 것으로 계속된다.
시나리오가 정의된 거동 요구사항 세트를 갖는 것(1403)에 따라, 궤적/상태들이 정의된 거동 요구사항 세트를 준수하는지를 결정하고(1406), 비준수 위험의 정량화된 메트릭을 제공한다(1407).
상황 콘텍스트를 이용한 예시적인 부동성 검출
이전에 언급된 바와 같이, AV가 도전적인 온로드(on-road) 상황에 직면할 때 AV가 "갇혀 있게"(예를 들면, 장기의 지속기간 동안 움직일 수 없게) 되는 것이 가능하다. 이 경우에, 적절한 개입이 요청되거나 수행될 수 있도록 부동성 배후의 콘텍스트(예를 들면, 정지 이유)를 이해하는 것이 바람직하다. 이 실시예에서, AV가 갇혀 있다고 결정하기 전에 상황 의존적 대기 시간을 식별하는 것이 또한 바람직하다. 예를 들어, 차량이 "갇혀 있는" 것으로 식별하기 전에 사용되는 대기 시간들은 적색 교통 신호등에서 기다리는 것, 횡단보도에서 보행자들이 건너가기를 기다리는 것, 무단 횡단자들이 도로를 건너가기를 기다리는 것, 또는 교통 신호등이 없는 교차로(예를 들면, 전방향 정지(all-way stop))에서 기다리는 것과 같은 상이한 상황들에 대해 상이할 수 있다. 교통 신호등이 없는 교차로와 관련하여, 교차로에 존재하는 다른 차량들의 수에 따라 대기 시간이 상이할 수 있다. 유사하게, 부동성의 특정 이유들이 해결될 것으로 예상되지 않는 것으로 즉시 식별될 수 있으며, 따라서 개입을 요청하기 전의 대기 시간이 매우 짧을 수 있다. 그러한 상황들은, 예를 들어, 교통 사고, 도로 잔해물, 공사, 또는 차선을 차단하고 있는 불법 주차된 차량일 수 있다.
일반적으로, 위의 상황들 중 상이한 상황들에 대해 상이한 개입들이 사용될 수 있다. 예를 들어, 도로의 하나 이상의 차선이 차단되는 경우, 개입 메커니즘은 차량을 재라우팅하는 것일 수 있거나 이를 포함할 수 있다. 단일 차선만이 차단되는 경우, 개입 메커니즘은 차단을 우회하기 위한 궤적을 제공하는 것일 수 있다. 정지 이유가 진행할 식별된 의도가 없는 자동차에 양보하는 것을 포함하는 경우, 개입 메커니즘은 AV에 대한 정지 제약조건을 제거하는 것일 수 있다. 유사하게, 정지 이유가 진행할 의도가 없는 인도에 있는 보행자에게 양보하는 것을 포함하는 경우, 개입 메커니즘은 보행자를 건너갈 의도가 없는 것으로서 라벨링하는 것을 포함할 수 있다.
상위 레벨에서, 실시예들은 이하의 기술을 포함한다. 이 기술, 및 콘텍스트 의존적 부동성 검출과 관련하여 설명된 다른 기술들이 부동성 검출 시스템(635) 및/또는 개입 요청 시스템(630)에 의해 수행될 수 있다는 것이 이해될 것이다. 다른 실시예에서, 본원에 설명된 기술들은 추가적으로 또는 대안적으로 차량(200)의 적어도 하나의 다른 프로세서, 시스템, 또는 서브시스템 또는 차량(200)으로부터 멀리 떨어져 있지만 차량(200)에 통신 가능하게 결합된 시스템에 의해 수행될 수 있다. 첫째, 공간, 속도, 및 시간 회랑 제약조건들은 대상체 식별자들(예를 들면, 에이전트들 및 맵 구성체들)을 제약하는 형태의 메타데이터로 구성된다. 이 기술은 이어서 제로 속력을 결과하는 현재 제약조건들에 대해 검사하는 것을 포함한다. 정지의 이유는 해당 제약조건들에 관련된 메타데이터에 기초하여 추론될 수 있다. 구체적으로, 해당 제약조건들을 벗어나는 전체 데이터 양을 고려할 필요 없이 정지의 이유가 추론될 수 있다. 콘텍스트에 따라, 프로세스는 이어서 갇혀 있음 검출을 위한 임계치로서 타임아웃 메커니즘을 적용하는 단계를 포함할 수 있다(예를 들면, 차량이 부동성의 순간부터 갇혀 있는 것으로 간주될 수 있지만, 부동성은 타임아웃 메커니즘의 만료 이후에만 식별된다). 일 실시예에서, 임계치는 주어진 콘텍스트에 대한 예상된 "정상" 대기 시간들에 의존한다. 다른 실시예에서, 임계치는 추가적으로 또는 대안적으로 너무 오랫동안 현재 위치에 남아 있는 것으로부터 예상되는 위험에 의존한다(예를 들면, 차량은 교통을 방해할 위험으로 인해 장기의 지속기간 동안 교차로 내부에서 정지해서는 안 된다). 이 기술은 이어서 갇혀 있음 인스턴스들을, 부동성의 지속기간 및 이유와 함께, 개입 요청 시스템(630)과 같은 개입 요청 서브시스템에 보고하는 것을 포함한다.
도 15는 다양한 실시예들에 따른, 상황 콘텍스트를 이용한 부동성 검출에 관련된 예시적인 블록 다이어그램을 묘사한다. 예(1500)는 부동성 검출 시스템(635) 및 개입 요청 시스템(630)을 포함한다.
부동성 검출 시스템(635)은, 예를 들어, 계획 시스템(404)으로부터 궤적 데이터(609)를 수신하도록 구성된다. 구체적으로, 부동성 검출 시스템(635)은 궤적(1505)에 관한 데이터를 수신하도록 구성된 제약조건 검사 서브시스템(1510)을 포함한다. 궤적(1505)은 차량이 정지하게 될(예를 들면, 움직일 수 없게 될) 것임을 나타낼 수 있다.
제약조건 검사 서브시스템(1510)은 궤적(1505)에 관련된 적어도 하나의 제약조건을 식별하도록 구성된다. 예를 들어, 제약조건들은 공간 제약조건, 속도 제약조건 또는 시간 회랑 제약조건을 포함할 수 있다. 일부 실시예들에서, 제약조건들은 차량(200)이 정지한 최초 시간(예를 들면, 제약조건 데이터베이스(1515)에 저장된 타임스탬프에 기초함), 차량(200)이 정지된 가장 최근의 시간, 차량(200)이 정지해 있던 지속기간, 차량(200)이 이미 움직일 수 없는 것으로 결정되었는지 여부의 표시 등에 관련된 제약조건을 더 포함할 수 있다.
보다 일반적으로, 속력 제약조건들과 같은 제약조건들은 경로 길이(S)와 관련하여 제약된 속성(예를 들면, 속도(V), 시간(T), 또는 좌측/우측 오프셋 사이의 횡방향 간격이 AV에 대해 너무 좁은 경우 정지 결정에 간접적으로 영향을 미칠 수 있는 횡방향 오프셋(D))을 기술하는 함수들에 의해 표현될 수 있다. 예를 들어, 제약조건이 선형 함수인 경우, 이는 기울기 및 축 교차점 및 유효한 범위 [Smin, Smax]에 의해 기술될 수 있다.
식별된 제약조건에 기초하여, 제약조건 검사 서브시스템(1510)은 위에서 기술된 바와 같이 정지 이유일 수 있는 정지 이유(1520)를 식별한다. 정지 이유(1520) 데이터는, 예를 들어, 대상체의 식별자(예를 들면, 라벨, 경계 상자), 맵 위치(예를 들면, 차량의 위치)에 관련된 데이터, 또는 어떤 다른 데이터를 포함할 수 있다.
일 실시예에서, 정지 이유 데이터(613)는 제약조건 검사 서브시스템(1510)으로부터 개입 요청 시스템(630)으로 직접 제공된다. 예를 들어, 정지 이유가, 위에서 기술된 바와 같이, 해결될 것으로 예상되지 않는 상황에 관련된 경우, 그러한 제공이 발생할 수 있다. 다른 실시예에서, 정지 이유가 즉각적인 개입이 바람직한 상황(예를 들면, 임박한 충돌 또는 어떤 다른 상황)에 관련된 것으로 식별되는 경우 그러한 제공이 발생할 수 있다.
추가적으로, 정지 이유(1520)는 타임아웃 임계치 생성기(1525)에 제공될 수 있다. 타임아웃 임계치 생성기(1525)는, 정지 이유(1520)에 기초하여, 개입이 요청될 때까지의 타임아웃을 결정하도록 구성된다. 구체적으로, 타임아웃 임계치 생성기(1525)는 상이한 정지 이유들에 관련된 타임아웃 값들을 저장하도록 구성된 타임아웃 데이터베이스(1530)와 통신 가능하게 결합된다. 일 실시예에서, 다양한 타임아웃 값들이 미리 정의되는 반면, 다른 실시예에서 타임아웃 데이터베이스(1530)는 정지 이유에 기초하여(예를 들면, 전방향 정지에 있는 자동차들의 대기열 길이에 기초하여, 차량 부근의 보행자들의 수에 기초하여 등) 타임아웃 값을 계산하기 위해 타임아웃 임계치 생성기(1525)에 의해 사용될 수 있는 데이터를 저장한다. 본원에서 사용되는 바와 같이, 타임아웃 임계치는 RVA에 대한 요청, MRM, 재라우팅 등과 같은 적어도 하나의 교정 조치를 개시하기 전에 차량이 기다릴 시간 양이다.
타임아웃 임계치(1535)는 이어서 차량이 움직일 수 없는 시간 길이를 추적할 수 있는 부동성 타이머(1540)에 공급될 수 있다. 부동성 상황이 해결되는 경우, 타임아웃 시퀀스가 취소되고 차량의 정상적인 행동이 재개된다. 그렇지만 부동성 상황이 해결되지 않고 부동성 시간이 타임아웃 임계치를 충족시키거나 초과하는 경우, 부동성 검출 시스템(635)은 트리거 신호 데이터(614)를 개입 요청 시스템(630)으로 송신한다. 개입 요청 시스템(630)은, 트리거 신호 데이터(614)에 기초하여, 적어도 하나의 개입 요청(612)의 생성 및 송신을 포함하는 개입을 수행하도록 구성된다.
이하의 예시적인 스크립트는 다양한 속력 제약조건들이 제약조건 검사 서브시스템(1510) 및/또는 제약조건 데이터베이스(1515)에 의해 어떻게 분석될 수 있는지를 기술한다. 이하의 스크립트가 일 예일 뿐이며 상이한 프로그래밍 언어, 데이터 구조, 값들 등에 따라 상이할 수 있다는 것이 이해될 것이다.
enum SPEED(or SPATIO_TEMPORAL)_CONSTRAINT_TYPE
{
PROFILE = 0(속력 제한, 경로의 끝, 또는 횡방향 가속 제한 속력)
PROXIMITY = 1 (무언가에 가까움)
PEDESTRIAN = 2 (인간에 대한 근접성)
GENERIC = 3 (식별되지 않은 또는 무생물 대상체들)
LOGICAL = 4 (교차로, 횡단보도, 또는 우선 통행권에 관련된 다른 도로 규칙)
MERGING = 5 (차선 변경)
... (대안의 또는 추가적인 카테고리들이 사용될 수 있음)
};
enum SPATIAL_CONSTRAINT_TYPE
{
    Lane = 0,
    MultiLane = 1, (예를 들면, 인접한 동일 및/또는 반대 방향 차선들을 포함하는 전체 도로 세그먼트)
    Intersection = 2, 
    Track = 3, (자동차, 보행자 등과 같은 다른 에이전트들)
... (대안의 또는 추가적인 카테고리들이 사용될 수 있음)
};
struct CONSTRAINING_OBJECTS{
  bool trackExist; //!< FALSE인 경우, trackInfo는 무시될 것이다
    SpeedConstraintTrackInfo trackInfo;
    bool mapObjectExist; //!< FALSE인 경우, mapInfo는 무시될 것이다
    SpeedConstraintMapInfo mapInfo;
};
TrackInfo 및 MapInfo는 최소한 고유 식별자들(ID들)을 포함한다. 이러한 ID들은 필요한 경우 추가의 상세한 속성들을 조회하는 데 사용된다. 예를 들어, 트랙(대상체/에이전트) 유형 분류들(보행자, 차량 등), 위치, 속력 등에 관련된 추가의 데이터를 검색하는 것이 바람직할 수 있다. 맵 대상체들은 유사하게 고유 식별자들, 기하학적 및 관계형 속성들과 함께 저장된다. MAP_TYPE enum에서 AV 정지의 이유를 부분적으로 기술할 수 있는 일부 예시적인 맵 유형들은 다음과 같다.
enum MAP_TYPE
{
    CROSSWALK = 0,
    STOPLINE = 1,
    BOXJUNCTION = 2,
    LANEDIVIDER = 3,
 ... (대안의 또는 추가적인 카테고리들이 사용될 수 있음)
};
도 16은 다양한 실시예들에 따른, 상황 콘텍스트를 이용한 부동성 검출에 관련된 예시적인 프로세스(1600)의 플로차트이다. 구체적으로, 도 16은 본원에서의 개념들이 기술될 수 있는 일 예를 묘사한다. 아래에 기술된 예가 단지 논의를 위한 것으로 의도되고, 다른 예들이 보다 많은, 보다 적은, 또는 상이한 요소들, 제약조건들, 임계치들 등을 포함한다는 것이 이해될 것이다. 일부 실시예들에서, 프로세스(1600)와 관련하여 기술된 요소들 중 하나 이상은 부동성 검출 파이프라인(1500)에 묘사된 시스템에 의해 (예를 들면, 전체적으로, 부분적으로 등) 수행된다. 추가적으로 또는 대안적으로, 일부 실시예들에서, 프로세스(1600)와 관련하여 기술된 하나 이상의 요소는, 도 1, 도 2, 도 3 및 도 4 중 임의의 것의 디바이스들 중 하나 이상과 같은, 예시적인 OED 프레임워크(600) 또는 그와 별개인 다른 디바이스 또는 디바이스 그룹에 의해 (예를 들면, 전체적으로, 부분적으로 등) 수행된다.
프로세스(1600)는, 1605에서, 차량(200)이 정지 및/또는 양보할 필요성을 결정하는 단계를 포함한다. 예를 들어, 인근 보행자가 횡단보도에 도달하기 위한 시간과 비교하여 차량(200)이 횡단보도를 통과하기 위한 예상된 시간에 기초하여, 차량(200)이 정지하고 보행자에게 양보할 필요성이 결정된다. 그 결과, (AV 경로 길이를 따라 측정되는 바와 같이) 횡단보도 전 2 미터(m)부터 전방으로 제로 속력을 강제하기 위해 속력 제약조건이 부과된다. 이 제약조건은, 각각의 대상체의 고유 ID들과 함께, 제약조건이 특정 횡단보도 및 보행자에 의해 야기된다는 것을 지정하는 메타데이터와 함께 게시된다. 이 제약조건은 계획 시스템(404), 부동성 검출 시스템(635), 또는 어떤 다른 시스템 또는 서브시스템의 여러 타임스탬핑된 반복들에 대해 재게시된다.
프로세스(1600)는, 1610에서, 각각의 타임스탬프에 걸쳐(예를 들면, 각각의 타임스탬핑된 반복에 걸쳐) 제약조건들을 조사하는 단계를 더 포함한다. 구체적으로, 속력, 공간 오프셋 등을 제한하는 다른 제약조건들이 활성일 수 있지만, 횡단보도 관련 제약조건은 차량(200)의 부동성을 담당하는 주요 제약조건(현재 위치에서 활성인 제로 속력 제약조건, 다른 덜 관련성 있는 제약조건들은 경로를 따라 추가로 잠재적으로 계산되거나 또는 현재 위치에서 활성인 경우, 제로 속력 제약조건에 의해 지배되고 따라서 유사하게 덜 관련성 있음)으로서 식별된다. 식별된 보행자 및 횡단보도에 관련된 데이터를 포함하는 논리적 제약조건 유형을 나타내는 메타데이터에 기초하여, 차량(200), 상세하게는 제약조건 검사 서브시스템(1510)은 현재 타임스탬프 부동성에 대한 정지 이유(1520)를 알도록 구성된다.
정지 이유(1520)는 타임아웃 임계치 생성기(1525)에 출력되고, 프로세스(1600)는, 1615에서, 하나 이상의 대기 시간 임계치(들)을 할당하는 단계를 더 포함한다. 구체적으로, 타임아웃 임계치 생성기(1525)는 상이한 정지 이유들 또는 정지 이유 카테고리들에 대해 상이한 대기 시간 임계치들을 할당한다. 예를 들어, 횡단보도에서 양보하기 위한 대기 시간 임계치는 무단 횡단자 또는 어떤 다른 정지 이유 카테고리에 양보하기 위한 대기 시간 임계치와 상이할 수 있다. 대기 시간 임계치(1535)는 프로세싱을 위해 부동성 타이머(1540)에 출력된다. 부동성 타이머(1540)가 순차적인 타임스텝들에 걸쳐 지속되는 동일한 정지 이유를 추적하기 때문에, 부동성 타이머(1540)는 현재 누적된 대기 시간들과 대기 시간 임계치를 비교한다. 누적된 대기 시간이 임계치를 초과하는 경우, 부동성 검출 시스템(635)은 차량이 "갇혀 있는" 것으로 결정한다. 예를 들어, 횡단보도 사용자들이 무단 횡단자들보다 느린 속도로 도로를 건너가고, 따라서 보다 긴 시간 임계치를 가지는 것으로 추정될 수 있다. 또는 추가의 개선으로서, 횡단보도가 신호가 있는 횡단보도(signaled crosswalk)인 경우, 부동성 검출 시스템(635)은 "보행/녹색" 신호의 전형적인 지속기간을 고려하고 해당 지속기간보다 훨씬 더 오래 기다릴 것으로 예상하지 않는다.
프로세스(1600)는, 1620에서, 개입 요청(612)과 같은 개입 요청을 생성하는 단계를 더 포함한다. 구체적으로, 차량이 갇혀 있는 것으로 결정할 시에, 타임아웃 충족 트리거 신호(1545)가 개입 요청 시스템(630)에 출력되고, 개입 요청 시스템(630)은 개입 요청(612)을 생성한다. 개입 요청(612)은 정지 이유의 콘텍스트(예를 들면, 정지 이유 데이터(613))를 포함할 수 있으며, 정지 이유의 콘텍스트는 이 경우에 차량이 식별된 보행자를 위해 식별된 횡단보도에서 기다리고 있다는 표시를 포함한다. 이는 RVA 조작자가 추가의 진행을 위해 오버라이드(override)를 개시하는 데 유용할 수 있다. 예를 들어, 식별된 보행자가 비디오 피드에서 보일 수 있고 분명하게도 건너갈 의도가 없는 경우(다른 움직이지 않는 사람과 대화하는 것, 직교 방향으로 건너가기기 위해 기다리는 것 또는 어떤 다른 시각적 표시), 조작자는 그에 관계없이 제약조건을 해제하거나, 가속 커맨드를 전송하거나, 또는 어떤 다른 수단을 사용하여 차량을 횡단보도를 통해 지나가게 하기로 선택할 수 있다. 또는 유사하게, 인지 시스템이 인근의 표지판 또는 우편함을 보행자로 잘못 분류했을 수 있으며, 이 경우 유사한 시각적 확인 및 오버라이드가 이용될 수 있다. 횡단보도에 있는 보행자가 부동성의 원인이라는 콘텍스트가 없으면 이러한 개입 수단들이 명확하지 않을 수 있으며, 또한 선택된 개입 메커니즘이 다른 부동성 이유들에 대해 상이할 것임(예를 들면, 정지해 있거나 느린 도로 무단 횡단자를 피하는 것이 경로 변경을 필요로 할 수 있음)에 유의한다.
도 17을 참조하면, 도 17은 다양한 실시예들에 따른, 상황 콘텍스트를 이용한 부동성 검출에 관련된 대안적인 예시적인 프로세스(1700)의 플로차트이다. 구체적으로, 도 17은 부동성 타이머(1540) 및/또는 제약조건 검사 서브시스템(1510)에 관련되고 이에 의해 수행될 수 있는 프로세스(1700)를 묘사한다. 일부 실시예들에서, 프로세스(1700)와 관련하여 기술된 요소들 중 하나 이상은 부동성 검출 파이프라인(1500)에 의해 (예를 들면, 전체적으로, 부분적으로 등) 수행된다. 추가적으로 또는 대안적으로, 일부 실시예들에서, 프로세스(1700)와 관련하여 기술된 하나 이상의 요소는, 도 1, 도 2, 도 3 및 도 4 중 임의의 것의 디바이스들 중 하나 이상과 같은, 부동성 검출 파이프라인(1500) 또는 그와 별개인 다른 디바이스 또는 디바이스 그룹에 의해 (예를 들면, 전체적으로, 부분적으로 등) 수행된다.
프로세스(1700)는, 1705에서, 차량의 상태를 식별하는 단계를 포함한다. 그러한 식별은 차량이 움직일 수 없는 것으로 이전에 식별되었는지 여부, 기존의 제약조건들 또는 기존의 정지 이유에 관련된 데이터가 있는지 여부 등을 포함한다.
프로세스(1700)는, 1710에서, 기존의 제약조건들을 업데이트하는 단계를 더 포함한다. 구체적으로, 1705에서 기존의 제약조건이 식별되는 경우, 1725에서 그와 연관된 정지 이유(들)가 검사된다. 정지 이유가 참인 경우(예를 들면, 정지 이유가 여전히 존재하는 경우), 1730에서 제약조건 또는 정지 이유와 연관된 "마지막으로 본 시간(last seen time)" 필드가 업데이트된다. 정지 이유가 거짓인 경우(예를 들면, 정지 이유가 더 이상 존재하지 않는 경우), 해당 특정 정지 제약조건 또는 정지 이유에 관련된 부동성 타이머가 취소되도록 1735에서 정지 제약조건이 제거된다.
프로세스(1700)는, 1715에서, 나머지 정지 제약조건들을 식별하는 단계를 더 포함한다. 예를 들어, 프로세스는, 1740에서, 임의의 추가적인 정지 상황들이 있는지 여부를 검사하는 단계를 포함한다. 예를 들어, 이 프로세스에서 차량은 차량 부동성을 필요로 한 하나의 상황(예를 들면, 위에서 기술된 바와 같은 횡단보도에 있는 보행자)을 이미 알고 있을 수 있다. 그렇지만, 차량은 1745에서 새로운 정지 제약조건을 생성할 임의의 추가적인 또는 새로운 상황들(예를 들면, 횡단보도에 있는 추가적인 보행자, 또는 교차로에 곧 진입할 자동차)이 있는지 여부를, 1740에서, 식별할 것이다.
프로세스(1700)는, 1720에서, 차량이 움직일 수 없거나 갇혀 있는 것으로 식별하는 단계를 더 포함한다. 그러한 식별은 타임아웃 임계치(1535)의 만료 후에 발생하고, 트리거 신호(1545)를 생성하여 개입 요청 시스템(630)으로 송신하는 것을 결과한다.
도 18을 참조하면, 도 18은 다양한 실시예들에 따른, 상황 콘텍스트를 이용한 부동성 검출에 관련된 대안적인 예시적인 프로세스(1800)의 플로차트이다. 일부 실시예들에서, 프로세스(1800)와 관련하여 기술된 요소들 중 하나 이상은 부동성 검출 파이프라인(1500)에 의해 (예를 들면, 전체적으로, 부분적으로 등) 수행된다. 추가적으로 또는 대안적으로, 일부 실시예들에서, 프로세스(1800)와 관련하여 기술된 하나 이상의 요소는, 도 1, 도 2, 도 3 및 도 4 중 임의의 것의 디바이스들 중 하나 이상과 같은, 부동성 검출 파이프라인(1500) 또는 그와 별개인 다른 디바이스 또는 디바이스 그룹에 의해 (예를 들면, 전체적으로, 부분적으로 등) 수행된다.
프로세스(1800)는, 1805에서, 차량이 장기의 시간 기간 동안 움직일 수 없게 되는 것과 연관된 환경에서의 차량의 궤적에 대한 적어도 하나의 현재 또는 미래 제약조건을 결정하는 단계를 포함한다. 언급된 바와 같이, 제약조건은 차량의 공간, 속도 또는 시간 제약조건 또는 어떤 다른 제약조건에 관련되어 있다. 제약조건은 차량이 움직일 수 없게 되는 것을 결과했거나 결과할 궤적의 제약조건이다.
프로세스(1800)는, 1810에서, 환경에서의 차량의 궤적에 대한 적어도 하나의 현재 또는 미래 제약조건을 결정하는 것에 기초하여 차량(200)의 부동성에 대한 정지 이유를 결정하는 단계를 더 포함한다. 언급된 바와 같이, 정지 이유는 부동성의 이유이다. 정지 이유들의 예들은 차량(200)이 교통 신호등에서 기다리는 것, 보행자/무단 횡단자가 횡단보도를 건너가는 것, 차량이 교통 신호등이 없는 교차로에서 기다리는 것, 차량을 연루시키거나 차량에 근접한 사고, 주차된 차량, 진행하려는 의도가 없는 다른 차량에 양보하는 것, 또는 어떤 다른 정지 이유를 포함한다. 일 실시예에서, 정지 이유를 결정하는 단계는 적어도 하나의 현재 또는 미래 제약조건으로 인해 차량이 움직일 수 없게 된 최초 시간 및 마지막 시간을 식별하는 단계를 포함한다. 일 실시예에서, 정지 이유는 적어도 하나의 대상체 또는 맵 제약조건과 연관된 식별자를 포함한다.
프로세스(1800)는, 1815에서, 정지 이유에 기초하여 타임아웃 임계치를 식별하는 단계를 더 포함한다. 타임아웃 임계치는 차량의 시스템(예를 들면, 개입 요청 시스템(630))이 부동성을 해결하기 위해 적어도 하나의 교정 조치를 개시하기 전에 기다릴 시간 양이다. 일 실시예에서, 요소(1815)는 선택적으로, 정지 이유에 기초하여, 정지 이유가 제1 정지 이유 세트 및 제2 정지 이유 세트 중 하나와 연관된다고 결정하는 단계를 더 포함한다. 이 실시예에서, 제1 정지 이유 세트는 부동성이 해결될 것으로 예상되는 정지 이유들이고, 제2 정지 이유 세트는 부동성이 해결되지 않을 것으로 예상되는 정지 이유들이다. 타임아웃 임계치가 이어서 정지 이유가 제1 정지 이유 세트에 있는지 또는 제2 정지 이유 세트에 있는지에 기초하여 식별된다. 타임아웃 임계치는 공칭 교통 신호등 대기 시간, 공칭 보행자 또는 무단 횡단자 보행 속력, AV 전방의 차량들의 수, 공칭 대기 시간(부동성이 해결될 것으로 예상되지 않는 상황들에서 1초 이하일 수 있음), 미리 결정된 대기 시간 등에 기초할 수 있다. 일 실시예에서, 타임아웃 임계치는 차량이 장기의 시간 기간 동안 움직일 수 없는 것과 연관된 위험, 예를 들어, 교차 교통을 방해할 위험에 의존한다. 교정 조치는 차량을 위한 새로운 경로를 생성하는 것, 정지된 대상체를 우회하는 새로운 궤적을 생성하는 것, 진행할 의도가 없는 것으로 식별되는 차량 또는 보행자에 관련된 제약조건을 제거하는 것, 차량이 움직일 수 없다는 것을 (부동성의 이유 및/또는 지속기간과 함께) RVA 보조자에게 보고하는 것 등을 포함할 수 있다.
기술(1800)은, 1820에서, 예를 들면, 부동성 타이머(1540) 및 트리거 신호 데이터(614)와 관련하여 위에서 기술된 바와 같이, 타임아웃 임계치가 충족된다는 것을 식별하는 단계를 더 포함한다. 기술(1800)은, 1825에서, 타임아웃 임계치가 충족된다는 것을 식별하는 것에 기초하여, 개입 요청(612)과 같은 차량에 대한 적어도 하나의 교정 조치를 개시하는 단계를 더 포함한다.
전술한 설명에서, 본 개시의 양태들 및 실시예들은 구현마다 달라질 수 있는 다수의 특정 세부 사항들을 참조하여 기술되었다. 그에 따라, 설명 및 도면들은 제한적인 의미가 아니라 예시적인 의미로 간주되어야 한다. 본 발명의 범위의 유일한 독점적인 지표, 및 출원인들이 본 발명의 범위이도록 의도한 것은, 본 출원에서 특정 형태로 나오는 일련의 청구항들의 문언적 등가 범위이며, 임의의 후속 보정을 포함한다. 그러한 청구항들에 포함된 용어들에 대한 본원에서 명시적으로 기재된 임의의 정의들은 청구항들에서 사용되는 그러한 용어들의 의미를 결정한다. 추가적으로, 전술한 설명 및 이하의 청구항들에서 "더 포함하는"이라는 용어가 사용될 때, 이 문구에 뒤따르는 것은 추가적인 단계 또는 엔티티, 또는 이전에 언급된 단계 또는 엔티티의 서브단계/서브엔티티일 수 있다.

Claims (27)

  1. 방법에 있어서,
    적어도 하나의 프로세서를 이용해, 환경의 적어도 하나의 측정과 연관된 센서 데이터에 기초하여 적어도 하나의 센서 조건을 결정하는 단계 - 상기 센서 데이터는 상기 환경에 위치되어 있는 적어도 하나의 차량과 연관된 적어도 하나의 센서에 의해 생성됨 - ;
    상기 적어도 하나의 프로세서를 이용해, 상기 환경의 상기 적어도 하나의 측정에 기초하여 적어도 하나의 환경 조건을 결정하는 단계;
    상기 적어도 하나의 프로세서를 이용해, 상기 적어도 하나의 센서 조건, 상기 적어도 하나의 환경 조건, 및 상기 적어도 하나의 차량의 위치에 기초하여, 인지 시계 모델(perception visibility model)을 생성하는 단계;
    상기 인지 시계 모델에 기초하여, 특정 대상체 유형과 연관된 적어도 하나의 검출 확률 맵 및 시간이 지남에 따라 변하는 적어도 하나의 폐색 구역을 포함하는 적어도 하나의 폐색 맵을 생성하는 단계; 및
    상기 적어도 하나의 프로세서를 이용해 상기 적어도 하나의 검출 확률 맵 및 상기 적어도 하나의 폐색 맵에 기초하여, 상기 적어도 하나의 차량에 의해 횡단될 궤적을 식별하는 단계
    를 포함하는, 방법.
  2. 방법에 있어서,
    적어도 하나의 프로세서를 이용해, 차량에 포함된 적어도 하나의 센서에 의해 측정된 환경의 적어도 하나의 측정과 연관된 센서 데이터를 수신하는 단계;
    상기 적어도 하나의 프로세서를 이용해, 상기 차량의 인지 파이프라인으로부터 상기 환경에 위치된 적어도 하나의 대상체의 검출과 연관된 인지 데이터를 수신하는 단계;
    상기 적어도 하나의 프로세서를 이용해, 상기 환경의 상기 적어도 하나의 측정에 기초하여 적어도 하나의 센서 조건을 검출하는 단계;
    상기 적어도 하나의 프로세서를 이용해, 상기 환경의 상기 적어도 하나의 측정에 기초하여 적어도 하나의 환경 조건을 검출하는 단계;
    상기 적어도 하나의 프로세서를 이용해, 상기 차량의 위치, 상기 적어도 하나의 센서 조건, 및 상기 적어도 하나의 환경 조건에 기초하여, 현재 인지 시계 모델을 생성하는 단계 - 상기 현재 인지 시계 모델은 상기 환경에서의 상기 차량의 부근(vicinity)을 나타냄 - ;
    상기 현재 인지 시계 모델에 기초하여, 특정 대상체 유형과 연관된 적어도 하나의 검출 확률 맵 및 시간이 지남에 따라 변하는 적어도 하나의 폐색 구역을 포함하는 적어도 하나의 폐색 맵을 생성하는 단계; 및
    상기 적어도 하나의 프로세서를 이용해, 상기 환경에서의 상기 적어도 하나의 대상체 및 상기 적어도 하나의 검출 확률 맵 및 상기 적어도 하나의 폐색 맵에 기초하여, 상기 차량에 대한 궤적을 결정하는 단계
    를 포함하는, 방법.
  3. 청구항 2에 있어서,
    상기 적어도 하나의 프로세서를 이용해, 상기 현재 인지 시계 모델이 상기 센서 조건 또는 상기 환경 조건 중의 적어도 하나에 기초하여 업데이트되어야 할지 여부를 결정하는 단계; 및
    상기 현재 인지 시계 모델이 업데이트되지 않음에 따라, 사전(prior) 인지 시계 모델을 상기 현재 인지 시계 모델로서 사용하는 단계
    를 더 포함하는, 방법.
  4. 청구항 3에 있어서,
    상기 사전 인지 시계 모델은 사전 인지 시계 모델들의 데이터베이스로부터 오프라인으로 획득되는 것인, 방법.
  5. 청구항 3에 있어서,
    상기 사전 인지 시계 모델은 지정된 시간 창에 걸쳐 축적된 과거(past) 인지 시계 모델들에 기초하여 온라인으로 획득되는 것인, 방법.
  6. 청구항 3에 있어서,
    상기 사전 인지 시계 모델은 복수의 대상체 검출에 걸쳐 지정된 범위에서 폐색되지 않은(non-occluded) 대상체의 평균 인지 시계를 나타내는 것인, 방법.
  7. 청구항 2에 있어서,
    상기 인지 데이터는 지면 및 상기 적어도 하나의 대상체 검출을 포함하는 시맨틱 포인트 클라우드(semantic point cloud)를 포함하는 것인, 방법.
  8. 청구항 2에 있어서,
    상기 적어도 하나의 센서 조건은, 상기 차량의 적어도 하나의 센서가 오작동했다는 것인, 방법.
  9. 청구항 2에 있어서,
    상기 적어도 하나의 센서 조건은, 적어도 부분적으로 폐색되는 상기 차량의 적어도 하나의 센서의 시야인 것인, 방법.
  10. 청구항 2에 있어서,
    상기 적어도 하나의 환경 조건은 기상 조건인 것인, 방법.
  11. 청구항 2에 있어서,
    상기 적어도 하나의 환경 조건은 조명 조건인 것인, 방법.
  12. 청구항 2에 있어서,
    상기 적어도 하나의 검출 확률 맵은 상기 환경에서의 상기 적어도 하나의 대상체 검출의 복수의 위치에 대한 인지 시계 검출의 확률을 포함하는 것인, 방법.
  13. 청구항 12에 있어서,
    상기 인지 시계 검출의 확률은 미리 식별된 임계치에 기초하는 것인, 방법.
  14. 시스템에 있어서,
    적어도 하나의 프로세서; 및
    상기 적어도 하나의 프로세서에 의한 명령어들의 실행시, 차량으로 하여금 동작들을 수행하게 하는 상기 명령어들을 포함하는 적어도 하나의 비일시적 컴퓨터 판독가능 매체
    를 포함하고,
    상기 동작들은:
    환경의 적어도 하나의 측정과 연관된 센서 데이터에 기초하여 적어도 하나의 센서 조건을 결정하는 동작 - 상기 센서 데이터는 상기 환경에 위치되어 있는 적어도 하나의 차량과 연관된 적어도 하나의 센서에 의해 생성됨 - ;
    상기 환경의 상기 적어도 하나의 측정에 기초하여 적어도 하나의 환경 조건을 결정하는 동작;
    상기 적어도 하나의 센서 조건, 상기 적어도 하나의 환경 조건, 및 상기 적어도 하나의 차량의 위치에 기초하여, 인지 시계 모델을 생성하는 동작;
    상기 인지 시계 모델에 기초하여, 특정 대상체 유형과 연관된 적어도 하나의 검출 확률 맵 및 시간이 지남에 따라 변하는 적어도 하나의 폐색 구역을 포함하는 적어도 하나의 폐색 맵을 생성하는 동작; 및
    상기 적어도 하나의 검출 확률 맵 및 상기 적어도 하나의 폐색 맵에 기초하여, 상기 적어도 하나의 차량에 의해 횡단될 궤적을 식별하는 동작
    을 포함하는 것인, 시스템.
  15. 시스템에 있어서,
    적어도 하나의 프로세서; 및
    상기 적어도 하나의 프로세서에 의한 명령어들의 실행시, 차량으로 하여금 동작들을 수행하게 하는 상기 명령어들을 포함하는 적어도 하나의 비일시적 컴퓨터 판독가능 매체
    를 포함하고,
    상기 동작들은:
    차량에 포함된 적어도 하나의 센서에 의해 측정된 환경의 적어도 하나의 측정과 연관된 센서 데이터를 수신하는 동작;
    상기 차량의 인지 파이프라인으로부터 상기 환경에 위치된 적어도 하나의 대상체의 검출과 연관된 인지 데이터를 수신하는 동작;
    상기 환경의 상기 적어도 하나의 측정에 기초하여 적어도 하나의 센서 조건을 검출하는 동작;
    상기 환경의 상기 적어도 하나의 측정에 기초하여 적어도 하나의 환경 조건을 검출하는 동작;
    상기 차량의 위치, 상기 적어도 하나의 센서 조건, 및 상기 적어도 하나의 환경 조건에 기초하여, 현재 인지 시계 모델을 생성하는 동작 - 상기 현재 인지 시계 모델은 상기 환경에서의 상기 차량의 부근을 나타냄 - ;
    상기 현재 인지 시계 모델에 기초하여, 특정 대상체 유형과 연관된 적어도 하나의 검출 확률 맵 및 시간이 지남에 따라 변하는 적어도 하나의 폐색 구역을 포함하는 적어도 하나의 폐색 맵을 생성하는 동작; 및
    상기 환경에서의 상기 적어도 하나의 대상체 및 상기 적어도 하나의 검출 확률 맵 및 상기 적어도 하나의 폐색 맵에 기초하여, 상기 차량에 대한 궤적을 결정하는 동작
    을 포함하는 것인, 시스템.
  16. 청구항 15에 있어서,
    상기 현재 인지 시계 모델이 상기 센서 조건 또는 상기 환경 조건 중의 적어도 하나에 기초하여 업데이트되어야 할지 여부를 결정하는 동작; 및
    상기 현재 인지 시계 모델이 업데이트되지 않음에 따라, 사전 인지 시계 모델을 상기 현재 인지 시계 모델로서 사용하는 동작
    을 더 포함하는, 시스템.
  17. 청구항 15에 있어서,
    상기 적어도 하나의 프로세서를 이용해, 상기 현재 인지 시계 모델이 상기 센서 조건 또는 상기 환경 조건 중의 적어도 하나에 기초하여 업데이트되어야 할지 여부를 결정하는 동작; 및
    상기 현재 인지 시계 모델이 업데이트되지 않음에 따라, 사전 인지 시계 모델을 상기 현재 인지 시계 모델로서 사용하는 동작
    을 더 포함하는, 시스템.
  18. 청구항 17에 있어서,
    상기 사전 인지 시계 모델은 사전 인지 시계 모델들의 데이터베이스로부터 오프라인으로 획득되는 것인, 시스템.
  19. 청구항 17에 있어서,
    상기 사전 인지 시계 모델은 지정된 시간 창에 걸쳐 축적된 과거 인지 시계 모델들에 기초하여 온라인으로 획득되는 것인, 시스템.
  20. 청구항 17에 있어서,
    상기 사전 인지 시계 모델은 복수의 대상체 검출에 걸쳐 지정된 범위에서 폐색되지 않은 대상체의 평균 인지 시계를 나타내는 것인, 시스템.
  21. 청구항 15에 있어서,
    상기 인지 데이터는 지면 및 상기 적어도 하나의 대상체 검출을 포함하는 시맨틱 포인트 클라우드를 포함하는 것인, 시스템.
  22. 청구항 15에 있어서,
    상기 적어도 하나의 센서 조건은, 상기 차량의 적어도 하나의 센서가 오작동했다는 것인, 시스템.
  23. 청구항 15에 있어서,
    상기 적어도 하나의 센서 조건은, 적어도 부분적으로 폐색되는 상기 차량의 적어도 하나의 센서의 시야인 것인, 시스템.
  24. 청구항 15에 있어서,
    상기 적어도 하나의 환경 조건은 기상 조건인 것인, 시스템.
  25. 청구항 15에 있어서,
    상기 적어도 하나의 환경 조건은 조명 조건인 것인, 시스템.
  26. 청구항 15에 있어서,
    상기 적어도 하나의 검출 확률 맵은 상기 환경에서의 상기 적어도 하나의 대상체 검출의 복수의 위치에 대한 인지 시계 검출의 확률을 포함하는 것인, 시스템.
  27. 청구항 26에 있어서,
    상기 인지 시계 검출의 확률은 미리 식별된 임계치에 기초하는 것인, 시스템.
KR1020220001622A 2021-09-14 2022-01-05 환경 제한 및 센서 이상 시스템 및 방법 KR102631726B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/475,279 US20230093601A1 (en) 2021-09-14 2021-09-14 Environmental limitation and sensor anomaly system and method
US17/475,279 2021-09-14

Publications (2)

Publication Number Publication Date
KR20230039486A KR20230039486A (ko) 2023-03-21
KR102631726B1 true KR102631726B1 (ko) 2024-01-30

Family

ID=85227448

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220001622A KR102631726B1 (ko) 2021-09-14 2022-01-05 환경 제한 및 센서 이상 시스템 및 방법

Country Status (5)

Country Link
US (1) US20230093601A1 (ko)
KR (1) KR102631726B1 (ko)
CN (1) CN115808923A (ko)
DE (1) DE102022100218A1 (ko)
GB (1) GB2610663A (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11845454B2 (en) 2021-09-14 2023-12-19 Motional Ad Llc Operational envelope detection with situational assessment
US11851091B2 (en) 2021-09-14 2023-12-26 Motional Ad Llc Immobility detection within situational context
CN114241753B (zh) * 2021-12-03 2022-11-01 东南大学 一种基于多维度影响因素的道路安全评价方法及系统
US20230227071A1 (en) * 2022-01-20 2023-07-20 Gm Cruise Holdings Llc Latency Violation Prevention for Autonomous Vehicle Control Systems

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9367065B2 (en) * 2013-01-25 2016-06-14 Google Inc. Modifying behavior of autonomous vehicles based on sensor blind spots and limitations
US9916703B2 (en) * 2015-11-04 2018-03-13 Zoox, Inc. Calibration for autonomous vehicle operation
US9720415B2 (en) * 2015-11-04 2017-08-01 Zoox, Inc. Sensor-based object-detection optimization for autonomous vehicles
US10095234B2 (en) * 2017-03-07 2018-10-09 nuTonomy Inc. Planning for unknown objects by an autonomous vehicle
CN110892233A (zh) * 2017-05-22 2020-03-17 Pcms控股公司 用于传感器范围和视场的车载增强可视化的方法和装置
WO2019089015A1 (en) * 2017-10-31 2019-05-09 Nissan North America, Inc. Autonomous vehicle operation with explicit occlusion reasoning
US10553044B2 (en) * 2018-01-31 2020-02-04 Mentor Graphics Development (Deutschland) Gmbh Self-diagnosis of faults with a secondary system in an autonomous driving system
US11378956B2 (en) * 2018-04-03 2022-07-05 Baidu Usa Llc Perception and planning collaboration framework for autonomous driving
GB202215836D0 (en) * 2019-05-07 2022-12-07 Motional Ad Llc Systems and methods for planning and updating a vehicle's trajectory

Also Published As

Publication number Publication date
GB2610663A (en) 2023-03-15
CN115808923A (zh) 2023-03-17
DE102022100218A1 (de) 2023-03-16
KR20230039486A (ko) 2023-03-21
US20230093601A1 (en) 2023-03-23

Similar Documents

Publication Publication Date Title
KR102631726B1 (ko) 환경 제한 및 센서 이상 시스템 및 방법
US20230078779A1 (en) Operation envelope detection with situational assessment using metrics
US11527085B1 (en) Multi-modal segmentation network for enhanced semantic labeling in mapping
US11851091B2 (en) Immobility detection within situational context
US20230221128A1 (en) Graph Exploration for Rulebook Trajectory Generation
US11845454B2 (en) Operational envelope detection with situational assessment
WO2023245073A1 (en) Method and system for controlling an autonomous vehicle
KR20230042430A (ko) 자율 주행 차량에 대한 안전이 중요한 시나리오의 식별을 위한 학습
US20230159026A1 (en) Predicting Motion of Hypothetical Agents
US20230373529A1 (en) Safety filter for machine learning planners
US20240123996A1 (en) Methods and systems for traffic light labelling via motion inference
US20230063368A1 (en) Selecting minimal risk maneuvers
US20230236313A1 (en) Thermal sensor data vehicle perception
US20240085903A1 (en) Suggesting Remote Vehicle Assistance Actions
US20240038065A1 (en) Managing traffic light detections
US20230209253A1 (en) Autonomous vehicle with microphone safety
US20230331256A1 (en) Discerning fault for rule violations of autonomous vehicles for data processing
US20240126254A1 (en) Path selection for remote vehicle assistance
US20230415774A1 (en) Systems And Methods for Gridlock Prevention
US20240123975A1 (en) Guided generation of trajectories for remote vehicle assistance
KR20220156736A (ko) 종속 가능성 구조체로의 다중 타겟 추적
WO2023028437A1 (en) Selecting minimal risk maneuvers
WO2024081593A1 (en) Methods and systems for traffic light labelling via motion inference
KR20230140517A (ko) 차량 루트 상의 대상체 횡단의 예측 및 제어
WO2024039997A1 (en) Determination of an action for an autonomous vehicle in the presence of intelligent agents

Legal Events

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