Autonomous vehicles, such as vehicles that do not require a human driver, can be used to aid in the transport of riders from one location to another. Such vehicles may operate in a fully autonomous mode without a person providing driving input. Picking up a rider from a predetermined location may be challenging for various reasons, especially when the person could leave a building or other place from different exits, or there may be traffic or other vehicles parked in a loading/unloading zone that prevent pickup at a selected location. While it may be desirable to promptly pick up the rider when and where they expect it, these types of situations can cause unnecessary delays. This may create confusion or frustration for a rider, potentially resulting in wasted vehicle resources and a negative rider experience.
The technology relates to pickups by autonomous vehicles, including ensuring an estimated time of arrival (ETA) that meets rider requirements. Scheduled pickups can be delayed for various reasons, such as congestion, parking or idling regulations at a pickup spot, weather conditions, etc. According to one aspect, in accordance with customer authorization, the autonomous vehicle may loiter or otherwise stay close to guarantee rider pickup within a predetermined time. One vehicle may be assigned to one rider for a set timeframe in a 1:1 arrangement (e.g., 6 pm until midnight), or multiple vehicles may be allocated to a particular event in an N:N arrangement (e.g., conclusion of a concert, movie or ball game, with N potential riders). Either approach may be used to ensure rider pickup with minimal waiting. One benefit is to avoid user-initiated ride requests when the customer is ready to depart a location, because a vehicle will already be nearby ready to take the customer to their desired destination, or destinations when the customer may be visiting different locations such as on a shopping trip.
According to one aspect of the technology, a method of managing rider pickups for a vehicle operating in an autonomous driving mode is provided. The method comprises receiving, by one or more processors associated with the vehicle operating in the autonomous driving mode, trip information corresponding to a trip for a rider, the trip information including an estimated time to pick up the rider; identifying, by the one or more processors, a boundary representing at least one of a physical distance or a temporal limit for which the vehicle is able to pick up the rider by the estimated pickup time; causing, by the one or more processors, a driving system of the vehicle to preposition the vehicle within the boundary in the autonomous driving mode to ensure the vehicle is able to pick up the rider by the estimated pickup time; and after prepositioning the vehicle and upon receiving location information for the rider, causing, by the one or more processors, the driving system to maneuver the vehicle to a determined pickup location before or at the estimated pickup time in the autonomous driving mode.
In one example, the method further comprising determining a set of pickup location options at which to pick up the rider by the estimated pickup time; and selecting a given one of the pickup location options from the set based upon the received location information. Here, selecting the given pickup location may include evaluating at least one of traffic congestion, a parking restriction, a loitering restriction, or an adverse environmental condition.
In another example, the method further comprising dynamically adjusting the determined pickup location to a different pickup location upon determining that a location of the rider has changed. In this case, determining that the location of the rider has changed may include identifying that the rider has moved towards an exit different from an initially identified exit of a place of interest. The method may further comprise providing a notification to the rider identifying a change to the different pickup location.
The method may include varying a prepositioned location of the vehicle based on receiving updates to the location information. The method may additionally or alternatively include varying a prepositioned location of the vehicle based on a confidence value associated with a type of the location information.
In a further example, causing the driving system of the vehicle to preposition the vehicle may be based at least in part on a walking time to the determined pickup location. Alternatively or additionally, causing the driving system of the vehicle to preposition the vehicle may be based at least in part on whether a preposition location has a metered parking spot. Alternatively or additionally, causing the driving system of the vehicle to preposition the vehicle may include evaluating multiple preposition location options based on whether any preposition location option has a line of sight to the determined pickup location. In this case, the evaluating may include selecting a first one of the multiple preposition location options having the line of sight to the determined pickup location even though the first option is farther from the determined pickup location than another one of the multiple preposition location options. In another example, the location information is either a location of the rider or a location of a client device of the rider.
According to one scenario, the vehicle is a given vehicle of a fleet of vehicles configured for operation in the autonomous driving mode, and the method further includes selecting the given vehicle from the fleet of vehicles based on either the given vehicle's proximity to the boundary or the given vehicle's proximity to the determined pickup location.
According to another scenario, the vehicle is one of a fleet of vehicles configured for operation in the autonomous driving mode, the rider is one of a group of riders, and the method further includes dispatching one or more vehicles from the fleet of vehicles to pick up the group of riders based on either proximity to the boundary or proximity to the determined pickup location.
According to another aspect of the technology, a vehicle is configured to operate in an autonomous driving mode. The vehicle comprises a perception system, a driving system, a positioning system and a control system. The perception system includes one or more sensors. The one or more sensors are configured to receive sensor data associated with objects in an external environment of the vehicle. The driving system includes a steering subsystem, an acceleration subsystem and a deceleration subsystem to control driving of the vehicle. The positioning system is configured to determine a current position of the vehicle. The control system includes one or more processors. The control system is operatively coupled to the driving system, the perception system and the positioning system. The control system is configured to receive trip information corresponding to a trip for a rider, the trip information including an estimated time to pick up the rider; identify a boundary representing at least one of a physical distance or a temporal limit for which the vehicle is able to pick up the rider by the estimated pickup time; cause the driving system of the vehicle to preposition the vehicle within the boundary in the autonomous driving mode to ensure the vehicle is able to pick up the rider by the estimated pickup time; and after prepositioning the vehicle and upon receiving location information for the rider, cause the driving system to maneuver the vehicle to a determined pickup location before or at the estimated pickup time in the autonomous driving mode.
In one example, the control system is further configured to: determine a set of pickup location options at which to pick up the rider by the estimated pickup time; and select a given one of the pickup location options from the set based upon the received location information. In another example, the control system is further configured to dynamically adjust the determined pickup location to a different pickup location upon determining that a location of the rider has changed.
Causing the driving system of the vehicle to preposition the vehicle may be based at least in part on one or more of: a walking time to the determined pickup location; whether a preposition location has a metered parking spot; or evaluation of multiple preposition location options based on whether any preposition location option has a line of sight to the determined pickup location. Here, the evaluation may include selection of a first one of the multiple preposition location options having the line of sight to the determined pickup location even though the first option is farther from the determined pickup location than another one of the multiple preposition location options.
Aspects of the technology involve rider pickups by autonomous vehicles, in which the rider can be confident that their vehicle will be where they need it to be when they are ready to depart. This can involve guaranteeing an ETA to the rider. A single vehicle may be assigned to a customer and operate in a “loiter” mode, so that the vehicle remains close (in time and/or distance) in order to satisfy a desired ETA. The rider may elect to share certain location information for a particular timeframe, such as Friday evening between 6 pm and midnight. This can be based on location data from the user's mobile phone, smart watch or other client device (the device's location), calendar or contact details (the user's location), or the like. The rider can have confidence knowing that his/her ride will be there when it is needed.
By way of example, each sensor unit may include one or more sensors, such as lidar, radar, camera (e.g., optical or infrared), acoustical (e.g., microphone or sonar-type sensor), inertial (e.g., accelerometer, gyroscope, etc.) or other sensors (e.g., positioning sensors such as GPS sensors). While certain aspects of the disclosure may be particularly useful in connection with specific types of vehicles, the vehicle may be any type of vehicle configured for self-driving in an autonomous driving mode, including, but not limited to, cars, vans, cargo trucks, motorcycles, buses, recreational vehicles, emergency vehicles, etc.
There are different degrees of autonomy that may occur for a vehicle operating in a partially or fully autonomous driving mode. The U.S. National Highway Traffic Safety Administration and the Society of Automotive Engineers have identified different levels to indicate how much, or how little, the vehicle controls the driving. For instance, Level 0 has no automation and the driver makes all driving-related decisions. The lowest semi-autonomous mode, Level 1, includes some drive assistance such as cruise control. Level 2 has partial automation of certain driving operations, while Level 3 involves conditional automation that can enable a person in the driver's seat to take control as warranted. In contrast, Level 4 is a high automation level where the vehicle is able to drive fully autonomously without human assistance in select conditions. And Level 5 is a fully autonomous mode in which the vehicle is able to drive without assistance in all situations. The architectures, components, systems and methods described herein can function in any of the semi or fully-autonomous modes, e.g., Levels 1-5, which are referred to herein as autonomous driving modes. Thus, reference to an autonomous driving mode includes both partial and full autonomy.
The memory 206 stores information accessible by the processors 204, including instructions 208 and data 210 that may be executed or otherwise used by the processors 204. The memory 206 may be of any type capable of storing information accessible by the processor, including a computing device-readable medium. The memory is a non-transitory medium such as a hard-drive, memory card, optical disk, solid-state, etc. Systems may include different combinations of the foregoing, whereby different portions of the instructions and data are stored on different types of media.
The instructions 208 may be any set of instructions to be executed directly (such as machine code) or indirectly (such as scripts) by the processor(s). For example, the instructions may be stored as computing device code on the computing device-readable medium. In that regard, the terms “instructions”, “modules” 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. The data 210 may be retrieved, stored or modified by one or more processors 204 in accordance with the instructions 208. In one example, some or all of the memory 206 may be an event data recorder or other secure data storage system configured to store vehicle diagnostics and/or obtained sensor data, which may be on board the vehicle or remote, depending on the implementation.
The processors 204 may be any conventional processors, such as commercially available CPUs. Alternatively, each processor may be a dedicated device such as an ASIC or other hardware-based processor. Although
In one example, the computing devices 202 may form an on-board autonomous driving computing system incorporated into vehicle 100. The autonomous driving computing system is configured to communicate with various components of the vehicle. For example, the computing devices 202 may be in communication with various systems of the vehicle, including a driving system including a deceleration system 212 (for controlling braking of the vehicle), acceleration system 214 (for controlling acceleration of the vehicle), steering system 216 (for controlling the orientation of the wheels and direction of the vehicle), signaling system 218 (for controlling turn signals), navigation system 220 (for navigating the vehicle to a location or around objects) and a positioning system 222 (for determining the position of the vehicle, e.g., including the vehicle's pose). The autonomous driving computing system may employ a planner module 223, in accordance with the navigation system 220, the positioning system 222 and/or other components of the system, e.g., for determining a route from a starting point to one or more destinations, selecting a pickup and/or drop-off point or zone for each location, or for otherwise making modifications to various driving aspects in view of current or expected traffic, weather or other conditions.
The computing devices 202 are also operatively coupled to a perception system 224 (that is configured to detect objects in the vehicle's environment), a power system 226 (for example, a battery and/or gas or diesel powered engine) and a transmission system 230 in order to control the movement, speed, etc., of the vehicle in accordance with the instructions 208 of memory 206 in an autonomous driving mode which does not require or need continuous or periodic input from a passenger of the vehicle. Some or all of the wheels/tires 228 are coupled to the transmission system 230, and the computing devices 202 may be able to receive information about tire pressure, balance and other factors that may impact driving in an autonomous mode.
The computing devices 202 may control the direction and speed of the vehicle, e.g., via the planner module 223, by controlling various components. By way of example, computing devices 202 may navigate the vehicle to a destination location completely autonomously using data from the map information and navigation system 220. Computing devices 202 may use the positioning system 222 to determine the vehicle's location and the perception system 224 to detect and respond to objects when needed to reach the location safely. In order to do so, computing devices 202 may cause the vehicle to accelerate (e.g., by sending a signal for increasing fuel or other energy provided to the engine by acceleration system 214), decelerate (e.g., by sending a signal for decreasing the fuel supplied to the engine, changing gears, and/or by applying brakes by deceleration system 212), change direction (e.g., by sending a signal for turning the front or other wheels of vehicle 100 by steering system 216), and signal such changes (e.g., by lighting turn signals of signaling system 218). Thus, the acceleration system 214 and deceleration system 212 may be a part of a drivetrain or other type of transmission system 230 that includes various components between an engine of the vehicle and the wheels of the vehicle. Again, by controlling these systems, computing devices 202 may also control the transmission system 230 of the vehicle in order to maneuver the vehicle autonomously.
Navigation system 220 may be used by computing devices 202 in order to determine and follow a route to a location. In this regard, the navigation system 220 and/or memory 206 may store map information, e.g., highly detailed maps that computing devices 202 can use to navigate or control the vehicle. As an example, these maps may identify the shape and elevation of roadways, lane markers, intersections, crosswalks, speed limits, traffic signal lights or signs, street lamps, buildings, signs, real time traffic information, vegetation, or other such objects and information. The lane markers may include features such as solid or broken double or single lane lines, solid or broken lane lines, reflectors, etc. A given lane may be associated with left and/or right lane lines or other lane markers that define the boundary of the lane. Thus, most lanes may be bounded by a left edge of one lane line and a right edge of another lane line.
While the map information may be an image-based map, the map information need not be entirely image based (e.g., 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 light, stop sign or street lamp 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.
The perception system 224 includes sensors 232 for detecting objects external to the vehicle. The sensors 232 are located in one or more sensor units around the vehicle. The detected objects may be other vehicles, obstacles in the roadway, traffic signals, signs, trees, bicyclists, pedestrians, etc. The sensors 232 may also detect certain aspects of weather or other environmental conditions, such as snow, rain or water spray, or puddles, ice or other materials on the roadway.
By way of example only, the perception system 224 may include one or more lidar sensors, radar units, cameras (e.g., optical imaging devices, with or without a neutral-density filter (ND) filter), positioning sensors (e.g., gyroscopes, accelerometers and/or other inertial components), infrared sensors, acoustical sensors (e.g., microphones or sonar transducers), and/or any other detection devices that record data which may be processed by computing devices 202. Such sensors of the perception system 224 may detect objects outside of the vehicle and their characteristics such as location, orientation, size, shape, type (for instance, vehicle, pedestrian, bicyclist, etc.), heading, speed of movement relative to the vehicle, etc. Information obtained from the sensors may include 2D or 3D point cloud data (e.g., for radar or lidar sensors), imagery from the cameras or other optical imaging devices, sound data across one or more frequency bands, etc.
The perception system 224 may also include other sensors within the vehicle to detect objects and conditions within the vehicle, such as in the passenger compartment. For instance, such sensors may detect, e.g., one or more persons, pets, packages or other cargo, etc., as well as conditions within and/or outside the vehicle such as temperature, humidity, etc. This can include detecting where the rider(s) is sitting within the vehicle (e.g., front passenger seat versus second or third row seat, left side of the vehicle versus the right side, etc.). The interior sensors may detect the proximity, position and/or line of sight of the rider in relation to one or more display devices of the passenger compartment. Still further, sensors 232 of the perception system 224 may measure the rate of rotation of the wheels 228, an amount or a type of braking by the deceleration system 212, and other factors associated with the equipment of the vehicle itself
The raw data obtained by the sensors can be processed by the perception system 224 and/or sent for further processing to the computing devices 202 periodically or continuously as the data is generated by the perception system 224. Computing devices 202 may use the positioning system 222 to determine the vehicle's location and perception system 224 to detect and respond to objects when needed to reach the location safely, e.g., via adjustments made by planner module 223, including adjustments in operation to deal with occlusions, congestion or other roadway issues, weather, etc.
As illustrated in
Returning to
The passenger vehicle also includes a communication system 242. For instance, the communication system 242 may also include one or more wireless configurations to facilitate communication with other computing devices, such as rider computing devices within the vehicle, computing devices external to the vehicle such as with users awaiting pickup (or delivery of a package, etc.), in another nearby vehicle on the roadway, and/or a remote server system. The 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.
While the components and systems of
In view of the architectures and configurations described above and illustrated in the figures, various aspects of the technology will now be described.
A self-driving vehicle, such as a vehicle with level 4 or level 5 autonomy that can perform driving actions without human operation, has unique requirements and capabilities. This includes making driving decisions based on a planned route and pickup and drop off locations, received traffic information, objects in the external environment detected by the sensors of the vehicle's perception system, etc. Traffic congestion, legal restrictions on parking or loitering, inclement weather (e.g., heavy rain, dense fog and/or lightening) or other conditions (such as icy sidewalks, puddles, debris, work or construction zone signage, traffic barricades or safety barriers, etc.) may affect the ability of the vehicle to pick up or drop off riders or cargo (e.g., groceries or packages) at an initially selected location.
The customer may desire to be picked up at a specific time, or no later than a given time. There may also be some uncertainty about the exact location where a pickup or drop off should be made for the reasons noted above. It may not be possible for an assigned vehicle to depart from a depot or other location and pick up the rider at the desired time, especially during rush hour or if other delays occur prior to pick up. It may also not be feasible to deploy a fleet of vehicles across a service area in the hopes that one will be close enough to pick up the rider at the desired time. Thus, the autonomous vehicle may loiter in an area near to the proposed pickup location, where the vehicle loiters in accordance with rider-related information. This can include a time window where the rider needs a vehicle to be available (e.g., for dinner and a movie), location information associated with a client device (e.g., mobile phone, smart watch or other wearable computing device), an agreed-upon maximum pickup ETA, etc.
In one aspect, a user (e.g., a rider or other customer) may download an application for requesting a vehicle to a client computing device. For example, users may download the application via a link in an email, directly from a website, or an application store to their respective client computing devices, such as mobile phones, tablet PCs, laptops or wearable computers (e.g., smart watches). In response to user input, a client computing device may transmit a request for the application over the network, for example, to one or more server computing devices, and in response, receive the application. The application may be installed locally at the client computing device. The user may use the application to request a vehicle. As part of this, the user may identify a pickup location, a drop off location, or both. Any intermediate stops may also be identified (e.g., stopping off at a supermarket, bakery or dry cleaners on the way home after work). In this regard, the drop off location or any intermediate stops may be at a physically different location from an ultimate destination location.
The rider or other user may specify a pick up, intermediate destination, and final destination locations in various ways. As an example, a pickup location can be defaulted to a current location of the user's client computing device (e.g., based on GPS or other location information for the client computing device). Alternatively, the pickup location may be a recent or saved location associated with the user's account, included in a calendar event, associated with an event such as a concert, movie or sporting event, etc. The user may enter an address or other location information (e.g., via typing or speaking the location), tap a location on a map or select a location from a list in order to identify a pickup and/or destination location.
According to one aspect, the user can elect to share certain location-related information, including a pickup point, duration of time, etc. The election can include certain permissions such as sharing geolocation data from a client device, “temporal fencing” that shares user-related information for a set duration of time, and/or other permissions, such as a “follow me” option that enables a vehicle to loiter or otherwise ensure it is nearby to the user. Sharing such information enables a specific vehicle, or one vehicle of a fleet, to satisfy a pickup ETA requirement of the user. Another scenario involves a vehicle loitering based on a user's history, and “pushes” or suggests a trip to the user. For instance, suggest getting coffee at 9am on Saturday because the user usually get coffee at that day/time. Or the vehicle may loiter based on general patterns too. Thus, if the system knows that lots of people regularly go from A to B at time T, then one or more vehicles may be stationed near point A at time T.
Once the user is associated with a pickup, a vehicle, such as vehicle 100, may be assigned to the user. Dispatching instructions, such as from a vehicle dispatch service, may be sent to the assigned vehicle, including the pickup location, any intermediate destination(s), and the final destination (final drop off location). Based on this, the vehicle is able to control itself in the autonomous driving mode towards the pickup location, for instance by using the various systems of the vehicle as described above, in order to initiate and complete the trip. Although the examples herein relate to transporting passengers, similar features may be used for the transportation of goods or other cargo.
The map information may identify pullover locations, which may include one or more areas where a vehicle is able to stop and to pick up or drop off riders (or packages or other cargo). These areas may correspond to parking spaces, waiting areas, shoulders, parking lots or other places where the vehicle may loiter prior to picking up the rider. For instance,
In one scenario, these locations may correspond to parking spaces, but in other scenarios such locations may correspond to any type of area in which a vehicle is able to stop to pick up and drop off passengers or cargo, such as a loading zone or painted curb region designated for certain temporary idling or stopping activities. The locations may be associated with time of day, holiday, street sweeping or other regulations that may limit when pickups or drop offs may be performed. This information may be updated periodically, for instance every week (or more or less), based on locations where vehicles of the fleet or other vehicles are observed being stopped or pulled over.
In a scenario where the user has authorized the vehicle to loiter and provide a pickup at a particular time or within a maximum ETA, the vehicle may preposition itself at a nearby location or move as needed to stay within some threshold distance or time window in order to satisfy the user's pickup criteria. For example,
As shown in view 620 of
The system may use GPS in combination with building information (e.g., entrances, ramps, pickup zones, etc.). The place data may be obtained from the ride service's own mapping efforts or another service (e.g., Google Maps™). The user's device may be queried for the location, and that device could use many possible technologies (GPS, WiFi, Bluetooth, etc.) to provide a location. The location would then be sent via whatever wireless connection the user's device has available to it (e.g., cellular, WiFi, ad-hoc, etc.).
The system could obtain data on where parking meters are located. When there are parking options that include a metered parking spot, the system may re-evaluate where to position the vehicle based on the proximities of the metered parking spot and other parking options to the estimated pickup location. For instance, if the metered parking spot is approximately the same distance or farther than other options, than a non-metered location may be selected for the vehicle to loiter at. But if the metered parking spot is closer and/or provides a line of sight to the pickup location, than the metered parking spot may be selected as the loitering location. Here, the service could pay the meter seamlessly, e.g., billing the user in accordance with a pricing/fee agreement. In one scenario, the customer may be notified about the option to have the vehicle park for a fee (and be close) or roam in the nearby area (but maybe with a slight pickup delay). Alternatively, the vehicle may occupy an empty pay spot without paying, but if another car comes along to use the spot, the vehicle would exit the spot.
The vehicle's position prior to pickup may be varied not only depending on the current location of the user, but also according to the type of information it has about the location. Thus, the boundary (see 506 in
In one scenario, the vehicle may arrive at a planned pickup location on or before the user's desired ETA when it is determined or estimated that the user is within some threshold distance of that location. In another scenario, the user may indicate that he or she is ready for immediate pickup. As shown in view 700 of
A notification may also be provided to the user's client computing device indicating how to find the vehicle, which door to enter, and/or other useful information to streamline the pickup.
In one implementation, the pickup-related information that is transmitted to the user's personal device originates from the vehicle. For instance, the pickup (or drop off) location and other status information may be identified by the planner module or other part of the onboard processing system. This information may be communicated directly (e.g., via a WiFi connection, Bluetooth ad hoc link or the like) or routed through a remote server (e.g., via a cellular communication link), for instance as part of a fleet management system (see, e.g.,
As shown in
In one example, computing device 902 may include one or more server computing devices 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, computing device 902 may include one or more server computing devices that are capable of communicating with the computing devices of vehicles 914, as well as computing devices 904, 906 and 908 via the network 912. For example, vehicles 914 may be a part of a fleet of vehicles that can be dispatched by a server computing device to various locations. In this regard, the computing device 902 may function as a dispatching server computing system which can be used to dispatch vehicles to different locations in order to pick up and drop off passengers or to pick up and deliver packages or other cargo such as groceries. In addition, server computing device 902 may use network 912 to transmit and present information to a user of one of the other computing devices or a rider of a vehicle. In this regard, computing devices 904, 906 and 908 may be considered client computing devices.
According to one aspect, a particular vehicle of the fleet may be assigned to a rider, and may loiter in the rider's vicinity in order to ensure a pickup by the prescribed time. Alternatively, multiple vehicles of the fleet may loiter in a given area, such as nearby a stadium, arena or concert venue, in order to pick up one or more riders when those riders are ready to depart the facility. In this case, the vehicles may not be preassigned to any particular rider, but may be assigned on demand depending on their proximity to the rider, desired pickup time and/or other factors. In either situation, the vehicle(s) may provide indication to people in the nearby area that it is previously engaged/not for hire (except to the assigned rider). This may be done using visual indicia (e.g., signage) or other means.
As shown in
Although the client computing devices may each comprise a full-sized personal computing device, they may alternatively comprise mobile computing devices capable of wirelessly exchanging data with a server over a network such as the Internet. By way of example only, client computing devices 906 and 908 may be mobile phones or devices such as a wireless-enabled PDA, a tablet PC, a wearable computing device (e.g., a smartwatch, smart glasses or smart clothing), or a netbook that is capable of obtaining information via the Internet or other networks.
In some examples, client computing device 904 may be a remote assistance workstation used by an administrator or operator to communicate with riders of dispatched vehicles, or users awaiting pickup. Although only a single remote assistance workstation 904 is shown in
Storage system 910 can be of any type of computerized storage capable of storing information accessible by the server computing devices 902, such as a hard-drive, memory card, ROM, RAM, DVD, CD-ROM, flash drive and/or tape drive. In addition, storage system 1510 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 910 may be connected to the computing devices via the network 912 as shown in
In a situation where there are one or more riders, the vehicle or remote assistance may communicate directly or indirectly with the rider client computing device(s). Here, for example, information may be provided to the riders regarding current driving operations, changes to the route in response to the current situation (e.g., traffic), pickup and/or drop off locations with or without indicating a level of uncertainty or variability in the locations, etc. As explained above, information may be passed from the vehicle to the rider or other user. For instance, when the user is awaiting pickup, the vehicle may send pickup information via network 912. However, when the vehicle arrives at the pickup location or the user enters the vehicle, the vehicle may communicate directly with the user's device, e.g., via a Bluetooth™ or NFC communication link.
Finally, as noted above, the technology is applicable for various types of vehicles, including passenger cars, buses, RVs, delivery trucks or other cargo vehicles, emergency vehicles, construction vehicles, etc.
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. The processes or other operations may be performed in a different order or simultaneously, unless expressly indicated otherwise herein.