KR102416547B1 - 자율 차량을 위한 대안적인 픽업 및 하차 위치들의 제안 - Google Patents

자율 차량을 위한 대안적인 픽업 및 하차 위치들의 제안 Download PDF

Info

Publication number
KR102416547B1
KR102416547B1 KR1020207016691A KR20207016691A KR102416547B1 KR 102416547 B1 KR102416547 B1 KR 102416547B1 KR 1020207016691 A KR1020207016691 A KR 1020207016691A KR 20207016691 A KR20207016691 A KR 20207016691A KR 102416547 B1 KR102416547 B1 KR 102416547B1
Authority
KR
South Korea
Prior art keywords
location
cost
vehicle
passenger
reach
Prior art date
Application number
KR1020207016691A
Other languages
English (en)
Other versions
KR20200072560A (ko
Inventor
조슈아 세스 허바흐
마이클 엡스타인
미쉬카 보라
기욤 뒤프레
케빈 롤링스
Original Assignee
웨이모 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 웨이모 엘엘씨 filed Critical 웨이모 엘엘씨
Publication of KR20200072560A publication Critical patent/KR20200072560A/ko
Application granted granted Critical
Publication of KR102416547B1 publication Critical patent/KR102416547B1/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/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
    • G06Q50/30
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/02Reservations, e.g. for tickets, services or events
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0217Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with energy consumption, time reduction or distance reduction criteria
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • 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/20Control system inputs
    • G05D1/24Arrangements for determining position or orientation
    • G05D1/246Arrangements for determining position or orientation using environment maps, e.g. simultaneous localisation and mapping [SLAM]
    • 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/80Arrangements for reacting to or preventing system or operator failure
    • G05D1/81Handing over between on-board automatic and on-board manual control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • G06Q10/047Optimisation of routes or paths, e.g. travelling salesman problem
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/123Traffic control systems for road vehicles indicating the position of vehicles, e.g. scheduled vehicles; Managing passenger vehicles circulating according to a fixed timetable, e.g. buses, trains, trams

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Development Economics (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Operations Research (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Quality & Reliability (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Health & Medical Sciences (AREA)
  • Game Theory and Decision Science (AREA)
  • Primary Health Care (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Traffic Control Systems (AREA)
  • Navigation (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)

Abstract

본 개시내용의 양태들은 자율 주행 모드에서 차량(100)을 제어하는 것에 관한 것이다. 예를 들어, 차량이 승객을 픽업 또는 하차시킬 위치에 대응하는 제1 위치가 수신된다. 차량이 제1 위치에 도달하기 위한 제1 비용이 결정된다. 제1 위치에 기초한 제2 위치가 식별되고, 차량이 제2 위치에 도달하는 비용 및 승객이 제2 위치에 도달하기 위한 비용에 기초하여 제2 비용이 결정된다. 제1 비용이 제2 비용과 비교되고, 통지에 기초하여 통지가 전송된다. 통지를 전송하는 것에 응답하여, 제2 위치로 진행하기 위한 지시가 수신되고, 지시를 수신하는 것에 응답하여, 차량은 승객을 픽업 또는 하차시키기 위해 자율 주행 모드에서 제2 위치로 제어된다.

Description

자율 차량을 위한 대안적인 픽업 및 하차 위치들의 제안
관련 출원들에 대한 상호 참조
본 출원은 2017년 12월 15일자로 출원된 미국 특허 출원 제15/843,090호의 계속 출원이고, 그 개시내용은 인용에 의해 본 명세서에 포함된다.
자율 차량들, 예를 들어, 인간 운전자를 필요로 하지 않는 차량들은 하나의 위치로부터 다른 위치로의 승객들 또는 물품들의 운송을 돕기 위해 이용될 수 있다. 그러한 차량들은 승객들이 픽업 또는 목적지 위치와 같은 몇몇 초기 입력을 제공할 수 있는 완전 자율 모드에서 동작할 수 있고, 차량은 자신을 해당 위치로 조종해 간다.
사람(또는 사용자)이 차량을 통해 2개의 위치 사이에서 물리적으로 운송되기를 원할 때, 그들은 임의의 수의 운송 서비스를 이용할 수 있다. 지금까지, 이들 서비스는 전형적으로 사용자를 픽업하기 위한 위치로 파견 지시를 받는 인간 운전자를 수반한다. 많은 경우에, 인간 운전자 및 사용자는 사용자가 픽업될 정확한 위치를 어레인지할 수 있다. 또한, 운전자들 및 사용자들은 서로 "수신호(flag down)"하거나, 시선 맞추기를 사용하거나, 서로에게 말하거나, 또는 다른 신호를 사용하여 서로에 대한 인식을 지시할 수 있고 그에 의해 차량이 픽업 또는 하차를 위한 정확한 위치에 도달하기 전에 어떤 위치에 대해 합의할 수 있다. 이는 인간 운전자를 갖지 않는 자율 차량들의 경우에 쉽게 달성가능하지 않다.
본 개시내용의 일 양태는 자율 주행 모드에서 차량을 제어하는 방법을 제공한다. 상기 방법은, 하나 이상의 프로세서에 의해, 차량이 승객을 픽업 또는 하차시킬 위치에 대응하는 제1 위치를 수신하는 단계; 상기 하나 이상의 프로세서에 의해, 상기 차량이 상기 제1 위치에 도달하기 위한 제1 비용을 결정하는 단계; 상기 제1 위치에 기초하여 제2 위치를 식별하는 단계; 상기 하나 이상의 프로세서에 의해, 상기 차량이 상기 제2 위치에 도달하기 위한 비용 및 상기 승객이 상기 제2 위치에 도달하기 위한 비용에 기초하여 제2 비용을 결정하는 단계; 상기 제1 비용을 상기 제2 비용과 비교하는 단계; 상기 비교에 기초하여 통지를 전송하는 단계; 상기 통지를 전송하는 것에 응답하여, 상기 하나 이상의 프로세서에 의해, 상기 제2 위치로 진행하기 위한 지시를 수신하는 단계; 상기 지시를 수신하는 것에 응답하여, 상기 하나 이상의 프로세서에 의해, 상기 승객을 픽업 또는 하차시키기 위해 상기 자율 주행 모드에서 상기 차량을 상기 제2 위치로 제어하는 단계를 포함한다.
일 예에서, 상기 제1 위치는 도로의 제1 측에 대응하고, 상기 제2 위치를 식별하는 단계는 상기 도로의 제1 측의 반대인 상기 도로의 제2 측 상의 상기 제2 위치를 선택하는 단계를 포함하는 것을 추가로 포함한다. 이 예에서, 상기 승객이 상기 제2 측에 도달하기 위한 비용을 결정하는 단계는 상기 승객이 상기 제2 측에 도달하기 위한 비용을 결정하는 단계를 포함한다. 또한, 상기 승객이 상기 제2 측에 도달하기 위한 비용을 결정하는 단계는 상기 승객이 상기 도로를 횡단하기 위한 어려움의 양을 평가하는 단계를 포함한다. 또한, 상기 어려움의 양을 평가하는 단계는 상기 도로 상에 중앙선이 존재하는지 여부에 기초한다. 추가로 또는 대안적으로, 상기 어려움의 양을 평가하는 단계는 횡단될 차선의 수에 기초한다. 추가로 또는 대안적으로, 상기 어려움의 양을 평가하는 단계는 상기 승객이 상기 도로를 횡단하기 위해 사용하기 위한 횡단보도들의 이용가능성에 기초한다. 추가로 또는 대안적으로, 상기 어려움의 양을 평가하는 단계는 상기 도로에 대한 속도 제한에 기초한다. 추가로 또는 대안적으로, 상기 승객이 상기 제2 측에 도달하기 위한 비용을 결정하는 단계는 상기 승객이 상기 도로를 횡단한 후에 상기 제2 위치로 이동할 필요가 있는 거리를 결정하는 단계를 포함한다.
다른 예에서, 상기 제2 비용을 결정하는 단계는 상기 차량이 상기 제2 위치에 도달하기 위한 비용 및 상기 승객이 제2 위치에 도달하기 위한 비용을 합산하는 단계를 포함한다. 다른 예에서, 상기 비교하는 단계는 상기 제1 비용과 상기 제2 비용 간의 차이를 결정하고 이 차이를 제1 임계값과 비교하는 단계를 포함한다. 이 예에서, 상기 통지는 상기 차이가 상기 제1 임계값을 충족시킬 때에만 전송된다. 또한, 상기 차량이 상기 제2 위치를 향해 제어됨에 따라, 상기 차량의 현재 위치를 이용하여 상기 차량이 상기 제2 위치에 도달하기 위한 제3 비용을 결정하는 단계; 상기 차량의 현재 위치를 이용하여 상기 차량이 제3 위치에 도달하기 위한 비용 및 상기 승객이 상기 제2 위치로부터 상기 제3 위치에 도달하기 위한 비용에 기초하여 제4 비용을 결정하는 단계; 상기 제3 비용을 상기 제4 비용과 비교하는 단계; 상기 제3 비용과 상기 제4 비용의 비교에 기초하여 제2 통지를 전송하는 단계; 상기 제3 위치로 진행하기 위한 지시를 수신하는 단계; 상기 승객을 픽업 또는 하차시키기 위해 상기 자율 주행 모드에서 상기 차량을 상기 제3 위치로 제어하는 단계. 이 예에서, 상기 승객이 상기 제3 위치에 도달하기 위한 비용을 결정하는 단계는 상기 승객이 상기 제1 측에 도달하기 위한 비용을 결정하는 단계를 포함한다. 추가로 또는 대안적으로, 상기 비교하는 단계는 상기 제1 비용과 상기 제2 비용 간의 차이를 결정하고 이 차이를 제2 임계값과 비교하는 단계를 포함하고, 상기 제2 임계값은 상기 제1 임계값보다 크다. 또한, 상기 제2 통지는 상기 차이가 상기 제2 임계값을 충족시킬 때에만 전송된다.
본 개시내용의 다른 양태는 자율 주행 모드에서 차량을 제어하기 위한 시스템을 제공한다. 상기 시스템은 하나 이상의 프로세서를 포함하고, 상기 하나 이상의 프로세서는 상기 차량이 승객을 픽업 또는 하차시킬 위치에 대응하는 제1 위치를 수신하고; 상기 차량이 상기 제1 위치에 도달하기 위한 제1 비용을 결정하고; 상기 제1 위치에 기초하여 제2 위치를 식별하고; 상기 차량이 상기 제2 위치에 도달하기 위한 비용 및 상기 승객이 상기 제2 위치에 도달하기 위한 비용에 기초하여 제2 비용을 결정하고; 상기 제1 비용을 상기 제2 비용과 비교하고; 상기 비교에 기초하여 통지를 전송하고; 상기 통지를 전송하는 것에 응답하여, 상기 제2 위치로 진행하기 위한 지시를 수신하고; 상기 지시를 수신하는 것에 응답하여, 상기 승객을 픽업 또는 하차시키기 위해 상기 자율 주행 모드에서 상기 차량을 상기 제2 위치로 제어하도록 구성된다.
일 예에서, 상기 제1 위치는 도로의 제1 측에 대응하고, 상기 제2 위치를 식별하는 단계는 상기 도로의 제1 측의 반대인 상기 도로의 제2 측 상의 상기 제2 위치를 선택하는 단계를 포함하는 것을 추가로 포함한다. 다른 예에서, 상기 승객이 상기 제2 측에 도달하기 위한 비용을 결정하는 것은 상기 승객이 상기 도로를 횡단하기 위한 어려움의 양을 평가함으로써 상기 승객이 상기 제2 측에 도달하기 위한 비용을 결정하는 것을 포함한다. 다른 예에서, 상기 시스템은 상기 차량을 또한 포함한다.
도 1은 예시적인 실시예에 따른 예시적인 차량의 기능 다이어그램이다.
도 2a 및 도 2b는 본 개시내용의 양태들에 따른 맵 정보의 예이다.
도 3은 본 개시내용의 양태들에 따른 차량의 예시적인 외부 뷰이다.
도 4는 예시적인 실시예에 따른 예시적인 시스템의 그림 다이어그램이다.
도 5는 본 개시내용의 양태들에 따른 도 4의 시스템의 기능 다이어그램이다.
도 6은 본 개시내용의 양태들에 따른 지리적 영역의 예시적인 조감도이다.
도 7은 본 개시내용의 양태들에 따른 데이터를 갖는 도 6의 지리적 영역의 예시적인 뷰이다.
도 8은 본 개시내용의 양태들에 따른 데이터를 갖는 도 6의 지리적 영역의 예시적인 뷰이다.
도 9는 본 개시내용의 양태들에 따른 예시적인 스크린샷 및 클라이언트 컴퓨팅 디바이스들이다.
도 10은 본 개시내용의 양태들에 따른 예시적인 스크린샷 및 클라이언트 컴퓨팅 디바이스들이다.
도 11은 본 개시내용의 양태들에 따른 예시적인 흐름 다이어그램이다.
개관
본 기술은 자율 차량들에 대한 승객의 픽업 또는 하차를 도로의 어느 측에서 수행할지를 결정하는 것에 관한 것이다. 예를 들어, 차량의 컴퓨팅 디바이스들은 상이한 루트들의 비용들을 계산하고 최저 비용을 갖는 위치로의 루트를 선택함으로써 차량의 현재 위치로부터 해당 위치로 어떻게 도달할지를 결정할 수 있다. 이 방법은 도로의 어느 측에서 승객을 픽업 또는 하차시킬지를 결정하고, 승객이 픽업될 도로의 측을 승객이 변경할 수 있다는 것을 지시하는 통지들을 승객에게 제공하기 위해 사용될 수 있다.
처음에, 차량의 컴퓨팅 디바이스들은 승객을 픽업하거나 하차시키기 위한 위치를 수신할 수 있다. 위치는 도로의 제1 측과 연관될 수 있다. 이 위치로 라우팅할 때, 컴퓨팅 디바이스들은 위치로 라우팅하기 위한 비용을 계산하여, 최저 비용을 갖는 루트를 선택할 수 있다.
또한, 컴퓨팅 디바이스들은 도로의 제2 측에 대응하는 제2 위치를 식별할 수 있다. 예를 들어, 컴퓨팅 디바이스들은 도로를 가로질러 수직 라인을 그리고, 그 라인이 도로의 제2 측과 교차하는 위치까지 가장 가까운 픽업 장소를 식별할 수 있다.
컴퓨팅 디바이스들은 위에서 논의된 바와 같이 도로의 이 제2 측으로 라우팅하기 위한 비용들을 결정하거나 계산할 수 있다. 컴퓨팅 디바이스들은 또한 승객이 제1 측으로부터 제2 측으로 횡단하기 위한 비용을 계산할 수 있다. 이 비용은 도로의 제2 측으로 라우팅하는 비용에 조합되거나 합산될 수 있다.
이 조합된 값은 도로의 제1 측 상의 위치로 라우팅하는 비용과 비교될 수 있다. 조합된 값이 제1 측으로 라우팅하는 비용보다 작거나 또는 적어도 제1 임계값 더 작다면, 승객에게 그가 제2 위치에서 도로의 제2 측에서 픽업 또는 하차되기를 원하는지를 문의할 수 있다. 다시 말해서, 비교는 제2 위치를 가능한 픽업 또는 하차 위치로서 식별하는 통지를 승객의 클라이언트 컴퓨팅 디바이스로 전송할지를 결정하기 위해 사용될 수 있다.
그러한 통지들은, 차량의 컴퓨팅 디바이스들로부터 직접 또는 디스패칭 서버 컴퓨팅 디바이스를 통해 간접적으로, 승객의 클라이언트 컴퓨팅 디바이스로 전송되어, 승객에게 그가 도로를 횡단하고 제2 위치에서 픽업되고 싶은지를 문의할 수 있다. 승객이 확인하면, 클라이언트 디바이스로부터 컴퓨팅 디바이스들로 신호가 전송될 수 있다(직접 또는 간접적으로). 이 신호는 차량이 제2 위치로 진행하기 위한 지시를 포함할 수 있다. 차량에서 그러한 지시를 수신하는 것에 응답하여, 차량은 승객을 픽업 또는 하차시키기 위해 제2 위치로 라우팅될 수 있다.
이들 계산 및 비교는 도로를 횡단하는 승객에게 비용 절감이 있는지를 결정하기 위해 주기적으로 반복될 수 있다. 예를 들어, 이 계산은 도로의 양 측에 도달하는 비용뿐만 아니라 픽업 위치의 측으로부터 도로의 반대 측으로 횡단하는 비용을 계산하기 위해 차량의 현재 위치를 이용하여 초당 한 번 수행될 수 있다. 물론, 승객에게 도로를 횡단하도록 요청하는 제2 통지를 전송하기 전에, 비용 절감은 제1 임계값보다 적어도 제2 임계값 더 상당히 커야 한다.
본 명세서에서 설명된 특징들은 더 효율적인 차량 라우팅을 가능하게 할 수 있다. 이들 특징은 또한 실용적일 때 대기 및 운전 시간들의 감소를 보장하기 위한 더 편리한 그리고 실시간의 옵션들을 승객에게 제공할 수 있다. 승객에 대한 이점들에 더하여, 차량은 더 단순한 그리고/또는 더 쉬운 루트를 따를 수 있는데, 그 이유는 차량이 U 턴, k 턴, 비보호 좌회전 등과 같은 복잡한 또는 원치 않는 조종들을 피할 수 있기 때문이다.
예시적인 시스템들
도 1에 도시된 바와 같이, 본 개시내용의 일 양태에 따른 차량(100)은 다양한 컴포넌트들을 포함한다. 본 개시내용의 특정 양태들은 특정 유형들의 차량과 관련하여 특히 유용하지만, 차량은 자동차들, 트럭들, 오토바이들, 버스들, 레크리에이션 차량 등을 포함하지만 이에 제한되지 않는 임의 유형의 차량일 수 있다. 차량은 하나 이상의 프로세서(120), 메모리(130), 및 범용 컴퓨팅 디바이스들에 전형적으로 존재하는 다른 컴포넌트들을 포함하는 컴퓨팅 디바이스(110)와 같은 하나 이상의 컴퓨팅 디바이스를 가질 수 있다.
메모리(130)는 프로세서(120)에 의해 실행되거나 또는 달리 이용될 수 있는 명령어들(134) 및 데이터(132)를 포함하여, 하나 이상의 프로세서(120)에 의해 액세스 가능한 정보를 저장한다. 메모리(130)는 컴퓨팅 디바이스 판독가능 매체, 또는 하드 드라이브, 메모리 카드, ROM, RAM, DVD 또는 다른 광 디스크들과 같은 전자 디바이스의 도움으로 판독될 수 있는 데이터를 저장하는 다른 매체뿐만 아니라 다른 기입 가능 및 판독 전용 메모리들을 포함하여, 프로세서에 의해 액세스 가능한 정보를 저장할 수 있는 임의의 유형의 것일 수 있다. 시스템들 및 방법들은 전술한 것의 상이한 조합들을 포함할 수 있고, 그에 의해 명령어들 및 데이터의 상이한 부분들이 상이한 유형들의 매체 상에 저장된다.
명령어들(134)은 프로세서에 의해 (기계 코드와 같이) 직접적으로 또는 (스크립트들과 같이) 간접적으로 실행될 명령어들의 임의의 세트일 수 있다. 예를 들어, 명령어들은 컴퓨팅 디바이스 판독가능 매체 상에 컴퓨팅 디바이스 코드로서 저장될 수 있다. 이와 관련하여, 용어들 "명령어들" 및 "프로그램들"은 본 명세서에서 교체가능하게 사용될 수 있다. 명령어들은 프로세서에 의한 직접 처리를 위해 오브젝트 코드 포맷으로, 또는 요구 시에 해석되거나 또는 미리 컴파일되는 독립적인 소스 코드 모듈들의 스크립트들 또는 컬렉션들을 포함하는 임의의 다른 컴퓨팅 디바이스 언어로 저장될 수 있다. 기능들, 방법들, 및 명령어들의 루틴들이 아래에서 더 상세히 설명된다.
데이터(132)는 명령어들(134)에 따라 프로세서(120)에 의해 검색, 저장 또는 수정될 수 있다. 예를 들어, 비록 청구되는 주제가 임의의 특정한 데이터 구조에 의해 제한되지는 않지만, 데이터는 컴퓨팅 디바이스 레지스터들에, 관계형 데이터베이스에 복수의 상이한 필드 및 레코드를 갖는 테이블, XML 문서들 또는 플랫 파일(flat file)들로서 저장될 수 있다. 데이터는 또한 임의의 컴퓨팅 디바이스 판독가능 포맷으로 포맷팅될 수 있다.
하나 이상의 프로세서(120)는 상업적으로 이용가능한 CPU들과 같은 임의의 종래의 프로세서들일 수 있다. 대안적으로, 하나 이상의 프로세서는 ASIC 또는 다른 하드웨어 기반 프로세서와 같은 전용 디바이스일 수 있다. 비록 도 1은 컴퓨팅 디바이스들(110)의 프로세서, 메모리, 및 다른 요소들을 동일한 블록 내에 있는 것으로 기능적으로 예시하지만, 프로세서, 컴퓨팅 디바이스, 또는 메모리는 실제로는 동일한 물리적 하우징 내에 격납될 수 있거나 그렇지 않을 수 있는 다수의 프로세서, 컴퓨팅 디바이스, 또는 메모리를 포함할 수 있다는 것이 본 기술분야의 통상의 기술자들에게 이해될 것이다. 예를 들어, 메모리는 컴퓨팅 디바이스들(110)과 상이한 하우징에 위치한 하드 드라이브 또는 다른 스토리지 매체일 수 있다. 따라서, 프로세서 또는 컴퓨팅 디바이스에 대한 언급들은 병행하여 동작할 수 있거나 그렇지 않을 수 있는 프로세서들 또는 컴퓨팅 디바이스들 또는 메모리들의 컬렉션에 대한 언급들을 포함하는 것으로 이해될 것이다.
컴퓨팅 디바이스들(110)은 위에서 설명된 프로세서 및 메모리뿐만 아니라 사용자 입력(150)(예를 들어, 마우스, 키보드, 터치 스크린 및/또는 마이크로폰) 및 다양한 전자 디스플레이들(예를 들어, 스크린을 갖는 모니터 또는 정보를 디스플레이하도록 동작가능한 임의의 다른 전기 디바이스)과 같이 컴퓨팅 디바이스와 관련하여 통상적으로 사용되는 모든 컴포넌트들을 포함할 수 있다. 이 예에서, 차량은 정보 또는 시청각 경험들을 제공하기 위해 내부 전자 디스플레이(152)뿐만 아니라 하나 이상의 스피커(154)를 포함한다. 이와 관련하여, 내부 전자 디스플레이(152)는 차량(100)의 객실 내에 위치할 수 있고 차량(100) 내의 승객들에게 정보를 제공하기 위해 컴퓨팅 디바이스들(110)에 의해 사용될 수 있다.
컴퓨팅 디바이스들(110)은 아래에 상세히 설명되는 클라이언트 컴퓨팅 디바이스들 및 서버 컴퓨팅 디바이스들과 같은, 다른 컴퓨팅 디바이스들과의 통신을 가능하게 하기 위해 하나 이상의 무선 네트워크 연결(156)을 또한 포함할 수 있다. 무선 네트워크 연결들은 블루투스, 블루투스 저 에너지(LE), 셀룰러 연결들과 같은 근거리 통신 프로토콜들뿐만 아니라 인터넷, 월드 와이드 웹(World Wide Web), 인트라넷들, 가상 사설 네트워크들, 광역 네트워크들, 로컬 네트워크들, 하나 이상의 회사 전용의 통신 프로토콜들을 이용하는 사설 네트워크들, 이더넷, WiFi 및 HTTP, 및 전술한 것들의 다양한 조합을 포함하는 다양한 구성 및 프로토콜을 포함할 수 있다.
일 예에서, 컴퓨팅 디바이스들(110)은 차량(100) 내에 통합된 자율 주행 컴퓨팅 시스템의 컴퓨팅 디바이스들을 제어할 수 있다. 자율 주행 컴퓨팅 시스템은 메모리(130)의 주 차량 제어 코드에 따라 차량(100)의 움직임을 제어하기 위해 차량의 다양한 컴포넌트들과 통신할 수 있다. 예를 들어, 도 1로 돌아가서, 컴퓨팅 디바이스들(110)은 메모리(130)의 명령어들(134)에 따라 차량(100)의 움직임, 속도 등을 제어하기 위해 감속 시스템(160), 가속 시스템(162), 조향 시스템(164), 시그널링 시스템(166), 라우팅 시스템(168), 위치확인 시스템(170), 인식 시스템(172), 및 전력 시스템(174)(즉, 차량의 엔진 또는 모터)과 같은, 차량(100)의 다양한 시스템들과 통신할 수 있다. 다시금, 비록 이들 시스템은 컴퓨팅 디바이스들(110) 외부에 있는 것으로 도시되어 있지만, 실제로는, 이들 시스템은, 다시 차량(100)을 제어하기 위한 자율 주행 컴퓨팅 시스템으로서, 컴퓨팅 디바이스들(110)에 통합될 수도 있다.
예로서, 컴퓨팅 디바이스들(110)은, 차량의 속도를 제어하기 위해, 브레이크, 가속기 페달, 및/또는 차량의 엔진 또는 모터와 같은, 감속 시스템(160) 및/또는 가속 시스템(162)의 하나 이상의 액추에이터와 상호작용할 수 있다. 유사하게, 스티어링 휠, 스티어링 샤프트, 및/또는 랙 및 피니언 시스템 내의 피니언 및 랙과 같은, 조향 시스템(164)의 하나 이상의 액추에이터가 차량(100)의 방향을 제어하기 위해 컴퓨팅 디바이스들(110)에 의해 사용될 수 있다. 예를 들어, 자동차 또는 트럭과 같은 차량(100)이 도로상에서 이용하도록 구성되는 경우, 조향 시스템은 차량을 회전시키기 위해 바퀴들의 각도를 제어하는 하나 이상의 액추에이터를 포함할 수 있다. 시그널링 시스템(166)은, 예를 들어, 필요할 때 방향 지시등들 또는 브레이크 등을 점등함으로써 차량의 의도를 다른 운전자들 또는 차량들에 시그널링하기 위해 컴퓨팅 디바이스(110)에 의해 사용될 수 있다.
라우팅 시스템(168)은 위치로의 루트를 결정하고 이를 따르기 위해 컴퓨팅 디바이스(110)에 의해 사용될 수 있다. 이와 관련하여, 라우팅 시스템(168) 및/또는 데이터(132)는 상세한 맵 정보, 예를 들어, 도로들의 형상 및 고도, 차선 라인들, 교차로들, 횡단보도들, 속도 제한들, 교통 신호들, 건물들, 표지들, 실시간 교통 정보, 초목, 또는 다른 그러한 물체들 및 정보를 식별하는 매우 상세한 맵들을 저장할 수 있다.
도 2a 및 도 2b는 교차로(220)를 포함하는 도로의 섹션에 대한 맵 정보(200)의 일 예이다. 도 2a는 차선 마커들 또는 차선 라인들(210, 212, 214), 중앙선 영역들(230, 232), 교통 신호들(240, 242)뿐만 아니라 정지선들(250, 252, 254, 256)의 형상, 위치, 및 다른 특성들을 식별하는 정보를 포함하는 맵 정보의 일부를 묘사한다. 차선 라인들은 또한 다양한 차선들(260-271)을 정의할 수 있거나 또는 이들 차선은 또한 맵 정보(200)에서 명시적으로 식별될 수 있다. 이들 특징에 더하여, 맵 정보는 각각의 차선에 대한 교통의 방향 및 속도 제한을 식별하는 정보뿐만 아니라 컴퓨팅 디바이스들(110)이 차량이 특정 조종을 완료(즉, 화전을 완료하거나 교차로 또는 교통 차선을 횡단)하기 위한 통행권을 가지고 있는지를 결정할 수 있게 하는 정보뿐만 아니라, 연석, 건물, 수로, 초목, 표지 등과 같은 다른 특징들을 또한 포함할 수 있다.
맵 정보(200)는 차량이 승객들을 픽업하거나 하차시키기 위해 정지할 수 있는 영역들 및 길을 포함할 수 있는 주차 영역들을 식별할 수 있다. 이들 영역은 주차 공간, 대기 영역, 갓길(shoulders), 주차장 등에 대응할 수 있다. 예를 들어, 도 2b는 주차 영역들(280-287)을 묘사한다. 단순성을 위해, 이들 주차 영역은 주차 공간들에 대응할 수 있지만, 차량이 승객들을 픽업하거나 하차시키기 위해 정지할 수 있는 임의의 유형의 영역 및 길에 대응할 수 있다.
비록 맵 정보가 이미지 기반 맵으로서 본 명세서에 묘사되어 있지만, 맵 정보는 완전히 이미지 기반(예를 들어, 래스터)일 필요는 없다. 예를 들어, 맵 정보는 도로, 차선, 교차로, 및 이들 특징들 사이의 연결과 같은 정보의 하나 이상의 도로 그래프 또는 그래프 네트워크를 포함할 수 있다. 각각의 특징은 그래프 데이터로서 저장될 수 있고 지리적 위치와 같은 정보와 연관될 수 있고 그것이 다른 관련 특징들에 링크되어 있는지 여부에 관계없이, 예를 들어, 정지 표지가 도로 및 교차로 등에 링크될 수 있다. 일부 예들에서, 연관된 데이터는 특정 도로 그래프 특징들의 효율적인 검색을 허용하기 위해 도로 그래프의 그리드 기반 인덱스들을 포함할 수 있다.
위치확인 시스템(170)은 맵상에서의 또는 지구상에서의 차량의 상대적 또는 절대적 위치를 결정하기 위해 컴퓨팅 디바이스(110)에 의해 사용될 수 있다. 예를 들어, 위치확인 시스템(170)은 디바이스의 위도, 경도 및/또는 고도 위치를 결정하기 위한 GPS 수신기를 포함할 수 있다. 레이저 기반 위치표시(localization) 시스템들, 관성 보조 GPS, 또는 카메라 기반 위치표시와 같은 다른 위치 시스템들이 또한 차량의 위치를 식별하기 위해 사용될 수 있다. 차량의 위치는 절대적 지리적 위치, 예컨대 위도, 경도, 및 고도뿐만 아니라, 상대적 위치 정보, 예컨대 절대적 지리적 위치보다 종종 더 적은 잡음으로 결정될 수 있는 자신 바로 주위의 다른 자동차들에 상대적인 위치를 포함할 수 있다.
위치확인 시스템(170)은 차량의 방향 및 속도 또는 그것에 대한 변화들을 결정하기 위해 가속도계, 자이로스코프 또는 다른 방향/속도 검출 디바이스와 같은, 컴퓨팅 디바이스(110)와 통신 상태에 있는 다른 디바이스들을 또한 포함할 수 있다. 단지 예로서, 가속 디바이스는 중력의 방향 또는 이에 수직인 평면에 대한 그의 피치(pitch), 요(yaw) 또는 롤(roll)(또는 그것에 대한 변화들)을 결정할 수 있다. 이 디바이스는 속도의 증가 또는 감소 및 그러한 변화들의 방향을 또한 추적할 수 있다. 본 명세서에 제시된 바와 같은 디바이스의 위치 및 방위 데이터의 제공은 컴퓨팅 디바이스(110), 다른 컴퓨팅 디바이스들 및 전술한 것의 조합들에 자동으로 제공될 수 있다.
인식 시스템(172)은 다른 차량들, 도로의 장애물들, 교통 신호들, 표지판들, 나무들 등과 같은 차량의 외부에 있는 물체들을 검출하기 위한 하나 이상의 컴포넌트를 또한 포함한다. 예를 들어, 인식 시스템(172)은 레이저, 소나, 레이더, 카메라들 및/또는 컴퓨팅 디바이스들(110)에 의해 처리될 수 있는 데이터를 기록하는 임의의 다른 검출 디바이스들을 포함할 수 있다. 차량이 미니밴과 같은 승객 차량인 경우에, 미니밴은 루프 또는 다른 편리한 위치에 장착된 레이저 또는 다른 센서들을 포함할 수 있다. 예를 들어, 도 3은 차량(100)의 예시적인 외부 뷰이다. 이 예에서, 루프탑 하우징(310) 및 돔 하우징(312)은 lidar 센서뿐만 아니라 다양한 카메라들 및 레이더 유닛들을 포함할 수 있다. 또한, 차량(100)의 전방 단부에 위치한 하우징(320) 및 차량의 운전자 및 승객 측들에 있는 하우징들(330, 332) 각각은 lidar 센서를 격납할 수 있다. 예를 들어, 하우징(330)은 운전자 도어(360)의 전방에 위치한다. 차량(100)은 차량(100)의 루프 상에 또한 위치한 카메라들 및/또는 레이더 유닛들을 위한 하우징들(340, 342)을 또한 포함한다. 차량(100)의 전방 및 후방 단부들에 그리고/또는 루프 또는 루프탑 하우징(310)을 따라 다른 위치들에 추가적인 레이더 유닛들 및 카메라들(도시되지 않음)이 위치할 수 있다.
컴퓨팅 디바이스(110)는 다양한 컴포넌트들을 제어함으로써 차량의 방향 및 속도를 제어할 수 있다. 예로서, 컴퓨팅 디바이스(110)는 상세한 맵 정보 및 라우팅 시스템(168)으로부터의 데이터를 사용하여 완전히 자율적으로 차량을 목적지 위치까지 내비게이션할 수 있다. 컴퓨팅 디바이스들(110)은 위치확인 시스템(170)을 이용하여 차량의 위치를 결정하고 인식 시스템(172)을 이용하여 안전하게 위치에 도달하기 위해 필요할 때 물체들을 검출하고 그에 응답할 수 있다. 그렇게 하기 위해, 컴퓨팅 디바이스(110)는 차량이 가속하고(예를 들어, 가속 시스템(162)에 의해 엔진에 제공되는 연료 또는 다른 에너지를 증가시킴으로써), 감속하고(예를 들어, 감속 시스템(160)에 의해 엔진에 공급되는 연료를 감소시키고, 기어를 변경하고, 및/또는 브레이크를 적용함으로써), 방향을 변경하고(예를 들어, 조향 시스템(164)에 의해 차량(100)의 앞바퀴 또는 뒷바퀴를 회전시킴으로써), 그러한 변화들을 시그널링하게(예를 들어, 시그널링 시스템(166)의 방향 지시등들을 점등함으로써) 할 수 있다. 따라서, 가속 시스템(162) 및 감속 시스템(160)은 차량의 엔진과 차량의 바퀴들 사이의 다양한 컴포넌트들을 포함하는 구동렬의 일부일 수 있다. 다시금, 이들 시스템을 제어함으로써, 컴퓨팅 디바이스(110)는 또한 차량을 자율적으로 조종하기 위해 차량의 구동렬을 제어할 수 있다.
차량(100)의 컴퓨팅 디바이스(110)는 또한 다른 컴퓨팅 디바이스들뿐만 아니라 운송 서비스의 일부인 컴퓨팅 디바이스들과 같은 다른 컴퓨팅 디바이스들로 그리고 그들로부터 정보를 수신 또는 전송할 수 있다. 도 4 및 도 5는, 각각, 네트워크(460)를 통해 연결된 복수의 컴퓨팅 디바이스(410, 420, 430, 440) 및 스토리지 시스템(450)을 포함하는 예시적인 시스템(400)의 그림 및 기능 다이어그램들이다. 시스템(400)은 차량(100), 및 차량(100)과 유사하게 구성될 수 있는 차량들(100A, 100B)을 또한 포함한다. 비록 단순성을 위해 소수의 차량들 및 컴퓨팅 디바이스들만이 묘사되어 있지만, 전형적인 시스템은 상당히 더 많이 포함할 수 있다.
도 4에 도시된 바와 같이, 컴퓨팅 디바이스들(410, 420, 430, 440) 각각은 하나 이상의 프로세서, 메모리, 데이터 및 명령어들을 포함할 수 있다. 프로세서들, 메모리들, 데이터 및 명령어들은 컴퓨팅 디바이스(110)의 하나 이상의 프로세서(120), 메모리(130), 데이터(132), 및 명령어들(134)과 유사하게 구성될 수 있다.
네트워크(460), 및 개재 노드들은 블루투스, 블루투스 LE와 같은 단거리 통신 프로토콜들, 인터넷, 월드 와이드 웹, 인트라넷들, 가상 사유 네트워크들, 광역 네트워크들, 로컬 네트워크들, 하나 이상의 회사에 전용인 통신 프로토콜들을 이용하는 사유 네트워크들, 이더넷, WiFi 및 HTTP, 및 전술한 것들의 다양한 조합을 포함하는 다양한 구성들 및 프로토콜들을 포함할 수 있다. 그러한 통신은, 모뎀들 및 무선 인터페이스들과 같은, 다른 컴퓨팅 디바이스들로 및 이들로부터 데이터를 송신할 수 있는 임의의 디바이스에 의해 용이하게 될 수 있다.
일 예에서, 하나 이상의 컴퓨팅 디바이스(110)는, 다른 컴퓨팅 디바이스들로 및 그로부터 데이터를 수신, 처리 및 송신하는 목적을 위해 네트워크의 상이한 노드들과 정보를 교환하는, 복수의 컴퓨팅 디바이스를 갖는 하나 이상의 서버 컴퓨팅 디바이스, 예를 들어, 부하 균형화된 서버 팜을 포함할 수 있다. 예를 들어, 하나 이상의 컴퓨팅 디바이스(410)는 네트워크(460)를 통해 차량(100)의 컴퓨팅 디바이스(110) 또는 차량(100A)의 유사한 컴퓨팅 디바이스뿐만 아니라 컴퓨팅 디바이스들(420, 430, 440)과 통신할 수 있는 하나 이상의 서버 컴퓨팅 디바이스를 포함할 수 있다. 예를 들어, 차량들(100 및 100A)은 서버 컴퓨팅 디바이스들에 의해 다양한 위치들로 파견될 수 있는 차량군의 일부일 수 있다. 이와 관련하여, 서버 컴퓨팅 디바이스들(410)은 파견 시스템으로서 기능할 수 있다. 또한, 차량군의 차량들은 차량의 각각의 위치확인 시스템들에 의해 제공되는 위치 정보뿐만 아니라 아래에 더 논의되는 차량들의 상태에 관한 다른 정보를 주기적으로 서버 컴퓨팅 디바이스들로 전송할 수 있고, 하나 이상의 서버 컴퓨팅 디바이스는 차량군의 차량들 각각의 위치들 및 상태를 추적할 수 있다.
또한, 서버 컴퓨팅 디바이스들(410)은 컴퓨팅 디바이스들(420, 430, 440)의 디스플레이들(424, 434, 444)과 같은 디스플레이 상의 사용자(422, 432, 442)와 같은 사용자에게 정보를 송신 및 제시하기 위해 네트워크(460)를 사용할 수 있다. 이와 관련하여, 컴퓨팅 디바이스들(420, 430, 440)은 클라이언트 컴퓨팅 디바이스들로 간주될 수 있다.
도 4에 도시한 바와 같이, 각각의 클라이언트 컴퓨팅 디바이스(420, 430, 440)는 사용자(422, 432, 442)가 사용하기로 의도된 개인용 컴퓨팅 디바이스일 수 있고, 하나 이상의 프로세서(예를 들어, 중앙 처리 유닛(CPU)), 데이터 및 명령어들을 저장하는 메모리(예를 들어, RAM 및 내부 하드 드라이브들), 디스플레이들(424, 434, 444)과 같은 디스플레이(예를 들어, 스크린을 갖는 모니터, 터치스크린, 프로젝터, 텔레비전, 또는 정보를 디스플레이하도록 동작가능한 다른 디바이스), 및 사용자 입력 디바이스들(426, 436, 446)(예를 들어, 마우스, 키보드, 터치스크린 또는 마이크로폰)을 포함하는 개인용 컴퓨팅 디바이스와 연계하여 보통 사용되는 모든 컴포넌트들을 가질 수 있다. 클라이언트 컴퓨팅 디바이스들은 비디오 스트림들을 기록하기 위한 카메라, 스피커들, 네트워크 인터페이스 디바이스, 및 이들 요소를 서로 연결하기 위해 사용되는 모든 컴포넌트들을 또한 포함할 수 있다.
비록 클라이언트 컴퓨팅 디바이스들(420, 430, 및 440)이 각각 풀 사이즈 개인용 컴퓨팅 디바이스를 포함할 수 있지만, 이들은 대안적으로 인터넷과 같은 네트워크를 통해 서버와 데이터를 무선으로 교환할 수 있는 모바일 컴퓨팅 디바이스들을 포함할 수 있다. 단지 예로서, 클라이언트 컴퓨팅 디바이스(420)는 모바일 폰 또는 무선 가능 PDA, 태블릿 PC, 웨어러블 컴퓨팅 디바이스 또는 시스템과 같은 디바이스, 또는 인터넷 또는 다른 네트워크들을 통해 정보를 획득할 수 있는 넷북일 수 있다. 다른 예에서, 클라이언트 컴퓨팅 디바이스(430)는 도 4에 도시된 바와 같은 손목 시계로서 도시된 웨어러블 컴퓨팅 시스템일 수 있다. 예로서, 사용자는 소형 키보드, 키패드, 마이크로폰, 카메라를 이용한 시각적 신호들을 이용하여, 또는 터치 스크린을 이용하여 정보를 입력할 수 있다.
일부 예들에서, 클라이언트 컴퓨팅 디바이스(440)는 차량군의 차량들에 대한 차고 서비스들을 제공하기 위해 차고의 관리자 또는 운영자에 의해 사용되는 컨시어지 워크스테이션일 수 있다. 비록 도 4 및 도 5에는 단일 컨시어지 워크스테이션(440)만이 도시되어 있지만, 임의의 수의 그러한 워크스테이션들이 전형적인 시스템에 포함될 수 있다.
메모리(130)에서와 같이, 스토리지 시스템(450)은, 하드 드라이브, 메모리 카드, ROM, RAM, DVD, CD-ROM, 기입 가능, 및 판독 전용 메모리들과 같은, 서버 컴퓨팅 디바이스들(410)에 의해 액세스 가능한 정보를 저장할 수 있는 임의의 유형의 컴퓨터화된 스토리지일 수 있다. 또한, 스토리지 시스템(450)은 동일한 또는 상이한 지리적 위치들에 물리적으로 위치할 수 있는 복수의 상이한 스토리지 디바이스 상에 데이터가 저장되는 분산형 스토리지 시스템을 포함할 수 있다. 스토리지 시스템(450)은 도 4 및 도 5에 도시된 바와 같이 네트워크(460)를 통해 컴퓨팅 디바이스들에 연결될 수 있고/있거나, 컴퓨팅 디바이스들(110, 410, 420, 430, 440등) 중 임의의 것에 직접 연결되거나 통합될 수 있다.
스토리지 시스템(450)은 아래에 더 상세히 설명되는 바와 같이 다양한 유형의 정보를 저장할 수 있다. 이 정보는 본 명세서에서 설명된 특징들의 일부 또는 전부를 수행하기 위하여, 하나 이상의 서버 컴퓨팅 디바이스(410)와 같은 서버 컴퓨팅 디바이스에 의해 검색되거나 달리 액세스될 수 있다. 사용자들에게 운송 서비스들을 제공하기 위해, 스토리지 시스템(450)의 정보는, 하나 이상의 서버 컴퓨팅 디바이스에 대해 사용자를 식별하기 위해 사용될 수 있는 자격증명들(예를 들어, 전통적인 단일 인자 인증의 경우에서와 같은 사용자 명칭 및 패스워드뿐만 아니라 랜덤 식별자들, 생체인식(biometrics) 등과 같은 다중 인자 인증들에서 전형적으로 사용되는 다른 유형들의 자격증명들)과 같은 사용자 계정 정보를 포함할 수 있다. 사용자 계정 정보는 사용자의 클라이언트 컴퓨팅 디바이스(또는 다수의 디바이스가 동일한 사용자 계정을 가지고 사용되는 경우 디바이스들)의 정보를 식별하는, 사용자 명칭, 연락처 정보와 같은 개인 정보, 사용자에 대한 하나 이상의 고유 신호뿐만 아니라 다른 사용자 선호 또는 설정 데이터를 또한 포함할 수 있다.
스토리지 시스템(450)은 또한 사용자에게 디스플레이하기 위해 클라이언트 컴퓨팅 디바이스들에 제공될 수 있는 정보를 저장할 수 있다. 예를 들어, 스토리지 시스템(450)은 차량이 주어진 픽업 또는 목적지 위치에 대해 정지할 가능성이 있는 영역을 결정하기 위한 미리 결정된 거리 정보를 저장할 수 있다. 스토리지 시스템(450)은 또한 아래에 논의되는 바와 같이 사용자에게 디스플레이될 수 있는 그래픽들, 아이콘들, 및 다른 아이템들을 저장할 수 있다.
예시적인 방법들
위에서 설명되고 도면들에 예시된 동작들에 더하여, 다양한 동작들이 이제 설명될 것이다. 다음의 동작들이 아래에 설명된 정확한 순서로 수행될 필요는 없다는 것을 이해해야 한다. 오히려, 다양한 단계들이 상이한 순서로 또는 동시에 처리될 수 있고, 단계들이 추가되거나 생략될 수도 있다.
일 양태에서, 사용자는 클라이언트 컴퓨팅 디바이스에 차량을 요청하기 위한 애플리케이션을 다운로드할 수 있다. 예를 들어, 사용자들(422 및 432)은 이메일에서 링크를 통해, 웹사이트로부터 직접, 또는 애플리케이션 스토어로부터 클라이언트 컴퓨팅 디바이스들(420 및 430)로 애플리케이션을 다운로드할 수 있다. 예를 들어, 클라이언트 컴퓨팅 디바이스는 네트워크를 통해 애플리케이션에 대한 요청을, 예를 들어, 하나 이상의 서버 컴퓨팅 디바이스(410)로 송신하고, 응답하여, 애플리케이션을 수신할 수 있다. 애플리케이션은 클라이언트 컴퓨팅 디바이스에 로컬로 설치될 수 있다.
사용자는 그 후 자신의 클라이언트 컴퓨팅 디바이스를 이용하여 애플리케이션에 액세스하고 차량을 요청할 수 있다. 예로서, 사용자(432)와 같은 사용자가 클라이언트 컴퓨팅 디바이스(430)를 이용하여 차량에 대한 요청을 하나 이상의 서버 컴퓨팅 디바이스(410)로 전송할 수 있다. 이것의 일부로서, 사용자는 픽업 위치, 목적지 위치, 및 일부 경우에, 차량이 정지할 수 있는 서비스 영역 내의 어느 곳이든 하나 이상의 중간 정지 위치를 식별할 수 있다.
이들 픽업 및 목적지 위치는 사전 정의될 수 있거나(예를 들어, 주차장의 특정 영역들 등), 단순히 차량들의 서비스 영역 내의 임의의 위치일 수 있다. 예로서, 픽업 위치는 사용자의 클라이언트 컴퓨팅 디바이스의 현재 위치로 디폴트될 수 있거나, 사용자의 클라이언트 디바이스에서 사용자에 의해 입력될 수 있다. 예를 들어, 사용자는 주소 또는 다른 위치 정보를 입력하거나 맵 상의 위치를 선택하여 픽업 위치를 선택할 수 있다. 사용자가 픽업 및/또는 목적지 위치들 중 하나 이상을 선택하면, 클라이언트 컴퓨팅 디바이스(420)는 해당 위치 또는 위치들을 중앙집중화된 파견 시스템의 하나 이상의 서버 컴퓨팅 디바이스로 전송할 수 있다. 그에 응답하여, 서버 컴퓨팅 디바이스(410)와 같은 하나 이상의 서버 컴퓨팅 디바이스는, 예를 들어, 사용자에 대한 근접성 및 이용가능성에 기초하여, 차량(100)과 같은 차량을 선택할 수 있다. 그 후 서버 컴퓨팅 디바이스(410)는 사용자를 차량(100)에 대한 승객으로서 할당하여, 픽업하기 위해 선택된 차량(여기서 차량(100))을 할당된 승객에게 파견할 수 있다. 이는 할당된 승객에 의해 지정된 픽업 및/또는 목적지 위치들뿐만 아니라 클라이언트 컴퓨팅 디바이스(430)와 같은 클라이언트 컴퓨팅 디바이스를 인증하기 위해 차량(100)의 컴퓨팅 디바이스들(110)에 의해 사용될 수 있는 정보를 차량의 컴퓨팅 디바이스들(110)에 제공하는 것을 포함할 수 있다.
그 후, 컴퓨팅 디바이스들(110)은 차량(100)을 픽업 위치를 향해 조종하고, 승객을 픽업한 후에는, 목적지 위치를 향해 조종할 수 있다. 도 6은 맵 정보(200)에 대응하는 도로(600)의 섹션을 나타낸다. 이와 관련하여, 차선 라인들(610, 612, 614)은 차선 라인들(210, 212, 214)에 대응하고, 교차로(620)는 교차로(220)에 대응하고, 중앙선 영역들(630, 632)은 중앙선 영역들(230, 232)에 대응하고, 교통 신호들(640, 640)은 교통 신호들(240, 242)에 대응하고, 정지선들(650, 652, 654, 656)은 정지선들(250, 252, 254, 256)에 대응하고, 차선들(660-671)은 차선들(260-271)에 대응한다. 또한, 주차 공간들(680-687)은 주차 영역들(280-287)에 대응할 수 있다. 차량(100)이 차선(660)에서 교차로(620)에 접근중인 것으로 묘사되어 있다.
도 7은 도 6의 영역에 대응하지만, 차선(660) 내의 차량(100)이 승객에 대한 픽업 또는 하차 위치에 대응하는 마커(680)에 의해 식별된 위치에 접근중인 것도 묘사하고 있다. 마커(680)의 이 위치는 도로의 제1 측과 연관될 수 있다. 예를 들어, 차선들(664, 665, 666 및 667)은 중앙선 영역(632)과 함께 도로(690)를 정의할 수 있다. 이와 관련하여, 주차 공간들(685 및 686)의 영역은 도로(690)의 일 측을 정의할 수 있고, 주차 공간들(683 및 684)의 영역은 도로의 다른 측을 정의할 수 있다.
마커(680)의 이 위치로 라우팅할 때, 컴퓨팅 디바이스들(110)은 위치로 라우팅하기 위한 비용을 계산하여, 최저 비용을 갖는 루트를 선택할 수 있다. 라우팅 비용들은 위치에 도달하는 데 얼마나 오래 걸릴지, 차량이 임의의 원치 않는 조종들(U 턴, k 턴, 비보호 좌회전 등)을 행할 필요가 있을지, 해당 위치의 영역에 주파하는 것이 얼마나 어려운지를 포함할 수 있다(승객들을 픽업하려는 이전 시도들 및 다른 이력 데이터에 기초하여). 해당 위치가 픽업 위치인 경우에, 비용은 픽업 위치로부터 목적지에 도달하는 데 얼마나 오래 걸릴지를 또한 포함할 수 있다. 이와 관련하여, 컴퓨팅 디바이스들은 승객들을 픽업하기 위해서든, 하차시키기 위해서든, 기다리기 위해서는, 서비스 받기 위해서든 등등 무슨 이유로든 차량이 도달해야 하는 다음 위치를 고려하고 제1 위치로 라우팅하는 비용을 결정하는 데 해당 위치를 사용할 수 있다. 예를 들어, 컴퓨팅 디바이스들은 차량(100)이 마커(680)의 위치에 도달하기 위한 비용을 계산할 수 있다. 이 예에서는, 비록 차량(100)이 마커(680)의 위치에 물리적으로 매우 근접하지만, 실제로 해당 위치에 도달하기 위해서는 차량(100)이 몇 차례 회전하거나 블록 주위로 운전할 필요가 있을 수 있다. 따라서, 마커(680)의 위치에 도달하는 비용은 실제로 상당히 높을 수 있다.
또한, 컴퓨팅 디바이스들은 도로의 제2 측에 대응하는 제2 위치를 식별할 수 있다. 예를 들어, 컴퓨팅 디바이스들은 마커(680)의 위치로부터 도로(690)를 가로질러 수직 라인을 그릴 수 있다. 이 라인과 도로의 제2 측의 교차 지점이 제2 위치로서 식별될 수 있다. 예를 들어, 도 8은 도로(690)를 가로질러 그려진 라인(800)을 묘사한다. 도로의 제2 측과의 교차 지점이 마커(880)의 위치에 대응한다. 대안적으로, 라인과 도로의 제2 측의 교차 지점에 가장 가까운 주차 영역이 제2 위치로서 식별될 수 있다. 이 예에서, 제2 위치는 주차 공간들(683 또는 684)의 영역(또는 실제로, 주차 영역(283 또는 284))에 대응할 수 있다.
컴퓨팅 디바이스들(110)은 위에서 논의된 바와 같이 도로의 측 상의 이 제2 위치로 라우팅하기 위한 비용들을 결정하거나 계산할 수 있다. 예를 들어, 차량을 차량의 현재 위치로부터(도 8에 도시된 바와 같이) 마커(880)의 위치로 라우팅하는 비용은 해당 위치에 도달하는 데 얼마나 오래 걸릴지, 차량이 임의의 원치 않는 조종(U 턴, k 턴, 비보호 좌회전 등) 등을 행할 필요가 있을지에 기초하여 결정될 수 있다. 이 경우, 차량을 마커(880)의 위치로 라우팅하는 비용은 차량을 마커(680)의 위치로 라우팅하는 비용보다 상당히 낮을 수 있다.
컴퓨팅 디바이스들은 또한 승객이 제1 측으로부터 제2 측으로 횡단하기 위한 비용을 계산할 수 있다. 예를 들어, 사람이 제1 위치로부터 제2 위치에 도달하기 위해 도로를 횡단하는 것이 얼마나 어려울지에 대한 평가에 기초하여 비용이 계산될 수 있다. 이 평가는 차선의 수 및 중앙선이 존재하는지 여부, 차선의 수에 기초한 규칙들, 횡단보도들의 이용가능성, 도로의 속도 제한들, 승객이 도로를 횡단한 후 제2 위치로 이동할 필요가 있는 거리 등을 살펴보는 것을 포함할 수 있다. 예를 들어, 승객은 마커(680)의 위치로부터의 마커(880)의 위치에 도달하기 위해 차선들(667, 666, 665, 및 664)을 포함하는 4개의 교통 차선뿐만 아니라 중앙선 영역(632)을 횡단해야 할 것이기 때문에, 횡단의 비용은 비교적 높을 수 있다. 그러나, 교차로(620)에서 도로(690)를 횡단하기 위해 이용가능한 횡단보도가 존재한다면, 이는 비용을 상당히 낮게 만들 수 있다. 유사하게, 교차로(620)에 횡단보도가 존재한다면, 교차로(620)와 마커(680 및 880)의 위치들 각각 사이의 거리가 또한 고려될 수 있거나, 아니 더 정확하게는 승객이 교차로(620)에 있는 횡단보도까지 그리고 그로부터 보행하는 데 얼마나 오래 걸릴지가 고려될 수 있다. 또한, 도로(690)의 속도 제한이 시간당 35 마일 이상이면, 이 또한 도로(690)를 횡단하는 비용을 증가시킬 수 있다. 이 비용은 차량을 도로의 제2 측으로 라우팅하는 비용에 조합되거나 합산될 수 있다. 예를 들어, 마커(880)의 위치로 라우팅하는 비용이 "500"이고, 승객이 도로(690)를 횡단하기 위한 비용이 "1000"이라면, 이들 2개의 값을 합산하는 것에 의해 총 비용 또는 조합된 값이 결정될 수 있다. 이와 관련하여, 조합된 비용은 "1500"이다. 다른 예로서, 비용들은 가중합 또는 임의의 다른 방법으로 합산될 수 있다.
이 조합된 값은 도로의 제1 측 상의 위치로 라우팅하는 비용과 비교될 수 있다. 조합된 값이 제1 측으로 라우팅하는 비용보다 작거나 또는 적어도 제1 임계값 더 작다면, 승객에게 그가 제2 위치에서 도로의 제2 측에서 픽업 또는 하차되기를 원하는지를 문의할 수 있다. 임의의 예로서, 마커(680)의 위치로 라우팅하는 비용은 "2500"일 수 있다. 이 예에서, "1500"은 "2500"보다 작기 때문에, 컴퓨팅 디바이스들(110)은 승객에게 그가 픽업 또는 하차를 위해 도로를 횡단하고 싶은지를 문의하는 통지를 승객의 클라이언트 컴퓨팅 디바이스로 전송할 수 있다. 물론, 그 숫자들이 반전된다면, 컴퓨팅 디바이스들(110)은 통지를 전송하지 않을 것이다. 다른 예로서, 제1 임계값이 사용된다면, 조합된 값과 제1 위치로 라우팅하는 비용 간의 차이가 결정될 수 있다. "2500"의 마커(680)의 위치로 라우팅하는 비용 및 "1500"의 조합된 비용을 이용하여, 차이는 "1000"일 것이다. 따라서, 제1 임계값이 "1000" 이하이면, 차이는 임계값을 충족시킬 것이고, 컴퓨팅 디바이스들(110)은 승객의 클라이언트 컴퓨팅 디바이스에 통지를 전송할 수 있다. 제1 임계값이 "1000"보다 크면, 차이는 임계값을 충족시키지 않을 것이고, 따라서 컴퓨팅 디바이스들은 통지를 전송하지 않을 것이다.
다시 말해서, 도로의 제1 측 상의 위치로 라우팅하는 비용과 조합된 비용 사이의 비교는 제2 위치를 가능한 픽업 또는 하차 위치로서 식별하는 통지를 승객의 클라이언트 컴퓨팅 디바이스로 전송할지를 결정하기 위해 사용될 수 있다. 도 9는 클라이언트 컴퓨팅 디바이스(420)의 디스플레이(424) 상에 디스플레이되는(추정컨대 사용자(422)에게) 통지(900)의 예를 묘사한다. 통지는 승객이 차량(100)과 만나기 위해 도로를 횡단하는 승객에 대한 제안을 포함할 수 있다. 승객이 제안(910)을 이해하는 데 도움을 주기 위해, 통지는 보행 경로(930)를 묘사하는 영역의 맵(920) 및/또는 승객이 제1 위치에서 제2 위치로 도달하는 데 도움을 줄 다른 정보를 또한 포함할 수 있다. 다시 말해서, 승객은 마커(980)의 위치(도 8의 마커(680)의 위치에 대응함)로부터 마커(982)의 위치(도 8의 마커(880)의 위치에 대응함)로 이동해야 할 것이다. 통지는 제안을 확인(수락) 또는 거절하기 위해 승객이 사용할 수 있는 옵션들(950, 952)(예를 들어, 자신의 손가락으로 탭하는 것)을 또한 포함할 수 있다. 물론, 이 예에서, 수락(예를 들어, "예" 옵션 950을 선택하는 것)은 승객이 도로(690)를 횡단하는 것에 동의하는 것을 지시할 수 있는 반면 거절(예를 들어, "아니오" 옵션 952를 선택하는 것)은 승객이 도로를 횡단하기를 원하지 않는다는 것을 지시할 수 있다.
일부 예들에서, 통지는 심지어 승객에 대한 대기 시간이 상당히 더 짧을 것인지, 목적지까지의 시간이 상당히 더 짧을 것인지 등과 같은, 비용 절감의 유형을 지시할 수도 있다. 이는 승객에게 변화를 확인하도록 격려할 수 있다. 예를 들어, 통지(900)의 제안(910)은 차량(100)이 마커(982)의 위치(마커(680)의 위치에 대응함)보다 4분 더 빨리 마커(980)의 위치(마커(880)의 위치에 대응함)에 도달할 수 있음을 지시한다. 물론, 통지의 프레젠테이션 및 텍스트는 상황들에 따라 상이할 수 있다.
또한, 승객에게는 위치에 대한 변경의 의도하지 않은 수락 또는 확인을 취소할 기회가 제공될 수 있다. 예를 들어, 통지는 "도로를 가로질러 너를 픽업할거야. 그게 4분 더 빨라"라는 텍스트와 함께 차량을 이 새로운 위치로 향하게 하는 옵션을 포함할 수 있다. 일단 승객이 수락하면, 그에게는, 예를 들어, 승객이 실수한 경우에, 취소 또는 번복 또는 확인하는 옵션이 후속하여 제공될 수 있다.
그러한 통지들은, 차량의 컴퓨팅 디바이스들로부터 직접 또는 디스패칭 서버 컴퓨팅 디바이스를 통해 간접적으로, 승객의 클라이언트 컴퓨팅 디바이스로 전송될 수 있다. 승객이, 예를 들어, "예" 옵션 950을 사용하여 확인하면, 클라이언트 디바이스로부터 컴퓨팅 디바이스들로 신호가 전송될 수 있다(직접 또는 간접적으로). 이 신호는 컴퓨팅 디바이스들(110)이 제2 위치로 진행하도록 차량(100)을 제어하기 위한 지시를 포함할 수 있다. 차량에서 그러한 지시를 수신하는 것에 응답하여, 컴퓨팅 디바이스들(110)은, 해당 위치에서 승객을 픽업 또는 하차시키기 위해, 차량(100)을 제2 위치, 아니 더 정확하게는 마커(680)의 위치로 라우팅할 수 있다. 승객이 거절하면, 차량이 제1 위치로 진행해야 하는 것을 지시하는 대응하는 신호가 컴퓨팅 디바이스들로 전송될 수 있다.
비록 통지(900)는 승객의 픽업에 대응하지만, 승객의 차량 하차의 경우에 유사한 통지들이 전송될 수 있다. 승객의 클라이언트 컴퓨팅 디바이스로 통지를 전송하는 것에 추가로 또는 대안으로서, 하차의 경우에(승객이 이미 차량(100)에 있는 경우), 통지(900)는 내부 전자 디스플레이(152)와 같은 차량의 내부 디스플레이 상에 디스플레이될 수 있다. 이 예에서, 내부 전자 디스플레이(152)가 터치 감지형이면, 디스플레이는 또한 승객이 자신의 손가락을 사용하여 제안에 응답하여 "예" 또는 "아니오" 옵션을 선택할 수 있게 할 수 있다. 이 액션은 거절되면 차량이 제1 위치로 진행해야 하거나 수락되면 제2 위치로 루트를 변경해야 하는 것을 지시하는 대응하는 신호를 컴퓨팅 디바이스들(110)로 전송할 수 있다. 대안적으로 또는 추가로, 승객은 자신의 응답을 말하는 것에 의해 통지에 응답할 수 있다.
물론, 전술한 바와 같이, 차량이 도달해야 하는 다음 위치는 또한 제1 위치로 라우팅하는 비용 및 제2 위치로 라우팅하는 비용을 결정하기 위해 사용될 수 있다. 예를 들어, 마커(680)의 위치로부터 다음 위치로 라우팅하는 비용은, 예를 들어, 단순 또는 가중합을 이용하여, 마커(680)의 위치로 라우팅하는 비용에 합산될 수 있다. 유사하게, 마커(880)의 위치로부터 다음 위치로 라우팅하는 비용은, 예를 들어, 단순 또는 가중합을 이용하여, 마커(880)의 위치로 라우팅하는 비용에 합산될 수 있다. 그 후, 위에서 논의된 바와 같이 승객이 도로를 횡단하는 비용을 합산하여 조합된 비용을 결정할 수 있다. 그 후 조합된 비용을 제1 위치로 라우팅하는 비용(다음 위치로 라우팅하는 비용을 포함함)과 비교하여 통지를 전송할지를 결정할 수 있다. 이는 통지를 전송할지 여부를 결정할 때 미래의 위치들의 비용들이 고려될 수 있게 할 수 있다. 물론, 최상의 비교들을 위해, 다음 위치로 라우팅하는 비용은 제1 위치로 라우팅하는 비용 및 제2 위치로 라우팅하는 비용 양쪽 모두에 포함되어야 한다.
일부 경우에, 도로의 제2 측 상의 제2 위치에서 승객을 픽업 또는 하차시키는 것이 필요할 수 있다. 예를 들어, 일시적인 교통 방향수정 또는 도로 폐쇄의 경우와 같이, 도로의 제1 측 상의 위치에 도달할 수 없다면, 라우팅하는 비용은 한없이 높을 수 있다. 따라서, 이는 컴퓨팅 디바이스들에게 제2 위치로 라우팅하도록 강제할 수 있다. 이 예에서, 승객에게 그가 변경하고 싶은지를 문의하기보다는, 통지는 단순히 승객에게 변경이 필요하다는 것 및 일부 경우에, 변경이 필요한 이유를 통지할 수 있다. 도 10은 차량(100)이 마커(1080)의 위치(마커(680)의 위치에 대응함)에 도달할 수 없다는 것을 지시하는 메시지(1010)를 포함하는 통지(1000)의 예를 제공한다. 다시금, 통지는 승객이 마커(1082)의 새로운 위치(마커(880)의 위치에 대응함)에 도달하는 데 도움을 주기 위해 보행 방향들(1030)을 갖는 맵(1020)을 또한 포함한다. 물론, 승객이 실제로 변경에 대해 알지 못하고 제1 위치에서 계속 기다리는 상황을 피하기 위해, 예를 들어 옵션 1050을 이용하여, 승객에게 변경을 확인하도록 요청할 수도 있다.
다른 예들에서, 도로의 측들을 변경하는 것은 비용이 덜 들지만, 덜 바람직할 수 있다. 예를 들어, 승객이 명칭에 의해(주소가 아니라) 업체를 선택했고, 픽업 또는 하차 위치가 업체에 대한 입구에 근접하다면, 예를 들어 예컨대 10 또는 20 미터 이상 또는 이하의 짧은 거리 내에 있다면, 도로의 측들을 변경하는 것은 매우 불편할 수 있다. 다른 예로서, 승객이 장애가 있거나 나이가 많은 승객 또는 한 명 이상의 어린이와 함께 이동중이거나, 수하물, 식료품 또는 다른 그러한 물품들을 가지고 있다면, 또는 기상 상태가 이상적이지 않다면(예를 들어, 비가 오거나, 눈이 오거나, 우박이 내리거나, 매우 덥거나, 매우 춥거나 등등) 승객은 안전하게 또는 편리하게 도로를 횡단하지 못할 수 있다. 그러한 경우들에서, 제1 임계값이 증가될 수 있고/있거나 도로의 제2 측에 도달하는 비용 또는 조합된 비용이 특정 양만큼 증가될 수 있는데, 예를 들어, 도로의 제2 측에 도달하는 비용 또는 조합된 비용을 그 양에 합산하거나 그 양과 곱하는 것에 의해 증가될 수 있다.
이들 계산 및 비교는 도로를 횡단하는 승객에게 비용 절감이 있는지를 결정하기 위해 주기적으로 반복될 수 있다. 예를 들어, 이 계산은 도로의 양 측에 도달하는 비용뿐만 아니라 픽업 위치의 측으로부터 도로의 반대 측으로 횡단하는 비용을 계산하기 위해 차량의 현재 위치를 이용하여 초당 한 번 수행될 수 있다.
물론, 승객에게 도로를 횡단하도록 요청하는 제2 통지를 전송하기 전에, 비용 절감은 제1 임계값보다 적어도 제2 임계값 더 상당히 커야 한다. 예를 들어, 승객이 픽업을 위한 도로의 측을 변경할 것을 두 번째로 제안하기 전에(승객이 이전에 제2 위치에 도달하기 위해 도로를 횡단하는 것에 동의했든 아니든 간에), 새로운 위치에 대한 비용 절감은 제1 임계값의 적어도 2배 또는 3배이어야 한다. 예를 들어, 제1 임계값이 "1000"이면, 제2 임계값은 "2000" 또는 심지어 "3000"일 수 있다. 이는 성가시거나 심지어 혼란스러워질 수 있는 너무 많은 통지를 승객에게 전송하는 것을 피할 수 있다.
일부 경우에, 제1 또는 제2 임계값들은 현재 또는 변화하는 상황들에 기초하여 조정될 수 있다. 예를 들어, 비가 오고 있다면, 승객은 더 빨리 픽업되기를, 아니 더 정확하게는 목적지에 도달하기 위한 비용이 증가하더라도, 도로의 어느 측이든 기다리는 시간을 감소시킬 측에서 픽업되기를 선호할 수 있다. 이 예에서, 승객은 차량에 더 오래 있기를 선호할 수 있다.
비록 위의 예들은, 도로를 횡단하는 것과 관련되지만, 동일한 도로의 반대 측들 상의 2개의 위치 사이의 비용 절감을 계산하기보다는, 컴퓨팅 디바이스들은 상이한 도로들 상의 상이한 위치들에 대한 비용 절감을 계산할 수도 있다. 예를 들어, 컴퓨팅 디바이스들은 "모퉁이를 돌아" 또는 "한 블록 건너" 제2 위치를 식별하고 비용 절감이 충분히 크다면, 예를 들어 제1 임계값을 충족시킨다면, 승객에게 그들이 이 제2 위치에서 픽업되기를 선호하는지를 문의하는 통지를 제공할 수 있다. 바람직하게는, 이 제2 위치는 제1 위치로부터 짧은 거리 내에, 예컨대 1분 보행 거리 이상 또는 이하에 있고, 예를 들어, 근처의 차선들 상의 포인트들을 샘플링하고, 각각의 샘플링된 포인트에 대한 루트들을 계산하고, 최상의 비용을 갖는 루트와 현재 루트를 비교하여 통지가 생성되어야 하는지를 결정하는 것에 의해 결정될 수 있다. 비용들을 계산할 때, 도로를 횡단하기 위한 비용을 계산하기보다는, 컴퓨팅 디바이스들은 제2 위치에 도달하기 위한 비용을 계산할 수도 있다. 위의 예들에서와 같이, 비용 절감은 주기적으로 재계산될 수 있고, 제2의 더 높은 임계값이 충족된다면, 통지가 승객에게 전송될 수 있다.
도 11은 하나 이상의 컴퓨팅 디바이스(110)의 프로세서들(120)과 같은 하나 이상의 컴퓨팅 디바이스의 하나 이상의 프로세서에 의해 수행될 수 있는 자율 주행 모드에서 차량(100)과 같은 차량을 제어하기 위한 예들 중 일부의 예시적인 흐름 다이어그램(1100)을 포함한다. 이 예에서는, 블록 1110에서 차량이 승객을 픽업 또는 하차시킬 위치에 대응하는 제1 위치가 수신된다. 블록 1120에서 차량이 제1 위치에 도달하기 위한 제1 비용이 결정된다. 블록 1130에서 제1 위치에 기초하여 제2 위치가 식별된다. 블록 1140에서 차량이 제2 위치에 도달하기 위한 비용 및 승객이 제2 위치에 도달하기 위한 비용에 기초하여 제2 비용이 결정된다. 블록 1150에서 제1 비용이 제2 비용과 비교된다. 블록 1160에서 비교에 기초하여 통지가 전송된다. 블록 1170에서 통지를 전송하는 것에 응답하여, 제2 위치로 진행하기 위한 지시가 수신된다. 블록 1180에서 지시를 수신하는 것에 응답하여, 차량은 승객을 픽업 또는 하차시키기 위해 자율 주행 모드에서 제2 위치로 제어된다.
달리 언급되지 않는 한, 전술한 대안적인 예들은 상호 배타적이지 않으며, 고유의 이점들을 달성하도록 다양한 조합들로 구현될 수 있다. 위에서 논의된 특징들의 이들 및 다른 변형들 및 조합들이 청구항들에 의해 정의되는 주제를 벗어나지 않고서 이용될 수 있으므로, 전술한 실시예들의 설명은 청구항들에 의해 정의되는 주제의 제한으로서가 아니라 예시로서 받아들여져야 한다. 또한, 본 명세서에서 설명된 예들뿐만 아니라, "와 같은", "포함하는" 등의 문구로 된 절들의 제공은 청구항들의 주제를 특정 예들로 제한하는 것으로 해석되어서는 안 된다; 오히려, 예들은 많은 가능한 실시예들 중 하나만을 예시하기 위해 의도된 것이다. 또한, 상이한 도면들에서의 동일한 참조 번호들은 동일하거나 유사한 요소들을 식별할 수 있다.

Claims (20)

  1. 자율 주행 모드에서 차량을 제어하는 방법으로서,
    상기 방법은:
    상기 차량의 하나 이상의 프로세서에 의해, 상기 차량이 승객을 픽업 또는 하차시킬 위치에 대응하는 제1 위치를 수신하는 단계;
    상기 하나 이상의 프로세서에 의해, 상기 제1 위치를 향해 상기 자율 주행 모드에서 상기 차량을 제어하는 단계;
    상기 제1 위치에 도달하기 위해 상기 자율 주행 모드에서 상기 차량을 제어하는 동안:
    상기 하나 이상의 프로세서에 의해, 상기 차량이 상기 제1 위치에 도달하기 위한 제1 비용을 결정하는 단계,
    상기 제1 위치에 기초하여 제2 위치를 식별하는 단계,
    상기 하나 이상의 프로세서에 의해, 상기 차량이 상기 제2 위치에 도달하기 위한 비용 및 상기 승객이 상기 제2 위치에 도달하기 위한 비용에 기초하여 제2 비용을 결정하는 단계,
    상기 제1 비용을 상기 제2 비용과 비교하는 단계, 및
    상기 비교에 기초하여 통지를 전송하는 단계;
    상기 통지를 전송하는 것에 응답하여, 상기 하나 이상의 프로세서에 의해, 상기 제2 위치로 진행하기 위한 지시를 수신하는 단계; 및
    상기 지시를 수신하는 것에 응답하여, 상기 하나 이상의 프로세서에 의해, 상기 승객을 픽업 또는 하차시키기 위해 상기 자율 주행 모드에서 상기 차량을 상기 제2 위치로 제어하는 단계를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 제1 위치는 도로의 제1 측에 대응하고, 상기 제2 위치를 식별하는 단계는 상기 도로의 제1 측의 반대인 상기 도로의 제2 측 상의 상기 제2 위치를 선택하는 단계를 포함하는, 방법.
  3. 제2항에 있어서,
    상기 승객이 상기 제2 위치에 도달하기 위한 비용을 결정하는 단계는 상기 승객이 상기 제2 측에 도달하기 위한 비용을 결정하는 단계를 포함하는, 방법.
  4. 제3항에 있어서,
    상기 승객이 상기 제2 측에 도달하기 위한 비용을 결정하는 단계는 상기 승객이 상기 도로를 횡단하기 위한 어려움의 양을 평가하는 단계를 포함하는, 방법.
  5. 제4항에 있어서,
    상기 어려움의 양을 평가하는 단계는 상기 도로 상에 중앙선이 존재하는지 여부에 기초하는, 방법.
  6. 제4항에 있어서,
    상기 어려움의 양을 평가하는 단계는 횡단될 차선의 수에 기초하는, 방법.
  7. 제4항에 있어서,
    상기 어려움의 양을 평가하는 단계는 상기 승객이 상기 도로를 횡단하기 위해 사용하기 위한 횡단보도들의 이용가능성에 기초하는, 방법.
  8. 제4항에 있어서,
    상기 어려움의 양을 평가하는 단계는 상기 도로에 대한 속도 제한에 기초하는, 방법.
  9. 제3항에 있어서,
    상기 승객이 상기 제2 측에 도달하기 위한 비용을 결정하는 단계는 상기 승객이 상기 도로를 횡단한 후에 상기 제2 위치로 이동할 필요가 있는 거리를 결정하는 단계를 포함하는, 방법.
  10. 제1항에 있어서,
    상기 제2 비용을 결정하는 단계는 상기 차량이 상기 제2 위치에 도달하기 위한 비용 및 상기 승객이 제2 위치에 도달하기 위한 비용을 합산하는 단계를 포함하는, 방법.
  11. 제1항에 있어서,
    상기 제1 비용을 상기 제2 비용과 비교하는 단계는 상기 제1 비용과 상기 제2 비용 간의 차이를 결정하고 이 차이를 제1 임계값과 비교하는 단계를 포함하는, 방법.
  12. 제11항에 있어서,
    픽업 또는 하차를 위한 상황들에 기초하여 상기 제1 임계값을 결정하는 단계를 더 포함하는, 방법.
  13. 제12항에 있어서,
    상기 차량이 상기 제2 위치를 향해 제어됨에 따라, 상기 차량의 현재 위치를 이용하여 상기 차량이 상기 제2 위치에 도달하기 위한 제3 비용을 결정하는 단계;
    상기 차량의 현재 위치를 이용하여 상기 차량이 제3 위치에 도달하기 위한 비용 및 상기 승객이 상기 제2 위치로부터 상기 제3 위치에 도달하기 위한 비용에 기초하여 제4 비용을 결정하는 단계; 및
    상기 제3 비용을 상기 제4 비용과 비교하는 단계;
    상기 제3 비용과 상기 제4 비용의 비교에 기초하여 제2 통지를 전송하는 단계;
    상기 제3 위치로 진행하기 위한 지시를 수신하는 단계; 및
    상기 승객을 픽업 또는 하차시키기 위해 상기 자율 주행 모드에서 상기 차량을 상기 제3 위치로 제어하는 단계를 추가로 포함하는, 방법.
  14. 제13항에 있어서,
    상기 승객이 상기 제3 위치에 도달하기 위한 비용을 결정하는 단계는 상기 승객이 제1 측에 도달하기 위한 비용을 결정하는 단계를 포함하는, 방법.
  15. 제13항에 있어서,
    상기 제3 비용을 상기 제4 비용과 비교하는 단계는 상기 제3 비용과 상기 제4 비용 간의 차이를 결정하고 이 차이를 제2 임계값과 비교하는 단계를 포함하고, 상기 제2 임계값은 상기 제1 임계값보다 큰, 방법.
  16. 제15항에 있어서,
    상기 제2 통지는 상기 제3 비용과 상기 제4 비용 간의 차이가 상기 제2 임계값을 충족시킬 때에만 전송되는, 방법.
  17. 자율 주행 모드에서 차량을 제어하기 위한 시스템으로서, 상기 시스템은 하나 이상의 프로세서를 포함하고, 상기 하나 이상의 프로세서는:
    상기 차량이 승객을 픽업 또는 하차시킬 위치에 대응하는 제1 위치를 수신하고;
    상기 하나 이상의 프로세서에 의해, 상기 제1 위치를 향해 상기 자율 주행 모드에서 상기 차량을 제어하고;
    상기 제1 위치를 향해 상기 차량을 제어하는 동안:
    상기 차량이 상기 제1 위치에 도달하기 위한 제1 비용을 결정하고,
    상기 제1 위치에 기초하여 제2 위치를 식별하고,
    상기 차량이 상기 제2 위치에 도달하기 위한 비용 및 상기 승객이 상기 제2 위치에 도달하기 위한 비용에 기초하여 제2 비용을 결정하고,
    상기 제1 비용을 상기 제2 비용과 비교하고,
    상기 비교에 기초하여 통지를 전송하고;
    상기 통지를 전송하는 것에 응답하여, 상기 제2 위치로 진행하기 위한 지시를 수신하고;
    상기 지시를 수신하는 것에 응답하여, 상기 승객을 픽업 또는 하차시키기 위해 상기 자율 주행 모드에서 상기 차량을 상기 제2 위치로 제어하도록 구성되는, 시스템.
  18. 제17항에 있어서,
    상기 제1 위치는 도로의 제1 측에 대응하고, 상기 제2 위치를 식별하는 것은 상기 도로의 제1 측의 반대인 상기 도로의 제2 측 상의 상기 제2 위치를 선택하는 것을 포함하는 것을 추가로 포함하는, 시스템.
  19. 제18항에 있어서,
    상기 승객이 상기 제2 위치에 도달하기 위한 비용을 결정하는 것은 상기 승객이 상기 도로를 횡단하기 위한 어려움의 양을 평가함으로써 상기 승객이 상기 제2 측에 도달하기 위한 비용을 결정하는 것을 포함하는, 시스템.
  20. 제17항에 있어서,
    상기 시스템은 상기 차량을 추가로 포함하고, 상기 하나 이상의 프로세서는 상기 차량의 하나 이상의 프로세서인, 시스템.
KR1020207016691A 2017-12-15 2018-11-19 자율 차량을 위한 대안적인 픽업 및 하차 위치들의 제안 KR102416547B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/843,090 US10520941B2 (en) 2017-12-15 2017-12-15 Suggesting alternative pickup and drop off locations for autonomous vehicles
US15/843,090 2017-12-15
PCT/US2018/061790 WO2019118132A1 (en) 2017-12-15 2018-11-19 Suggesting alternative pickup and drop off locations for autonomous vehicles

Publications (2)

Publication Number Publication Date
KR20200072560A KR20200072560A (ko) 2020-06-22
KR102416547B1 true KR102416547B1 (ko) 2022-07-05

Family

ID=66815983

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207016691A KR102416547B1 (ko) 2017-12-15 2018-11-19 자율 차량을 위한 대안적인 픽업 및 하차 위치들의 제안

Country Status (7)

Country Link
US (3) US10520941B2 (ko)
EP (1) EP3704664A4 (ko)
JP (1) JP7153724B2 (ko)
KR (1) KR102416547B1 (ko)
CN (1) CN111480174B (ko)
SG (1) SG11202004827PA (ko)
WO (1) WO2019118132A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11644320B2 (en) * 2019-06-25 2023-05-09 Uber Technologies, Inc. Intersection-based routing
US20210311478A1 (en) * 2020-04-07 2021-10-07 Toyota Motor Engineering & Manufacturing North America, Inc. Systems and Methods For Autonomous Navigation To Locate User With Ultra-Wideband Sensing
US12077188B2 (en) 2020-09-22 2024-09-03 Waymo Llc Leveraging weather information to improve passenger pickup and drop offs for autonomous vehicles
US11696149B2 (en) * 2021-03-23 2023-07-04 Sling TV L.L.C. Systems and methods for optimal over-the-air antenna installation
US11731659B2 (en) 2021-04-29 2023-08-22 Argo AI, LLC Determination of vehicle pullover location considering ambient conditions
US12072194B2 (en) 2021-04-29 2024-08-27 Argo AI, LLC Method of navigating autonomous vehicle to passenger pickup / drop-off location
US20220349721A1 (en) * 2021-04-29 2022-11-03 Argo AI, LLC Determination of path to vehicle stop location in a cluttered environment
US11498585B1 (en) 2021-05-05 2022-11-15 Waymo Llc Driveway pullovers for autonomous vehicles
US20220381569A1 (en) * 2021-05-28 2022-12-01 Gm Cruise Holdings Llc Optimization of autonomous vehicle route calculation using a node graph
US11656093B2 (en) 2021-09-27 2023-05-23 Argo AI, LLC Method and system for navigating vehicle to pickup / drop-off zone

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160370194A1 (en) * 2015-06-22 2016-12-22 Google Inc. Determining Pickup and Destination Locations for Autonomous Vehicles

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10002198B2 (en) 2009-10-28 2018-06-19 Verizon Patent And Licensing Inc. Mobile taxi dispatch system
JP2012202885A (ja) * 2011-03-28 2012-10-22 Zenrin Co Ltd 経路探索システム
US9429943B2 (en) 2012-03-05 2016-08-30 Florida A&M University Artificial intelligence valet systems and methods
US8700251B1 (en) 2012-04-13 2014-04-15 Google Inc. System and method for automatically detecting key behaviors by vehicles
JP6114020B2 (ja) * 2012-12-07 2017-04-12 株式会社ナビタイムジャパン 情報処理システム、情報処理方法、および、情報処理プログラム
US9293048B2 (en) * 2014-01-23 2016-03-22 Eric Alan Fowler Method for efficient dynamic allocation of vehicles to independent passengers
US9436182B2 (en) * 2014-05-23 2016-09-06 Google Inc. Autonomous vehicles
US20150377635A1 (en) * 2014-06-27 2015-12-31 Here Global B.V. Method and apparatus for determining a drop-off and a pick-up location based on fitness goals
US9377315B2 (en) 2014-10-22 2016-06-28 Myine Electronics, Inc. System and method to provide valet instructions for a self-driving vehicle
US9547309B2 (en) * 2015-05-13 2017-01-17 Uber Technologies, Inc. Selecting vehicle type for providing transport
TWI550390B (zh) 2015-07-09 2016-09-21 廣達電腦股份有限公司 可變形行動裝置
US9958864B2 (en) * 2015-11-04 2018-05-01 Zoox, Inc. Coordination of dispatching and maintaining fleet of autonomous vehicles
US9547986B1 (en) * 2015-11-19 2017-01-17 Amazon Technologies, Inc. Lane assignments for autonomous vehicles
US9613386B1 (en) * 2015-12-01 2017-04-04 Google Inc. Pickup and drop off zones for autonomous vehicles
JP6817337B2 (ja) 2016-05-27 2021-01-20 ユーエーティーシー, エルエルシー 自動運転車のための乗客の乗車の円滑化
US9769616B1 (en) 2017-04-04 2017-09-19 Lyft, Inc. Geohash-related location predictions
US10824146B2 (en) * 2018-06-29 2020-11-03 Ford Global Technologies, Llc Handling rider service at autonomous vehicles
US11281216B2 (en) * 2018-08-08 2022-03-22 Uatc, Llc Systems and methods for providing a ridesharing vehicle service using an autonomous vehicle
US11048256B2 (en) * 2019-08-09 2021-06-29 Waymo Llc Parking behaviors for autonomous vehicles

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160370194A1 (en) * 2015-06-22 2016-12-22 Google Inc. Determining Pickup and Destination Locations for Autonomous Vehicles

Also Published As

Publication number Publication date
US20190187702A1 (en) 2019-06-20
SG11202004827PA (en) 2020-07-29
US11243535B2 (en) 2022-02-08
US20200166935A1 (en) 2020-05-28
US11971716B2 (en) 2024-04-30
US10520941B2 (en) 2019-12-31
WO2019118132A1 (en) 2019-06-20
KR20200072560A (ko) 2020-06-22
JP2021507328A (ja) 2021-02-22
CN111480174A (zh) 2020-07-31
CN111480174B (zh) 2023-10-20
EP3704664A4 (en) 2021-08-04
US20220121204A1 (en) 2022-04-21
JP7153724B2 (ja) 2022-10-14
EP3704664A1 (en) 2020-09-09

Similar Documents

Publication Publication Date Title
KR102416547B1 (ko) 자율 차량을 위한 대안적인 픽업 및 하차 위치들의 제안
US11914377B1 (en) Autonomous vehicle behavior when waiting for passengers
US11853067B2 (en) Arranging passenger pickups for autonomous vehicles
US20220065636A1 (en) Managing autonomous vehicles
CN111033427B (zh) 用于无人驾驶车辆的情境感知停止
US11710399B1 (en) Vehicle location assistance using audible signals
CN111032469A (zh) 估计让乘客上下车的时间用于改进的自动车辆的停靠分析
US20220222597A1 (en) Timing of pickups for autonomous vehicles
CN114248798A (zh) 利用天气信息改进自主车辆的乘客搭乘和下车
US20220371618A1 (en) Arranging trips for autonomous vehicles based on weather conditions

Legal Events

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