Methods for implementing content playback in autonomous vehicles
Through the computing system, receive user requests, allocate vehicles and send device identifiers in autonomous vehicle transportation services, the problem of frequent users' pairing is solved, seamless content playback and improved user experience is achieved.
Patent Information
- Application Number
- CN202111477193.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-09-07
- Filing Date
- 2021-12-06
- Publication Date
- 2025-04-29
- Estimated Expiration
- 2041-12-06
AI Technical Summary
In autonomous vehicle transportation services, users need to frequently pair client computing devices with autonomous vehicles, which makes the pairing process time-consuming and may not be possible without WiFi network, and there are security risks.
The computing system receives the user's request, assigns the autonomous vehicle, and determines whether the user has enabled the content feature. In response to the user's enabled feature, the computing system sends a device identifier to the autonomous vehicle, allowing the user to play content from the client's computing device during the trip.
It realizes seamless playback of content on autonomous vehicles, avoids time-consuming of the pairing process, ensures improvement of user experience, and reduces security risks through device ID management.
Smart Images

Figure CN114666761B_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims the benefit of the filing date of U.S. Provisional Application No. 63 / 122,160, filed on December 7, 2020, the entire disclosure of which is incorporated herein by reference. Technical Field
[0003] The present application generally relates to enabling content playback in autonomous vehicles for transportation services. Background Art
[0004] Autonomous vehicles (e.g., vehicles that do not require a human driver) can be used to assist in transporting passengers or items from one location to another. Such autonomous vehicles can operate in a fully autonomous mode, in which a passenger can provide some initial input (such as a pickup or destination location) and the autonomous vehicle will maneuver itself to that location. Thus, such autonomous vehicles can be used to provide transportation services, for example, for transporting goods or people.
[0005] Various systems enable playing music and other content via a network by creating a direct connection between some computing devices and other devices (such as speakers, televisions, etc.). For example, systems such as Google's CAST enable connection between a user's mobile phone and a television, projector, speaker, or other device, and Apple's CARPLAY enables connection between a user's mobile phone and a vehicle. However, these connections typically require a direct connection between the phone and the device using Bluetooth, near-field communication, WiFi, or other communication protocols. In addition, these connections may also require direct authentication between the phone and the device using pairing or other processes. Summary of the invention
[0006] Aspects of the present disclosure provide a method for enabling playback of content at an autonomous vehicle. The method includes: receiving, by a computing system having one or more processors, a request from a client computing device to transport a user on a trip; assigning, by the computing system, an autonomous vehicle to the trip; determining, by the computing system, whether the user has enabled a content feature; in response to determining that the user has enabled the content feature, sending, by the computing system, a request for a device identifier to the assigned autonomous vehicle; receiving, by the computing system, a device identifier generated at the assigned autonomous vehicle; and sending, by the computing system, the device identifier to a content enabling computing system including one or more processors, so as to enable the user to play content from the client computing device at the assigned autonomous vehicle during the trip.
[0007] In one example, the method further includes sending the user's credentials to the content enabling computing system to enable the user to play content from the client computing device at the assigned autonomous vehicle during the trip. In this example, the method further includes receiving the credentials from the application of the client computing device before receiving the request for the trip. In another example, the method further includes receiving a signal from the application of the client computing device indicating that the user has enabled the content feature, and saving the indication in a storage device along with the user's account information. In this example, determining whether the user has enabled the content feature includes accessing the account information in the storage device. In another example, the method further includes receiving a signal indicating that the client computing device has been authenticated by one or more computing devices of the autonomous vehicle, and wherein the device identifier is sent in response to receiving the signal. In another example, the method further includes receiving a signal indicating that a door of the autonomous vehicle has been opened, and wherein the device identifier is sent in response to receiving the signal. In another example, the method further includes receiving a first signal indicating that the autonomous vehicle has arrived at the destination of the trip, and in response to receiving the first signal, sending a second signal to the content enabling computing system requesting to remove the device identifier from the user's account, thereby preventing the user from being able to play content at the assigned autonomous vehicle. In another example, the method further includes, after sending the device identifier and during the trip: receiving a new device identifier from the assigned autonomous vehicle, and sending, by the computing system, the new device identifier to the content enabling computing system to enable the user to play content from the client computing device at the assigned autonomous vehicle during the trip. In another example, playing content from the client computing device at the assigned autonomous vehicle during the trip is accomplished without requiring a direct communication link between the client computing device and the assigned autonomous vehicle.
[0008] Another aspect of the present disclosure provides a method for enabling playback of content at an autonomous vehicle. The method includes: receiving, by a computing system having one or more processors, a request from a client computing device to transport a user in a trip; assigning, by the computing system, an autonomous vehicle to the trip; determining, by the computing system, whether the user has enabled a content feature; in response to determining that the user has enabled the content feature, identifying, by the computing system, a device identifier of the assigned autonomous vehicle; sending, by the computing system, the device identifier to the client computing device; establishing, by the computing system, a communication link with the assigned autonomous vehicle; and relaying, by the computing system, content received from the client computing device to a computing device of the assigned autonomous vehicle using the communication link.
[0009] In one example, the method further includes: receiving a signal from an application of the client computing device indicating that the user has enabled the content feature, and saving the indication in a storage device along with the user's account information. In this example, determining whether the user has enabled the content feature includes accessing the account information in the storage device. In another example, the method further includes: receiving a first signal indicating that the autonomous vehicle has arrived at a destination of the trip, and in response to receiving the first signal, removing the device identifier from the user's account, thereby preventing the user from being able to play the content at the assigned autonomous vehicle. In another example, the method further includes, after relaying the content and during the trip: receiving a new device identifier from the assigned autonomous vehicle, and sending the new device identifier by the computing system to the client computing device so as to enable the user to play the content from the client computing device at the assigned autonomous vehicle during the trip. In another example, playing the content from the client computing device at the assigned autonomous vehicle during the trip is achieved without requiring a direct communication link between the client computing device and the assigned autonomous vehicle. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] Figure 1 is a functional diagram of an example autonomous vehicle in accordance with an exemplary embodiment.
[0011] Figure 2 are example exterior views of an autonomous vehicle according to aspects of the present disclosure.
[0012] Figure 3 is a visual diagram of an example system according to aspects of the present disclosure.
[0013] Figure 4 According to various aspects of the present disclosure Figure 3 Functional diagram of the system.
[0014] Figure 5 are examples of options on a client computing device and display according to aspects of the present disclosure.
[0015] Figure 6 is an example of a client computing device and a device list on a display according to aspects of the present disclosure.
[0016] Figure 7 is an example flow chart according to aspects of the present disclosure.
[0017] Figure 8 is an example flow chart according to aspects of the present disclosure. DETAILED DESCRIPTION
[0018] Overview
[0019] The present disclosure relates to playing content in autonomous vehicles that implement transportation services. As described above, various systems implement playing music and other content via a network by directly creating connections between some computing devices and other devices (such as speakers, televisions, etc.). Typically, these connections may also require direct authentication between the phone and the device using pairing or other processes. However, for autonomous vehicle transportation services (wherein a user can be assigned to a new autonomous vehicle each time the user requests a trip), pairing the user's client computing device with each new autonomous vehicle is time-consuming and frustrating for the user, and it may not even be possible if the autonomous vehicle does not have a WiFi network available to connect the user's client computing device. In addition, the client computing device may save details of the connection that may cause security issues.
[0020] To enable a user to play content at or in an autonomous vehicle and request transportation for a trip, the user may download one or more applications to a client computing device. The one or more applications may include a first application for requesting a trip in an autonomous vehicle and a second application for playing content in the autonomous vehicle.
[0021] The user may establish a transportation account with the first application by creating credentials that the transportation computing system may use to authenticate the user's client computing device. The first application may provide the user with an option to opt-in to a content feature to play content in the autonomous vehicle. The user may also establish a content-enabled account with the second application by creating credentials that the content-enabled computing system may use to authenticate the user's client computing device.
[0022] The user can then use his or her client computing device to access the first application and request an autonomous vehicle for a trip to a destination. The user can use the client computing device to send a request for an autonomous vehicle to the transportation computing system. In response, the transportation computing system can create a trip identifier for the trip and can assign an autonomous vehicle. The transportation computing system can also send scheduling instructions for the user's trip to the autonomous vehicle, including a pickup location, an intermediate destination, and a final destination.
[0023] The transportation computing system may also check to determine if the content feature has been enabled for the passenger. If the passenger's transportation account indicates that the passenger has opted in to play the content, the transportation computing system may send a signal to the computing device of the assigned autonomous vehicle requesting a device identifier or device ID to enable playback of the content at the assigned vehicle.
[0024] The computing device of the assigned autonomous vehicle may receive the request and automatically generate a device ID locally at the assigned autonomous vehicle. Once generated, the computing device may send the device ID to the transportation computing system. The transportation computing system may receive the device ID and associate it with the passenger's transportation account and the assigned autonomous vehicle. In addition, the transportation computing system may retrieve the passenger's credentials for accessing the content-enabled account.
[0025] The transportation computing system may send the device ID, the passenger's credentials for accessing the content-enabled account, and information for communicating with the assigned autonomous vehicle to the content-enabled computing system. The content-enabled computing system may receive the device ID, the passenger's credentials for accessing the content-enabled account, and information for communicating with the assigned autonomous vehicle. In response, the content-enabled computing system may associate the device ID with the passenger's content-enabled account.
[0026] Once the passenger accesses the second application, the second application may communicate with the content enabling computing system. In response, the content enabling computing system may provide the passenger's client computing device with a list of devices that the passenger can use to play the content. The passenger may then select the device corresponding to the assigned autonomous vehicle. In response, the second application may send a signal to the content enabling system providing the device ID of the assigned autonomous vehicle.
[0027] The content-enabled computing system may receive the device ID and establish a communication link with the computing device using information for communicating with the assigned autonomous vehicle associated with the device ID. Thereafter, the passenger may select content to be played at the assigned autonomous vehicle, and the content may be sent from the client computing device to the content-enabled computing system. The content-enabled computing system may receive the content and relay it to the computing device via the communication link. The computing device of the autonomous vehicle may then play the received content at the assigned autonomous vehicle. At this point, there is no direct communication between the client computing device and the computing device of the assigned autonomous vehicle. Instead, all information is relayed via the content-enabled computing system, and the passenger is able to play content at the assigned autonomous vehicle without having to pair the passenger's client computing device with the vehicle and / or use the vehicle's local WiFi or other network.
[0028] Once the assigned autonomous vehicle has arrived at the destination location, the computing device may send a signal to the transportation computing system via the network indicating that the destination has been reached and / or the trip has been completed. In response to receiving the signal, the transportation computing system may send a request to the content enabling computing system to disassociate or remove the device ID of the assigned autonomous vehicle from the passenger's content enabling account. By doing so, the content enabling computing system may effectively prevent the passenger from playing content at the assigned autonomous vehicle.
[0029] In some cases, the computing device of the assigned autonomous vehicle may automatically create a new device ID during the trip. In this case, the computing device may send the new device ID to the transportation computing system. In response, the transportation computing system may send the new device ID, the passenger's credentials for accessing the content-enabled account, and information for communicating with the assigned autonomous vehicle to the content-enabled computing system, and the content-enabled computing system may associate the device ID with the passenger's content-enabled account. At this point, the passenger may again select the assigned autonomous vehicle. In response, the second application may send a signal to the content-enabled computing system providing the new device ID of the assigned autonomous vehicle. Thereafter, a new communication link may be established with the computing device, and the passenger may again begin playing content at the assigned autonomous vehicle.
[0030] Although the above examples describe the transport computing device and the content enablement server computing device as being remote or distinct from each other, these devices may actually be the same physical device and / or may be managed by the same operator (e.g., all managed by the operator of the transport service, rather than by two separate entities). This implementation may work similarly to the example where there are distinct devices, but with some differences.
[0031] Features described herein may enable content playback in an autonomous vehicle. Users may be able to seamlessly connect their client computing devices (e.g., mobile phones) to an autonomous vehicle without having to spend time utilizing a pairing process each time the user is assigned to a new autonomous vehicle. Furthermore, because the device ID is created by the autonomous vehicle and managed at the content enabling computing system and / or the transportation computing system, the process appears seamless to the user and prevents the user from being able to play content in the autonomous vehicle once the user's trip with the autonomous vehicle ends. Furthermore, if the autonomous vehicle creates a new device ID during the trip, the new device ID is automatically updated at the content enabling computing system and / or the transportation computing system to create a new communication with the user's client computing device without the user having to troubleshoot the connection to the autonomous vehicle.
[0032] Example System
[0033] like Figure 1 As shown, an autonomous vehicle 100 according to one aspect of the present disclosure includes various components. Although certain aspects of the present disclosure are particularly useful in conjunction with specific types of vehicles, the autonomous vehicle can be any type of vehicle, including but not limited to cars, trucks, motorcycles, buses, recreational vehicles, etc. The autonomous vehicle can have one or more computing devices, such as a computing device 110 that includes one or more processors 120, memory 130, and other components typically found in a general-purpose computing device.
[0034] The memory 130 stores information accessible by one or more processors 120, including instructions 134 and data 132 that can be executed or otherwise used by the processor 120. The memory 130 can be of any type capable of storing information accessible by the processor, including computing device readable media, or other media that stores data that can be read by electronic devices, such as hard drives, memory cards, ROM, RAM, DVD or other optical disks, and other writable and read-only memories. The 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.
[0035] Instructions 134 may be any set of instructions to be executed directly (such as machine code) or indirectly (such as a script) by a processor. For example, instructions may be stored as computing device code on a computing device readable medium. In this regard, the terms "instructions" and "programs" may be used interchangeably herein. Instructions may be stored in an object code format for direct processing by a processor, or in any other computing device language (including scripts or a collection of independent source code modules that are interpreted on demand or pre-compiled). The functions, methods, and routines of instructions are explained in more detail below.
[0036] Data 132 may be retrieved, stored, or modified by processor 120 according to instructions 134. For example, data may be stored in a computing device register, in a relational database as a table with multiple different fields and records, in an XML document, or in a flat file, although the claimed subject matter is not limited to any particular data structure. The data may also be formatted in any format readable by a computing device.
[0037] The one or more processors 120 may be any conventional processor, such as a commercially available CPU or GPU. Alternatively, the one or more processors may be a dedicated device, such as an ASIC or other hardware-based processor. Figure 1 The processor, memory, and other elements of computing device 110 are functionally shown within the same box, but one of ordinary skill in the art will appreciate that a 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, the memory may be a hard drive or other storage medium located in a housing that is different from the housing of computing device 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.
[0038] Computing device 110 may include all components typically used in conjunction with a computing device, such as a processor and memory as described above, as well as user input 150 (e.g., one or more buttons, a mouse, a keyboard, a touch screen, and / or a microphone), various electronic displays (e.g., a monitor with a screen or any other electronic device operable to display information), and speakers 154 to provide information as needed to passengers of autonomous vehicle 100 or others. For example, electronic display 152 may be located within the cabin of autonomous vehicle 100 and may be used by computing device 110 to provide information to passengers within autonomous vehicle 100.
[0039] The computing device 110 may also include one or more wireless network connections 156 to facilitate communication with other computing devices, such as client computing devices and server computing devices described in detail below. Wireless network connections may include short-range communication protocols such as Bluetooth, Bluetooth Low Energy (LE), cellular connections, and various configurations and protocols, including the Internet, the World Wide Web, an intranet, a virtual private network, a wide area network, a local area network, a private network using one or more company-proprietary communication protocols, Ethernet, WiFi, and HTTP, as well as various combinations of the foregoing.
[0040] Computing device 110 may be part of an autonomous control system of autonomous vehicle 100 and may be capable of communicating with various components of the autonomous vehicle in order to control the autonomous vehicle in an autonomous driving mode. Figure 1 , computing device 110 may communicate with various systems of autonomous vehicle 100 (such as deceleration system 160, acceleration system 162, steering system 164, routing system 166, planning system 168, positioning system 170, and perception system 172) to control movement, speed, etc. of autonomous vehicle 100 according to instructions 134 of memory 130 in an autonomous driving mode.
[0041] As an example, computing device 110 may interact with deceleration system 160 and acceleration system 162 to control the speed of the autonomous vehicle. Similarly, computing device 110 may use steering system 164 to control the direction of autonomous vehicle 100. For example, if autonomous vehicle 100 is configured for use on a road, such as a car or truck, the steering system may include components for controlling the angle of the wheels to turn the autonomous vehicle. Computing device 110 may also use a signaling system to signal the intention of the autonomous vehicle to other drivers or vehicles, for example, by activating turn lights or brake lights when necessary.
[0042] The computing device 110 may use the routing system 166 to generate a route to a destination. The computing device 110 may use the planning system 168 to follow a route. In this regard, the planning system 168 and / or the routing system 166 may store detailed map information, such as a highly detailed map identifying a road network, including the shape and height of roads, lane lines, intersections, crosswalks, speed limits, traffic signals, buildings, signs, real-time traffic information, pull-overs, vegetation, or other such objects and information.
[0043] The route selection system 166 can use the map information to determine a route from a current location (e.g., the location of the current node) to a destination. The route can be generated using a cost-based analysis that attempts to select a route to the destination with the lowest cost. The cost can be evaluated in any number of ways, such as time to the destination, distance to travel (each edge can be associated with a cost to traverse the edge), type of maneuver required, convenience to passengers or autonomous vehicles, etc. Each route can include a list of multiple nodes and edges that the autonomous vehicle can use to reach the destination. As the autonomous vehicle travels toward the destination, the route can be recalculated periodically.
[0044] Computing device 110 may use positioning system 170 to determine the relative or absolute position of the autonomous vehicle on a map or on the earth. For example, positioning system 170 may include a GPS receiver to determine the latitude, longitude, and / or altitude position of the device. Other location systems (such as laser-based positioning systems, inertial assisted GPS, or camera-based positioning) may also be used to identify the location of the autonomous vehicle. The location of the autonomous vehicle may include an absolute geographic location (such as latitude, longitude, and altitude), the location of a node or edge of a road map, and relative location information (such as relative to the location of other cars in its immediate surroundings), which can typically be determined with less noise than the absolute geographic location.
[0045] The positioning system 170 may also include other devices (such as accelerometers, gyroscopes, or another direction / speed detection device) that communicate with the computing device 110 to determine the direction and speed of the autonomous 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 to the direction of gravity. The device may also track increases or decreases in speed and the direction of such changes. The provision of position and orientation data by the device described herein may be automatically provided to the computing device 110, other computing devices, and combinations of the foregoing.
[0046] Perception system 172 also includes one or more components for detecting objects external to the autonomous vehicle, such as other vehicles, obstacles in the road, traffic signals, signs, trees, etc. For example, perception system 172 may include lasers, sonar, radar, cameras, and / or any other detection device that records data that can be processed by computing devices of computing device 110. In the case where the autonomous vehicle is a passenger vehicle such as a minivan, the minivan may include lasers or other sensors mounted on the roof or other convenient location. For example, Figure 2 310 . In this example, the roof housing 310 and the dome housing 312 may include LIDAR sensors and various cameras and radar units. In addition, the housing 320 located at the front end of the autonomous vehicle 100 and the housings 330 , 332 on the driver and passenger sides of the autonomous vehicle may each store a LIDAR sensor. For example, the housing 330 is located in front of the driver's door 360 . The autonomous vehicle 100 also includes housings 340 , 342 for radar units and / or cameras that are also located on the roof of the autonomous vehicle 100 . Additional radar units and cameras (not shown) may be located at the front and rear ends of the autonomous vehicle 100 and / or at other locations along the roof or roof housing 310 .
[0047] Computing device 110 may be able to communicate with various components of autonomous vehicle 100 to control the movement of autonomous vehicle 100 according to host vehicle control code stored in the memory of computing device 110. For example, returning to Figure 1 , computing device 110 may include various computing devices that communicate with various systems of autonomous vehicle 100 (such as deceleration system 160, acceleration system 162, steering system 164, route selection system 166, planning system 168, positioning system 170, perception system 172 and power system 174 (i.e., the engine or motor of the autonomous vehicle)) to control the movement, speed, etc. of autonomous vehicle 100 according to instructions 134 of memory 130.
[0048] Various systems of the autonomous vehicle can be operated using the autonomous vehicle control software to determine how to control the autonomous vehicle and control the autonomous vehicle. As an example, the perception system software module of the perception system 172 can use sensor data generated by one or more sensors of the autonomous vehicle (such as cameras, LIDAR sensors, radar units, sonar units, etc.) to detect and identify objects and their characteristics. These characteristics may include position, type, heading, orientation, speed, acceleration, acceleration change, size, shape, etc. In some cases, the characteristics can be input into a behavior prediction system software module, which uses various behavior models based on object types to output the predicted future behavior of the detected object. In other cases, the characteristics can be placed in one or more detection system software modules, such as a traffic light detection system software module configured to detect the state of a known traffic signal, a construction zone detection system software module configured to detect a construction zone from sensor data generated by one or more sensors of the autonomous vehicle, and an emergency vehicle detection system software module configured to detect an emergency vehicle from sensor data generated by sensors of the autonomous vehicle. Each of these detection system software modules can use various models to output the possibility that a construction zone or object is an emergency vehicle. Detected objects, predicted future behaviors, various possibilities from the detection system software module, map information identifying the environment of the autonomous vehicle, positioning information from the positioning system 170 identifying the position and orientation of the autonomous vehicle, the destination location or node of the autonomous vehicle, and feedback from various other systems of the autonomous vehicle can be input into the planning system software module of the planning system 168. The planning system 168 can use this input to generate a trajectory for the autonomous vehicle to follow in a short period of time in the future based on the route generated by the route selection module of the route selection system 166. In this regard, the trajectory can define specific characteristics such as acceleration, deceleration, speed, etc. to allow the autonomous vehicle to follow a route towards reaching the destination. The control system software module of the computing device 110 can be configured to control the movement of the autonomous vehicle, such as by controlling the braking, acceleration, and steering of the autonomous vehicle, so as to follow the trajectory.
[0049] The computing device 110 can control the autonomous vehicle in an autonomous driving mode by controlling various components. For example, by way of example, the computing device 110 can use data from the detailed map information and planning system 168 to fully autonomously navigate the autonomous vehicle to the destination location. The computing device 110 can use the positioning system 170 to determine the location of the autonomous vehicle, and use the perception system 172 to detect objects and respond to objects when necessary to safely reach the location. Similarly, to do this, the computing device 110 and / or the planning system 168 can generate trajectories and cause the autonomous vehicle to follow these trajectories, for example, by accelerating the autonomous vehicle (e.g., by supplying fuel or other energy to the engine or power system 174 by the acceleration system 162), decelerating (e.g., by reducing the fuel supplied to the engine or power system 174, changing gears and / or by applying brakes by the deceleration system 160), changing direction (e.g., by turning the front wheels or rear wheels of the autonomous vehicle 100 by the steering system 164) and signaling such changes (e.g., by illuminating a turn signal). Thus, acceleration system 162 and deceleration system 160 may be part of a powertrain system that includes various components between the engine of the autonomous vehicle and the wheels of the autonomous vehicle. Likewise, by controlling these systems, computing device 110 may also control the powertrain system of the autonomous vehicle in order to autonomously maneuver the autonomous vehicle.
[0050] Computing device 110 of autonomous vehicle 100 may also receive information from or transmit information to other computing devices, such as those computing devices that are part of the transportation service and other computing devices. Figure 3 and Figure 4 4 and 450, respectively, are a schematic diagram and a functional diagram of an example system 400 that includes multiple computing devices 410, 420, 430, 440 and a storage system 450 connected via a network 460. System 400 also includes autonomous vehicle 100A and autonomous vehicle 100B, which may be configured the same as or similar to autonomous vehicle 100. Although only a few vehicles and computing devices are depicted for simplicity, a typical system may include significantly more vehicles and computing devices.
[0051] like Figure 4 As shown, each of computing devices 410, 420, 430, 440 may include one or more processors, memory, data, and instructions. These processors, memory, data, and instructions may be configured similarly to one or more processors 120, memory 130, data 132, and instructions 134 of computing device 110.
[0052] The network 460 and the intermediate graph nodes may include a variety of configurations and protocols, including short-range communication protocols, (such as Bluetooth, Bluetooth LE), the Internet, the World Wide Web, an intranet, a virtual private network, a wide area network, a local area network, a private network using one or more company-proprietary communication protocols, 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.
[0053] In one example, one or more computing devices 410 may include one or more server computing devices (e.g., a load balancing server cluster) having multiple computing devices that exchange information with different nodes of a network for the purpose of receiving data from other computing devices, processing data, and transmitting data to other computing devices. For example, one or more computing devices 410 may include one or more server computing devices capable of communicating with computing device 110 of autonomous vehicle 100 or similar computing devices of autonomous vehicle 100A or autonomous vehicle 100B and computing devices 420, 430, 440 via network 460. For example, autonomous vehicles 100, 100A, 100B may be part of a fleet that can be dispatched to various locations by server computing devices. In this regard, server computing device 410 (hereinafter referred to as transportation computing system 410) may be used as a transportation computing system that may be used to dispatch vehicles such as autonomous vehicles 100, 100A, 100B to different locations to pick up and drop off passengers, as well as to generate and track reconnaissance missions and targets, as discussed further below. Additionally, transportation computing system 410 may transmit and present information to users, such as users 422, 432, on displays, such as displays 424, 434 of computing devices 420, 430, using network 460. In this regard, computing devices 420, 430 may be considered client computing devices.
[0054] The transportation computing system 410 can be configured to select a vehicle for a ride or transportation service depending on the location of the autonomous vehicle, passengers and / or merchandise (e.g., cargo), a destination, etc. This information (including the location of the autonomous vehicle, the status of the passengers and / or merchandise, the destination, etc.) can be tracked, for example, in a state table of the storage system 450. In this regard, all or part of the storage system 450 can be remote from the transportation computing system 410 or as part of the transportation computing system 410. The transportation computing system 410 can also track the status of the autonomous vehicle using information periodically broadcast by the autonomous vehicle (particularly information requested by the transportation computing system 410 and provided by the autonomous vehicle), or using other methods of tracking the status of a fleet of autonomous vehicles. The periodically broadcast information can include messages that provide all the status information of a given vehicle. For example, the status message can be self-consistent and generated based on rules for packaging messages from various systems of the autonomous vehicle. As an example, the message can include vehicle posture, lane information (i.e., which lane the autonomous vehicle is currently traveling in), and other information, such as whether the autonomous vehicle is currently providing transportation services, experiencing any errors or problems, and the like.
[0055] Other computing systems, such as server computing device 440, may also be configured to communicate with transportation computing system 410. Server computing device 440 may be used as a content-enabled computing system (hereinafter referred to as content-enabled computing system 440) that enables content from a client computing device to be played at a vehicle. For example, the content-enabled computing system may be managed and / or operated by a third party and / or a transportation service. The content-enabled computing system may send and receive information with transportation computing system 410 and autonomous vehicle 100 (and autonomous vehicles 100A, 100B) via network 460, as discussed further below. Content-enabled computing system 440 may track device IDs and facilitate connections between client computing devices and autonomous vehicles to enable playback of content from client computing devices at autonomous vehicles. For example, device ID information may be tracked in a state table, database, or other storage method of storage system 450 and / or another storage system.
[0056] like Figure 4As shown, each client computing device 420, 430 can be a personal computing device intended for use by a user 422, 432, and has all components commonly used in conjunction with a personal computing device, including one or more processors (e.g., a central processing unit (CPU)), memory (e.g., RAM and an internal hard drive) to store data and instructions, a display such as a display 424, 434 (e.g., a monitor with a screen, a touch screen, a projector, a television, or other device operable to display information), and a user input device 426, 436 (e.g., a mouse, keyboard, touch screen, or microphone). The client computing device may also include a camera for recording a video stream, a speaker, a network interface device, and all components for connecting these elements to each other.
[0057] Although client computing devices 420, 430 may each comprise a full-size personal computing device, they may alternatively comprise a mobile computing device capable of wirelessly exchanging data with a server over a network such as the Internet. By way of example only, client computing device 420 may be a mobile phone or device such as a wireless-enabled PDA, tablet PC, wearable computing device or system, or netbook capable of obtaining information via the Internet or other network. In another example, client computing device 430 may be a wearable computing system, shown as Figure 4 In some examples, a passenger of an autonomous vehicle may use client computing devices 420, 430. In other words, users 422, 432 may represent users or passengers of a transportation service. As examples, a user may input information using a keypad, a keyboard, a microphone, using visual signals using a camera, or a touch screen. Although in Figure 3 and Figure 4 Only a few users are shown in FIG. 1 , but any number of such users may be included in a typical system.
[0058] As with memory 130, storage system 450 may be any type of computerized storage device capable of storing information accessible by transportation computing system 410, such as a hard drive, memory card, ROM, RAM, DVD, CD-ROM, writable memory, and read-only memory. In addition, storage system 450 may include a distributed storage system in which data is stored on multiple different storage devices that may be physically located in the same or different geographic locations. Figure 3 and Figure 4 As shown, storage system 450 may be connected to the computing device via network 460 and / or may be directly connected to or incorporated into any of computing devices 110, 410, 420, 430, 440, etc.
[0059] The storage system 450 may store various types of information, as described in more detail below, including device identifiers, account information, etc. This information may be retrieved or otherwise accessed by a server computing device, such as one or more server computing devices for the transportation computing system 410 and / or the content enabling computing device 440, in order to perform some or all of the features described herein.
[0060] Example Method
[0061] In addition to the operations described above and shown in the accompanying drawings, various operations will now be described. It should be understood that the following operations do not have to be performed in the exact order described below. Instead, various steps can be processed in a different order or simultaneously, and steps can also be added or omitted.
[0062] Figure 7 700 is an example flow chart for implementing playback of content at an autonomous vehicle that can be executed by a processor of a computing system, such as a transportation computing system 410. Turning to box 710, a request for a user to be transported on a trip is received from a client computing device. In order to enable the user to play content at the autonomous vehicle and request transportation for the trip, the user can download one or more applications to the client computing device. The one or more applications may include a first application for requesting a trip in an autonomous vehicle and a second application for playing content in an autonomous vehicle. Although the examples described herein involve utilizing different applications, the first application and the second application may be a single application that enables both scheduling a trip and playing content. To download one or more applications, users 422 and 432 may download one or more applications to client computing devices 420 and 430 via a link in an email, directly from a website or an application store. Client computing device 420 may transmit a request for an application to, for example, transportation computing system 410 and / or content enabling computing system 440 over a network, and in response, receive one or more applications. One or more applications may be installed locally at the client computing device.
[0063] The user may establish a transportation account with the first application by creating a client computing device and / or credentials that the transportation computing system may use to authenticate the user. For example, the user may enter a user name (such as an email address) and a password, and the application may send the user name and password to the transportation computing system. The transportation computing system may create an account for the user and save the information, for example, in the storage system 450.
[0064] The first application may provide the user with an option to opt-in to a content feature to play content in the autonomous vehicle. For example, Figure 5An example of an option 510 displayed on a display 424 of a client computing device 420 is depicted. In this example, the option is depicted as a toggle switch that can be toggled back and forth by tapping the display 424 at the location of the option 510, but other selection modes, such as radio buttons, etc., can also be used. Selecting the option 510 can cause the application to send a notification to the transportation computing system indicating whether the user has opted in to play content in the autonomous vehicle. The transportation computing system can save an indication of whether the user has opted in to play content in the autonomous vehicle using the user's transportation account in the storage system 450.
[0065] The user may also establish a content-enabled account with a second application by creating a client computing device and / or credentials that the content-enabled computing system may use to authenticate the user. For example, the user may enter a user name (such as an email address) and a password, which the application may send to the transportation computing system to create an account. The transportation computing system may create an account for the user and save the information, for example, in storage system 450.
[0066] For ease of use, the user may be required to use the same credentials to access both services, such as a shipping account and a content-enabled account may use the same credentials. In this regard, the user may only need to create a single account for both computing systems. Alternatively, when selecting an opt-in content feature, the user may be required to provide credentials for accessing a content-enabled account. For example, the user may enter the credentials into an application, which may send the credentials to the shipping computing system. The shipping computing system may access the user's account and save the information in, for example, a storage system 450. In some cases, the shipping computing system may send the credentials to the content-enabled computing system 440 to confirm that the credentials are correct. If not, the shipping computing system may send a notification to the client computing device indicating that the credentials are incorrect.
[0067] The user can then use his or her client computing device to access the first application and request an autonomous vehicle for a trip to the destination. As an example, a user such as user 422 can use client computing device 420 to send a request for an autonomous vehicle to transportation computing system 410. This can involve sending credentials for the user's transportation account to transportation computing system 410 (although these credentials can be stored locally at client computing device 420 for faster access) for authentication purposes. In addition, the user can identify a pick-up location, an intermediate destination location, and / or an intermediate drop-off location, as well as a destination location and / or a drop-off location. In this regard, the drop-off location can be a physically different location from the destination location.
[0068] The user or passenger may specify the pick-up location, intermediate destination location, and final destination location in a variety of ways. As an example, the pick-up location may default to the current location of the passenger's client computing device, but may also be a recent or saved location near the current location associated with the passenger's account. The passenger may enter an address or other location information, click on a location on a map, or select a location from a list to identify the pick-up location and / or destination location. For example, the client computing device 420 may send its current location, such as a GPS location and / or a destination name or address of any intermediate and final destinations, to the transportation computing system 410 via the network 460. In response, the transportation computing system 410 may provide one or more suggested locations, or may identify the current location as a pick-up location, and identify a location corresponding to a destination name or address as an intermediate or final destination for the autonomous vehicle.
[0069] Back to Figure 7 , at block 720, an autonomous vehicle is assigned to the trip. Once user 422 (now passenger 422) has selected or confirmed a pickup location and a destination location, transportation computing system 410 may create a trip identifier or trip ID for passenger 422's trip. Additionally, transportation computing system 410 may assign an autonomous vehicle, such as autonomous vehicle 100, to passenger 422 and the trip ID. This may involve associating the vehicle ID of the assigned autonomous vehicle 100 with the trip ID and the account of passenger 422. All of this information and associations may be tracked by the transportation computing system and stored in storage system 450.
[0070] The transportation computing system may also send dispatch instructions for the user's trip to the autonomous vehicle, including the pick-up location, intermediate destinations, and final destination. This may cause the autonomous vehicle to control itself in an autonomous driving mode toward the pick-up location, such as by using the various systems of the autonomous vehicle as described above, in order to complete the trip.
[0071] The transportation computing system may also send information to enable the computing device 110 to authenticate the passenger's client computing device, such as a credential for the trip, a unique token, etc. The transportation computing system may also send the user's client computing device information to enable the passenger's client computing device to authenticate itself to the computing device. In this regard, once the passenger and vehicle are close to the pick-up location, such as within a range of 50 meters or more or less, the client computing device and computing device 110 via the first application will attempt to complete authentication, such as via Bluetooth or other communication protocols. Once authentication is complete, computing device 110 may unlock one or more vehicle doors, such as door 360, to allow the passenger to open the door and enter the vehicle.
[0072] At block 730, a determination is made as to whether the user has enabled the content feature. Transportation computing system 410 may also perform a check to determine whether the content feature has been enabled for passenger 422. In addition to the above, transportation computing system 410 may also access storage system 450 to determine whether passenger 422's transportation account indicates that the passenger has opted in to playing content at the assigned autonomous vehicle. If not, transportation computing system 410 will take no further action at this point.
[0073] At block 740, in response to determining that the user has enabled the content feature, a request for a device identifier is sent to the assigned autonomous vehicle. If the account of passenger 422 indicates that the passenger has opted in to playing the content, transportation computing system 410 can send a signal requesting a device identifier or device ID to computing device 110 of assigned autonomous vehicle 100, such as via network 460, to enable playing of the content at the assigned vehicle.
[0074] The computing device 110 of the assigned autonomous vehicle 100 may receive the request and automatically generate a device ID locally at the assigned autonomous vehicle 100. In this regard, the memory 130 may store instructions for generating a new device ID. These instructions may be standard instructions provided by the operator of the content-enabled computing system for generating a device ID. The computing device 110 may also store the device ID locally.
[0075] Once generated, computing device 110 may send the device ID to shipping computing system 410. In addition, computing device 110 may establish a communication link with content enabling computing system 440 using, for example, a standard communication protocol such as Transmission Control Protocol / Internet Protocol (TCP / IP). Computing device 110 may also provide the device ID to content enabling computing system 440. In some cases, content enabling computing system 440 may determine whether the device ID is associated with any user's content enabling account. If not, content enabling computing system 440 may maintain the communication link, but may not send any content to computing device 110.
[0076] The device ID may be a globally unique value. For example, the device ID may be a combination of a vehicle ID (or something specific to a vehicle, such as a vehicle identification number (VIN), a license plate number, etc.) and a date and current time. For example, this information may be used to seed a random number generator to create the device ID. Additionally, once the device ID is created, the vehicle and / or transportation computing system 410 may send it to the content enabling computing system 440 to confirm that the device ID is unique and has not been used. If it is already in use, the content enabling computing system 440 and / or the server computing device 440 may notify the vehicle and / or server computing device 440 that the device ID is invalid, so that the vehicle may, for example, generate a new device ID using the now updated current date and time as a seed in the random number generator.
[0077] At block 750, a device identifier generated at the autonomous vehicle is received. Transportation computing system 410 may receive the device ID and associate it with the transportation account of passenger 422 and the assigned autonomous vehicle 100. In this regard, the device ID may also be associated with the trip ID of the trip and the vehicle ID of the assigned autonomous vehicle 100. Again, this information and association may be tracked and stored in storage system 450. In addition, transportation computing system 410 may retrieve the credentials of passenger 422 for accessing the content-enabled account (which may be the same as the credentials used to access the transportation account).
[0078] At block 760, the device identifier is sent to a content-enabled computing system including one or more processors to enable the user to play content from the client computing device at the assigned autonomous vehicle during the trip. The transportation computing system 410 may send the device ID and the credentials of the passenger 422 for accessing the content-enabled account to the content-enabled computing system 440. To prevent the passenger from playing content at the vehicle before the passenger has actually entered the vehicle, the transportation computing system 410 may wait to send the device ID to the content-enabled computing system until the transportation computing system 410 has received a signal that the passenger has entered the vehicle. Once the client computing device has been authenticated, the computing device 110 may automatically send a signal to the transportation computing system 410 indicating that the client computing device has been authenticated. Similarly, once the unlocked door of the vehicle 100 has been opened, the computing device 110 may automatically send a signal to the transportation computing system 410 indicating that the unlocked door of the vehicle 100 has been opened. Upon receiving one or both of these signals, the transportation computing system 410 may send the device ID and the credentials of the passenger to the content-enabled computing system 440. In this regard, once the vehicle is assigned to the passenger, a device ID may be generated, but may not be sent to the content-enabled computing system until the passenger's client computing device has been authenticated with the vehicle and the vehicle's doors have been unlocked and / or opened.
[0079] The content enabling computing system 440 may receive the device ID, the credentials for accessing the content enabling account of the passenger 422. In response, the content enabling computing system 440 may associate the device ID with the content enabling account of the passenger 422. This may involve adding the device ID to a list of devices that the passenger 422 may use to play content.
[0080] Once passenger 422 accesses the second application or the music and / or video playing application, the second application or the music and / or video playing application may communicate with content enabling computing system 440. This may include sending the passenger's credentials for user 422's content enabling account (which may be stored locally at client computing device 420). In response, content enabling computing system 440 may provide passenger 422's client computing device with a list of devices that passenger 422 may use to play content. Figure 6 As shown, the second application or music and / or video playing application can display a list 610 of devices that the passenger can use to play content. In this example, list 610 includes an entry for device 620 corresponding to the assigned autonomous vehicle 100 (“My Ride”). At this point, passenger 422 may be able to view the assigned autonomous vehicle 100 as an available device for playing content. Passenger 422 can then select the device corresponding to the assigned autonomous vehicle 100, for example, by tapping display 424 at the location of device 620. In response, the second application or music and / or video playing application can send a signal to content enabling computing system 440 providing the device ID of the assigned autonomous vehicle 100.
[0081] If successful, passenger 422 may select content to be played at assigned autonomous vehicle 100. For example, passenger 422 may use a music and / or video playback application at client computing device 420 and access content, such as music and / or video, stored locally at the client computing device and / or streamed from a third-party streaming service. For example, passenger 422 may play content such as music, audio books, podcasts, live radio streams, movies, television shows, live video streams, and the like. As an example, passenger 422 may do this by tapping an option displayed on display 424 or by using a voice prompt. The music and / or video playback application may communicate with a second application and / or directly with the content-enabled computing system to provide passenger 422 with options for playing content. In this regard, the music and / or video playback application may already include some integration with a second application and / or a service provided by content-enabled computing system 440. In response, the second application and / or the music and / or video playback application may begin sending content to content-enabled computing system 440 via network 460. Content-enabled computing system 440 may receive the content and relay it to computing device 110 via a communication link. Computing device 110 may then play the received content using speakers 154 and / or other devices of the assigned autonomous vehicle 100. In this regard, there is no direct communication between client computing device 420 and computing device 110. Instead, all information is relayed via the content-enabled computing system, and passenger 422 is able to play the content at the assigned autonomous vehicle 100 without having to pair passenger 422's client computing device 420 with the vehicle and / or use the vehicle's local WiFi or other network.
[0082] Furthermore, computing device 110 may cache the received content locally in memory 130 to allow passenger 422 to control the playback of the content by providing the user with the option to pause, play, skip songs, etc. using inputs from display 152 and / or user input 150 for the duration of the trip. Additionally or alternatively, passenger 422 may use a second application to pause, play, skip songs, etc. by tapping an option displayed on display 424 or by using voice prompts. In this regard, the second application may send a corresponding signal to content-enabled computing system 440, which may relay such a signal to computing device 110 via a communication link.
[0083] Once assigned autonomous vehicle 100 has arrived at the destination location, computing device 110 may send a signal to transportation computing system 410 via network 460 indicating that the destination has been reached and / or the trip has been completed. In response to receiving the signal, transportation computing system 410 may send a request to content enabling computing system 440 to detach or remove the device ID of assigned autonomous vehicle 100 from the content enabling account of passenger 422. By doing so, content enabling computing system 440 may effectively prevent passenger 422 from playing content at assigned autonomous vehicle 100. Furthermore, once the signal has been sent, computing device 110 may automatically delete the locally stored device ID and / or replace it with a new device ID for another trip.
[0084] In some cases, computing device 110 may automatically create a new device ID during the trip. This may occur if there is an error in the communication link and / or if computing device 110 is reset, or if the passenger changes vehicles (e.g., if the vehicle breaks down or if a new vehicle is sent while the passenger is waiting at an intermediate destination). In this case, computing device 110 may also store the new device ID to replace the local version of the previous device ID. Once generated, computing device 110 may send the new device ID to transportation computing system 410. In response, transportation computing system 410 may receive the new device ID and associate it with the transportation account of passenger 422 and the assigned autonomous vehicle 100. Similarly, transportation computing system 410 may send the new device ID, passenger 422's credentials for accessing the content-enabled account, and information for communicating with the assigned autonomous vehicle 100 to the content-enabled computing system, and content-enabled computing system 440 may associate the device ID with the content-enabled account of passenger 422. At this point, the passenger 422 may access a second application or music and / or video playback application and see that the assigned autonomous vehicle 100 is available to play the content, as described above with respect to Figure 6 In some cases, a notification may be displayed in the vehicle and / or passenger client computing device letting the passenger know that the communication link has been restored and is available again.
[0085] Passenger 422 may then select the device corresponding to the assigned autonomous vehicle 100, for example, by tapping display 424 at the location of device 620. At this point, passenger 422 may be able to see that the assigned autonomous vehicle 100 is again available as a device for playing content, albeit with a new device ID. Passenger 422 may then select the assigned autonomous vehicle 100. In response, the second application or the music and / or video playing application may send a signal to content enabling computing system 440 providing the new device ID of the assigned autonomous vehicle 100. Thereafter, a new communication link may be established with computing device 110, and passenger 422 may once again begin playing content at the assigned autonomous vehicle 100.
[0086] Although the above examples describe the shipping computing device and the content enablement server computing device as being remote or distinct from each other, these devices may actually be the same physical device and / or may be managed by the same operator (e.g., all managed by the operator of the shipping service rather than as two separate entities). Figure 8 is an example flowchart 800 for implementing playback of content at an autonomous vehicle that may be executed by a processor of a computing system, such as the transportation computing system 410. Proceeding to block 810, a request is received from a client computing device to transport a user on a trip, and at block 820, an autonomous vehicle is assigned to the trip. At block 830, a determination is made as to whether the user has enabled a content feature. At block 840, in response to determining that the user has enabled the content feature, a device identifier may be identified. For example, a request for a device ID may be sent to the autonomous vehicle, and a device ID may be generated at the assigned autonomous vehicle and then sent to and received by the transportation computing system. In this regard, each of the operations of blocks 810-830 and 840 may be performed as described above with respect to Figure 7 Alternatively, the device ID may be generated by the transportation computing system, or may simply be the assigned vehicle ID of the autonomous vehicle or another predetermined identifier that the transportation computing system 410 may access, for example, in the storage system 450 .
[0087] At block 850, the device identifier is sent to the client computing device. At this point, transportation computing device 410 will recognize and / or receive the device ID generated by the assigned autonomous vehicle 100, and transportation computing device 410 may send the device ID to the client computing device 420 of passenger 422 and may also associate the device ID with the transportation account of passenger 422, rather than forwarding the device ID to content enabling computing system 440 (which would no longer be required). At this point, passenger 422 may access the first application (as the second application may not be necessary), the second application, or the music and / or video playing application, and see that the assigned autonomous vehicle 100 is available for playing content, as described above with respect to Figure 6 620 and may not actually include other devices). Passenger 422 may then select an assigned autonomous vehicle 100. In response, the first application, the second application, or the music and / or video playing application may send the content to transportation computing system 410 for playback at the vehicle. In this regard, the second application and / or the music and / or video playing application may already include some integration with the first application, the second application, and / or the services provided by transportation computing system 410.
[0088] To prevent a passenger from playing content at the vehicle before the passenger has actually entered the vehicle, the transportation computing system 410 may wait to send the device ID to the client computing device until the transportation computing system 410 has received a signal that the passenger has entered the vehicle. Once the client computing device has been authenticated, the computing device 110 may automatically send a signal to the transportation computing system 410 indicating that the client computing device has been authenticated. Similarly, once the unlocked doors of the vehicle 100 have been opened, the computing device 110 may automatically send a signal to the transportation computing system 410 indicating that the unlocked doors of the vehicle 100 have been opened. Upon receiving one or both of these signals, the transportation computing system 410 may send the device ID to the passenger's client computing device. At this point, the passenger cannot play content at the vehicle until the passenger's client computing device has been authenticated by the vehicle and the vehicle's doors have been unlocked and / or opened.
[0089] At block 860, a communication link is established with the assigned autonomous vehicle during the trip. In response to the signal, transportation computing system 410 may establish a communication link with the assigned autonomous vehicle 100, for example using a standard communication protocol such as Transmission Control Protocol / Internet Protocol (TCP / IP), to play the content. The link may be established at any point in time before, during, or after the trip.
[0090] At box 870, the content received from the client computing device is relayed to the computing device of the assigned autonomous vehicle using the communication link. As described above, the passenger 422 can use the music and / or video playback application at the client computing device 420 and access content such as music and / or video stored locally at the client computing device and / or streamed from a third-party streaming service. As an example, the passenger 422 can do this by tapping an option displayed on the display 424 or by using a voice prompt. In response, the first application, the second application, or the music and / or video playback application can begin to send content to the transportation computing system 410 via the network 460. The transportation computing system 410 can receive the content and relay it to the computing device 110 via the communication link. The computing device 110 can then use the speaker 154 and / or other device of the assigned autonomous vehicle 100 to play the received content. At this point, there is no "direct" communication between the client computing device 420 and the computing device 110. Instead, all information is relayed via the transportation computing system 410 , and the passenger 422 is able to play the content at the assigned autonomous vehicle 100 without having to pair the passenger's 422 client computing device with the vehicle and / or use the vehicle's local WiFi or other network.
[0091] In addition, computing device 110 may cache the received content locally in memory 130 to allow passenger 422 to control the playback of the content by providing the user with the option to pause, play, skip songs, etc. using input from display 152 and / or user input 150 for the duration of the trip. Additionally or alternatively, passenger 422 may use a second application to pause, play, skip songs, etc. by tapping an option displayed on display 424 or by using voice prompts. In this regard, the first application (or the second application) may send a corresponding signal to transportation computing system 410, which may relay such a signal to computing device 110 via a communication link.
[0092] Once assigned autonomous vehicle 100 has arrived at the destination location, computing device 110 may send a signal to transportation computing system 410 via network 460 indicating that the destination has been reached and / or the trip has been completed. In response to receiving the signal, transportation computing system 410 may detach or remove the device ID of assigned autonomous vehicle 100 from the transportation account of passenger 422. By doing so, transportation computing system 410 may effectively prevent passenger 422 from playing content at assigned autonomous vehicle 100. Furthermore, once the signal has been sent, computing device 110 may automatically delete the locally stored device ID and / or replace it with a new device ID for another trip.
[0093] As in the described case, computing device 110 may automatically create a new device ID during the trip. In this case, computing device 110 may also store the new device ID, replacing the previous local version of the device ID. Once generated, computing device 110 may send the new device ID to transportation computing system 410. In response, transportation computing system 410 may receive the new device ID and associate it with passenger 422's transportation account and the assigned autonomous vehicle 100. At this point, passenger 422 may access the first application (as the second application may not be required) or the second application and see that the assigned autonomous vehicle 100 is available for playing content, as described above with respect to Figure 6 Passenger 422 may then select the device corresponding to the assigned autonomous vehicle 100, for example, by tapping display 424 at the location of device 620 (again, in this embodiment, list 610 may only include device 620, and may not actually include other devices). In response, first application (or second application) may send a signal to transportation computing system 410 providing the new device ID of the assigned autonomous vehicle 100. Thereafter, a new communication link may be established with computing device 110, and passenger 422 may once again begin playing content at the assigned autonomous vehicle.
[0094] To better enable playback of content at the assigned autonomous vehicle 100, the first time a user requests a trip and the content feature is enabled, the first application may provide a notification to the user to remind the user that the content feature is available and / or download the second application (if applicable). On subsequent trips, the notification need not be provided. As another example, if the user's client computing device already has the second application installed (if applicable), then a notification need not be provided or the user may simply be reminded that the content feature is available.
[0095] Features described herein may enable content playback in an autonomous vehicle. A user may be able to seamlessly connect their client computing device (e.g., a mobile phone) to an autonomous vehicle without having to spend time utilizing a pairing process each time the user is assigned to a new autonomous vehicle. Furthermore, because the device ID is created by the autonomous vehicle and managed at the content enabling computing system and / or the transportation computing system, the process appears seamless to the user and prevents the user from being able to play content in the autonomous vehicle once the user's trip with the autonomous vehicle ends. Furthermore, if the autonomous vehicle creates a new device ID during the trip, the device ID is automatically updated at the content enabling computing system and / or the transportation computing system to create a new communication link with the user's client computing device without the user having to troubleshoot the connection to the autonomous vehicle.
[0096] Unless otherwise stated, the foregoing alternative examples are not mutually exclusive, but may be implemented in various combinations to obtain unique advantages. Since 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 understood by way of illustration rather than as a limitation on the subject matter defined by the claims. In addition, the provision of the examples described herein, as well as the terms worded "such as", "including", etc., should not be interpreted as limiting the subject matter of the claims to specific examples; on the contrary, these examples are intended to illustrate only one of many possible embodiments. In addition, the same reference numerals in different figures may identify the same or similar elements.
Claims
1. A method for enabling playback of content at an autonomous vehicle, the method comprising: Receiving, by a computing system having one or more processors, a request from a client computing device to transport a user on a trip; assigning, by a computing system, an autonomous vehicle to the trip; determining, by the computing system, whether a user has enabled a content feature; In response to determining that the user has enabled the content feature, sending, by the computing system, a request for a device identifier to the assigned autonomous vehicle; receiving, by a computing system, a device identifier generated at an assigned autonomous vehicle; as well as The device identifier is sent by the computing system to a content-enabled computing system including one or more processors to enable the content-enabled computing system to establish a communication link with the computing device of the assigned autonomous vehicle and to relay content from the client computing device to the computing device of the assigned autonomous vehicle using the communication link, and thereby enable the user to play the content from the client computing device at the assigned autonomous vehicle during the trip.
2. The method according to claim 1, further comprising: The user's credentials are sent to the content-enabling computing system to enable the user to play content from the client computing device at the assigned autonomous vehicle during the trip.
3. The method according to claim 2, further comprising: The credentials are received from an application of the client computing device prior to receiving the request for the trip.
4. The method according to claim 1, further comprising: receiving a signal from an application of the client computing device indicating that a user has enabled a content feature; as well as The indication is stored in a storage device along with account information of the user, and wherein determining whether the user has enabled the content feature comprises accessing the account information in the storage device.
5. The method of claim 1 , further comprising receiving a signal indicating that the client computing device has been authenticated by one or more computing devices of the autonomous vehicle, and wherein: A device identifier is transmitted in response to receiving the signal.
6. The method of claim 1 , further comprising receiving a signal indicating that a door of the autonomous vehicle has been opened, and wherein: A device identifier is transmitted in response to receiving the signal.
7. The method according to claim 1, further comprising: receiving a first signal indicating that the autonomous vehicle has arrived at a destination of the trip; as well as In response to receiving the first signal, a second signal is sent to the content-enabled computing system requesting that the device identifier be removed from the user's account, thereby preventing the user from being able to play the content at the assigned autonomous vehicle.
8. The method according to claim 1, further comprising: After sending the device identifier and during the trip: receiving a new device identifier from the assigned autonomous vehicle; as well as The new device identifier is sent by the computing system to a content enabling computing system to enable the user to play content from the client computing device at the assigned autonomous vehicle during the trip.
9. The method according to claim 1, wherein: Playback of content from a client computing device at an assigned autonomous vehicle during a trip is enabled without requiring a direct communication link between the client computing device and the assigned autonomous vehicle.
10. A method for enabling playback of content at an autonomous vehicle, the method comprising: Receiving, by a computing system having one or more processors, a request from a client computing device to transport a user on a trip; Assigning an autonomous vehicle to a trip by a computing system; determining, by the computing system, whether a user has enabled a content feature; In response to determining that the user has enabled the content feature, identifying, by the computing system, an assigned device identifier of the autonomous vehicle; sending, by the computing system, a device identifier to the client computing device; establishing, by the computing system, a communication link with the assigned autonomous vehicle; as well as Content received from the client computing device is relayed by the computing system to the computing device of the assigned autonomous vehicle using the communication link.
11. The method according to claim 10, further comprising: receiving a signal from an application of the client computing device indicating that a user has enabled a content feature; as well as The indication is stored in a storage device along with account information of the user, and wherein determining whether the user has enabled the content feature comprises accessing the account information in the storage device.
12. The method according to claim 10, further comprising: receiving a first signal indicating that the autonomous vehicle has arrived at a destination of the trip; as well as In response to receiving the first signal, the device identifier is removed from the user's account, thereby preventing the user from being able to play the content at the assigned autonomous vehicle.
13. The method of claim 10, further comprising, after relaying the content and during the trip: receiving a new device identifier from the assigned autonomous vehicle; and The new device identifier is sent by the computing system to the client computing device to enable the user to play content from the client computing device at the assigned autonomous vehicle during the trip.
14. The method according to claim 10, wherein: Playback of content from a client computing device at an assigned autonomous vehicle during a trip is enabled without requiring a direct communication link between the client computing device and the assigned autonomous vehicle.
Citation Information
Patent Citations
Advanced trip planning for autonomous vehicle services
CN111815391A
Associating vehicle user equipment with customer mobile accounts
US10764751B1