KR20200019191A - 자율 주행 능력들을 갖춘 차량의 작동에 대한 개입 - Google Patents

자율 주행 능력들을 갖춘 차량의 작동에 대한 개입 Download PDF

Info

Publication number
KR20200019191A
KR20200019191A KR1020207001002A KR20207001002A KR20200019191A KR 20200019191 A KR20200019191 A KR 20200019191A KR 1020207001002 A KR1020207001002 A KR 1020207001002A KR 20207001002 A KR20207001002 A KR 20207001002A KR 20200019191 A KR20200019191 A KR 20200019191A
Authority
KR
South Korea
Prior art keywords
intervention
vehicle
trajectory
remote
data
Prior art date
Application number
KR1020207001002A
Other languages
English (en)
Other versions
KR102177826B1 (ko
Inventor
스-위안 류
하샤바드한 라비찬드란
칼 이아그네마
쉰-셴 창
Original Assignee
누토노미 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US15/624,802 external-priority patent/US10514692B2/en
Priority claimed from US15/624,819 external-priority patent/US10599141B2/en
Priority claimed from US15/624,780 external-priority patent/US10740988B2/en
Priority claimed from US15/624,838 external-priority patent/US11112789B2/en
Priority claimed from US15/624,839 external-priority patent/US10627810B2/en
Priority claimed from US15/624,857 external-priority patent/US10317899B2/en
Application filed by 누토노미 인크. filed Critical 누토노미 인크.
Priority to KR1020207032082A priority Critical patent/KR102470186B1/ko
Publication of KR20200019191A publication Critical patent/KR20200019191A/ko
Application granted granted Critical
Publication of KR102177826B1 publication Critical patent/KR102177826B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0011Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
    • G05D1/0027Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement involving a plurality of vehicles, e.g. fleet or convoy travelling
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0011Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0011Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
    • G05D1/0038Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement by providing the operator with simple or augmented images from one or more cameras located onboard the vehicle, e.g. tele-operation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • G05D2201/0213

Landscapes

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

Abstract

다른 것들 중에서도 특히, 차량의 하나 이상의 자율 주행 능력의 작동에 대한 개입이 적절하다는 결정이 내려진다. 결정에 기초하여, 개인은 개입을 위한 정보를 제공할 수 있게 된다. 개입은 차량의 하나 이상의 자율 주행 능력의 작동에서 야기된다.

Description

자율 주행 능력들을 갖춘 차량의 작동에 대한 개입
본 출원은 2017년 6월 16일에 출원된 미국 특허 출원 제15/624,780호, 2017년 6월 16일에 출원된 제15/624,802호, 2017년 6월 16일에 출원된 제15/624,819호, 2017년 6월 16일에 출원된 제15/624,838호, 2017년 6월 16일에 출원된 제15/624,839호, 및 2017년 6월 16일에 출원된 제15/624,857호에 개시되어 있으며, 이들 각각의 개시내용은 그 전체가 본 명세서에 참조로 포함된다.
자율 주행 능력들(AV)을 갖는 차량이 도로에서 주행 중이고 시스템 오류들, 극한 기상 조건들, 및 일시적 우회와 같은 이벤트를 경험할 때와 같은 일부 경우들에서, 원격에 위치된 개인이 도움을 제공하게 하는 것이 유용할 수 있다.
일부 구현예들에서, 본 문서에 설명된 기술들은 다양한 유형의 이벤트들을 핸들링하기 위해 AV 시스템과 상호작용하는 원격 조작 시스템(teleoperation system)을 포함하며, 그러한 이벤트들 중 일부는 위험(예를 들어, 충돌, 교통 체증 및 손상)을 유발할 수 있거나, AV 시스템의 일부인 AV가 계획된 궤적을 따라 이동하는 것을 억제 또는 금지할 수 있다. 일부 예들에서, 이벤트들을 핸들링하기 위해, AV 시스템은 원격 조작 시스템과 통신할 수 있고, 여기서 원격 조작자는 AV 시스템에 원격 조작들을 제공한다.
일부 경우들에서, 원격 조작 시스템은 AV 온보드이거나 AV 시스템에 연관된 클라이언트, 및 AV 또는 AV 시스템에 대해 원격인 서버를 포함할 수 있다. 일부 경우들에서, 클라이언트와 서버 둘 다가 AV 온보드이다. 일부 응용들에서, 서버 및 클라이언트는 2개의 다른 컴퓨팅 디바이스로 분리될 수 있고; 일부 경우들에서 그것들은 단일 컴퓨팅 디바이스로 통합될 수 있다.
일부 구현예들에서, 원격 조작 클라이언트의 일부로서 설명된 기능 또는 단계는 원격 조작 서버의 일부로서 실현될 수 있다. 마찬가지로, 원격 조작 서버의 일부로서 설명된 기능 또는 단계는 원격 조작 클라이언트의 일부로서 실현될 수 있다. 일부 경우들에서, 기능 또는 단계는 원격 조작 서버의 일부 및 원격 조작 클라이언트의 일부일 수 있다.
일반적으로, 일 양태에서, 방법은: (a) 차량의 하나 이상의 자율 주행 능력의 작동에 대한 개입이 적절한 것으로 결정하는 단계; (b) 결정에 기초하여, 개인이 개입을 위한 정보를 제공할 수 있게 하는 단계; 및 (c) 차량의 하나 이상의 자율 주행 능력의 작동에 대한 개입을 야기하는 단계를 포함한다. 개입이 적절한 것으로 결정하는 단계는 개입에 대한 요청을 수신하는 단계를 포함할 수 있다. 개입이 적절한 것으로 결정하는 단계는 차량 또는 관련 AV 시스템의 상태 또는 환경에 관한 정보를 수신하는 단계를 포함할 수 있다. 차량의 상태 또는 환경은 차량 또는 AV 시스템의 하드웨어 컴포넌트 또는 소프트웨어의 기능성을 포함할 수 있다.
일부 구현예들에서, 차량 또는 AV 시스템의 상태 또는 환경에 관한 정보는 차량 또는 AV 시스템의 하드웨어 컴포넌트 또는 소프트웨어로부터의 신호를 포함할 수 있다. 개입이 적절한 것으로 결정하는 단계는 신호를 분석하는 단계를 포함할 수 있다. 신호를 분석하는 단계는 예상되지 않은 데이터, 또는 예상된 데이터의 부재를 검출하는 단계를 포함할 수 있다. 신호를 분석하는 단계는 하드웨어 컴포넌트 또는 소프트웨어에 대한 측정된 수량과 모델 추정된 수량(model-estimated quantity) 사이의 불일치를 평가하는 단계를 포함할 수 있다. 신호를 분석하는 단계는 신호 내의 비정상 패턴을 평가하기 위해 패턴 인식을 이용하는 단계를 포함할 수 있다. 비정상 패턴은 머신 학습 알고리즘에 의해 학습될 수 있다. 신호를 분석하는 단계는 하드웨어 컴포넌트 또는 소프트웨어 내의 오작동을 추론하는 단계를 포함할 수 있다. 신호를 분석하는 단계는 차량의 환경 내에 존재하는 미지의 객체를 검출하는 단계를 포함할 수 있다. 신호를 분석하는 단계는 차량의 환경 내에서 발생되고 있거나 발생될 이벤트를 추론하는 단계를 포함할 수 있다.
일부 구현예들에서, 요청은 원격 조작자에 의해 개시된 요청을 포함할 수 있다. 요청은 차량 또는 관련 AV 시스템의 상태 또는 환경에 연관된 데이터를 포함할 수 있다. 요청은 차량 또는 관련 AV 시스템의 하나 이상의 하드웨어 컴포넌트로부터의 하나 이상의 신호를 포함할 수 있다. 요청은 차량의 하나 이상의 소프트웨어 프로세스로부터의 하나 이상의 신호를 포함할 수 있다.
일부 구현예들에서, 방법은 결정에 기초하여, 차량의 하나 이상의 자율 주행 능력의 작동에 폴백 개입(fallback intervention)을 야기하는 단계를 포함할 수 있다. 폴백 개입은 차량 또는 관련 AV 시스템이 완전 자율 주행 모드, 반-자율 주행 모드 또는 완전 수동 주행 모드로 진입하게 하는 단계를 포함할 수 있다. 폴백 개입은 차량이 감소된 속도로 작동하게 하는 단계를 포함할 수 있다. 폴백 개입은 안전 정지 위치(safe-to-stop)를 식별하는 단계를 포함할 수 있다. 폴백 개입은 안전 정지 위치로의 새로운 궤적을 생성하는 단계를 포함할 수 있다. 폴백 개입은 백업 하드웨어 컴포넌트 또는 백업 소프트웨어 프로세스를 호출하는 단계를 포함할 수 있다. 폴백 개입은 차량을 작동시키기 위해 요구되는 기능적 하드웨어 컴포넌트들 또는 기능적 소프트웨어 프로세스들을 평가하는 단계를 포함할 수 있다.
일부 구현예들에서, 개입이 적절한 것으로 결정하는 단계는 차량 또는 관련 AV 시스템에 연관되거나 차량의 환경에 연관된 하나 이상의 활성 이벤트(active event)를 평가하는 단계를 포함할 수 있다. 하나 이상의 이벤트를 평가하는 단계는 둘 이상의 활성 이벤트를 병합하는 단계를 포함할 수 있다. 개인이 개입을 위한 정보를 제공할 수 있게 하는 단계는 개입이 적절하다는 하나 이상의 결정에 기초하여 큐를 유지하는 단계를 포함할 수 있다. 큐를 유지하는 단계는 결정 트리, 조합 최적화(combinatorial optimization), 머신 알고리즘, 및 과거 개입(past intervention) 중 하나 이상에 기초하여 개입의 우선순위를 정하는 단계를 포함할 수 있다. 개인이 개입을 위한 정보를 제공할 수 있게 하는 단계는, 개인의 이용가능성, 및 (a) 시간, (b) 차량에 대한 지식, 또는 (c) 차량의 환경에 대한 지식, 또는 (d) 언어 중 하나 이상에 기초하여 정보를 제공하도록 개인을 할당하는 단계를 포함할 수 있다.
일부 구현예들에서, 개인이 개입을 위한 정보를 제공할 수 있게 하는 단계는 개인에게 대화식 인터페이스를 제시하는 단계를 포함할 수 있다. 대화식 인터페이스를 제시하는 단계는 차량의 비전 센서의 시야(field of view) 또는 조감도(bird's-eye)를 제시하는 단계를 포함할 수 있다. 대화식 인터페이스를 제시하는 단계는 현재 또는 과거 또는 둘 다의 인지 정보(perception information)를 제시하는 단계를 포함할 수 있다. 대화식 인터페이스를 제시하는 단계는 현재 또는 과거 또는 둘 다의 궤적을 제시하는 단계를 포함할 수 있다. 대화식 인터페이스를 제시하는 단계는 현재 또는 과거 또는 둘 다의 모션 계획 정보를 제시하는 단계를 포함할 수 있다. 대화식 인터페이스를 제시하는 단계는 차량의 시스템 다이어그램을 제시하는 단계를 포함할 수 있고, 시스템 다이어그램은 하나 이상의 하드웨어 컴포넌트, 또는 하나 이상의 소프트웨어 프로세스, 또는 둘 다를 포함한다.
일부 구현예들에서, 개입을 위한 정보는 개인에 의해 결정된 차량의 현재 위치를 포함할 수 있다. 개입은 개인에 의해 식별된 현재 위치를 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 현재 위치를 업데이트하는 단계를 포함할 수 있다. 개입은 개인이 차량의 목표 위치를 식별하는 것에 기초할 수 있다. 개입은 개인에 의해 식별된 목표 위치를 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 목표 위치를 업데이트하는 단계를 포함할 수 있다.
일부 구현예들에서, 방법은 개인에 의해 발견되는 궤적을 포함하는 개입을 포함할 수 있다. 개입은 개인에 의해 식별된 궤적을 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 궤적을 업데이트하는 단계를 포함할 수 있다. 개입은 개인에 의해 식별된 하나 이상의 궤적 샘플링 포인트를 포함할 수 있다. 개입은 하나 이상의 궤적 샘플링 포인트에 기초하여 궤적 또는 궤적 세그먼트를 추론하는 단계를 포함할 수 있다. 궤적 또는 궤적 세그먼트를 추론하는 단계는 하나 이상의 궤적 프리미티브에 기초할 수 있다. 개입은 2개의 궤적 세그먼트를 연쇄시키는 단계를 포함할 수 있다. 2개의 궤적 세그먼트를 연쇄시키는 단계는 궤적 세그먼트들을 평활화하고, 궤적 세그먼트들에 걸쳐 속도 프로파일을 평활화하는 단계를 포함할 수 있다. 개입은 하나 이상의 횡단불가능한 도로 구간을 지정하는 단계를 포함할 수 있다. 개입은 개인에 의해 속도 프로파일을 설정하는 단계를 포함할 수 있다. 개입은 속도 프로파일을 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 속도 프로파일을 업데이트하는 단계를 포함할 수 있다.
일부 구현예들에서, 개입은 학습 알고리즘에 의해 속도 프로파일을 추론하는 것에 기초할 수 있다. 개입은 학습 알고리즘에 의해 조향각을 추론하는 것에 기초할 수 있다. 개입은 하드웨어 컴포넌트 또는 소프트웨어 프로세스를 활성화, 편집 또는 비활성화하는 단계를 포함할 수 있다. 개입은 하드웨어 컴포넌트의 서브컴포넌트 또는 소프트웨어 프로세스의 처리 단계를 활성화, 편집 또는 비활성화하는 단계를 포함할 수 있다.
일부 구현예들에서, 방법은 이동 선호도(travel preference) 또는 이동 규칙을 오버라이트하는 단계를 포함하는 개입을 포함할 수 있다. 일부 구현예들에서, 방법은 데이터를 편집하는 단계를 포함하는 개입을 포함할 수 있고, 데이터는 지도, 차량 또는 관련 AV 시스템 내의 센서 데이터, 차량 또는 관련 AV 시스템 내의 궤적 데이터, 차량 또는 관련 AV 시스템 내의 비전 데이터, 또는 차량 또는 관련 AV 시스템 내의 임의의 과거 데이터 중 하나 이상을 포함한다.
일부 구현예들에서, 방법은 커맨드에 기초하여 차량 또는 관련 AV 시스템을 구성하는 단계를 포함할 수 있다. 커맨드에 기초하여 차량 또는 AV 시스템을 구성하는 단계는 커맨드를 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 커맨드를 업데이트하는 단계를 포함할 수 있다. 커맨드는 궤적, 라벨, 프로세스 제어, 주석, 및 머신 명령어 중 하나 이상을 포함할 수 있다.
일반적으로, 일 양태에서, 방법은 (a) 차량의 하나 이상의 자율 주행 능력의 작동에 관한 개입 요청을 수신하는 단계; (b) 개인이 통신 채널을 통해 차량과 상호작용하게 하는 단계; 및 (c) 차량의 하나 이상의 자율 주행 능력의 작동을 구성하기 위한 개입을 발행하는 단계를 포함한다.
일부 구현예들에서, 방법은 차량의 상태 또는 환경에 관한 정보를 수신 또는 생성 또는 분석하는 단계를 포함할 수 있다. 차량의 상태 또는 환경에 관한 정보는 차량의 하드웨어 컴포넌트 또는 소프트웨어의 기능성을 포함할 수 있다. 차량의 상태 또는 환경에 관한 정보는 차량의 하드웨어 컴포넌트 또는 소프트웨어로부터의 신호를 포함할 수 있다. 차량의 상태 또는 환경에 관한 정보는 예상되지 않은 데이터의 존재 또는 예상된 데이터의 부재를 포함할 수 있다. 차량의 상태 또는 환경에 관한 정보는 차량의 하드웨어 컴포넌트 또는 소프트웨어에 대한 측정된 수량과 모델 추정된 수량 사이의 불일치를 포함할 수 있다.
일부 구현예들에서, 정보를 분석하는 단계는 패턴 인식을 이용하여 정보 내의 비정상 패턴을 평가하는 단계를 포함할 수 있다. 비정상 패턴은 머신 학습 알고리즘에 의해 학습될 수 있다. 정보를 분석하는 단계는 하드웨어 컴포넌트 또는 소프트웨어에서 오작동을 추론하는 단계를 포함할 수 있다. 정보를 분석하는 단계는 차량의 환경에 존재하는 미지의 객체를 검출하는 단계를 포함할 수 있다. 정보를 분석하는 단계는 차량의 환경에서 발생되고 있거나 발생될 이벤트를 추론하는 단계를 포함할 수 있다.
일부 구현예들에서, 개입 요청은 개인 또는 제2 개인에 의해 개시된 요청을 포함할 수 있다. 개입 요청은 차량 또는 관련 AV 시스템의 상태 또는 환경에 연관된 데이터를 포함할 수 있다. 개입 요청은 차량 또는 관련 AV 시스템의 하나 이상의 하드웨어 컴포넌트로부터의 하나 이상의 신호를 포함할 수 있다. 개입 요청은 차량의 하나 이상의 소프트웨어 프로세스로부터의 하나 이상의 신호를 포함할 수 있다.
일부 구현예들에서, 개입이 적절한 것으로 결정하는 단계는 차량 또는 관련 AV 시스템, 또는 차량의 환경에 연관된 하나 이상의 활성 이벤트를 평가하는 단계를 포함할 수 있다. 하나 이상의 이벤트를 평가하는 단계는 2개 이상의 활성 이벤트를 병합하는 단계를 포함할 수 있다.
일부 구현예들에서, 방법은 하나 이상의 개입 요청의 큐를 유지하는 단계를 포함할 수 있다. 큐를 유지하는 단계는 결정 트리, 조합 최적화, 머신 알고리즘 및 과거 개입 중 하나 이상에 기초하여 개입의 우선순위를 정하는 단계를 포함할 수 있다.
일부 구현예들에서, 방법은 개인의 이용가능성, 및 (a) 시간, (b) 차량에 대한 지식, (c) 차량의 환경에 대한 지식, 또는 (d) 언어 중 하나 이상에 기초하여 차량과 상호작용하도록 개인을 할당하는 단계를 포함할 수 있다.
일부 구현예들에서, 방법은 대화식 인터페이스를 개인에게 제시하는 단계를 포함할 수 있다. 대화식 인터페이스를 제시하는 단계는 차량의 비전 센서의 시야 또는 조감도를 제시하는 단계를 포함할 수 있다. 대화식 인터페이스를 제시하는 단계는 현재 또는 과거 또는 둘 다의 인지 정보를 제시하는 단계를 포함할 수 있다. 대화식 인터페이스를 제시하는 단계는 현재 또는 과거 또는 둘 다의 궤적을 제시하는 단계를 포함할 수 있다. 대화식 인터페이스를 제시하는 단계는 현재 또는 과거 또는 둘 다의 모션 계획 정보를 제시하는 단계를 포함할 수 있다. 대화식 인터페이스를 제시하는 단계는 차량의 시스템 다이어그램을 제시하는 단계를 포함하고, 시스템 다이어그램은 하나 이상의 하드웨어 컴포넌트, 또는 하나 이상의 소프트웨어 프로세스, 또는 둘 다를 포함한다.
일부 구현예들에서, 방법은 개인에 의해 결정된 차량의 현재 위치를 포함하는 개입을 포함할 수 있고; 개입은 개인에 의해 식별된 현재 위치를 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 현재 위치를 업데이트하는 단계를 포함할 수 있다. 개입은 차량에 대한 목표 위치를 식별하는 단계를 포함할 수 있고; 개입은 식별된 목표 위치를 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 목표 위치를 업데이트하는 단계를 포함할 수 있다. 개입은 개인에 의해 발견되는 궤적을 포함할 수 있고; 개입은 개인에 의해 식별된 궤적을 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 궤적을 업데이트하는 단계를 포함할 수 있다. 개입은 개인에 의해 식별된 하나 이상의 궤적 샘플링 포인트를 포함할 수 있고; 개입은 하나 이상의 궤적 샘플링 포인트에 기초하여 궤적 또는 궤적 세그먼트를 추론하는 단계를 포함할 수 있다. 궤적 또는 궤적 세그먼트를 추론하는 단계는 하나 이상의 궤적 프리미티브에 기초할 수 있다. 개입은 2개의 궤적 세그먼트를 연쇄시키는 단계를 포함할 수 있다. 2개의 궤적 세그먼트를 연쇄시키는 단계는 궤적 세그먼트들을 평활화하고, 궤적 세그먼트들에 걸쳐 속도 프로파일을 평활화하는 단계를 포함할 수 있다. 일부 구현예들에서, 개입은 하나 이상의 횡단불가능한 도로 구간을 지정하는 단계를 포함할 수 있다.
일부 구현예들에서, 개입은 속도 프로파일을 설정하는 단계를 포함할 수 있고; 개입은 속도 프로파일을 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 속도 프로파일을 업데이트하는 단계를 포함할 수 있다. 개입은 학습 알고리즘에 의해 속도 프로파일을 추론하는 것에 기초할 수 있다. 개입은 학습 알고리즘에 의해 조향각을 추론하는 것에 기초할 수 있다. 개입은 하드웨어 컴포넌트 또는 소프트웨어 프로세스를 활성화, 편집 또는 비활성화하는 단계를 포함할 수 있다. 개입은 하드웨어 컴포넌트의 서브컴포넌트 또는 소프트웨어 프로세스의 처리 단계를 활성화, 편집 또는 비활성화하는 단계를 포함할 수 있다.
일부 구현예들에서, 개입은 이동 선호도 또는 이동 규칙을 오버라이트하는 단계를 포함할 수 있다. 개입은 데이터를 편집하는 단계를 포함할 수 있고, 데이터는 지도, 차량 내의 센서 데이터, 차량 내의 궤적 데이터, 차량 내의 비전 데이터, 또는 차량 내의 임의의 과거 데이터 중 하나 이상을 포함한다. 하나 이상의 자율 주행 능력의 작동을 구성하는 단계는 개입을 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 구성을 목적으로 개입을 업데이트하는 단계를 포함할 수 있다. 개입은 궤적, 라벨, 프로세스 제어, 주석, 및 머신 명령어 중 하나 이상을 포함할 수 있다.
일반적으로, 일 양태에서, 구현들은 자율 주행 능력들을 갖춘 차량을 포함하고, 차량은 (a) 도로망 상에서 자율적으로 차량을 주행시키기 위해 주행 제어 시스템으로부터의 제어 신호들에 응답하는 조향, 가속 및 감속 디바이스들; (b) 차량이 개인과의 개입에 참여하게 하기 위한 개입 요청을 생성하는 차량 상의 모니터링 요소; 및 (c) 조향, 가속 및 감속 디바이스들이 차량으로 하여금 목표 위치로 기동(maneuver)하게 하기 위해 개인으로부터 주행 제어 시스템으로의 커맨드를 수신하는 통신 요소를 포함할 수 있다.
일부 구현예들에서, 차량은 개입이 적절한 것으로 결정하기 위해 차량의 상태 또는 환경에 관한 정보를 수신하는 프로세서를 포함할 수 있다. 차량의 상태 또는 환경은 차량의 하드웨어 컴포넌트 또는 소프트웨어의 기능성을 포함할 수 있다. 차량의 상태 또는 환경에 관한 정보는 차량의 하드웨어 컴포넌트 또는 소프트웨어로부터의 신호를 포함할 수 있다.
일부 구현예들에서, 차량은 신호를 분석함으로써 개입이 적절한 것으로 결정하는 것을 포함할 수 있다. 신호를 분석하는 것은 예상되지 않은 데이터, 또는 예상된 데이터의 부재를 검출하는 것을 포함할 수 있다. 신호를 분석하는 것은 하드웨어 컴포넌트 또는 소프트웨어에 대한 측정된 수량과 모델 추정된 수량 사이의 불일치를 평가하는 것을 포함할 수 있다. 신호를 분석하는 것은 신호 내의 비정상 패턴을 평가하기 위해 패턴 인식을 이용하는 것을 포함할 수 있다. 비정상 패턴은 머신 학습 알고리즘에 의해 학습될 수 있다. 신호를 분석하는 것은 하드웨어 컴포넌트 또는 소프트웨어 내의 오작동을 추론하는 것을 포함할 수 있다. 신호를 분석하는 것은 차량의 환경 내에 존재하는 미지의 객체를 검출하는 것을 포함할 수 있다. 신호를 분석하는 것은 차량의 환경 내에서 발생되고 있거나 발생될 이벤트를 추론하는 것을 포함할 수 있다.
일부 구현예들에서, 요청은 원격 조작자에 의해 개시된 요청을 포함할 수 있다. 요청은 차량의 상태 또는 환경에 연관된 데이터를 포함할 수 있다. 요청은 차량의 하나 이상의 하드웨어 컴포넌트로부터의 하나 이상의 신호를 포함할 수 있다. 요청은 차량의 하나 이상의 소프트웨어 프로세스로부터의 하나 이상의 신호를 포함할 수 있다.
일부 구현예들에서, 차량은 주행 제어 시스템에서 폴백 개입을 야기하는 프로세서를 포함할 수 있다. 폴백 개입은 차량이 완전 자율 주행 모드, 반-자율 주행 모드 또는 완전 수동 주행 모드로 진입하게 하는 것을 포함할 수 있다. 폴백 개입은 차량이 감소된 속도로 작동하게 하는 것을 포함할 수 있다. 폴백 개입은 안전 정지 위치를 식별하는 것을 포함할 수 있다. 폴백 개입은 안전 정지 위치로의 새로운 궤적을 생성하는 것을 포함할 수 있다. 폴백 개입은 백업 하드웨어 컴포넌트 또는 백업 소프트웨어 프로세스를 호출하는 것을 포함할 수 있다. 폴백 개입은 차량을 작동시키기 위해 요구되는 기능적 하드웨어 컴포넌트들 또는 소프트웨어 프로세스들을 평가하는 것을 포함할 수 있다.
일부 구현예들에서, 차량은 차량 또는 차량의 환경에 연관된 하나 이상의 활성 이벤트를 평가하는 프로세서를 포함할 수 있다. 하나 이상의 활성 이벤트를 평가하는 것은 둘 이상의 활성 이벤트를 병합하는 것을 포함할 수 있다.
일부 구현예들에서, 차량은 개인이 개입을 위한 정보를 제공할 수 있게 하는 프로세서를 포함할 수 있으며, 그것은 개입이 적절하다는 하나 이상의 결정에 기초하여 큐를 유지하는 것을 포함한다. 큐를 유지하는 것은 결정 트리, 조합 최적화, 머신 알고리즘 및 과거 개입 중 하나 이상에 기초하여 개입의 우선순위를 정하는 것을 포함할 수 있다. 개인이 개입을 위한 정보를 제공할 수 있게 하는 것은 개인의 이용가능성, 및 (a) 시간, (b) 차량에 대한 지식, (c) 차량의 환경에 대한 지식, 또는 (d) 언어 중 하나 이상에 기초하여 정보를 제공하도록 개인을 할당하는 것을 포함할 수 있다. 개인이 개입을 위한 정보를 제공할 수 있게 하는 것은 개인에게 대화식 인터페이스를 제시하는 것을 포함할 수 있다. 대화식 인터페이스를 제시하는 것은 차량의 비전 센서의 시야 또는 조감도를 제시하는 것을 포함할 수 있다. 대화식 인터페이스를 제시하는 것은 현재 또는 과거 또는 둘 다의 인지 정보를 제시하는 것을 포함할 수 있다. 대화식 인터페이스를 제시하는 것은 현재 또는 과거 또는 둘 다의 궤적을 제시하는 것을 포함할 수 있다. 대화식 인터페이스를 제시하는 것은 현재 또는 과거 또는 둘 다의 모션 계획 정보를 제시하는 것을 포함할 수 있다. 대화식 인터페이스를 제시하는 것은 차량의 시스템 다이어그램을 제시하는 것을 포함할 수 있고, 시스템 다이어그램은 하나 이상의 하드웨어 컴포넌트, 또는 하나 이상의 소프트웨어 프로세스, 또는 둘 다를 포함한다.
일부 구현예들에서, 개입은 개인에 의해 결정된 차량의 현재 위치를 포함할 수 있다. 개입은 개인에 의해 식별된 현재 위치를 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 현재 위치를 업데이트하는 것을 포함할 수 있다.
일부 구현예들에서, 개입은 개인이 차량의 목표 위치를 식별하는 것에 기초할 수 있다. 개입은 개인에 의해 식별된 목표 위치를 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 목표 위치를 업데이트하는 것을 포함할 수 있다.
일부 구현예들에서, 개입은 개인에 의해 발견되는 궤적을 포함할 수 있다. 개입은 개인에 의해 식별된 궤적을 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 궤적을 업데이트하는 것을 포함할 수 있다.
일부 구현예들에서, 개입은 개인에 의해 식별된 하나 이상의 궤적 샘플링 포인트를 포함할 수 있다. 개입은 하나 이상의 궤적 샘플링 포인트에 기초하여 궤적 또는 궤적 세그먼트를 추론하는 것을 포함할 수 있다. 궤적 또는 궤적 세그먼트를 추론하는 것은 하나 이상의 궤적 프리미티브에 기초할 수 있다. 개입은 2개의 궤적 세그먼트를 연쇄시키는 것을 포함할 수 있다. 2개의 궤적 세그먼트를 연쇄시키는 것은 궤적 세그먼트를 평활화하고 궤적 세그먼트들에 걸쳐 속도 프로파일을 평활화하는 것을 포함할 수 있다.
일부 구현예들에서, 개입은 하나 이상의 횡단불가능한 도로 구간을 지정하는 것을 포함할 수 있다. 개입은 속도 프로파일을 설정하는 것을 포함할 수 있다. 개입은 속도 프로파일을 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 속도 프로파일을 업데이트하는 것을 포함할 수 있다. 개입은 학습 알고리즘에 의해 속도 프로파일을 추론하는 것에 기초할 수 있다. 개입은 학습 알고리즘에 의해 조향각을 추론하는 것에 기초할 수 있다. 개입은 하드웨어 컴포넌트 또는 소프트웨어 프로세스를 활성화, 편집 또는 비활성화하는 것을 포함할 수 있다. 개입은 하드웨어 컴포넌트의 서브컴포넌트 또는 소프트웨어 프로세스의 처리 단계를 활성화, 편집 또는 비활성화하는 것을 포함할 수 있다. 개입은 이동 선호도 또는 이동 규칙을 오버라이트하는 것을 포함할 수 있다. 개입은 데이터를 편집하는 것을 포함할 수 있고, 데이터는 지도, 센서 데이터, 궤적 데이터, 비전 데이터 또는 임의의 과거 데이터 중 하나 이상을 포함할 수 있다.
일부 구현예들에서, 차량은 커맨드에 기초하여 차량 또는 관련 AV 시스템을 구성하는 프로세서를 포함할 수 있다. 커맨드에 기초하여 차량 또는 AV 시스템을 구성하는 것은 커맨드를 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 커맨드를 업데이트하는 것을 포함할 수 있다. 커맨드는 궤적, 라벨, 프로세스 제어, 주석 및 머신 명령어 중 하나 이상을 포함할 수 있다.
다른 양태에서, 구현예들은 (1) 차량의 작동에 관한 개입 요청을 수신하고, (2) 개입 요청으로부터 모션 정보 또는 인지 정보를 추출하도록 구성된 (a) 프로세서, 및 (1) 모션 정보 또는 인지 정보를 디스플레이하고 (2) 사용자가 차량의 작동과 상호작용하는 것을 허용하도록 구성된 (b) 디스플레이를 포함하는 장치를 포함한다.
일부 구현예들에서, 개입 요청은 원격 조작자에 의해 개시된 요청을 포함할 수 있다. 개입 요청은 차량 또는 관련 AV 시스템의 상태 또는 환경에 연관된 데이터를 포함할 수 있다. 개입 요청은 차량 또는 관련 AV 시스템의 하나 이상의 하드웨어 컴포넌트로부터의 하나 이상의 신호를 포함할 수 있다. 개입 요청은 차량의 하나 이상의 소프트웨어 프로세스로부터의 하나 이상의 신호를 포함할 수 있다.
일부 구현예들에서, 디스플레이는 차량의 비전 센서의 시야 또는 조감도를 포함하는 대화식 인터페이스를 제시하도록 구성될 수 있다. 디스플레이는 현재 또는 과거 또는 둘 다의 인지 정보를 포함하는 대화식 인터페이스를 제시하도록 구성될 수 있다. 디스플레이는 현재 또는 과거 또는 둘 다의 궤적을 포함하는 대화식 인터페이스를 제시하도록 구성될 수 있다. 디스플레이는 현재 또는 과거 또는 둘 다의 모션 계획 정보를 포함하는 대화식 인터페이스를 제시하도록 구성될 수 있다. 디스플레이는 차량의 시스템 다이어그램을 포함하는 대화식 인터페이스를 제시하도록 구성될 수 있고, 시스템 다이어그램은 하나 이상의 하드웨어 컴포넌트, 또는 하나 이상의 소프트웨어 프로세스, 또는 둘 다를 포함한다.
일부 구현예들에서, 장치는 사용자로부터의 하나 이상의 상호작용을 차량의 작동을 위한 개입으로 변환하는 프로세서를 포함할 수 있다. 하나 이상의 상호작용은 사용자에 의해 결정된 차량의 현재 위치를 포함할 수 있고; 프로세서는 사용자에 의해 식별된 현재 위치를 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 업데이트된 현재 위치를 개입으로서 생성할 수 있다. 하나 이상의 상호작용은 사용자에 의해 식별된 차량의 목표 위치를 포함할 수 있고; 프로세서는 목표 위치를 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 업데이트된 목표 위치를 개입으로서 생성할 수 있다. 하나 이상의 상호작용은 사용자에 의해 식별된 궤적을 포함할 수 있고; 프로세서는 궤적을 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 업데이트된 궤적을 개입으로서 생성할 수 있다. 하나 이상의 상호작용은 개인에 의해 식별된 하나 이상의 궤적 샘플링 포인트를 포함하고; 프로세서는 하나 이상의 궤적 샘플링 포인트에 기초하여 궤적 또는 궤적 세그먼트를 추론할 수 있다. 프로세서는 하나 이상의 궤적 프리미티브에 기초하여 궤적 또는 궤적 세그먼트를 추론할 수 있다. 프로세서는 2개의 궤적 세그먼트를 연쇄시킬 수 있다. 2개의 궤적 세그먼트를 연쇄시키는 것은 궤적 세그먼트들을 평활화하고 궤적 세그먼트들에 걸쳐 속도 프로파일을 평활화하는 것을 포함할 수 있다. 하나 이상의 상호작용은 하나 이상의 횡단불가능한 도로 구간을 지정하는 것을 포함할 수 있다. 하나 이상의 상호작용은 속도 프로파일을 설정하는 것을 포함할 수 있다. 프로세서는 속도 프로파일을 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 업데이트된 속도 프로파일을 개입으로서 생성할 수 있다. 프로세서는 학습 알고리즘에 의해 속도 프로파일을 추론할 수 있고, 속도 프로파일들은 개입에 포함될 수 있다. 프로세서는 학습 알고리즘에 의해 조향각을 추론할 수 있고, 조향각은 개입에 포함될 수 있다. 하나 이상의 상호작용 또는 개입은 하드웨어 컴포넌트 또는 소프트웨어 프로세스를 활성화, 편집 또는 비활성화하는 것을 포함할 수 있다. 하나 이상의 상호작용 또는 개입은 하드웨어 컴포넌트의 서브컴포넌트 또는 소프트웨어 프로세스의 단계를 활성화, 편집 또는 비활성화하는 것을 포함한다. 하나 이상의 상호작용 또는 개입은 이동 선호도 또는 이동 규칙을 오버라이트하는 것을 포함할 수 있다. 하나 이상의 상호작용 또는 개입은 데이터를 편집하는 것을 포함할 수 있고, 데이터는 지도, 차량 또는 관련 AV 시스템 내의 센서 데이터, 차량 또는 관련 AV 시스템 내의 궤적 데이터, 차량 또는 관련 AV 시스템 내의 비전 데이터, 차량 또는 관련 AV 시스템 내의 임의의 과거 데이터 중 하나 이상을 포함한다. 개입은 궤적, 라벨, 프로세스 제어, 주석, 및 머신 명령어 중 하나 이상을 포함할 수 있다.
일반적으로, 일 양태에서, 방법은 (a) 차량이 도로 상에서 자율 모드로 주행하게 하는 단계 - 차량은 하나 이상의 자율 주행 능력을 포함함 - ; (b) 하나 이상의 자율 주행 능력의 작동에 관한 개입을 수신하는 단계; 및 (c) 개입을 분석하고, 차량의 하나 이상의 하드웨어 컴포넌트 또는 하나 이상의 소프트웨어 프로세스를 구성하는 단계를 포함한다.
일부 구현예들에서, 개입은 차량의 현재 위치를 포함할 수 있고; 개입을 분석하는 단계는 개입에서의 현재 위치를 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 현재 위치를 업데이트하는 단계를 포함할 수 있다. 개입은 목표 위치를 포함할 수 있고; 개입을 분석하는 단계는 개입에서의 목표 위치를 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 목표 위치를 업데이트하는 단계를 포함할 수 있다. 개입은 궤적을 포함할 수 있고; 개입을 분석하는 단계는 개입에서의 궤적을 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 궤적을 업데이트하는 단계를 포함할 수 있다. 개입은 하나 이상의 궤적 샘플링 포인트를 포함할 수 있고; 개입을 분석하는 단계는 하나 이상의 궤적 샘플링 포인트를 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 하나 이상의 궤적 샘플링 포인트를 업데이트하는 단계를 포함할 수 있다. 개입을 분석하는 단계는 하나 이상의 궤적 샘플링 포인트에 기초하여 궤적 또는 궤적 세그먼트를 추론하는 단계를 포함할 수 있다. 궤적 또는 궤적 세그먼트를 추론하는 단계는 하나 이상의 궤적 프리미티브에 기초할 수 있다. 궤적 또는 궤적 세그먼트를 추론하는 단계는 2개의 궤적 세그먼트를 연쇄시키는 단계를 포함할 수 있다. 2개의 궤적 세그먼트를 연쇄시키는 단계는 궤적 세그먼트들을 평활화하고 궤적 세그먼트들에 걸쳐 속도 프로파일을 평활화하는 단계를 포함할 수 있다. 개입은 하나 이상의 횡단불가능한 도로 구간을 지정하는 단계를 포함할 수 있다. 개입은 속도 프로파일을 추론하거나 설정하는 단계를 포함할 수 있다. 개입을 분석하는 단계는 속도 프로파일을 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 속도 프로파일을 업데이트하는 단계를 포함할 수 있다. 개입을 분석하는 단계는 학습 알고리즘에 의해 속도 프로파일을 추론하는 단계를 포함할 수 있다. 개입을 분석하는 단계는 학습 알고리즘에 의해 조향각을 추론하는 단계를 포함할 수 있다. 개입을 분석하는 단계는 하드웨어 컴포넌트 또는 소프트웨어 프로세스를 활성화, 편집 또는 비활성화하는 단계를 포함할 수 있다. 개입을 분석하는 단계는 하드웨어 컴포넌트의 서브컴포넌트 또는 소프트웨어 프로세스의 처리 단계를 활성화, 편집 또는 비활성화하는 단계를 포함할 수 있다. 개입은 이동 선호도 또는 이동 규칙을 오버라이트하는 단계를 포함할 수 있다. 개입은 데이터를 편집하는 단계를 포함할 수 있으며, 데이터는 지도, 차량 또는 관련 AV 시스템 내의 센서 데이터, 차량 또는 관련 AV 시스템 내의 궤적 데이터, 차량 또는 관련 AV 시스템 내의 비전 데이터, 또는 차량 또는 관련 AV 시스템 내의 임의의 과거 데이터 중 하나 이상을 포함한다.
일반적으로, 일 양태에서, 방법은 (a) 원격 조작자로부터 차량의 작동에 관한 머신 판독가능한 명령어들을 수신하는 단계; 및 (b) 머신 판독가능한 명령어들을 실행하도록 차량을 구성하는 단계를 포함한다. 차량은 하나 이상의 자율 주행 능력을 포함할 수 있다. 머신 판독가능한 명령어들은 현재 위치, 목표 위치, 하나 이상의 궤적, 하나 이상의 궤적 샘플링 포인트, 하나 이상의 속도 프로파일, 또는 하나 이상의 횡단불가능한 도로 구간 중 하나 이상을 표현할 수 있다. 머신 판독가능한 명령어들은 하드웨어 컴포넌트 또는 소프트웨어 프로세스를 활성화, 편집 또는 비활성화하는 것을 포함할 수 있다. 머신 판독가능한 명령어들은 하드웨어 컴포넌트의 서브컴포넌트 또는 소프트웨어 프로세스의 처리 단계를 활성화, 편집 또는 비활성화하는 것을 포함할 수 있다. 머신 판독가능한 명령어들은 이동 선호도 또는 이동 규칙을 오버라이트하는 단계를 포함할 수 있다. 머신 판독가능한 명령어들은 데이터를 편집하는 것을 포함할 수 있으며, 데이터는 지도, 차량 또는 관련 AV 시스템 내의 센서 데이터, 차량 또는 관련 AV 시스템 내의 궤적 데이터, 차량 또는 관련 AV 시스템 내의 비전 데이터, 또는 차량 또는 관련 AV 시스템 내의 임의의 과거 데이터 중 하나 이상을 포함한다.
이들 및 다른 양태들, 특징들 및 구현들은 방법들, 장치들, 시스템들, 컴포넌트들, 프로그램 제품들, 사업 수행 방법들, 기능을 수행하기 위한 수단들 또는 단계들, 및 다른 방식들로 표현될 수 있다.
이들 및 다른 양태들, 특징들 및 구현들은 청구항들을 포함하여 이하의 설명으로부터 명백해질 것이다.
도 1은 AV 시스템의 블록도이다.
도 2a 및 도 2b는 원격 조작 시스템의 예들을 보여준다.
도 3a 및 도 3b는 원격 조작 클라이언트의 예들을 보여준다.
도 4a 및 도 4b는 원격 조작 흐름도의 예들을 보여준다.
도 5는 원격 조작 서버의 예를 보여준다.
도 6 - 도 12는 원격 조작 인터페이스들의 예들을 보여준다.
용어 "자율 주행 능력(autonomous driving capability)"은 예를 들어 AV의 조향 휠, 가속기, 브레이크, 또는 다른 물리적 제어기를 조작하는 개인에 의한 것이 아닌, AV의 주행에 참여할 수 있는 임의의 기능, 특징 또는 시설을 포함하도록 넓게 사용된다.
용어 "원격 조작(teleoperation)"은 통신 채널(예를 들어, 무선 또는 유선)에 의해 AV 또는 AV 시스템에 송신된 AV의 자율 주행 능력의 임의의 명령어, 안내, 커맨드, 요청, 명령, 지시 또는 다른 제어, 또는 그것과의 상호작용을 포함하도록 넓게 사용된다. 본 문서는 때로는 용어 "원격 조작 커맨드"를 "원격 조작"과 상호교환가능하게 사용한다. 원격 조작들은 개입들의 예들이다.
용어 "원격 조작자(teleoperator)"는 예를 들어 원격 조작을 개시하거나 야기하거나 다르게는 그것의 소스가 되는 임의의 개인 또는 임의의 소프트웨어 프로세스 또는 하드웨어 디바이스 또는 이들의 임의의 조합을 포함하도록 넓게 사용된다. 원격 조작자는 AV 또는 AV 시스템에 국지적일 수 있거나(예를 들어, AV를 점유하거나, AV 옆에 서 있거나, AV로부터 한 걸음 이상 떨어져 있음), AV 또는 AV 시스템으로부터 원격일 수 있다(예를 들어, AV로부터 적어도 1, 2, 3, 4, 5, 10, 20, 30, 40, 50, 100, 200, 300, 400, 500, 600, 700, 900 또는 1000미터 떨어져 있음).
용어 "원격 조작 이벤트(teleoperation event)"는 예를 들어 원격 조작이 적절하거나 유용하거나 바람직하거나 필요할 수 있는 임의의 발생, 행위, 상황, 사건, 또는 다른 상황을 포함하도록 넓게 사용된다.
용어 "원격 조작 요청(teleoperation request)"은 예를 들어 원격 조작과 관련하여 AV 또는 AV 시스템으로부터 원격 조작자 또는 원격 조작 시스템의 다른 부분으로의 임의의 통신을 포함하도록 넓게 사용된다.
용어 "원격 상호작용하다(tele-interact)" 또는 "원격 상호작용(tele-interaction)"은 예를 들어 원격 조작자와 AV 또는 AV 시스템의 하드웨어 컴포넌트 또는 소프트웨어 프로세스 사이의 임의의 가상 상호작용을 포함하도록 넓게 사용된다.
용어 "폴백 작동"은 예를 들어 원격 조작 요청 후에, 및 대응하는 원격 조작이 AV 시스템에 의해 수신 및 실행되기 전에, 또는 수신 및 실행되는 동안, AV의 자율 주행 능력의 액션, 성능 또는 활동의 임의의 양식, 형태 또는 방법을 포함하도록 넓게 사용된다.
용어 "궤적(trajectory)"은 예를 들어 한 장소로부터 다른 장소로의 임의의 경로 또는 루트, 예를 들어, 픽업 위치로부터 하차 위치까지의 경로를 포함하도록 넓게 사용된다.
용어 "목표" 또는 "목표 위치"는 예를 들어 다른 것들 중에서도 특히 중간 하차 위치, 최종 하차 위치, 또는 목적지를 포함하여, 예를 들어 AV에 의해 도달될 장소를 포함하도록 넓게 사용된다.
본 문서는 완전 자율 차량, 고도 자율 차량, 및 조건부 자율 차량, 예컨대 소위 레벨 5, 레벨 4 및 레벨 3 차량을 각각 포함하여, 하나 이상의 자율 주행 능력을 갖는 임의의 차량들에 적용가능한 기술들을 설명한다[차량들의 자율 레벨들의 분류에 대한 더 상세한 내용들에 대해서는, SAE International의 표준 J3016: 도로상 차량 자동 주행 시스템에 관련된 용어들에 대한 분류 및 정의들(Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems)를 참조한다]. 자율 주행 능력들을 갖춘 차량들은 차량들의 조향 또는 속도를 제어하려고 시도할 수 있다. 본 문서에 설명된 기술들은 소위 레벨 2 및 레벨 1 차량들과 같은 부분 자율 차량들 및 운전자 보조 차량들에 적용될 수 있다[SAE International의 표준 J3016: 도로상 차량 자동 주행 시스템에 관련된 용어들에 대한 분류 및 정의들(Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems)를 참조한다]. 레벨 1, 2, 3, 4 및 5 차량 시스템들 중 하나 이상은 센서 입력들의 분석에 기초하여 특정 주행 조건들 하에서 특정 차량 작동들(예를 들어, 조향, 제동 및 지도 사용)을 자동화할 수 있다. 본 문서에 설명된 기술들은 완전 자율 차량들로부터 인간이 조작하는 차량들에 이르기까지 임의의 레벨의 차량에 혜택을 줄 수 있다.
AV 시스템
도 1에 도시된 바와 같이, AV(10)의 전형적인 활동은 차량, 보행자, 자전거 및 다른 장애물(16)을 피하고 도로의 규칙들(예를 들어, 작동 규칙들 또는 주행 선호도들)을 준수하면서, 환경(12)을 통해 목표 위치(14)까지 자율적으로 또는 부분적으로 수동으로 또는 둘 다로 안전하고 신뢰가능하게 주행하는 것이다. AV가 자율 주행을 수행할 수 있게 하는 AV 또는 AV 시스템의 특징들, 기능들 및 설비들은 종종 자율 주행 능력들이라고 지칭된다.
AV의 주행은 전형적으로 본 문서가 함께[그리고 AV(10)와 함께] AV 시스템(22)이라고 지칭하는 기술들(18 및 20)의 집합체(예를 들어, 하드웨어, 소프트웨어, 및 저장된 및 실시간 데이터)에 의해 지원된다. 일부 구현예들에서, 기술들 중 하나 또는 일부 또는 전부는 AV 온보드이다. 일부 경우들에서, 기술들 중 하나 또는 일부 또는 전부는 다른 위치에, 예컨대 서버에(예를 들어, 클라우드 컴퓨팅 기반구조 내에) 있다. AV 시스템의 컴포넌트들은 (다른 것들 중에서도 특히) 이하의 것들 중 하나 이상 또는 전부를 포함할 수 있다.
1. 머신 명령어들 및 다양한 유형의 데이터를 저장하기 위한 메모리(32).
2. AV의 상태 및 조건의 속성들, 예컨대 AV의 위치, 선속도 및 각속도와 선 가속도 및 각 가속도, 및 방향(즉, AV의 선단의 배향)을 측정 또는 추론 또는 둘 다 하기 위한 하나 이상의 센서(24). 예를 들어, 그러한 센서들은 GPS; 차량 선형 가속도들 및 각속도들 둘 다를 측정하는 관성 측정 유닛들; 개별 휠 슬립 비율들(wheel slip ratios)을 측정 또는 추정하기 위한 개별 휠 속도 센서들; 개별 휠 브레이크 압력 또는 제동 토크 센서들; 엔진 토크 또는 개별 휠 토크 센서들; 및 조향 휠 각도 및 각속도 센서들을 포함할 수 있지만, 그에 제한되지 않는다.
3. AV의 환경의 속성들을 감지 또는 측정하기 위한 하나 이상의 센서(26). 예를 들어, 그러한 센서들은 LIDAR; RADAR; 가시광, 적외선 및/또는 열 스펙트럼 내의 단안 또는 스테레오 비디오 카메라들; 초음파 센서들; 비행 시간(TOF) 깊이 센서들; 속도 센서들; 온도 및 강우 센서들을 포함할 수 있지만, 그에 제한되지 않는다.
4. 위치들, 선속도들 및 각속도들, 선 가속도들 및 각 가속도들, 선형 방향들 및 각도 방향들과 같은, 다른 차량들의 상태들 및 조건들의 측정되거나 추론되거나 측정 및 추론된 속성들을 전달하기 위한 하나 이상의 디바이스(28). 이러한 디바이스들은 V2V(Vehicle-to-Vehicle) 및 V2I(Vehicle-to-Infrastructure) 통신 디바이스들, 및 지점 간 또는 애드혹 네트워크 또는 둘 다를 통한 무선 통신 디바이스들을 포함한다. 디바이스들은 전자기 스펙트럼(라디오 및 광 통신을 포함함) 또는 다른 매체(예를 들어, 음향 통신)를 통해 통신할 수 있다.
5. 예를 들어, 교통 혼잡 업데이트들 및 기상 조건들을 포함하여, 환경(12)에 관한 이력 또는 실시간 또는 예측 정보, 또는 그들 중 임의의 둘 이상의 조합을 제공하기 위한 하나 이상의 데이터 소스(30). 그러한 데이터는 AV 상의 메모리 저장 유닛(32)에 저장되거나, 원격 데이터베이스(34)로부터의 무선 통신을 통해 AV에 전송될 수 있다.
6. 도로 기하학적 속성들의 고정밀 지도들; 도로망 연결 속성들을 설명하는 지도들; 도로의 물리적 속성들(예컨대, 차량 및 자전거 통행 차선들의 수, 차선 폭, 차선 통행 방향들, 또는 차선 마커 유형들 및 위치들, 또는 그들의 조합들)을 설명하는 지도들; 및 횡단 보도, 교통 표지판, 또는 다양한 다른 교통 신호들과 같은 도로 특징들의 공간적 위치들을 설명하는 지도들 중 하나 이상을 잠재적으로 포함하여, GIS 데이터베이스들로부터 도출된 디지털 로드맵 데이터를 제공하기 위한 하나 이상의 데이터 소스(36). 그러한 데이터는 AV 상의 메모리 저장 유닛(32) 상에 저장되거나, 원격으로 위치된 데이터베이스로부터 무선 통신에 의해 AV에 전송되거나, 그 둘의 조합일 수 있다.
7. 유사한 시각들에 국지적 도로 섹션들을 따라 이전에 이동한 차량들의 주행 속성들(예를 들어, 전형적인 속도 및 가속도 프로파일들)에 관한 이력 정보를 제공하기 위한 하나 이상의 데이터 소스(38). 그러한 데이터는 AV 상의 메모리 저장 유닛(32)에 저장되거나, 원격으로 위치된 데이터베이스(34)로부터 무선 통신에 의해 AV에 전송되거나, 둘 다의 조합일 수 있다.
8. 실시간 센서 데이터 및 이전 정보 둘 다에 기초한 제어 액션들의 온라인(즉, 실시간 온보드) 생성을 위한 알고리즘들[예를 들어, 프로세스들(42)]을 실행하여, AV가 자신의 자율 주행 능력들을 실행하는 것을 허용하는, AV 상에 위치된 하나 이상의 컴퓨팅 디바이스(40).
9. 다양한 유형의 정보 및 경보를 AV의 사용자(예를 들어, 탑승자 또는 원격 사용자)에게 제공하고 그로부터 입력을 수신하기 위해 컴퓨팅 디바이스들(40)에 결합된 하나 이상의 인터페이스 디바이스(44)(예를 들어, 디스플레이들, 마우스들, 트랙 포인트들, 키보드들, 터치 스크린들, 스피커들, 생체 인식기들, 및 제스처 판독기들). 결합은 무선 또는 유선일 수 있다. 인터페이스 디바이스들 중 임의의 둘 이상이 단일 디바이스로 통합될 수 있다.
10. 원격으로 위치된 데이터베이스(34)로부터 AV로 데이터를 전송하여, 센서 데이터 또는 주행 성능에 관련된 데이터를 원격으로 위치된 데이터베이스(34)에 전송하고, 원격 조작들에 관련된 통신을 전송하기 위한 하나 이상의 통신 인터페이스(46)(예를 들어, 유선, 무선, WiMAX, Wi-Fi, 블루투스, 위성, 셀룰러, 광학, 근거리 또는 라디오, 또는 이들의 조합).
11. 컴퓨팅 디바이스들(40)로부터 주행(예를 들어, 조향, 가속, 감속, 기어 선택) 및 보조 기능들(예를 들어, 방향 지시기 활성화)을 위한 커맨드들을 수신하고 그에 작용하도록 설계된 AV의 기능 디바이스들(48).
원격 조작 시스템
AV 또는 AV 시스템에 대해 원격 또는 국지적 또는 그 둘의 조합일 수 있는 원격 조작 시스템은 원격 조작자가 통신 채널을 통해 AV 시스템과 상호작용하는 것을 가능하게 할 수 있다(예를 들어, 커맨드들을 제공하고, 주행 조건을 시각화하고, 하드웨어 컴포넌트 또는 소프트웨어 프로세스의 기능성을 조사함). 상호작용들은 AV 시스템이 다양한 이벤트들에 적절하게 응답하는 것을 도울 수 있다.
도 2a는 원격 조작 시스템의 예시적인 아키텍처를 도시한다. 원격 조작 시스템(290)은 (다른 것들 중에서도 특히) 이하의 구성요소들을 포함할 수 있다:
● 전형적으로 AV 시스템(292)의 AV(200)에 설치된 원격 조작 클라이언트(201)(예를 들어, 하드웨어, 소프트웨어, 펌웨어, 또는 이들 중 둘 이상의 조합). 원격 조작 클라이언트(201)는 AV 시스템(292)의 컴포넌트들[예를 들어, 센서들(203), 통신 디바이스들(204), 사용자 인터페이스 디바이스들, 메모리(206), 제어기(207) 또는 기능적 디바이스들, 또는 이들의 조합들]과 상호작용하여, 예를 들어 정보 및 커맨드들을 송신 및 수신할 수 있다. 원격 조작 클라이언트(201)는 통신 인터페이스(204)(적어도 부분적으로 무선일 수 있음)를 통해 원격 조작 서버(210)와 통신할 수 있다.
● 원격 조작 서버(210)는 AV(200) 내에, 또는 원격 위치에, 예를 들어 AV(200)로부터 적어도 0.1, 1, 2, 3, 4, 5, 10, 20, 30, 40, 50, 100, 200, 300, 400, 500, 600, 700, 900, 또는 1000 미터에 위치될 수 있다. 원격 조작 서버 (210)는 통신 인터페이스(204)를 사용하여 원격 조작 클라이언트(201)와 통신한다. 일부 구현예들에서, 원격 조작 서버(210)는 복수의 원격 조작 클라이언트와 동시에 통신할 수 있고; 예를 들어, 원격 조작 서버(210)는 다른 AV 시스템(294)의 일부인 다른 AV(250)의 다른 원격 조작 클라이언트(251)와 통신한다. 클라이언트들(201 및 251)은 자율 주행 능력들을 구현하기 위한 데이터(예를 들어, 도로망들, 지도들, 날씨 및 교통들)를 수집하기 위해 하나 이상의 데이터 소스(220)[예를 들어, 중앙 서버(222), 원격 센서(224) 및 원격 데이터베이스(226), 또는 이들의 조합]와 통신할 수 있다. 원격 조작 서버(210)는 또한 AV 시스템(292 또는 294) 또는 둘 다에 대한 원격 조작들을 위해 원격 데이터 소스들(220)과 통신할 수 있다.
● 인간 원격 조작자(214)가 AV 시스템(200)에 대한 원격 조작들에 관여하기 위해 원격 조작 서버(210)에 의해 제시되는 사용자 인터페이스(212). 일부 경우들에서, 인터페이스(212)는 AV 시스템(200)이 인지했거나 인지하고 있는 것을 원격 조작자(214)에게 렌더링할 수 있다. 렌더링은 실제 센서 신호들에 기초하거나 시뮬레이션들에 기초할 수 있다. 일부 구현예들에서, 사용자 인터페이스(212)는 원격 조작자(214)를 대신하여 임의의 결정을 하는 자동 개입 프로세스(211)에 의해 대체될 수 있다.
도 2b를 참조하면, 일부 구현예들에서, 원격 조작 클라이언트(201)는 둘 이상의 원격 조작 서버(231 및 232)와 통신할 수 있고, 여기서 서버들은 단일 원격 조작자(214)에 대한 다양한 정보를 송신 및 수집하여, 사용자 인터페이스(212) 상에서 원격 조작 세션을 수행한다. 일부 경우들에서, 원격 조작 클라이언트(201)는 상이한 원격 조작자들(예를 들어, 214 및 218)에게 개별 사용자 인터페이스들(예를 들어, 212 및 216)을 제시하는 둘 이상의 원격 조작 서버(예를 들어, 231 및 233)와 통신하여, 둘 이상의 원격 조작자(예를 들어, 214 및 218)가 원격 조작 세션에 공동으로 참여하는 것을 허용한다. 일부 경우들에서, 자동 프로세스들(211 및 215)은 인터페이스들(예를 들어, 212 및 216) 및 원격 조작자들(예를 들어, 214 및 218)을 대신하여 원격 조작을 자동화할 수 있다.
도 3a는 원격 조작 시스템(290)의 예시적인 흐름도를 도시한다. 도 3b는 프로세서(320)에 의해 실행되는 메모리(322) 상에 로딩된 소프트웨어일 수 있거나, 데이터 버스(310), 프로세서(320), 메모리(322), 데이터베이스(324) 및 통신 인터페이스(326) 중 하나 이상을 포함하는 하드웨어일 수 있는 원격 조작 클라이언트(201)의 예시적인 아키텍처를 보여준다. 도 3a를 참조하면, 초기 조건(301)에서, AV 시스템은 완전 자율 모드(즉, 수동 지원 없이 주행)로 작동한다. 단계(302)에서, AV 시스템 상의 모니터링 프로세스(도 3b의 332)에 의해 원격 조작 이벤트가 생성된다. 일부 구현예들에서, 이것은 원격 조작을 시작한다. 단계(303)에서, 생성된 원격 조작 이벤트에 기초하여, 원격 조작 요청은 이벤트 핸들링 프로세스(도 3b의 334)에 의해 생성되고, 이는 원격 조작 시스템에게 AV 시스템과의 원격 상호작용을 시작할 것을 요청한다. 요청에 응답하여, 원격 조작 시스템(290)은 이용가능한 원격 조작자를 할당하고, 원격 조작 요청을 원격 조작자에게 제시할 수 있다. 일부 경우들에서, 원격 조작 요청은 AV 시스템의 정보(예를 들어, 다른 것들 중에서도 특히, 계획된 궤적, 인지된 환경, 차량 컴포넌트 또는 이들의 조합)를 포함할 수 있다. 한편, AV 시스템은 원격 조작자에 의해 원격 조작이 발행되기를 기다리는 동안 폴백 작동(307)을 구현할 수 있다.
단계(304)에서, 원격 조작자는 원격 조작 요청을 수락하고 원격 상호작용에 관여한다. 원격 상호작용은 달라질 수 있는데, 예를 들어, 원격 조작 서버는 인터페이스를 통해 원격 조작자에게 가능한 원격 조작들을 추천할 수 있고, 원격 조작자는 추천된 원격 조작들 중 하나 이상을 선택하여 원격 조작들이 AV 시스템에 송신되게 할 수 있다. 일부 구현예들에서, 원격 조작 서버는 사용자 인터페이스를 통해 AV 시스템의 환경을 원격 조작자에게 렌더링하고, 원격 조작자는 최적의 원격 조작을 선택하기 위해 환경을 볼 수 있다. 일부 경우들에서, 원격 조작자는 원격 조작으로서 컴퓨터 코드들을 입력할 수 있다. 일부 예들에서, 원격 조작자는 인터페이스를 사용하여 AV를 위한 추천 궤적을 그리고, 그것을 따라 자신의 주행을 계속할 수 있다.
원격 상호작용에 기초하여, 원격 조작자는 적합한 원격 조작을 발행할 수 있고, 다음으로 이 원격 조작은 원격 조작 핸들링 프로세스(도 3b의 336)에 의해 처리된다. 단계(305)에서, 원격 조작 핸들링 프로세스는 AV의 자율 주행 능력들에 영향을 미치도록 원격 조작을 AV 시스템에 송신한다. 단계(306)에서, 일단 AV 시스템이 원격 조작의 실행을 완료하거나 원격 조작을 중단시키거나, 또는 원격 조작이 원격 조작자에 의해 종료되면, 원격 조작이 끝난다. AV 시스템은 자율 모드(301)로 복귀할 수 있고, AV 시스템은 다른 원격 조작 이벤트를 청취한다.
원격 조작 클라이언트
도 4a는 원격 조작 클라이언트(201)의 예시적인 흐름도를 도시한다. 일부 구현예들에서, 원격 조작 클라이언트(201)는 AV 시스템(410)의 일부로서 통합될 수 있다. 일부 예들에서, 원격 조작 클라이언트(201)는 AV 시스템(410)과 구별되고 AV 시스템(410)과의 통신을 유지한다. 일부 경우들에서, 원격 조작 클라이언트(201)는 AV 시스템 모니터링 프로세스(420), 원격 조작 이벤트 핸들링 프로세스(430), 및 원격 조작 커맨드 핸들링 프로세스(440)를 포함할 수 있다. AV 시스템 모니터링 프로세스(420)는 분석을 위해 시스템 정보 및 데이터(412)를 판독할 수 있다. 분석 결과는 원격 조작 이벤트 핸들링 프로세스(430)에 대해 원격 조작 이벤트(422)를 생성할 수 있다. 원격 조작 이벤트 핸들링 프로세스(430)는 원격 조작 요청(434)을 원격 조작 서버(450)에 송출하고, 폴백 요청(432)을 원격 조작 커맨드 핸들링 프로세스(440)에 송출할 수 있다. 일부 구현예들에서, 원격 조작 서버(450)는 원격 조작자(470)가 AV 시스템(410)과의 원격 상호작용을 수행하도록 사용자 인터페이스(460)를 제시할 수 있다. 사용자 인터페이스를 통한 원격 조작자의 액션들에 응답하여, 원격 조작 서버는 원격 조작 커맨드 핸들링 프로세스(440)에 의해 사용될 형태로 원격 조작을 표현하는 원격 조작 커맨드(452)를 발행할 수 있다. 원격 조작 커맨드 핸들링 프로세스(440)는 원격 조작 커맨드를 AV 시스템(410)에 유용한 형태로 표현된 AV 시스템 커맨드(442)로 변환하고, 커맨드를 AV 시스템에 송신한다.
AV 시스템 모니터링 프로세스. AV 시스템 모니터링 프로세스(420)는 AV 시스템(410)의 작동 상태(예를 들어, 속도, 가속도, 조향, 데이터 통신, 인지, 및 궤적 계획)를 모니터링하기 위해 시스템 정보 및 데이터(412)를 수신할 수 있다. 작동 상태는 AV 시스템(410)의 하드웨어 컴포넌트들 또는 소프트웨어 프로세스들 또는 둘 다의 출력들을 직접 판독하는 것, 또는 연관된 수량들을 측정함으로써 출력들을 간접적으로, 예를 들어 계산적으로 또는 통계적으로 추론하는 것, 또는 둘 다에 기초할 수 있다. 일부 구현예들에서, AV 시스템 모니터링 프로세스(420)는 작동 상태로부터 정보를 도출할 수 있다(예를 들어, 통계를 계산하거나, 모니터링된 조건들을 데이터베이스 내의 지식과 비교함). 모니터링된 작동 상태 또는 도출된 정보 또는 둘 다에 기초하여, 모니터링 프로세스(420)는 원격 조작(452)이 생성되어야 하는 원격 조작 이벤트(422)를 결정할 수 있다.
AV 시스템(22)(도 1)의 하나 이상의 컴포넌트가 비정상적이거나 예상되지 않은 조건에 있을 때(예를 들어, 오작동하거나 통상적이지 않은 출력을 생성함), 원격 조작 이벤트(도 4a의 422)가 트리거될 수 있다. 예를 들어, 브레이크가 오작동하는 것; 타이어에서 공기가 빠지는 것; 비전 센서의 시야가 차단되는 것; 비전 센서의 프레임 레이트가 임계값 미만으로 떨어지는 것; AV 시스템의 움직임이 현재 조향각, 스로틀 레벨, 브레이크 레벨, 또는 이들의 조합과 일치하지 않는 것; 결함 소프트웨어 코드; 감소된 신호 강도; 증가된 잡음 레벨; AV 시스템의 환경에서 인지된 미지의 객체; 모션 계획 프로세스가 계획 오류로 인해 목표를 향한 궤적을 찾을 수 없는 것; 데이터 소스(예를 들어, 데이터베이스, 센서, 및 지도 데이터 소스)에 대한 액세스할 수 없는 것; 또는 이들의 조합.
일부 구현예들에서, 원격 조작 이벤트(도 4a의 422)는 이벤트 또는 요청에 따라 트리거될 수 있다. 예들은 우회, 시위, 화재, 사고, 홍수, 쓰러진 나무 또는 바위, 의학적 응급 상황, 경찰 요청, AV 내의 탑승자에 의한 요청(예를 들어, 탑승객이 AV 시스템의 주행 거동들을 좋아하지 않음), AV의 사용자에 의한 요청(예를 들어, 패키지를 발송하기 위해 AV 시스템을 사용하는 패키지 발신자가 새로운 궤적 또는 목적지를 변경하기를 원함), 또는 원격 조작자에 의한 개시, 또는 이들의 조합을 포함한다.
AV 시스템 모니터링 프로세스(420)에 의해 생성된 원격 조작 이벤트(422)는 이하의 정보 항목들 중 하나 이상을 포함할 수 있다:
1. AV 시스템(410)의 하드웨어 컴포넌트들 또는 소프트웨어 프로세스들로부터의 하나 이상의 출력, 예를 들어, 카메라로부터의 비디오 스트림들, 센서(예를 들어, LIDAR 및 레이더)의 신호들, 인지 시스템으로부터의 추적된 객체들, AV 시스템의 동적 수량들(예를 들어, 속도 및 배향), 스로틀 레벨들, 브레이크 레벨들, 또는 모션 계획 프로세스에 의해 식별된 궤적, 또는 그들의 조합.
2. AV 시스템(410)의 하드웨어 컴포넌트들 및/또는 소프트웨어 프로세스들의 상태, 예를 들어 센서 작동들의 실패, 모션 계획 프로세스의 과부하, 긴 큐, 또는 의사 결정 프로세스의 긴 시간. 상태 정보는 적용가능한 원격 조작을 결정하기 위해 사용될 수 있다.
3. 측정값들과 추정값들 또는 임계값들 사이의 관계들. 예를 들어, 목표를 향한 실현가능한 궤적들의 수가 임계값(예를 들어, 1, 2, 3, 4, 5 또는 10)보다 작다. AV 시스템 근처의 환경에서 인지된 미지의 객체들의 수가 임계값(예를 들어, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 또는 10)보다 크다. 변수[예를 들어, 신호 강도, 속도, 배향, 데이터 속도, 인지된 객체까지의 거리, 또는 지오로케이션 위치(geolocation position)]의 신뢰 레벨이 특정 임계값(예를 들어, 100%, 95%, 90%, 85%, 80%, 75%, 70%, 65%, 60%, 55% 또는 50%) 미만으로 떨어진다. 측정된 수량이 추정값으로부터 갖는 편차가 임계값(예를 들어, 적어도 1%, 2%, 3%, 4%, 5%, 10%, 15%, 20%, 25%, 30%, 35%, 40%, 45% 또는 50%)을 초과한다. 편차는 머신 학습 접근법에 의해 결정론적으로 설정되거나 확률론적으로 추론될 수 있다.
4. AV 시스템(410) 또는 다른 데이터 소스들 또는 둘 다로부터의 특정 데이터, 예컨대 지도 데이터, 센서 데이터, 연결 데이터, GPS 데이터, 기반구조 데이터, 또는 차량-대-차량 데이터의 부재.
5. AV 시스템(410) 또는 다른 데이터 소스들 또는 둘 다로부터의 특정 데이터, 예컨대 AV 내의 예상되지 않은 탑승자, AV 시스템으로의 예상되지 않은 로그인, 또는 AV 시스템(410) 내에 주입된 예상되지 않은 데이터의 존재.
6. AV의 탑승자 또는 AV 시스템(410)의 사용자에 의해 이루어진 원격 조작 지원에 대한 요청과 같은 요청의 존재.
7. AV 시스템(410) 또는 AV 시스템(410)의 환경에서의 위험한 조건. 예들은 화재, 공기 빠진 타이어, 폭탄을 포함한다.
8. AV 시스템(410) 또는 AV 시스템(410)의 환경에 관한 알려진 사실. 예들은 AV 시스템(410)의 과거 또는 현재 환경에서 인지된 임의의 객체들; 임의의 과거, 현재 또는 미래의 이동 규칙들; 임의의 과거, 현재 또는 미래의 궤적들; 건설 구역; 및 차선 이동을 포함한다.
9. 인식할 수 없는 사항. 예들은 AV 시스템(410)에 의해 인식될 수 없는 AV 시스템(410)의 과거 또는 현재 환경 내의 검출된 객체; AV 시스템(410)에 의해 해석될 수 없는 임의의 과거, 현재 또는 미래의 이동 규칙들; 계획될 수 없는 임의의 과거, 현재 또는 미래의 궤적들; 및 도로 구간 상의 방해(예를 들어, 건설 구역 및 우회)를 포함한다.
이벤트의 발생을 제안하는 상황들의 존재는 AV 시스템(410)으로부터의 명시적인 정보에 기초할 필요가 있는 것이 아니라 추론될 수 있다. 예를 들어, 일부 구현예들에서, AV 시스템 모니터링 프로세스(420)는 패턴 인식에 의해 AV 시스템(410)에서의 고장을 결정하거나 추론할 수 있다. 예를 들어, 지정된 패턴을 벗어난 AV 시스템(410)으로부터 수신된 하나 이상의 신호 값은 시스템 고장으로 결정될 수 있다. 패턴들은 재강화 학습 또는 딥 러닝과 같은 머신 학습 접근법들을 통해 데이터로부터 수작업으로 만들어지거나 추론될 수 있다.
일부 구현예들에서, AV 시스템 모니터링 프로세스(420)는 모델 기반 접근법에 의해 AV 시스템(410)에서의 고장을 검출할 수 있다. 모니터링되는 하드웨어 컴포넌트 또는 소프트웨어 프로세스의 모델이 구성되고, 모델의 현재 상태는 과거 입력들 또는 과거 측정들을 사용하여 추정된다. 현재 상태에 연관된 측정값이 그것의 추정값으로부터 벗어나면, 시스템 고장이 발생할 수 있다. 예를 들어, 스로틀 및 조향 커맨드에 대한 AV의 동적 수량들(예를 들어, 속도 및 배향)이 역학 모델에 기술되고, 모니터링 프로세스(420)는 역학 모델을 사용하여, 시간 t에서의 동적 수량들을 시간 t-1에서의 스로틀 및 조향 커맨드들에 기초하여 추정한다. 시간 t에서 측정된 동적 수량들이 추정된 동적 수량들과 적어도 1%, 2%, 3%, 4%, 5%, 10%, 15%, 20%, 25%, 30%, 35%, 40%, 45% 또는 50% 만큼 차이가 나는 경우, 모니터링 프로세스(420)는 시스템 고장을 결정한다. 모델은 시스템 식별 접근법을 사용하여 수동으로 설계 또는 식별되거나, 머신 학습 접근법(예를 들어, 신경망)을 사용하여 학습될 수 있다.
도 4b는 다음과 같이 다양한 데이터 소스로부터의 데이터에 의해 트리거된 원격 조작 이벤트들, 및 원격 조작에 대한 그들의 관련성의 예들을 도시한다.
1. AV 온보드 센서로부터의 데이터(481). 예를 들어, 특정 기간 동안 특정 비전 센서로부터 이미지가 송신되지 않았을 수 있고, 이는 비전 센서가 더 이상 기능하지 않음을 나타낸다. 이는 비전 센서의 뷰 내의 장애물을 피하거나 그것을 위해 멈추는 AV 시스템의 능력에 영향을 줄 수 있다.
2. AV 오프보드의, 예를 들어 다른 차량들 및 기반구조의 센서들로부터의 데이터(482). 예를 들어, AV 시스템은 근처의 긴급 차량으로부터 통지를 수신할 수 있고, 긴급 차량에 양보할 것으로 예상될 수 있다. 원격 조작자는 AV 시스템이 도로 측면에서 적절한 정지 위치를 찾도록 도울 수 있다.
3. 지도들, 데이터베이스들, 및 다른 데이터 소스들로부터의 데이터(483). 예를 들어, AV 시스템은 지도 상에 표시된 전용 원격 조작 영역, 예를 들어, 원격 조작 시스템으로부터의 원격 조작에 대한 AV 시스템의 복종이 요구되는 영역에 도달했을 수 있다. AV 시스템은 적절한 정지 위치를 찾고 원격 조작들을 기다려야 한다.
4. AV 시스템의 인지 프로세스로부터의 데이터(484). 예를 들어, 인지 프로세스는 AV의 계획된 궤적에 존재하는 미지의 객체를 검출할 수 있다. AV 시스템은 객체를 위해 정지하고, 객체를 분류하는 데 있어서 원격 조작자의 도움을 기다릴 수 있다.
5. AV 시스템의 모션 계획 프로세스로부터의 데이터(485). 예를 들어, 모션 계획 프로세스가 특정 시간량 동안 목표까지의 실현가능한 궤적을 찾지 못했을 수 있다. 원격 조작자는 AV 시스템을 목표까지 전진시키기 위해 궤적을 수동으로 할당할 수 있다.
6. AV 시스템의 제어 프로세스로부터의 데이터(486). 예를 들어, AV 시스템의 컨트롤러는 AV 시스템을 구동가능하지 않게 하는 실패를 경험했을 수 있다. 원격 조작자는 긴급 서비스 제공자에게 AV를 견인하도록 통지할 수 있다.
7. 정부 기관으로부터의 데이터. 예를 들어, 경찰서로부터의 데이터는 도로 구간이 폐쇄되어 있음을 보여줄 수 있다.
8. 데이터 상의 불일치. 예를 들어, 인지된 도로 구간이 지도에 의해 제공된 정보와 다르다.
원격 조작 이벤트 핸들링 프로세스. 도 4a를 다시 참조하면, 원격 조작 이벤트 핸들링 프로세스(430)는 원격 조작 이벤트(422)를 수신한 후, 원격 조작 이벤트(422) 또는 시스템 정보 및 데이터(412) 또는 둘 다를 사용하여, 원격 조작 요청(434)에 포함될 수 있는 중요한 특징들(예를 들어, 안전, 오작동)을 도출할 수 있다. 중요한 특징들의 예들은 다음과 같다.
1. 이진 측정값(예를 들어, 기능하는지 기능하지 않는지를 나타냄), 카테고리 측정값, 또는 수치 스케일, 또는 이들의 조합일 수 있는, AV 시스템(410)의 하드웨어 컴포넌트 또는 소프트웨어 프로세스의 현재 작동 상태.
2. 원격 조작들이 요청되고 있거나 원격 조작들 하에서 핸들링되고 있거나 둘 다인 원격 조작 이벤트들의 목록을 포함하는 활성 원격 조작 이벤트들. 예를 들어, AV 시스템(410)의 모션 계획 프로세스는 목표까지의 실현가능한 궤적을 찾지 못할 수 있고, 제1 원격 조작 이벤트가 생성되었다. 그 요청에 응답하여 원격 조작자로부터의 원격 조작을 기다리는 동안, AV 시스템은 구급차가 오는 것을 인지할 수 있고, AV 시스템에게 구급차에게 양보하는 방법을 안내하기 위해 원격 조작자에게 제2 원격 조작 요청을 트리거하는 제2 원격 조작 이벤트가 발생된다. 제1 및 제2 원격 조작 이벤트는 활성 원격 조작 이벤트들(436)의 목록에 배치될 수 있다. 제1 및 제2 원격 조작 이벤트는 유사한 원인, 즉 모션 계획 프로세스의 실패를 공유하므로 통합될 수 있다. 즉, 둘 이상의 원격 조작 이벤트(422)가 생성될 때, 원격 조작 이벤트 핸들링 프로세스(430)는 원격 조작 이벤트들(422) 중 일부를 통합할 수 있다. 통합의 장점은 원격 조작자(470)가 유사한 원격 조작 이벤트들을 함께 핸들링하게 하는 것이다.
3. AV 시스템(410) 근처의 환경에 관한 인지된 데이터, 예를 들어 인지 프로세스에 의해 인지된 장애물들, 또는 카메라로부터의 비디오 스트림들.
원격 조작 이벤트 핸들링 프로세스(430)는 폴백 요청(432)을 생성할 수 있고, 그것을 원격 조작 커맨드 핸들링 프로세스(440)에 송신할 수 있다. 폴백 요청(432)은 AV 시스템(410)이 하나 이상의 원격 조작(452)을 기다리는 동안 원격 조작 이벤트들(422)에 응답하여 구현하기 위한 하나 이상의 폴백 작동을 지정한다. 폴백 작동들의 예들은 다음과 같이 설명된다.
1. AV 시스템은 완전 자율 주행 모드로 남아있을 수 있고, 또는 개인이 반-자율 주행 모드에서 도움을 주거나 완전 수동 주행 모드(즉, 활성인 자율 주행 능력이 없는 것)에서 주행을 인계할 것을 허용하거나 요청할 수 있다.
2. AV 시스템은 공칭(예를 들어, 전류) 속도를 유지하거나 주행 속도를 감소시킬 수 있다.
3. AV 시스템은 목표를 향해 현재 궤적을 계속 따라갈 수 있다. 일부 경우들에서, AV 시스템은 자신의 현재 위치로부터 안전 정지 위치(예를 들어, 주차장, 도로 측면의 빈 공간, 비상 차선, 갓길, 녹지 공간, 및 AV 서비스 센터)까지의 새로운 궤적을 계획할 수 있다. AV 시스템은 교통 체증 또는 사고 또는 객체(예를 들어, 다른 차량 또는 보행자)를 치는 것을 피하기 위해 멈추는 능력으로 새로운 궤적을 따라 AV를 기동(maneuver)할 수 있다. (그러한 조종에 관한 추가 정보는 2017년 4월 3일자로 출원된 미국 특허 출원 제15/477,833호에서 발견되며, 여기에 참조로 통합된다.)
4. AV 시스템은 백업 시스템을 호출할 수 있다. 예를 들어, 셀룰러 통신 시스템은 고장일 수 있고, 그러면 위성 통신 시스템이 호출될 수 있으며; 고해상도 센서가 오작동할 수 있고 저해상도 센서가 호출될 수 있고, 여기서 센서는 레이더, LIDAR, 카메라 또는 비디오 레코더를 포함할 수 있으며; 원격 데이터베이스(예를 들어, 지도 데이터)는 실시간으로 액세스할 수 없게 되고, 차량용 데이터베이스가 그 목적을 위해 호출될 수 있다.
5. AV 시스템은 과거 조건(예를 들어, 지리적 지역, 낮 시간, 저녁 시간 및 피크 시간)에서 훈련된 주행 모델을 새로운 조건에 적용할 수 있다. 예를 들어, 마을 A에서의 환경에 기초하여 생성된 주행 모델이 마을 B에서의 주행에 적용될 수 있고; 낮 시간에 기초하여 생성된 주행 모델은 저녁 또는 야간 주행에 적용될 수 있다.
6. AV 시스템은 특정 이동 선호도들을 수행하도록 허용되지 않을 수 있다. 예를 들어, 폴백 작동은 AV 시스템이 다른 차량을 추월하는 것을 허용하지 않을 수 있다.
일부 구현예들에서, 폴백 요청(432)은 예를 들어, 현재 계획된 궤적을 자율적으로 계속하여 횡단하는 것; AV 서비스 센터로 목표를 변경하고 자율 주행에 기초하여 새로운 목표까지의 궤적을 재계획하는 것; 더 느린 속도로 현재 궤적을 자율적으로 따르는 것; 정지하기에 안전한 가장 가까운 위치에서 정지하도록 궤적을 재계획하는 것; 또는 정지할 때까지 자율적으로 감속하는 것 중 하나 이상(그리고, 여러 다양한 다른 액션들 및 동작들, 및 그것들의 조합들)을 지정할 수 있다.
각각의 폴백 작동은 2가지 주요 속성, 즉 하나 이상의 요구되는 시스템 프로세스(예를 들어, 최소 요구되는 온보드 프로세스들) 및 폴백 작동의 비용(예를 들어, 계산된 비용)을 가질 수 있다. 시스템 프로세스들의 예들은 기동, 데이터 통신들, 데이터베이스 액세스, 모션 계획, 인지 또는 감지, 또는 이들의 조합을 포함한다. 비용은 폴백 작동이 공칭 자율 주행 모드로부터 얼마나 많이 벗어나는지를 표현한다. 예를 들어, 고장 없는 AV 시스템은 공칭 속도(예를 들어, 40mph)로 주행할 수 있고; 고장 프로세스가 발생할 때, 감소된 속도(예를 들어, 20mph)로 현재 계획된 궤적을 자율적으로 계속하여 횡단하기 위한 폴백 요청은 모션 계획 프로세스를 호출할 필요는 없을 수 있지만, AV 시스템이 객체를 치는 것을 피할 수 있도록 적어도 인지 및 감지 프로세스들을 요구할 수 있다. 이러한 예의 비용은 전형적으로 동일한 도로에서 주행하는 AV 시스템의 공칭 속도로부터 속도가 얼마나 많이 감소되는지, 및 모션 계획 프로세스를 호출하지 않고서 인지 및 감지 프로세스들을 실행할 때 AV 시스템이 얼마나 많은 인지 정확도를 희생시킬지를 포함할 수 있다.
폴백 작동의 비용은 예를 들어 AV 시스템의 폴백 작동, 원격 조작 이벤트, 및 현재 작동 상태의 함수로서 설명될 수 있다. 폴백 요청이 둘 이상의 폴백 작동을 지정할 때, 개별 폴백 작동들의 비용들이 추가되거나 가중 합산된다. 하나 이상의 적절한 폴백 작동의 선택은 우선순위에 기초할 수 있다. 일부 구현예들은 선택의 계층구조를 결정하기 위해 결정 트리를 이용할 수 있다. 일부 구현예들에서, 폴백 요청에 포함될 하나 이상의 적절한 폴백 작동의 선택은 조합 최적화 문제를 해결하는 것에 기초할 수 있다. 선택의 일부 구현예들은 머신 학습 접근법에 기초할 수 있고, 여기서 최상의 폴백 작동 또는 폴백 작동들의 최적 세트가 데이터베이스로부터 추론된다. 데이터베이스는 다양한 원격 조작 이벤트들에서의 과거 선택들을 포함할 수 있다.
원격 조작 이벤트를 수신할 때, 원격 조작 이벤트 핸들링 프로세스(430)는 그 선택을 행하기 위한 폴백 작동들의 목록을 초기화할 수 있고, 요구되는 시스템 프로세스들을 호출할 수 없거나 비용이 임계값을 초과하거나 둘 다인 폴백 작동을 제거할 수 있다. 둘 이상의 폴백 작동이 목록에 남아 있을 때, 가장 적은 비용을 갖는 것이 선택될 수 있다. 예를 들어, AV 시스템이 안전한 정지 장소까지의 새로운 궤적을 횡단하는 제1 폴백 작동은 감지, 인지, 모션 계획 및 조작의 프로세스가 기능할 것을 요구할 수 있다. AV 시스템이 기존 궤적을 따라 정지하기까지 감속하기를 즉시 시작하는 제2 폴백 작동은 조작 프로세스가 작동할 것을 요구할 수 있다. 2개의 폴백 작동의 모든 요구되는 프로세스가 기능 상태로 유지되는 경우, 어느 폴백 작동이 실행되어야 할지를 결정하기 위해 그것들의 비용이 비교된다. AV 시스템의 모션 계획 프로세스가 기능하지 않는 경우, 제1 폴백 작동이 실현불가능하므로, 제2 폴백 작동이 선택될 것이다.
원격 조작 이벤트 핸들링 프로세스(430)는 원격 조작 요청(434)을 원격 조작 서버(420)에 송신할 수 있다. 원격 조작 요청(434)이 원격 조작 서버(450)에 도달할 때, 서버는 원격 조작 요청(434)을 큐(451)에 배치하여, 이용가능한 인간 원격 조작자(470)를 할당할 수 있다. 할당된 원격 조작자(470)가 이용가능해지면, 원격 조작 요청(434)은 원격 조작 인터페이스(460) 상에서 원격 조작자(470)에게 제시된다. 원격 조작 요청들(434)에 원격 조작자들(470)을 할당하는 것은 시간(예를 들어, 피크 또는 피크가 아닌 시간, 계절, 낮 시간, 및 밤 시간), 차량에 대한 지식 또는 경험(예를 들어, 차량 제조사 및 모델), 또는 차량의 주변 환경(예를 들어, 국가, 주, 도시, 마을, 거리 및 랜드마크)에 대한 지식 또는 경험, 및 사용될 언어(예를 들어, 원격 조작자와 AV 시스템의 사용자 사이에서 구두 통신이 사용될 수 있고, 일련의 텍스트가 AV 시스템 사용자에게 제시될 수 있음) 중 하나 이상에 기초할 수 있다.
원격 조작 요청(434)은: AV 시스템 고장 또는 다른 조건에 관한 관련 정보, AV 시스템 정보 및 데이터(412), 원격 조작 이벤트(422), 중요한 특징들, 현재 활성인 원격 조작 이벤트들, 하나 이상의 원격 조작, 및 각각의 활성 원격 조작 이벤트에 연관된 AV 시스템의 데이터 중 하나 이상을 포함할 수 있다.
원격 조작 이벤트 핸들링 프로세스(430)는 클라이언트 상에서 또는 서버(450) 상에서 또는 둘 다에서 잠재적 원격 조작들의 목록을 초기화할 수 있다. 각각의 잠재적 원격 조작은 하나 이상의(예를 들어, 요구되는) 하드웨어 컴포넌트 또는 소프트웨어 프로세스 또는 둘 다에 연관된다. 충족되지 않은 요건들을 갖는 잠재적 원격 조작들은 목록으로부터 제거될 수 있다. 예를 들어, 원격 조작 서버(450) 상에서, 원격 조작자(470)는 원격 조작 시스템을 통해 AV 시스템(410)과 원격 상호작용할 수 있고, 새로운 궤적을 포함하는 원격 조작 커맨드(452)를 발행할 수 있으며, 이는 AV 시스템(410)이 임의의 객체를 치지 않고 지정된 궤적을 따라 주행할 수 있도록 기동 프로세스 및 인지 프로세스가 작동될 것을 요구할 수 있다. 목록 상의 나머지 잠재적인 원격 조작들은 원격 조작자(470)가 현재 활성 원격 조작 이벤트들과 관련하여 AV 시스템(410)과 얼마나 쉽게 원격 상호작용할 수 있는지에 기초하여 순위가 매겨질 수 있다. 더 많은 활성 원격 조작 이벤트를 처리할 수 있는 원격 상호작용이 더 높은 순위를 가질 수 있다.
원격 조작자(470)는 인터페이스(460) 상의 정보를 검토할 수 있고 하나 이상의 원격 조작 커맨드(452)를 발행할 수 있다. 원격 조작 커맨드(452)는 하나 이상의 레벨로 표현될 수 있다. 예를 들어, 하이레벨 커맨드는 예를 들어 "우회전, 직진, 그리고 U턴을 합니다"와 같이, 발화된 자연어로, 기재된 자연어로, 또는 둘 다로 표현될 수 있다. 중간 레벨 커맨드는 영숫자 문자열, 예를 들어, "a001, b005, a003"로 표현될 수 있고, 여기서 a001은 우회전을 표현하는 코드, b005는 직진을 표현하는 코드, a003은 u턴을 표현하는 코드이다. 로우레벨 커맨드는 머신 명령어들로서 표현될 수 있는데, 예를 들어 다음과 같다.
Figure pct00001
레벨에 상관없이, 원격 조작 커맨드(452)는 AV 시스템(410)의 거동, 또는 AV 시스템(410)에 의해 실행될 하나 이상의 단계, 또는 둘 다를 포함할 수 있다. 원격 조작 커맨드 핸들링 프로세스(440)는 원격 조작 커맨드(452)를 수신할 때, 그것을 AV 시스템을 제어 및 조작하기 위한 AV 시스템 커맨드들(442)로 변환한다.
일반적으로, AV 시스템 커맨드(442)는 예를 들어 어셈블리어 또는 로우 레벨 언어, 예를 들어 C/C++로 표현된 머신 명령어들을 포함한다. 원격 조작 커맨드(452)가 자연어와 같은 하이 레벨 언어로 표현될 때, 원격 조작 커맨드 핸들링 프로세스(440)는 원격 조작 커맨드(452)를 AV 시스템(410)에 대한 머신 명령어들로 변환할 수 있다.
원격 조작 커맨드 핸들링 프로세스. 원격 조작 커맨드 핸들링 프로세스(440)는 하나 이상의 원격 조작 이벤트(422), 원격 조작 인터페이스(460)를 통해 원격 조작자(470)에 의해 발행된 원격 조작 커맨드들(452), 또는 둘 다에 기초하여 원격 조작 이벤트 핸들링 프로세스(430)로부터의 폴백 요청들을 핸들링한다. 일부 구현예들에서, 폴백 요청(432)과 원격 조작 커맨드(452) 사이에 차이(예를 들어, 충돌)가 존재할 수 있다. 예를 들어, 폴백 요청(432)은 AV 시스템(410)에게 기존 궤적을 따라 감소된 속도로 작동할 것을 요청할 수 있지만, 동시에 원격 조작 커맨드(452)는 AV 시스템(410)에게 새로운 궤적을 따라 공칭 속도로 작동할 것을 요청할 수 있다. 따라서, 원격 조작 커맨드 핸들링 프로세스(440)는 폴백 작동과 원격 조작 사이의 전환 동안 AV 시스템(410)이 안전하게 주행할 것을 보장하기 위해 차이를 중재해야 한다.
일부 구현예들에서, 원격 조작자(470)는 원격 조작 요청(434)이 생성되지 않은 채로 원격 상호작용을 개시할 수 있다. 원격 조작자(470)는 원격 조작 커맨드 핸들링 프로세스(440)에 대한 원격 조작 커맨드(452)를 독립적으로 개시할 수 있다. 예를 들어, 기상 조건은 맑음에서 눈으로 변할 수 있고, 원격 조작자는 AV 시스템(410)에게 AV 서비스 센터로 다시 주행할 것을 요청할 수 있지만, AV 시스템 모니터링 프로세스(420)는 기상 변화에 응답하여 어떠한 원격 조작 이벤트(422)도 생성하지 않았다.
원격 조작 커맨드 핸들링 프로세스(440)는 원격 조작 인터페이스(460)를 통해 원격 조작자(470)에 의해 발행된 원격 조작 커맨드(452)를 취하고, 원격 조작 커맨드(452)를 하나 이상의 AV 시스템 커맨드(442)로 변환한다. 다음으로, AV 시스템 커맨드들(442)은 AV 시스템(410)의 대응하는 하드웨어 컴포넌트들 또는 소프트웨어 프로세스들에 송신된다.
원격 조작 서버
도 4a에서, 원격 조작 시스템(400)은 원격 조작 서버(450)를 포함하며, 이는 원격 조작자(470)가 원격 조작 시스템을 통해 AV 시스템(410)과 원격 상호작용하는 것을 허용하기 위한 인터페이스(460)를 제시할 수 있다. 원격 조작 시스템(400)은 원격 조작자(470)가 AV 시스템(410)과 상호작용하고 AV 시스템의 거동에 영향을 주는, 예를 들어 자율 주행 능력들 중 하나 이상에 영향을 주는 상이한 유형의 원격 상호작용들을 가능하게 한다.
원격 조작 서버(450)가 원격 조작 요청(434)을 수신할 때, 원격 조작 서버(450)는 원격 조작 요청(434) 및 연관된 데이터, 예컨대 시스템 고장의 관련 정보, 시스템 정보 및 데이터(412), 원격 조작 이벤트(422), 중요한 특징들, 현재 활성인 원격 조작 이벤트들, 하나 이상의 원격 조작, 또는 각각의 활성 원격 조작 이벤트에 연관된 AV 시스템들의 데이터, 또는 이들의 조합을 분석한다. 원격 조작 서버(450)는 대응하는 정보를 원격 조작자(470)에게 제시할 수 있다.
도 5는 프로세서(520)에 의해 실행되는 메모리(522) 상에 로딩된 소프트웨어를 포함할 수 있거나, 데이터 버스(510), 프로세서(520), 메모리(522), 데이터베이스(524) 및 통신 인터페이스(526) 중 하나 이상을 포함하는 하드웨어일 수 있는 원격 조작 서버(501)의 예시적인 아키텍처를 보여준다.
원격 조작 요청이 원격 조작 서버의 통신 인터페이스(526)에 도달할 때, 원격 조작 요청은 큐잉 프로세스(532)에 의해 핸들링될 수 있다. 일부 구현예들에서, 큐잉 프로세스(532)는 선입 선출 방법을 고려할 수 있다. 일부 경우들에서, 큐잉 프로세스(532)는 원격 조작 요청의 긴급성을 평가한 다음, 긴급 원격 조작 요청의 우선순위를 정할 수 있다. 긴급성의 정도는 안전에 연관될 수 있다. 예를 들어, AV 시스템이 화재에 처한 이벤트에는 매우 높은 정도의 긴급성이 주어질 수 있고, AV 시스템이 안전한 장소에 주차된 경우에 타이어의 공기가 빠지는 것에는 낮은 정도의 긴급성이 주어질 수 있다.
원격 조작 요청의 우선순위를 정하는 것은 기존의 원격 조작 요청들의 계층구조를 결정하기 위해 결정 트리를 이용할 수 있다. 일부 구현예들에서, 우선 순위 결정은 조합 최적화 문제를 해결하는 것에 기초할 수 있다. 우선순위 결정의 일부 구현예들은 데이터베이스를 분석하는 머신 학습 접근법에 기초할 수 있고; 데이터베이스는 과거의 원격 조작 요청들을 포함할 수 있다.
원격 조작 서버(501)는 원격 조작자가 원격 상호작용 세션을 수행하기 위한 컨텐츠를 렌더링하는 인터페이스 관리자(534)를 포함할 수 있다. 원격 조작자는 궤적 계획에 대한 원격 상호작용을 수행할 수 있으며, 여기서 하나 이상의 궤적 프리미티브는 프리미티브 조절 프로세스(536)에 기초하여 사용된다(세부사항들은 이하에 설명됨). 원격 조작자는 관련 정보를 검토할 때, 원격 조작 커맨드를 발행할 수 있다. 원격 조작 서버는 원격 조작 클라이언트의 원격 조작 커맨드 핸들링 프로세스에 커맨드를 통신하기 위한 원격 조작 커맨드 발행자(538)를 포함할 수 있다. 일부 구현예들에서, 원격 조작 커맨드 발행자(538)는 원격 조작 커맨드를 적합한 머신 명령어들, 예를 들어 영숫자 문자열 또는 컴퓨터 코드로 변환할 수 있다.
원격 조작자와 AV 시스템 사이의 원격 상호작용은 인터페이스 장치에 의존할 수 있다. 예를 들어, 도 6은 원격 조작자가 어떤 정보[예를 들어, 인지(612), 모션 계획(614) 또는 AV 시스템 상호작용(616), 또는 이들의 조합]가 디스플레이될지를 선택할 수 있는 장치(600)를 도시한다. 이 예에서, 원격 조작자는 인지 정보(612)를 선택할 수 있고, 인터페이스(610)는 AV 시스템으로부터의 비전 센서의 시야를 보여줄 수 있다. 일부 경우들에서, 인터페이스(650)는 비전 센서의 조감도 뷰를 보여줄 수 있다. 일부 구현예들은 시야 및 조감도 뷰 둘 다를 포함할 수 있다. 시야 또는 조감도 뷰는 현재 순간에 AV 시스템이 경험하는 뷰, 과거 시간에서의 스냅 샷, 또는 둘 다일 수 있다. 인지 정보는 지도 정보를 포함할 수 있다. 인지 정보는 2D 또는 3D 뷰를 보여주는 이미지 또는 비디오일 수 있다. 비디오가 제시될 때, 인터페이스들(610 및 650)은 원격 조작자가 비디오를 제어하는 것을 허용하기 위한 내비게이션 바(618)를 포함할 수 있다. 일부 구현예들에서, 인지 정보는 처리된 데이터; 예를 들어, 이미지들에 대한 분할, 비전 데이터 내의 인지된 객체들, 비전 데이터 내에서 검출되었지만 인식할 수 없는 객체들을 포함할 수 있다.
예를 들어, 도 7은 원격 조작자가 인터페이스(710) 상에 디스플레이될 모션 계획 정보(712)를 선택한 장치(700)를 도시한다. 일부 구현예들에서, 인터페이스(710)는 지도, AV의 궤적, AV의 지오로케이션, 또는 AV의 배향, 또는 이들의 조합을 보여줄 수 있다. 궤적은 현재 순간에서의 AV의 현재 궤적(730), 또는 과거 시간에서의 스냅 샷, 또는 이들의 조합일 수 있다. 인지 정보는 2D 또는 3D 뷰를 보여주는 이미지 또는 비디오로 보여질 수 있다. 비디오가 제시될 때, 인터페이스들(710 및 750)은 각각 내비게이션 바(720 및 722)를 포함할 수 있다. 예를 들어, 인터페이스(710)는 현재 궤적(730)을 보여주지만, 원격 조작자는 내비게이션 바(720)를 인터페이스(750)에 보여진 과거 시점(722)으로 이동시킴으로써 궤적의 디스플레이를 되감을 수 있다.
도 2a를 참조하면, 원격 조작 요청에 연관된 원격 조작 데이터는 AV 시스템에 의해 원격 데이터베이스(226)에 저장될 수 있고, 원격 조작 서버(210)는 데이터베이스(226)로부터 원격 조작 데이터를 검색한다. 일부 구현예들에서, 원격 조작 데이터는 AV 시스템에 의해 원격 조작 요청과 함께 원격 조작 서버에 전송될 수 있다.
AV 시스템과의 원격 상호작용. 원격 조작 서버는 원격 조작자가 AV 시스템의 하드웨어 컴포넌트 또는 소프트웨어 프로세스, 예를 들어 하나 이상의 자율 주행 능력과 상호작용하는 것을 가능하게 할 수 있다. 상이한 유형의 원격 상호작용들이 허용된다. 예를 들어, 위치측정(localization)에 대한 원격 상호작용은 온보드 위치측정 프로세스가 실패할 때 AV 시스템이 AV 시스템의 위치를 식별하는 것을 돕고; 궤적에 대한 원격 상호작용은 AV 시스템이 새로운 궤적을 식별하거나 기존 궤적을 업데이트하는 것을 돕고; 주석에 대한 원격 상호작용은 AV 시스템이 인지된 객체를 인식하는 것을 돕는다. 다른 많은 예들이 존재한다.
위치측정에 대한 원격 상호작용. AV 시스템 상의 위치측정 컴포넌트(즉, AV의 지오로케이션을 결정하는 프로세스)가 실패하면, 실패한 위치측정에 대한 원격 조작 이벤트가 발생된다. 원격 조작자는 AV 시스템의 위치측정과 관련하여 원격 상호작용을 호출할 수 있으며, 이는 AV 시스템이 자신을 재-위치측정하도록 안내한다. 예를 들어, 도 8은 AV 시스템이 자신의 위치측정을 할 수 없고 원격 조작 요청이 원격 조작자에게 송신되는 시나리오를 도시한다. 원격 조작 서버는 원격 조작자에게 인터페이스(810)를 제시하고, 원격 조작자가 AV 시스템 원격 상호작용(812)을 활성화하는 것을 허용한다. 원격 조작 요청은 AV 시스템 근처의 환경에 관한 인지 데이터와 함께 전송될 수 있고, 인터페이스(810)는 시야(814)를 디스플레이한다. 원격 조작자는 환경 및 지도 데이터를 검토할 수 있고, 지도 데이터 상에서 AV 시스템의 위치를 결정할 수 있다. 인터페이스(810)는 원격 상호작용 동안 인터페이스(850)로 변경될 수 있고, 지도 데이터 상에 조감도 뷰(854)를 보여줄 수 있으며, 원격 조작자는 AV 시스템의 위치를 스팟(852)에 배치할 수 있다.
스팟(852)의 위치를 식별하는 정보는 원격 조작 커맨드 내에서 AV 시스템으로 다시 전송된다. 일부 구현예들에서, 원격 조작자에 의해 식별된 스팟(852)은 원격 조작 커맨드 핸들링 프로세스에 의해 결정론적 커맨드(deterministic command)로서 취급될 수 있다. 따라서, 모션 계획 프로세스는 시작 위치로서 고려되는 스팟(852)에서 재개될 수 있고, 원래 목표를 향한 최적의 궤적을 검색할 수 있다.
일부 구현예들에서, 스팟(852)은 비-결정론적 위치로서 취급될 수 있고, 원격 조작 커맨드 핸들링 프로세스는 지도 데이터 상의 진정한 지오로케이션을 식별하기 위해 확률론적 추론을 사용할 수 있다. 예를 들어, 스팟(852)은 사전 지식으로서 고려될 수 있고, AV 시스템의 진정한 지오로케이션을 추론하기 위해 사전 지식에 대한 조건부 확률이 계산될 수 있다. 일부 경우들에서, 조건부 확률은 과거 또는 현재 또는 둘 다의 인지 데이터, 과거 또는 현재 또는 둘 다의 궤적 데이터, 지도 데이터, 온보드 센서로부터의 감지 데이터, 오프보드 센서로부터의 감지 데이터, 외부 데이터 소스로부터의 데이터 중 하나 이상을 포함하는 다른 정보를 고려할 수 있다.
모션 계획에 대한 원격 상호작용. AV 시스템에 대한 모션 계획 프로세스가 실패하면, 실패한 모션 계획 프로세스에 대한 원격 조작 이벤트가 생성될 수 있다. 원격 조작자는 AV 시스템에 대한 모션 계획을 위해 원격 상호작용을 호출할 수 있으며, 이는 AV 시스템이 궤적을 식별하도록 안내한다.
예를 들어, 도 9는 AV 시스템이 적절한 궤적을 식별할 수 없고 원격 조작 요청이 원격 조작자에게 송신되는 시나리오를 도시한다. 원격 조작 서버는 원격 조작자에게 인터페이스(910)를 제시하고, 원격 조작자가 AV 시스템 원격 상호작용(912)을 활성화하는 것을 허용한다. 원격 조작 요청은 예를 들어 AV의 지오로케이션 또는 지도 데이터 또는 둘 다와 함께 전송되었다. 일부 응용들에서, AV 시스템 근처의 환경에 관한 데이터는 원격 조작 요청과 함께 전송될 수 있다.
인터페이스(910)는 AV(930) 주위의 지도 및 목표(932)를 디스플레이할 수 있다. 원격 조작자는 연관된 데이터를 검토할 수 있고, 지도 상에서 AV 시스템(930)에 대한 새로운 궤적을 결정할(예를 들어, 그릴) 수 있다. 인터페이스(910)는 원격 상호작용 세션 동안 다른 인터페이스(950)로 전환할 수 있고, 지도 데이터 상에 새로운 궤적(952)을 보여줄 수 있다. 원격 조작 커맨드는 새로운 궤적을 포함할 수 있고, AV 시스템 상의 원격 조작 커맨드 핸들링 프로세스에 송신될 수 있다.
일부 구현예들에서, 원격 조작자는 가능한 궤적의 하나 이상의 시드(920)를 제공하고, 새로운 궤적(952)이 인터페이스(950) 상에 생성된다. 시드는 점 또는 궤적 세그먼트일 수 있다. 원격 조작 커맨드는 하나 이상의 시드, 새로운 궤적, 또는 둘 다를 포함할 수 있고, AV 시스템 상의 원격 조작 커맨드 핸들링 프로세스에 송신될 수 있다.
원격 상호작용 세션에서, 원격 조작자는 AV 시스템의 모션 계획 프로세스와 상호작용할 수 있다. 원격 조작자는 다음 중 하나 이상을 수행할 수 있다:
● 새로운 목표를 발행. 다음으로, 모션 계획 프로세스는 지도 데이터를 사용하여 도로망을 통해 AV의 현재 위치로부터 새로운 목표까지의 궤적을 구성한다.
● 순차적으로 횡단될 일련의 목표들을 발행. 예를 들어, 도 10은 원격 조작자가 원격 상호작용 세션에서 목표들(1010, 1020, 1030 및 1040)을 지정했음을 도시한다. 다음으로, AV 시스템의 모션 계획 프로세스는 그것의 현재 위치로부터 시작하여 일련의 목표들을 순차적으로 통과하는 구간들(1012, 1022, 1032 및 1042)로 궤적을 구성한다.
● 도로망의 하나 이상의 세그먼트를 횡단불가능한 것으로 지정. 예를 들어, 모션 계획 프로세스는 다음으로 현재 궤적을 점검하고, 현재 궤적이 도로망의 임의의 횡단불가능한 구간을 횡단하는지를 점검할 수 있다. 그렇다면, 궤적은 횡단불가능한 구간들을 피하도록 재계획된다. 예를 들어, 지정하는 것은 예를 들어 지도상의 주석들을 편집하거나 새로운 도로 구간을 그리거나 둘 다를 함으로써 지도에 통합될 수 있다.
● 이동 선호도 또는 이동 규칙을 오버라이트. 일부 구현예들에서, 일부 이벤트들은 AV 시스템이 자신의 이동 선호도들 또는 이동 규칙들을 계속 실행하는 경우, AV 시스템이 정지하게 할 수 있고, 원격 조작자는 이동 선호도 또는 이동 규칙들을 오버라이트하기 위해 원격 조작 커맨드를 발행할 수 있다. 예를 들어, AV 시스템이 주행 중인 도로에서 발생하는 통상적이지 않은 이벤트(예를 들어, 화재, 시위, 구급차, 건설, 우회 또는 마라톤)가 있을 수 있으며, 원격 조작자는 AV 시스템에게 차선 변경을 실행하여 반대 차선을 주행함으로써 통상적이지 않은 이벤트를 통과할 것을 명령할 수 있다. 예를 들어, 도로를 막는 객체(예를 들어, 비치 볼)가 있을 수 있지만, AV 시스템은 객체가 무엇인지를 인식할 수 없고, 객체를 치지 않고 정지해 있기로 결정할 수 있으며; 원격 조작자는 원격 조작 시스템이 호출될 수 있고, 원격 조작 시스템을 통해 객체를 본 후, AV 시스템이 계속 주행하도록 하기 위해 객체를 치는 커맨드를 발행할 수 있다.
일부 구현예들에서, 원격 상호작용은 이하의 요소들 중 하나 이상을 지정할 수 있다. 지정은 원격 조작자에 의해 결정되거나, 계산적으로 도출되거나, 둘 다일 수 있다.
● AV 시스템의 위치(배향을 포함함). 일부 경우들에서, 위치들의 시퀀스가 기술되고, 2개의 연속 위치 사이의 전이가 추가될 수 있다.
● 궤적 세그먼트 또는 전체 궤적에서의 AV 시스템의 선호 속도를 설명하는 속도 프로파일. 선호 속도는 단일 값, 상한, 하한, 또는 범위, 또는 이들의 조합으로서 지정될 수 있다.
● 궤적 세그먼트 또는 전체 궤적의 속성들. 속성들의 예들은 AV 시스템에 의해 고려될, 추적 에러, 신뢰 구간, AV 시스템의 모션 계획 프로세스에 의해 수정되는 것에 대한 허용 또는 불허, 및 추가 데이터(예를 들어, 업데이트된 소프트웨어 프로세스, 소프트웨어 패치, 원격 데이터베이스, 지도 상의 영역, 업데이트된 지도, 기반구조의 센서, 우회 정보, 화재 보고, 도로망의 이벤트들, 및 정부 기관의 데이터 소스) 중 하나 이상을 포함한다.
궤적 상에서의 원격 상호작용을 위한 인터페이스는 원격 조작자가 궤적을 생성 또는 조작하도록 궤적 프리미티브들에 의존할 수 있다. 도 11을 참조하면, 인터페이스는 몇몇 예를 들자면, 하나 이상의 궤적 프리미티브: 좌회전(1101), 좌측으로 차선 변경(1102), 직진(1103), 후진, 우측으로 차선 변경(1104), 우회전(1105), 좌측으로 U턴, 우측으로 U턴, 평행 주차 또는 주차 해제(unparking), 수직 주차 또는 주차 해제, 또는 이들의 조합을 보여줄 수 있다. 원격 조작자는 궤적을 생성하거나 조작하기 위해 하나 이상의 궤적 프리미티브를 선택할 수 있다. 예를 들어, 인터페이스(1100)를 통해, 궤적은 우측으로 차선 변경(1122), 직진(1124), 우회전(1126), 및 직진(1128)의 프리미티브들로부터 조립될 수 있다.
프리미티브는 원격 조작자에 의해 조절될 수 있는 파라미터들의 세트를 가질 수 있다. 파라미터들의 예들은 세그먼트 길이, 프리미티브를 입력할 때의 AV 시스템의 속도, 프리미티브를 따라 주행하는 AV 시스템의 속도, 프리미티브의 끝에 도달할 때의 AV의 속도, 차선 변경의 허용 또는 금지, 회전 반경(예를 들어, 좌회전, 우회전 및 U턴), 회전의 시작과 끝에서의 위치(배향을 포함함)의 차이, 프리미티브의 횡단 동안의 AV의 최대 허용가능한 요 회전율(maximum allowable yaw rotation rate), 및 프리미티브의 종료 위치 중 하나 이상을 포함할 수 있다.
도 5를 참조하면, 원격 조작 서버(501)는 프리미티브들에 걸쳐 파라미터들을 핸들링하기 위한 프리미티브 조절 프로세스(536)를 포함할 수 있다. 특정 파라미터가 원격 조작자에 의해 설정될 때, 프리미티브 조절 프로세스(536)는 다른 파라미터들이 현재 조절과 호환가능하도록 자동으로 수정될 것을 보장할 수 있다. 예를 들어, 최대 허용가능한 요 회전율이 원격 조작자에 의해 구성되고 있을 때, 프리미티브 조절 프로세스는 최대 허용가능한 요 회전율이 초과되지 않을 것을 보장하기 위해 프리미티브의 진입 및 종료 속도를 자동으로 수정할 수 있다. 일부 경우들에서, 2개의 연결된 프리미티브의 속도들은 상이할 수 있는데, 예를 들어 제1 프리미티브는 60mph로 설정될 수 있고, 제2 프리미티브는 35mph로 설정될 수 있으며; 60mph로부터 35mph로의 즉각적인 속도 감소는 AV에 대해 불가능하기 때문에, 프리미티브 조절 프로세스는 2개의 프리미티브에 걸친 속도들을 계산적으로 평활화할 수 있다.
일부 구현예들에서, 제1 프리미티브가 원격 조작자에 의해 선택되고 설정된 후, 프리미티브 조절 프로세스(536)는 제1 프리미티브와 연결될 수 있는 실현가능한 프리미티브들의 옵션들을 추천할 수 있다. 제2 프리미티브가 제1 프리미티브와 연결되는 것으로 결정되면, 제2 프리미티브의 디폴트 파라미터 값들은 프리미티브 조절 프로세스(536)에 의해 자동으로 추론되어, 연결된 프리미티브들에 걸친 호환성(예를 들어, 속도, 위치 및 회전)을 보장할 수 있다.
프리미티브 조절 프로세스(536)는 지도 데이터와 같은 다른 데이터 소스들을 이용하여 파라미터들의 디폴트 값들을 적절하게 설정할 수 있다. 예를 들어, 프리미티브의 진입 또는 출구 속도는 AV 시스템이 있는 도로의 속도 제한에 따라 설정될 수 있으며; 차선 변경 기동의 기본 측방향 오프셋은 AV가 현재 주행 중인 차선의 폭에 따라 자동으로 설정될 수 있다.
도 5를 참조하면, 원격 조작 서버(501)는 원격 상호작용 세션에 의해 생성된 원격 조작 커맨드들을 핸들링하기 위한 원격 조작 커맨드 발행자(538)를 포함할 수 있다. 원격 조작 커맨드 발행자(538)는 원격 조작 커맨드를 적절한 머신 명령어들, 예를 들어 영숫자 문자열 또는 컴퓨터 코드로 변환할 수 있다. 원격 상호작용 세션에 의해 생성된 원격 조작 커맨드는 세션 동안 발생하는 임의의 원격 상호작용 활동들을 포함할 수 있다. 도 4a를 참조하면, AV 시스템(410) 내의 원격 조작 커맨드 핸들링 프로세스(440)가 원격 조작 커맨드(452)를 수신할 때, 원격 조작 커맨드 핸들링 프로세스(440)는 원격 조작 커맨드를 생성, 편집 및 작용할 수 있다. 일부 경우들에서, 원격 조작 커맨드(452)는 궤적을 포함할 수 있고, 원격 조작 커맨드 핸들링 프로세스는 궤적을 결정론적 또는 비결정론적 또는 둘 다로서 취급한 다음, 궤적을 실행할 수 있다. 원격 조작 커맨드 핸들링 프로세스(440)가 궤적(또는 궤적의 일부)을 비결정론적으로 취급할 때, 궤적(또는 궤적의 일부)을 편집하는 것은 과거 또는 현재 또는 둘 다의 인지 데이터, 과거 또는 현재 또는 둘 다의 궤적 데이터, 지도 데이터, 온보드 센서로부터의 감지 데이터, 오프보드 센서로부터의 감지 데이터, 및 외부 데이터 소스로부터의 데이터 중 하나 이상을 포함하는 다른 정보를 고려한 확률론적 추론에 기초할 수 있다.
일부 구현예들에서, 원격 조작 커맨드 핸들링 프로세스(440)는 누락 정보를 추론할 수 있다. 예를 들어, 2개의 장소에서의 한 쌍의 위치(배향을 포함함)는 원격 조작 커맨드(452)에 의해 지정되었을 수 있지만, 한 위치로부터 다른 위치로의 연결 궤적은 원격 조작 커맨드에서 누락될 수 있다. 원격 조작 커맨드 핸들링 프로세스(440)는 그 자체로, 또는 모션 계획 프로세스를 호출함으로써, 한 위치로부터 다른 위치로의 실현가능한 연결 궤적을 생성한다. 누락된 궤적을 추론하는 것은, 예를 들어, 2개의 위치 사이의 위치 차이를 평활한 궤적으로 변환하는 규칙 기반 시스템을 사용하여 수행될 수 있다. 누락된 궤적을 추론하는 것은 변수들이 주어진 위치 쌍 사이의 중간 위치들인 최적화 문제로서 만들어질 수 있으며, 비용 함수는 중간 위치들 사이의 위치 차이들로서 정의될 수 있고; 예를 들어, 비용 함수는 위치 차이들의 제곱들의 합일 수 있다. 비용 함수를 최소화하면 최적의 궤적이 야기될 것이고, 이는 결과적인 전환이 주행 배향들에서 평활하고 점진적인 변화들을 보일 것을 보장할 것이다.
일부 구현예들에서, 원격 조작 커맨드(452)는 속도 프로파일 없이 궤적을 포함할 수 있고, 원격 조작 커맨드 핸들링 프로세스(440)는 그 자체로, 또는 모션 계획 프로세스를 호출함으로써, 인지 프로세스들로부터의 다른 객체들(예를 들어, 차량들 및 보행자들)의 위치들 및 속도들, 또는 지도로부터의 도로 정보와 같은, 다른 데이터 소스들로부터의 데이터를 고려하는 것에 의해, 궤적의 안전한 횡단을 유도하는 속도 프로파일을 생성할 수 있다. 속도 프로파일은 동적 프로그래밍에 의해 도출될 수 있고, 여기서 속도 제약들은 안전 및 편의 제약들에 따라 궤적의 끝으로부터 시작으로 역방향 전파된다.
하드웨어 컴포넌트들 또는 소프트웨어 프로세스들 상에서의 원격 상호작용. 원격 조작 요청이 원격 조작 서버에 도착하면, 원격 조작자는 AV 시스템의 하드웨어 컴포넌트들 또는 소프트웨어 프로세스들(예를 들어, 자율 주행 능력들)에 대한 원격 상호작용을 호출할 수 있다. 예를 들어, 도 12는 원격 조작 서버가 원격 조작자에게 인터페이스(1200)를 제시하고, 원격 조작자가 AV 시스템의 하드웨어 컴포넌트들 또는 소프트웨어 프로세스들(예를 들어, 자율 주행 능력들)을 원격으로 핸들링하기 위해 AV 시스템 원격 상호작용을 활성화하는 것을 허용하는 시나리오를 도시한다. 원격 조작자는 프로세스[예를 들어, 모션 계획 프로세스(1202) 또는 인지 프로세스(1204)]를 선택한 다음, 프로세스를 비활성화 또는 활성화할 수 있다. 일부 경우들에서, 인터페이스(1200)는 원격 조작자가 프로세스의 기능들을 편집하는 것을 허용할 수 있다. 일부 경우들에서, 인터페이스(1200)는 원격 조작자가 온보드 데이터베이스(1206)에서 데이터 엔트리들을 보거나, 생성하거나, 변경하거나, 편집하거나, 삭제하거나, 가져오거나, 내보내는 것을 허용할 수 있다.
일부 구현예들에서, 인터페이스(1200)는 원격 조작자가 하나 이상의 내부 단계를 편집하기 위해 소프트웨어 프로세스를 줌인하거나, 하나 이상의 서브컴포넌트를 편집하기 위해 하드웨어 컴포넌트를 줌인하는 것을 허용할 수 있다. 예를 들어, 원격 조작자는 인지 프로세스(1204)를 선택할 수 있고, 내부 단계들[예를 들어, 분할(1222), 객체 검출(1224), 및 객체 인식 및 분류(1226)]가 디스플레이될 수 있다. 원격 조작자는 단계의 파라미터 또는 알고리즘을 보거나, 생성하거나, 변경하거나, 편집하거나, 삭제하거나, 활성화하거나, 비활성화하거나, 호출하거나, 무시하는 단계를 선택할 수 있다.
일부 구현예들에서, 인터페이스(1200)는 AV 시스템의 센서들[예를 들어, LIDAR(1232) 또는 비전 센서(1234)]을 디스플레이할 수 있다. 일부 경우들에서, 인터페이스(1200)는 원격 조작자가 센서들의 기능들 및 파라미터들을 보거나, 편집하거나, 활성화하거나, 비활성화하는 것을 허용할 수 있다. 일부 경우들에서, 인터페이스(1200)는 원격 조작자가 센서들로부터 취득된 데이터를 보거나, 생성하거나, 변경하거나, 편집하거나, 삭제하거나, 활성화하거나, 비활성화하거나, 호출하거나, 무시하는 것을 허용할 수 있다.
일반적으로, 일 양태에서, 방법은, 결정에 기초하여, 차량의 하나 이상의 자율 주행 능력의 작동에 대한 개입이 적절한 것으로 결정하는 단계, 개인이 개입을 위한 정보를 제공할 수 있게 하는 단계, 및 차량의 하나 이상의 자율 주행 능력의 작동에 대한 개입을 야기하는 단계를 포함할 수 있다. 개입이 적절한 것으로 결정하는 단계는 개입에 대한 요청을 수신하는 단계를 포함할 수 있다. 개입이 적절한 것으로 결정하는 단계는 차량 또는 관련 AV 시스템의 상태 또는 환경에 관한 정보를 수신하는 단계를 포함할 수 있다. 차량의 상태 또는 환경은 차량 또는 AV 시스템의 하드웨어 컴포넌트 또는 소프트웨어의 기능성을 포함할 수 있다.
일부 구현예들에서, 차량 또는 AV 시스템의 상태 또는 환경에 관한 정보는 차량 또는 AV 시스템의 하드웨어 컴포넌트 또는 소프트웨어로부터의 신호를 포함할 수 있다. 개입이 적절한 것으로 결정하는 단계는 예상되지 않은 데이터의 존재 또는 예상된 데이터의 부재를 검출하기 위해 신호를 분석하는 단계를 포함할 수 있다. 신호를 분석하는 단계는 하드웨어 컴포넌트 또는 소프트웨어에 대한 측정된 수량과 모델 추정된 수량 간의 불일치를 평가하는 단계를 포함할 수 있다. 신호를 분석하는 단계는 신호 내의 비정상 패턴을 평가하기 위해 패턴 인식을 이용하는 단계를 포함할 수 있다. 비정상 패턴은 머신 학습 알고리즘에 의해 학습된다. 신호를 분석하는 단계는 하드웨어 컴포넌트 또는 소프트웨어의 오작동을 추론하는 단계를 포함할 수 있다. 신호를 분석하는 단계는 차량 또는 관련 AV 시스템의 환경 내에 존재하는 미지의 객체를 검출하는 단계를 포함할 수 있다. 신호를 분석하는 단계는 차량 또는 관련 AV 시스템의 환경에서 발생되고 있거나 발생될 이벤트를 추론하는 단계를 포함할 수 있다.
일부 구현예들에서, 요청은 원격 조작자에 의해 무선 통신 채널을 통해 개시된 요청을 포함할 수 있다. 요청은 차량 또는 관련 AV 시스템의 상태 또는 환경에 연관된 데이터를 포함할 수 있다. 요청은 차량 또는 관련 AV 시스템의 하나 이상의 하드웨어 컴포넌트 또는 하나 이상의 소프트웨어 프로세스로부터의 하나 이상의 신호를 포함할 수 있다.
일부 구현예들에서, 결정에 기초하여, 차량의 하나 이상의 자율 주행 능력의 작동에 폴백 개입을 야기한다. 폴백 개입은 차량 또는 관련 AV 시스템이 완전 자율 주행 모드, 반-자율 주행 모드 또는 완전 수동 주행 모드로 진입하게 하는 단계를 포함할 수 있다. 폴백 개입은 차량이 감소된 속도로 작동하게 하는 단계를 포함할 수 있다. 폴백 개입은 안전 정지 위치를 식별하는 단계를 포함할 수 있다. 폴백 개입은 안전 정지 위치까지의 새로운 궤적을 생성하는 단계를 포함할 수 있다. 폴백 개입은 백업 하드웨어 컴포넌트 또는 백업 소프트웨어 프로세스를 호출하는 단계를 포함할 수 있다. 폴백 개입은 차량을 작동시키기 위해 요구되는 기능적 하드웨어 컴포넌트 또는 기능적 소프트웨어 프로세스를 평가하는 단계를 포함할 수 있다.
일부 구현예들에서, 개입이 적절한 것으로 결정하는 단계는 차량 또는 관련 AV 시스템에 연관되거나, 차량 또는 관련 AV 시스템의 환경에 연관되는 하나 이상의 활성 이벤트를 평가하는 단계를 포함할 수 있다. 하나 이상의 이벤트를 평가하는 단계는 둘 이상의 활성 이벤트를 병합하는 단계를 포함할 수 있다. 개인이 개입을 위한 정보를 제공할 수 있게 하는 단계는 개입이 적절하다는 하나 이상의 결정에 기초하여 큐를 유지하는 단계를 포함할 수 있다. 큐를 유지하는 단계는 결정 트리, 조합 최적화, 머신 알고리즘 및 과거 개입 중 하나 이상에 기초하여 개입의 우선 순위를 결정하는 단계를 포함할 수 있다.
일부 구현예들에서, 개인이 개입을 위한 정보를 제공할 수 있게 하는 단계는 개인의 이용가능성, 및 (a) 시간, (b) 차량에 대한 지식, (c) 차량의 환경에 대한 지식 또는 (d) 언어 중 하나 이상에 기초하여 정보를 제공하도록 개인을 할당하는 단계를 포함할 수 있다. 개인이 개입을 위한 정보를 제공할 수 있게 하는 단계는 대화식 인터페이스를 제시하는 단계를 포함할 수 있다. 대화식 인터페이스를 제시하는 단계는 차량의 비전 센서의 시야 또는 조감도를 제시하는 단계를 포함할 수 있다. 대화식 인터페이스를 제시하는 단계는 현재 또는 과거 또는 둘 다의 인지 정보를 제시하는 단계를 포함할 수 있다. 대화식 인터페이스를 제시하는 단계는 현재 또는 과거 또는 둘 다의 궤적을 제시하는 단계를 포함할 수 있다. 대화식 인터페이스를 제시하는 단계는 현재 또는 과거 또는 둘 다의 모션 계획 정보를 제시하는 단계를 포함할 수 있다. 대화식 인터페이스를 제시하는 단계는 차량의 시스템 다이어그램을 제시하는 단계를 포함할 수 있고, 시스템 다이어그램은 하나 이상의 하드웨어 컴포넌트, 또는 하나 이상의 소프트웨어 프로세스, 또는 둘 다를 포함한다. 개입을 위한 정보는 개인에 의해 결정된 차량의 현재 위치를 포함할 수 있고, 개입은 현재 위치를 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 현재 위치를 업데이트하는 단계를 포함할 수 있다. 개입은 개인이 차량의 목표 위치를 식별하는 것에 기초하고, 개입은 목표 위치를 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 목표 위치를 업데이트하는 단계를 포함할 수 있다. 개입은 개인에 의해 발견되는 궤적을 포함할 수 있고, 개입은 궤적을 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 궤적을 업데이트하는 단계를 포함할 수 있다. 개입은 개인에 의해 식별된 하나 이상의 궤적 샘플링 포인트를 포함할 수 있고, 개입은 하나 이상의 궤적 샘플링 포인트에 기초하여 궤적 또는 궤적 세그먼트를 추론하는 단계를 포함할 수 있다.
일부 구현예들에서, 궤적 또는 궤적 세그먼트를 추론하는 단계는 하나 이상의 궤적 프리미티브에 기초한다. 개입은 2개의 궤적 세그먼트를 연쇄시키는 단계를 포함할 수 있다. 2개의 궤적 세그먼트를 연쇄시키는 단계는 궤적 세그먼트들을 평활화하고, 궤적 세그먼트들에 걸쳐 속도 프로파일을 평활화하는 단계를 포함할 수 있다.
일부 구현예들에서, 개입은 하나 이상의 횡단불가능한 도로 구간을 지정하는 단계를 포함할 수 있다. 개입은 개인에 의해 속도 프로파일을 설정하는 단계를 포함할 수 있고, 개입은 속도 프로파일을 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 속도 프로파일을 업데이트하는 단계를 포함할 수 있다. 개입은 학습 알고리즘에 의해 속도 프로파일을 추론하는 것에 기초한다. 개입은 학습 알고리즘에 의해 조향각을 추론하는 것에 기초한다. 개입은 하드웨어 컴포넌트 또는 소프트웨어 프로세스를 활성화, 편집 또는 비활성화하는 단계를 포함할 수 있다. 개입은 하드웨어 컴포넌트의 서브컴포넌트 또는 소프트웨어 프로세스의 처리 단계를 활성화, 편집 또는 비활성화하는 단계를 포함할 수 있다. 개입은 이동 선호도 또는 이동 규칙을 오버라이트하는 단계를 포함할 수 있다. 개입은 데이터를 편집하는 단계를 포함할 수 있고, 데이터는 지도, 차량 또는 관련 AV 시스템 내의 센서 데이터, 차량 또는 관련 AV 시스템 내의 궤적 데이터, 차량의 또는 관련 AV 시스템 내의 비전 데이터, 또는 차량 또는 관련 AV 시스템 내의 임의의 과거 데이터 중 하나 이상을 포함한다. 차량 또는 관련 AV 시스템을 구성하는 단계는 커맨드에 기초하고, 구성은 커맨드를 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 커맨드를 업데이트하는 단계를 포함한다.
일반적으로, 일 양태에서, 구현들은 (a) 차량의 하나 이상의 자율 주행 능력의 작동에 관한 개입 요청을 수신하는 단계, (b) 개인이 통신 채널을 통해 차량과 상호작용하게 하는 단계, 및 (c) 차량의 하나 이상의 자율 주행 능력의 작동을 구성하기 위한 개입을 발행하는 단계를 포함하는 방법을 포함한다.
일부 구현예들에서, 방법은 차량의 상태 또는 환경에 관한 정보를 수신 또는 생성 또는 분석하는 단계를 포함할 수 있다. 차량의 상태 또는 환경에 관한 정보는 차량의 하드웨어 컴포넌트 또는 소프트웨어의 기능성을 포함할 수 있다. 차량의 상태 또는 환경에 관한 정보는 차량의 하드웨어 컴포넌트 또는 소프트웨어로부터의 신호를 포함할 수 있다. 차량의 상태 또는 환경에 관한 정보는 예상되지 않은 데이터의 존재 또는 예상된 데이터의 부재를 포함할 수 있다. 차량의 상태 또는 환경에 관한 정보는 차량의 하드웨어 컴포넌트 또는 소프트웨어에 대한 측정된 수량과 모델 추정된 수량 사이의 불일치를 포함할 수 있다. 정보를 분석하는 단계는 패턴 인식을 이용하여 정보 내의 비정상 패턴을 평가하는 단계를 포함할 수 있다. 비정상 패턴은 머신 학습 알고리즘에 의해 학습된다. 정보를 분석하는 단계는 하드웨어 컴포넌트 또는 소프트웨어에서 오작동을 추론하는 단계를 포함할 수 있다. 정보를 분석하는 단계는 차량의 환경에 존재하는 미지의 객체를 검출하는 단계를 포함할 수 있다. 정보를 분석하는 단계는 차량의 환경에서 발생되고 있거나 발생될 이벤트를 추론하는 단계를 포함할 수 있다. 개입 요청은 차량 또는 관련 AV 시스템의 상태 또는 환경에 연관된 데이터를 포함할 수 있다. 개입 요청은 차량 또는 관련 AV 시스템의 하나 이상의 하드웨어 컴포넌트 또는 하나 이상의 소프트웨어 프로세스로부터의 하나 이상의 신호를 포함할 수 있다.
일부 구현예들에서, 방법은 하나 이상의 개입 요청의 큐를 유지하는 단계를 포함한다. 큐를 유지하는 단계는 결정 트리, 조합 최적화, 머신 알고리즘 및 과거 개입 중 하나 이상에 기초하여 개입 요청의 우선 순위를 정하는 단계를 포함할 수 있다. 차량과 상호작용하도록 개인을 할당하는 단계는 개인의 이용가능성, 및 (a) 시간, (b) 차량에 대한 지식, (c) 차량의 환경에 대한 지식, 또는 (d) 언어 중 하나 이상에 기초한다. 차량의 비전 센서의 시야 또는 조감도를 포함하는 대화식 인터페이스를 제시하는 단계. 현재 또는 과거 또는 둘 다의 인지 정보를 포함하는 대화식 인터페이스를 제시하는 단계. 현재 또는 과거 또는 둘 다의 궤적을 포함하는 대화식 인터페이스를 제시하는 단계. 현재 또는 과거 또는 둘 다의 모션 계획 정보를 포함한 대화식 인터페이스를 제시하는 단계. 차량의 시스템 다이어그램을 포함하는 대화식 인터페이스를 제시하는 단계, 여기서 시스템 다이어그램은 하나 이상의 하드웨어 컴포넌트, 또는 하나 이상의 소프트웨어 프로세스, 또는 둘 다를 포함한다.
일부 구현예들에서, 개입은 개인에 의한 차량의 현재 위치를 포함할 수 있고, 개입은 개인에 의해 식별된 현재 위치를 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 현재 위치를 업데이트하는 단계를 포함할 수 있다. 개입은 개인에 의해 식별된 목표 위치를 포함할 수 있고, 개입은 식별된 목표 위치를 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 목표 위치를 업데이트하는 단계를 포함할 수 있다. 개입은 개인에 의해 식별된 궤적을 포함할 수 있고, 개입은 개인에 의해 식별된 궤적을 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 궤적을 업데이트하는 단계를 포함할 수 있다. 개입은 개인에 의해 식별된 하나 이상의 궤적 샘플링 포인트를 포함할 수 있고, 개입은 하나 이상의 궤적 샘플링 포인트에 기초하여 궤적 또는 궤적 세그먼트를 추론하는 단계를 포함할 수 있다. 궤적 또는 궤적 세그먼트를 추론하는 단계는 하나 이상의 궤적 프리미티브에 기초한다. 개입은 2개의 궤적 세그먼트를 연쇄시키는 단계를 포함할 수 있고, 2개의 궤적 세그먼트를 연쇄시키는 단계는 궤적 세그먼트들을 평활화하고 궤적 세그먼트들에 걸쳐 속도 프로파일들을 평활화하는 단계를 포함한다. 개입은 하나 이상의 횡단불가능한 도로 구간을 지정하는 단계를 포함할 수 있다.
일부 구현예들에서, 개입은 속도 프로파일을 설정하는 단계를 포함할 수 있고, 개입은 속도 프로파일을 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 속도 프로파일을 업데이트하는 단계를 포함할 수 있다. 개입은 학습 알고리즘에 의해 속도 프로파일을 추론하는 것에 기초한다. 개입은 학습 알고리즘에 의해 조향각을 추론하는 것에 기초한다. 개입은 하드웨어 컴포넌트 또는 소프트웨어 프로세스를 활성화, 편집 또는 비활성화하는 단계를 포함할 수 있다. 개입은 하드웨어 컴포넌트의 서브컴포넌트 또는 소프트웨어 프로세스의 처리 단계를 활성화, 편집 또는 비활성화하는 단계를 포함할 수 있다. 개입은 이동 선호도 또는 이동 규칙을 오버라이트하는 단계를 포함할 수 있다. 개입은 데이터를 편집하는 단계를 포함할 수 있으며, 데이터는 지도, 차량 내의 센서 데이터, 차량 내의 궤적 데이터, 차량 내의 비전 데이터, 또는 차량 내의 임의의 과거 데이터 중 하나 이상을 포함한다.
일반적으로, 일 양태에서, 구현들은 자율 주행 능력들을 가지며, (a) 도로망에서 차량을 자율적으로 주행시키기 위해 주행 제어 시스템으로부터의 제어 신호들에 응답하는 조향, 가속 및 감속 디바이스들, (b) 차량이 개인과의 개입 상호작용에 관여하도록 개입 요청을 생성하는 차량 상의 모니터링 요소, 및 (c) 차량이 목표 위치로 기동하도록 하기 위해 조향, 가속 및 감속 디바이스들에 제어 신호들을 발행함으로써 주행 제어 시스템에 의해 구현될 개인으로부터의 개입을 수신하는 통신 요소를 포함하는 차량을 제공한다.
일부 구현예들에서, 개입이 적절한 것으로 결정하기 위해 차량의 상태 또는 환경에 관한 정보를 수신하는 프로세서. 차량의 상태 또는 환경은 차량의 하드웨어 컴포넌트 또는 소프트웨어 프로세스의 기능성을 포함할 수 있다. 차량의 상태 또는 환경에 관한 정보는 차량의 하드웨어 컴포넌트 또는 소프트웨어 프로세스로부터의 신호를 포함할 수 있다. 개입이 적절한 것으로 결정하는 단계는 신호 내의 비정상 패턴을 평가하기 위해 패턴 인식을 이용하는 단계를 포함할 수 있다. 비정상 패턴은 머신 학습 알고리즘으로부터 학습된다. 개입이 적절한지를 결정하는 단계는 수신된 정보에서 예상되지 않은 데이터의 존재 또는 예상된 데이터의 부재를 검출하는 단계를 포함할 수 있다. 개입이 적절한 것으로 결정하는 단계는 하드웨어 컴포넌트 또는 소프트웨어 프로세스에 대해 측정된 수량과 모델 추정된 수량 사이의 불일치를 평가하는 단계를 포함할 수 있다. 개입이 적절한 것으로 결정하는 단계는 하드웨어 컴포넌트 또는 소프트웨어 프로세스에서 오작동을 추론하는 단계를 포함할 수 있다. 개입이 적절한 것으로 결정하는 단계는 차량의 환경에 존재하는 미지의 객체를 검출하는 단계를 포함할 수 있다. 개입이 적절한 것으로 결정하는 단계는 차량의 환경에서 발생되고 있거나 발생될 이벤트를 추론하는 단계를 포함할 수 있다. 개입 요청은 차량의 상태 또는 환경에 연관된 데이터를 포함할 수 있다. 개입 요청은 차량의 하나 이상의 하드웨어 컴포넌트 또는 하나 이상의 소프트웨어 프로세스로부터의 하나 이상의 신호를 포함할 수 있다. 프로세서는 주행 제어 시스템에서 폴백 개입을 발생시킨다. 폴백 개입은 차량이 완전 자율 주행 모드, 반-자율 주행 모드 또는 완전 수동 주행 모드로 진입하게 하는 단계를 포함할 수 있다. 폴백 개입은 차량이 감소된 속도로 작동하게 하는 단계를 포함할 수 있다. 폴백 개입은 안전 정지 위치를 식별하고, 안전 정지 위치로의 새로운 궤적을 생성하는 단계를 포함할 수 있다. 폴백 개입은 백업 하드웨어 컴포넌트 또는 백업 소프트웨어 프로세스를 호출하는 단계를 포함할 수 있다. 폴백 개입은 차량을 작동시키기 위해 요구되는 기능적 하드웨어 컴포넌트 또는 기능적 소프트웨어 프로세스를 평가하는 단계를 포함할 수 있다.
일부 구현예들에서, 차량 또는 차량의 환경에 연관된 하나 이상의 활성 개입 요청을 평가하는 프로세서. 하나 이상의 활성 이벤트를 평가하는 단계는 둘 이상의 개입 요청을 병합하는 단계를 포함할 수 있다. 하나 이상의 활성 이벤트를 평가하는 단계는 결정 트리, 조합 최적화, 머신 알고리즘, 및 과거 개입 중 하나 이상을 사용하여 개입 요청의 우선순위를 정하는 단계를 포함할 수 있다. 개입에서 지정된 현재 위치를 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 현재 위치를 업데이트하는 프로세서. 개입에서 지정된 목표 위치를 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 목표 위치를 업데이트하는 프로세서. 개입에서 지정된 궤적을 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 궤적을 업데이트하는 프로세서. 개입에서 지정된 하나 이상의 궤적 샘플링 포인트를 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 하나 이상의 궤적 샘플링 포인트를 업데이트하는 프로세서. 하나 이상의 궤적 샘플링 포인트에 기초하여 궤적 또는 궤적 세그먼트를 추론하는 프로세서. 궤적 또는 궤적 세그먼트를 추론하는 단계는 하나 이상의 궤적 프리미티브에 기초한다. 2개의 궤적 세그먼트를 연쇄시키는 프로세서, 여기서 연쇄시키는 단계는 궤적 세그먼트들을 평활화하고, 궤적 세그먼트들에 걸쳐 속도 프로파일들을 평활화하는 단계를 포함할 수 있다. 개입은 하나 이상의 횡단불가능한 도로 구간을 지정하는 단계를 포함할 수 있다. 개입에 지정된 속도 프로파일을 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 속도 프로파일을 업데이트하는 프로세서.
일부 구현예들에서, 하드웨어 컴포넌트 또는 소프트웨어 프로세스를 활성화, 편집 또는 비활성화하기 위해 개입을 실행하는 프로세서. 이동 선호도 또는 이동 규칙을 오버라이트하도록 개입을 실행하는 프로세서. 데이터를 편집하기 위해 개입을 실행하고, 데이터는 지도, 센서 데이터, 궤적 데이터, 비전 데이터, 또는 임의의 과거 데이터 중 하나 이상을 포함하는 프로세서.
일반적으로, 일 양태에서, 구현예들은 (1) 차량의 작동에 관한 개입 요청을 수신하고, (2) 개입 요청으로부터 모션 정보 또는 인지 정보 또는 둘 다를 추출하도록 구성된 (a) 프로세서; 및 (1) 모션 정보 또는 인지 정보를 디스플레이하고, (2) 사용자가 차량의 작동과 상호작용하고 하나 이상의 상호작용을 기록하는 것을 허용하도록 구성된 (b) 디스플레이를 포함하는 장치를 포함한다.
일부 구현예들에서, 개입 요청은 차량 또는 관련 AV 시스템의 상태 또는 환경에 연관된 데이터를 포함할 수 있다. 개입 요청은 차량 또는 관련 AV 시스템의 하나 이상의 하드웨어 컴포넌트 또는 하나 이상의 소프트웨어 프로세스로부터의 하나 이상의 신호를 포함할 수 있다. 디스플레이는 차량의 비전 센서의 시야 또는 조감도를 포함하는 대화식 인터페이스를 제시하도록 구성된다. 디스플레이는 현재 또는 과거 또는 둘 다의 인지 정보를 포함하는 대화식 인터페이스를 제시하도록 구성된다. 디스플레이는 현재 또는 과거 또는 둘 다의 궤적을 포함하는 대화식 인터페이스를 제시하도록 구성된다. 디스플레이는 현재 또는 과거 또는 둘 다의 모션 계획 정보를 포함하는 대화식 인터페이스를 제시하도록 구성된다. 디스플레이는 차량의 시스템 다이어그램을 포함하는 대화식 인터페이스를 제시하도록 구성되고, 시스템 다이어그램은 하나 이상의 하드웨어 컴포넌트, 또는 하나 이상의 소프트웨어 프로세스, 또는 둘 다를 포함한다. 상호작용을 차량의 작동을 위한 개입으로 변환하는 프로세서.
일부 구현예들에서, 상호작용은 차량의 현재 위치를 지정하는 단계를 포함할 수 있고, 프로세서는 현재 위치를 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 업데이트된 현재 위치를 개입으로서 생성한다. 상호작용은 목표 위치를 지정하는 단계를 포함할 수 있고, 프로세서는 목표 위치를 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 업데이트된 목표 위치를 개입으로서 생성한다. 상호작용은 궤적을 지정하는 단계를 포함할 수 있으며, 프로세서는 궤적을 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 업데이트된 궤적을 개입으로서 생성한다. 상호작용은 하나 이상의 궤적 샘플링 포인트를 지정하는 단계를 포함할 수 있고, 프로세서는 하나 이상의 궤적 샘플링 포인트에 기초하여 궤적 또는 궤적 세그먼트를 추론한다. 궤적 또는 궤적 세그먼트를 추론하는 단계는 하나 이상의 궤적 프리미티브에 기초한다. 궤적을 추론하는 단계는 2개의 궤적 세그먼트를 연쇄시키는 단계를 포함할 수 있으며, 연쇄시키는 것은 궤적 세그먼트들을 평활화하고 궤적 세그먼트들에 걸쳐 속도 프로파일들을 평활화하는 단계를 포함한다.
일부 구현예들에서, 상호작용은 하나 이상의 횡단불가능한 도로 구간을 지정하는 단계를 포함할 수 있다. 상호작용은 속도 프로파일을 설정하는 단계를 포함할 수 있고, 프로세서는 속도 프로파일을 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 업데이트된 속도 프로파일을 개입으로서 생성한다. 학습 알고리즘에 의해 속도 프로파일을 추론하고 개입에 속도 프로파일을 포함시키는 프로세서. 학습 알고리즘에 의해 조향각을 추론하고, 개입에 조향각을 포함시키는 프로세서. 개입은 하드웨어 컴포넌트 또는 소프트웨어 프로세스를 활성화, 편집 또는 비활성화하는 단계를 포함할 수 있다. 개입은 이동 선호도 또는 이동 규칙을 오버라이트하는 단계를 포함할 수 있다. 개입은 데이터를 편집하는 단계를 포함할 수 있으며, 데이터는 지도, 차량 또는 관련 AV 시스템 내의 센서 데이터, 차량 또는 관련 AV 시스템 내의 궤적 데이터, 차량 또는 관련 AV 시스템 내의 비전 데이터, 또는 차량 또는 관련 AV 시스템 내의 임의의 과거 데이터 중 하나 이상을 포함한다. 개입은 궤적, 라벨, 프로세스 제어, 주석, 및 머신 명령어 중 하나 이상을 포함할 수 있다.
일반적으로, 일 양태에서, 구현예들은 차량이 도로에서 자율 모드로 주행하게 하는 단계 - 차량은 하나 이상의 자율 주행 능력을 포함함 - , 하나 이상의 자율 주행 능력의 작동에 관한 개입을 수신하는 단계, 및 개입을 분석하고, 개입에 기초하여 차량의 하나 이상의 하드웨어 컴포넌트 또는 하나 이상의 소프트웨어 프로세스를 구성하는 단계를 포함하는 방법을 포함한다.
일부 구현예들에서, 개입은 차량의 현재 위치를 포함할 수 있다. 개입을 분석하는 단계는 개입에서 현재 위치를 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 현재 위치를 업데이트하는 단계를 포함할 수 있다. 개입은 차량의 목표 위치를 포함할 수 있다. 개입을 분석하는 단계는 개입에서 목표 위치를 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 목표 위치를 업데이트하는 단계를 포함할 수 있다. 개입은 차량에 대한 궤적을 포함할 수 있다. 개입을 분석하는 단계는 개입에서 궤적을 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 궤적을 업데이트하는 단계를 포함할 수 있다. 개입은 차량에 대한 하나 이상의 궤적 샘플링 포인트를 포함할 수 있다. 개입을 분석하는 단계는 하나 이상의 궤적 샘플링 포인트를 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 하나 이상의 궤적 샘플링 포인트를 업데이트하는 단계를 포함할 수 있다. 개입을 분석하는 단계는 하나 이상의 궤적 샘플링 포인트에 기초하여 궤적 또는 궤적 세그먼트를 추론하는 단계를 포함할 수 있다. 궤적 또는 궤적 세그먼트를 추론하는 단계는 하나 이상의 궤적 프리미티브에 기초한다. 궤적 또는 궤적 세그먼트를 추론하는 단계는 2개의 더 짧은 궤적 세그먼트를 연쇄시키는 단계를 포함할 수 있고, 연쇄시키는 단계는 더 짧은 궤적 세그먼트들을 평활화하고 더 짧은 궤적 세그먼트들에 걸쳐 속도 프로파일을 평활화하는 단계를 포함할 수 있다.
일부 구현예들에서, 개입은 하나 이상의 횡단불가능한 도로 구간을 지정하는 단계를 포함할 수 있다. 개입은 속도 프로파일을 설정하는 단계를 포함할 수 있다. 개입을 분석하는 단계는 속도 프로파일을 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 속도 프로파일을 업데이트하는 단계를 포함할 수 있다.
일부 구현예들에서, 개입을 분석하는 단계는 학습 알고리즘에 의해 속도 프로파일을 추론하는 단계를 포함할 수 있다. 개입을 분석하는 단계는 학습 알고리즘에 의해 조향각을 추론하는 단계를 포함할 수 있다. 개입을 분석하는 단계는 하드웨어 컴포넌트 또는 소프트웨어 프로세스를 활성화, 편집 또는 비활성화하는 단계를 포함할 수 있다. 개입을 분석하는 단계는 하드웨어 컴포넌트의 서브컴포넌트 또는 소프트웨어 프로세스의 처리 단계를 활성화, 편집 또는 비활성화하는 단계를 포함할 수 있다. 개입은 이동 선호도 또는 이동 규칙을 오버라이트하는 단계를 포함할 수 있다. 개입은 데이터를 편집하는 단계를 포함할 수 있으며, 데이터는 지도, 차량 또는 관련 AV 시스템 내의 센서 데이터, 차량 또는 관련 AV 시스템 내의 궤적 데이터, 차량 또는 관련 AV 시스템 내의 비전 데이터, 또는 차량 또는 관련 AV 시스템 내의 임의의 과거 데이터 중 하나 이상을 포함한다.
일반적으로, 일 양태에서, 구현예들은 원격 조작자로부터 차량의 작동에 관한 머신 판독가능한 명령어들을 수신하는 단계, 및 머신 판독가능한 명령어들을 실행하도록 차량을 구성하는 단계를 포함하는 방법을 포함한다.
일부 구현예들에서, 차량은 하나 이상의 자율 주행 능력을 포함할 수 있다. 머신 판독가능한 명령어들은 현재 위치를 표현한다. 머신 판독가능한 명령어들은 목표 위치를 표현한다. 머신 판독가능한 명령어들은 하나 이상의 궤적을 표현한다. 머신 판독가능한 명령어들은 하나 이상의 궤적 샘플링 포인트를 표현한다. 머신 판독가능한 명령어들은 하나 이상의 속도 프로파일을 표현한다. 머신 판독가능한 명령어들은 하나 이상의 횡단불가능한 도로 구간을 표현한다. 머신 판독가능한 명령어들은 하드웨어 컴포넌트 또는 소프트웨어 프로세스를 활성화, 편집 또는 비활성화하는 것을 포함한다. 머신 판독가능한 명령어들은 하드웨어 컴포넌트의 서브컴포넌트 또는 소프트웨어 프로세스의 처리 단계를 활성화, 편집 또는 비활성화하는 것을 포함한다. 머신 판독가능한 명령어들은 이동 선호도 또는 이동 규칙을 오버라이트하는 것을 포함한다. 머신 판독가능한 명령어들은 데이터를 편집하는 단계를 포함하고, 데이터는 지도, 차량 또는 관련 AV 시스템 내의 센서 데이터, 차량 또는 관련 AV 시스템 내의 궤적 데이터, 차량 또는 관련 AV 시스템 내의 비전 데이터, 또는 차량 또는 관련 AV 시스템 내의 임의의 과거 데이터 중 하나 이상을 포함한다.
본 문서에서의 설명들은 원격 조작자가 개인인 구현들을 설명했지만, 원격 조작자 기능들은 부분적으로 또는 완전히 자동으로 수행될 수 있다.
다른 구현예들도 청구항들의 범위 내에 있다.

Claims (49)

  1. 방법으로서,
    차량의 하나 이상의 자율 주행 능력의 작동에 대한 개입이 적절한 것으로 결정하는 단계;
    상기 결정에 기초하여, 개인이 개입을 위한 정보를 제공할 수 있게 하는 단계; 및
    상기 차량의 상기 하나 이상의 자율 주행 능력의 작동에 대한 개입을 야기하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 개입이 적절한 것으로 결정하는 단계는 개입을 위한 요청을 수신하는 단계를 포함하는 방법.
  3. 제1항에 있어서, 상기 개입이 적절한 것으로 결정하는 단계는 상기 차량 또는 관련 AV 시스템의 상태 또는 환경에 관한 정보를 수신하는 단계를 포함하는 방법.
  4. 제3항에 있어서, 상기 차량의 상기 상태 또는 상기 환경은 상기 차량 또는 상기 AV 시스템의 하드웨어 컴포넌트 또는 소프트웨어의 기능성을 포함하는 방법.
  5. 제3항에 있어서, 상기 차량 또는 상기 AV 시스템의 상기 상태 또는 상기 환경에 관한 정보는 상기 차량 또는 상기 AV 시스템의 하드웨어 컴포넌트 또는 소프트웨어로부터의 신호를 포함하는 방법.
  6. 제5항에 있어서, 상기 개입이 적절한 것으로 결정하는 단계는 예상되지 않은 데이터의 존재 또는 예상된 데이터의 부재를 검출하기 위해 상기 신호를 분석하는 단계를 포함하는 방법.
  7. 제6항에 있어서, 상기 신호를 분석하는 단계는 상기 하드웨어 컴포넌트 또는 소프트웨어에 대한 측정된 수량과 모델 추정된 수량(model-estimated quantity) 사이의 불일치를 평가하는 단계를 포함하는 방법.
  8. 제6항에 있어서, 상기 신호를 분석하는 단계는 상기 신호 내의 비정상 패턴을 평가하기 위해 패턴 인식을 이용하는 단계를 포함하는 방법.
  9. 제8항에 있어서, 상기 비정상 패턴은 머신 학습 알고리즘에 의해 학습되는 방법.
  10. 제6항에 있어서, 상기 신호를 분석하는 단계는 상기 하드웨어 컴포넌트 또는 상기 소프트웨어 내의 오작동을 추론하는 단계를 포함하는 방법.
  11. 제6항에 있어서, 상기 신호를 분석하는 단계는 상기 차량 또는 관련 AV 시스템의 상기 환경 내에 존재하는 미지의 객체를 검출하는 단계를 포함하는 방법.
  12. 제6항에 있어서, 상기 신호를 분석하는 단계는 상기 차량 또는 관련 AV 시스템의 상기 환경 내에서 발생되고 있거나 발생될 이벤트를 추론하는 단계를 포함하는 방법.
  13. 제2항에 있어서, 상기 요청은 원격 조작자에 의해 무선 통신 채널을 통해 개시된 요청을 포함하는 방법.
  14. 제2항에 있어서, 상기 요청은 상기 차량 또는 관련 AV 시스템의 상태 또는 환경에 연관된 데이터를 포함하는 방법.
  15. 제2항에 있어서, 상기 요청은 상기 차량 또는 관련 AV 시스템의 하나 이상의 하드웨어 컴포넌트 또는 하나 이상의 소프트웨어 프로세스로부터의 하나 이상의 신호를 포함하는 방법.
  16. 제1항에 있어서, 상기 결정에 기초하여, 상기 차량의 상기 하나 이상의 자율 주행 능력의 작동에 대한 폴백 개입(fallback intervention)을 야기하는 단계를 포함하는 방법.
  17. 제16항에 있어서, 상기 폴백 개입은 상기 차량 또는 관련 AV 시스템이 완전 자율 주행 모드, 반-자율 주행 모드 또는 완전 수동 주행 모드에 진입하게 하는 단계를 포함하는 방법.
  18. 제16항에 있어서, 상기 폴백 개입은 상기 차량이 감소된 속도로 작동하게 하는 단계를 포함하는 방법.
  19. 제16항에 있어서, 상기 폴백 개입은 안전 정지 위치(safe-to-stop location)를 식별하는 단계를 포함하는 방법.
  20. 제19항에 있어서, 상기 폴백 개입은 상기 안전 정지 위치로의 새로운 궤적을 생성하는 단계를 포함하는 방법.
  21. 제16항에 있어서, 상기 폴백 개입은 백업 하드웨어 컴포넌트 또는 백업 소프트웨어 프로세스를 호출하는 단계를 포함하는 방법.
  22. 제16항에 있어서, 상기 폴백 개입은 상기 차량을 작동시키기 위해 요구되는 기능적 하드웨어 컴포넌트 또는 기능적 소프트웨어 프로세스를 평가하는 단계를 포함하는 방법.
  23. 제1항에 있어서, 상기 개입이 적절한 것으로 결정하는 단계는 상기 차량 또는 관련 AV 시스템에 연관되거나 상기 차량 또는 관련 AV 시스템의 환경에 연관된 하나 이상의 활성 이벤트를 평가하는 단계를 포함하는 방법.
  24. 제23항에 있어서, 상기 하나 이상의 이벤트를 평가하는 단계는 둘 이상의 활성 이벤트를 병합하는 단계를 포함하는 방법.
  25. 제1항에 있어서, 상기 개인이 개입을 위한 정보를 제공할 수 있게 하는 단계는 개입이 적절하다는 하나 이상의 결정에 기초하여 큐를 유지하는 단계를 포함하는 방법.
  26. 제25항에 있어서, 상기 큐를 유지하는 단계는 결정 트리, 조합 최적화(combinatorial optimization), 머신 알고리즘, 및 과거 개입(past intervention) 중 하나 이상에 기초하여 개입의 우선순위를 정하는 단계를 포함하는 방법.
  27. 제1항에 있어서, 상기 개인이 개입을 위한 정보를 제공할 수 있게 하는 단계는, 상기 개인의 이용가능성, 및 (a) 시간, (b) 상기 차량에 대한 지식, (c) 상기 차량의 환경에 대한 지식, 또는 (d) 언어 중 하나 이상에 기초하여 상기 정보를 제공하도록 상기 개인을 할당하는 단계를 포함하는 방법.
  28. 제1항에 있어서, 상기 개인이 개입을 위한 정보를 제공할 수 있게 하는 단계는 대화식 인터페이스를 제시하는 단계를 포함하는 방법.
  29. 제28항에 있어서, 상기 대화식 인터페이스를 제시하는 단계는 상기 차량의 비전 센서의 시야(field of view) 또는 조감도(bird's-eye)를 제시하는 단계를 포함하는 방법.
  30. 제28항에 있어서, 상기 대화식 인터페이스를 제시하는 단계는 현재 또는 과거 또는 둘 다의 인지 정보를 제시하는 단계를 포함하는 방법.
  31. 제28항에 있어서, 상기 대화식 인터페이스를 제시하는 단계는 현재 또는 과거 또는 둘 다의 궤적들을 제시하는 단계를 포함하는 방법.
  32. 제28항에 있어서, 상기 대화식 인터페이스를 제시하는 단계는 현재 또는 과거 또는 둘 다의 모션 계획 정보를 제시하는 단계를 포함하는 방법.
  33. 제28항에 있어서, 상기 대화식 인터페이스를 제시하는 단계는 상기 차량의 시스템 다이어그램을 제시하는 단계를 포함하고, 상기 시스템 다이어그램은 하나 이상의 하드웨어 컴포넌트, 또는 하나 이상의 소프트웨어 프로세스, 또는 둘 다를 포함하는 방법.
  34. 제1항에 있어서, 상기 개입을 위한 정보는 상기 개인에 의해 결정된 상기 차량의 현재 위치를 포함하고, 상기 개입은 상기 현재 위치를 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 상기 현재 위치를 업데이트하는 단계를 포함하는 방법.
  35. 제1항에 있어서, 상기 개입은 상기 개인이 상기 차량의 목표 위치를 식별하는 것에 기초하고, 상기 개입은 상기 목표 위치를 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 상기 목표 위치를 업데이트하는 단계를 포함하는 방법.
  36. 제1항에 있어서, 상기 개입은 상기 개인에 의해 발견되는 궤적을 포함하고, 상기 개입은 상기 궤적을 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 상기 궤적을 업데이트하는 단계를 포함하는 방법.
  37. 제1항에 있어서, 상기 개입은 상기 개인에 의해 식별된 하나 이상의 궤적 샘플링 포인트를 포함하고, 상기 개입은 상기 하나 이상의 궤적 샘플링 포인트에 기초하여 궤적 또는 궤적 세그먼트를 추론하는 단계를 포함하는 방법.
  38. 제37항에 있어서, 상기 궤적 또는 궤적 세그먼트를 추론하는 단계는 하나 이상의 궤적 프리미티브에 기초하는 방법.
  39. 제37항에 있어서, 상기 개입은 2개의 궤적 세그먼트를 연쇄시키는 단계를 포함하는 방법.
  40. 제39항에 있어서, 상기 2개의 궤적 세그먼트를 연쇄시키는 단계는 상기 궤적 세그먼트들을 평활화하고, 상기 궤적 세그먼트들에 걸쳐 속도 프로파일들을 평활화하는 단계를 포함하는 방법.
  41. 제1항에 있어서, 상기 개입은 하나 이상의 횡단불가능한 도로 구간을 지정하는 단계를 포함하는 방법.
  42. 제1항에 있어서, 상기 개입은 상기 개인에 의해 속도 프로파일을 설정하는 단계를 포함하고, 상기 개입은 상기 속도 프로파일을 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 상기 속도 프로파일을 업데이트하는 단계를 포함하는 방법.
  43. 제1항에 있어서, 상기 개입은 학습 알고리즘에 의해 속도 프로파일을 추론하는 것에 기초하는 방법.
  44. 제1항에 있어서, 상기 개입은 학습 알고리즘에 의해 조향각을 추론하는 것에 기초하는 방법.
  45. 제1항에 있어서, 상기 개입은 하드웨어 컴포넌트 또는 소프트웨어 프로세스를 활성화, 편집 또는 비활성화하는 단계를 포함하는 방법.
  46. 제45항에 있어서, 상기 개입은 하드웨어 컴포넌트의 서브컴포넌트 또는 소프트웨어 프로세스의 처리 단계를 활성화, 편집 또는 비활성화하는 단계를 포함하는 방법.
  47. 제1항에 있어서, 상기 개입은 이동 선호도 또는 이동 규칙을 오버라이트하는 단계를 포함하는 방법.
  48. 제1항에 있어서, 상기 개입은 데이터를 편집하는 단계를 포함하고, 상기 데이터는 지도, 상기 차량 또는 관련 AV 시스템 내의 센서 데이터, 상기 차량 또는 관련 AV 시스템 내의 궤적 데이터, 상기 차량 또는 관련 AV 시스템 내의 비전 데이터, 또는 상기 차량 또는 관련 AV 시스템 내의 임의의 과거 데이터 중 하나 이상을 포함하는 방법.
  49. 제1항에 있어서, 커맨드에 기초하여 상기 차량 또는 관련 AV 시스템을 구성하는 단계를 포함하고, 상기 구성하는 단계는 상기 커맨드를 사전 지식으로 취급하고, 추론 알고리즘을 사용하여 상기 커맨드를 업데이트하는 단계를 포함하는 방법.
KR1020207001002A 2017-06-16 2018-06-13 자율 주행 능력들을 갖춘 차량의 작동에 대한 개입 KR102177826B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020207032082A KR102470186B1 (ko) 2017-06-16 2018-06-13 자율 주행 능력들을 갖춘 차량의 작동에 대한 개입

Applications Claiming Priority (13)

Application Number Priority Date Filing Date Title
US15/624,802 2017-06-16
US15/624,802 US10514692B2 (en) 2017-06-16 2017-06-16 Intervention in operation of a vehicle having autonomous driving capabilities
US15/624,819 US10599141B2 (en) 2017-06-16 2017-06-16 Intervention in operation of a vehicle having autonomous driving capabilities
US15/624,857 2017-06-16
US15/624,780 US10740988B2 (en) 2017-06-16 2017-06-16 Intervention in operation of a vehicle having autonomous driving capabilities
US15/624,838 US11112789B2 (en) 2017-06-16 2017-06-16 Intervention in operation of a vehicle having autonomous driving capabilities
US15/624,839 US10627810B2 (en) 2017-06-16 2017-06-16 Intervention in operation of a vehicle having autonomous driving capabilities
US15/624,819 2017-06-16
US15/624,838 2017-06-16
US15/624,780 2017-06-16
US15/624,857 US10317899B2 (en) 2017-06-16 2017-06-16 Intervention in operation of a vehicle having autonomous driving capabilities
US15/624,839 2017-06-16
PCT/US2018/037400 WO2018232032A1 (en) 2017-06-16 2018-06-13 Intervention in operation of a vehicle having autonomous driving capabilities

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020207032082A Division KR102470186B1 (ko) 2017-06-16 2018-06-13 자율 주행 능력들을 갖춘 차량의 작동에 대한 개입

Publications (2)

Publication Number Publication Date
KR20200019191A true KR20200019191A (ko) 2020-02-21
KR102177826B1 KR102177826B1 (ko) 2020-11-13

Family

ID=64659518

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020207032082A KR102470186B1 (ko) 2017-06-16 2018-06-13 자율 주행 능력들을 갖춘 차량의 작동에 대한 개입
KR1020207001002A KR102177826B1 (ko) 2017-06-16 2018-06-13 자율 주행 능력들을 갖춘 차량의 작동에 대한 개입

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020207032082A KR102470186B1 (ko) 2017-06-16 2018-06-13 자율 주행 능력들을 갖춘 차량의 작동에 대한 개입

Country Status (4)

Country Link
EP (2) EP4276567A3 (ko)
KR (2) KR102470186B1 (ko)
CN (1) CN110998469A (ko)
WO (1) WO2018232032A1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220036833A (ko) * 2020-09-15 2022-03-23 베이징 바이두 넷컴 사이언스 테크놀로지 컴퍼니 리미티드 안내 노선 확정 방법 및 장치, 차량의 주행 제어 방법 및 장치, 전자 장비, 컴퓨터 판독가능 저장 매체 및 컴퓨터 프로그램
KR20220085326A (ko) * 2020-12-15 2022-06-22 주식회사 주원테크놀러지 무인저속자율주행차량의 폴백에 의한 대응방법
KR20220085337A (ko) * 2020-12-15 2022-06-22 현대오토에버 주식회사 클래스 간 밸런스가 보완된 기계 학습 방법
WO2024049925A1 (en) * 2022-08-31 2024-03-07 Zoox, Inc. Trajectory prediction based on a decision tree

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11087144B2 (en) * 2018-10-10 2021-08-10 Harman International Industries, Incorporated System and method for determining vehicle data set familiarity
EP3690852A1 (en) 2019-01-29 2020-08-05 Volkswagen Aktiengesellschaft System, vehicle, network component, apparatuses, methods, and computer programs for a vehicle and a network component
EP3696786B1 (en) * 2019-02-13 2023-12-13 Volkswagen Aktiengesellschaft System, vehicle, network component, apparatuses, methods, and computer programs for a vehicle and a network component
US10699580B1 (en) 2019-04-17 2020-06-30 Guident Ltd. Methods and systems for emergency handoff of an autonomous vehicle
WO2020248205A1 (en) * 2019-06-14 2020-12-17 Beijing Voyager Technology Co., Ltd. Systems and methods for monitoring a vehicle
US11713060B2 (en) 2020-09-18 2023-08-01 Guident Ltd. Systems and methods for remote monitoring of a vehicle, robot or drone
JP7327344B2 (ja) * 2020-10-12 2023-08-16 トヨタ自動車株式会社 車両遠隔支援システム、車両遠隔支援サーバ、及び車両遠隔支援方法
DE102021101363A1 (de) 2021-01-22 2022-07-28 Bayerische Motoren Werke Aktiengesellschaft Bildbasiertes Verfahren zum Vereinfachen einer fahrzeugexternen Kontrollübernahme über ein Kraftfahrzeug, Assistenzeinrichtung und Kraftfahrzeug
US20240036571A1 (en) * 2022-07-29 2024-02-01 Zoox, Inc. Teleoperations queueing for autonomous vehicles

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7734387B1 (en) * 2006-03-31 2010-06-08 Rockwell Collins, Inc. Motion planner for unmanned ground vehicles traversing at high speeds in partially known environments
US8965621B1 (en) * 2010-10-05 2015-02-24 Google Inc. Driving pattern recognition and safety control
US20160139594A1 (en) * 2014-11-13 2016-05-19 Toyota Motor Engineering & Manufacturing North America, Inc. Remote operation of autonomous vehicle in unexpected environment
US20160334230A1 (en) * 2015-05-13 2016-11-17 Uber Technologies, Inc. Providing remote assistance to an autonomous vehicle
US20160362000A1 (en) * 2015-06-10 2016-12-15 International Business Machines Corporation Vehicle control system
WO2017079222A1 (en) * 2015-11-04 2017-05-11 Zoox, Inc. Software application to request and control an autonomous vehicle service

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8229595B2 (en) * 2008-06-19 2012-07-24 Seelinger Michael J Method and system for providing autonomous control of a platform
US8352112B2 (en) * 2009-04-06 2013-01-08 GM Global Technology Operations LLC Autonomous vehicle management
WO2012154938A1 (en) * 2011-05-10 2012-11-15 Kopin Corporation Headset computer that uses motion and voice commands to control information display and remote devices
US8909153B2 (en) * 2012-09-05 2014-12-09 GM Global Technology Operations LLC Vehicle communications using a mobile device
US9633564B2 (en) * 2012-09-27 2017-04-25 Google Inc. Determining changes in a driving environment based on vehicle behavior
DE102013201168A1 (de) * 2013-01-24 2014-07-24 Ford Global Technologies, Llc Bedarfsweise aktivierbares Fernsteuerungssystem für Kraftfahrzeuge
US8996224B1 (en) * 2013-03-15 2015-03-31 Google Inc. Detecting that an autonomous vehicle is in a stuck condition
CN103426282A (zh) * 2013-07-31 2013-12-04 深圳市大疆创新科技有限公司 遥控方法及终端
US9517771B2 (en) * 2013-11-22 2016-12-13 Ford Global Technologies, Llc Autonomous vehicle modes
MX343922B (es) * 2014-02-20 2016-11-29 Ford Global Tech Llc Tratamiento de fallas en un vehículo autónomo.
CN106164799A (zh) * 2014-03-28 2016-11-23 洋马株式会社 自主行驶作业车辆
US9715711B1 (en) * 2014-05-20 2017-07-25 State Farm Mutual Automobile Insurance Company Autonomous vehicle insurance pricing and offering based upon accident risk
CN104290745B (zh) * 2014-10-28 2017-02-01 奇瑞汽车股份有限公司 车辆用半自动驾驶系统的驾驶方法
KR20170015113A (ko) * 2015-07-30 2017-02-08 삼성전자주식회사 자율 주행 차량을 제어하는 장치 및 방법
US9815481B2 (en) * 2015-09-28 2017-11-14 GM Global Technology Operations LLC Vehicle-user-interaction system
US9632502B1 (en) * 2015-11-04 2017-04-25 Zoox, Inc. Machine-learning systems and techniques to optimize teleoperation and/or planner decisions
US10012984B2 (en) * 2015-12-14 2018-07-03 Mitsubishi Electric Research Laboratories, Inc. System and method for controlling autonomous vehicles
CN106094830B (zh) * 2016-07-11 2019-09-06 百度在线网络技术(北京)有限公司 用于控制无人驾驶车辆的方法和装置
CN106843212B (zh) * 2017-02-08 2020-01-10 重庆长安汽车股份有限公司 自动驾驶基于偏航角修正的车辆应急辅助定向系统及方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7734387B1 (en) * 2006-03-31 2010-06-08 Rockwell Collins, Inc. Motion planner for unmanned ground vehicles traversing at high speeds in partially known environments
US8965621B1 (en) * 2010-10-05 2015-02-24 Google Inc. Driving pattern recognition and safety control
US20160139594A1 (en) * 2014-11-13 2016-05-19 Toyota Motor Engineering & Manufacturing North America, Inc. Remote operation of autonomous vehicle in unexpected environment
US20160334230A1 (en) * 2015-05-13 2016-11-17 Uber Technologies, Inc. Providing remote assistance to an autonomous vehicle
US20160362000A1 (en) * 2015-06-10 2016-12-15 International Business Machines Corporation Vehicle control system
WO2017079222A1 (en) * 2015-11-04 2017-05-11 Zoox, Inc. Software application to request and control an autonomous vehicle service

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220036833A (ko) * 2020-09-15 2022-03-23 베이징 바이두 넷컴 사이언스 테크놀로지 컴퍼니 리미티드 안내 노선 확정 방법 및 장치, 차량의 주행 제어 방법 및 장치, 전자 장비, 컴퓨터 판독가능 저장 매체 및 컴퓨터 프로그램
US11724716B2 (en) 2020-09-15 2023-08-15 Beijing Baidu Netcom Science Technology Co., Ltd. Method and apparatus of determining guide path, method and apparatus of controlling driving of vehicle, and electronic device
KR20220085326A (ko) * 2020-12-15 2022-06-22 주식회사 주원테크놀러지 무인저속자율주행차량의 폴백에 의한 대응방법
KR20220085337A (ko) * 2020-12-15 2022-06-22 현대오토에버 주식회사 클래스 간 밸런스가 보완된 기계 학습 방법
WO2024049925A1 (en) * 2022-08-31 2024-03-07 Zoox, Inc. Trajectory prediction based on a decision tree

Also Published As

Publication number Publication date
EP3639101B1 (en) 2023-06-07
KR20220158873A (ko) 2022-12-01
WO2018232032A1 (en) 2018-12-20
CN110998469A (zh) 2020-04-10
KR102177826B1 (ko) 2020-11-13
EP4276567A3 (en) 2024-07-17
EP3639101A1 (en) 2020-04-22
KR20200128763A (ko) 2020-11-16
KR102470186B1 (ko) 2022-11-22
EP3639101A4 (en) 2020-06-24
EP4276567A2 (en) 2023-11-15

Similar Documents

Publication Publication Date Title
US11263830B2 (en) Intervention in operation of a vehicle having autonomous driving capabilities
US10317899B2 (en) Intervention in operation of a vehicle having autonomous driving capabilities
US10514692B2 (en) Intervention in operation of a vehicle having autonomous driving capabilities
KR102177826B1 (ko) 자율 주행 능력들을 갖춘 차량의 작동에 대한 개입
US10599141B2 (en) Intervention in operation of a vehicle having autonomous driving capabilities
US20200387155A1 (en) Intervention in operation of a vehicle having autonomous driving capabilities
US20210341915A1 (en) Intervention in operation of a vehicle having autonomous driving capabilities
US11714413B2 (en) Planning autonomous motion
US10384690B2 (en) Processing a request signal regarding operation of an autonomous vehicle
US11377108B2 (en) Processing a request signal regarding operation of an autonomous vehicle
US11198436B2 (en) Processing a request signal regarding operation of an autonomous vehicle
US20190227550A1 (en) Speed behavior planning for vehicles
US10850734B2 (en) Processing a request signal regarding operation of an autonomous vehicle
US20180284772A1 (en) Processing a request signal regarding operation of an autonomous vehicle
CN110740916B (zh) 处理与自主车辆的操作有关的请求信号
EP3454269A1 (en) Planning autonomous motion
KR102685477B1 (ko) 자율 주행 능력들을 갖춘 차량의 작동에 대한 개입
US20240028035A1 (en) Planning autonomous motion

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent