US20230410241A1 - Autonomous vehicle services - Google Patents

Autonomous vehicle services Download PDF

Info

Publication number
US20230410241A1
US20230410241A1 US18/213,994 US202318213994A US2023410241A1 US 20230410241 A1 US20230410241 A1 US 20230410241A1 US 202318213994 A US202318213994 A US 202318213994A US 2023410241 A1 US2023410241 A1 US 2023410241A1
Authority
US
United States
Prior art keywords
user
vehicle
users
computing devices
specific vehicle
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
US18/213,994
Inventor
Christopher Paul Urmson
Dmitri A. Dolgov
Nathaniel Fairfield
Peter Colijin
Salil Pandit
Nirmal Patel
Ryan Powell
Min Li CHAN
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Waymo LLC
Original Assignee
Waymo LLC
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 Waymo LLC filed Critical Waymo LLC
Priority to US18/213,994 priority Critical patent/US20230410241A1/en
Assigned to WAYMO LLC reassignment WAYMO LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: WAYMO HOLDING INC.
Assigned to WAYMO HOLDING INC. reassignment WAYMO HOLDING INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: GOOGLE INC.
Assigned to GOOGLE INC. reassignment GOOGLE INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CHAN, MIN LI, DOLGOV, DMITRI A., COLIJIN, PETER, URMSON, CHRISTOPHER PAUL, FAIRFIELD, NATHANIEL, PANDIT, Salil, PATEL, NIRMAL, POWELL, RYAN
Publication of US20230410241A1 publication Critical patent/US20230410241A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3605Destination input or retrieval
    • G01C21/3617Destination input or retrieval using user history, behaviour, conditions or preferences, e.g. predicted or inferred from previous use or current movement
    • 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
    • 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/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • G06Q10/063114Status monitoring or status determination for a person or group
    • 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/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06315Needs-based resource requirements planning or analysis
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/005Traffic control systems for road vehicles including pedestrian guidance indicator
    • 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
    • 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
    • B60KARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
    • B60K2360/00Indexing scheme associated with groups B60K35/00 or B60K37/00 relating to details of instruments or dashboards
    • B60K2360/16Type of output information
    • B60K2360/175Autonomous driving
    • B60K2370/175
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60KARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
    • B60K35/00Instruments specially adapted for vehicles; Arrangement of instruments in or on vehicles
    • B60K35/20Output arrangements, i.e. from vehicle to user, associated with vehicle functions or specially adapted therefor
    • B60K35/28Output arrangements, i.e. from vehicle to user, associated with vehicle functions or specially adapted therefor characterised by the type of the output information, e.g. video entertainment or vehicle dynamics information; characterised by the purpose of the output information, e.g. for attracting the attention of the driver
    • 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
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3407Route searching; Route guidance specially adapted for specific applications
    • G01C21/343Calculating itineraries, i.e. routes leading from a starting point to a series of categorical destinations using a global route restraint, round trips, touristic trips

Definitions

  • Autonomous vehicles such as vehicles that do not require a human driver, can be used to aid in the transport of passengers or items from one location to another. Such vehicles may operate in a fully autonomous mode where passengers may provide some initial input, such as a pickup or destination location, and the vehicle maneuvers itself to that location.
  • aspects of the disclosure provide a method for facilitating transportation services between a user and a vehicle having an autonomous driving mode.
  • the method includes receiving, by one or more server computing devices having one or more processors, information identifying a current location of the vehicle; determining, by the one or more server computing devices, that the user is likely to want to take a trip to a particular destination based on prior location history for the user; dispatching, by the one or more server computing devices, the vehicle to cause the vehicle to travel in the autonomous driving mode towards a location of the user; and after dispatching, by the one or more server computing devices, sending a notification to a client computing device associated with the user indicating that the vehicle is currently available to take the user to the particular destination.
  • the method also includes, prior to determining that the user is likely to want to take a trip, identifying the vehicle as available to transport a passenger. In another example, the method also includes, prior to determining that the user is likely to want to take a trip, identifying the vehicle will become available to transport a passenger within a predetermined expected period of time. In another example, the method also includes receiving information identifying a current location of the client computing device, and determining that the user is likely to want to take a trip is further based on the current location of the client computing device. In this example, the current location of the client computing device is the location of the user, and the notification further indicates that the vehicle is currently at the current location of the client computing device.
  • the method also includes receiving, by the one or more server computing devices, information identifying a current location of the client computing device, prior to determining that the user is likely to want to take a trip, identifying a set of users within a predetermined distance of the current location of the vehicle, and determining that the user is likely to want to take a trip, includes selecting the user from the set of users based on the prior location history for the user.
  • the method also includes receiving, by the one or more server computing devices, the prior location history of the user; generating, by the one or more server computing devices, one or more task metrics for the user based on the prior location history, the one or more task metrics each define a location to which the user is likely to need to travel, and determining that the user is likely to want to take a trip is further based on the one or more task metrics.
  • the one or more task metrics includes a task metric indicating that the user is likely to need to travel to the particular destination.
  • dispatching includes instructing the vehicle to wait for further instructions.
  • the method also includes receiving calendar information for the user, wherein determining that the user is likely to want to take a trip is further based on a calendar entry of the calendar information.
  • the method also includes generating, by the one or more server computing devices, one or more task metrics for the user based on the calendar entry, the one or more task metrics each define a location to which the user is likely to need to travel, and determining that the user is likely to want to take a trip is further based on the one or more task metrics.
  • the method also includes receiving, by the one or more computing devices, from the client computing device information indicating acceptance of a trip in response to the notification, and in response to receiving the information indicating acceptance of a trip, sending, by the one or more computing devices, updated dispatching instructions to the vehicle.
  • the updated dispatching instructions include information identifying the user's client computing device to allow the vehicle to authenticate the user.
  • the method also includes receiving, by the one or more server computing devices, information identifying a current location of the client computing device, and the notification further indicates that the vehicle is currently traveling towards the current location of the client computing device and an estimated time of arrival of the vehicle for the current location of the client computing device; determining that the vehicle will not reach the current location of the client computing device within the estimated time of arrival; and based on the determination that the vehicle will not reach the current location of the client computing device within the estimated time of arrival, generating a second notification including an offer to occupy the user until the vehicle is able to pick up the user.
  • the offer suggests that the user wait at a particular location until the vehicle is available.
  • the notification further indicates an estimated time of arrival of the vehicle at the current location of the client computing device.
  • the method also includes receiving, by the one or more server computing devices, information identifying a current location of the client computing device, and the notification further indicates that the vehicle is currently at the current location of the client computing device.
  • the method also includes receiving location information identifying current locations of a plurality of client computing devices each associated with a different user, and sending the notification to each of the plurality of client computing devices, wherein the notification indicates that multiple seats are available to users for a trip to the particular destination.
  • the method also includes receiving, in response to sending the notification to the plurality of client computing devices, information indicating acceptance of a trip for each of the multiple seats from a first portion of the plurality of client computing devices, and after receiving the information indicating acceptance of a trip, sending to a second portion of the plurality of client computing devices a notification that the multiple seats are no longer available.
  • Another aspect of the disclosure provides a system including one or more server computing devices having one or more processors.
  • the one or more processors are further configured to receive information identifying a current location of the vehicle; determine that the user is likely to want to take a trip to a particular destination based on prior location history for the user; dispatch vehicle to cause the vehicle to travel in the autonomous driving mode towards a location of the user; and after dispatching, send a notification to a client computing device associated with the user indicating that the vehicle is currently available to take the user to the particular destination.
  • FIG. 1 is a functional diagram of an example vehicle in accordance with aspects of the disclosure.
  • FIGS. 2 A- 2 B are diagrams of map information in accordance with aspects of the disclosure.
  • FIGS. 3 A- 3 D are example external views of a vehicle in accordance with aspects of the disclosure.
  • FIG. 4 is a pictorial diagram of a system in accordance with aspects of the disclosure.
  • FIG. 5 is a functional diagram of the system of FIG. 4 in accordance with aspects of the disclosure.
  • FIG. 6 is a view of a section of roadway in accordance with aspects of the disclosure.
  • FIGS. 7 A- 7 D are examples of client computing devices displaying notifications in accordance with aspects of the disclosure.
  • FIG. 8 is a flow diagram in accordance with aspects of the disclosure.
  • the technology relates to vehicle transportation services involving fleets of vehicles for maneuvering passengers and/or cargo to a destination autonomously.
  • Such services may involve a user downloading an application to a device and using the application to request a vehicle.
  • the request is sent to a server device which dispatches a vehicle to pick up the user and transport him or her to a destination.
  • the application can be used to encourage users to use the service based on the current location of available vehicles as well as the user's ride history and other information provided by the user to the server.
  • the user may opt to share certain information about the user with the application, such as his or her work or social schedule, access to personal email accounts or calendars, and/or real time location information.
  • This information may be sent to the server for processing.
  • the server may store information about a user's ride history. This ride history may include pick up and drop off locations, time of day, day of the week etc.
  • the server may identify patterns of ride behavior. For instance, these patterns may include where the user is typically picked up and dropped off and when. This may include, for example, information about when and how users use the services.
  • Task metrics may define tasks that the user is likely to perform or locations to which the user will or has gone. For instance, a calendar entry regarding a restaurant or an email confirming a restaurant reservation may be used to generate a task metric indicating that the user is likely to perform the task of going to that restaurant at the time specified in the calendar entry or email confirmation.
  • a task metric may identify a location to which the user frequently travels, such as the location of the user's workplace, favorite restaurant or coffee shop, etc. In such examples, the task metric may identify the location and a time or range of times when the user typically has gone to the location.
  • the task metrics and current location information for users may be used to identify users who are likely to use the service for a trip.
  • the server computing devices may have real time information about the location and status of vehicles within the fleet of vehicles. For instance, many vehicles may be located in a given area, but only some of those vehicles may be empty and not already dispatched or otherwise assigned to pick up a particular user.
  • the server computing devices can determine whether there is a vehicle currently located within a predetermined distance of a user who is likely to need or want to take a ride or rather is associated with a task metric which indicates that the user is likely to want to take a trip in the near future.
  • the server computing device may first identify any currently available vehicles or vehicles that are going to become available in the near future.
  • server computing devices may then identify a set of any users within a predetermined distance of an available vehicle. Of the identified set of users, the server computing devices may then select one or more of those that are associated with task metrics that indicate that these users are likely to accept a trip in response to a notification.
  • a notification may then be generated for the identified one or more users indicating that a vehicle is available for a trip.
  • the server computing devices can first send an instruction to dispatch the identified available vehicle to the location of the user or to continue to wait at its current location, for instance, if the vehicle is parked at a location proximate of the user's current location.
  • the notification is provided only when the vehicle is on its way to the location of the user or has already reached the location of the user. For instance, once the server computing devices has identified a user and a vehicle, without receiving a specific request for the vehicle, the vehicle may show up at or near a particular user's current location. In this way, the notification itself can inform the user that a vehicle is on the way or at the location of the user.
  • the server computing devices can send a notification to the user's device for display to the user.
  • the server computing devices computing devices may generate a notification to be provided to the user to indicate that a vehicle is currently available for a trip. After dispatching the vehicle or instructing the vehicle to wait at its current location, the notification may be sent to the user.
  • an audible tone or tactile indication may be provide to indicate that a notification has been received. The user may then select to view or hear the notification.
  • the notification may also make a suggestion about a destination. This suggestion may be generated based on the user's pattern of ride behavior or any task metric or metrics used to identify the user.
  • the timing of the notification may be based on the location of the user, how long it will take to reach the suggested location, any date and/or time of any task metric used to identify the user, how long it will take an available identified vehicle to reach the user, etc.
  • the server computing devices may even provide the user's client device with instructions to provide and/or display the notification at that or some other particular time.
  • a user may accept the notification, or rather the offer for a ride in the notification.
  • the acceptance may be provided to the server computing device.
  • the server computing device may provide the user's client computing device with further information regarding the current location of the vehicle and whether it is stopped and already waiting for the user. All or some of this information may be displayed and or played to the user (if an audible message) based upon the user's notification preferences.
  • the server computing devices may send the identified vehicle updated dispatch information. For instance, this may include information identifying the user, for instance to facilitate authentication of the user's client computing device prior to the trip, and/or final dispatch instructions to allow the vehicle to actually reach an updated location of the user. As the vehicle approaches the user's client device (or vice versa), the vehicle's computing devices may authenticate the user's client device and also the user.
  • the vehicle's computing devices may automatically unlock the vehicle's doors and allow the user to enter the vehicle. Thereafter the vehicle's computing devices may initiate the necessary systems to control the vehicle autonomously along a route to the destination location.
  • the features described herein may be used to encourage users to use vehicle transportation services. By moving vehicles to the location of a user prior to sending a notification, this not only reduces the amount of waiting time for the user if they respond positively to the notification but also increases the likelihood that the user will actually take the ride. Moreover, as noted above, by moving vehicles to locations and suggesting destinations to encourage rides for available vehicles, this can reduce downtime for vehicles between trips and help bring the vehicle to a location where it will need to be making the entire service more efficiently run.
  • a vehicle 100 in accordance with one aspect of the disclosure includes various components. While certain aspects of the disclosure are particularly useful in connection with specific types of vehicles, the vehicle may be any type of vehicle including, but not limited to, cars, trucks, motorcycles, busses, recreational vehicles, etc.
  • the vehicle may have one or more computing devices, such as computing devices 110 containing one or more processors 120 , memory 130 and other components typically present in general purpose computing devices.
  • the memory 130 stores information accessible by the one or more processors 120 , including instructions 132 and data 134 that may be executed or otherwise used by the processor 120 .
  • the memory 130 may be of any type capable of storing information accessible by the processor, including a computing device-readable medium, or other medium that stores data that may be read with the aid of an electronic device, such as a hard-drive, memory card, ROM, RAM, DVD or other optical disks, as well as other write-capable and read-only memories.
  • Systems and methods may include different combinations of the foregoing, whereby different portions of the instructions and data are stored on different types of media.
  • the instructions 132 may be any set of instructions to be executed directly (such as machine code) or indirectly (such as scripts) by the processor.
  • the instructions may be stored as computing device code on the computing device-readable medium.
  • the terms “instructions” and “programs” may be used interchangeably herein.
  • the instructions may be stored in object code format for direct processing by the processor, or in any other computing device language including scripts or collections of independent source code modules that are interpreted on demand or compiled in advance. Functions, methods and routines of the instructions are explained in more detail below.
  • the data 134 may be retrieved, stored or modified by processor 120 in accordance with the instructions 132 .
  • the data may be stored in computing device registers, in a relational database as a table having a plurality of different fields and records, XML documents or flat files.
  • the data may also be formatted in any computing device-readable format.
  • the one or more processor 120 may be any conventional processors, such as commercially available CPUs. Alternatively, the one or more processors may be a dedicated device such as an ASIC or other hardware-based processor.
  • FIG. 1 functionally illustrates the processor, memory, and other elements of computing devices 110 as being within the same block, it will be understood by those of ordinary skill in the art that the processor, computing device, or memory may actually include multiple processors, computing devices, or memories that may or may not be stored within the same physical housing.
  • memory may be a hard drive or other storage media located in a housing different from that of computing devices 110 . Accordingly, references to a processor or computing device will be understood to include references to a collection of processors or computing devices or memories that may or may not operate in parallel.
  • Computing devices 110 may include all of the components normally used in connection with a computing device such as the processor and memory described above as well as a user input 150 (e.g., a mouse, keyboard, touch screen and/or microphone) and various electronic displays (e.g., a monitor having a screen or any other electrical device that is operable to display information).
  • a user input 150 e.g., a mouse, keyboard, touch screen and/or microphone
  • various electronic displays e.g., a monitor having a screen or any other electrical device that is operable to display information
  • the vehicle includes an internal electronic display 152 as well as one or more speakers 154 to provide information or audio visual experiences.
  • internal electronic display 152 may be located within a cabin of vehicle 100 and may be used by computing devices 110 to provide information to passengers within the vehicle 100 .
  • Computing devices 110 may also include one or more wireless network connections 156 to facilitate communication with other computing devices, such as the client computing devices and server computing devices described in detail below.
  • the wireless network connections may include short range communication protocols such as Bluetooth, Bluetooth low energy (LE), cellular connections, as well as various configurations and protocols including the Internet, World Wide Web, intranets, virtual private networks, wide area networks, local networks, private networks using communication protocols proprietary to one or more companies, Ethernet, WiFi and HTTP, and various combinations of the foregoing.
  • computing devices 110 may be an autonomous driving computing system incorporated into vehicle 100 .
  • the autonomous driving computing system may capable of communicating with various components of the vehicle.
  • computing devices 110 may be in communication with various systems of vehicle 100 , such as deceleration system 160 , acceleration system 162 , steering system 164 , signaling system 166 , routing system 168 , positioning system 170 , perception system 172 , and power system 174 (for instance, a gas or electric engine) in order to control the movement, speed, etc. of vehicle 100 in accordance with the instructions 132 of memory 130 .
  • deceleration system 160 e.g., acceleration system 162 , steering system 164 , signaling system 166 , routing system 168 , positioning system 170 , perception system 172 , and power system 174 (for instance, a gas or electric engine)
  • these systems are shown as external to computing devices 110 , in actuality, these systems may also be incorporated into computing devices 110 , again as an autonomous driving computing system for controlling vehicle 100 .
  • computing devices 110 may interact with deceleration system 160 and acceleration system 162 in order to control the speed of the vehicle.
  • steering system 164 may be used by computing devices 110 in order to control the direction of vehicle 100 .
  • vehicle 100 is configured for use on a road, such as a car or truck, the steering system may include components to control the angle of wheels to turn the vehicle.
  • Signaling system 166 may be used by computing devices 110 in order to signal the vehicle's intent to other drivers or vehicles, for example, by lighting turn signals or brake lights when needed.
  • Routing system 168 may be used by computing devices 110 in order to determine and follow a route to a location.
  • the routing system 168 and/or data 134 may store detailed map information, e.g., highly detailed maps identifying the shape and elevation of roadways, lane lines, lanes and heading information (identifying the headings or orientations of the lanes), intersections, crosswalks, speed limits, traffic signals, buildings, signs, real time traffic information, vegetation, or other such objects and information.
  • this detailed map information may define the geometry of vehicle's expected environment including roadways as well as speed restrictions (legal speed limits) for those roadways.
  • this map information may include information regarding traffic controls, such as traffic signal lights, stop signs, yield signs, etc., which, in conjunction with real time information received from the perception system 172 , can be used by the computing devices 110 to determine which directions of traffic have the right of way at a given location.
  • traffic controls such as traffic signal lights, stop signs, yield signs, etc.
  • FIGS. 2 A and 2 B is an example of map information for a section of roadway including intersections 220 , 222 , 224 .
  • FIG. 2 A depicts a portion of the map information that includes information identifying the shape, location, and other characteristics of lane marks or lane lines 210 , 212 , 214 , traffic signals 230 , 232 , 234 (not depicted in the other figures for clarity and simplicity), stop sign 240 (not depicted in the other figures for clarity and simplicity), as well as stop lines 250 , 252 , 254 .
  • the map information may also include information that identifies lanes defined by the lane lines as well as the direction of traffic for each lane as well as information that allows the computing devices 110 to determine whether the vehicle has the right of way to complete a particular maneuver (i.e. complete a turn or cross a lane of traffic or intersection).
  • the map information may include a series of road or lane segments. Each lane segment is defined by a starting point, an ending point, and an identifier.
  • FIG. 2 B depicts most of the information of FIG. 2 A with the addition of a plurality of lane segments, including for example, lane segments 270 , 272 , 274 .
  • FIG. 2 B depicts these starting and ending points as open circles, such as open circles 260 , 262 , 264 , 266 .
  • open circles such as open circles 260 , 262 , 264 , 266 .
  • open circles are depicted, each representing a starting and ending point, only a few are referenced for clarity and simplicity.
  • circle 260 represents a starting point for lane segment 270
  • circle 262 represents an ending point for segment 270
  • circle 262 represents a starting point for lane segment 272
  • circle 264 represents an ending point for lane segment 272
  • circle 264 represents a starting point for lane segment 274
  • circle 266 represents an ending point for lane segment 274 .
  • each of these lane segments may be associated with an identifier, for instance, a numeric value corresponding to a relative or actual location of the lane segment.
  • the map information is depicted herein as an image-based map, the map information need not be entirely image based (for example, raster).
  • the map information may include one or more roadgraphs or graph networks of information such as roads, lanes, intersections, and the connections between these features.
  • Each feature may be stored as graph data and may be associated with information such as a geographic location and whether or not it is linked to other related features, for example, a stop sign may be linked to a road and an intersection, etc.
  • the associated data may include grid-based indices of a roadgraph to allow for efficient lookup of certain roadgraph features.
  • Positioning system 170 may be used by computing devices 110 in order to determine the vehicle's relative or absolute position on a map or on the earth.
  • the position system 170 may include a GPS receiver to determine the device's latitude, longitude and/or altitude position.
  • Other location systems such as laser-based localization systems, inertial-aided GPS, or camera-based localization may also be used to identify the location of the vehicle.
  • the location of the vehicle may include an absolute geographical location, such as latitude, longitude, and altitude as well as relative location information, such as location relative to other cars immediately around it which can often be determined with less noise than absolute geographical location.
  • the positioning system 170 may also include other devices in communication with computing devices 110 , such as an accelerometer, gyroscope or another direction/speed detection device to determine the direction and speed of the vehicle or changes thereto.
  • an acceleration device may determine its pitch, yaw or roll (or changes thereto) relative to the direction of gravity or a plane perpendicular thereto.
  • the device may also track increases or decreases in speed and the direction of such changes.
  • the device's provision of location and orientation data as set forth herein may be provided automatically to the computing devices 110 , other computing devices and combinations of the foregoing.
  • the perception system 172 also includes one or more components for detecting objects external to the vehicle such as other vehicles, obstacles in the roadway, traffic signals, signs, trees, etc.
  • the perception system 172 may include sensors such as LIDAR (lasers), sonar, radar, cameras and/or any other detection devices that record data which may be processed by computing devices 110 .
  • the vehicle is a small passenger vehicle such as a car
  • the car may include a laser or other sensors mounted on the roof or other convenient location.
  • a vehicle's perception system may use the various sensors to detect objects and their characteristics such as location, orientation, size, shape, type, direction and speed of movement, etc.
  • the raw data from the sensors and/or the aforementioned characteristics can be quantified or arranged into a descriptive function or vector for processing by the computing devices 110 .
  • computing devices 110 may use the positioning system 170 to determine the vehicle's location and perception system 172 to detect and respond to objects when needed to reach the location safely.
  • FIGS. 3 A- 3 D are examples of external views of vehicle 100 .
  • vehicle 100 includes many features of a typical vehicle such as headlights 302 , windshield 303 , taillights/turn signal lights 304 , rear windshield 305 , doors 306 , side view mirrors 308 , tires and wheels 310 , and turn signal/parking lights 312 .
  • Headlights 302 , taillights/turn signal lights 304 , and turn signal/parking lights 312 may be associated with the signaling system 166 .
  • Light bar 307 may also be associated with the signaling system 166 .
  • Vehicle 100 also includes sensors of the perception system 172 .
  • housing 314 may include one or more laser devices having 360 degree or narrower fields of view and one or more camera devices.
  • Housings 316 and 318 may include, for example, one or more radar and/or sonar devices.
  • the devices of the perception system 172 may also be incorporated into the typical vehicle components, such as taillights/turn signal lights 304 and/or side view mirrors 308 .
  • Each of these radar, camera, and lasers devices may be associated with processing components which process data from these devices as part of the perception system 172 and provide sensor data to the computing devices 110 .
  • the computing devices 110 may control the direction and speed of the vehicle by controlling various components.
  • computing devices 110 may navigate the vehicle to a destination location completely autonomously using data from the detailed map information, perception system 172 , and routing system 168 .
  • computing devices 110 may cause the vehicle to accelerate (e.g., by increasing fuel or other energy provided to the power system 174 or engine by acceleration system 162 ), decelerate (e.g., by decreasing the fuel supplied to the engine, changing gears, and/or by applying brakes by deceleration system 160 ), change direction (e.g., by turning the front or rear wheels of vehicle 100 by steering system 164 ), and signal such changes (e.g., by lighting turn signals of signaling system 166 ).
  • accelerate e.g., by increasing fuel or other energy provided to the power system 174 or engine by acceleration system 162
  • decelerate e.g., by decreasing the fuel supplied to the engine, changing gears, and/or by applying brakes by deceleration system 160
  • change direction
  • acceleration system 162 and deceleration system 160 may be a part of a drivetrain that includes various components between an engine of the vehicle and the wheels of the vehicle. Again, by controlling these systems, computing devices 110 may also control the drivetrain of the vehicle in order to maneuver the vehicle autonomously.
  • FIGS. 4 and 5 are pictorial and functional diagrams, respectively, of an example system 400 that includes a plurality of computing devices 410 , 420 , 430 , 440 and a storage system 450 connected via a network 460 .
  • System 400 also includes vehicle 100 , and vehicle 100 A which may be configured similarly to vehicle 100 . Although only a few vehicles and computing devices are depicted for simplicity, a typical system may include significantly more.
  • each of computing devices 410 , 420 , 430 , 440 may include one or more processors, memory, data and instructions. Such processors, memories, data and instructions may be configured similarly to one or more processors 120 , memory 130 , data 134 , and instructions 132 of computing devices 110 .
  • the network 460 may include various configurations and protocols including short range communication protocols such as Bluetooth, Bluetooth LE, the Internet, World Wide Web, intranets, virtual private networks, wide area networks, local networks, private networks using communication protocols proprietary to one or more companies, Ethernet, WiFi and HTTP, and various combinations of the foregoing.
  • short range communication protocols such as Bluetooth, Bluetooth LE, the Internet, World Wide Web, intranets, virtual private networks, wide area networks, local networks, private networks using communication protocols proprietary to one or more companies, Ethernet, WiFi and HTTP, and various combinations of the foregoing.
  • Such communication may be facilitated by any device capable of transmitting data to and from other computing devices, such as modems and wireless interfaces.
  • one or more computing devices 410 may include a server having a plurality of computing devices, e.g., a load balanced server farm, that exchange information with different nodes of a network for the purpose of receiving, processing and transmitting the data to and from other computing devices.
  • one or more computing devices 410 may include one or more server computing devices that are capable of communicating with one or more computing devices 110 of vehicle 100 or a similar computing device of vehicle 100 A as well as client computing devices 420 , 430 , 440 via the network 460 .
  • vehicles 100 and 100 A may be a part of a fleet of vehicles that can be dispatched by server computing devices to various locations. In this regard, the vehicles of the fleet may periodically send the server computing devices location information provided by the vehicle's respective positioning systems and the one or more server computing devices may track the locations of the vehicles.
  • server computing devices 410 may use network 460 to transmit and present information, including the notifications discussed below, to a user, such as user 422 , 432 , 442 on a display, such as displays 424 , 434 , 444 of computing devices 420 , 430 , 440 .
  • computing devices 420 , 430 , 440 may be considered client computing devices.
  • each client computing device 420 , 430 , 440 may be a personal computing device intended for use by a user 422 , 432 , 442 , and have all of the components normally used in connection with a personal computing device including one or more processors (e.g., a central processing unit (CPU)), memory (e.g., RAM and internal hard drives) storing data and instructions, a display such as displays 424 , 434 , 444 (e.g., a monitor having a screen, a touch-screen, a projector, a television, or other device that is operable to display information), and user input devices 426 , 436 , 446 (e.g., a mouse, keyboard, touch-screen or microphone).
  • the client computing devices may also include a camera for recording video streams, speakers, a network interface device, and all of the components used for connecting these elements to one another.
  • client computing devices 420 , 430 , and 440 may each comprise a full-sized personal computing device, they may alternatively comprise mobile computing devices capable of wirelessly exchanging data with a server (and/or service computing devices) over a network such as the Internet.
  • client computing device 420 may be a mobile phone or a device such as a wireless-enabled PDA, a tablet PC, a wearable computing device or system, laptop, or a netbook that is capable of obtaining information via the Internet or other networks.
  • client computing device 430 may be a wearable computing device, such as a “smart watch” as shown in FIG. 4 .
  • the user may input information using a keyboard, a keypad, a multi-function input button, a microphone, visual signals (for instance, hand or other gestures) with a camera or other sensors, a touch screen, etc.
  • client computing device 440 may be a concierge work station used by an administrator to provide concierge services to users such as users 422 and 432 .
  • user 442 may be a concierge that uses concierge work station 440 to communicate via a telephone call or audio connection with users through their respective client computing devices or vehicles 100 or 100 A in order to ensure the safe operation of vehicles 100 and 100 A and the safety of the users as described in further detail below.
  • FIGS. 4 and 5 any number of such work stations may be included in a typical system.
  • Storage system 450 may store various types of information. This information may be retrieved or otherwise accessed by a server computing devices, such as one or more server computing devices 410 , in order to perform some or all of the features described herein.
  • the information may include user account information such as credentials (e.g., a user name and password as in the case of a traditional single-factor authentication as well as other types of credentials typically used in multi-factor authentications such as random identifiers, biometrics, etc.) that can be used to identify a user to the one or more server computing devices s.
  • the user account information may also include personal information such as the user's name, contact information, identifying information of the user's client computing device (or devices if multiple devices are used with the same user account), as well as one or more unique signals for the user.
  • Storage system 450 may also store shared user information with the system.
  • the user may opt to share certain information about the user with the application, such as his or her work or social schedule, access to personal email accounts or calendar information (including any calendar entries and details, such as dates times, locations, and other content of those entries), and/or real time location information.
  • This information may be sent to the server computing device for processing.
  • the server computing device may store information about a user's ride history provided by one or more vehicles in which the user has taken a trip. This ride history may include pick up and drop off locations, time of day, day of the week etc.
  • server computing devices may process the shared user information in order to generate task metrics for the user.
  • task metrics may define tasks that the user is likely to perform or locations to which the user will or has gone.
  • storage system 450 can be of any type of computerized storage capable of storing information accessible by the server computing devices 410 , such as a hard-drive, memory card, ROM, RAM, DVD, CD-ROM, write-capable, and read-only memories.
  • storage system 450 may include a distributed storage system where data is stored on a plurality of different storage devices which may be physically located at the same or different geographic locations.
  • Storage system 450 may be connected to the computing devices via the network 460 as shown in FIG. 4 and/or may be directly connected to or incorporated into any of the computing devices 110 , 410 , 420 , 430 , 440 , etc.
  • a user may download an application for requesting a vehicle to a client computing device.
  • users 422 and 432 may download the application via a link in an email, directly from a website, or an application store to client computing devices 420 and 430 .
  • client computing device may transmit a request for the application over the network, for example, to one or more server computing devices 410 , and in response, receive the application.
  • the application may be installed locally at the client computing device.
  • the user may use the application to provide different types of information to the server computing devices. For instance, as noted above, the user may opt to share certain user information about the user with the application, such as his or her work or social schedule, access to personal email accounts or calendars, and/or real time location information. The applicant may then periodically, or upon a specific request from the user, provide the shared user information to the server computing devices 410 for processing and/or storage, for instance, in storage system 450 .
  • the user may then use his or her client computing device to access the application and request a vehicle.
  • a user such as user 432 may use client computing device 430 to send a request to one or more server computing devices 410 for a vehicle.
  • the request may include information identifying a pickup location or area and/or a destination location or area.
  • the one or more server computing devices 410 may identify and dispatch, for example based on availability and location, a vehicle to the pickup location. This dispatching may involve sending information to the vehicle identifying the user (and/or the user's client device) in order to assign the vehicle to the user (and/or the user's client computing device), the pickup location, and the destination location or area.
  • the vehicle's one or more computing devices 110 may maneuver the vehicle to the pickup location using the various features described above. Once the user, now passenger, is safely in the vehicle, the computing devices 110 may initiate the necessary systems to control the vehicle autonomously along a route to the destination location. For instance, the routing system 168 may use the map information of data 134 to determine a path or route to the destination location that follows a set of the lane segments of map information. The computing devices 110 may then maneuver the vehicle autonomously (or in an autonomous driving mode) as described above along the route towards the destination.
  • the computing devices 110 may also report information about the trip to the server computing devices 410 .
  • the computing devices 110 may provide information identifying the actual pick up location, date and time, as well as the final destination (i.e. drop off location for the trip), date and time.
  • the server computing devices may then store this information as ride history for a particular user as noted above.
  • Task metrics may define tasks that the user is likely to perform or locations to which the user will or has gone. As noted above, these task metrics may be stored in storage system 450 . As an example, a calendar entry regarding a restaurant or an email confirming a restaurant reservation may be used to generate a task metric indicating that the user is likely to perform the task of going to that restaurant at the time specified in the calendar entry or email confirmation. Similarly, calendar entries or email confirmations for flights to specific locations may be used to generate a task metric indicating that the user is likely to perform the task of going to a particular airport at a particular time (i.e. 1.5 hours or 2 hours before flight time designated in the calendar entry or email confirmation). In other examples, calendar entries or email confirmations for event tickets (sports, music, theatrical, etc.), hotel reservations, meetings, medical or other appointments, may be used to generate task metrics for a user.
  • event tickets sports, music, theatrical, etc.
  • a task metric may identify a location to which the user frequently travels, for instance based on the user's ride history and/or information provided directly by the user, such as the location of the user's home, workplace, favorite restaurant or coffee shop, etc.
  • the task metric may identify the location and a time or range of times when the user typically has gone to the location.
  • a task metric for user 422 may indicate that the user frequently visits a particular restaurant, “Restaurant A,” on Friday evenings at 8 pm.
  • the task metrics and current location information for users may be used to identify users who are likely to use the service for a trip. For instance, if a user has typically used the service for trips to an airport and there is a task metric for the user indicating that the user is likely to go to that airport in the near future, this user is likely to want to use the service to take the user to the airport. Similarly, even if the user has not used the service to take such trips in the past, the task metric in combination with the user's current location may be sufficient to identify the user as someone who is likely to use the service for that particular trip.
  • the server computing devices may have real time information about the location and status of vehicles within the fleet of vehicles. For instance, many vehicles may be located in a given area, but only some of those vehicles may be empty and not already dispatched or otherwise assigned to pick up a particular user.
  • FIG. 6 is an example view of a section of roadway corresponding to the section of roadway defined in the map information of FIGS. 2 A and 2 B .
  • FIG. 6 depicts intersections 620 , 622 , 624 that correspond to intersections 220 , 222 , 224 .
  • shape, location, and other characteristics of lane lines 610 , 612 , and 614 correspond to the shape, location and other characteristics of lane lines 210 , 212 , 214 .
  • traffic signals 630 , 632 , 634 correspond to traffic signals 230 , 232 , 234
  • stop sign 640 corresponds to stop sign 240
  • stop lines 650 , 652 , 654 correspond to stop lines 250 , 252 , 254 .
  • FIG. 6 also depicts the locations 660 , 662 of users 432 , 422 respectively shared by the users via the applications of devices 420 and 430 and received by the server computing devices. Each location is represented by a point and a bubble indicating the accuracy of the location received by the server computing devices.
  • FIG. 6 also depicts the locations of vehicles 100 and 100 A received by the server computing devices.
  • the server computing devices 410 can determine whether there is a vehicle currently located within a predetermined distance (i.e. within 5 minutes or 1 mile) of a user who is likely to need or want to take a ride or rather is associated with a task metric which indicates that the user is likely to want to take a trip in the near future (i.e within the next hour or more or less).
  • a predetermined distance i.e. within 5 minutes or 1 mile
  • the server computing device may first identify any currently available vehicles or vehicles that are going to become available in the near future. For example, returning to FIG. 6 , vehicle 100 A may currently be occupied and traveling to a destination. However, vehicle 100 may be available, or that is not currently dispatched to pick up a user, taking a user to a destination, or otherwise engaged. In that regard, the server computing devices may identify vehicle 100 as currently available.
  • the server computing devices may be able to estimate when a vehicle will be coming available within a predetermined expected period of time.
  • a vehicle even though it is currently providing services for another user, may be identified as an available vehicle within the predetermined expected period of time into the near future, such as 5 minutes or more or less, taking into consideration the amount of time the vehicle will need to complete its current services and allow the other user to exit safely.
  • a vehicle even when stopped to drop off a passenger, a vehicle may not necessarily be available for another minute or more or less. For instance, vehicle 100 A may be currently transporting a passenger on a trip, but the server computing devices may identify vehicle 100 A as available where the trip is going to end shortly, i.e. within the next 10 minutes or more or less.
  • server computing devices may then identify a set of any users within a predetermined distance (in space or time) of vehicle 100 .
  • one or both of users 422 and 432 may be within 0.5 miles of the current location of vehicle 100 or 5 minutes traveling time by vehicle 100 .
  • the server computing devices may then select one or more of those that are associated with task metrics that indicate that these users are likely to accept a trip in response to a notification. For instance, where the user 422 may be a with task metric that indicates that the user frequently visits “Restaurant A” on Friday evenings at 8 pm, the restaurant is less than 30 minutes away via a trip in vehicle 100 (or similar), and it is currently 7:30 pm on a Friday, user 422 may be selected as a user who is likely to accept a trip.
  • a notification may then be generated for the identified one or more users indicating that a vehicle is available for a trip. For instance, based on the identification of vehicle 100 as available and user 422 selected as likely to accept a trip, a notification may be generated to indicate to user 422 that a vehicle is available.
  • the server computing devices can first send an instruction to dispatch the identified available vehicle to the location of the user or to continue to wait at its current location, for instance, if the vehicle is parked at a location proximate (i.e. within a few hundred feet or more or less) of the user's current location.
  • the notification is provided only when the vehicle is on its way to the location of the user or has already reached the location of the user. For instance, once the server computing devices has identified a user and a vehicle, without receiving a specific request for the vehicle, the vehicle may show up at or near a particular user's current location. In this way, the notification itself can inform the user that a vehicle is on the way or at the location of the user.
  • the server computing devices can send a notification to the user's device for display to the user.
  • the server computing devices computing devices may generate a notification to be provided to the user to indicate that a vehicle is currently available for a trip. After dispatching the vehicle or instructing the vehicle to wait at its current location, the notification may be sent to the user.
  • an audible tone or tactile indication may be provide to indicate that a notification has been received. The user may then select to view or hear the notification.
  • the notification may be visual notification which simply displays on the display of the user's client computing device as shown in FIGS. 7 A- 7 D and/or an audible notification that speaks the information. For example, FIG.
  • FIG. 7 A depicts a notification 710 indicating to user 422 that a vehicle is currently available.
  • the notification may or may not include information about how far the vehicle currently is from the user or an estimate time of arrival as shown in notification 720 of FIG. 7 B or whether the vehicle is already parked nearby waiting for the user as in notification 730 of FIG. 7 C .
  • the server computing devices 410 can send the notification and any additional information to the identified user's client device via network 460 .
  • the notification may also make a suggestion about a destination. This suggestion may be generated based on the user's pattern of ride behavior or any task metric or metrics used to identify the user.
  • the user may receive a notification that “suggests” a trip to a restaurant based on the user 422 's history of going to that restaurant at Friday evenings at 8 pm as shown by notification 740 suggesting a trip to “Restaurant A” shown in of FIG. 7 D .
  • the timing of the notification may be based on the location of the user, how long it will take to reach the suggested location (for instance due to current or predicted traffic conditions), any date and/or time of any task metric used to identify the user, how long it will take an available identified vehicle to reach the user, etc. If the current location of the user is approximately 30 minutes from the restaurant (via being transported by the vehicle) and an available identified vehicle is only 2 minutes from picking up the user, the server computing devices may send the notification at least 32 minutes before 8 pm on a Friday evening suggesting that the user take a trip to the restaurant.
  • the server computing devices may even provide the user's client device with instructions to provide and/or display the notification at that or some other particular time. For instance, where the vehicle is more than 5 minutes from the location of the user, the server computing device may wait to send the notification to the user's client device until the vehicle is closer to the location of the user or send the notification with instructions to delay displaying or otherwise providing the notification to the user.
  • the server computing devices may send a notification that suggests a trip the user's workplace immediately, rather than waiting closer to 8:30 to prevent the user from being late to the user's workplace.
  • a user may accept the notification, or rather the offer for a ride in the notification.
  • the acceptance may be provided to the server computing device.
  • the server computing device may provide the user's client computing device with further information regarding the current location of the vehicle and whether it is stopped and already waiting for the user. All of some of this information may be displayed and or played to the user (if an audible message) based upon the user's notification preferences.
  • the server computing devices may send the identified vehicle updated dispatch information. For instance, this may include information identifying the user, for instance to facilitate authentication of the user's client computing device prior to the trip, and/or final dispatch instructions to allow the vehicle to actually reach an updated location of the user (i.e. a location provided after the notification was generated).
  • the vehicle's one or more computing devices 110 may maneuver the vehicle to the pickup location using the various features described above or continue to wait for the user in its current location, for instance, if the vehicle is already parked within a predetermined distance, such as 30 meters or more or less, of the user's updated location.
  • the vehicle's computing devices may authenticate the user's client device and also the user. When the user is authenticated, the vehicle's computing devices may automatically unlock the vehicle's doors and allow the user to enter the vehicle.
  • the vehicle's one or more computing devices 110 may also display a welcome screen on the internal electronic display 152 . This welcome screen may provide instructions to the user (now a passenger) on how to use the vehicle. For example, the instructions may include requesting that the passenger shut the doors 306 if needed and buckle his or her seatbelt. Sensors associated with the seats, doors, and seatbelts may be used to determine if the passenger has complied. Once the passenger has complied with the instructions, he or she may press or otherwise activate a button of the vehicle that will activate the autonomous driving mode. In response, the computing devices 110 may initiate the necessary systems to control the vehicle autonomously along a route to the destination location.
  • the computing devices 110 may initiate the necessary systems to control the vehicle autonomously along a route to the destination location.
  • the routing system 168 may use the map information of data 134 to determine a path or route to the destination location that follows a set of the lane segments of map information.
  • the computing devices 110 may then maneuver the vehicle autonomously (or in an autonomous driving mode) as described above along the route towards the destination.
  • the notification may be sent to a different user (i.e. a user other than the identified user) or even multiple users. For instance, if an identified user's account is associated with another person, such as a parent or guardian, the notification may be sent to one or both of the user and the other person. This may be especially useful for persons who need to order a vehicle for an elderly or disabled user for instance, to transport the user to a medical or other appointment.
  • both of these users may receive the notification.
  • the vehicle may be dispatched to the location of a user more likely to accept a ride (according to task metrics, their pattern of ride behavior, acceptance of such notifications in the past, etc.), the location of the user that is closest to the location of the vehicle at the time of dispatch, or a location between the users.
  • user 432 is associated with a task metric that indicates that user 432 typically leaves a work location at 7:30 pm on Friday evenings
  • both user 432 and user 422 may be selected as likely to accept a trip.
  • vehicle 100 may be dispatched to user 422 who may have a history of accepting trips more often than user 432 , or to user 432 where user 432 often uses the vehicle services to travel from work to home on Friday evenings (as indicated by user 432 's task metrics).
  • the vehicle may be dispatched to a certain location proximate to a number of users who, based on task metrics, are likely to go to or need transportation to a particular popular location, such as a train station or metropolitan area at commuting times.
  • a notification may go out to all users within a short distance, such as half a mile or more or less) indicating that the vehicle is available to transport users to the popular location.
  • the notification may indicate that multiple seats are available, including in some cases, exactly how many seats are available.
  • the notification may indicate that the users who accept first will be provided with a seat.
  • a second notification may be sent to the user's client devices indicating that the trip is now closed as no more seats are available. To encourage such acceptance, users may even be offered discounted fares or coupons.
  • the notifications themselves may also include suggestions for free or discounted rides to locations where the vehicle will be needed once the vehicle has taken the user to that location. Such trips can even be sponsored by an advertiser.
  • the notifications may notify the user of times when certain rides are at low prices, trips would be fastest (e.g. based on traffic conditions), or simply that the vehicle is available for use at a time that is proximate to the potential passenger's typical commute time (determined from the user's pattern of ride behavior).
  • a notification may include the text “Your vehicle is running a bit behind. We are sorry for the inconvenience, but please enjoy this $2 coupon for the coffee shop one block down the street. Your vehicle will pick you up right in front of it in 10 minutes.”
  • an advertisement may offer a coupon for a discount on goods or services at a particular location, such as “save $1 when you stop at a coffee shop that the vehicle will pass in 3 minutes”. If the passenger wants to accept the offer, in some examples, such as where the offer is made before the trip, the goods or services can be ready and waiting for a user when the vehicle arrives to pick up the user or waiting at the destination when the user arrives at the destination. As another example, an advertisement may suggest a particular destination, such as to indicate a happy hour beginning at a nearby bar.
  • the suggested destinations may even be sponsored.
  • an advertiser may offset the cost of a reduced or discounted fare to a place of business associated with the advertiser (i.e. a restaurant owner or representative of the restaurant where the place of business is the restaurant) when a user accepts a notification suggesting a ride to the place of business. Where the user has not previously visited the place of business, but has used the vehicle services, this may help the advertiser to identify new customers or clients.
  • the task metrics may be prioritized based on current location information for a user, available vehicles, timing to reach a given user, and even the user's ride history. In other words, if no vehicles are currently available or likely to be available within a 5 minutes distance of a current location of a user, that user's task metrics may be given a low priority. At the same time, if such a user utilizes the services often based on his or her ride history, that same user's task metrics may be given higher priority. Higher priority task metrics may be used to identify users likely to take rides and thus to select users as well as to identify to which users to dispatch a vehicle (where there are multiple notifications sent).
  • FIG. 8 is an example flow diagram 800 in accordance which may be performed by one or more server computing devices having one or more processors, such as server computing devices 410 in order to facilitate transportation services between a user, such as users 422 or 432 , and a vehicle having an autonomous driving mode, such as vehicles 100 or 100 A.
  • block 810 includes receiving information identifying the current location of the vehicle.
  • that the user is likely to want to take a trip to a particular destination is determined based on prior location history for the user.
  • the vehicle is dispatched to cause the vehicle to travel in the autonomous driving mode towards a location of the user at block 830 .
  • a notification is sent to a client computing device associated with the user indicating that the vehicle is currently available to take the passenger to the particular destination at block 840 .
  • Information indicating acceptance of a trip is received from the client computing device in response to the notification at block 850 .
  • updated dispatching instructions are sent to the vehicle to the vehicle. at block 860 .

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Operations Research (AREA)
  • Game Theory and Decision Science (AREA)
  • Automation & Control Theory (AREA)
  • Quality & Reliability (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Social Psychology (AREA)
  • Primary Health Care (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Traffic Control Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Aiming, Guidance, Guns With A Light Source, Armor, Camouflage, And Targets (AREA)

Abstract

The technology relates to facilitating transportation services between a user and a vehicle having an autonomous driving mode. For instance, one or more server computing devices having one or more processors may information identifying the current location of the vehicle. The one or more server computing devices may determine that the user is likely to want to take a trip to a particular destination based on prior location history for the user. The one or more server computing devices may dispatch the vehicle to cause the vehicle to travel in the autonomous driving mode towards a location of the user. In addition, after dispatching, the one or more server computing devices sending a notification to a client computing device associated with the user indicating that the vehicle is currently available to take the passenger to the particular destination.

Description

    CROSS-REFERENCES TO RELATED APPLICATIONS
  • The present application is a continuation of U.S. patent application Ser. No. 17/528,595, filed Nov. 17, 2021, which is a continuation of U.S. patent application Ser. No. 15/358,729, filed Nov. 22, 2016, now U.S. Pat. No. 11,205,240, which claims the benefit of the filing date of U.S. Provisional Application No. 62/273,067, filed Dec. 30, 2015, entitled AUTONOMOUS VEHICLE SERVICES, the disclosures of which are hereby incorporated herein by reference.
  • BACKGROUND
  • Autonomous vehicles, such as vehicles that do not require a human driver, can be used to aid in the transport of passengers or items from one location to another. Such vehicles may operate in a fully autonomous mode where passengers may provide some initial input, such as a pickup or destination location, and the vehicle maneuvers itself to that location.
  • BRIEF SUMMARY
  • Aspects of the disclosure provide a method for facilitating transportation services between a user and a vehicle having an autonomous driving mode. The method includes receiving, by one or more server computing devices having one or more processors, information identifying a current location of the vehicle; determining, by the one or more server computing devices, that the user is likely to want to take a trip to a particular destination based on prior location history for the user; dispatching, by the one or more server computing devices, the vehicle to cause the vehicle to travel in the autonomous driving mode towards a location of the user; and after dispatching, by the one or more server computing devices, sending a notification to a client computing device associated with the user indicating that the vehicle is currently available to take the user to the particular destination.
  • In one example, the method also includes, prior to determining that the user is likely to want to take a trip, identifying the vehicle as available to transport a passenger. In another example, the method also includes, prior to determining that the user is likely to want to take a trip, identifying the vehicle will become available to transport a passenger within a predetermined expected period of time. In another example, the method also includes receiving information identifying a current location of the client computing device, and determining that the user is likely to want to take a trip is further based on the current location of the client computing device. In this example, the current location of the client computing device is the location of the user, and the notification further indicates that the vehicle is currently at the current location of the client computing device.
  • In another example, the method also includes receiving, by the one or more server computing devices, information identifying a current location of the client computing device, prior to determining that the user is likely to want to take a trip, identifying a set of users within a predetermined distance of the current location of the vehicle, and determining that the user is likely to want to take a trip, includes selecting the user from the set of users based on the prior location history for the user. In another example, the method also includes receiving, by the one or more server computing devices, the prior location history of the user; generating, by the one or more server computing devices, one or more task metrics for the user based on the prior location history, the one or more task metrics each define a location to which the user is likely to need to travel, and determining that the user is likely to want to take a trip is further based on the one or more task metrics. In this example, the one or more task metrics includes a task metric indicating that the user is likely to need to travel to the particular destination.
  • In another example, dispatching includes instructing the vehicle to wait for further instructions. In another example, the method also includes receiving calendar information for the user, wherein determining that the user is likely to want to take a trip is further based on a calendar entry of the calendar information. In this example, the method also includes generating, by the one or more server computing devices, one or more task metrics for the user based on the calendar entry, the one or more task metrics each define a location to which the user is likely to need to travel, and determining that the user is likely to want to take a trip is further based on the one or more task metrics.
  • In another example, the method also includes receiving, by the one or more computing devices, from the client computing device information indicating acceptance of a trip in response to the notification, and in response to receiving the information indicating acceptance of a trip, sending, by the one or more computing devices, updated dispatching instructions to the vehicle. In this example, the updated dispatching instructions include information identifying the user's client computing device to allow the vehicle to authenticate the user. In addition, the method also includes receiving, by the one or more server computing devices, information identifying a current location of the client computing device, and the notification further indicates that the vehicle is currently traveling towards the current location of the client computing device and an estimated time of arrival of the vehicle for the current location of the client computing device; determining that the vehicle will not reach the current location of the client computing device within the estimated time of arrival; and based on the determination that the vehicle will not reach the current location of the client computing device within the estimated time of arrival, generating a second notification including an offer to occupy the user until the vehicle is able to pick up the user. In addition, the offer suggests that the user wait at a particular location until the vehicle is available. In addition, the notification further indicates an estimated time of arrival of the vehicle at the current location of the client computing device.
  • In another example, the method also includes receiving, by the one or more server computing devices, information identifying a current location of the client computing device, and the notification further indicates that the vehicle is currently at the current location of the client computing device. In another example, the method also includes receiving location information identifying current locations of a plurality of client computing devices each associated with a different user, and sending the notification to each of the plurality of client computing devices, wherein the notification indicates that multiple seats are available to users for a trip to the particular destination. In addition, the method also includes receiving, in response to sending the notification to the plurality of client computing devices, information indicating acceptance of a trip for each of the multiple seats from a first portion of the plurality of client computing devices, and after receiving the information indicating acceptance of a trip, sending to a second portion of the plurality of client computing devices a notification that the multiple seats are no longer available.
  • Another aspect of the disclosure provides a system including one or more server computing devices having one or more processors. The one or more processors are further configured to receive information identifying a current location of the vehicle; determine that the user is likely to want to take a trip to a particular destination based on prior location history for the user; dispatch vehicle to cause the vehicle to travel in the autonomous driving mode towards a location of the user; and after dispatching, send a notification to a client computing device associated with the user indicating that the vehicle is currently available to take the user to the particular destination.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a functional diagram of an example vehicle in accordance with aspects of the disclosure.
  • FIGS. 2A-2B are diagrams of map information in accordance with aspects of the disclosure.
  • FIGS. 3A-3D are example external views of a vehicle in accordance with aspects of the disclosure.
  • FIG. 4 is a pictorial diagram of a system in accordance with aspects of the disclosure.
  • FIG. 5 is a functional diagram of the system of FIG. 4 in accordance with aspects of the disclosure.
  • FIG. 6 is a view of a section of roadway in accordance with aspects of the disclosure.
  • FIGS. 7A-7D are examples of client computing devices displaying notifications in accordance with aspects of the disclosure.
  • FIG. 8 is a flow diagram in accordance with aspects of the disclosure.
  • DETAILED DESCRIPTION Overview
  • The technology relates to vehicle transportation services involving fleets of vehicles for maneuvering passengers and/or cargo to a destination autonomously. Such services may involve a user downloading an application to a device and using the application to request a vehicle. The request is sent to a server device which dispatches a vehicle to pick up the user and transport him or her to a destination. However, once the user has downloaded the application, the application can be used to encourage users to use the service based on the current location of available vehicles as well as the user's ride history and other information provided by the user to the server.
  • For example, the user may opt to share certain information about the user with the application, such as his or her work or social schedule, access to personal email accounts or calendars, and/or real time location information. This information may be sent to the server for processing. In addition, the server may store information about a user's ride history. This ride history may include pick up and drop off locations, time of day, day of the week etc.
  • By processing the aforementioned ride history information, the server may identify patterns of ride behavior. For instance, these patterns may include where the user is typically picked up and dropped off and when. This may include, for example, information about when and how users use the services.
  • In addition, the server may process the shared user information in order to generate task metrics for the user. Task metrics may define tasks that the user is likely to perform or locations to which the user will or has gone. For instance, a calendar entry regarding a restaurant or an email confirming a restaurant reservation may be used to generate a task metric indicating that the user is likely to perform the task of going to that restaurant at the time specified in the calendar entry or email confirmation. In yet another example, a task metric may identify a location to which the user frequently travels, such as the location of the user's workplace, favorite restaurant or coffee shop, etc. In such examples, the task metric may identify the location and a time or range of times when the user typically has gone to the location.
  • The task metrics and current location information for users may be used to identify users who are likely to use the service for a trip. In addition to information about users, the server computing devices may have real time information about the location and status of vehicles within the fleet of vehicles. For instance, many vehicles may be located in a given area, but only some of those vehicles may be empty and not already dispatched or otherwise assigned to pick up a particular user.
  • By combining the locations of vehicles with the locations of users and the users' task metrics, the server computing devices can determine whether there is a vehicle currently located within a predetermined distance of a user who is likely to need or want to take a ride or rather is associated with a task metric which indicates that the user is likely to want to take a trip in the near future. Thus, to identify a specific vehicle and user combination, the server computing device may first identify any currently available vehicles or vehicles that are going to become available in the near future.
  • Then, using the location information shared by users, server computing devices may then identify a set of any users within a predetermined distance of an available vehicle. Of the identified set of users, the server computing devices may then select one or more of those that are associated with task metrics that indicate that these users are likely to accept a trip in response to a notification.
  • A notification may then be generated for the identified one or more users indicating that a vehicle is available for a trip. However, prior to sending a notification, the server computing devices can first send an instruction to dispatch the identified available vehicle to the location of the user or to continue to wait at its current location, for instance, if the vehicle is parked at a location proximate of the user's current location. In this way, the notification is provided only when the vehicle is on its way to the location of the user or has already reached the location of the user. For instance, once the server computing devices has identified a user and a vehicle, without receiving a specific request for the vehicle, the vehicle may show up at or near a particular user's current location. In this way, the notification itself can inform the user that a vehicle is on the way or at the location of the user.
  • Once a user and vehicle are identified, the server computing devices can send a notification to the user's device for display to the user. As noted above, the server computing devices computing devices may generate a notification to be provided to the user to indicate that a vehicle is currently available for a trip. After dispatching the vehicle or instructing the vehicle to wait at its current location, the notification may be sent to the user. Once received by the user's client computing device, an audible tone or tactile indication may be provide to indicate that a notification has been received. The user may then select to view or hear the notification.
  • In addition to indicating that the vehicle is available to pick up the user for a ride, the notification may also make a suggestion about a destination. This suggestion may be generated based on the user's pattern of ride behavior or any task metric or metrics used to identify the user.
  • The timing of the notification may be based on the location of the user, how long it will take to reach the suggested location, any date and/or time of any task metric used to identify the user, how long it will take an available identified vehicle to reach the user, etc. In addition, the server computing devices may even provide the user's client device with instructions to provide and/or display the notification at that or some other particular time.
  • A user may accept the notification, or rather the offer for a ride in the notification. The acceptance may be provided to the server computing device. At that point, the server computing device may provide the user's client computing device with further information regarding the current location of the vehicle and whether it is stopped and already waiting for the user. All or some of this information may be displayed and or played to the user (if an audible message) based upon the user's notification preferences.
  • At the same time, the server computing devices may send the identified vehicle updated dispatch information. For instance, this may include information identifying the user, for instance to facilitate authentication of the user's client computing device prior to the trip, and/or final dispatch instructions to allow the vehicle to actually reach an updated location of the user. As the vehicle approaches the user's client device (or vice versa), the vehicle's computing devices may authenticate the user's client device and also the user.
  • When the user is authenticated, the vehicle's computing devices may automatically unlock the vehicle's doors and allow the user to enter the vehicle. Thereafter the vehicle's computing devices may initiate the necessary systems to control the vehicle autonomously along a route to the destination location.
  • The features described herein may be used to encourage users to use vehicle transportation services. By moving vehicles to the location of a user prior to sending a notification, this not only reduces the amount of waiting time for the user if they respond positively to the notification but also increases the likelihood that the user will actually take the ride. Moreover, as noted above, by moving vehicles to locations and suggesting destinations to encourage rides for available vehicles, this can reduce downtime for vehicles between trips and help bring the vehicle to a location where it will need to be making the entire service more efficiently run.
  • Example Systems
  • As shown in FIG. 1 , a vehicle 100 in accordance with one aspect of the disclosure includes various components. While certain aspects of the disclosure are particularly useful in connection with specific types of vehicles, the vehicle may be any type of vehicle including, but not limited to, cars, trucks, motorcycles, busses, recreational vehicles, etc. The vehicle may have one or more computing devices, such as computing devices 110 containing one or more processors 120, memory 130 and other components typically present in general purpose computing devices.
  • The memory 130 stores information accessible by the one or more processors 120, including instructions 132 and data 134 that may be executed or otherwise used by the processor 120. The memory 130 may be of any type capable of storing information accessible by the processor, including a computing device-readable medium, or other medium that stores data that may be read with the aid of an electronic device, such as a hard-drive, memory card, ROM, RAM, DVD or other optical disks, as well as other write-capable and read-only memories. Systems and methods may include different combinations of the foregoing, whereby different portions of the instructions and data are stored on different types of media.
  • The instructions 132 may be any set of instructions to be executed directly (such as machine code) or indirectly (such as scripts) by the processor. For example, the instructions may be stored as computing device code on the computing device-readable medium. In that regard, the terms “instructions” and “programs” may be used interchangeably herein. The instructions may be stored in object code format for direct processing by the processor, or in any other computing device language including scripts or collections of independent source code modules that are interpreted on demand or compiled in advance. Functions, methods and routines of the instructions are explained in more detail below.
  • The data 134 may be retrieved, stored or modified by processor 120 in accordance with the instructions 132. For instance, although the claimed subject matter is not limited by any particular data structure, the data may be stored in computing device registers, in a relational database as a table having a plurality of different fields and records, XML documents or flat files. The data may also be formatted in any computing device-readable format.
  • The one or more processor 120 may be any conventional processors, such as commercially available CPUs. Alternatively, the one or more processors may be a dedicated device such as an ASIC or other hardware-based processor. Although FIG. 1 functionally illustrates the processor, memory, and other elements of computing devices 110 as being within the same block, it will be understood by those of ordinary skill in the art that the processor, computing device, or memory may actually include multiple processors, computing devices, or memories that may or may not be stored within the same physical housing. For example, memory may be a hard drive or other storage media located in a housing different from that of computing devices 110. Accordingly, references to a processor or computing device will be understood to include references to a collection of processors or computing devices or memories that may or may not operate in parallel.
  • Computing devices 110 may include all of the components normally used in connection with a computing device such as the processor and memory described above as well as a user input 150 (e.g., a mouse, keyboard, touch screen and/or microphone) and various electronic displays (e.g., a monitor having a screen or any other electrical device that is operable to display information). In this example, the vehicle includes an internal electronic display 152 as well as one or more speakers 154 to provide information or audio visual experiences. In this regard, internal electronic display 152 may be located within a cabin of vehicle 100 and may be used by computing devices 110 to provide information to passengers within the vehicle 100.
  • Computing devices 110 may also include one or more wireless network connections 156 to facilitate communication with other computing devices, such as the client computing devices and server computing devices described in detail below. The wireless network connections may include short range communication protocols such as Bluetooth, Bluetooth low energy (LE), cellular connections, as well as various configurations and protocols including the Internet, World Wide Web, intranets, virtual private networks, wide area networks, local networks, private networks using communication protocols proprietary to one or more companies, Ethernet, WiFi and HTTP, and various combinations of the foregoing.
  • In one example, computing devices 110 may be an autonomous driving computing system incorporated into vehicle 100. The autonomous driving computing system may capable of communicating with various components of the vehicle. For example, returning to FIG. 1 , computing devices 110 may be in communication with various systems of vehicle 100, such as deceleration system 160, acceleration system 162, steering system 164, signaling system 166, routing system 168, positioning system 170, perception system 172, and power system 174 (for instance, a gas or electric engine) in order to control the movement, speed, etc. of vehicle 100 in accordance with the instructions 132 of memory 130. Again, although these systems are shown as external to computing devices 110, in actuality, these systems may also be incorporated into computing devices 110, again as an autonomous driving computing system for controlling vehicle 100.
  • As an example, computing devices 110 may interact with deceleration system 160 and acceleration system 162 in order to control the speed of the vehicle. Similarly, steering system 164 may be used by computing devices 110 in order to control the direction of vehicle 100. For example, if vehicle 100 is configured for use on a road, such as a car or truck, the steering system may include components to control the angle of wheels to turn the vehicle. Signaling system 166 may be used by computing devices 110 in order to signal the vehicle's intent to other drivers or vehicles, for example, by lighting turn signals or brake lights when needed.
  • Routing system 168 may be used by computing devices 110 in order to determine and follow a route to a location. In this regard, the routing system 168 and/or data 134 may store detailed map information, e.g., highly detailed maps identifying the shape and elevation of roadways, lane lines, lanes and heading information (identifying the headings or orientations of the lanes), intersections, crosswalks, speed limits, traffic signals, buildings, signs, real time traffic information, vegetation, or other such objects and information. In other words, this detailed map information may define the geometry of vehicle's expected environment including roadways as well as speed restrictions (legal speed limits) for those roadways. In addition, this map information may include information regarding traffic controls, such as traffic signal lights, stop signs, yield signs, etc., which, in conjunction with real time information received from the perception system 172, can be used by the computing devices 110 to determine which directions of traffic have the right of way at a given location.
  • FIGS. 2A and 2B is an example of map information for a section of roadway including intersections 220, 222, 224. FIG. 2A depicts a portion of the map information that includes information identifying the shape, location, and other characteristics of lane marks or lane lines 210, 212, 214, traffic signals 230, 232, 234 (not depicted in the other figures for clarity and simplicity), stop sign 240 (not depicted in the other figures for clarity and simplicity), as well as stop lines 250, 252, 254. In addition to these features, the map information may also include information that identifies lanes defined by the lane lines as well as the direction of traffic for each lane as well as information that allows the computing devices 110 to determine whether the vehicle has the right of way to complete a particular maneuver (i.e. complete a turn or cross a lane of traffic or intersection).
  • In addition to the feature information, the map information may include a series of road or lane segments. Each lane segment is defined by a starting point, an ending point, and an identifier. For instance, FIG. 2B depicts most of the information of FIG. 2A with the addition of a plurality of lane segments, including for example, lane segments 270, 272, 274. Of course, though many lane segments are depicted, only a few are referenced for clarity and simplicity. FIG. 2B depicts these starting and ending points as open circles, such as open circles 260, 262, 264, 266. Of course, though many open circles are depicted, each representing a starting and ending point, only a few are referenced for clarity and simplicity. As can be seen, circle 260 represents a starting point for lane segment 270, and circle 262 represents an ending point for segment 270. Similarly, circle 262 represents a starting point for lane segment 272, and circle 264 represents an ending point for lane segment 272. In addition, circle 264 represents a starting point for lane segment 274, and circle 266 represents an ending point for lane segment 274. Although not shown, each of these lane segments may be associated with an identifier, for instance, a numeric value corresponding to a relative or actual location of the lane segment.
  • Although the map information is depicted herein as an image-based map, the map information need not be entirely image based (for example, raster). For example, the map information may include one or more roadgraphs or graph networks of information such as roads, lanes, intersections, and the connections between these features. Each feature may be stored as graph data and may be associated with information such as a geographic location and whether or not it is linked to other related features, for example, a stop sign may be linked to a road and an intersection, etc. In some examples, the associated data may include grid-based indices of a roadgraph to allow for efficient lookup of certain roadgraph features.
  • Positioning system 170 may be used by computing devices 110 in order to determine the vehicle's relative or absolute position on a map or on the earth. For example, the position system 170 may include a GPS receiver to determine the device's latitude, longitude and/or altitude position. Other location systems such as laser-based localization systems, inertial-aided GPS, or camera-based localization may also be used to identify the location of the vehicle. The location of the vehicle may include an absolute geographical location, such as latitude, longitude, and altitude as well as relative location information, such as location relative to other cars immediately around it which can often be determined with less noise than absolute geographical location.
  • The positioning system 170 may also include other devices in communication with computing devices 110, such as an accelerometer, gyroscope or another direction/speed detection device to determine the direction and speed of the vehicle or changes thereto. By way of example only, an acceleration device may determine its pitch, yaw or roll (or changes thereto) relative to the direction of gravity or a plane perpendicular thereto. The device may also track increases or decreases in speed and the direction of such changes. The device's provision of location and orientation data as set forth herein may be provided automatically to the computing devices 110, other computing devices and combinations of the foregoing.
  • The perception system 172 also includes one or more components for detecting objects external to the vehicle such as other vehicles, obstacles in the roadway, traffic signals, signs, trees, etc. For example, the perception system 172 may include sensors such as LIDAR (lasers), sonar, radar, cameras and/or any other detection devices that record data which may be processed by computing devices 110. In the case where the vehicle is a small passenger vehicle such as a car, the car may include a laser or other sensors mounted on the roof or other convenient location. For instance, a vehicle's perception system may use the various sensors to detect objects and their characteristics such as location, orientation, size, shape, type, direction and speed of movement, etc. The raw data from the sensors and/or the aforementioned characteristics can be quantified or arranged into a descriptive function or vector for processing by the computing devices 110. As discussed in further detail below, computing devices 110 may use the positioning system 170 to determine the vehicle's location and perception system 172 to detect and respond to objects when needed to reach the location safely.
  • FIGS. 3A-3D are examples of external views of vehicle 100. As can be seen, vehicle 100 includes many features of a typical vehicle such as headlights 302, windshield 303, taillights/turn signal lights 304, rear windshield 305, doors 306, side view mirrors 308, tires and wheels 310, and turn signal/parking lights 312. Headlights 302, taillights/turn signal lights 304, and turn signal/parking lights 312 may be associated with the signaling system 166. Light bar 307 may also be associated with the signaling system 166.
  • Vehicle 100 also includes sensors of the perception system 172. For example, housing 314 may include one or more laser devices having 360 degree or narrower fields of view and one or more camera devices. Housings 316 and 318 may include, for example, one or more radar and/or sonar devices. The devices of the perception system 172 may also be incorporated into the typical vehicle components, such as taillights/turn signal lights 304 and/or side view mirrors 308. Each of these radar, camera, and lasers devices may be associated with processing components which process data from these devices as part of the perception system 172 and provide sensor data to the computing devices 110.
  • The computing devices 110 may control the direction and speed of the vehicle by controlling various components. By way of example, computing devices 110 may navigate the vehicle to a destination location completely autonomously using data from the detailed map information, perception system 172, and routing system 168. In order to maneuver the vehicle, computing devices 110 may cause the vehicle to accelerate (e.g., by increasing fuel or other energy provided to the power system 174 or engine by acceleration system 162), decelerate (e.g., by decreasing the fuel supplied to the engine, changing gears, and/or by applying brakes by deceleration system 160), change direction (e.g., by turning the front or rear wheels of vehicle 100 by steering system 164), and signal such changes (e.g., by lighting turn signals of signaling system 166). Thus, the acceleration system 162 and deceleration system 160 may be a part of a drivetrain that includes various components between an engine of the vehicle and the wheels of the vehicle. Again, by controlling these systems, computing devices 110 may also control the drivetrain of the vehicle in order to maneuver the vehicle autonomously.
  • The one or more computing devices 110 of vehicle 100 may also receive or transfer information to and from other computing devices. FIGS. 4 and 5 are pictorial and functional diagrams, respectively, of an example system 400 that includes a plurality of computing devices 410, 420, 430, 440 and a storage system 450 connected via a network 460. System 400 also includes vehicle 100, and vehicle 100A which may be configured similarly to vehicle 100. Although only a few vehicles and computing devices are depicted for simplicity, a typical system may include significantly more.
  • As shown in FIG. 4 , each of computing devices 410, 420, 430, 440 may include one or more processors, memory, data and instructions. Such processors, memories, data and instructions may be configured similarly to one or more processors 120, memory 130, data 134, and instructions 132 of computing devices 110.
  • The network 460, and intervening nodes, may include various configurations and protocols including short range communication protocols such as Bluetooth, Bluetooth LE, the Internet, World Wide Web, intranets, virtual private networks, wide area networks, local networks, private networks using communication protocols proprietary to one or more companies, Ethernet, WiFi and HTTP, and various combinations of the foregoing. Such communication may be facilitated by any device capable of transmitting data to and from other computing devices, such as modems and wireless interfaces.
  • In one example, one or more computing devices 410 may include a server having a plurality of computing devices, e.g., a load balanced server farm, that exchange information with different nodes of a network for the purpose of receiving, processing and transmitting the data to and from other computing devices. For instance, one or more computing devices 410 may include one or more server computing devices that are capable of communicating with one or more computing devices 110 of vehicle 100 or a similar computing device of vehicle 100A as well as client computing devices 420, 430, 440 via the network 460. For example, vehicles 100 and 100A may be a part of a fleet of vehicles that can be dispatched by server computing devices to various locations. In this regard, the vehicles of the fleet may periodically send the server computing devices location information provided by the vehicle's respective positioning systems and the one or more server computing devices may track the locations of the vehicles.
  • In addition, server computing devices 410 may use network 460 to transmit and present information, including the notifications discussed below, to a user, such as user 422, 432, 442 on a display, such as displays 424, 434, 444 of computing devices 420, 430, 440. In this regard, computing devices 420, 430, 440 may be considered client computing devices.
  • As shown in FIG. 5 , each client computing device 420, 430, 440 may be a personal computing device intended for use by a user 422, 432, 442, and have all of the components normally used in connection with a personal computing device including one or more processors (e.g., a central processing unit (CPU)), memory (e.g., RAM and internal hard drives) storing data and instructions, a display such as displays 424, 434, 444 (e.g., a monitor having a screen, a touch-screen, a projector, a television, or other device that is operable to display information), and user input devices 426, 436, 446 (e.g., a mouse, keyboard, touch-screen or microphone). The client computing devices may also include a camera for recording video streams, speakers, a network interface device, and all of the components used for connecting these elements to one another.
  • Although the client computing devices 420, 430, and 440 may each comprise a full-sized personal computing device, they may alternatively comprise mobile computing devices capable of wirelessly exchanging data with a server (and/or service computing devices) over a network such as the Internet. By way of example only, client computing device 420 may be a mobile phone or a device such as a wireless-enabled PDA, a tablet PC, a wearable computing device or system, laptop, or a netbook that is capable of obtaining information via the Internet or other networks. In another example, client computing device 430 may be a wearable computing device, such as a “smart watch” as shown in FIG. 4 . As an example the user may input information using a keyboard, a keypad, a multi-function input button, a microphone, visual signals (for instance, hand or other gestures) with a camera or other sensors, a touch screen, etc.
  • In some examples, client computing device 440 may be a concierge work station used by an administrator to provide concierge services to users such as users 422 and 432. For example, user 442 may be a concierge that uses concierge work station 440 to communicate via a telephone call or audio connection with users through their respective client computing devices or vehicles 100 or 100A in order to ensure the safe operation of vehicles 100 and 100A and the safety of the users as described in further detail below. Although only a single concierge work station 440 is shown in FIGS. 4 and 5 , any number of such work stations may be included in a typical system.
  • Storage system 450 may store various types of information. This information may be retrieved or otherwise accessed by a server computing devices, such as one or more server computing devices 410, in order to perform some or all of the features described herein. For example, the information may include user account information such as credentials (e.g., a user name and password as in the case of a traditional single-factor authentication as well as other types of credentials typically used in multi-factor authentications such as random identifiers, biometrics, etc.) that can be used to identify a user to the one or more server computing devices s. The user account information may also include personal information such as the user's name, contact information, identifying information of the user's client computing device (or devices if multiple devices are used with the same user account), as well as one or more unique signals for the user.
  • Storage system 450 may also store shared user information with the system. For example, the user may opt to share certain information about the user with the application, such as his or her work or social schedule, access to personal email accounts or calendar information (including any calendar entries and details, such as dates times, locations, and other content of those entries), and/or real time location information. This information may be sent to the server computing device for processing. In addition, the server computing device may store information about a user's ride history provided by one or more vehicles in which the user has taken a trip. This ride history may include pick up and drop off locations, time of day, day of the week etc.
  • In addition, the server computing devices may process the shared user information in order to generate task metrics for the user. As discussed in further detail below, task metrics may define tasks that the user is likely to perform or locations to which the user will or has gone.
  • As with memory 130, storage system 450 can be of any type of computerized storage capable of storing information accessible by the server computing devices 410, such as a hard-drive, memory card, ROM, RAM, DVD, CD-ROM, write-capable, and read-only memories. In addition, storage system 450 may include a distributed storage system where data is stored on a plurality of different storage devices which may be physically located at the same or different geographic locations. Storage system 450 may be connected to the computing devices via the network 460 as shown in FIG. 4 and/or may be directly connected to or incorporated into any of the computing devices 110, 410, 420, 430, 440, etc.
  • Example Methods
  • In addition to the operations described above and illustrated in the figures, various operations will now be described. It should be understood that the following operations do not have to be performed in the precise order described below. Rather, various steps can be handled in a different order or simultaneously, and steps may also be added or omitted.
  • In one aspect, a user may download an application for requesting a vehicle to a client computing device. For example, users 422 and 432 may download the application via a link in an email, directly from a website, or an application store to client computing devices 420 and 430. For example, client computing device may transmit a request for the application over the network, for example, to one or more server computing devices 410, and in response, receive the application. The application may be installed locally at the client computing device.
  • The user may use the application to provide different types of information to the server computing devices. For instance, as noted above, the user may opt to share certain user information about the user with the application, such as his or her work or social schedule, access to personal email accounts or calendars, and/or real time location information. The applicant may then periodically, or upon a specific request from the user, provide the shared user information to the server computing devices 410 for processing and/or storage, for instance, in storage system 450.
  • The user may then use his or her client computing device to access the application and request a vehicle. As an example, a user such as user 432 may use client computing device 430 to send a request to one or more server computing devices 410 for a vehicle. The request may include information identifying a pickup location or area and/or a destination location or area. In response the one or more server computing devices 410 may identify and dispatch, for example based on availability and location, a vehicle to the pickup location. This dispatching may involve sending information to the vehicle identifying the user (and/or the user's client device) in order to assign the vehicle to the user (and/or the user's client computing device), the pickup location, and the destination location or area.
  • Once the vehicle 100 receives the information dispatching the vehicle, the vehicle's one or more computing devices 110 may maneuver the vehicle to the pickup location using the various features described above. Once the user, now passenger, is safely in the vehicle, the computing devices 110 may initiate the necessary systems to control the vehicle autonomously along a route to the destination location. For instance, the routing system 168 may use the map information of data 134 to determine a path or route to the destination location that follows a set of the lane segments of map information. The computing devices 110 may then maneuver the vehicle autonomously (or in an autonomous driving mode) as described above along the route towards the destination.
  • The computing devices 110 may also report information about the trip to the server computing devices 410. For instance, the computing devices 110 may provide information identifying the actual pick up location, date and time, as well as the final destination (i.e. drop off location for the trip), date and time. The server computing devices may then store this information as ride history for a particular user as noted above.
  • In addition, the server computing devices may process the shared user information and ride history in order to generate task metrics for the user. Task metrics may define tasks that the user is likely to perform or locations to which the user will or has gone. As noted above, these task metrics may be stored in storage system 450. As an example, a calendar entry regarding a restaurant or an email confirming a restaurant reservation may be used to generate a task metric indicating that the user is likely to perform the task of going to that restaurant at the time specified in the calendar entry or email confirmation. Similarly, calendar entries or email confirmations for flights to specific locations may be used to generate a task metric indicating that the user is likely to perform the task of going to a particular airport at a particular time (i.e. 1.5 hours or 2 hours before flight time designated in the calendar entry or email confirmation). In other examples, calendar entries or email confirmations for event tickets (sports, music, theatrical, etc.), hotel reservations, meetings, medical or other appointments, may be used to generate task metrics for a user.
  • In yet another example, a task metric may identify a location to which the user frequently travels, for instance based on the user's ride history and/or information provided directly by the user, such as the location of the user's home, workplace, favorite restaurant or coffee shop, etc. In such examples, the task metric may identify the location and a time or range of times when the user typically has gone to the location. As an example, a task metric for user 422 may indicate that the user frequently visits a particular restaurant, “Restaurant A,” on Friday evenings at 8 pm.
  • The task metrics and current location information for users may be used to identify users who are likely to use the service for a trip. For instance, if a user has typically used the service for trips to an airport and there is a task metric for the user indicating that the user is likely to go to that airport in the near future, this user is likely to want to use the service to take the user to the airport. Similarly, even if the user has not used the service to take such trips in the past, the task metric in combination with the user's current location may be sufficient to identify the user as someone who is likely to use the service for that particular trip.
  • In addition to information about users, the server computing devices may have real time information about the location and status of vehicles within the fleet of vehicles. For instance, many vehicles may be located in a given area, but only some of those vehicles may be empty and not already dispatched or otherwise assigned to pick up a particular user.
  • FIG. 6 is an example view of a section of roadway corresponding to the section of roadway defined in the map information of FIGS. 2A and 2B. For instance, FIG. 6 depicts intersections 620, 622, 624 that correspond to intersections 220, 222, 224. In addition the shape, location, and other characteristics of lane lines 610, 612, and 614 correspond to the shape, location and other characteristics of lane lines 210, 212, 214. Similarly, traffic signals 630, 632, 634 (not depicted in the other figures for clarity and simplicity) correspond to traffic signals 230, 232, 234, stop sign 640 (not depicted in the other figures for clarity and simplicity) corresponds to stop sign 240, and stop lines 650, 652, 654 correspond to stop lines 250, 252, 254. FIG. 6 also depicts the locations 660, 662 of users 432, 422 respectively shared by the users via the applications of devices 420 and 430 and received by the server computing devices. Each location is represented by a point and a bubble indicating the accuracy of the location received by the server computing devices. FIG. 6 also depicts the locations of vehicles 100 and 100A received by the server computing devices.
  • By combining the locations of vehicles with the locations of users and the users' task metrics, the server computing devices 410 can determine whether there is a vehicle currently located within a predetermined distance (i.e. within 5 minutes or 1 mile) of a user who is likely to need or want to take a ride or rather is associated with a task metric which indicates that the user is likely to want to take a trip in the near future (i.e within the next hour or more or less). Thus, to identify a specific vehicle and user combination, the server computing device may first identify any currently available vehicles or vehicles that are going to become available in the near future. For example, returning to FIG. 6 , vehicle 100A may currently be occupied and traveling to a destination. However, vehicle 100 may be available, or that is not currently dispatched to pick up a user, taking a user to a destination, or otherwise engaged. In that regard, the server computing devices may identify vehicle 100 as currently available.
  • In addition, if a vehicle will be finishing a trip, the server computing devices may be able to estimate when a vehicle will be coming available within a predetermined expected period of time. Thus, such a vehicle, even though it is currently providing services for another user, may be identified as an available vehicle within the predetermined expected period of time into the near future, such as 5 minutes or more or less, taking into consideration the amount of time the vehicle will need to complete its current services and allow the other user to exit safely. In this regard, even when stopped to drop off a passenger, a vehicle may not necessarily be available for another minute or more or less. For instance, vehicle 100A may be currently transporting a passenger on a trip, but the server computing devices may identify vehicle 100A as available where the trip is going to end shortly, i.e. within the next 10 minutes or more or less.
  • Then, using the location information shared by users, server computing devices may then identify a set of any users within a predetermined distance (in space or time) of vehicle 100. In that regard, one or both of users 422 and 432 may be within 0.5 miles of the current location of vehicle 100 or 5 minutes traveling time by vehicle 100.
  • Of the identified set of users, the server computing devices may then select one or more of those that are associated with task metrics that indicate that these users are likely to accept a trip in response to a notification. For instance, where the user 422 may be a with task metric that indicates that the user frequently visits “Restaurant A” on Friday evenings at 8 pm, the restaurant is less than 30 minutes away via a trip in vehicle 100 (or similar), and it is currently 7:30 pm on a Friday, user 422 may be selected as a user who is likely to accept a trip.
  • A notification may then be generated for the identified one or more users indicating that a vehicle is available for a trip. For instance, based on the identification of vehicle 100 as available and user 422 selected as likely to accept a trip, a notification may be generated to indicate to user 422 that a vehicle is available.
  • However, prior to sending a notification, the server computing devices can first send an instruction to dispatch the identified available vehicle to the location of the user or to continue to wait at its current location, for instance, if the vehicle is parked at a location proximate (i.e. within a few hundred feet or more or less) of the user's current location. In this way, the notification is provided only when the vehicle is on its way to the location of the user or has already reached the location of the user. For instance, once the server computing devices has identified a user and a vehicle, without receiving a specific request for the vehicle, the vehicle may show up at or near a particular user's current location. In this way, the notification itself can inform the user that a vehicle is on the way or at the location of the user.
  • Once a user and vehicle are identified, the server computing devices can send a notification to the user's device for display to the user. As noted above, the server computing devices computing devices may generate a notification to be provided to the user to indicate that a vehicle is currently available for a trip. After dispatching the vehicle or instructing the vehicle to wait at its current location, the notification may be sent to the user. Once received by the user's client computing device, an audible tone or tactile indication may be provide to indicate that a notification has been received. The user may then select to view or hear the notification. In this regard, the notification may be visual notification which simply displays on the display of the user's client computing device as shown in FIGS. 7A-7D and/or an audible notification that speaks the information. For example, FIG. 7A depicts a notification 710 indicating to user 422 that a vehicle is currently available. In addition, the notification may or may not include information about how far the vehicle currently is from the user or an estimate time of arrival as shown in notification 720 of FIG. 7B or whether the vehicle is already parked nearby waiting for the user as in notification 730 of FIG. 7C. As noted above, the server computing devices 410 can send the notification and any additional information to the identified user's client device via network 460.
  • In addition to indicating that the vehicle is available to pick up the user for a ride, the notification may also make a suggestion about a destination. This suggestion may be generated based on the user's pattern of ride behavior or any task metric or metrics used to identify the user. Returning to the example above, once the vehicle his on its way to the location of the user (or has reached the location of the user), the user may receive a notification that “suggests” a trip to a restaurant based on the user 422's history of going to that restaurant at Friday evenings at 8 pm as shown by notification 740 suggesting a trip to “Restaurant A” shown in of FIG. 7D.
  • The timing of the notification may be based on the location of the user, how long it will take to reach the suggested location (for instance due to current or predicted traffic conditions), any date and/or time of any task metric used to identify the user, how long it will take an available identified vehicle to reach the user, etc. If the current location of the user is approximately 30 minutes from the restaurant (via being transported by the vehicle) and an available identified vehicle is only 2 minutes from picking up the user, the server computing devices may send the notification at least 32 minutes before 8 pm on a Friday evening suggesting that the user take a trip to the restaurant.
  • In addition, the server computing devices may even provide the user's client device with instructions to provide and/or display the notification at that or some other particular time. For instance, where the vehicle is more than 5 minutes from the location of the user, the server computing device may wait to send the notification to the user's client device until the vehicle is closer to the location of the user or send the notification with instructions to delay displaying or otherwise providing the notification to the user. In another example, where a task metric indicates that a user travels to his or her workplace at 8:30 am, but at 8:00 am the server computing devices estimates that it will take a vehicle 45 minutes to reach the work place at 8:30 due to traffic conditions, the server computing devices may send a notification that suggests a trip the user's workplace immediately, rather than waiting closer to 8:30 to prevent the user from being late to the user's workplace.
  • A user may accept the notification, or rather the offer for a ride in the notification. The acceptance may be provided to the server computing device. At that point, the server computing device may provide the user's client computing device with further information regarding the current location of the vehicle and whether it is stopped and already waiting for the user. All of some of this information may be displayed and or played to the user (if an audible message) based upon the user's notification preferences.
  • At the same time, the server computing devices may send the identified vehicle updated dispatch information. For instance, this may include information identifying the user, for instance to facilitate authentication of the user's client computing device prior to the trip, and/or final dispatch instructions to allow the vehicle to actually reach an updated location of the user (i.e. a location provided after the notification was generated). In response, the vehicle's one or more computing devices 110 may maneuver the vehicle to the pickup location using the various features described above or continue to wait for the user in its current location, for instance, if the vehicle is already parked within a predetermined distance, such as 30 meters or more or less, of the user's updated location.
  • As the vehicle approaches the user's client device (or vice versa), the vehicle's computing devices may authenticate the user's client device and also the user. When the user is authenticated, the vehicle's computing devices may automatically unlock the vehicle's doors and allow the user to enter the vehicle. The vehicle's one or more computing devices 110 may also display a welcome screen on the internal electronic display 152. This welcome screen may provide instructions to the user (now a passenger) on how to use the vehicle. For example, the instructions may include requesting that the passenger shut the doors 306 if needed and buckle his or her seatbelt. Sensors associated with the seats, doors, and seatbelts may be used to determine if the passenger has complied. Once the passenger has complied with the instructions, he or she may press or otherwise activate a button of the vehicle that will activate the autonomous driving mode. In response, the computing devices 110 may initiate the necessary systems to control the vehicle autonomously along a route to the destination location.
  • Once the user, now passenger, is safely in the vehicle, the computing devices 110 may initiate the necessary systems to control the vehicle autonomously along a route to the destination location. For instance, the routing system 168 may use the map information of data 134 to determine a path or route to the destination location that follows a set of the lane segments of map information. The computing devices 110 may then maneuver the vehicle autonomously (or in an autonomous driving mode) as described above along the route towards the destination.
  • Where appropriate, the notification may be sent to a different user (i.e. a user other than the identified user) or even multiple users. For instance, if an identified user's account is associated with another person, such as a parent or guardian, the notification may be sent to one or both of the user and the other person. This may be especially useful for persons who need to order a vehicle for an elderly or disabled user for instance, to transport the user to a medical or other appointment.
  • In another example, if two or more users are located at or near the same location and would likely need or want a ride according to their respective task metrics, both of these users may receive the notification. At the same time, the vehicle may be dispatched to the location of a user more likely to accept a ride (according to task metrics, their pattern of ride behavior, acceptance of such notifications in the past, etc.), the location of the user that is closest to the location of the vehicle at the time of dispatch, or a location between the users. Returning to the example of FIG. 6 , where user 432 is associated with a task metric that indicates that user 432 typically leaves a work location at 7:30 pm on Friday evenings, both user 432 and user 422 may be selected as likely to accept a trip. However, if only 1 vehicle (here vehicle 100) is available, vehicle 100 may be dispatched to user 422 who may have a history of accepting trips more often than user 432, or to user 432 where user 432 often uses the vehicle services to travel from work to home on Friday evenings (as indicated by user 432's task metrics).
  • Alternatively, the vehicle may be dispatched to a certain location proximate to a number of users who, based on task metrics, are likely to go to or need transportation to a particular popular location, such as a train station or metropolitan area at commuting times. A notification may go out to all users within a short distance, such as half a mile or more or less) indicating that the vehicle is available to transport users to the popular location. In addition, the notification may indicate that multiple seats are available, including in some cases, exactly how many seats are available. In addition, the notification may indicate that the users who accept first will be provided with a seat. Thus, once the number users who have accepted corresponds to the number of available seats, a second notification may be sent to the user's client devices indicating that the trip is now closed as no more seats are available. To encourage such acceptance, users may even be offered discounted fares or coupons.
  • The notifications themselves may also include suggestions for free or discounted rides to locations where the vehicle will be needed once the vehicle has taken the user to that location. Such trips can even be sponsored by an advertiser. In addition or alternatively, the notifications may notify the user of times when certain rides are at low prices, trips would be fastest (e.g. based on traffic conditions), or simply that the vehicle is available for use at a time that is proximate to the potential passenger's typical commute time (determined from the user's pattern of ride behavior).
  • Once a user has accepted a ride, further notifications can be provided to indicate the status of the vehicle to the user. For instance, this may include information about where the vehicle is, how far away the vehicle is in distance or time, and/or whether the vehicle is already parked and waiting for the user. In addition, if there is an issue with the vehicle reaching the user, for instance, because a vehicle will take longer to reach the user, for instance 10 minutes instead of 2 as originally promised to the user, the user's client device may be provided with a notification indicating such as well as providing a discount on the ride or a coupon for other goods or services available to the user within a short distance of his or her current location. For instance, a notification may include the text “Your vehicle is running a bit behind. We are sorry for the inconvenience, but please enjoy this $2 coupon for the coffee shop one block down the street. Your vehicle will pick you up right in front of it in 10 minutes.”
  • Such suggestions may be even be made during a trip to encourage use of the services. As another example, during a trip, an advertisement may offer a coupon for a discount on goods or services at a particular location, such as “save $1 when you stop at a coffee shop that the vehicle will pass in 3 minutes”. If the passenger wants to accept the offer, in some examples, such as where the offer is made before the trip, the goods or services can be ready and waiting for a user when the vehicle arrives to pick up the user or waiting at the destination when the user arrives at the destination. As another example, an advertisement may suggest a particular destination, such as to indicate a happy hour beginning at a nearby bar.
  • In some instances, the suggested destinations may even be sponsored. For example, an advertiser may offset the cost of a reduced or discounted fare to a place of business associated with the advertiser (i.e. a restaurant owner or representative of the restaurant where the place of business is the restaurant) when a user accepts a notification suggesting a ride to the place of business. Where the user has not previously visited the place of business, but has used the vehicle services, this may help the advertiser to identify new customers or clients.
  • To reduce processing at the server computing devices, the task metrics may be prioritized based on current location information for a user, available vehicles, timing to reach a given user, and even the user's ride history. In other words, if no vehicles are currently available or likely to be available within a 5 minutes distance of a current location of a user, that user's task metrics may be given a low priority. At the same time, if such a user utilizes the services often based on his or her ride history, that same user's task metrics may be given higher priority. Higher priority task metrics may be used to identify users likely to take rides and thus to select users as well as to identify to which users to dispatch a vehicle (where there are multiple notifications sent).
  • FIG. 8 is an example flow diagram 800 in accordance which may be performed by one or more server computing devices having one or more processors, such as server computing devices 410 in order to facilitate transportation services between a user, such as users 422 or 432, and a vehicle having an autonomous driving mode, such as vehicles 100 or 100A. In this regard, block 810 includes receiving information identifying the current location of the vehicle. At block 820, that the user is likely to want to take a trip to a particular destination is determined based on prior location history for the user. Thereafter, the vehicle is dispatched to cause the vehicle to travel in the autonomous driving mode towards a location of the user at block 830. A notification is sent to a client computing device associated with the user indicating that the vehicle is currently available to take the passenger to the particular destination at block 840. Information indicating acceptance of a trip is received from the client computing device in response to the notification at block 850. In response to receiving the information indicating acceptance of a trip, updated dispatching instructions are sent to the vehicle to the vehicle. at block 860.
  • Unless otherwise stated, the foregoing alternative examples are not mutually exclusive, but may be implemented in various combinations to achieve unique advantages. As these and other variations and combinations of the features discussed above can be utilized without departing from the subject matter defined by the claims, the foregoing description of the embodiments should be taken by way of illustration rather than by way of limitation of the subject matter defined by the claims. In addition, the provision of the examples described herein, as well as clauses phrased as “such as,” “including” and the like, should not be interpreted as limiting the subject matter of the claims to the specific examples; rather, the examples are intended to illustrate only one of many possible embodiments. Further, the same reference numbers in different drawings can identify the same or similar elements.

Claims (20)

1. A method of reducing downtime for vehicles of a fleet of vehicles between trips, the method comprising:
identifying, by one or more processors of a server, a current location of a specific vehicle of the fleet of vehicles that is available;
identifying, by one or more processors, one or more users, each of the users being associated with a respective client computing device;
sending, by the one or more processors, to the respective client computing devices of the one or more users, a notification including an offer for the specific vehicle to take the one or more users on a trip to a destination;
receiving, by the one or more processors from at least one of the respective client computing devices, a response to the notification indicating that at least one of the one or more users accepted the offer; and
sending, by the one or more processors, dispatching instructions to the specific vehicle to cause the specific vehicle, while operating in an autonomous driving mode, to maneuver to one or more pickup locations to pick up the at least one of the one or more users who accepted the offer.
2. The method of claim 1, wherein the dispatching instructions are sent in order to reduce the downtime for the specific vehicle between trips.
3. The method of claim 1, wherein identifying the one or more users is based on whether the one or more users are located within a predetermined distance of the specific vehicle.
4. The method of claim 1, wherein identifying the one or more users is based on whether any user is associated with a tsk metric corresponding to the user's ride history.
5. The method of claim 1, wherein the notification indicates an estimated time of arrival of the specific vehicle at a current location of the respective client computing device.
6. The method of claim 1, further comprising:
receiving, by the one or more processors, location information identifying current locations of each of the respective client computing devices.
7. The method of claim 1, wherein the notification indicates how many seats in the specific vehicle are available for use for the trip to the destination.
8. The method of claim 7, wherein the response to the notification indicates for which seats the offer is accepted.
9. The method of claim 1, further comprising:
prior to sending the notification to the respective client computing devices of the one or more users, determining, by the one or more processors, whether to dispatch the specific vehicle or allow the specific vehicle wait.
10. The method of claim 1, wherein the notification indicates that the specific vehicle is currently maneuvering to the one or more pickup locations, or when the specific vehicle will arrive at the one or more pickup locations.
11. The method of claim 1, wherein the notification indicates that the specific vehicle is waiting at one of the one or more pickup locations.
12. The method of claim 1, wherein the notification provides a first option to accept the offer and a second option to decline the offer.
13. A server computing device for reducing downtime for vehicles of a fleet of vehicles between trips, the server computing device comprising:
a memory configured to store data and instructions; and
one or more processors configured to:
access the data and instructions stored in the memory;
identify a current location of a specific vehicle of the fleet of vehicles that is available;
identify one or more users, each of the users being associated with a respective client computing device;
send to the respective client computing devices of the one or more users a notification including an offer for the specific vehicle to take the one or more users on a trip to a destination;
receive, from at least one of the respective client computing devices, a response to the notification indicating that at least one of the one or more users accepted the offer; and
send dispatching instructions to the specific vehicle to cause the specific vehicle while operating in an autonomous driving mode, to maneuver to one or more pickup locations to pick up the at least one of the one or more users who accepted the offer.
14. The server computing device of claim 13, wherein the dispatching instructions are sent in order to reduce the downtime for the specific vehicle between trips.
15. The server computing device of claim 13, wherein the identification of the one or more users is based on whether the one or more users are located within a predetermined distance of the specific vehicle.
16. The server computing device of claim 13, wherein identification of the one or more users is based on whether any user is associated with a tsk metric corresponding to the user's ride history.
17. The server computing device of claim 13, wherein the notification indicates an estimated time of arrival of the specific vehicle at a current location of the respective client computing device.
18. The server computing device of claim 13, wherein the one or more processors are further configured to receive location information identifying current locations of each of the respective client computing devices.
19. The server computing device of claim 13, wherein the notification indicates how many seats in the specific vehicle are available for use for the trip to the destination.
20. The server computing device of claim 19, wherein the response to the notification indicates for which seats the offer is accepted.
US18/213,994 2015-12-30 2023-06-26 Autonomous vehicle services Pending US20230410241A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/213,994 US20230410241A1 (en) 2015-12-30 2023-06-26 Autonomous vehicle services

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201562273067P 2015-12-30 2015-12-30
US15/358,729 US11205240B2 (en) 2015-12-30 2016-11-22 Autonomous vehicle services
US17/528,595 US11727523B2 (en) 2015-12-30 2021-11-17 Autonomous vehicle services
US18/213,994 US20230410241A1 (en) 2015-12-30 2023-06-26 Autonomous vehicle services

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US17/528,595 Continuation US11727523B2 (en) 2015-12-30 2021-11-17 Autonomous vehicle services

Publications (1)

Publication Number Publication Date
US20230410241A1 true US20230410241A1 (en) 2023-12-21

Family

ID=59225394

Family Applications (3)

Application Number Title Priority Date Filing Date
US15/358,729 Active 2039-03-23 US11205240B2 (en) 2015-12-30 2016-11-22 Autonomous vehicle services
US17/528,595 Active US11727523B2 (en) 2015-12-30 2021-11-17 Autonomous vehicle services
US18/213,994 Pending US20230410241A1 (en) 2015-12-30 2023-06-26 Autonomous vehicle services

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US15/358,729 Active 2039-03-23 US11205240B2 (en) 2015-12-30 2016-11-22 Autonomous vehicle services
US17/528,595 Active US11727523B2 (en) 2015-12-30 2021-11-17 Autonomous vehicle services

Country Status (9)

Country Link
US (3) US11205240B2 (en)
EP (1) EP3357032B1 (en)
JP (1) JP6838070B2 (en)
KR (1) KR102179287B1 (en)
CN (1) CN108474665B (en)
AU (3) AU2016381437A1 (en)
CA (1) CA3010272C (en)
SG (1) SG11201804943VA (en)
WO (1) WO2017117095A1 (en)

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105074385B (en) 2013-02-26 2019-09-10 北极星工业有限公司 Lie fallow the telemetering of vehicle interactive mode, mapping and schedule planning system
US11209286B2 (en) 2013-02-26 2021-12-28 Polaris Industies Inc. Recreational vehicle interactive telemetry, mapping and trip planning system
US10120381B2 (en) * 2015-03-13 2018-11-06 Nissan North America, Inc. Identifying significant locations based on vehicle probe data
AU2017217554A1 (en) 2016-02-10 2018-08-23 Polaris Industries Inc. Recreational vehicle group management system
US20170349184A1 (en) * 2016-06-06 2017-12-07 GM Global Technology Operations LLC Speech-based group interactions in autonomous vehicles
US10036645B2 (en) * 2016-06-15 2018-07-31 Here Global B.V. Vehicle usage-based pricing alerts
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
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
JP6705368B2 (en) * 2016-12-06 2020-06-03 トヨタ自動車株式会社 Automatic driving device
US9817400B1 (en) * 2016-12-14 2017-11-14 Uber Technologies, Inc. Vehicle servicing system
US10753754B2 (en) 2017-01-19 2020-08-25 Andrew DeLizio Managing autonomous vehicles
US11190907B2 (en) * 2017-05-24 2021-11-30 Sensormatic Electronics, LLC System and method for facilitating access to access points in access control system
US10801850B2 (en) * 2017-08-09 2020-10-13 Curbside Inc. Arrival predictions based on destination specific model
US10579788B2 (en) * 2017-08-17 2020-03-03 Waymo Llc Recognizing assigned passengers for autonomous vehicles
US20190066515A1 (en) * 2017-08-22 2019-02-28 Waymo Llc Estimating time to pick up and drop off passengers for improved stopping analysis in autonomous vehicles
US10401858B2 (en) * 2017-08-29 2019-09-03 Waymo Llc Arranging passenger pickups for autonomous vehicles
US10725473B2 (en) * 2017-09-01 2020-07-28 Uatc, Llc Systems and methods for changing a destination of an autonomous vehicle in real-time
US20190079525A1 (en) * 2017-09-11 2019-03-14 Qualcomm Incorporated Autonomous vehicle support for secondary vehicle
US10421396B2 (en) * 2017-10-18 2019-09-24 Uber Technologies, Inc. Systems and methods for signaling intentions to riders
US10498685B2 (en) * 2017-11-20 2019-12-03 Google Llc Systems, methods, and apparatus for controlling provisioning of notifications based on sources of the notifications
EP3731209A4 (en) 2017-12-22 2021-01-27 Yamaha Hatsudoki Kabushiki Kaisha On-demand predefined route automated driving vehicle
US11416783B2 (en) * 2017-12-29 2022-08-16 ANI Technologies Private Limited System and method for vehicle allocation to users
JP6984423B2 (en) * 2018-01-11 2021-12-22 トヨタ自動車株式会社 Destination information retrieval device, program and destination information retrieval system
JP2019133504A (en) * 2018-02-01 2019-08-08 トヨタ自動車株式会社 Vehicle dispatch service cooperation search support system
JP7234496B2 (en) * 2018-02-06 2023-03-08 トヨタ自動車株式会社 Passenger support device
WO2019165451A1 (en) 2018-02-26 2019-08-29 Nvidia Corporation Systems and methods for computer-assisted shuttles, buses, robo-taxis, ride-sharing and on-demand vehicles with situational awareness
JP2019175389A (en) * 2018-03-29 2019-10-10 パナソニックIpマネジメント株式会社 Carpool support system, carpool support method, program and movable body
FR3085144A1 (en) * 2018-08-24 2020-02-28 Psa Automobiles Sa ASSISTANCE METHOD AND DEVICE FOR DRIVING AN AUTONOMOUS TAXI VEHICLE TO A PLACE OF SUPPORT FOR POTENTIAL CUSTOMERS
US11200807B2 (en) * 2018-09-24 2021-12-14 Here Global B.V. Method and apparatus for detecting an availability of a vehicle based on parking search behaviors
CN112889098B (en) * 2018-10-16 2024-01-16 日产自动车株式会社 Get-on/off place providing system, data server and get-on/off place providing method
EP3877867A4 (en) 2018-11-08 2022-07-27 Evangelos Simoudis Systems and methods for managing vehicle data
JP7087949B2 (en) * 2018-11-20 2022-06-21 トヨタ自動車株式会社 TODO management device, TODO management method, and TODO management program
AU2019387098A1 (en) 2018-11-26 2021-07-22 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
KR20200067015A (en) * 2018-12-03 2020-06-11 현대자동차주식회사 Apparatus and server for sharing position information of vehicle
US20220230110A1 (en) * 2019-02-19 2022-07-21 Honda Motor Co., Ltd. Vehicle allocation system and vehicle allocation method
US11899448B2 (en) * 2019-02-21 2024-02-13 GM Global Technology Operations LLC Autonomous vehicle that is configured to identify a travel characteristic based upon a gesture
US11313688B2 (en) 2019-04-10 2022-04-26 Waymo Llc Advanced trip planning for autonomous vehicle services
US10843566B2 (en) * 2019-04-26 2020-11-24 Waymo Llc Audible passenger announcements for autonomous vehicle services
US20210326783A1 (en) * 2019-04-30 2021-10-21 Lg Electronics Inc. Total management system using ui/ux for setting mobility service recommendation and dynamic drop-off location based on zone, control method therefor
US11458929B1 (en) * 2019-05-10 2022-10-04 Gm Cruise Holdings Llc Unlocking vehicle doors with facial recognition
CN110139212B (en) * 2019-06-21 2021-07-06 Oppo广东移动通信有限公司 Positioning processing method and related product
WO2021010524A1 (en) * 2019-07-17 2021-01-21 엘지전자 주식회사 Electronic device for vehicle and operation method of electronic device for vehicle
US12112393B2 (en) * 2019-09-20 2024-10-08 Lyft, Inc. Apparatus, systems, and methods for requesting transportation via a transportation key
JP2021082217A (en) 2019-11-22 2021-05-27 トヨタ自動車株式会社 Control device, system, program, terminal device, and notification method
US11705002B2 (en) * 2019-12-11 2023-07-18 Waymo Llc Application monologue for self-driving vehicles
JP7230793B2 (en) * 2019-12-24 2023-03-01 トヨタ自動車株式会社 Information processing device, information processing method, and system
JP7294121B2 (en) 2019-12-25 2023-06-20 トヨタ自動車株式会社 Information processing device, information processing method, and program
KR20210117619A (en) * 2020-03-19 2021-09-29 삼성전자주식회사 Proactive digital assistant
JP7238838B2 (en) * 2020-03-30 2023-03-14 トヨタ自動車株式会社 Autonomous driving system
JP7287326B2 (en) * 2020-03-30 2023-06-06 トヨタ自動車株式会社 Traffic management device, traffic management system, traffic management method, and vehicle
US11531333B2 (en) 2020-04-14 2022-12-20 Polaris Industries Inc. Communication and relay systems for vehicles
CN111641541A (en) * 2020-05-26 2020-09-08 深圳市欧瑞博科技股份有限公司 Intelligent control method, system and device for vehicle service and storage medium
KR102434787B1 (en) * 2020-07-01 2022-08-23 (주)케이시크 connected tour service method based on self-driving vehicle
US12026795B2 (en) * 2020-09-23 2024-07-02 Apple Inc. Hailing, pickup, and rendezvous in a mobile ecosystem
US20220107650A1 (en) * 2020-10-06 2022-04-07 Waymo Llc Providing deliveries of goods using autonomous vehicles
JP2022070688A (en) * 2020-10-27 2022-05-13 トヨタ自動車株式会社 Information processing apparatus, information processing method, and information processing program
JP2022081355A (en) * 2020-11-19 2022-05-31 トヨタ自動車株式会社 Information processing device, information processing method, and system
JP7547986B2 (en) 2020-12-17 2024-09-10 トヨタ自動車株式会社 Information processing device, information processing method, and system
US20220258773A1 (en) * 2021-02-15 2022-08-18 Ford Global Technologies, Llc Autonomous Vehicle Rider Authentication, Boarding, And Drop Off Confirmation
CN114194214B (en) * 2021-12-28 2024-02-13 阿波罗智联(北京)科技有限公司 Unmanned vehicle control method and device and electronic equipment
US20230410656A1 (en) * 2022-06-16 2023-12-21 Gm Cruise Holdings Llc Autonomous control with encoded visual signals

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120290652A1 (en) * 2011-05-13 2012-11-15 Zeljko BOSKOVIC Arrangement and method for transport sharing
US20150338852A1 (en) * 2015-08-12 2015-11-26 Madhusoodhan Ramanujam Sharing Autonomous Vehicles
US20170186126A1 (en) * 2015-12-29 2017-06-29 Juno Lab, Inc. System for preemptively navigating drivers to passengers based on passenger device activity
US10147325B1 (en) * 2017-02-02 2018-12-04 Wells Fargo Bank, N.A. Customization of sharing of rides

Family Cites Families (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030193413A1 (en) * 1993-05-18 2003-10-16 Jones M. Kelly Business methods for notification systems
US6748318B1 (en) * 1993-05-18 2004-06-08 Arrivalstar, Inc. Advanced notification systems and methods utilizing a computer network
JP2002056078A (en) 2000-08-09 2002-02-20 Csk Corp System and method for detecting service user, and recording medium
JP2002208092A (en) 2001-01-10 2002-07-26 Toshiba Corp Bus system as alternative means of transportation of unprofitable public transportation and its service method
JP2004030265A (en) 2002-06-26 2004-01-29 Nippon Telegr & Teleph Corp <Ntt> Vehicle dispatching management apparatus and vehicle dispatching management method
WO2005013063A2 (en) * 2003-07-25 2005-02-10 Landsonar, Inc. System and method for determining recommended departure time
JP2005044272A (en) 2003-07-25 2005-02-17 Yec Solutions:Kk Method and system for providing position information of mobile
US7233861B2 (en) 2003-12-08 2007-06-19 General Motors Corporation Prediction of vehicle operator destinations
JP2005250614A (en) 2004-03-02 2005-09-15 Nec Mobiling Ltd Taxi dispatching system
US20050228553A1 (en) 2004-03-30 2005-10-13 Williams International Co., L.L.C. Hybrid Electric Vehicle Energy Management System
CN100397434C (en) * 2004-08-07 2008-06-25 中华电信股份有限公司 Taxi service safety and dispatching monitor system
US7835859B2 (en) * 2004-10-29 2010-11-16 Aol Inc. Determining a route to a destination based on partially completed route
US8949023B2 (en) * 2006-01-08 2015-02-03 Bo-In Lin Transmission of wireless messages of current vehicle location and estimated arrival time to requestors
US7840427B2 (en) * 2007-02-12 2010-11-23 O'sullivan Sean Shared transport system and service network
JP2009244032A (en) 2008-03-31 2009-10-22 Aisin Aw Co Ltd On-board navigation system
JP2010092414A (en) 2008-10-10 2010-04-22 Yutaka Katsunuma Chauffeur service system
JP2010134762A (en) 2008-12-05 2010-06-17 Nec Corp Information notification system, information notification method, and program
US8352112B2 (en) 2009-04-06 2013-01-08 GM Global Technology Operations LLC Autonomous vehicle management
CA2782611C (en) * 2009-12-04 2018-07-10 Uber Technologies, Inc. System and method for arranging transport amongst parties through use of mobile devices
US9245396B2 (en) * 2014-03-17 2016-01-26 Hti Ip, Llc Method and system for providing intelligent alerts
JP5476553B2 (en) 2010-09-02 2014-04-23 株式会社Nttドコモ Vehicle allocation management device, vehicle allocation system, vehicle allocation method and program
US8509982B2 (en) * 2010-10-05 2013-08-13 Google Inc. Zone driving
JP5785377B2 (en) 2010-10-19 2015-09-30 日本ユニシス株式会社 Eco taxi dispatch support system
US8738289B2 (en) * 2011-01-04 2014-05-27 International Business Machines Corporation Advanced routing of vehicle fleets
US8630897B1 (en) * 2011-01-11 2014-01-14 Google Inc. Transportation-aware physical advertising conversions
US20120239452A1 (en) * 2011-03-17 2012-09-20 Aarjav Trivedi Fleet Management Systems and Processes
KR101456184B1 (en) 2011-09-30 2014-11-04 성균관대학교산학협력단 Autonomous vehicle transport control method and apparatus, and autonomous vehicle transport control method and apparatus through remote communication apparatus and remote communication apparatus for autonomous vehicle transport control
TWI581202B (en) 2011-10-06 2017-05-01 寬畇電傳股份有限公司 Called car service matching method and digital system device of using the matching method
US8688290B2 (en) * 2011-12-27 2014-04-01 Toyota Motor Enginerring & Manufacturing North America, Inc. Predictive destination entry for a navigation system
US20130194406A1 (en) 2012-01-31 2013-08-01 Kai Liu Targeted Delivery of Content
WO2013144759A1 (en) * 2012-03-29 2013-10-03 Telmap Ltd. Location-based assistance for personal planning
US9299027B2 (en) * 2012-05-07 2016-03-29 Runaway 20, Inc. System and method for providing intelligent location information
US20140005848A1 (en) * 2012-06-28 2014-01-02 Toyota Infotechnology Center Co., Ltd. Event Control Schedule Management
CN103679316A (en) 2012-09-21 2014-03-26 中国移动通信集团公司 Real-time dispatching and delivery method and device
CA2833542C (en) * 2012-11-20 2020-06-30 Accenture Global Services Limited Situation-aware mobile travel advisory to public transport commuters
US10387824B2 (en) 2012-12-21 2019-08-20 United Parcel Service Of America, Inc. Systems and methods for delivery of an item
US8880270B1 (en) * 2013-01-08 2014-11-04 Google Inc. Location-aware notifications and applications for autonomous vehicles
WO2014112124A1 (en) 2013-01-21 2014-07-24 三菱電機株式会社 Destination prediction device, destination prediction method, and destination display method
US9008890B1 (en) * 2013-03-15 2015-04-14 Google Inc. Augmented trajectories for autonomous vehicles
US9568331B1 (en) * 2013-03-15 2017-02-14 Radhika Narang Predictive travel planning system
US20140343841A1 (en) * 2013-05-14 2014-11-20 Google Inc. Providing predicted travel information
CN203276562U (en) * 2013-05-31 2013-11-06 淮阴师范学院 Intelligent scheduling system of taxi
WO2014205763A1 (en) * 2013-06-28 2014-12-31 Nokia Corporation Method and apparatus for facilitating meeting
US9984574B2 (en) * 2014-01-21 2018-05-29 Tribal Rides, Inc. Method and system for anticipatory deployment of autonomously controlled vehicles
JP6295088B2 (en) 2014-01-21 2018-03-14 シャープ株式会社 Dispatch system
US9304009B2 (en) 2014-02-04 2016-04-05 Here Global B.V. Method and apparatus for providing passenger embarkation points for points of interests
US9205805B2 (en) 2014-02-14 2015-12-08 International Business Machines Corporation Limitations on the use of an autonomous vehicle
US20150248651A1 (en) * 2014-02-28 2015-09-03 Christine E. Akutagawa Social networking event planning
AU2014386266A1 (en) 2014-03-13 2016-09-29 Uber Technologies, Inc. Configurable push notifications for a transport service
CN104077915B (en) 2014-03-27 2017-02-08 中华电信股份有限公司 Riding trend prediction device and method
CN103956041B (en) * 2014-03-28 2016-05-04 东南大学 A kind of bus dispatching system and control method thereof
US10369967B2 (en) 2014-04-01 2019-08-06 Mico Latta Inc. Vehicle and program for vehicle
EP2930469A1 (en) 2014-04-09 2015-10-14 Volkswagen Aktiengesellschaft Method for providing predictive destinations and/or predictive routing for reaching a destination and navigation system
US20150324708A1 (en) * 2014-05-06 2015-11-12 Ford Global Technologies, Llc On-demand transportation
CN105094767B (en) 2014-05-06 2019-02-12 华为技术有限公司 Automatic driving vehicle dispatching method, vehicle scheduling server and automatic driving vehicle
WO2015173829A1 (en) * 2014-05-14 2015-11-19 Van Der Berg Ilan Integrated ride sharing system and method for fleet management systems
US9631933B1 (en) * 2014-05-23 2017-04-25 Google Inc. Specifying unavailable locations for autonomous vehicles
US9500493B2 (en) * 2014-06-09 2016-11-22 Volkswagen Aktiengesellschaft Situation-aware route and destination predictions
CN104794885B (en) 2014-08-12 2017-01-18 北京东方车云信息技术有限公司 System and method for realizing airport pickup and taxi taking service in networked taxi renting
JP6432205B2 (en) * 2014-08-15 2018-12-05 富士通株式会社 Reservation management method, reservation management program, and reservation management apparatus
US9377315B2 (en) * 2014-10-22 2016-06-28 Myine Electronics, Inc. System and method to provide valet instructions for a self-driving vehicle
US9855890B2 (en) * 2014-12-11 2018-01-02 Toyota Motor Engineering & Manufacturing North America, Inc. Autonomous vehicle interaction with external environment
US9754355B2 (en) 2015-01-09 2017-09-05 Snap Inc. Object recognition based photo filters
US9165461B1 (en) * 2015-05-06 2015-10-20 Intellectual Fortress, LLC Image processing based traffic flow control system and method
US9547309B2 (en) * 2015-05-13 2017-01-17 Uber Technologies, Inc. Selecting vehicle type for providing transport
US10984498B2 (en) * 2015-06-15 2021-04-20 International Business Machines Corporation Managing transportation deployment using customer activity
US9733096B2 (en) * 2015-06-22 2017-08-15 Waymo Llc Determining pickup and destination locations for autonomous vehicles
US9805605B2 (en) * 2015-08-12 2017-10-31 Madhusoodhan Ramanujam Using autonomous vehicles in a taxi service
CN105069736A (en) 2015-08-25 2015-11-18 北京丰华联合科技有限公司 Car rental management system aiming at automatic drive
US10055995B2 (en) * 2015-10-06 2018-08-21 Gt Gettaxi Limited System for preemptively navigating drivers to an event created through a social network system
US9606539B1 (en) * 2015-11-04 2017-03-28 Zoox, Inc. Autonomous vehicle fleet service and system
US9953283B2 (en) * 2015-11-20 2018-04-24 Uber Technologies, Inc. Controlling autonomous vehicles in connection with transport services
US10692028B2 (en) * 2015-12-09 2020-06-23 Sap Se Optimal demand-based allocation
US9709417B1 (en) * 2015-12-29 2017-07-18 Ebay Inc. Proactive re-routing of vehicles using passive monitoring of occupant frustration level
US10495471B2 (en) * 2017-05-09 2019-12-03 Uber Technologies, Inc. Destination changes in autonomous vehicles

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120290652A1 (en) * 2011-05-13 2012-11-15 Zeljko BOSKOVIC Arrangement and method for transport sharing
US20150338852A1 (en) * 2015-08-12 2015-11-26 Madhusoodhan Ramanujam Sharing Autonomous Vehicles
US20170186126A1 (en) * 2015-12-29 2017-06-29 Juno Lab, Inc. System for preemptively navigating drivers to passengers based on passenger device activity
US10147325B1 (en) * 2017-02-02 2018-12-04 Wells Fargo Bank, N.A. Customization of sharing of rides

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
M. Pfriem and F. Gauterin, "Less range as a possible solution for the market success of electric vehicles in commercial fleets," 2013 World Electric Vehicle Symposium and Exhibition (EVS27), Barcelona, Spain, 2013, pp. 1-8, (Year: 2013) *

Also Published As

Publication number Publication date
WO2017117095A1 (en) 2017-07-06
AU2016381437A1 (en) 2018-05-24
EP3357032A4 (en) 2019-06-05
US11727523B2 (en) 2023-08-15
US11205240B2 (en) 2021-12-21
JP6838070B2 (en) 2021-03-03
JP2019505899A (en) 2019-02-28
EP3357032B1 (en) 2022-03-09
CN108474665B (en) 2022-04-05
AU2020205357A1 (en) 2020-08-06
SG11201804943VA (en) 2018-07-30
US20170193627A1 (en) 2017-07-06
EP3357032A1 (en) 2018-08-08
AU2021269383A1 (en) 2021-12-16
CA3010272A1 (en) 2017-07-06
CN108474665A (en) 2018-08-31
US20220138890A1 (en) 2022-05-05
KR20180079453A (en) 2018-07-10
KR102179287B1 (en) 2020-11-16
CA3010272C (en) 2022-06-14

Similar Documents

Publication Publication Date Title
US11727523B2 (en) Autonomous vehicle services
US11915587B2 (en) Systems and methods for detecting vehicle movements and displaying parking spaces
US10718626B1 (en) Automatically requesting vehicles
US11835348B2 (en) Advanced trip planning for autonomous vehicle services
US9494938B1 (en) Unique signaling for autonomous vehicles to preserve user privacy
US20160320194A1 (en) Ride-sharing user path disturbances and user re-routing
CN111480174B (en) Method and system for suggesting alternative pick-up and drop-down locations for an autonomous vehicle
US11714412B2 (en) Multiple destination trips for autonomous vehicles

Legal Events

Date Code Title Description
AS Assignment

Owner name: WAYMO LLC, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:WAYMO HOLDING INC.;REEL/FRAME:064106/0421

Effective date: 20170322

Owner name: WAYMO HOLDING INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GOOGLE INC.;REEL/FRAME:064106/0237

Effective date: 20170321

Owner name: GOOGLE INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:URMSON, CHRISTOPHER PAUL;DOLGOV, DMITRI A.;FAIRFIELD, NATHANIEL;AND OTHERS;SIGNING DATES FROM 20161117 TO 20170114;REEL/FRAME:064056/0815

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED