KR20210049973A - 자율 차량들에 대한 폴백 요청들 - Google Patents

자율 차량들에 대한 폴백 요청들 Download PDF

Info

Publication number
KR20210049973A
KR20210049973A KR1020217012653A KR20217012653A KR20210049973A KR 20210049973 A KR20210049973 A KR 20210049973A KR 1020217012653 A KR1020217012653 A KR 1020217012653A KR 20217012653 A KR20217012653 A KR 20217012653A KR 20210049973 A KR20210049973 A KR 20210049973A
Authority
KR
South Korea
Prior art keywords
vehicle
fallback
instructions
task
conditions
Prior art date
Application number
KR1020217012653A
Other languages
English (en)
Other versions
KR102399794B1 (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=56100607&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR20210049973(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 웨이모 엘엘씨 filed Critical 웨이모 엘엘씨
Publication of KR20210049973A publication Critical patent/KR20210049973A/ko
Application granted granted Critical
Publication of KR102399794B1 publication Critical patent/KR102399794B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0287Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
    • G05D1/0291Fleet control
    • G05D1/0297Fleet control by controlling means in a control room
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/20Monitoring the location of vehicles belonging to a group, e.g. fleet of vehicles, countable or determined number of vehicles
    • G08G1/202Dispatching vehicles on the basis of a location, e.g. taxi dispatching
    • 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/029Adapting to failures or work around with other constraints, e.g. circumvention by avoiding use of failed parts
    • 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/0025Planning or execution of driving tasks specially adapted for specific operations
    • B60W60/00253Taxi operations
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/0088Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0005Processor details or data handling, e.g. memory registers or chip architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0006Digital architecture hierarchy
    • 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
    • B60W2530/00Input parameters relating to vehicle conditions or values, not covered by groups B60W2510/00 or B60W2520/00
    • B60W2530/209Fuel quantity remaining in tank
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2556/00Input parameters relating to data
    • B60W2556/45External transmission of data to or from the vehicle

Abstract

본 발명은 메모리(130), 차량(100)을 제어하기 위한 복수의 자기 구동 시스템들(160-172), 및 하나 이상의 프로세서들(120)을 포함하는 시스템에 관한 것이다. 프로세서들은 주 작업에 대한 요청 및 각각의 폴백 작업의 적어도 하나의 트리거와 연관하여 적어도 하나의 폴백 작업을 수신하도록 구성된다. 각각의 트리거는, 만족될 때, 차량이 적절한 동작에 대한 주의를 요구할 때를 표시하는 조건들의 세트이다. 프로세서들은 명령어들을 자기 구동 시스템들에 송신하여 주 작업을 실행하고 자기 구동 시스템들로부터 상태 업데이트들을 수신하도록 또한 구성된다. 프로세서들은 트리거의 조건들의 세트가 상태 업데이트들에 적어도 부분적으로 기초하여 만족되는지를 결정하고 연관된 폴백 작업에 기초하여 추가 명령어들을 자기 구동 시스템들에 송신하도록 구성된다.

Description

자율 차량들에 대한 폴백 요청들{FALLBACK REQUESTS FOR AUTONOMOUS VEHICLES}
관련 출원들에 대한 상호 참조
본원은 그 개시내용이 본원에 참조로 포함된, 2015년 5월 26일자 출원된 특허 출원 제14/721,604호의 계속 출원이다.
사람의 운전자를 필요로 하지 않는 차량들과 같은 자율 차량들은 한 위치로부터 다른 위치까지 승객들 또는 물품들의 운송을 지원하기 위해 사용될 수 있다. 이러한 차량들은 승객들이 목적지와 같은 일부 초기 입력을 제공할 수 있는 완전 자율 모드에서 동작할 수 있고, 차량은 스스로 그 목적지까지 주행한다.
본 개시내용의 한 양태는 시스템을 제공한다. 시스템은 메모리, 차량을 제어하는 복수의 자기 구동 시스템들, 및 하나 이상의 프로세서들을 포함한다. 하나 이상의 프로세서는 주 작업에 대한 요청 및 각각의 폴백 작업의 적어도 하나의 트리거와 연관하여 적어도 하나의 폴백 작업을 수신하고, - 각각의 트리거는 만족될 때, 차량이 적절한 동작에 대한 주의를 요구할 때를 표시하는 조건들의 세트임 -; 명령어들의 제1 세트를 하나 이상의 자기 구동 시스템들에 송신하여 주 작업을 실행하고; 자기 구동 시스템들로부터 상태 업데이트들을 수신하고; 트리거의 조건들의 세트가 상기 상태 업데이트들에 적어도 부분적으로 기초하여 만족되는지를 결정하고; 트리거와 연관된 폴백 작업에 기초하여 명령어들의 제2 세트를 하나 이상의 자기 구동 시스템들에 송신하도록 구성된다.
한 예에서, 조건들의 각각의 세트는 각각의 트리거에 대해 상이하다. 동일한 예에서, 하나 이상의 프로세서들은 트리거의 조건들의 세트가 만족되었는지를 결정하도록 또한 구성된다. 또 하나의 예에서, 기준 위치가 메모리 상에 하드코드되고, 하나 이상의 프로세서들은 트리거와 연관된 폴백 작업이 비 실행 가능하다고 결정하고 폴백 작업을 기준 위치로 운행하는 것으로 업데이트하도록 또한 구성된다.
또 다른 예에서, 하나 이상의 프로세서들은 자기 구동 시스템들로부터의 상태 업데이트에 기초하여 상태 업데이트 보고를 송신하고, 적어도 하나의 업데이트된 폴백 작업을 수신하고, 메모리 내에 적어도 하나의 업데이트된 폴백 작업을 저장하도록 또한 구성된다. 본 예에서, 하나 이상의 프로세서들은 적어도 하나의 업데이트된 폴백 작업에 기초하여 적어도 하나의 폴백 작업을 업데이트하도록 또한 구성된다.
추가 예에서, 하나 이상의 프로세서들은 트리거의 조건들의 세트가 더 이상 만족되지 않은지를 결정하고; 트리거의 하나 이상의 조건들이 더 이상 만족되지 않는다고 결정될 때, 명령어들의 제3 세트를 하나 이상의 자기 구동 시스템들에 송신하여 주 작업을 자율적으로 재개하도록 또한 구성된다. 또 다른 예에서, 하나 이상의 프로세서들은 트리거와 연관된 폴백 작업이 트리거의 조건들의 세트가 만족된 후에 얼마나 빨리 실행되느냐에 관한, 트리거의 긴급성의 레벨을 결정하고; 트리거의 긴급성의 레벨이 소정의 레벨일 때 주 작업이 완료되기 전에 명령어들의 제2 세트를 송신하도록 또한 구성된다.
또 하나의 예에서, 명령어들의 제2 세트는 자기 구동 시스템들로 하여금 주 작업을 실행하는 것을 중지하게 하는 명령어들을 포함한다. 추가 예에서, 하나 이상의 프로세서들은 대응하는 폴백 작업들에 대한 각각의 트리거의 매핑에 액세스함으로써 어떤 폴백 작업이 트리거와 연관되는지를 결정하도록 또한 구성된다. 또 다른 예에서, 시스템은 또한 차량을 포함한다. 본 예에서, 차량은 기준 위치가 메모리 상에 저장되지 않으면 출발하지 않을 것이다.
본 개시내용의 다른 양태는 플릿 관리 시스템을 제공한다. 플릿 관리 시스템은 자율적으로 주행할 수 있는 복수의 차량들의 상태에 관한 업데이트들을 수신하고; 차량들 중 하나에, 주 작업에 대한 요청, 적어도 하나의 폴백 작업, 및 각각의 폴백 작업의 적어도 하나의 트리거를 포함하는 파견 명령을 송신하도록 구성된 서버를 포함하고, 각각의 트리거는 만족될 때 차량이 적절한 동작에 대한 주의를 요구할 때를 표시하는 조건들의 세트이다.
한 예에서, 서버는 수신된 업데이트들에 응답하여 적어도 하나의 업데이트된 폴백 작업을 송신하도록 또한 구성된다. 다른 예에서, 파견 명령은 각각의 트리거에 대한 긴급성의 레벨을 또한 포함하고, 긴급성의 레벨은 트리거와 연관된 폴백 작업이 트리거의 조건들의 세트가 만족된 후에 얼마나 빨리 실행되느냐에 관련한다.
추가 예에서, 서버는 적어도 하나의 폴백 작업을 실행할 때 차량들 중 하나가 운행할 수 있는 하나 이상의 폴백 위치들을 결정하도록 또한 구성된다. 본 예에서, 파견 명령은 하나 이상의 폴백 위치들을 더 포함한다. 다른 예에서, 시스템은 자율 주행할 수 있는 복수의 차량들을 또한 포함한다.
본 개시내용의 또 다른 양태는 시스템을 제공한다. 시스템은 차량을 제어하는 복수의 자기 구동 시스템들, 하나 이상의 프로세서들, 및 메모리를 포함한다. 메모리는, 실행될 때, 하나 이상의 프로세서들로 하여금 명령어들의 제1 세트를 하나 이상의 자기 구동 시스템들에 송신하여 주 작업을 실행하게 하고, 명령어들의 제2 세트를 하나 이상의 자기 구동 시스템들에 송신하여 트리거와 연관된 폴백 작업을 실행하게 하는 명령어들을 포함하는 트립 관리자 모듈을 포함하고, 트리거는, 만족될 때, 차량이 적절한 동작에 대한 주의를 요구할 때를 표시하는 조건들의 세트이다. 메모리는 실행될 때, 하나 이상의 프로세서들로 하여금 트립 관리자 모듈로부터 차량 상태 업데이트들을 수신하게 하고, 트리거의 조건들의 세트가 트립 관리자 모듈로부터 수신된 현재의 차량 상태에 기초하여 만족되는지를 결정하게 하고, 만족된 트리거의 조건들의 세트와 연관된 폴백 작업에 기초하여 정보를 트립 관리자 모듈에 송신하게 하는 명령어들을 포함하는 작업 감독자 모듈을 또한 포함한다.
한 예에서, 작업 감독자 모듈은 실행될 때, 하나 이상의 프로세서들로 하여금 트리거의 긴급성의 레벨을 결정하게 하는 명령어들을 또한 포함하고, 긴급성의 레벨은 트리거와 연관된 폴백 작업이 트리거의 조건들의 세트가 만족된 후에 얼마나 빨리 실행되느냐에 관련하고, 표시는 긴급성의 레벨을 포함한다. 본 예에서, 트립 관리자 모듈은, 실행될 때, 하나 이상의 프로세서들로 하여금 주 작업을 실행하는 것을 중지하라는 명령어들을 갖는 명령어들의 제2 세트를 송신하게 하는 명령어들을 또한 포함한다.
추가 예에서, 작업 감독자 모듈은 실행될 때, 하나 이상의 프로세서들로 하여금 대응하는 폴백 작업들에 대한 각각의 트리거의 매핑에 액세스함으로써 어떤 폴백 작업이 트리거와 연관되는지를 결정하게 하는 명령어들을 또한 포함한다. 또 다른 예에서, 시스템은 차량을 또한 포함한다.
도 1은 예시적인 실시예에 따른 예시적인 차량의 기능도.
도 2는 예시적인 실시예에 따른 예시적인 시스템의 기능도.
도 3은 본 개시내용의 양태들에 따른 도 2의 시스템의 회화도.
도 4는 본 개시내용의 양태들에 따른 예시적인 지도.
도 5는 본 개시내용의 양태들에 따른 예시적인 도면.
도 6은 본 개시내용의 양태들에 따른 지리적 지역의 예시적인 조감도.
도 7은 본 개시내용의 양태들에 따른 지리적 지역의 또 하나의 예시적인 조감도.
도 8은 본 개시내용의 양태들에 따른 또 하나의 예시적인 도면.
도 9는 본 개시내용의 양태들에 따른 추가의 예시적인 도면.
도 10은 본 개시내용의 양태들에 따른 예시적인 흐름도.
개관
본 기술은 폴백 요청들을 자율적으로 설정하고 실행하는 자율 차량에 관한 것이다. 폴백 작업들은 자율 차량이 정상적으로 동작할 수 없는 경우에 차량의 컴퓨터들이 수행할 수 있는 작업들을 포함할 수 있다. 예를 들어, 일부 폴백 작업들은 특히 차량의 오작동 또는 사고가 있는 경우와 같은 비상 상황들의 경우에 급히 안전하게 정지 상태로 들어오게 하는 것을 포함할 수 있다. 다른 폴백 작업들은 차량의 상태에 기초하여 미리 설정되거나 결정된 또 하나의 위치에 연장된 시간 기간 동안 운행하는 것을 포함한다. 이들 타입의 폴백 작업들은 차량의 연료/에너지가 낮고, 약간의 센서 성능 저하를 검출하고, 플릿 관리 서버와의 접속이 단절되고, 또는 이유가 어찌됐든 간에 어느 다른 더 높은 우선순위 작업들을 완료한 후에 그 다음에 해야 할 것에 관한 어느 특정한 실행 가능한 명령어들이 없을 때와 같은 상황들에서 유용하다. 이들 상황에서, 차량은 여전히 일정 시간 동안 안전하게 운행할 수 있고 그러므로 계속되는 운행을 포함하는 폴백 작업들을 실행할 수 있다. 차량 운행 자체가 서비스되거나 접속을 재개할 상태로 놓는 것은 차량을 서비스하거나 회수하기 위해서 누군가가 차량의 정지된 위치로 이동하여야 하는 위치에 정지하는 것에 우선할 수 있다.
자율 차량 내의 컴퓨팅 디바이스는 별도의 작업들을 위한 명령어들을 포함할 수 있다. 특정한 작업을 위한 명령어들은 단일 모듈을 형성할 수 있다. 위치들 사이에서 차량을 내비게이트하고 조종하는 명령어들을 포함할 수 있는 트립 관리자 모듈이 있을 수 있다. 또한 수신된 작업 요청들을 처리하는 명령어들을 포함할 수 있는 작업 감독자 모듈이 있을 수 있다. 작업 감독자 모듈은 또한 작업들이 언제 서로에 관해 수행되어야 하는지를 결정하는; 바꾸어 말하면, 작업 큐를 관리하는 명령어들을 포함할 수 있다. 또한, 작업 감독자 모듈은 폴백 작업들을 관리하는 것에 전용된 서브-모듈, 폴백 선택기 모듈을 포함할 수 있다. 폴백 선택기 모듈은 수신된 폴백 작업들을 처리하고 어떤 폴백 작업을 언제 실행하는지를 결정하는 명령어들을 포함할 수 있다.
원격 파견 시스템은 승객 관련 또는 비승객 작업 요청에 응답하여, 그와 함께, 또는 그와 독립하여 차량에 하나 이상의 폴백 작업들을 위한 정보를 송신할 수 있다. 승객 관련 작업 요청들, 또는 트립 요청들은 픽업 위치 및 트립에 대한 목적지 위치와 같은 정보를 제공할 수 있다. 비승객 작업들은 사전 위치 결정, 재급유/재충전, 주차, 보수하러 가기, 블록을 순환하는 것, 및 소프트웨어를 업데이트하는 것을 포함할 수 있다. 폴백 선택기 모듈은 폴백 작업을 수신하고 처리할 수 있다. 일부 예들에서, 도 5에 도시한 바와 같이, 모든 승객 관련 또는 비승객 작업 요청은 이유가 어찌됐든 간에 승객 관련 또는 비승객 작업을 완료할 수 없는 경우에 차량으로 하여금 폴백 작업을 수행하게 할 수 있는 폴백 작업 명령어들로 송신될 수 있다.
승객 관련 또는 비승객 작업들은 클라이언트 컴퓨팅 디바이스를 통해 사용자에 의해 개시될 수 있다. 사용자는 승객 관련 또는 비승객 작업에 대한 정보를 파견 시스템에 송신할 수 있다. 파견 시스템은 다음에 작업 요청을 차량의 컴퓨팅 디바이스들에 송신할 수 있고, 여기서 그것은 작업 감독자 모듈에 의해 수신되고 처리된다. 하나 이상의 폴백 작업들은 작업 요청과 연관하여 차량의 컴퓨팅 디바이스들에 송신될 수 있다. 폴백 작업들은 특정한 조건들, 보통 자율 차량이 정상적으로 동작할 수 없을 때와 같은 위급한 조건들하에서 수행되는 작업들이다. 수신된 승객 관련 또는 비승객 작업들은 다음에 차량 내의 하나 이상의 컴퓨팅 디바이스들 내에 큐 내에 작업 감독자 모듈에 의해 저장될 수 있고, 수신된 폴백 작업들은 폴백 선택기 모듈에 의해 메모리 내에 별도로 저장될 수 있다.
예를 들어, 기준 위치, 또는 다른 폴백 작업들이 실행될 수 없을 때 차량이 이동할 위치에 관한 폴백 정보가 사용자 컴퓨팅 디바이스로부터 시스템에 송신될 수 있다. 이 정보는 다음에 차량에 전송될 수 있다. 대안적으로, 시스템 내의 서버는 어떤 사용자 입력을 수신하지 않고 폴백 작업에 대한 정보를 결정하여 차량에 송신할 수 있다. 예를 들어, 서버가 성능 저하된 센서에 대해 보수가 필요하다고 결정할 수 있고 또한 차량의 현재 위치 및 지도 데이터에 기초하여 센서를 수리할 수 있는 가장 가까운 보수 차고를 결정할 수 있다.
폴백 명령어들은 폴백 작업의 성질에 따라 소정의 정보를 포함할 수 있다. 예를 들어, 충전소 또는 보수 차고와 같은 타입의 위치로의 운행을 포함하는 작업들에 대해, 위치 또는 지역이 폴백 명령어들에 명시될 수 있다. 운행 작업의 목적지 위치와 같은 정보는 차량의 컴퓨팅 디바이스에 의해 결정되거나, 차량의 컴퓨팅 디바이스 상에 하드코드될 수 있다. 일부 예들에서, 차량 내로 하드코드된 다수의 위치들이 있을 수 있고, 차량의 컴퓨팅 디바이스는 근접성, 제공되는 서비스들, 화물 레벨, 및 다른 고려 사항들을 고려한 후에 다수의 위치들 중 어디로 이동할지를 결정할 수 있다. 또한, 외부 시스템과의 상호작용과 같은, 운행 및 주차 이외의 조치들을 필요로 하는 작업들에 대해, 명령어들은 또한 연료 공급 시스템들 또는 보수 창고들을 위한 인증 정보와 같은 조치-특정 상세들을 포함할 수 있다.
폴백 명령어들은 또한 하나 이상의 트리거들을 포함할 수 있다. 트리거는 만족될 때, 차량이 폴백 작업을 수행하여야 한다는 것을 표시하는 하나 이상의 조건들을 포함할 수 있다. 조건들은 예를 들어, 미리 결정된 임계와 일치하는 차량의 연료 또는 에너지 레벨, 차량의 컴퓨팅 디바이스와 플릿 관리 디바이스의 서버 간의 접속의 단절, 비어있는 차량의 작업 큐, 및 특정 시간에 스케줄링된 정규 보수를 포함할 수 있다.
특정 트리거의 조건 또는 조건들이 언제 일치되는지를 결정하기 위해, 차량 자기 구동 시스템들은 상태 업데이트들을 주기적으로 및/또는 계속적으로 차량의 컴퓨팅 디바이스에 송신할 수 있다. 예로서, 상태 업데이트들은 차량의 계기들 또는 센서들로부터의 연료 레벨 또는 다른 내부 또는 외부 측정들과 같은 정보를 포함할 수 있다. 도 5에 도시한 바와 같이, 차량의 컴퓨팅 디바이스는 상태 업데이트들을 사용하여 관련 트리거의 하나 이상의 조건들이 일치되는지를 결정할 수 있다. 예를 들어, 연료 표시기는 탱크 내의 연료의 레벨을 계속 모니터할 수 있다. 차량의 컴퓨팅 디바이스의 작업 감독자 모듈은 차량의 연료 절약, 지역 내의 가스 충전소들의 밀도, 및 근처의 가스 충전소에 도달하는 데 필요할 것 같은 연료의 양을 나타내는 다른 인자들에 기초하여 연료의 양에 대한 임계 레벨을 설정할 수 있다. 차량의 컴퓨팅 디바이스의 작업 감독자 모듈은 다음에 연료의 레벨을 모니터하여 그것이 임계 레벨에 언제 도달하는지를 결정할 수 있다.
특정한 트리거의 조건 또는 조건들이 일치된 후에, 폴백 작업이 트리거될 수 있고, 차량의 컴퓨팅 디바이스의 폴백 선택기 모듈은 도 5에 도시한 것과 같이 특정한 트리거에 대응하는 어떤 폴백 작업 또는 작업들을 실행하라는 명령어들을 송신할 수 있다. 예를 들어, 연료 레벨이 트리거로서 정의된 것과 같은 임계에 도달할 때, 폴백 선택기 모듈은 다음에 가장 가까운 가스 충전소로 운행하는 폴백 작업을 실행하라는 명령어들을 송신할 수 있다. 이것은 차량의 현재 위치 및 가스 또는 충전소까지의 최단 경로에 기초하여 가장 가까운 가스 또는 충전소의 위치를 결정하는 것을 포함할 수 있다.
일부 예들에서, 자율 차량은 폴백 작업이 트리거될 때 또 하나의 작업을 수행할 수 있다. 이와 관련하여, 트리거된 특정한 폴백 작업의 폴백 명령어들은 다른 작업을 실행하는 것으로부터 특정한 폴백 작업을 실행하는 것으로 전이하는 추가 명령어들을 포함할 수 있다. 추가 명령어들은 특정한 폴백 작업이 다른 작업의 완료 후에, 또는 큐 내의 일부 다른 명시된 작업 후에, 즉각적으로 실행되어야 하는지의 표시를 또한 포함할 수 있다. 이 표시는 트리거의 긴급성 또는 특정한 폴백 작업의 중요도에 기초할 수 있다. 트리거의 긴급성의 레벨 또는 폴백 작업의 우선순위의 레벨의 지정은 명령어들 내에 포함할 수 있다. 레벨은 높은, 중간, 또는 낮은 것으로서 지정될 수 있다.
일부 예들에서, 차량이 승객 관련 작업을 현재 실행할 때, 폴백 작업은 트립이 완료된 후에 실행될 수 있다. 도 6에 도시한 바와 같이, 승객을 내리게 해서 승객 관련 작업을 완료한 후에, 차량은 큐 내의 다른 작업들 및 파견 시스템으로부터의 추가 명령어들을 갖지 않을 수 있다. 이 상황에서, 차량은 추가 명령어들이 수신될 때까지 근처에 주차하는 폴백 작업을 수행할 수 있다. 도 7에 도시한 또 하나의 상황에서, 재급유 폴백 작업이 승객 관련 작업을 수행하는 동안 트리거될 수 있지만, 승객 관련 작업의 완료 후에 여전히 실행될 수 있다. 이 경우에, 차량의 컴퓨팅 디바이스는 목적지에 도달한 다음에 가장 가까운 가스 충전소에 이동하기에 충분한 연료가 있었다고 결정했을 것이다. 그러나, 트리거링 조치가 급한 것이면, 차량의 컴퓨팅 디바이스의 폴백 선택기 모듈은 승객들을 내리게 하는 것과 관계없이, 트립을 정상보다 이르게 끝내고, 폴백 작업을 실행하는 것을 진행하라는 명령어들을 송신할 수 있다. 이들 상황은 차량이 트립을 완료하는 것을 못하게 할 정도의 차량의 문제를 포함할 수 있다. 또 하나의 자율 차량이 승객들을 픽업하고 그들이 차량에서 내렸다면 트립의 나머지를 완료하기 위해 보내질 수 있다.
도 8에 도시한 바와 같이, 폴백 작업을 수행하는 폴백 명령어들이 잘못 만들어지거나 기타 이유로 또 하나의 폴백 작업으로 대체되지 않아서 폴백 작업이 실행될 수 없다면, 폴백 선택기 모듈은 잘못 만들어진 또는 기타의 경우 결함 명령어들을 갖는 폴백 작업이 트리거될 때 자율 차량을 기준 위치로 조종하라는 명령어들을 송신할 수 있다. 대안적으로, 차량은 다른 폴백 명령어들이 수신되지 않았을 때 기준 위치로 운행될 수 있다. 기준 위치의 주소 또는 위치 좌표들이 차량 내로 하드코드될 수 있다. 일부 예들에서, 다수의 기준 위치들의 주소 또는 위치 좌표들이 하드코드될 수 있어서, 차량의 컴퓨팅 디바이스의 폴백 선택기 모듈이 차량을 선택하여 폴백 작업이 언제 트리거되는지에 따라 가장 가깝거나 가장 편한 기준 위치로 조종하게 한다. 한 예에서, 차량이 동작 중에 있을 때마다 최후의 수단으로서 차량이 가야 할 위치가 있는 것을 보장하는, 기준 위치가 차량에 대해 설정되지 않았다면, 차량은 출발하지 않을 것이고, 그러므로 자율 차량이 멈추게 되는 위험을 줄인다.
일부 외부 및/또는 내부 요인들로 인해 자율 차량이 폴백 작업 명령어들에 명시된 위치 또는 기준 위치에 도달할 수 없는 경우에, 차량의 컴퓨팅 디바이스의 폴백 선택기 모듈은 다음에 차량을 정차시키고 메시지를 파견 시스템에 송신할 수 있다. 이 메시지는 차량의 위치 및/또는 외부 및/또는 내부 요인들의 리스트를 포함할 수 있다.
일부 상황들에서, 조건들은 차량이 현재 수행하고 있는 현재의 폴백 작업의 트리거의 조건 또는 조건들이 더 이상 일치되지 않도록 변화할 수 있다. 폴백 선택기 모듈은 이것이 일어나는지를 결정할 수 있다. 조건 또는 조건들이 더 이상 일치되지 않을 때, 차량은 현재의 폴백 작업을 계속 실행하거나 폴백 작업의 추가 명령어들에 따라 작업 큐 내의 정상적으로 스케줄링된 작업들을 실행하는 것에 복귀할 수 있다. 정상적으로 스케줄링된 작업을 실행하는 것에 복귀하는 것은 현재의 폴백 작업 또는 큐 내의 다음 작업에 의해 인터럽트되었을 것 같은 작업을 수행하는 것을 의미할 수 있다.
부가적으로 또는 대안적으로, 컴퓨팅 디바이스는 파견 시스템에 상태 업데이트 보고들을 송신할 수 있다. 상태 업데이트 보고들에 기초하여, 파견 시스템은 도 9에 도시한 바와 같이, 업데이트된 폴백 명령어들을 자율 차량에 송신할 수 있다. 폴백 선택기 모듈은 이전에 수신된 폴백 명령어들을 업데이트된 폴백 작업 정보로 대체할 수 있다. 일부 예들에서, 이전에 송신된 폴백 작업은 작업 요청과 함께 송신되었을 것이다. 그러나, 다른 예들에서, 업데이트된 폴백 작업은 이전에 송신된 폴백 작업(들)과 함께 차량의 컴퓨팅 디바이스 내에 저장될 수 있다.
예시적인 시스템들
도 1에 도시한 바와 같이, 본 개시내용의 한 양태에 따른 차량(100)은 다양한 컴포넌트들을 포함한다. 본 개시내용의 소정의 양태들이 특정한 타입들의 차량들과 관련하여 특히 유용하지만, 차량은 승용차들, 트럭들, 모터사이클들, 버스들, 오락용 차량들 등을 포함하지만, 이들로 제한되지 않은 임의 타입의 차량일 수 있다. 차량은 범용 컴퓨팅 디바이스들에 전형적으로 존재하는 하나 이상의 프로세서들(120), 메모리(130) 및 다른 컴포넌트들을 포함하는 컴퓨팅 디바이스(110)와 같은 하나 이상의 컴퓨팅 디바이스들을 포함할 수 있다.
메모리(130)는 프로세서(120)에 의해 실행되거나 혹은 사용될 수 있는 명령어들(132) 및 데이터(138)를 포함하는, 하나 이상의 프로세서들(120)에 의해 액세스 가능한 정보를 저장한다. 메모리(130)는 컴퓨팅 디바이스 판독 가능 매체, 또는 다른 기입 가능 및 판독 전용 메모리들뿐만 아니라, 하드 드라이브, 메모리 카드, ROM, RAM, DVD 또는 다른 광학 디스크들과 같은, 전자 디바이스의 도움으로 판독될 수 있는 데이터를 저장하는 다른 매체를 포함하는, 프로세서에 의해 액세스 가능한 정보를 저장할 수 있는 임의 타입으로 될 수 있다. 시스템들 및 방법들은 전술한 것의 상이한 조합들을 포함할 수 있음으로써, 명령어들 및 데이터의 상이한 부분들이 상이한 타입들의 매체 상에 저장된다.
명령어들(132)은 프로세서에 의해 (머신 코드와 같이) 직접적으로 또는 (스크립트들과 같이) 간접적으로 실행될 명령어들의 임의 세트일 수 있다. 예를 들어, 명령어들은 컴퓨팅 디바이스 판독 가능 매체 상에 컴퓨팅 디바이스 코드로서 저장될 수 있다. 그와 관련하여, 용어들 "명령어들" 및 "프로그램들"은 여기서 서로 교환하여 사용될 수 있다. 명령어들은 프로세서에 의해 직접 처리하기 위한 오브젝트 코드 포맷으로, 또는 요구 시 인터프리트되거나 미리 컴파일된 독립하는 소스 코드 모듈들의 스크립트들 또는 집합들을 포함하는 기타 컴퓨팅 디바이스 언어로 저장될 수 있다. 기능들, 방법들, 및 명령어들의 루틴들이 아래에 보다 상세히 설명된다.
명령어들은 특정한 작업을 완료하는 명령어들을 포함할 수 있다. 예를 들어, 차량을 위치들 사이에서 내비게이트하고 조종하는 명령어들을 포함할 수 있는 트립 관리자 모듈(134)이 있을 수 있다. 수신된 작업 요청들을 처리하는 명령어들을 포함할 수 있는 작업 감독자 모듈(136)이 또한 있을 수 있다. 작업 감독자 모듈(136)은 또한 작업들이 서로에 관련하여 언제 수행되어야 하는지를 결정하는; 바꾸어 말하면, 작업 큐를 관리하는 명령어들을 포함할 수 있다. 또한, 작업 감독자 모듈(136)은 폴백 작업들을 관리하는 것에 전용된 서브-모듈, 폴백 선택기 모듈(137)을 포함할 수 있다. 폴백 선택기 모듈(137)은 수신된 폴백 작업들을 처리하고 어떤 폴백 작업들을 언제 실행하는지를 결정하는 명령어들을 포함할 수 있다.
데이터(138)는 명령어들(132)에 따라 프로세서(120)에 의해 검색, 저장, 또는 수정될 수 있다. 예를 들어, 청구된 주제가 임의의 특정한 데이터 구조에 의해 제한되지 않지만, 데이터는 복수의 상이한 필드들 및 레코드들을 갖는 테이블, XML 문서들 또는 플팻 파일들로서 관련 데이터베이스에, 컴퓨팅 디바이스 레지스터들 내에 저장될 수 있다. 데이터는 또한 임의의 컴퓨팅 디바이스 판독 가능 포맷으로 포맷될 수 있다.
하나 이상의 프로세서(120)는 상용화된 CPU들과 같은 임의의 통상적인 프로세서들일 수 있다. 대안적으로, 하나 이상의 프로세서들은 ASIC 또는 다른 하드웨어 기반 프로세서와 같은 전용 디바이스일 수 있다. 도 1은 동일한 블록 내에 있는 것으로 컴퓨팅 디바이스(110)의 프로세서, 메모리, 및 다른 요소들을 기능적으로 도시하지만, 본 기술 분야의 통상의 기술자들은 프로세서, 컴퓨팅 디바이스, 또는 메모리는 실제로 동일한 물리적 하우징 내에 넣어지거나 넣어지지 않을 수 있는 다수의 프로세서들, 컴퓨팅 디바이스들, 또는 메모리들을 포함할 수 있다는 것을 이해할 것이다. 예를 들어, 메모리는 컴퓨팅 디바이스(110)의 것과 상이한 하우징 내에 위치한 하드 드라이브 또는 다른 저장 매체일 수 있다. 따라서, 프로세서 또는 컴퓨팅 디바이스라고 하는 것은 병렬로 동작하거나 하지 않을 수 있는 프로세서들 또는 컴퓨팅 디바이스들 또는 메모리들의 집합을 포함하는 것이라고 이해될 것이다.
컴퓨팅 디바이스(110)는 사용자 입력(150)(예를 들어, 마우스, 키보드, 터치 스크림 및/또는 마이크로폰) 및 다양한 전자 디스플레이들(예를 들어, 스크린 또는 정보를 디스플레이하도록 동작할 수 있는 기타 전기 디바이스를 갖는 모니터)뿐만 아니라 위에 설명된 프로세서 및 메모리와 같은 컴퓨팅 디바이스와 관련하여 일반적으로 사용되는 컴포넌트들 모두를 포함할 수 있다. 본 예에서, 차량은 정보 또는 시청각 경험들을 제공하기 위해 하나 이상의 스피커들(154)뿐만 아니라 내부 전자 디스플레이(152)를 포함한다. 이와 관련하여, 내부 전자 디스플레이(152)는 차량(100)의 캐빈 내에 위치할 수 있고 차량(100) 안의 승객들에게 정보를 제공하기 위해 컴퓨팅 디바이스(110)에 의해 사용될 수 있다.
컴퓨팅 디바이스(110)는 또한 아래에 상세히 설명되는 클라이언트 컴퓨팅 디바이스들 및 서버 컴퓨팅 디바이스들과 같은, 다른 컴퓨팅 디바이스들과의 통신을 가능하게 하기 위해 하나 이상의 무선 네트워크 접속들(154)을 포함할 수 있다. 무선 네트워크 접속들은 인터넷, 월드 와이드 웹, 인트라넷들, 가상 사설 네트워크들, 광역 네트워크들, 근거리 네트워크들, 하나 이상의 회사들 전용의 통신 프로토콜들을 사용하는 사설 네트워크들, 이더넷, 와이파이 및 HTTP, 및 전술한 것의 다양한 조합들을 포함하는 다양한 구성들 및 프로토콜들뿐만 아니라, 블루투스, 저전력 블루투스(LE), 셀룰러 접속들과 같은 단거리 통신 프로토콜들을 포함할 수 있다.
예에서, 컴퓨팅 디바이스(110)는 차량(100) 내로 통합된 자율 주행 컴퓨팅 시스템일 수 있다. 자율 주행 컴퓨팅 시스템은 차량의 다양한 컴포넌트들과 통신할 수 있다. 예를 들어, 도 1로 돌아오면, 컴퓨팅 디바이스(110)는 메모리(130)의 명령어들(132)에 따라 차량(100)의 이동, 속도 등을 제어하기 위해 감속 시스템(160), 가속 시스템(162), 스티어링 시스템(164), 시그널링 시스템(166), 내비게이션 시스템(168), 위치 결정 시스템(170), 및 검출 시스템(172)과 같은, 차량(100)의 다양한 시스템들과 통신할 수 있다. 또한, 이들 시스템이 컴퓨팅 디바이스(110) 외부에 있는 것으로 도시되지만, 실제로, 이들 시스템은 차량(100)을 제어하는 자율 주행 컴퓨팅 시스템으로서 또한, 컴퓨팅 디바이스(110) 내로 통합될 수 있다.
한 예로서, 컴퓨팅 디바이스(110)는 차량의 속도를 제어하기 위해 감속 시스템(160) 및 가속 시스템(162)과 상호작용할 수 있다. 유사하게, 스티어링 시스템(164)은 차량(100)의 방향을 제어하기 위해 컴퓨터(110)에 의해 사용될 수 있다. 예를 들어, 차량(100)이 승용차 또는 트럭과 같이, 도로 상의 사용을 위해 구성되면, 스티어링 시스템은 차량을 방향 전환하기 위해 바퀴들의 각도를 제어하는 컴포넌트들을 포함할 수 있다. 시그널링 시스템(166)은 예를 들어, 필요할 때 방향 지시등들 또는 브레이크등을 점등함으로써 차량의 의도를 다른 운전자들 또는 차량들에 알리기 위해 컴퓨팅 디바이스(110)에 의해 사용될 수 있다.
내비게이션 시스템(168)은 위치로의 경로를 결정하고 따르기 위해 컴퓨팅 디바이스(110)에 의해 사용될 수 있다. 이와 관련하여, 내비게이션 시스템(168) 및/또는 데이터(138)는 상세한 지도 정보, 예를 들어, 도로들의 형상 및 고도, 차선들, 교차로들, 횡단보도들, 속도 제한들, 교통 신호들, 빌딩, 표지판들, 실시간 교통 정보, 초목, 또는 다른 그러한 물체들 및 정보를 식별하는 매우 상세한 지도들을 저장할 수 있다.
도 4는 지도(400)의 예이다. 본 예에서, 지도는 차로들(410-416), 교차로들(420-426), 빌딩들(430-436), 주유소(438), 주차 공간들(440-446)), (예를 들어, 주차 차고 또는 다른 위치로의) 진입로(450), 노견 영역들(452-454), 및 주차 금지 구역(456)과 같은 다양한 특징들의 형상 및 위치를 식별하는 복수의 상이한 특징들을 포함할 수 있다. 함께, 이들 특징은 단일 도시 블록에 대응한다. 지도(400)는 위에 설명된 상세한 지도들의 일부이고 차량(100)을 조종하기 위해 차량(100)의 다양한 컴퓨팅 디바이스들에 의해 사용될 수 있다.
위치 결정 시스템(170)은 지도 상의 또는 지구 상의 차량의 상대적인 및 절대적인 위치를 결정하기 위해 컴퓨팅 디바이스(110)에 의해 사용될 수 있다. 예를 들어, 위치 결정 시스템(170)은 디바이스의 위도, 경도 및/또는 고도 위치를 결정하기 위해 GPS 수신기를 포함할 수 있다. 레이저 기반 로컬라이제이션 시스템들, 관성 지원 GPS, 또는 카메라 기반 로컬라이제이션과 같은 다른 위치 시스템들이 또한 차량의 위치를 식별하기 위해 사용될 수 있다. 차량의 위치는 위도, 경도, 및 고도와 같은 절대적인 지리적 위치뿐만 아니라, 절대적인 지리적 위치보다 종종 잡음이 적은 것으로 결정될 수 있는 그것의 바로 주위의 다른 차량들에 대한 위치와 같은 상대적인 위치 정보를 포함할 수 있다.
위치 결정 시스템(170)은 차량의 방향 및 속도 또는 그에 대한 변화들을 결정하기 위해 가속도계, 자이로스코프 또는 다른 방향/속도 검출 디바이스와 같은, 컴퓨팅 디바이스(110)와 통신하는 다른 디바이스들을 또한 포함할 수 있다. 단지 예로서만, 가속 디바이스는 중력의 방향 또는 그에 수직인 평면에 대한 그것의 피치, 요 또는 롤(또는 그에 대한 변화들)을 결정할 수 있다. 디바이스는 또한 속도의 증가들 또는 감소들 및 이러한 변화들의 방향을 추적할 수 있다. 여기에 기술되는 것과 같은 위치 및 배향 데이터의 디바이스의 공급이 컴퓨팅 디바이스(110), 다른 컴퓨팅 디바이스들 및 전술한 것의 조합들에 자동적으로 제공될 수 있다.
검출 시스템(172)은 또한 도로 내의 다른 차량들, 장애물들, 교통 신호들, 표지판들, 나무들 등과 같은 차량 외부의 물체들을 검출하는 하나 이상의 컴포넌트들을 포함한다. 예를 들어, 검출 시스템(170)은 레이저들, 소너, 레이더, 카메라들 및/또는 컴퓨팅 디바이스(110)에 의해 처리될 수 있는 데이터를 기록하는 다른 검출 디바이스들을 포함할 수 있다. 차량이 승용차와 같은 소형의 승객 차량인 경우에, 승용차는 루프 또는 다른 편리한 위치 상에 장착된 레이저 또는 다른 센서들을 포함할 수 있다.
컴퓨팅 디바이스(110)는 다양한 컴포넌트들을 제어함으로써 차량의 방향 및 속도를 제어할 수 있다. 예로서, 컴퓨팅 디바이스(110)는 상세한 지도 정보 및 내비게이션 시스템(168)으로부터의 데이터를 사용하여 차량을 목적지 위치까지 완전히 자율적으로 내비게이트할 수 있다. 컴퓨팅 디바이스(110)는 위치 결정 시스템(170)을 사용하여 차량의 위치를 결정할 수 있고 검출 시스템(172)을 사용하여 위치에 안전하게 도달하기 위해 필요할 때 물체들을 검출하고 그에 응답할 수 있다. 그렇게 하기 위해서, 컴퓨팅 디바이스(110)는 차량으로 하여금 (예를 들어, 가속 시스템(162)에 의해 엔진에 제공되는 연료 또는 다른 에너지를 증가시킴으로써) 가속하고, (감속 시스템(160)에 의해 엔진에 공급되는 연료를 감소시키고, 기어들을 바꿈으로써, 및/또는 브레이크들을 밟음으로써) 감속하고, (예를 들어, 스티어링 시스템(164)에 의해 차량(100)의 전륜들 또는 후륜들을 회전시킴으로써) 방향을 바꾸고, (예를 들어, 시그널링 시스템(166)의 방향 지시등들을 점등함으로써) 이러한 변화들을 신호하게 할 수 있다. 그러므로, 가속 시스템(162)과 감속 시스템(162)은 차량의 엔진과 차량의 바퀴들 사이의 다양한 컴포넌트들을 포함하는 동력 전달 장치의 일부일 수 있다. 다시, 이들 시스템을 제어함으로써, 컴퓨팅 디바이스(110)는 또한 차량을 자율적으로 조종하기 위해 차량의 동력 전달 장치를 제어할 수 있다.
차량(100)의 컴퓨팅 디바이스(110)는 또한 다른 컴퓨팅 디바이스들과 정보를 수신 또는 송신할 수 있다. 도 2 및 3은 각각 네트워크(260)를 통해 접속된 복수의 컴퓨팅 디바이스들(210, 220, 230, 240) 및 저장 시스템(250)을 포함하는 예시적인 시스템(200)의 회화도 및 기능도이다. 시스템(200)은 또한 차량(100), 및 차량(100)과 유사하게 구성될 수 있는 차량(100A)을 포함한다. 간단히 하기 위해 단지 몇개의 차량들 및 컴퓨팅 디바이스들 만이 도시되지만, 전형적인 시스템은 상당히 더 많이 포함할 수 있다.
도 3에 도시한 바와 같이, 컴퓨팅 디바이스들(210, 220, 230, 240) 각각은 하나 이상의 프로세서들, 메모리, 데이터 및 명령어들을 포함할 수 있다. 이러한 프로세서들, 메모리들, 데이터 및 명령어들은 컴퓨팅 디바이스(110)의 하나 이상의 프로세서들(120), 메모리(130), 명령어들(132), 및 데이터(138)와 유사하게 구성될 수 있다.
네트워크(260), 중개 노드들은 블루투스, 블루투스 LE, 인터넷, 월드 와이드 웹, 인트라넷들, 가상 사설 네트워크들, 광역 네트워크들, 근거리 네트워크들, 하나 이상의 회사들 전용의 통신 프로토콜들을 사용하는 사설 네트워크들, 이더넷, 와이파이 및 HTTP, 및 전술한 것의 다양한 조합들과 같은 단거리 통신 프로토콜들을 포함하는 다양한 구성들 및 프로토콜들을 포함할 수 있다. 이러한 통신은 모뎀들 및 무선 인터페이스들과 같은, 다른 컴퓨팅 디바이스들과 데이터를 송신할 수 있는 임의의 디바이스에 의해 가능해질 수 있다.
한 예에서, 하나 이상의 컴퓨팅 디바이스들(110)은 복수의 컴퓨팅 디바이스들, 예를 들어, 다른 컴퓨팅 디바이스들과 데이터를 수신, 처리 및 송신하는 목적을 위해 네트워크의 상이한 노드들과 정보를 교환하는 로드 밸런스된 서버 팜을 갖는 서버를 포함할 수 있다. 예를 들어, 하나 이상의 컴퓨팅 디바이스들(210)은 네트워크(260)를 통해 컴퓨팅 디바이스들(220, 230, 240) 뿐만 아니라 차량(100)의 컴퓨팅 디바이스(110) 또는 차량(100A)의 유사한 컴퓨팅 디바이스와 통신할 수 있는 하나 이상의 서버 컴퓨팅 디바이스들을 포함할 수 있다. 예를 들어, 차량들(100 및 100A)은 하나 이상의 서버 컴퓨팅 디바이스들에 의해 다양한 위치들에 파견될 수 있는 차량들의 플릿의 일부일 수 있다. 이와 관련하여, 플릿의 차량들은 차량의 각각의 위치 결정 시스템들에 의해 제공된 위치 정보를 하나 이상의 컴퓨팅 디바이스들에 주기적으로 송신할 수 있고 하나 이상의 서버 컴퓨팅 디바이스들은 차량들의 위치들을 추적할 수 있다.
또한, 하나 이상의 서버 컴퓨팅 디바이스들(210)은 네트워크(260)를 사용하여 컴퓨팅 디바이스들(220, 230, 240)의 디스플레이들(224, 234, 242)과 같은 디스플레이 상에 사용자(222, 232, 242)와 같은 사용자에게 정보를 송신하고 제시할 수 있다. 이와 관련하여, 컴퓨팅 디바이스들(220, 230, 240)은 클라이언트 컴퓨팅 디바이스들로 고려될 수 있다.
도 3에 도시한 바와 같이, 각각의 클라이언트 컴퓨팅 디바이스(220, 230, 240)는 사용자(222, 232, 242)가 사용하기로 의도된 퍼스널 컴퓨팅 디바이스일 수 있고, 하나 이상의 프로세서들(예를 들어, 중앙 처리 장치(CPU)), 데이터 및 명령어들을 저장하는 메모리(예를 들어, RAM 및 내부 하드 드라이브들), 디스플레이들(224, 234, 244)(예를 들어, 스크린, 터치-스크린, 프로젝터, 텔레비전, 또는 정보를 디스플레이하도록 동작할 수 있는 다른 디바이스를 갖는 모니터)와 같은 디스플레이, 및 사용자 입력 디바이스들(226, 236, 246)(예를 들어, 마우스, 키보드, 터치 스크린 또는 마이크로폰)을 포함하는 퍼스널 컴퓨팅 디바이스와 관련하여 정상적으로 사용되는 컴포넌트들 모두를 가질 수 있다. 클라이언트 컴퓨팅 디바이스들은 또한 비디오 스트림들을 기록하는 카메라, 스피커들, 네트워크 인터페이스 디바이스, 및 이들 요소를 서로 접속하기 위해 사용되는 컴포넌트들 모두를 포함할 수 있다.
또한, 클라이언트 컴퓨팅 디바이스들(220 및 230)은 클라이언트 컴퓨팅 디바이스들의 위치 및 배향을 결정하는 컴포넌트들(228 및 238)을 또한 포함할 수 있다. 예를 들어, 이들 컴포넌트는 차량(100)의 위치 결정 시스템(170)과 관련하여 위에 설명된 것과 같은 가속도계, 자이로스코프 또는 다른 방향/속도 검출 디바이스뿐만 아니라 디바이스의 위도, 경도 및/또는 고도를 결정하기 위해 GPS 수신기를 포함할 수 있다.
클라이언트 컴퓨팅 디바이스들(220, 230, 및 240)이 각각 풀사이즈 퍼스널 컴퓨팅 디바이스를 포함할 수 있지만, 그들은 대안적으로 인터넷과 같은 네트워크를 통해 서버와 데이터를 무선으로 교환할 수 있는 이동 컴퓨팅 디바이스들을 포함할 수 있다. 단지 예로서, 클라이언트 컴퓨팅 디바이스(220)는 이동 전화 또는 무선 가능 PDA, 태블릿 PC, 웨어러블 컴퓨팅 디바이스 또는 시스템과 같은 디바이스, 또는 인터넷 또는 다른 네트워크들을 통해 정보를 획득할 수 있는 넷북일 수 있다. 또 다른 예에서, 클라이언트 컴퓨팅 디바이스(230)는 도 2 내의 헤드-마운트 컴퓨팅 시스템으로서 도시한 웨어러블 컴퓨팅 시스템일 수 있다. 예로서 사용자는 소형 키보드, 키패드, 마이크로폰을 사용하여, 카메라, 또는 터치 스크린에 시각 신호들을 사용하여 정보를 입력할 수 있다.
일부 예들에서, 클라이언트 컴퓨팅 디바이스(240)는 사용자들(222 및 232)과 같은 사용자들에 콘시어지 서비스들을 제공하기 위해 관리자에 의해 사용되는 콘시어지 워크 스테이션일 수 있다. 예를 들어, 콘시어지(242)는 콘시어지 워크 스테이션(240)을 사용하여 아래에 상세히 더 설명되는 것과 같이 차량들(100 또는 100A)의 안전한 동작 및 사용자들의 안전을 가능하게 하기 위해 그들 각각의 클라이언트 컴퓨팅 디바이스들 또는 차량들(100 또는 100A)을 통해 사용자들과의 전화 호출 또는 오디오 접속을 통해 통신할 수 있다. 단지 하나의 콘시어지 워크 스테이션(240)이 도 2 및 3에 도시되지만, 임의 수의 이러한 워크 스테이션들이 전형적인 시스템 내에 포함될 수 있다.
저장 시스템(250)은 아래에 보다 더 상세히 설명되는 것과 같은 다양한 타입들의 정보를 저장할 수 있다. 이 정보는 여기에 설명된 특징들의 일부 또는 모두를 수행하기 위해, 하나 이상의 서버 컴퓨팅 디바이스들(210)과 같은 하나 이상의 서버 컴퓨팅 디바이스들에 의해 검색되거나 혹은 액세스될 수 있다. 예를 들어, 정보는 위치들 간의 경로들을 발생 및 추정하는 경로 데이터를 포함할 수 있다. 경로 정보는 차량이 제1 위치로부터 제2 위치에 도달하는 데 얼마나 오래 걸리는지를 추정하기 위해 사용될 수 있다. 이와 관련하여, 경로 정보는 위에 설명된 상세한 지도 정보와 같은 것이 특히 필요하지는 않지만, 예상된 교통 조건들 등을 식별하는 교통 정보뿐만 아니라, 방향(일방향, 양방향 등), 배향(북, 남 등), 속도 제한들과 같은 그들 도로에 관한 정보뿐만 아니라, 도로를 포함하는 지도 정보를 포함할 수 있다. 정보는 또한 작업 큐, 다양한 작업들, 및 작업들과 연관된 정보를 포함할 수 있다. 작업들은 승객 관련 작업들, 비승객 작업들, 폴백 작업들 등일 수 있다.
메모리(130)와 같이, 저장 시스템(250)은 하드 드라이브, 메모리 카드, ROM, RAM, DVD, CD-ROM, 기입 가능, 및 판독 전용 메모리들과 같은, 하나 이상의 서버 컴퓨팅 디바이스들(210)에 의해 액세스 가능한 정보를 저장할 수 있는 임의 타입의 컴퓨터화된 저장 장치일 수 있다. 또한, 저장 시스템(250)은 물리적으로 동일한 또는 상이한 지리적 위치들에 위치할 수 있는, 복수의 상이한 저장 디바이스들 상에 데이터가 저장되는 분배된 저장 시스템을 포함할 수 있다. 저장 시스템(150)은 도 2에 도시한 바와 같이 네트워크(260)를 통해 컴퓨팅 디바이스들에 접속될 수 있거나 컴퓨팅 디바이스들(110, 210, 220, 230, 240 등) 중의 어느 것과 직접 접속되거나 그 안으로 통합될 수 있다.
위에 설명되고 도면에 도시된 동작들 외에, 다양한 동작들이 이제 설명될 것이다. 다음의 동작들은 아래에 설명된 정확한 순서로 수행되어야 하는 것은 아니라는 것을 이해하여야 한다. 오히려, 다양한 단계들은 상이한 순서로 또는 동시에 처리될 수 있고, 단계들은 또한 부가 또는 생략될 수 있다.
예시적인 방법들
한 양태에서, 사용자는 차량에 요청하는 애플리케이션을 클라이언트 컴퓨팅 디바이스에 다운로드할 수 있다. 예를 들어, 사용자들(222 및 232)은 이메일로 링크를 통해, 웹사이트, 또는 애플리케이션 스토어로부터 직접 애플리케이션을 클라이언트 컴퓨팅 디바이스들(220 및 230)에 다운로드할 수 있다. 예를 들어, 클라이언트 컴퓨팅 디바이스는 예를 들어, 하나 이상의 서버 컴퓨팅 디바이스들(210)에 네트워크를 통해 애플리케이션에 대한 요청을 송신하고, 응답하여 애플리케이션을 수신할 수 있다. 애플리케이션은 클라이언트 컴퓨팅 디바이스에서 가까이에 인스톨될 수 있다.
사용자는 다음에 그의 클라이언트 컴퓨팅 디바이스를 사용하여 애플리케이션에 액세스하고 차량에 요청할 수 있다. 예를 들어, 사용자(232)와 같은 사용자는 클라이언트 컴퓨팅 디바이스(230)를 사용하여 요청을 차량의 하나 이상의 서버 컴퓨팅 디바이스들(210)에 송신할 수 있다. 차량에 대한 이 요청은 도 5 내의 단계 510에서 도시한 것과 같은 작업 요청일 수 있다. 예로서, 요청은 승객 관련 작업, 또는 픽업 위치 및 트립에 대한 목적지 위치와 같은 정보를 제공하는 트립 요청일 수 있다. 예로서, 이러한 위치는 거리 주소들, 위치 좌표들, 관심지들 등에 의해 식별될 수 있다. 예를 들어, 지도(400)는 사용자(232) 및/또는 클라이언트 디바이스(230)의 목적지 위치 D에 대응하는 지도 포인터(470)를 또한 포함할 수 있다. 아래에 논의되는 바와 같이, 차량의 컴퓨팅 디바이스(110)는 다음에 차량을 목적지 위치 D를 향해 조종할 수 있다.
차량(100)이 하나 이상의 서버 컴퓨팅 디바이스들로부터 차량을 사용자에 파견하는 정보를 수신할 때, 차량의 컴퓨팅 디바이스(110)는 지도(400)를 사용하여 차량의 현재 위치에 대한 목적지 위치를 식별할 수 있다.
작업 요청을 수신하는 것에 응답하여, 하나 이상의 서버 컴퓨팅 디바이스들(210)은, 예를 들어 가용성 및 위치에 기초하여, 차량을 식별하여 픽업 위치로 파견할 수 있다. 이 파견은 차량에 사용자(및/또는 사용자의 클라이언트 디바이스), 픽업 위치, 및 목적지 위치 또는 지역을 식별하는 승객 관련 작업 요청을 송신하는 것을 포함할 수 있다.
승객 관련 작업 요청에 부가하여 또는 대안으로서, 하나 이상의 서버 컴퓨팅 디바이스들(210)은 하나 이상의 비승객 작업 요청들을 차량의 컴퓨팅 디바이스(110)에 송신할 수 있다. 비승객 작업 요청들은 비승객 작업을 실행하라는 명령어들을 포함할 수 있다. 비승객 작업들은 사전 위치 결정, 재급유/재충전, 주차, 보수하러 가기, 블록을 순환하는 것, 및 소프트웨어를 업데이트하는 것을 포함할 수 있다.
임의의 수신된 승객 관련 작업들 또는 비승객 작업 요청들은 차량 내의 하나 이상의 컴퓨팅 디바이스들 내에 큐 내에 차량의 컴퓨팅 디바이스(110)의 작업 감독자 모듈(136)에 의해 저장될 수 있다. 단계 530에 도시한 바와 같이, 작업 요청이 큐의 상부에 도달할 때, 작업 요청 명령어들이 차량 자기 구동 시스템들(160-172)에 송신되어 시스템들 중 하나 이상으로 하여금 작업 요청 내에 포함된 작업을 수행하게 할 수 있다.
하나 이상의 서버 컴퓨팅 디바이스들(210)은 또한 단계 520에 도시한 바와 같이 승객 관련에 응답하여 및/또는 그와 함께 하나 이상의 폴백 작업들에 대한 정보를 차량의 컴퓨팅 디바이스(110)에 송신할 수 있다. 폴백 작업 요청은 차량이 이유가 어찌됐든 간에 폴백 작업과 연관된 승객 관련 또는 비승객 작업을 완료할 수 없을 때 차량이 수행하여야 하는 폴백 작업을 실행하라는 명령어들을 포함할 수 있다. 이와 관련하여, 각각의 폴백 작업은 적어도 하나의 비승객 또는 승객 관련 작업과 연관될 수 있다. 임의의 수신된 폴백 작업들의 작업들이 큐로부터 별도로, 예를 들어, 폴백 선택기 모듈(137)에 의해 메모리 내에 저장될 수 있다.
위에 주목된 바와 같이 폴백 작업은 폴백 작업을 수행하는 폴백 명령어들을 포함할 수 있다. 명령어들의 성질은 폴백 작업의 성질에 의존할 수 있다. 예를 들어, 충전소 또는 보수 차고와 같은 타입의 위치로의 운행을 포함하는 작업들에 대해, 위치 또는 지역이 폴백 명령어들에 명시될 수 있다. 차량의 컴퓨팅 디바이스(110)에 의해 결정되거나, 차량의 컴퓨팅 디바이스(110) 상에 하드코드된 정보는 사용자 컴퓨팅 디바이스(220)를 통해 차량의 컴퓨팅 디바이스(110)에 송신될 수 있다. 일부 예들에서, 다수의 위치들이 차량(100) 내로 하드코드될 수 있고, 차량의 컴퓨팅 디바이스(110)는 근접성, 제공된 서비스들, 화물 레벨, 및 다른 고려 사항들과 같은 관련 인자들을 고려한 후에 다수의 위치들 중 어디로 이동할지를 결정할 수 있다. 또한, 외부 시스템과의 상호작용과 같은, 운행 및 주차 이외의 조치들을 필요로 하는 작업들에 대해, 명령어들은 또한 연료 시스템들 또는 보수 창고들을 위한 인증 정보과 같은 조치-특정 상세들을 포함할 수 있다.
예로서, 폴백 명령어들은 기준 위치를 식별할 수 있다. 기준 위치는 다른 폴백 작업들이 실행되지 않을 때 차량이 이동할 위치를 포함할 수 있다. 기준 위치는 콘시어지 워크 스테이션(240)으로부터 하나 이상의 서버 컴퓨팅 디바이스들들(210)에 송신될 수 있다. 이 정보는 하나 이상의 서버 컴퓨팅 디바이스들들(210)로부터 차량의 컴퓨팅 디바이스(110)에 전송될 수 있다. 또 하나의 예에서, 하나 이상의 서버 컴퓨팅 디바이스들(220)은 성능 저하된 센서에 대해 보수가 필요하다고 결정할 수 있고 또한 차량의 현재 위치 및 지도 데이터에 기초하여 센서를 수리할 수 있는 가장 가까운 보수 차고를 결정할 수 있다.
폴백 명령어들은 또한 폴백 작업이 실행되어야 할 때를 표시하는 하나 이상의 트리거들을 포함할 수 있다. 각각의 트리거는 만족될 때, 차량이 연관된 폴백 작업을 수행하여야 한다는 것을 표시하는 하나 이상의 조건들을 포함할 수 있다. 조건들은 예를 들어, 10%와 같은, 미리 결정된 임계와 일치하는 차량의 연료 또는 에너지 레벨; 수분과 같은, 설정된 시간 동안의 차량의 컴퓨팅 디바이스와 플릿 관리 디바이스의 서버 사이의 접속의 단절; 비어있는 차량의 작업 큐; 및 30분과 같은, 정규 보수가 스케줄될 때 전에 설정된 간격인 시간을 포함할 수 있다.
특정 트리거의 조건 또는 조건들이 언제 일치되는지를 결정하기 위해, 차량 자기 구동 시스템들(160-172)은 단계 540에 도시한 바와 같이, 상태 업데이트들을 송신할 수 있다. 이들 업데이트는 차량의 컴퓨팅 디바이스(110)에 주기적으로 및/또는 계속적으로 송신될 수 있다. 예로서, 상태 업데이트들은 차량의 계기들 또는 센서들로부터의 연료 레벨 또는 다른 내부 또는 외부 측정들과 같은 정보를 포함할 수 있다. 단계 540에서 수신된 상태 업데이트들에 기초하여, 차량의 컴퓨팅 디바이스(110)는 단계 550에서 트리거의 하나 이상의 조건들이 일치되는지를 결정할 수 있다. 예를 들어, 연료 표시기는 탱크 내의 연료의 레벨을 계속 모니터할 수 있다. 차량의 컴퓨팅 디바이스(110)의 작업 감독자 모듈(136)은 차량의 연료 절약, 지역 내의 가스 충전소들의 밀도, 및 근처의 가스 충전소에 도달하는 데 필요할 것 같은 연료의 양을 나타내는 다른 인자들에 기초하여 연료의 양에 대한 임계 레벨을 설정할 수 있다. 임계는 10% 또는 그보다 많거나 작을 수 있다. 차량의 컴퓨팅 디바이스(110)의 작업 감독자 모듈(136)은 다음에 차량 자기 구동 시스템들(160-172)로부터의 업데이트들로부터 연료의 레벨의 상태를 모니터하여 연료가 10%와 같은, 설정된 임계에 언제 도달하는지를 결정할 수 있다.
특정한 트리거의 조건 또는 조건들이 일치된 후에, 트리거에 대응하는 폴백 작업은 단계 560에 도시한 바와 같이, 차량 자기 구동 시스템들(160-172)에 폴백 작업을 실행하라는 명령어들을 송신함으로써 개시될 수 있다. 예를 들어, 연료 레벨이 10%와 같은, 트리거로서 정의된 것과 같은 임계에 도달할 때, 폴백 선택기 모듈(137)은 다음에 가장 가까운 가스 또는 충전소로 운행하는 폴백 작업을 실행하라는 명령어들을 송신할 수 있다. 이것은 차량(100)의 현재 위치 및 그 가스 또는 충전소까지의 최단 경로에 기초하여 가장 가까운 가스 또는 충전소의 위치를 결정하는 것을 포함할 수 있다.
트리거의 긴급성에 따라, 폴백 작업은 즉각 실행될 수 있으므로 현재 작업의 완료 후에, 또는 큐 내의 일부 다른 작업 후에, 현재 작업을 인터럽트한다. 그러므로, 폴백 작업이 언제 수행될 수 있는지의 표시는 트리거의 긴급성의 레벨의 지정의 형태로 될 수 있다. 주어진 트리거의 긴급성의 레벨은 사람 조작자에 의해 설정될 수 있다. 일부 예들에서, 긴급성의 레벨은 높은, 중간, 또는 낮은 것으로서 지정될 수 있다.
트리거의 긴급성의 레벨이 낮을 때, 폴백 작업은 작업 큐가 모든 작업들을 클리어한 후에 실행될 수 있다.
낮은 레벨의 긴급성을 갖는 트리거를 갖는 폴백 작업은 큐가 다른 작업들을 비울 때 트리거될 수 있다. 예를 들어, 승객을 내리게 해서 승객 관련 작업을 완료한 후에, 차량(100)은 큐 내에 다른 작업들(승객 관련 또는 비승객)을 갖지 않을 수 있다. 이 때, 차량(100)은 승객 관련 작업으로 수신된 폴백 작업을 수행할 수 있다. 낮은 레벨의 긴급성을 갖는 폴백 작업의 한 예는 근처에 주차를 하고 추가 명령어들을 대기하는 것을 포함하고 도 6과 관련하여 설명될 것이다.
도 6은 지도(400)의 지역에 대응하는 지리적 지역(602)의 예시적인 조감도(600)의 예이다. 본 예에서, 지리적 지역은 지도(400)의 차로들(410-416), 교차로들(420-426), 빌딩들(430-436), 주유소(438), 주차 공간들(440-446)), (예를 들어, 주차 차고 또는 다른 위치로의) 진입로(450), 노견 영역들(452-454), 및 주차 금지 구역(456) 각각에 대응하는 차로들(610-616), 교차로들(620-626), 빌딩들(630-636), 주유소(638), 주차 공간들(640-646)), (예를 들어, 주차 차고 또는 다른 위치로의) 진입로(650), 노견 영역들(652-654), 및 주차 금지 구역(656)과 같은 다양한 특징들을 포함한다. 본 예에서, 지도 핀(670)은 단지 참조를 위한 것이고 목적지 위치 D의 물리적 위치를 식별한다.
목적지 위치 D에서 승객들이 내린 후에, 차량(100)은 작업 큐에서 다음에 할 것이 없을 수 있다. 이것은 근처에 주차하고 추가 명령어들을 대기하는 폴백 작업을 트리거할 수 있다. 본 예에서, 차량(100)은 주차 공간들(640 및 642)이 차지되어 있는지를 결정할 수 있다. 차량(100)은 다음에 주차 공간들(644 및 646)이 있는 차로(614)로 운행하고 비어있는 주차 공간(644)의 위치(620)에 주차할 수 있다.
중간 레벨의 긴급성을 갖는 트리거를 갖는 폴백 작업은 큐 내의 어떤 승객 관련 작업들의 완료 후이지만, 여전히 큐 내의 어떤 비승객 관련 작업들이 완료되기 전에 트리거될 수 있다. 중간 레벨의 긴급성을 갖는 트리거는 10% 이하로 도달한 차량(100)의 연료 레벨을 포함할 수 있다. 이것이 발생할 때, 재충전 또는 재급유의 폴백 작업이 트리거될 수 있다.
도 7에 도시한 바와 같이, 재급유의 폴백 작업이 트리거된 후에, 차량의 컴퓨팅 디바이스(110)는 목적지 위치 D에서 끝내는 현재 승객 관련 작업을 완료하고, 다음에 주유소(638)에 운행하기에 충분한 연료가 있다고 결정할 수 있다. 결과적으로, 재급유의 폴백 작업은 목적지 D에서 승객이 내린 후에 실행된다. 차량의 컴퓨팅 디바이스(110)는 다음에 차량 자기 구동 시스템들(160-172)에 주유소(638)로 운행하라는 명령어들을 송신할 수 있다.
높은 레벨의 긴급성을 갖는 트리거를 갖는 폴백 작업은 어떤 승객 관련 또는 비승객 작업을 인터럽트하고 즉시 실행될 수 있다. 예를 들어, 트리거의 긴급성의 레벨이 높을 때, 차량의 컴퓨팅 디바이스(110)의 폴백 선택기 모듈(137)은 트립을 정상보다 이르게 끝내고 폴백 작업을 실행하는 것을 진행하라는 명령어들을 송신할 수 있다. 높은 레벨의 긴급성을 갖는 트리거는 차량(100)이 트립을 완료하는 것을 못하게 할 정도의 차량(100)의 문제를 포함할 수 있다. 예로서, 차량(100)은 바람 빠진 타이어로는 아주 멀리 운행할 수 없기 때문에 바람 빠진 타이어를 검출한 조건에 기초한 트리거는 높은 레벨의 긴급성을 가질 것이다. 이것은 그러므로 가장 가까운 보수 차고로의 운행의 폴백 작업을 트리거할 수 있다.
폴백 작업이 트리거되지만 실행될 수 없는 경우에, 폴백 선택기 모듈(137)은 도 8에 도시한 바와 같이, 기준 위치로 자율 차량(100)을 조종하라는 명령어들을 송신할 수 있다. 폴백 작업이 수행될 수 없는 이유들은 폴백 작업을 수행하는 폴백 명령어들이 잘못 만들어지고, 폴백 명령어들이 그들이 송신된 차량의 타입에 대해 수행될 수 없거나, 또는 기타 이유일 수 있다. 대안적으로, 차량(100)은 다른 폴백 작업 명령어들이 수신되지 않았고 큐가 비어있을 때 기준 위치로 운행될 수 있다.
도 8로 돌아오면, 작업 요청, 폴백 명령어들, 작업 요청 명령어들, 및 상태 업데이트들이 도 5에서 앞서 설명된 바와 같이 송신 및 수신될 수 있다. 그러나, 단계 550 후에, 차량의 컴퓨팅 디바이스(110)가 트리거 조건들을 검출할 때, 차량의 컴퓨팅 디바이스(110)는 단계 860에서 폴백 명령어들이 잘못 만들어지고, 또는 이유가 어찌됐든 간에 차량(100)에 의해 실행될 수 없다고 결정할 수 있다. 차량의 컴퓨팅 디바이스(110)는 다음에 단계 870에서 지정된 기준 위치로 운행하고, 전과 같이 폴백 작업을 수행하지 말라는 명령어들을 차량 자기 구동 시스템들(160-172)에 송신할 수 있다.
기준 위치의 주소 또는 위치 좌표들이 차량 내로 하드코드될 수 있다. 일부 예들에서, 다수의 기준 위치들의 주소 또는 위치 좌표들이 하드코드될 수 있어서, 차량의 컴퓨팅 디바이스(110)의 폴백 선택기 모듈(137)이 폴백 작업이 언제 트리거되는지에 따라 차량(100)을 선택하여 가장 가깝거나 가장 편한 기준 위치로 조종하게 한다. 한 예에서, 차량(100)이 동작 중에 있을 때마다 최후의 수단으로서 차량(100)이 가야 할 위치가 있는 것을 보장하는, 기준 위치가 차량에 대해 설정되지 않았다면, 차량(100)은 출발하지 않을 것이고, 그러므로 자율 차량이 멈추게 되는 위험을 줄인다.
차량(100)이 더 멀리 운행할 수 없는 상황에서, 차량(100)은 도로의 한 측에 서서 도움을 위해 신호를 보낼 수 있다. 이 옵션은 일부 외부 및/또는 내부 요인들로 인해 자율 차량이 폴백 작업 명령어들에 명시된 위치 또는 기준 위치에 도달할 수 없는 경우에 취해질 수 있다. 차량의 컴퓨팅 디바이스(110)의 폴백 선택기 모듈(137)은 차량 자기 구동 시스템들(160-172)을 정차시키고 메시지를 하나 이상의 서버 컴퓨팅 디바이스들(210)에 송신하라는 명령어들을 송신할 수 있다. 이 메시지는 차량의 위치 및/또는 외부 및/또는 내부 요인들의 리스트를 포함할 수 있다.
일부 예들에서, 조건들이 차량이 현재 수행하고 있는 현재의 폴백 작업의 트리거의 조건 또는 조건들이 더 이상 일치되지 않도록 변화하는 경우에, 차량은 폴백 작업을 실행하는 것을 중지할 수 있다. 이 결정은 폴백 선택기 모듈(137)에 의해 이루어질 수 있다. 그 후, 차량은 인터럽트된 작업을 실행하는 것에 복귀하거나 작업 큐 내의 다음 작업을 실행할 수 있다. 대안적으로, 차량은 정상 동작을 재개하기 전에 폴백 작업을 완료할 수 있다.
부가적으로 또는 대안적으로, 상태 업데이트 보고들이 도 9에 도시한 바와 같이, 하나 이상의 서버 컴퓨팅 디바이스들(210)에 송신될 수 있다. 작업 요청, 폴백 명령어들, 및 상태 업데이트들이 위에 설명된 바와 같이 송신되고 수신될 수 있다. 단계 540에서 상태 업데이트들을 수신한 후에, 차량의 컴퓨팅 디바이스(110)는 다음에 단계 950에서 상태 업데이트 보고들을 하나 이상의 서버 컴퓨팅 디바이스들(210)에 송신할 수 있다. 이것은 상태 업데이트의 각각의 수신 후에 발생할 수 있거나 덜 빈번할 수 있다. 단계 960에서, 상태 업데이트 보고들에 기초하여, 하나 이상의 서버 컴퓨팅 디바이스들(210)은 업데이트된 폴백 명령어들을 차량의 컴퓨팅 디바이스(110)에 송신할 수 있다. 차량의 컴퓨팅 디바이스(110) 내의 폴백 선택기 모듈(137)은 이전에 수신된 폴백 명령어들을 업데이트된 폴백 작업 정보로 대체할 수 있다. 다른 예들에서, 업데이트된 폴백 작업은 이전에 송신된 폴백 작업(들)과 함께 차량의 컴퓨팅 디바이스 내에 저장될 수 있다.
대안적 실시예에서, 폴백 작업들의 세트에 대한 명령어들이 차량(100)에 송신될 수 있다. 상기 예들에서와 같이, 각각의 폴백 작업은 특정한 트리거와 연관될 수 있다. 명령어들은 또한 대응하는 폴백 작업에 대한 각각의 트리거의 매핑을 포함할 수 있다. 폴백 선택기 모듈(137)은 매핑을 수신하여 자율 차량(100)에서 가까이에 저장할 수 있다. 그러므로, 트리거의 조건 또는 조건들이 발생할 때, 폴백 선택기 모듈(137)은 대응하는 폴백 작업을 조사하여 매핑 상에서 실행할 수 있다. 매핑은 또한 각각의 트리거의 긴급성의 레벨의 명시들을 포함할 수 있다. 폴백 작업을 조사할 때, 폴백 선택기 모듈(137)은 또한 트리거의 긴급성의 레벨을 조사할 수 있다. 폴백 선택기 모듈(137)은 다음에 상기 예들에서와 같이 트리거의 긴급성의 레벨에 기초하여 폴백 작업이 언제 실행되는지를 결정할 수 있다.
도 10은 하나 이상의 서버 컴퓨팅 디바이스들(210)과 같은 하나 이상의 컴퓨팅 디바이스들에 의해 수행될 수 있는 위에 설명된 양태들의 일부에 따른 예시적인 흐름도(1000)이다. 그러나, 설명된 특징들은 상이한 구성들을 갖는 다양한 시스템들 중 임의의 것에 의해 구현될 수 있다. 또한, 방법들에 포함된 동작들은 설명된 정확한 순서로 수행될 필요는 없다. 오히려, 다양한 동작들은 상이한 순서로 또는 동시에 처리될 수 있고, 동작들은 또한 부가 또는 생략될 수 있다.
블록 1010에서, 적어도 하나의 폴백 작업이 주 작업에 대한 요청 및 각각의 폴백 작업의 적어도 하나의 트리거와 연관하여 수신될 수 있다. 블록 1020에서, 명령어들의 제1 세트는 하나 이상의 자기 구동 시스템들에 송신되어 주 작업을 실행할 수 있다. 블록 1030에서, 상태 업데이트들이 자기 구동 시스템들로부터 수신될 수 있다. 블록 1040에서, 상태 업데이트들에 적어도 부분적으로 기초하여, 트리거의 조건들의 세트가 만족되는지가 결정될 수 있다. 블록 1050에서, 트리거와 연관된 폴백 작업에 기초하여, 명령어들의 제2 세트가 하나 이상의 자기 구동 시스템들에 송신될 수 있다.
위에 설명된 특징들은 자율 차량에서 폴백 작업들의 포괄적인 시스템을 제공할 수 있다. 이것은 결국, 차량의 동작이 사람 조작자로부터의 입력 없이 어느 정도 절충되는 다양한 상황들에서 또는 차량의 컴퓨팅 디바이스가 하나 이상의 서버 컴퓨팅 디바이스들과 접속할 수 없는 경우에 적절한 단계들을 취할 수 있는 것을 보장할 수 있다. 특히, 소정의 폴백 작업들은 명시되거나 결정된 위치까지 자율적으로 일정 거리 계속 주행할 수 있는 차량을 가능하게 한다. 이 위치는 차량이 완전한 동작 능력으로 복구될 수 있는 장소일 수 있다. 위에 설명된 것과 같이 폴백 작업들을 설정하면 차량이 통신 사각 지대에 꼼짝 못하게 되는 가능성을 줄일 수 있다. 결과적으로, 차량을 회수하는데 드는 시간, 비용, 및 인력이 절약된다.
위에 설명된 특징들은 또한 트리거가 차량의 동작에 중대하게 영향을 주는지 또는 어떤 다른 이유로 위급인지에 기초하여 폴백 작업이 언제 실행되어야 하는지를 결정하는 방식을 제공할 수 있다. 그 방식으로, 작업들이 불필요하게 인터럽트되지 않지만, 차량의 문제가 즉각적인 주의를 요구하기에 충분히 위급할 때 인터럽트된다. 각각의 작업 요청과 함께 하나 이상의 폴백 작업들을 송신하고 기준 위치를 하드코드하면 차량들이 모르는 위치에 서게 되는 가능성을 줄일 수 있다. 또한, 차량들이 그들이 필요할 때 서비스를 받을 수 있고 보수를 위해 불필요한 트립을 하거나 필요할 때 주의를 받지 못하는 것을 방지한다. 이들 특징은 그러므로 단일의 자율 차량 또는 자율 차량들의 플릿을 보수하고 추적하는 간단하고 효과적인 방식을 제공한다.
또한, 위에 설명된 특징들은 원격 서버와의 계속적인 접속 없이 동작할 수 있는 시스템을 제공할 수 있다. 작업들이 수신될 때, 개시된 자율 차량의 시스템은 관리 시스템과 통신하지 않으면서 승객 관련, 비승객, 및 폴백 작업들을 실행할 수 있다. 차량은 원격 서버와 강력한 접속이 없을 수 있는 경우에 작업들을 실행하기가 자유롭다. 작업들은 원격 서버에 들어가서 체크할 필요 없이 빠른 연속으로 실행될 수 있다. 이들 특징은 자율 차량들을 관리하는 시스템이 차량마다 매번하는 세부사항까지 관리하는 것 대신에 다른 작업들을 수행하게 한다.
본 발명이 본원에서 특정한 실시예들을 참조하여 설명되었지만, 이들 실시예는 단지 본 발명의 원리들 및 응용들을 예시하는 것이라는 것을 이해하여야 한다. 그러므로 수많은 수정들이 예시적인 실시예들에 대해 이루어질 수 있고 다른 구성들이 첨부된 청구범위에 의해 정의된 것과 같은 본 발명의 취지 및 범위에서 벗어나지 않고서 고안될 수 있다는 것을 이해하여야 한다.

Claims (20)

  1. 서버 컴퓨팅 디바이스로서,
    폴백 작업(fallback task)들에 관련된 정보를 저장하도록 구성된 메모리 - 각각의 폴백 작업은 차량에서 조건들이 일치될 때 수행하는 상기 차량에 대한 작업임 -; 및
    하나 이상의 프로세서
    를 포함하고,
    상기 하나 이상의 프로세서는,
    상기 메모리에 의해 저장된 상기 정보에 액세스하고;
    작업 요청에 기초하여 자율적으로 동작하는 차량에 주 작업(primary task)에 대한 명령어들의 제1 세트를 송신하고;
    현재의 폴백 명령어들에 기초하는 상기 차량과 연관된 복수의 상태 업데이트에 기초하여 생성된 적어도 하나의 상태 업데이트 보고를 수신하고;
    상기 적어도 하나의 상태 업데이트 보고로부터, 상기 메모리 내의 주어진 폴백 작업에 대한 조건들이 일치되었다고 결정하고;
    상기 주어진 폴백 작업에 관한 명령어들의 제2 세트 및 상기 명령어들의 제2 세트와 연관된 긴급성의 레벨을 송신하도록 구성되는, 서버 컴퓨팅 디바이스.
  2. 제1항에 있어서,
    상기 명령어들의 제2 세트는 충전소 또는 보수 차고로의 운행을 포함하는, 서버 컴퓨팅 디바이스.
  3. 제1항에 있어서,
    상기 명령어들의 제2 세트는 연료 공급 시스템들 또는 보수 창고들을 위한 인증 정보를 포함하는, 서버 컴퓨팅 디바이스.
  4. 제1항에 있어서,
    상기 명령어들의 제2 세트와 연관된 긴급성의 레벨은 상기 명령어들의 제2 세트가 상기 명령어들의 제1 세트의 완료 이전에 실행되어야 한다는 것을 표시하는, 서버 컴퓨팅 디바이스.
  5. 제1항에 있어서,
    상기 주어진 폴백 작업에 대한 상기 조건들은 미리 결정된 임계와 일치하는 상기 차량의 연료 또는 에너지 레벨을 포함하는, 서버 컴퓨팅 디바이스.
  6. 제1항에 있어서,
    상기 주어진 폴백 작업에 대한 상기 조건들은 미리 결정된 임계와 일치하는 상기 차량에 가장 가까운(proximate) 지역 내의 가스 충전소들의 밀도를 포함하는, 서버 컴퓨팅 디바이스.
  7. 제1항에 있어서,
    상기 주어진 폴백 작업에 대한 상기 조건들은 비어있는 상기 차량의 작업 큐를 포함하는, 서버 컴퓨팅 디바이스.
  8. 제1항에 있어서,
    상기 주어진 폴백 작업에 대한 상기 조건들은 정규 보수가 스케줄될 때 전에 설정된 간격을 포함하는, 서버 컴퓨팅 디바이스.
  9. 제1항에 있어서,
    상기 작업 요청은 트립에 대한 픽업 위치 및 목적지 위치 정보를 제공하는 승객 관련 작업 요청인, 서버 컴퓨팅 디바이스.
  10. 제1항에 있어서,
    상기 작업 요청은 사전 위치 결정, 재급유/재충전, 주차, 보수하러 가기, 블록을 순환하는 것, 또는 소프트웨어를 업데이트하는 것 중 적어도 하나에 관한 정보를 제공하는 비승객 관련 작업 요청인, 서버 컴퓨팅 디바이스.
  11. 방법으로서,
    하나 이상의 프로세서에 의해, 폴백 작업들에 관련된 정보를 메모리 내에 저장하는 단계 - 각각의 폴백 작업은 차량에서 조건들이 일치될 때 수행하는 상기 차량에 대한 작업임 -;
    상기 하나 이상의 프로세서에 의해, 상기 메모리에 의해 저장된 상기 정보에 액세스하는 단계;
    상기 하나 이상의 프로세서에 의해, 작업 요청에 기초하여 자율적으로 동작하는 차량에 주 작업에 대한 명령어들의 제1 세트를 송신하는 단계;
    상기 하나 이상의 프로세서에 의해, 현재의 폴백 명령어들에 기초하는 상기 차량과 연관된 복수의 상태 업데이트에 기초하여 생성된 적어도 하나의 상태 업데이트 보고를 수신하는 단계;
    상기 하나 이상의 프로세서에 의해, 상기 적어도 하나의 상태 업데이트 보고로부터, 상기 메모리 내의 주어진 폴백 작업에 대한 조건들이 일치되었다고 결정하는 단계; 및
    상기 하나 이상의 프로세서에 의해, 상기 주어진 폴백 작업에 관한 명령어들의 제2 세트 및 상기 명령어들의 제2 세트와 연관된 긴급성의 레벨을 송신하는 단계
    를 포함하는 방법.
  12. 제11항에 있어서,
    상기 명령어들의 제2 세트는 충전소 또는 보수 차고로의 운행을 포함하는, 방법.
  13. 제11항에 있어서,
    상기 명령어들의 제2 세트는 연료 공급 시스템들 또는 보수 창고들을 위한 인증 정보를 포함하는, 방법.
  14. 제11항에 있어서,
    상기 명령어들의 제2 세트와 연관된 긴급성의 레벨은 상기 명령어들의 제2 세트가 상기 명령어들의 제1 세트의 완료 이전에 실행되어야 한다는 것을 표시하는, 방법.
  15. 제11항에 있어서,
    상기 주어진 폴백 작업에 대한 상기 조건들은 미리 결정된 임계와 일치하는 상기 차량의 연료 또는 에너지 레벨을 포함하는, 방법.
  16. 제11항에 있어서,
    상기 주어진 폴백 작업에 대한 상기 조건들은 미리 결정된 임계와 일치하는 상기 차량에 가장 가까운 지역 내의 가스 충전소들의 밀도를 포함하는, 방법.
  17. 제11항에 있어서,
    상기 주어진 폴백 작업에 대한 상기 조건들은 비어있는 상기 차량의 작업 큐를 포함하는, 방법.
  18. 제11항에 있어서,
    상기 주어진 폴백 작업에 대한 상기 조건들은 정규 보수가 스케줄될 때 전에 설정된 간격을 포함하는, 방법.
  19. 제11항에 있어서,
    상기 작업 요청은 트립에 대한 픽업 위치 및 목적지 위치 정보를 제공하는 승객 관련 작업 요청인, 방법.
  20. 제11항에 있어서,
    상기 작업 요청은 사전 위치 결정, 재급유/재충전, 주차, 보수하러 가기, 블록을 순환하는 것, 또는 소프트웨어를 업데이트하는 것 중 적어도 하나에 관한 정보를 제공하는 비승객 관련 작업 요청인, 방법.
KR1020217012653A 2015-05-26 2016-05-23 자율 차량들에 대한 폴백 요청들 KR102399794B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US14/721,604 US9368026B1 (en) 2015-05-26 2015-05-26 Fallback requests for autonomous vehicles
US14/721,604 2015-05-26
PCT/US2016/033728 WO2016191348A1 (en) 2015-05-26 2016-05-23 Fallback requests for autonomous vehicles
KR1020187037761A KR102247380B1 (ko) 2015-05-26 2016-05-23 자율 차량들에 대한 폴백 요청들

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020187037761A Division KR102247380B1 (ko) 2015-05-26 2016-05-23 자율 차량들에 대한 폴백 요청들

Publications (2)

Publication Number Publication Date
KR20210049973A true KR20210049973A (ko) 2021-05-06
KR102399794B1 KR102399794B1 (ko) 2022-05-20

Family

ID=56100607

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020177036721A KR101935711B1 (ko) 2015-05-26 2016-05-23 자율 차량들에 대한 폴백 요청들
KR1020187037761A KR102247380B1 (ko) 2015-05-26 2016-05-23 자율 차량들에 대한 폴백 요청들
KR1020217012653A KR102399794B1 (ko) 2015-05-26 2016-05-23 자율 차량들에 대한 폴백 요청들

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020177036721A KR101935711B1 (ko) 2015-05-26 2016-05-23 자율 차량들에 대한 폴백 요청들
KR1020187037761A KR102247380B1 (ko) 2015-05-26 2016-05-23 자율 차량들에 대한 폴백 요청들

Country Status (6)

Country Link
US (5) US9368026B1 (ko)
EP (2) EP3304233B1 (ko)
JP (3) JP6450860B2 (ko)
KR (3) KR101935711B1 (ko)
CN (2) CN110155083B (ko)
WO (1) WO2016191348A1 (ko)

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10901415B1 (en) 2015-05-26 2021-01-26 Waymo Llc Non-passenger requests for autonomous vehicles
US20170197710A1 (en) * 2015-09-07 2017-07-13 Tao Ma Passenger transport systems based on pilotless vertical takeoff and landing (vtol) aircraft
CA3014660C (en) 2016-02-15 2021-08-17 Allstate Insurance Company Early notification of non-autonomous area
WO2017142931A1 (en) * 2016-02-15 2017-08-24 Allstate Insurance Company Early notification of non-autonomous area
US10274949B2 (en) 2016-04-24 2019-04-30 Flytrex Aviation Ltd. Apparatus and method for semi-automated vehicle control
US10191485B2 (en) 2016-04-24 2019-01-29 Flytrex Aviation Ltd. Apparatus and method for centralized control of vehicles
US11226619B2 (en) 2016-04-24 2022-01-18 Flytrex Aviation Ltd. Dynamically arming a safety mechanism on a delivery drone
US11762384B2 (en) 2016-04-24 2023-09-19 Flytrex Aviation Ltd. System and method for dynamically arming a failsafe on a delivery drone
US9952596B2 (en) * 2016-06-10 2018-04-24 Cnh Industrial America Llc System and method for autonomous vehicle communications protocols
EP3459062B1 (en) * 2016-07-13 2022-09-07 Flytrex Aviation Ltd. Apparatus and method for centralized control of vehicles
US10571908B2 (en) * 2016-08-15 2020-02-25 Ford Global Technologies, Llc Autonomous vehicle failure mode management
US11182709B2 (en) 2016-08-16 2021-11-23 Teleport Mobility, Inc. Interactive real time system and real time method of use thereof in conveyance industry segments
US11087252B2 (en) 2016-08-16 2021-08-10 Teleport Mobility, Inc. Interactive real time system and real time method of use thereof in conveyance industry segments
US11176500B2 (en) 2016-08-16 2021-11-16 Teleport Mobility, Inc. Interactive real time system and real time method of use thereof in conveyance industry segments
DE102016216701B4 (de) * 2016-09-05 2020-01-02 Audi Ag Verfahren zum Betrieb eines Unterstützungssystems zum Vermeiden eines Liegenbleibens eines Kraftfahrzeugs und Kraftfahrzeug
JP6697357B2 (ja) * 2016-09-15 2020-05-20 株式会社日立製作所 ソフトウェア更新システム
JP6772738B2 (ja) * 2016-10-04 2020-10-21 株式会社デンソー 制御装置
DE102016222006A1 (de) * 2016-11-09 2018-05-09 Audi Ag Verfahren zum Betreiben eines Kraftfahrzeugs in einem vollautonomen Fahrmodus
US9817400B1 (en) 2016-12-14 2017-11-14 Uber Technologies, Inc. Vehicle servicing system
EP4116945A1 (en) * 2016-12-14 2023-01-11 Uatc, Llc Vehicle management system
US9953538B1 (en) * 2017-01-17 2018-04-24 Lyft, Inc. Autonomous vehicle notification system
US10133275B1 (en) * 2017-03-01 2018-11-20 Zoox, Inc. Trajectory generation using temporal logic and tree search
US10338594B2 (en) * 2017-03-13 2019-07-02 Nio Usa, Inc. Navigation of autonomous vehicles to enhance safety under one or more fault conditions
US10829000B2 (en) 2017-04-19 2020-11-10 Arnold Chase Remote control system for intelligent vehicle charging
US10423162B2 (en) 2017-05-08 2019-09-24 Nio Usa, Inc. Autonomous vehicle logic to identify permissioned parking relative to multiple classes of restricted parking
CA3062780C (en) * 2017-05-08 2023-09-26 Arnold CHASE Mobile device for autonomous vehicle enhancement system
US10839684B2 (en) 2017-05-08 2020-11-17 Arnold Chase Direct vehicle engagement system
US10438486B2 (en) * 2017-07-10 2019-10-08 Lyft, Inc. Dynamic modeling and simulation of an autonomous vehicle fleet using real-time autonomous vehicle sensor input
US10369974B2 (en) 2017-07-14 2019-08-06 Nio Usa, Inc. Control and coordination of driverless fuel replenishment for autonomous vehicles
US10710633B2 (en) 2017-07-14 2020-07-14 Nio Usa, Inc. Control of complex parking maneuvers and autonomous fuel replenishment of driverless vehicles
US10430673B2 (en) * 2017-07-19 2019-10-01 GM Global Technology Operations LLC Systems and methods for object classification in autonomous vehicles
JP6897481B2 (ja) * 2017-10-16 2021-06-30 トヨタ自動車株式会社 降車位置設定装置
US10611381B2 (en) 2017-10-24 2020-04-07 Ford Global Technologies, Llc Decentralized minimum risk condition vehicle control
CN111164528A (zh) 2017-10-24 2020-05-15 福特全球技术公司 用于控制自主车辆的系统和方法
US11022971B2 (en) 2018-01-16 2021-06-01 Nio Usa, Inc. Event data recordation to identify and resolve anomalies associated with control of driverless vehicles
US10955851B2 (en) 2018-02-14 2021-03-23 Zoox, Inc. Detecting blocking objects
US10726645B2 (en) 2018-02-16 2020-07-28 Ford Global Technologies, Llc Vehicle diagnostic operation
US11062537B2 (en) 2018-02-28 2021-07-13 Waymo Llc Fleet management for vehicles using operation modes
US11168995B2 (en) 2018-03-15 2021-11-09 Waymo Llc Managing a fleet of vehicles
DE102018205011A1 (de) * 2018-04-04 2019-10-10 Robert Bosch Gmbh Verfahren und System zum kontrollierten Überführen von Fahrzeugen einer Fahrzeugflotte in einen sicheren Zustand
DE102018208150B4 (de) * 2018-05-24 2023-08-24 Audi Ag Verfahren und System zum Sicherstellen einer Echtzeitfähigkeit eines Fahrerassistenzsystems
US20200027183A1 (en) * 2018-07-19 2020-01-23 Uber Technologies, Inc. Network computer system to determine suitabilities of vehicles using blockchain records
DE102018212025A1 (de) 2018-07-19 2020-01-23 Robert Bosch Gmbh Verfahren zum Betreiben eines autonomen Fahrzeugs und autonomes Fahrzeug
US20200027354A1 (en) * 2018-07-23 2020-01-23 Uber Technologies, Inc. Autonomous Vehicle Idle State Task Selection for Improved Computational Resource Usage
JP7115429B2 (ja) * 2018-08-10 2022-08-09 株式会社デンソー 車両用マスタ装置、ロールバックの実行制御方法及びロールバックの実行制御プログラム
CN109615107B (zh) * 2018-10-25 2022-11-25 丰疆智能科技股份有限公司 农机找回系统及找回方法
CA3120965A1 (en) 2018-11-26 2020-06-04 Uber Technologies, Inc. Routing graph management in autonomous vehicle routing
US11829135B2 (en) * 2018-11-28 2023-11-28 Uber Technologies, Inc. Tuning autonomous vehicle dispatch using vehicle performance
US11067400B2 (en) 2018-11-29 2021-07-20 International Business Machines Corporation Request and provide assistance to avoid trip interruption
US11122062B2 (en) 2019-03-26 2021-09-14 International Business Machines Corporation Remote interference assessment and response for autonomous vehicles
US11226623B2 (en) * 2019-04-03 2022-01-18 Waymo Llc Detection of anomalous trailer behavior
US11086996B2 (en) 2019-04-12 2021-08-10 International Business Machines Corporation Automatic idle-state scanning for malicious code
US11603110B2 (en) 2019-04-18 2023-03-14 Kyndryl, Inc. Addressing vehicle sensor abnormalities
US11247695B2 (en) 2019-05-14 2022-02-15 Kyndryl, Inc. Autonomous vehicle detection
DE102019214461A1 (de) * 2019-09-23 2021-03-25 Robert Bosch Gmbh Verfahren zum Fernsteuern eines Kraftfahrzeugs
US11368525B2 (en) * 2019-12-02 2022-06-21 Red Hat, Inc. Relaying network management tasks using a multi-service receptor network
US11210571B2 (en) 2020-03-13 2021-12-28 Argo AI, LLC Using rasterization to identify traffic signal devices
US11704912B2 (en) 2020-06-16 2023-07-18 Ford Global Technologies, Llc Label-free performance evaluator for traffic light classifier system
US11352023B2 (en) 2020-07-01 2022-06-07 May Mobility, Inc. Method and system for dynamically curating autonomous vehicle policies
WO2022132774A1 (en) 2020-12-14 2022-06-23 May Mobility, Inc. Autonomous vehicle safety platform system and method
KR102509357B1 (ko) * 2020-12-15 2023-03-13 주식회사 주원테크놀러지 무인저속자율주행차량의 폴백에 의한 대응방법
US11770701B2 (en) 2021-02-05 2023-09-26 Argo AI, LLC Secure communications with autonomous vehicles
WO2022212944A1 (en) 2021-04-02 2022-10-06 May Mobility, Inc. Method and system for operating an autonomous agent with incomplete environmental information
US11814072B2 (en) 2022-02-14 2023-11-14 May Mobility, Inc. Method and system for conditional operation of an autonomous agent

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002140797A (ja) * 2000-11-01 2002-05-17 Technosoft Kk 車両状態監視装置及び車両管理用情報処理システム
US20070005202A1 (en) * 1995-06-07 2007-01-04 Automotive Technologies International, Inc. Remote Vehicle Diagnostic Management

Family Cites Families (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1322422C (en) 1988-07-18 1993-09-21 James P. Emmond Single-keyed indexed file for tp queue repository
US5956250A (en) * 1990-02-05 1999-09-21 Caterpillar Inc. Apparatus and method for autonomous vehicle navigation using absolute data
GB2272085A (en) * 1992-10-30 1994-05-04 Tao Systems Ltd Data processing system and operating system.
DE4313568C1 (de) * 1993-04-26 1994-06-16 Daimler Benz Ag Verfahren zur Leithilfe für einen Fahrspurwechsel durch ein Kraftfahrzeug
BE1008470A3 (fr) 1994-07-04 1996-05-07 Colens Andre Dispositif et systeme automatique de depoussierage de sol et engin y adapte.
DE19500957A1 (de) 1994-07-19 1996-01-25 Bosch Gmbh Robert Verfahren zur Steuerung von technischen Vorgängen oder Prozessen
US5774668A (en) * 1995-06-07 1998-06-30 Microsoft Corporation System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing
JP3171119B2 (ja) * 1995-12-04 2001-05-28 トヨタ自動車株式会社 車両の自動運転制御装置
JP3097542B2 (ja) * 1996-02-05 2000-10-10 トヨタ自動車株式会社 自動操舵装置
US5956665A (en) * 1996-11-15 1999-09-21 Digital Equipment Corporation Automatic mapping, monitoring, and control of computer room components
DE59707553C5 (de) * 1996-12-03 2018-03-29 Avl List Gmbh Verfahren und Vorrichtung zur Analyse des Fahrverhaltens von Kraftfahrzeugen
US6131119A (en) * 1997-04-01 2000-10-10 Sony Corporation Automatic configuration system for mapping node addresses within a bus structure to their physical location
US5926463A (en) * 1997-10-06 1999-07-20 3Com Corporation Method and apparatus for viewing and managing a configuration of a computer network
US6862732B1 (en) * 1998-02-25 2005-03-01 Metaserver, Inc. Method and apparatus for event-driven processing of data
US6282175B1 (en) * 1998-04-23 2001-08-28 Hewlett-Packard Company Method for tracking configuration changes in networks of computer systems through historical monitoring of configuration status of devices on the network.
JPH11312292A (ja) 1998-04-28 1999-11-09 Honda Motor Co Ltd 車両共用システム
JP2000039328A (ja) * 1998-07-22 2000-02-08 Fujitsu Ten Ltd ナビゲーションシステム
JP3338679B2 (ja) * 1999-12-09 2002-10-28 本田技研工業株式会社 車両の診断装置
US7920102B2 (en) 1999-12-15 2011-04-05 Automotive Technologies International, Inc. Vehicular heads-up display system
JP4491967B2 (ja) * 2000-12-28 2010-06-30 株式会社デンソー 自己診断機能を備えた車両用制御装置及び記録媒体
US8041779B2 (en) * 2003-12-15 2011-10-18 Honda Motor Co., Ltd. Method and system for facilitating the exchange of information between a vehicle and a remote location
US7332890B2 (en) 2004-01-21 2008-02-19 Irobot Corporation Autonomous robot auto-docking and energy management systems and methods
JP2006126107A (ja) 2004-11-01 2006-05-18 Nissan Motor Co Ltd ナビゲーションシステムを用いた退避誘導システム
DE102004057604B4 (de) 2004-11-29 2014-04-30 Daimler Ag Verfahren für ein Sicherheitssystem in einem Fahrzeug
US7844396B2 (en) * 2005-09-13 2010-11-30 Deere & Company Method and system for modular data processing for a vehicle control system
JP2007203883A (ja) 2006-02-02 2007-08-16 Nissan Motor Co Ltd 車両のフェイルセーフ走行制御システム
US9373149B2 (en) * 2006-03-17 2016-06-21 Fatdoor, Inc. Autonomous neighborhood vehicle commerce network and community
JP2007253792A (ja) * 2006-03-23 2007-10-04 Denso Corp 車両用電子制御装置のソフトウェアシステムおよびその設計方法
WO2010060720A2 (de) 2008-11-03 2010-06-03 Andreas Stopp Verfahren zum automatischen laden von vollständig oder teilweise elektrisch betriebenen fahrzeugen und anordnung zur herstellung eines ladekontaktes
US8190322B2 (en) 2009-01-13 2012-05-29 GM Global Technology Operations LLC Autonomous vehicle maintenance and repair system
US20100217482A1 (en) 2009-02-20 2010-08-26 Ford Global Technologies, Llc Vehicle-based system interface for personal navigation device
US8676466B2 (en) 2009-04-06 2014-03-18 GM Global Technology Operations LLC Fail-safe speed profiles for cooperative autonomous vehicles
US20100286845A1 (en) 2009-05-11 2010-11-11 Andrew Karl Wilhelm Rekow Fail-safe system for autonomous vehicle
US9155961B2 (en) * 2009-05-28 2015-10-13 Anki, Inc. Mobile agents for manipulating, moving, and/or reorienting components
US9615213B2 (en) * 2009-07-21 2017-04-04 Katasi Llc Method and system for controlling and modifying driving behaviors
US8103402B2 (en) * 2009-08-14 2012-01-24 Douglas Everett Kozlay Apparatus, method and system for enforcing vehicle operator policy compliance
US8618922B2 (en) 2010-03-30 2013-12-31 GM Global Technology Operations LLC Method and system for ensuring operation of limited-ability autonomous driving vehicles
US8836490B2 (en) 2010-04-09 2014-09-16 Dsg Tag Systems Inc. Vehicle management
JP2011240816A (ja) 2010-05-18 2011-12-01 Denso Corp 自律走行制御装置
DE102010021591B4 (de) 2010-05-26 2024-02-01 Audi Ag Verfahren zur Steuerung des Betriebs eines vollautomatischen, zur unabhängigen Fahrzeugführung ausgebildeten Fahrerassistenzsystems eines Kraftfahrzeugs und Kraftfahrzeug
US9123058B2 (en) * 2011-11-16 2015-09-01 Flextronics Ap, Llc Parking space finder based on parking meter data
US8509982B2 (en) * 2010-10-05 2013-08-13 Google Inc. Zone driving
EP2651788A1 (en) 2010-12-15 2013-10-23 Symbotic LLC Device for building a group of goods units for storage
US8818696B2 (en) 2011-03-23 2014-08-26 Ge Aviation Systems Llc Method and system for aerial vehicle trajectory management
JP2012220286A (ja) 2011-04-06 2012-11-12 Denso Corp 車両用制御装置
DE102011114072C5 (de) 2011-09-22 2021-04-22 Knorr-Bremse Systeme für Nutzfahrzeuge GmbH Fahrerassistenzsystem mit autonomer Bremsung bis zum Stillstand
DE102011115854A1 (de) 2011-10-13 2013-04-18 Audi Ag Fahrzeug und Verfahren zum Steuern eines Fahrzeugs
DE102012200184A1 (de) 2012-01-09 2013-07-11 Robert Bosch Gmbh Sicherer Betrieb eines Kraftfahrzeugs
JP2013162847A (ja) 2012-02-09 2013-08-22 Sammy Corp 弾球遊技機
US8504233B1 (en) * 2012-04-27 2013-08-06 Google Inc. Safely navigating on roads through maintaining safe distance from other vehicles
WO2013166001A2 (en) * 2012-04-30 2013-11-07 Massachusetts Institute Of Technology Uniprocessor schedulability testing for non-preemptive task sets
US9156476B2 (en) 2012-10-02 2015-10-13 Trevor O'Neill System and method for remote control of unmanned vehicles
US8825258B2 (en) * 2012-11-30 2014-09-02 Google Inc. Engaging and disengaging for autonomous driving
DE202013100347U1 (de) * 2013-01-24 2013-03-05 Ford Global Technologies, Llc Bedarfsweise aktivierbares Fernsteuerungssystem für Kraftfahrzeuge
JP2014157021A (ja) * 2013-02-14 2014-08-28 Denso Corp 燃料消費予測装置およびプログラム
US9102406B2 (en) 2013-02-15 2015-08-11 Disney Enterprises, Inc. Controlling unmanned aerial vehicles as a flock to synchronize flight in aerial displays
US8996224B1 (en) 2013-03-15 2015-03-31 Google Inc. Detecting that an autonomous vehicle is in a stuck condition
US9008890B1 (en) * 2013-03-15 2015-04-14 Google Inc. Augmented trajectories for autonomous vehicles
EP2987153A4 (en) 2013-04-15 2016-09-21 Autoconnect Holdings Llc CENTRAL NETWORK FOR THE AUTOMATED REGULATION OF ROAD TRAFFIC
CN105143824B (zh) 2013-04-26 2017-12-15 三菱电机株式会社 车载装置、导航系统、以及设施信息显示方法
WO2014197497A2 (en) * 2013-06-03 2014-12-11 The Morey Corporation Geospatial asset tracking systems, methods and apparatus for acquiring, manipulating and presenting telematic metadata
DE102013213171A1 (de) * 2013-07-04 2015-01-08 Robert Bosch Gmbh Verfahren und Vorrichtung zum Betreiben eines Kraftfahrzeugs in einem automatisierten Fahrbetrieb
WO2015023873A1 (en) 2013-08-14 2015-02-19 Rowbot Systems Llc Agricultural autonomous vehicle platform with articulated base
JP6257318B2 (ja) * 2013-09-30 2018-01-10 株式会社日本総合研究所 自動運転交通システムにおける移動体、移動体の連携配車装置、及びその配車方法
JP6329746B2 (ja) * 2013-10-04 2018-05-23 株式会社デンソーアイティーラボラトリ 交通制御システム、交通制御方法、およびプログラム
US8825226B1 (en) 2013-12-17 2014-09-02 Amazon Technologies, Inc. Deployment of mobile automated vehicles
WO2015166811A1 (ja) * 2014-04-30 2015-11-05 みこらった株式会社 自動運転車及び自動運転車用プログラム
US9552564B1 (en) 2015-03-19 2017-01-24 Amazon Technologies, Inc. Autonomous delivery transportation network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070005202A1 (en) * 1995-06-07 2007-01-04 Automotive Technologies International, Inc. Remote Vehicle Diagnostic Management
JP2002140797A (ja) * 2000-11-01 2002-05-17 Technosoft Kk 車両状態監視装置及び車両管理用情報処理システム

Also Published As

Publication number Publication date
KR20190002740A (ko) 2019-01-08
KR102247380B1 (ko) 2021-05-03
JP2019067439A (ja) 2019-04-25
US20160351056A1 (en) 2016-12-01
EP4005896A1 (en) 2022-06-01
US20210043089A1 (en) 2021-02-11
US20220180753A1 (en) 2022-06-09
CN107810133A (zh) 2018-03-16
US20190287409A1 (en) 2019-09-19
US9368026B1 (en) 2016-06-14
JP7109352B2 (ja) 2022-07-29
CN107810133B (zh) 2019-06-07
CN110155083B (zh) 2022-06-28
US10796581B2 (en) 2020-10-06
US11276314B2 (en) 2022-03-15
EP3304233B1 (en) 2022-02-16
KR101935711B1 (ko) 2019-01-04
KR102399794B1 (ko) 2022-05-20
US10475345B2 (en) 2019-11-12
WO2016191348A1 (en) 2016-12-01
EP3304233A1 (en) 2018-04-11
JP6450860B2 (ja) 2019-01-09
JP2022109937A (ja) 2022-07-28
KR20180005710A (ko) 2018-01-16
CN110155083A (zh) 2019-08-23
JP2018515855A (ja) 2018-06-14

Similar Documents

Publication Publication Date Title
KR102247380B1 (ko) 자율 차량들에 대한 폴백 요청들
US11853067B2 (en) Arranging passenger pickups for autonomous vehicles
US11947353B1 (en) Non-passenger requests for autonomous vehicles
JP2021505991A (ja) 自律型車両のフリート管理
US11804136B1 (en) Managing and tracking scouting tasks using autonomous vehicles
CN112770953A (zh) 响应于检测到的局部故障确定靠边停车点的自动载具系统
US11886187B1 (en) Planner system recovery for autonomous vehicles
US20220164720A1 (en) Resource allocation for an autonomous vehicle transportation service

Legal Events

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