Autonomous vehicle application

Information

  • Patent Grant
  • 11879742
  • Patent Number
    11,879,742
  • Date Filed
    Friday, January 20, 2023
    a year ago
  • Date Issued
    Tuesday, January 23, 2024
    10 months ago
Abstract
Methods and systems for communicating between autonomous vehicles are described herein. Such communication may be performed for signaling, collision avoidance, path coordination, and/or autonomous control. A computing device may receive data for the same road segment from autonomous vehicles, including (i) an indication of a location within the road segment, and (ii) an indication of a condition of the road segment. The computing device may generate, from the data for the same road segment, an overall indication of the condition of the road segment, which may include a recommendation to vehicles approaching the road segment. Additionally, the computing device may receive a request from a computing device within a vehicle approaching the road segment to display vehicle data. The overall indication for the road segment may then be displayed on a user interface of the computing device.
Description
FIELD

The present disclosure generally relates to systems and methods for communicating between autonomous or semi-autonomous vehicles for signaling, collision avoidance, path coordination, or other autonomous control.


BACKGROUND

Vehicles are typically operated by a human vehicle operator who controls both steering and motive controls. Operator error, inattention, inexperience, misuse, or distraction leads to many vehicle collisions each year, resulting in injury and damage. Autonomous or semi-autonomous vehicles augment vehicle operators' information or replace vehicle operators' control commands to operate the vehicle, in whole or part, with computer systems based upon information from sensors within, or attached to, the vehicle. Such vehicles may be operated with or without passengers, thus requiring different means of control than traditional vehicles. Such vehicles also may include a plurality of advanced sensors, capable of providing significantly more data (both in type and quantity) than is available even from GPS navigation assistance systems installed in traditional vehicles.


Ensuring safe operation of such autonomous or semi-autonomous vehicles is of the utmost importance because the automated systems of these vehicles may not function properly in all environments. Although autonomous operation may be safer than manual operation under ordinary driving conditions, unusual or irregular environmental conditions may significantly impair the functioning of the autonomous operation features controlling the autonomous vehicle. Under some conditions, autonomous operation may become impractical or excessively dangerous. As an example, fog or heavy rain may greatly reduce the ability of autonomous operation features to safely control the vehicle. Additionally, damage or other impairment of sensors or other components of autonomous systems may significantly increase the risks associated with autonomous operation. Such conditions may change frequently, thereby changing the safety of autonomous vehicle operation.


BRIEF SUMMARY

The present embodiments may be related to autonomous or semi-autonomous vehicle operation, including driverless operation of fully autonomous vehicles. The embodiments described herein relate particularly to various aspects of communication between autonomous operation features, components, and software. An autonomous or semi-autonomous vehicle may communicate with other vehicles within a predetermined communication range to alert the other vehicles of maneuvers which the autonomous vehicle will make (e.g., turns, lane changes, etc.) or to coordinate actions between several vehicles (e.g., coordinating paths based upon when each vehicle will exit a highway). Additionally, some aspects relate to communications which alert other vehicles of road segment conditions as the other vehicles approach the road segment, such as traffic, accidents, potholes, ice patches, construction, etc. Specific systems and methods are summarized below. The methods and systems summarized below may include additional, less, or alternate actions, including those discussed elsewhere herein.


In one aspect, a computer-implemented method for presenting vehicle data for a road segment based upon data collected from a plurality of vehicles each having one or more autonomous operation features may be provided. The method may include receiving data corresponding to a same road segment on which each of the plurality of vehicles travelled, the data including (i) an indication of a location within the road segment, and (ii) an indication of a condition of the road segment at the location; generating from the data for the same road segment, an overall indication of the condition of the road segment, wherein the overall indication includes a recommendation to vehicles approaching the road segment; receiving a request to display vehicle data including the overall indication for the road segment from a computing device within a vehicle approaching the road segment; and/or causing the overall indication for the road segment to be displayed on a user interface of the computing device.


The overall indication of the condition of the road segment may include a recommendation to change vehicle operation from a manual mode to an autonomous mode and/or in response to receiving the recommendation the vehicle may switch to an autonomous mode or the overall indication of the condition of the road segment may include a recommendation to change vehicle operation from the autonomous mode to the manual mode and/or in response to receiving the recommendation the vehicle may switch to the manual mode. The recommendation may also include an action for the vehicle to perform based upon the overall indication of the condition of the road segment. In some embodiments, the one or more vehicles may obtain the data corresponding to the road segment from a smart infrastructure component.


An indication of the condition of the road segment at the location may include at least one of: (i) traffic at the location, (ii) a maneuver to be performed by the corresponding vehicle at the location, (iii) an amount of wear and tear on the road segment, (iv) whether the road segment is currently under construction, and/or (v) unexpected debris on the road segment. Traffic at the road segment may include: an indication of a vehicle collision on the road segment, an indication of construction occurring on the road segment, a number of vehicles on the road segment, and/or a number of vehicles planning to exit the road segment. Additionally, the amount of wear and tear on the road segment may include at least one of: a number of potholes on the road segment, one or more ice patches on the road segment, and/or one or more cracks in the road segment. Unexpected debris on the road segment may include at least one of: a fallen branch on the road segment, a flooded portion of the road segment, a rock on the road segment, fallen cargo on the road segment, a portion of a shredded tire on the road segment, or broken glass on the road segment.


In some embodiments, combining the data for the same road segment from the one or more communications to generate an overall indication of the condition of the road segment may include assigning a weight to the data from each communication based upon the time when the communication is sent, wherein data from communications sent more recently is weighted higher than data from communication sent earlier; and/or combining the weighted data for the same road segment to generate the overall indication of the road segment.


Systems or computer-readable media storing instructions for implementing all or part of the system described above may also be provided in some aspects. Systems for implementing such methods may include one or more of the following: a special-purpose assessment computing device, a mobile computing device, a personal electronic device, an on-board computer, a remote server, one or more sensors, one or more communication modules configured to communicate wirelessly via radio links, radio frequency links, and/or wireless communication channels, and/or one or more program memories coupled to one or more processors of the mobile computing device, personal electronic device, on-board computer, or remote server. Such program memories may store instructions to cause the one or more processors to implement part or all of the method described above. Additional or alternative features described herein below may be included in some aspects.





BRIEF DESCRIPTION OF THE DRAWINGS

Advantages will become more apparent to those skilled in the art from the following description of the preferred embodiments which have been shown and described by way of illustration. As will be realized, the present embodiments may be capable of other and different embodiments, and their details are capable of modification in various respects. Accordingly, the drawings and description are to be regarded as illustrative in nature and not as restrictive.


The figures described below depict various aspects of the applications, methods, and systems disclosed herein. It should be understood that each figure depicts an embodiment of a particular aspect of the disclosed applications, systems and methods, and that each of the figures is intended to accord with a possible embodiment thereof. Furthermore, wherever possible, the following description refers to the reference numerals included in the following figures, in which features depicted in multiple figures are designated with consistent reference numerals.



FIG. 1A illustrates a block diagram of an exemplary autonomous vehicle data system for autonomous vehicle operation, monitoring, communication, and related functions;



FIG. 1B illustrates a block diagram of an exemplary autonomous vehicle communication system, showing a plurality of vehicles and smart infrastructure components;



FIG. 2 illustrates a block diagram of an exemplary on-board computer or mobile device;



FIG. 3 illustrates a flow diagram of an exemplary autonomous vehicle operation method;



FIGS. 4A-B illustrate flow diagrams of exemplary autonomous vehicle operation monitoring methods for obtaining and recording information during vehicle operation;



FIG. 5 illustrates a flow diagram of an exemplary vehicle action communication method for communicating upcoming maneuvers between autonomous vehicles;



FIG. 6 illustrates a flow diagram of an exemplary vehicle path coordination method for identifying optimal paths for several autonomous vehicles travelling on the same road;



FIG. 7 illustrates a flow diagram of an exemplary signal control method for presenting a vehicle signal from an autonomous vehicle indicative of an upcoming maneuver; and



FIG. 8 illustrates a flow diagram of an exemplary autonomous vehicle crowdsourcing method for presenting vehicle data regarding a road segment based upon data collected from several autonomous vehicles.





DETAILED DESCRIPTION

The systems and methods disclosed herein generally relate to various aspects of communication between autonomous operation features, components, and software. Responses to accidents, collisions, and other events causing malfunctions or damage are discussed below. Assessment of components and features may be performed as part of detecting malfunctions, determining repairs, determining component operating status, or generally evaluating effectiveness or reliability of components and features. To this end, the systems and methods may include collecting, communicating, evaluating, predicting, and/or utilizing data associated with autonomous or semi-autonomous operation features for controlling a vehicle. The autonomous operation features may take full control of the vehicle under certain conditions, viz. fully autonomous operation, or the autonomous operation features may assist the vehicle operator in operating the vehicle, viz. partially autonomous operation. Fully autonomous operation features may include systems within the vehicle that pilot the vehicle to a destination with or without a vehicle operator present (e.g., an operating system for a driverless car). Partially autonomous operation features may assist the vehicle operator in limited ways (e.g., automatic braking or collision avoidance systems). Fully or partially autonomous operation features may perform specific functions to control or assist in controlling some aspect of vehicle operation, or such features may manage or control other autonomous operation features. For example, a vehicle operating system may control numerous subsystems that each fully or partially control aspects of vehicle operation.


In addition to information regarding the position or movement of a vehicle, autonomous operation features may collect and utilize other information, such as data about other vehicles or control decisions of the vehicle. Such additional information may be used to improve vehicle operation, route the vehicle to a destination, warn of component malfunctions, advise others of potential hazards, or for other purposes described herein. Information may be collected, assessed, and/or shared via applications installed and executing on computing devices associated with various vehicles or vehicle operators, such as on-board computers of vehicles or smartphones of vehicle operators. By using computer applications to obtain data, the additional information generated by autonomous vehicles or features may be used to assess the autonomous features themselves while in operation or to provide pertinent information to non-autonomous vehicles through an electronic communication network. These and other advantages are further described below.


Autonomous operation features utilize data not available to a human operator, respond to conditions in the vehicle operating environment faster than human operators, and do not suffer fatigue or distraction. Thus, the autonomous operation features may also significantly affect various risks associated with operating a vehicle. Alternatively, autonomous operation features may be incapable of some actions typically taken by human operators, particularly when the features or other components of the vehicle are damaged or inoperable. Moreover, combinations of autonomous operation features may further affect operating risks due to synergies or conflicts between features. To account for these effects on risk, some embodiments evaluate the quality of each autonomous operation feature and/or combination of features. This may be accomplished by testing the features and combinations in controlled environments, as well as analyzing the effectiveness of the features in the ordinary course of vehicle operation. New autonomous operation features may be evaluated based upon controlled testing and/or estimating ordinary-course performance based upon data regarding other similar features for which ordinary-course performance is known.


Some autonomous operation features may be adapted for use under particular conditions, such as city driving or highway driving. Additionally, the vehicle operator may be able to configure settings relating to the features or may enable or disable the features at will. Therefore, some embodiments monitor use of the autonomous operation features, which may include the settings or levels of feature use during vehicle operation. Information obtained by monitoring feature usage may be used to determine risk levels associated with vehicle operation, either generally or in relation to a vehicle operator. In such situations, total risk may be determined by a weighted combination of the risk levels associated with operation while autonomous operation features are enabled (with relevant settings) and the risk levels associated with operation while autonomous operation features are disabled. For fully autonomous vehicles, settings or configurations relating to vehicle operation may be monitored and used in determining vehicle operating risk.


In some embodiments, information regarding the risks associated with vehicle operation with and without the autonomous operation features may be used to determine risk categories or premiums for a vehicle insurance policy covering a vehicle with autonomous operation features, as described elsewhere herein. Risk category or price may be determined based upon factors relating to the evaluated effectiveness of the autonomous vehicle features. The risk or price determination may also include traditional factors, such as location, vehicle type, and level of vehicle use. For fully autonomous vehicles, factors relating to vehicle operators may be excluded entirely. For partially autonomous vehicles, factors relating to vehicle operators may be reduced in proportion to the evaluated effectiveness and monitored usage levels of the autonomous operation features. For vehicles with autonomous communication features that obtain information from external sources (e.g., other vehicles or infrastructure), the risk level and/or price determination may also include an assessment of the availability of external sources of information. Location and/or timing of vehicle use may thus be monitored and/or weighted to determine the risk associated with operation of the vehicle.


Exemplary Autonomous Vehicle Operation System



FIG. 1A illustrates a block diagram of an exemplary autonomous vehicle data system 100 on which the exemplary methods described herein may be implemented. The high-level architecture includes both hardware and software applications, as well as various data communications channels for communicating data between the various hardware and software components. The autonomous vehicle data system 100 may be roughly divided into front-end components 102 and back-end components 104. The front-end components 102 may obtain information regarding a vehicle 108 (e.g., a car, truck, motorcycle, etc.) and the surrounding environment. An on-board computer 114 may utilize this information to operate the vehicle 108 according to an autonomous operation feature or to assist the vehicle operator in operating the vehicle 108. To monitor the vehicle 108, the front-end components 102 may include one or more sensors 120 and/or personal electronic devices installed within the vehicle 108 that may communicate with the on-board computer 114. The front-end components 102 may further process the sensor data using the on-board computer 114 or a mobile device 110 (e.g., a smart phone, a tablet computer, a special purpose computing device, smart watch, wearable electronics, etc.) to determine when the vehicle is in operation and information regarding the vehicle.


In some embodiments of the system 100, the front-end components 102 may communicate with the back-end components 104 via a network 130. Either the on-board computer 114 or the mobile device 110 may communicate with the back-end components 104 via the network 130 to allow the back-end components 104 to record information regarding vehicle usage. The back-end components 104 may use one or more servers 140 to receive data from the front-end components 102, store the received data, process the received data, and/or communicate information associated with the received or processed data.


The front-end components 102 may be disposed within or communicatively connected to one or more on-board computers 114, which may be permanently or removably installed in the vehicle 108. The on-board computer 114 may interface with the one or more sensors 120 within the vehicle 108 (e.g., a digital camera, a LIDAR sensor, an ultrasonic sensor, an infrared sensor, an ignition sensor, an odometer, a system clock, a speedometer, a tachometer, an accelerometer, a gyroscope, a compass, a geolocation unit, radar unit, etc.), which sensors may also be incorporated within or connected to the on-board computer 114.


The front end components 102 may further include a communication component 122 to transmit information to and receive information from external sources, including other vehicles, infrastructure, or the back-end components 104. In some embodiments, the mobile device 110 may supplement the functions performed by the on-board computer 114 described herein by, for example, sending or receiving information to and from the mobile server 140 via the network 130, such as over one or more radio frequency links or wireless communication channels. In other embodiments, the on-board computer 114 may perform all of the functions of the mobile device 110 described herein, in which case no mobile device 110 may be present in the system 100.


Either or both of the mobile device 110 or on-board computer 114 may communicate with the network 130 over links 112 and 118, respectively. Either or both of the mobile device 110 or on-board computer 114 may run a Data Application for collecting, generating, processing, analyzing, transmitting, receiving, and/or acting upon data associated with the vehicle 108 (e.g., sensor data, autonomous operation feature settings, or control decisions made by the autonomous operation features) or the vehicle environment (e.g., other vehicles operating near the vehicle 108). Additionally, the mobile device 110 and on-board computer 114 may communicate with one another directly over link 116.


The mobile device 110 may be either a general-use personal computer, cellular phone, smart phone, tablet computer, smart watch, wearable electronics, or a dedicated vehicle monitoring or control device. Although only one mobile device 110 is illustrated, it should be understood that a plurality of mobile devices 110 may be used in some embodiments. The on-board computer 114 may be a general-use on-board computer capable of performing many functions relating to vehicle operation or a dedicated computer for autonomous vehicle operation. Further, the on-board computer 114 may be installed by the manufacturer of the vehicle 108 or as an aftermarket modification or addition to the vehicle 108. In some embodiments or under certain conditions, the mobile device 110 or on-board computer 114 may function as thin-client devices that outsource some or most of the processing to the server 140.


The sensors 120 may be removably or fixedly installed within the vehicle 108 and may be disposed in various arrangements to provide information to the autonomous operation features. Among the sensors 120 may be included one or more of a GPS unit, a radar unit, a LIDAR unit, an ultrasonic sensor, an infrared sensor, an inductance sensor, a camera, an accelerometer, a tachometer, or a speedometer. Some of the sensors 120 (e.g., radar, LIDAR, or camera units) may actively or passively scan the vehicle environment for obstacles (e.g., other vehicles, buildings, pedestrians, etc.), roadways, lane markings, signs, or signals. Other sensors 120 (e.g., GPS, accelerometer, or tachometer units) may provide data for determining the location or movement of the vehicle 108. Other sensors 120 may be directed to the interior or passenger compartment of the vehicle 108, such as cameras, microphones, pressure sensors, thermometers, or similar sensors to monitor the vehicle operator and/or passengers within the vehicle 108. Information generated or received by the sensors 120 may be communicated to the on-board computer 114 or the mobile device 110 for use in autonomous vehicle operation.


In further embodiments, the front-end components may include an infrastructure communication device 124 for monitoring the status of one or more infrastructure components 126. Infrastructure components 126 may include roadways, bridges, traffic signals, gates, switches, crossings, parking lots or garages, toll booths, docks, hangars, or other similar physical portions of a transportation system's infrastructure. The infrastructure communication device 124 may include or be communicatively connected to one or more sensors (not shown) for detecting information relating to the condition of the infrastructure component 126. The sensors (not shown) may generate data relating to weather conditions, traffic conditions, or operating status of the infrastructure component 126.


The infrastructure communication device 124 may be configured to receive the sensor data generated and determine a condition of the infrastructure component 126, such as weather conditions, road integrity, construction, traffic, available parking spaces, etc. The infrastructure communication device 124 may further be configured to communicate information to vehicles 108 via the communication component 122. In some embodiments, the infrastructure communication device 124 may receive information from one or more vehicles 108, while, in other embodiments, the infrastructure communication device 124 may only transmit information to the vehicles 108. The infrastructure communication device 124 may be configured to monitor vehicles 108 and/or communicate information to other vehicles 108 and/or to mobile devices 110.


In some embodiments, the communication component 122 may receive information from external sources, such as other vehicles or infrastructure. The communication component 122 may also send information regarding the vehicle 108 to external sources. To send and receive information, the communication component 122 may include a transmitter and a receiver designed to operate according to predetermined specifications, such as the dedicated short-range communication (DSRC) channel, wireless telephony, Wi-Fi, or other existing or later-developed communications protocols. The received information may supplement the data received from the sensors 120 to implement the autonomous operation features. For example, the communication component 122 may receive information that an autonomous vehicle ahead of the vehicle 108 is reducing speed, allowing the adjustments in the autonomous operation of the vehicle 108.


In addition to receiving information from the sensors 120, the on-board computer 114 may directly or indirectly control the operation of the vehicle 108 according to various autonomous operation features. The autonomous operation features may include software applications or modules implemented by the on-board computer 114 to generate and implement control commands to control the steering, braking, or throttle of the vehicle 108. To facilitate such control, the on-board computer 114 may be communicatively connected to control components of the vehicle 108 by various electrical or electromechanical control components (not shown). When a control command is generated by the on-board computer 114, it may thus be communicated to the control components of the vehicle 108 to effect a control action. In embodiments involving fully autonomous vehicles, the vehicle 108 may be operable only through such control components (not shown). In other embodiments, the control components may be disposed within or supplement other vehicle operator control components (not shown), such as steering wheels, accelerator or brake pedals, or ignition switches.


In some embodiments, the front-end components 102 communicate with the back-end components 104 via the network 130. The network 130 may be a proprietary network, a secure public internet, a virtual private network or some other type of network, such as dedicated access lines, plain ordinary telephone lines, satellite links, cellular data networks, or combinations of these. The network 130 may include one or more radio frequency communication links, such as wireless communication links 112 and 118 with mobile devices 110 and on-board computers 114, respectively. Where the network 130 comprises the Internet, data communications may take place over the network 130 via an Internet communication protocol.


The back-end components 104 include one or more servers 140. Each server 140 may include one or more computer processors adapted and configured to execute various software applications and components of the autonomous vehicle data system 100, in addition to other software applications. The server 140 may further include a database 146, which may be adapted to store data related to the operation of the vehicle 108 and its autonomous operation features. Such data might include, for example, dates and times of vehicle use, duration of vehicle use, use and settings of autonomous operation features, information regarding control decisions or control commands generated by the autonomous operation features, speed of the vehicle 108, RPM or other tachometer readings of the vehicle 108, lateral and longitudinal acceleration of the vehicle 108, vehicle accidents, incidents or near collisions of the vehicle 108, hazardous or anomalous conditions within the vehicle operating environment (e.g., construction, accidents, etc.), communication between the autonomous operation features and external sources, environmental conditions of vehicle operation (e.g., weather, traffic, road condition, etc.), errors or failures of autonomous operation features, or other data relating to use of the vehicle 108 and the autonomous operation features, which may be uploaded to the server 140 via the network 130. The server 140 may access data stored in the database 146 when executing various functions and tasks associated with the evaluating feature effectiveness or assessing risk relating to an autonomous vehicle.


Although the autonomous vehicle data system 100 is shown to include one vehicle 108, one mobile device 110, one on-board computer 114, and one server 140, it should be understood that different numbers of vehicles 108, mobile devices 110, on-board computers 114, and/or servers 140 may be utilized. For example, the system 100 may include a plurality of servers 140 and hundreds or thousands of mobile devices 110 or on-board computers 114, all of which may be interconnected via the network 130. Furthermore, the database storage or processing performed by the one or more servers 140 may be distributed among a plurality of servers 140 in an arrangement known as “cloud computing.” This configuration may provide various advantages, such as enabling near real-time uploads and downloads of information as well as periodic uploads and downloads of information. This may in turn support a thin-client embodiment of the mobile device 110 or on-board computer 114 discussed herein.


The server 140 may have a controller 155 that is operatively connected to the database 146 via a link 156. It should be noted that, while not shown, additional databases may be linked to the controller 155 in a known manner. For example, separate databases may be used for various types of information, such as autonomous operation feature information, vehicle accidents, road conditions, vehicle insurance policy information, or vehicle use information. Additional databases (not shown) may be communicatively connected to the server 140 via the network 130, such as databases maintained by third parties (e.g., weather, construction, or road network databases). The controller 155 may include a program memory 160, a processor 162 (which may be called a microcontroller or a microprocessor), a random-access memory (RAM) 164, and an input/output (I/O) circuit 166, all of which may be interconnected via an address/data bus 165. It should be appreciated that although only one microprocessor 162 is shown, the controller 155 may include multiple microprocessors 162. Similarly, the memory of the controller 155 may include multiple RAMs 164 and multiple program memories 160. Although the I/O circuit 166 is shown as a single block, it should be appreciated that the I/O circuit 166 may include a number of different types of I/O circuits. The RAM 164 and program memories 160 may be implemented as semiconductor memories, magnetically readable memories, or optically readable memories, for example. The controller 155 may also be operatively connected to the network 130 via a link 135.


The server 140 may further include a number of software applications stored in a program memory 160. The various software applications on the server 140 may include an autonomous operation information monitoring application 141 for receiving information regarding the vehicle 108 and its autonomous operation features (which may include control commands or decisions of the autonomous operation features), a feature evaluation application 142 for determining the effectiveness of autonomous operation features under various conditions and/or determining operating condition of autonomous operation features or components, a real-time communication application 143 for communicating information regarding vehicle or environmental conditions between a plurality of vehicles, a navigation application 144 for assisting autonomous or semi-autonomous vehicle operation, and an accident detection application 145 for identifying accidents and providing assistance. The various software applications may be executed on the same computer processor or on different computer processors.



FIG. 1B illustrates a block diagram of an exemplary autonomous vehicle communication system 180 on which the exemplary methods described herein may be implemented. In one aspect, system 180 may include a network 130, N number of vehicles 182.1-182.N and respective mobile computing devices 184.1-184.N, one or several personal electronic devices (not shown), an external computing device 186, and/or a smart infrastructure component 188. In one aspect, mobile computing devices 184 may be an implementation of mobile computing device 110, while vehicles 182 may be an implementation of vehicle 108. The vehicles 182 may include a plurality of vehicles 108 having autonomous operation features, as well as a plurality of other vehicles not having autonomous operation features. As illustrated, the vehicle 182.1 may include a vehicle controller 181.1, which may be an on-board computer 114 as discussed elsewhere herein, while vehicle 182.2 may lack such a component. Each of vehicles 182.1 and 182.2 may be configured for wireless inter-vehicle communication, such as vehicle-to-vehicle (V2V) wireless communication and/or data transmission via the communication component 122, directly via the mobile computing devices 184, or otherwise. The personal electronic devices may include any type of electronic device that monitors conditions associated with an individual. For example, the personal electronic device may be a smart watch, a fitness tracker, a personal medical device (e.g., a pace maker, an insulin pump, etc.) and/or monitoring devices thereof, smart implants, and so on. The personal electronic device may monitor the conditions of the individual while the individual is present in one of the vehicles 182 and/or operating one of the vehicles 182 in a semi-autonomous mode.


Although system 180 is shown in FIG. 1B as including one network 130, two mobile computing devices 184.1 and 184.2, two vehicles 182.1 and 182.2, one external computing device 186, and one smart infrastructure component 188, various embodiments of system 180 may include any suitable number of networks 130, mobile computing devices 184, vehicles 182, external computing devices 186, and/or infrastructure components 188. The vehicles 182 included in such embodiments may include any number of vehicles 182.i having vehicle controllers 181.i (such as vehicle 182.1 with vehicle controller 181.1) and vehicles 182j not having vehicle controllers (such as vehicle 182.2). Moreover, system 180 may include a plurality of external computing devices 186 and more than two mobile computing devices 184, any suitable number of which being interconnected directly to one another and/or via network 130.


In one aspect, each of mobile computing devices 184.1 and 184.2 may be configured to communicate with one another directly via peer-to-peer (P2P) wireless communication and/or data transfer. In other aspects, each of mobile computing devices 184.1 and 184.2 may be configured to communicate indirectly with one another and/or any suitable device via communications over network 130, such as external computing device 186 and/or smart infrastructure component 188, for example. In still other aspects, each of mobile computing devices 184.1 and 184.2 may be configured to communicate directly and/or indirectly with other suitable devices, which may include synchronous or asynchronous communication.


Each of mobile computing devices 184.1 and 184.2 and/or personal electronic devices may be configured to send data to and/or receive data from one another and/or via network 130 using one or more suitable communication protocols, which may be the same communication protocols or different communication protocols. For example, mobile computing devices 184.1 and 184.2 may be configured to communicate with one another via a direct radio link 183a, which may utilize, for example, a Wi-Fi direct protocol, an ad-hoc cellular communication protocol, etc. Mobile computing devices 184.1 and 184.2 and/or personal electronic devices may also be configured to communicate with vehicles 182.1 and 182.2, respectively, utilizing a BLUETOOTH communication protocol (radio link not shown). In some embodiments, this may include communication between a mobile computing device 184.1 and a vehicle controller 181.1. In other embodiments, it may involve communication between a mobile computing device 184.2 and a vehicle telephony, entertainment, navigation, or information system (not shown) of the vehicle 182.2 that provides functionality other than autonomous (or semi-autonomous) vehicle control. Thus, vehicles 182.2 without autonomous operation features may nonetheless be connected to mobile computing devices 184.2 in order to facilitate communication, information presentation, or similar non-control operations (e.g., navigation display, hands-free telephony, or music selection and presentation).


To provide additional examples, mobile computing devices 184.1 and 184.2 and/or personal electronic devices may be configured to communicate with one another via radio links 183b and 183c by each communicating with network 130 utilizing a cellular communication protocol. As an additional example, mobile computing devices 184.1 and/or 184.2 may be configured to communicate with external computing device 186 via radio links 183b, 183c, and/or 183e. Still further, one or more of mobile computing devices 184.1 and/or 184.2 and/or personal electronic devices may also be configured to communicate with one or more smart infrastructure components 188 directly (e.g., via radio link 183d) and/or indirectly (e.g., via radio links 183c and 183f via network 130) using any suitable communication protocols. Similarly, one or more vehicle controllers 181.1 may be configured to communicate directly to the network 130 (via radio link 183b) or indirectly through mobile computing device 184.1 (via radio link 183b). Vehicle controllers 181.1 may also communicate with other vehicle controllers and/or mobile computing devices 184.2 directly or indirectly through mobile computing device 184.1 via local radio links 183a. As discussed elsewhere herein, network 130 may be implemented as a wireless telephony network (e.g., GSM, CDMA, LTE, etc.), a Wi-Fi network (e.g., via one or more IEEE 802.11 Standards), a WiMAX network, a Bluetooth network, etc. Thus, links 183a-183f may represent wired links, wireless links, or any suitable combination thereof. For example, the links 183e and/or 183f may include wired links to the network 130, in addition to, or instead of, wireless radio connections.


In some embodiments, the external computing device 186 may mediate communication between the mobile computing devices 184.1 and 184.2 based upon location or other factors. In embodiments in which mobile computing devices 184.1 and 184.2 communicate directly with one another in a peer-to-peer fashion, network 130 may be bypassed and thus communications between mobile computing devices 184.1 and 184.2 and external computing device 186 may be unnecessary. For example, in some aspects, mobile computing device 184.1 may broadcast geographic location data and/or telematics data directly to mobile computing device 184.2. In this case, mobile computing device 184.2 may operate independently of network 130 to determine operating data, risks associated with operation, control actions to be taken, and/or alerts to be generated at mobile computing device 184.2 based upon the geographic location data, sensor data, and/or the autonomous operation feature data. In accordance with such aspects, network 130 and external computing device 186 may be omitted.


However, in other aspects, one or more of mobile computing devices 184.1 and/or 184.2 and/or personal electronic devices may work in conjunction with external computing device 186 to determine operating data, risks associated with operation, control actions to be taken, and/or alerts to be generated. For example, in some aspects, mobile computing device 184.1 may broadcast geographic location data and/or autonomous operation feature data, which is received by external computing device 186. In this case, external computing device 186 may be configured to determine whether the same or other information should be sent to mobile computing device 184.2 based upon the geographic location data, autonomous operation feature data, or data derived therefrom.


Mobile computing devices 184.1 and 184.2 may be configured to execute one or more algorithms, programs, applications, etc., to determine a geographic location of each respective mobile computing device (and thus their associated vehicle) to generate, measure, monitor, and/or collect one or more sensor metrics as telematics data, to broadcast the geographic data and/or telematics data via their respective radio links, to receive the geographic data and/or telematics data via their respective radio links, to determine whether an alert should be generated based upon the telematics data and/or the geographic location data, to generate the one or more alerts, and/or to broadcast one or more alert notifications. Such functionality may, in some embodiments be controlled in whole or part by a Data Application operating on the mobile computing devices 184, as discussed elsewhere herein. Such Data Application may communicate between the mobile computing devices 184 and one or more external computing devices 186 (such as servers 140) to facilitate centralized data collection and/or processing.


In some embodiments, the Data Application may facilitate control of a vehicle 182 by a user, such as by selecting vehicle destinations and/or routes along which the vehicle 182 will travel. The Data Application may further be used to establish restrictions on vehicle use or store user preferences for vehicle use, such as in a user profile. In further embodiments, the Data Application may monitor vehicle operation or sensor data in real-time to make recommendations or for other purposes as described herein. The Data Application may further facilitate monitoring and/or assessment of the vehicle 182, such as by evaluating operating data to determine the condition of the vehicle or components thereof (e.g., sensors, autonomous operation features, etc.).


External computing device 186 may be configured to execute various software applications, algorithms, and/or other suitable programs. External computing device 186 may be implemented as any suitable type of device to facilitate the functionality as described herein. For example, external computing device 186 may be a server 140 as discussed elsewhere herein. As another example, the external computing device 186 may be another computing device associated with an operator or owner of a vehicle 182, such as a desktop or notebook computer. Although illustrated as a single device in FIG. 1B, one or more portions of external computing device 186 may be implemented as one or more storage devices that are physically co-located with external computing device 186, or as one or more storage devices utilizing different storage locations as a shared database structure (e.g. cloud storage).


In some embodiments, external computing device 186 may be configured to perform any suitable portion of the processing functions remotely that have been outsourced by one or more of mobile computing devices 184.1 and/or 184.2 (and/or vehicle controllers 181.1). For example, mobile computing device 184.1 and/or 184.2 may collect data (e.g., geographic location data and/or telematics data) as described herein, but may send the data to external computing device 186 for remote processing instead of processing the data locally. In such embodiments, external computing device 186 may receive and process the data to determine whether an anomalous condition exists and, if so, whether to send an alert notification to one or more mobile computing devices 184.1 and 184.2 or take other actions.


In one aspect, external computing device 186 may additionally or alternatively be part of an insurer computing system (or facilitate communications with an insurer computer system), and as such may access insurer databases, execute algorithms, execute applications, access remote servers, communicate with remote processors, etc., as needed to perform insurance-related functions. Such insurance-related functions may include assisting insurance customers in evaluating autonomous operation features, limiting manual vehicle operation based upon risk levels, providing information regarding risk levels associated with autonomous and/or manual vehicle operation along routes, and/or determining repair/salvage information for damaged vehicles. For example, external computing device 186 may facilitate the receipt of autonomous operation or other data from one or more mobile computing devices 184.1-184.N, which may each be running a Data Application to obtain such data from autonomous operation features or sensors 120 associated therewith.


In aspects in which external computing device 186 facilitates communications with an insurer computing system (or is part of such a system), data received from one or more mobile computing devices 184.1-184.N may include user credentials, which may be verified by external computing device 186 or one or more other external computing devices, servers, etc. These user credentials may be associated with an insurance profile, which may include, for example, insurance policy numbers, a description and/or listing of insured assets, vehicle identification numbers of insured vehicles, addresses of insured structures, contact information, premium rates, discounts, etc. In this way, data received from one or more mobile computing devices 184.1-184.N may allow external computing device 186 to uniquely identify each insured customer and/or whether each identified insurance customer has installed the Data Application. In addition, external computing device 186 may facilitate the communication of the updated insurance policies, premiums, rates, discounts, etc., to insurance customers for their review, modification, and/or approval—such as via wireless communication or data transmission to one or more mobile computing devices 184.1-184.N.


In some aspects, external computing device 186 may facilitate indirect communications between one or more of mobile computing devices 184, vehicles 182, and/or smart infrastructure component 188 via network 130 or another suitable communication network, wireless communication channel, and/or wireless link. Smart infrastructure components 188 may be implemented as any suitable type of traffic infrastructure components configured to receive communications from and/or to send communications to other devices, such as mobile computing devices 184 and/or external computing device 186. Thus, smart infrastructure components 188 may include infrastructure components 126 having infrastructure communication devices 124. For example, smart infrastructure component 188 may be implemented as a traffic light, a railroad crossing signal, a construction notification sign, a roadside display configured to display messages, a billboard display, a parking garage monitoring device, etc.


In some embodiments, the smart infrastructure component 188 may include or be communicatively connected to one or more sensors (not shown) for detecting information relating to the condition of the smart infrastructure component 188, which sensors may be connected to or part of the infrastructure communication device 124 of the smart infrastructure component 188. The sensors (not shown) may generate data relating to weather conditions, traffic conditions, or operating status of the smart infrastructure component 188. The smart infrastructure component 188 may be configured to receive the sensor data generated and determine a condition of the smart infrastructure component 188, such as weather conditions, road integrity, construction, traffic, available parking spaces, etc.


In some aspects, smart infrastructure component 188 may be configured to communicate with one or more other devices directly and/or indirectly. For example, smart infrastructure component 188 may be configured to communicate directly with mobile computing device 184.2 via radio link 183d and/or with mobile computing device 184.1 via links 183b and 183f utilizing network 130. As another example, smart infrastructure component 188 may communicate with external computing device 186 via links 183e and 183f utilizing network 130. To provide some illustrative examples of the operation of the smart infrastructure component 188, if smart infrastructure component 188 is implemented as a smart traffic light, smart infrastructure component 188 may change a traffic light from green to red (or vice-versa) or adjust a timing cycle to favor traffic in one direction over another based upon data received from the vehicles 182. If smart infrastructure component 188 is implemented as a traffic sign display, smart infrastructure component 188 may display a warning message that an anomalous condition (e.g., an accident) has been detected ahead and/or on a specific road corresponding to the geographic location data.



FIG. 2 illustrates a block diagram of an exemplary mobile device 110 or an exemplary on-board computer 114 consistent with the system 100 and the system 180. The mobile device 110 or on-board computer 114 may include a display 202, a GPS unit 206, a communication unit 220, an accelerometer 224, one or more additional sensors (not shown), a user-input device (not shown), and/or, like the server 140, a controller 204. In some embodiments, the mobile device 110 and on-board computer 114 may be integrated into a single device, or either may perform the functions of both. The on-board computer 114 (or mobile device 110) interfaces with the sensors 120 and/or personal electronic devices to receive information regarding the vehicle 108 and its environment, which information is used by the autonomous operation features to operate the vehicle 108.


Similar to the controller 155, the controller 204 may include a program memory 208, one or more microcontrollers or microprocessors (MP) 210, a RAM 212, and an I/O circuit 216, all of which are interconnected via an address/data bus 214. The program memory 208 includes an operating system 226, a data storage 228, a plurality of software applications 230, and/or a plurality of software routines 240. The operating system 226, for example, may include one of a plurality of general purpose or mobile platforms, such as the Android™, iOS®, or Windows® systems, developed by Google Inc., Apple Inc., and Microsoft Corporation, respectively. Alternatively, the operating system 226 may be a custom operating system designed for autonomous vehicle operation using the on-board computer 114. The data storage 228 may include data such as user profiles and preferences, application data for the plurality of applications 230, routine data for the plurality of routines 240, and other data related to the autonomous operation features. In some embodiments, the controller 204 may also include, or otherwise be communicatively connected to, other data storage mechanisms (e.g., one or more hard disk drives, optical storage drives, solid state storage devices, etc.) that reside within the vehicle 108.


As discussed with reference to the controller 155, it should be appreciated that although FIG. 2 depicts only one microprocessor 210, the controller 204 may include multiple microprocessors 210. Similarly, the memory of the controller 204 may include multiple RAMs 212 and multiple program memories 208. Although FIG. 2 depicts the I/O circuit 216 as a single block, the I/O circuit 216 may include a number of different types of I/O circuits. The controller 204 may implement the RAMs 212 and the program memories 208 as semiconductor memories, magnetically readable memories, or optically readable memories, for example.


The one or more processors 210 may be adapted and configured to execute any of one or more of the plurality of software applications 230 or any one or more of the plurality of software routines 240 residing in the program memory 204, in addition to other software applications. One of the plurality of applications 230 may be an autonomous vehicle operation application 232 that may be implemented as a series of machine-readable instructions for performing the various tasks associated with implementing one or more of the autonomous operation features according to the autonomous vehicle operation method 300, described further below. Another of the plurality of applications 230 may be an autonomous communication application 234 that may be implemented as a series of machine-readable instructions for transmitting and receiving autonomous operation information to or from external sources via the communication module 220. Still another application of the plurality of applications 230 may include an autonomous operation monitoring application 236 that may be implemented as a series of machine-readable instructions for sending information regarding autonomous operation of the vehicle to the server 140 via the network 130. The Data Application for collecting, generating, processing, analyzing, transmitting, receiving, and/or acting upon autonomous operation feature data may also be stored as one of the plurality of applications 230 in the program memory 208 of the mobile computing device 110 or on-board computer 114, which may be executed by the one or more processors 210 thereof.


The plurality of software applications 230 may call various of the plurality of software routines 240 to perform functions relating to autonomous vehicle operation, monitoring, or communication. One of the plurality of software routines 240 may be a configuration routine 242 to receive settings from the vehicle operator to configure the operating parameters of an autonomous operation feature. Another of the plurality of software routines 240 may be a sensor control routine 244 to transmit instructions to a sensor 120 and receive data from the sensor 120. Still another of the plurality of software routines 240 may be an autonomous control routine 246 that performs a type of autonomous control, such as collision avoidance, lane centering, or speed control. In some embodiments, the autonomous vehicle operation application 232 may cause a plurality of autonomous control routines 246 to determine control actions required for autonomous vehicle operation.


Similarly, one of the plurality of software routines 240 may be a monitoring and reporting routine 248 that transmits information regarding autonomous vehicle operation to the server 140 via the network 130. Yet another of the plurality of software routines 240 may be an autonomous communication routine 250 for receiving and transmitting information between the vehicle 108 and external sources to improve the effectiveness of the autonomous operation features. Any of the plurality of software applications 230 may be designed to operate independently of the software applications 230 or in conjunction with the software applications 230.


When implementing the exemplary autonomous vehicle operation method 300, the controller 204 of the on-board computer 114 may implement the autonomous vehicle operation application 232 to communicate with the sensors 120 to receive information regarding the vehicle 108 and its environment and process that information for autonomous operation of the vehicle 108. In some embodiments including external source communication via the communication component 122 or the communication unit 220, the controller 204 may further implement the autonomous communication application 234 to receive information for external sources, such as other autonomous vehicles, smart infrastructure (e.g., electronically communicating roadways, traffic signals, or parking structures), or other sources of relevant information (e.g., weather, traffic, local amenities). Some external sources of information may be connected to the controller 204 via the network 130, such as the server 140 or internet-connected third-party databases (not shown). Although the autonomous vehicle operation application 232 and the autonomous communication application 234 are shown as two separate applications, it should be understood that the functions of the autonomous operation features may be combined or separated into any number of the software applications 230 or the software routines 240.


When implementing the autonomous operation feature monitoring method 400, the controller 204 may further implement the autonomous operation monitoring application 236 to communicate with the server 140 to provide information regarding autonomous vehicle operation. This may include information regarding settings or configurations of autonomous operation features, data from the sensors 120 regarding the vehicle environment, data from the sensors 120 regarding the response of the vehicle 108 to its environment, communications sent or received using the communication component 122 or the communication unit 220, operating status of the autonomous vehicle operation application 232 and the autonomous communication application 234, and/or control commands sent from the on-board computer 114 to the control components (not shown) to operate the vehicle 108. In some embodiments, control commands generated by the on-board computer 114 but not implemented may also be recorded and/or transmitted for analysis of how the autonomous operation features would have responded to conditions if the features had been controlling the relevant aspect or aspects of vehicle operation. The information may be received and stored by the server 140 implementing the autonomous operation information monitoring application 141, and the server 140 may then determine the effectiveness of autonomous operation under various conditions by implementing the feature evaluation application 142, which may include an assessment of autonomous operation features compatibility. The effectiveness of autonomous operation features and the extent of their use may be further used to determine one or more risk levels associated with operation of the autonomous vehicle by the server 140.


In addition to connections to the sensors 120 that are external to the mobile device 110 or the on-board computer 114, the mobile device 110 or the on-board computer 114 may include additional sensors 120, such as the GPS unit 206 or the accelerometer 224, which may provide information regarding the vehicle 108 for autonomous operation and other purposes. Such sensors 120 may further include one or more sensors of a sensor array 225, which may include, for example, one or more cameras, accelerometers, gyroscopes, magnetometers, barometers, thermometers, proximity sensors, light sensors, Hall Effect sensors, etc. The one or more sensors of the sensor array 225 may be positioned to determine telematics data regarding the speed, force, heading, and/or direction associated with movements of the vehicle 108. Furthermore, the communication unit 220 may communicate with other autonomous vehicles, infrastructure, or other external sources of information to transmit and receive information relating to autonomous vehicle operation. The communication unit 220 may communicate with the external sources via the network 130 or via any suitable wireless communication protocol network, such as wireless telephony (e.g., GSM, CDMA, LTE, etc.), Wi-Fi (802.11 standards), WiMAX, Bluetooth, infrared or radio frequency communication, etc. Furthermore, the communication unit 220 may provide input signals to the controller 204 via the I/O circuit 216. The communication unit 220 may also transmit sensor data, device status information, control signals, or other output from the controller 204 to one or more external sensors within the vehicle 108, mobile devices 110, on-board computers 114, or servers 140.


The mobile device 110 or the on-board computer 114 may include a user-input device (not shown) for receiving instructions or information from the vehicle operator, such as settings relating to an autonomous operation feature. The user-input device (not shown) may include a “soft” keyboard that is displayed on the display 202, an external hardware keyboard communicating via a wired or a wireless connection (e.g., a Bluetooth keyboard), an external mouse, a microphone, or any other suitable user-input device. The user-input device (not shown) may also include a microphone capable of receiving user voice input.


Data Application


The mobile device 110 and/or on-board computer 114 may run a Data Application to collect, transmit, receive, and/or process autonomous operation feature data. Such autonomous operation feature data may include data directly generated by autonomous operation features, such as control commands used in operating the vehicle 108. Similarly, such autonomous operation feature data may include shadow control commands generated by the autonomous operation features but not actually used in operating the vehicle, such as may be generated when the autonomous operation features are disabled. The autonomous operation feature data may further include non-control data generated by the autonomous operation features, such as determinations regarding environmental conditions in the vehicle operating environment in which the vehicle 108 operates (e.g., traffic conditions, construction locations, pothole locations, worn lane markings, corners with obstructed views, etc.). The autonomous operation feature data may yet further include sensor data generated by (or derived from sensor data generated by) sensors 120 utilized by the autonomous operation features. For example, data from LIDAR and ultrasonic sensors may be used by vehicles for autonomous operation. Such data captures a much more detailed and complete representation of the conditions in which the vehicle 108 operates than traditional vehicle operation metrics (e.g., miles driven) or non-autonomous telematics data (e.g., acceleration, position, and time).


Autonomous operation feature data may be processed and used by the Data Application to determine information regarding the vehicle 108, its operation, or its operating environment. The autonomous operation feature data may further be communicated by the Data Application to a server 140 via network 130 for processing and/or storage. In some embodiments, the autonomous operation feature data (or information derived therefrom) may be transmitted directly via radio links 183 or indirectly via network 130 from the vehicle 108 to other vehicles (or to mobile devices 110). By communicating information associated with the autonomous operation feature data to other nearby vehicles, the other vehicles or their operators may make use of such data for routing, control, or other purposes. This may be particularly valuable in providing detailed information regarding a vehicle environment (e.g., traffic, accidents, flooding, ice, etc.) collected by a Data Application of an autonomous vehicle 108 to a driver of a non-autonomous vehicle via a Data Application of a mobile device 110 associated with the driver. For example, ice patches may be identified by an autonomous operation feature of a vehicle controller 181.1 of vehicle 182.1 and transmitted via the Data Application operating in the mobile computing device 184.1 over the network 130 to the mobile computing device 184.2, where a warning regarding the ice patches may be presented to the driver of vehicle 182.2. As another example, locations of emergency vehicles or accidents may be determined and communicated between vehicles 182, such as between an autonomous vehicle 182.1 and a traditional (non-autonomous) vehicle 182.2.


In further embodiments, a Data Application may serve as an interface between the user and an autonomous vehicle 108, via the user's mobile device 110 and/or the vehicle's on-board computer 114. The user may interact with the Data Application to locate, retrieve, park, control, or monitor the vehicle 108. For example, the Data Application may be used to select a destination and route the vehicle 108 to the destination, which may include controlling the vehicle to travel to the destination in a fully autonomous mode. In some embodiments, the Data Application may further determine and/or provide information regarding the vehicle 108, such as the operating status or condition of autonomous operation features, sensors, or other vehicle components (e.g., tire pressure). In yet further embodiments, the Data Application may be configured to assess risk levels associated with vehicle operation based upon location, autonomous operation feature use (including settings), operating conditions, or other factors. Such risk assessment may be further used in recommending autonomous feature use levels, generating warnings to a vehicle operator, or adjusting an insurance policy associated with the vehicle 108.


Data Applications may be installed and running on a plurality of mobile devices 110 and/or on-board computers 114 in order to facilitate data sharing and other functions as described herein. Additionally, such Data Applications may provide data to, and receive data from, one or more servers 140. For example, a Data Application running on a user's mobile device 110 may communicate location data to a server 140 via the network 130. The server 140 may then process the data to determine a route, risk level, recommendation, or other action. The server 140 may then communicate the determined information to the mobile device 110 and/or on-board computer 114, which may cause the vehicle 108 to operate in accordance with the determined information (e.g., travel along a determined optimal route). Thus, the Data Application may facilitate data communication between the front-end components 102 and the back-end components 104, allowing more efficient processing and data storage.


Exemplary Autonomous Vehicle Operation Method



FIG. 3 illustrates a flow diagram of an exemplary autonomous vehicle operation method 300, which may be implemented by the autonomous vehicle data system 100. The method 300 may begin when the controller 204 receives a start signal (block 302). The start signal may be a command from the vehicle operator through the user-input device to enable or engage one or more autonomous operation features of the vehicle 108. In some embodiments, the vehicle operator 108 may further specify settings or configuration details for the autonomous operation features. For fully autonomous vehicles, the settings may relate to one or more destinations, route preferences, fuel efficiency preferences, speed preferences, or other configurable settings relating to the operation of the vehicle 108. In some embodiments, fully autonomous vehicles may include additional features or settings permitting them to operate without passengers or vehicle operators within the vehicle. For example, a fully autonomous vehicle may receive an instruction to find a parking space within the general vicinity, which the vehicle may do without the vehicle operator. The vehicle may then be returned to a selected location by a request from the vehicle operator via a mobile device 110 or otherwise. This feature may further be adapted to return a fully autonomous vehicle if lost or stolen.


For other autonomous vehicles, the settings may include enabling or disabling particular autonomous operation features, specifying thresholds for autonomous operation, specifying warnings or other information to be presented to the vehicle operator, specifying autonomous communication types to send or receive, specifying conditions under which to enable or disable autonomous operation features, or specifying other constraints on feature operation. For example, a vehicle operator may set the maximum speed for an adaptive cruise control feature with automatic lane centering. In some embodiments, the settings may further include a specification of whether the vehicle 108 should be operating as a fully or partially autonomous vehicle.


In embodiments where only one autonomous operation feature is enabled, the start signal may consist of a request to perform a particular task (e.g., autonomous parking) or to enable a particular feature (e.g., autonomous braking for collision avoidance). In other embodiments, the start signal may be generated automatically by the controller 204 based upon predetermined settings (e.g., when the vehicle 108 exceeds a certain speed or is operating in low-light conditions). In some embodiments, the controller 204 may generate a start signal when communication from an external source is received (e.g., when the vehicle 108 is on a smart highway or near another autonomous vehicle). In some embodiments, the start signal may be generated by or received by the Data Application running on a mobile device 110 or on-board computer 114 within the vehicle 108. The Data Application may further set or record settings for one or more autonomous operation features of the vehicle 108.


After receiving the start signal at block 302, the controller 204 receives sensor data from the sensors 120 during vehicle operation (block 304). In some embodiments, the controller 204 may also receive information from external sources through the communication component 122 or the communication unit 220. The sensor data may be stored in the RAM 212 for use by the autonomous vehicle operation application 232. In some embodiments, the sensor data may be recorded in the data storage 228 or transmitted to the server 140 via the network 130. The Data Application may receive the sensor data, or a portion thereof, and store or transmit the received sensor data. In some embodiments, the Data Application may process or determine summary information from the sensor data before storing or transmitting the summary information. The sensor data may alternately either be received by the controller 204 as raw data measurements from one of the sensors 120 or may be preprocessed by the sensor 120 prior to being received by the controller 204. For example, a tachometer reading may be received as raw data or may be preprocessed to indicate vehicle movement or position. As another example, a sensor 120 comprising a radar or LIDAR unit may include a processor to preprocess the measured signals and send data representing detected objects in 3-dimensional space to the controller 204.


The autonomous vehicle operation application 232 or other applications 230 or routines 240 may cause the controller 204 to process the received sensor data in accordance with the autonomous operation features (block 306). The controller 204 may process the sensor data to determine whether an autonomous control action is required or to determine adjustments to the controls of the vehicle 108 (i.e., control commands). For example, the controller 204 may receive sensor data indicating a decreasing distance to a nearby object in the vehicle's path and process the received sensor data to determine whether to begin braking (and, if so, how abruptly to slow the vehicle 108). As another example, the controller 204 may process the sensor data to determine whether the vehicle 108 is remaining with its intended path (e.g., within lanes on a roadway). If the vehicle 108 is beginning to drift or slide (e.g., as on ice or water), the controller 204 may determine appropriate adjustments to the controls of the vehicle to maintain the desired bearing. If the vehicle 108 is moving within the desired path, the controller 204 may nonetheless determine whether adjustments are required to continue following the desired route (e.g., following a winding road). Under some conditions, the controller 204 may determine to maintain the controls based upon the sensor data (e.g., when holding a steady speed on a straight road).


In some embodiments, the Data Application may record information related to the processed sensor data, including whether the autonomous operation features have determined one or more control actions to control the vehicle and/or details regarding such control actions. The Data Application may record such information even when no control actions are determined to be necessary or where such control actions are not implemented. Such information may include information regarding the vehicle operating environment determined from the processed sensor data (e.g., construction, other vehicles, pedestrians, anomalous environmental conditions, etc.). The information collected by the Data Application may further include an indication of whether and/or how the control actions are implemented using control components of the vehicle 108.


When the controller 204 determines an autonomous control action is required (block 308), the controller 204 may cause the control components of the vehicle 108 to adjust the operating controls of the vehicle to achieve desired operation (block 310). For example, the controller 204 may send a signal to open or close the throttle of the vehicle 108 to achieve a desired speed. Alternatively, the controller 204 may control the steering of the vehicle 108 to adjust the direction of movement. In some embodiments, the vehicle 108 may transmit a message or indication of a change in velocity or position using the communication component 122 or the communication module 220, which signal may be used by other autonomous vehicles to adjust their controls. As discussed elsewhere herein, the controller 204 may also log or transmit the autonomous control actions to the server 140 via the network 130 for analysis. In some embodiments, an application (which may be a Data Application) executed by the controller 204 may communicate data to the server 140 via the network 130 or may communicate such data to the mobile device 110 for further processing, storage, transmission to nearby vehicles or infrastructure, and/or communication to the server 140 via network 130.


The controller 204 may continue to receive and process sensor data at blocks 304 and 306 until an end signal is received by the controller 204 (block 312). The end signal may be automatically generated by the controller 204 upon the occurrence of certain criteria (e.g., the destination is reached or environmental conditions require manual operation of the vehicle 108 by the vehicle operator). Alternatively, the vehicle operator may pause, terminate, or disable the autonomous operation feature or features using the user-input device or by manually operating the vehicle's controls, such as by depressing a pedal or turning a steering instrument. When the autonomous operation features are disabled or terminated, the controller 204 may either continue vehicle operation without the autonomous features or may shut off the vehicle 108, depending upon the circumstances.


Where control of the vehicle 108 must be returned to the vehicle operator, the controller 204 may alert the vehicle operator in advance of returning to manual operation. The alert may include a visual, audio, or other indication to obtain the attention of the vehicle operator. In some embodiments, the controller 204 may further determine whether the vehicle operator is capable of resuming manual operation before terminating autonomous operation. If the vehicle operator is determined not to be capable of resuming operation, the controller 204 may cause the vehicle to stop or take other appropriate action.


To control the vehicle 108, the autonomous operation features may generate and implement control decisions relating to the control of the motive, steering, and stopping components of the vehicle 108. The control decisions may include or be related to control commands issued by the autonomous operation features to control such control components of the vehicle 108 during operation. In some embodiments, control decisions may include decisions determined by the autonomous operation features regarding control commands such feature would have issued under the conditions then occurring, but which control commands were not issued or implemented. For example, an autonomous operation feature may generate and record shadow control decisions it would have implemented if engaged to operate the vehicle 108 even when the feature is disengaged (or engaged using other settings from those that would produce the shadow control decisions).


Data regarding the control decisions actually implemented and/or the shadow control decisions not implemented to control the vehicle 108 may be recorded for use in assessing autonomous operation feature effectiveness, accident reconstruction and fault determination, feature use or settings recommendations, risk determination and insurance policy adjustments, or other purposes as described elsewhere herein. For example, actual control decisions may be compared against control decisions that would have been made by other systems, software versions, or with additional sensor data or communication data.


As used herein, the terms “preferred” or “preferably made” control decisions mean control decisions that optimize some metric associated with risk under relevant conditions. Such metric may include, among other things, a statistical correlation with one or more risks (e.g., risks related to a vehicle collision) or an expected value associated with risks (e.g., a risk-weighted expected loss associated with potential vehicle accidents). The preferably made, or preferred or recommended, control decisions discussed herein may include control decisions or control decision outcomes that are less risky, have lower risk or the lowest risk of all the possible or potential control decisions given various operating conditions, and/or are otherwise ideal, recommended, or preferred based upon various operating conditions, including autonomous system or feature capability; current road, environmental or weather, traffic, or construction conditions through which the vehicle is traveling; and/or current versions of autonomous system software or components that the autonomous vehicle is equipped with and using.


The preferred or recommended control decisions may result in the lowest level of potential or actual risk of all the potential or possible control decisions given a set of various operating conditions and/or system features or capabilities. Alternatively, the preferred or recommended control decisions may result in a lower level of potential or actual risk (for a given set of operating conditions) to the autonomous vehicle and passengers, and other people or vehicles, than some of the other potential or possible control decisions that could have been made by the autonomous system or feature.


Exemplary Monitoring Method



FIG. 4A is a flow diagram depicting an exemplary autonomous vehicle operation monitoring method 400, which may be implemented by the autonomous vehicle data system 100. The method 400 monitors the operation of the vehicle 108 and transmits information regarding the vehicle 108 to the server 140, which information may then be used to determine autonomous operation feature usage or effectiveness. The method 400 may be used for monitoring the state of the vehicle 108, for providing data to other vehicles 182, for responding to emergencies or unusual situations during vehicle use, for testing autonomous operation features in a controlled environment, for determining actual feature use during vehicle operation outside a test environment, for assessment of feature operation, and/or for other purposes described herein. In alternative embodiments, the method 400 may be implemented whenever the vehicle 108 is in operation (manual or autonomous) or only when the autonomous operation features are enabled. The method 400 may likewise be implemented as either a real-time process, in which information regarding the vehicle 108 is communicated to the server 140 while monitoring is ongoing, or as a periodic process, in which the information is stored within the vehicle 108 and communicated to the server 140 at intervals (e.g., upon completion of a trip or when an incident occurs). In some embodiments, the method 400 may communicate with the server 140 in real-time when certain conditions exist (e.g., when a sufficient data connection through the network 130 exists or when no roaming charges would be incurred). In further embodiments, a Data Application executed by the mobile device 110 and/or on-board computer 114 may perform such monitoring, recording, and/or communication functions, including any of the functions described below with respect to blocks 402-434.


The method 400 may begin when the controller 204 receives an indication of vehicle operation (block 402). The indication may be generated when the vehicle 108 is started or when an autonomous operation feature is enabled by the controller 204 or by input from the vehicle operator, as discussed above. In response to receiving the indication, the controller 204 may create a timestamp (block 404). The timestamp may include information regarding the date, time, location, vehicle environment, vehicle condition, and autonomous operation feature settings or configuration information. The date and time may be used to identify one vehicle trip or one period of autonomous operation feature use, in addition to indicating risk levels due to traffic or other factors. The additional location and environmental data may include information regarding the position of the vehicle 108 from the GPS unit 206 and its surrounding environment (e.g., road conditions, weather conditions, nearby traffic conditions, type of road, construction conditions, presence of pedestrians, presence of other obstacles, availability of autonomous communications from external sources, etc.). Vehicle condition information may include information regarding the type, make, and model of the vehicle 108, the age or mileage of the vehicle 108, the status of vehicle equipment (e.g., tire pressure, non-functioning lights, fluid levels, etc.), or other information relating to the vehicle 108. In some embodiments, vehicle condition information may further include information regarding the sensors 120, such as type, configuration, or operational status (which may be determined, for example, from analysis of actual or test data from the sensors). In some embodiments, the timestamp may be recorded on the client device 114, the mobile device 110, or the server 140.


The autonomous operation feature settings may correspond to information regarding the autonomous operation features, such as those described above with reference to the autonomous vehicle operation method 300. The autonomous operation feature configuration information may correspond to information regarding the number and type of the sensors 120 (which may include indications of manufacturers and models of the sensors 120), the disposition of the sensors 120 within the vehicle 108 (which may include disposition of sensors 120 within one or more mobile devices 110), the one or more autonomous operation features (e.g., the autonomous vehicle operation application 232 or the software routines 240), autonomous operation feature control software, versions of the software applications 230 or routines 240 implementing the autonomous operation features, or other related information regarding the autonomous operation features.


For example, the configuration information may include the make and model of the vehicle 108 (indicating installed sensors 120 and the type of on-board computer 114), an indication of a malfunctioning or obscured sensor 120 in part of the vehicle 108, information regarding additional after-market sensors 120 installed within the vehicle 108, a software program type and version for a control program installed as an application 230 on the on-board computer 114, and software program types and versions for each of a plurality of autonomous operation features installed as applications 230 or routines 240 in the program memory 208 of the on-board computer 114.


During operation, the sensors 120 and/or personal electronic devices may generate sensor data regarding the vehicle 108 and its environment, which may include other vehicles 182 within the operating environment of the vehicle 108. In some embodiments, one or more of the sensors 120 and/or personal electronic devices may preprocess the measurements and communicate the resulting processed data to the on-board computer 114 and/or the mobile device 110. The controller 204 may receive sensor data from the sensors 120 and/or personal electronic devices (block 406). The sensor data may include information regarding the vehicle's position, speed, acceleration, direction, and responsiveness to controls. The sensor data may further include information regarding the location and movement of obstacles or obstructions (e.g., other vehicles, buildings, barriers, pedestrians, animals, trees, or gates), weather conditions (e.g., precipitation, wind, visibility, or temperature), road conditions (e.g., lane markings, potholes, road material, traction, or slope), signs or signals (e.g., traffic signals, construction signs, building signs or numbers, or control gates), or other information relating to the vehicle's environment. In some embodiments, sensors 120 may indicate the number of passengers within the vehicle 108, including an indication of whether the vehicle is entirely empty.


In addition to receiving sensor data from the sensors 120, in some embodiments the controller 204 may receive autonomous communication data from the communication component 122 or the communication module 220 (block 408). The communication data may include information from other autonomous vehicles (e.g., sudden changes to vehicle speed or direction, intended vehicle paths, hard braking, vehicle failures, collisions, or maneuvering or stopping capabilities), infrastructure (road or lane boundaries, bridges, traffic signals, control gates, or emergency stopping areas), or other external sources (e.g., map databases, weather databases, or traffic and accident databases). In some embodiments, the communication data may include data from non-autonomous vehicles, which may include data regarding vehicle operation or anomalies within the operating environment determined by a Data Application operating on a mobile device 110 or on-board computer 114. The communication data may be combined with the received sensor data received to obtain a more robust understanding of the vehicle environment. For example, the server 140 or the controller 204 may combine sensor data indicating frequent changes in speed relative to tachometric data with map data relating to a road upon which the vehicle 108 is traveling to determine that the vehicle 108 is in an area of hilly terrain. As another example, weather data indicating recent snowfall in the vicinity of the vehicle 108 may be combined with sensor data indicating frequent slipping or low traction to determine that the vehicle 108 is traveling on a snow-covered or icy road.


The controller 204 may process the sensor data, the communication data, and the settings or configuration information to determine whether an incident has occurred (block 410). As used herein, an “incident” is an occurrence during operation of an autonomous vehicle outside of normal safe operating conditions, such that one or more of the following occurs: (i) there is an interruption of ordinary vehicle operation, (ii) there is damage to the vehicle or other property, (iii) there is injury to a person, (iv) the conditions require action to be taken by a vehicle operator, autonomous operation feature, pedestrian, or other party to avoid damage or injury, and/or (v) an anomalous condition is detected that requires an adjustment outside of ordinary vehicle operation. Incidents may include collisions, hard braking, hard acceleration, evasive maneuvering, loss of traction, detection of objects within a threshold distance from the vehicle 108, alerts presented to the vehicle operator, component failure, inconsistent readings from sensors 120, or attempted unauthorized access to the on-board computer by external sources. Incidents may also include accidents, vehicle breakdowns, flat tires, empty fuel tanks, or medical emergencies. Incidents may further include identification of construction requiring the vehicle to detour or stop, hazardous conditions (e.g., fog or road ice), or other anomalous environmental conditions.


In some embodiments, the controller 204 may anticipate or project an expected incident based upon sensor or external data, allowing the controller 204 to send control signals to minimize the negative effects of the incident. For example, the controller 204 may cause the vehicle 108 to slow and move to the shoulder of a road immediately before running out of fuel. As another example, adjustable seats within the vehicle 108 may be adjusted to better position vehicle occupants in anticipation of a collision, windows may be opened or closed, or airbags may be deployed.


When an incident is determined to have occurred (block 412), information regarding the incident and the vehicle status may be recorded (block 414), either in the data storage 228 or the database 146. The information recorded may include sensor data, communication data, and settings or configuration information prior to, during, and immediately following the incident. In some embodiments, a preliminary determination of fault may also be produced and stored. The information may further include a determination of whether the vehicle 108 has continued operating (either autonomously or manually) or whether the vehicle 108 is capable of continuing to operate in compliance with applicable safety and legal requirements. If the controller 204 determines that the vehicle 108 has discontinued operation or is unable to continue operation (block 416), the method 400 may terminate. If the vehicle 108 continues operation, then the method 400 may continue as described below with reference to block 418.



FIG. 4B illustrates an alternative portion of the method 400 following an incident. When an incident is determined to have occurred (block 412), the controller 204 or the server 140 may record status and operating information (block 414), as above. In some instances, the incident may interrupt communication between the vehicle 108 and the server 140 via network 130, such that not all information typically recorded will be available for recordation and analysis by the server 140. Based upon the recorded data, the server 140 or the controller 204 may determine whether assistance may be needed at the location of the vehicle 108 (block 430). For example, the controller may determine that a head-on collision has occurred based upon sensor data (e.g., airbag deployment, automatic motor shut-off, LIDAR data indicating a collision, etc.) and may further determine based upon information regarding the speed of the vehicle 108 and other information that medical, police, and/or towing services will be necessary. The determination that assistance is needed may further include a determination of types of assistance needed (e.g., police, ambulance, fire, towing, vehicle maintenance, fuel delivery, etc.). This determination may include analysis of the type of incident, the sensor data regarding the incident (e.g., images from outward facing or inward facing cameras installed within the vehicle, identification of whether any passengers were present within the vehicle, determination of whether any pedestrians or passengers in other vehicles were involved in the incident, etc.). The determination of whether assistance is needed may further include information regarding the determined status of the vehicle 108.


In some embodiments, the determination regarding whether assistance is needed may be supplemented by a verification attempt, such as a phone call or communication through the on-board computer 114. Where the verification attempt indicates assistance is required or communication attempts fail, the server 140 or controller 204 would then determine that assistance is needed, as described above. For example, when assistance is determined to be needed following an accident involving the vehicle 108, the server 140 may direct an automatic telephone call to a mobile telephone number associated with the vehicle 108 or the vehicle operator. If no response is received, or if the respondent indicates assistance is required, the server 140 may proceed to cause a request for assistance to be generated.


When assistance is determined to be needed (block 432), the controller 204 or the server 140 may send a request for assistance (block 434). The request may include information regarding the vehicle 108, such as the vehicle's location, the type of assistance required, other vehicles involved in the incident, pedestrians involved in the incident, vehicle operators or passengers involved in the incident, and/or other relevant information. The request for assistance may include telephonic, data, or other requests to one or more emergency or vehicular service providers (e.g., local police, fire departments, state highway patrols, emergency medical services, public or private ambulance services, hospitals, towing companies, roadside assistance services, vehicle rental services, local claims representative offices, etc.). After sending a request for assistance (block 434) or when assistance is determined not to be needed (block 432), the controller 204 or the server 140 may next determine whether the vehicle is operational (block 416), as described above. The method 400 may then end or continue as indicated in FIG. 4A.


In some embodiments, the controller 204 may further determine information regarding the likely cause of a collision or other incident. Alternatively, or additionally, the server 140 may receive information regarding an incident from the on-board computer 114 and determine relevant additional information regarding the incident from the sensor data. For example, the sensor data may be used to determine the points of impact on the vehicle 108 and another vehicle involved in a collision, the relative velocities of each vehicle, the road conditions at the time of the incident, and the likely cause or the party likely at fault. This information may be used to determine risk levels associated with autonomous vehicle operation, as described below, even where the incident is not reported to the insurer.


The controller 204 may determine whether a change or adjustment to one or more of the settings or configuration of the autonomous operation features has occurred (block 418). Changes to the settings may include enabling or disabling an autonomous operation feature or adjusting the feature's parameters (e.g., resetting the speed on an adaptive cruise control feature). For example, a vehicle operator may selectively enable or disable autonomous operation features such as automatic braking, lane centering, or even fully autonomous operation at different times. If the settings or configuration are determined to have changed, the new settings or configuration may be recorded (block 422), either in the data storage 228 or the database 146. For example, the Data Application may log autonomous operation feature use and changes in a log file, including timestamps associated with the features in use.


Next, the controller 204 may record the operating data relating to the vehicle 108 in the data storage 228 or communicate the operating data to the server 140 via the network 130 for recordation in the database 146 (block 424). The operating data may include the settings or configuration information, the sensor data, and/or the communication data discussed above. In some embodiments, operating data related to normal autonomous operation of the vehicle 108 may be recorded. In other embodiments, only operating data related to incidents of interest may be recorded, and operating data related to normal operation may not be recorded. In still other embodiments, operating data may be stored in the data storage 228 until a sufficient connection to the network 130 is established, but some or all types of incident information may be transmitted to the server 140 using any available connection via the network 130.


The controller 204 may then determine whether operation of the vehicle 108 remains ongoing (block 426). In some embodiments, the method 400 may terminate when all autonomous operation features are disabled, in which case the controller 204 may determine whether any autonomous operation features remain enabled. When the vehicle 108 is determined to be operating (or operating with at least one autonomous operation feature enabled), the method 400 may continue through blocks 406-426 until vehicle operation has ended. When the vehicle 108 is determined to have ceased operating (or is operating without autonomous operation features enabled), the controller 204 may record the completion of operation (block 428), either in the data storage 228 or the database 146. In some embodiments, a second timestamp corresponding to the completion of vehicle operation may likewise be recorded, as above.


Exemplary Vehicle Action Communication Methods



FIG. 5 illustrates a flow diagram of an exemplary vehicle action communication method 500 for communicating upcoming maneuvers between autonomous vehicles 108, 182. In some embodiments, the vehicle action communication method 500 may be implemented on the on-board computer 114 or mobile device 110 in the vehicle 108. The vehicle 108 may be operating in a fully autonomous mode of operation without any control decisions being made by a vehicle operator, excluding navigation decisions such as selection of a destination or route. In some embodiments, the vehicle 108 may be operating without any passengers or with only passengers who are physically or legally unable to operate the vehicle 108 in a manual or semi-autonomous mode of operation (e.g., children, persons suffering acute illness, intoxicated or otherwise impaired persons, etc.). During manual vehicle operation or semi-autonomous vehicle operation, vehicle operators may perceive signals from other vehicles indicating their current or upcoming maneuvers (e.g., a turn or lane change signal, brake lights, reverse lights, etc.). However, many maneuvers do not have corresponding signals, such as speeding up, slowing down losing control of the vehicle, etc., and oftentimes vehicle operators do not use a signal when changing lanes or performing other maneuvers. Further, even when an appropriate signal is provided, vehicle operators may be slow to react to such signal or may be unable to weigh all of their options to identify the optimal reaction in a limited amount of time.


For example, when a vehicle in an adjacent lane signals a lane change into the vehicle operator's lane, the vehicle operator may recognize that the vehicles will collide if the lane change is performed. Because there is a car directly in front of the vehicle operator's vehicle, the vehicle operator may not be able to speed up to avoid the collision and instead may honk a horn to alert the other vehicle operator of the potential collision. While this may prevent the collision, honking the horn may not remove the risk entirely if the other vehicle operator does not hear the horn or does not react appropriately in response. The risk of a collision may be reduced more significantly if the vehicle operator moves into a third lane which is currently unoccupied. However, the vehicle operator may not have time to identify that the third lane is unoccupied before deciding how to react to the lane change signal. The vehicle action communication method 500 addresses these issues.


The vehicle action communication method 500 may begin by receiving a communication from a second autonomous vehicle 182 (block 502), travelling on the same road as the first autonomous vehicle 108. A distance may be identified between the vehicles 108, 182 (block 504) as well as the current speeds of the vehicles 108, 182, and the communication may be analyzed to identify an upcoming maneuver which will be performed by the second autonomous vehicle 182 (block 506). Based upon the upcoming maneuver for the second autonomous vehicle 182, the distance between the vehicles 108, 182, and/or the current speeds of the vehicles 108, 182, the on-board computer 114 in the first autonomous vehicle 108 may determine whether the vehicles 108, 182 will collide (block 508). If the vehicles 108, 182 will collide (block 510), a maneuver is identified for the first autonomous vehicle 108 to avoid a path of the second autonomous vehicle 182 (block 512). The on-board computer 114 may then cause the first autonomous vehicle 108 to move in accordance with the identified maneuver to avoid the second autonomous vehicle 182 (block 514). Although the method 500 is described with reference to the on-board computer 114 for simplicity, the described method may be easily modified for implementation by other systems or devices, including one or more of mobile devices 110 and/or servers 140.


At block 502, the on-board computer 114 of the first autonomous vehicle 108 may receive a communication from the second autonomous vehicle 182. The second autonomous vehicle 182 may broadcast the communication, via a V2V wireless communication protocol, to all vehicles within a predetermined communication range (e.g., 50 feet, 100 feet, 200 feet, etc.) of the second autonomous vehicle 182 and/or travelling on the same road as the second autonomous vehicle 182. In some scenarios, the receiving vehicles within the predetermined communication range of the second autonomous vehicle 182 may re-broadcast the communication to several other vehicles within a predetermined communication range of the receiving vehicles. For example, when the second autonomous vehicle 182 broadcasts a communication indicating that the second autonomous vehicle 182 is travelling at high speeds due to an emergency, the receiving vehicles may re-broadcast the communication so that vehicles up ahead may be alerted of the emergency and/or pull over.


The communication may include identification information for the second autonomous vehicle 182, such as the make, model, and year of the second autonomous vehicle 182, a vehicle identification number (VIN) for the second autonomous vehicle 182, or any other suitable identification information. In some embodiments, the communication may also include an indication of the type of vehicle, such as an emergency vehicle, police car, truck, school bus, etc. Moreover, the communication may include an indication of the number of passengers within the second autonomous vehicle 182 and/or respective locations of the passengers (e.g., driver's side, passenger side, front seat, back seat, etc.).


The communication may also include an indication of the location of the second autonomous vehicle 182, which may be a street address, an intersection, a set of GPS coordinates, etc. In some embodiments, the on-board computer 114 may determine the location of the second autonomous vehicle 182 by determining the current location of the first autonomous vehicle 108 using a GPS unit for example, and determining the distance between the vehicles 108, 182 based upon a received signal strength (RSSI) of the communication and/or a direction from which the communication was transmitted (e.g., via a directional antenna within the communication component 122).


Furthermore, the communication may include an indication of an upcoming maneuver to be performed by the second autonomous vehicle 182. The maneuver may be a lane change into or out of the lane currently occupied by the first autonomous vehicle 108. The maneuver may also be slowing down in response to an upcoming traffic signal, travelling at high speeds due to an emergency, a turn at an upcoming intersection, a series of lane changes to exit a highway, a merge onto a highway, and/or moving in reverse. In some scenarios, the maneuver may be a loss of control event, such as an uncontrolled vehicle movement or a failure experienced by one of the autonomous operation features in the second autonomous vehicle 182.


In some embodiments, the communication may include sensor data from the second autonomous vehicle 182, such as a vehicle speed, vehicle acceleration, vehicle orientation, etc., at one or several times before and/or during the communication.


Moreover, in some scenarios the communication may include a requested maneuver for the first autonomous vehicle 108 to perform in response to the upcoming maneuver for the second autonomous vehicle 182. For example, when the second autonomous vehicle 182 broadcasts a communication indicating that the second autonomous vehicle 182 is travelling at high speeds due to an emergency, the communication may include a request for all vehicles in front of the second autonomous vehicle 182 to pull over into the left lane. In this manner, the right lane may be clear and the second autonomous vehicle 182 may travel at very high speeds without risking a collision.


As mentioned above, the receiving vehicles may re-broadcast the communication to vehicles further in front, which may in turn re-broadcast the communication so that the second autonomous vehicle 182 has a clear path to the destination (e.g., a hospital, a crime scene, a burning building, etc.). In some embodiments, the communication may include an indication of the destination and/or of the route so that the communication may be re-broadcasted to vehicles further ahead along the route of the second autonomous vehicle 182.


At block 504, the on-board computer 114 may identify a distance between the first autonomous vehicle 108 and the second autonomous vehicle 182. For example, as mentioned above, the communication may include a location of the second autonomous vehicle 182. The on-board computer 114 may compare the received location to a current location of the first autonomous vehicle 108, as determined by the GPS unit to identify the distance between the vehicles 108, 182. In another example, the distance between the vehicles 108, 182 may be determined based upon the RSSI of the communication.


The on-board computer 114 may also identify the current speeds of the vehicles 108, 182 via sensors within the vehicle 108 and the communication, respectively. In some embodiments, the on-board computer 114 may identify additional sensor data for the vehicles 108, 182 such as accelerations, orientations, etc.


At block 506, the on-board computer 114 may analyze the communication to identify an upcoming maneuver to be performed by the second autonomous vehicle 182. As mentioned above, the communication may include an indication of an upcoming maneuver to be performed by the second autonomous vehicle 182. The on-board computer 114 may parse the communication to identify the maneuver.


At block 508, based upon the upcoming maneuver for the second autonomous vehicle 182, the distance between the vehicles 108, 182, and/or the current speeds of the vehicles 108, 182, the on-board computer 114 in the first autonomous vehicle 108 may determine whether the vehicles 108, 182 will collide. In some embodiments, the on-board computer 114 may utilize additional sensor data, such as the accelerations, orientations, etc., of the vehicles 108, 182 to determine whether the vehicles 108, 182 will collide.


Also in some embodiments, the on-board computer 114 may identify an amount of time until a collision is expected. In this manner, when there is a significant amount of time until the collision is expected, the first autonomous vehicle 108 may have time to wait until there is room in other lanes before making a corresponding maneuver. On the other hand, when a collision is expected to occur momentarily (e.g., within two seconds, five seconds, ten seconds, etc.), the first autonomous vehicle 108 may need to make an immediate maneuver to avoid the collision.


For example, the second autonomous vehicle 182 may be in an adjacent lane to the first autonomous vehicle 108 (e.g., as determined based upon the locations of the respective vehicles 108, 182 and/or the distance between them and the direction from which the communication came). The upcoming maneuver may be a lane change into the vehicle's lane. Moreover, the vehicles 108, 182 may be travelling at the same speed or within a predetermined threshold speed of each other (e.g., five miles per hour (mph)), and/or may be within a predetermined threshold distance of each other along the path of the road (e.g., 10 feet, 30 feet, 50 feet, 100 feet, etc.). Accordingly, the on-board computer 114 may determine that the vehicles 108, 182 will collide when the second autonomous vehicle 182 maneuvers into the first autonomous vehicle's lane.


In another example, the second autonomous vehicle 182 may be in the same lane as the first autonomous vehicle 108 and directly in front of the first autonomous vehicle 108 (e.g., as determined based upon the locations of the respective vehicles 108, 182 and/or the distance between them and the direction from which the communication came). The upcoming maneuver may be to slow down at a rate of five mph every second. The first autonomous vehicle 108 may be travelling faster than the second autonomous vehicle 182 and/or the vehicles 108, 182 may be within a predetermined threshold distance of each other along the path of the road (e.g., 10 feet, 30 feet, 50 feet, 100 feet, etc.). Accordingly, the on-board computer 114 may determine that the vehicles 108, 182 will collide within three seconds as the second autonomous vehicle 182 slows down.


If the vehicles 108, 182 will not collide, the first autonomous vehicle 108 may continue travelling on the previous route without an additional maneuver. On the other hand, if the vehicles 108, 182 will collide, the on-board computer 114 may identify a maneuver for the first autonomous vehicle 108 to avoid the path of the second vehicle 182 (block 512).


At block 512, a maneuver is identified to avoid the path of the second autonomous vehicle 182. The maneuver may include speeding up, slowing down, pulling over, changing lanes, turning, reversing, and/or any other suitable maneuver to avoid the path of the second autonomous vehicle 182. In some embodiments, the communication from the second autonomous vehicle 182 may provide a requested maneuver for the first autonomous vehicle 108 to perform. In other embodiments, the on-board computer identifies the maneuver for the first autonomous vehicle 108 to perform to avoid a collision.


In addition to avoiding the path of the second autonomous vehicle 182, the on-board computer 114 may receive communications identifying paths of other vehicles travelling on the same road and/or may identify the locations of the other vehicles on the same road. In this manner, the on-board computer 114 may identify whether the first autonomous vehicle 108 may speed up, slow down, move into an adjacent lane, etc., without colliding with any of the other vehicles.


For example, when the second autonomous vehicle 182 changes lanes into the first autonomous vehicle's lane which may result in a collision, the on-board computer 114 may determine that maneuvers including speeding up above a threshold speed, slowing down below a threshold speed, and/or moving into an adjacent lane may be used to successfully avoid the collision. The on-board computer 114 may then determine that the adjacent lanes are occupied. Additionally, the on-board computer 114 may determine that if the first autonomous vehicle 108 accelerates to reach the threshold speed, the first autonomous vehicle 108 will collide with a vehicle in front. As a result, the on-board computer 114 may determine that the optimal maneuver is to slow down below the threshold speed.


In some embodiments, for example, when the second autonomous vehicle 182 broadcasts a loss of control event or an emergency, the on-board computer 114 may identify a maneuver that will cause the first autonomous vehicle 108 to stay more than a threshold distance from the second autonomous vehicle 182. More specifically, if the second autonomous vehicle 182 broadcasts a loss of control event in the same lane as the first autonomous vehicle 108, the first autonomous vehicle 108 may move two or more lanes over, may turn onto another road, and/or may slow down below a threshold speed to stay more than a threshold distance from the second autonomous vehicle 182. Additionally, when the second autonomous vehicle 182 broadcasts an emergency communication, the on-board computer 114 may re-broadcast the communication to vehicles in front of the first autonomous vehicle 108 which are further away from the second autonomous vehicle 182 than the first autonomous vehicle 108. In this manner, a path may be cleared for the second autonomous vehicle 182 so that the emergency may be addressed quickly and efficiently.


In some scenarios, the on-board computer 114 may determine that a collision with the second autonomous vehicle 182 is imminent and/or unavoidable. In this scenario, the on-board computer 114 may determine which of the vehicles 108, 182 includes passengers. For example, as mentioned above, the communication received from the second autonomous vehicle 182 may include an indication of the number of passengers in the second autonomous vehicle 182. Additionally, the on-board computer 114 may communicate with sensors within the first autonomous vehicle 108, such as cameras, microphones, pressure sensors, thermometers, or similar sensors to determine the number of passengers within the first autonomous vehicle 108.


When the second autonomous vehicle 182 includes passengers and the first autonomous vehicle 108 does not include passengers, the on-board computer 114 may determine that the maneuver for the first autonomous vehicle 108 is to veer off the road to avoid a collision with a vehicle which contains passengers. On the other hand, when the first autonomous vehicle 108 includes passengers and the second autonomous vehicle 182 does not include passengers, the on-board computer 114 may identify a maneuver which causes the vehicles to collide. However, the impact may occur at a portion of the first autonomous vehicle 108 where the passengers are not located. For example, if the second autonomous vehicle 182 changes lane into the vehicle's lane, and the passengers are located in the back seat, the on-board computer 114 may identify slowing down as the maneuver, so that even though the vehicles 108, 182 will still collide, the impact occurs at the front of the first autonomous vehicle 108 where the passengers are not located.


At block 514, the on-board computer 114 may cause the first autonomous vehicle 108 to move in accordance with the identified maneuver. For example, as described above, the on-board computer 114 may directly or indirectly control the operation of the first autonomous vehicle 108 according to various autonomous operation features. The autonomous operation features may include software applications or modules implemented by the on-board computer 114 to generate and implement control commands to control the steering, braking, or throttle of the first autonomous vehicle 108. When a control command is generated by the on-board computer 114, it may thus be communicated to the control components of the first autonomous vehicle 108 to effect a control action. The on-board computer 114 may generate control commands to brake, accelerate, steer into another lane, turn onto another road, etc.


Exemplary Vehicle Path Coordination Methods



FIG. 6 illustrates a flow diagram of an exemplary vehicle path coordination method 600 for identifying optimal paths for several autonomous vehicles travelling on the same road. In some embodiments, the vehicle path coordination method 600 may be implemented on a server 140 and/or other external computing device 186. The server 140 may receive communications from vehicles 182.1-182.N which may be operating in a fully autonomous mode of operation (autonomous mode) without any control decisions being made by a vehicle operator, excluding navigation decisions such as selection of a destination or route. In some embodiments, the vehicle 108 may be operating without any passengers or with only passengers who are physically or legally unable to operate the vehicle 108 in a manual or semi-autonomous mode of operation (manual mode) (e.g., children, persons suffering acute illness, intoxicated or otherwise impaired persons, etc.).


During manual vehicle operation, vehicle operators do not communicate their routes to other vehicle operators in advance. As a result, traffic jams may be created when one vehicle needs to move into a highway exit lane or a turn lane and other vehicles do not provide enough space for the vehicle to do so. Therefore, the method 600 may be used to increase the efficiency of vehicle routes and decrease the amount of time it takes for vehicles to reach their destinations.


The exemplary vehicle path coordination method 600 may begin by receiving communications from several autonomous vehicles 182.1-182.N within a threshold distance of each other (block 602), where each communication includes a waypoint along a route for the corresponding vehicle. For each autonomous vehicle 182.1-182.N, the method 600 may include identifying a distance between the autonomous vehicle 182.1 and each of the other autonomous vehicles 182.2-182.N within the threshold distance as well as the current speeds of each of the autonomous vehicles 182.1-182.N (block 604). A minimum distance to the waypoint for the autonomous vehicle 182.1 may be identified (block 606), and the method 600 may include determining maneuvers which will cause the autonomous vehicle 182.1 to arrive at the waypoint over the minimum distance and/or a minimum amount of time (block 608). The method 600 may further include determining whether the autonomous vehicle 182.1 will collide with any of the other autonomous vehicles 182.2-182.N when travelling to the waypoint (block 610). If the autonomous vehicle 182.1 will not collide with any of the other autonomous vehicles 182.2-182.N, the autonomous vehicle 182.1 may perform the maneuvers which will cause the autonomous vehicle 182.1 to arrive at the waypoint over the minimum distance and/or a minimum amount of time. On the other hand, if the autonomous vehicle 182.1 will collide with other autonomous vehicles 182.2-182.N, the method 600 may include determining maneuvers for the other vehicles to perform to avoid a collision (block 614). If any of the autonomous vehicles 182.1-182.N have not been analyzed, then the process is repeated for the next autonomous vehicle (block 604) until all autonomous vehicles 182.1-182.N have been analyzed. Although the method 600 is described with reference to the server 140 for simplicity, the described method may be easily modified for implementation by other systems or devices, including another external computing device 186, an on-board computing device 114 and/or mobile device 110.


At block 602, the server 140 may receive communications from each of several autonomous vehicles 182.1-182.N travelling on the same road and/or within a predetermined threshold distance of each other. The communications may be transmitted to the server 140 via the network 130.


Each communication may include identification information for the corresponding autonomous vehicle 182.1-182.N, such as the make, model, and year of the autonomous vehicle 182.1-182.N, a vehicle identification number (VIN) for the autonomous vehicle 182.1-182.N, or any other suitable identification information. In some embodiments, the communication may also include an indication of the type of vehicle, such as an emergency vehicle, police car, truck, school bus, etc. Moreover, the communication may include an indication of the number of passengers within the autonomous vehicle 182.1-182.N and/or respective locations of the passengers (e.g., driver's side, passenger side, front seat, back seat, etc.). The communication may also include an indication of the location of the autonomous vehicle 182.1-182.N, which may be a street address, an intersection, a set of GPS coordinates, etc.


In some embodiments, the communication may include sensor data from the autonomous vehicle 182.1-182.N, such as a vehicle speed, vehicle acceleration, vehicle orientation, etc., at one or several times before and/or during the communication.


Furthermore, the communication may include an indication of a waypoint on a route for the autonomous vehicle 182.1-182.N. The waypoint may be the next waypoint on the autonomous vehicle's route. For example, when the autonomous vehicle 182.1-182.N travels from a starting location to a destination, a set of navigation directions may be generated to direct the autonomous vehicle 182.1-182.N to the destination. The set of navigation directions may include several waypoints, where the autonomous vehicle is instructed to perform a maneuver at each waypoint (e.g., turn left, turn right, exit the highway, merge onto the highway, arrive at the destination, etc.). Accordingly, the communication may include the next waypoint corresponding to an upcoming maneuver for the autonomous vehicle 182.1-182.N. In other embodiments, the communication may include the next waypoint on the autonomous vehicle's route which is the destination, a highway exit, and/or a highway entrance. In this manner, the server 140 may for example, receive indications of several highway exits for several autonomous vehicles on the same highway and/or within a predetermined threshold distance of each other.


The server 140 may then identify optimal paths for each autonomous vehicle 182.1-182.N, so that the autonomous vehicle reaches the highway exit in the shortest amount of time. In some embodiments, the optimal paths may be identified using graph theory and/or graph data structures. For example, waypoints may be represented by vertices and the path between waypoints may be represented as edges. The distance between two waypoints for an edge may be represented as a cost, and the server 140 may identify paths for each autonomous vehicle 182.1-182.N which minimizes the cost to the waypoint. In some embodiments, the server 140 may identify paths for each autonomous vehicle 182.1-182.N which minimizes the total cost for each of the autonomous vehicles 182.1-182.N to travel to their respective waypoints. Also, in some embodiments, the cost may be adjusted based upon whether the path is blocked by another vehicle. More specifically, there may be an additional cost to going around the other vehicle and/or waiting for other vehicles to move.


For example, three autonomous vehicles 182.1-182.3 may be within a mile of each other on the same highway. The first autonomous vehicle 182.1 may be exiting the highway at the next exit one mile ahead, the second autonomous vehicle 182.2 may be exiting the highway at an exit two miles ahead, and the third autonomous vehicle 182.3 may be exiting the highway at an exit three miles ahead. Accordingly, the server 140 may direct the first autonomous vehicle 182.1 to move into the right lane, the second autonomous vehicle 182.2 to move into the center lane, and the third autonomous vehicle 182.3 to move into the left lane, so that each vehicle may exit the highway without blocking the path of the other two vehicles.


In some embodiments, the communication may include an indication of an emergency, such as a fire, crime scene, patient who needs to be taken to the hospital, etc. Accordingly, the server 140 may direct each of the other autonomous vehicles 182.2-182.N travelling along the route of the emergency vehicle to get out of the way of the emergency vehicle.


For each of the autonomous vehicles 182.1-182.N, at block 604, the server 140 may identify a distance between the autonomous vehicle 182.1 and the other autonomous vehicles 182.2-182.N. For example, as mentioned above, the received communications may include locations of the autonomous vehicles 182.1-182.N. The server 140 may compare the locations to identify distances between the autonomous vehicle 182.1 and the other autonomous vehicles 182.2-182.N. The server 140 may also identify the current speeds of the autonomous vehicles 182.1-182.N via the communications.


The server 140 may then determine a minimum distance to the waypoint included in the communication from the autonomous vehicle 182.1 (block 606) and/or determine one or several maneuvers to arrive at the waypoint over the minimum distance and/or a minimum amount of time (block 608). The minimum distance may be a minimum distance to the waypoint while travelling along the road and obeying traffic laws (e.g., travelling in the appropriate lanes, staying within the lane markers, turning from the appropriate lanes, etc.). For example, the waypoint may be a highway exit where the exit ramp is on the right side of the highway and the autonomous vehicle 182.1 is in the left lane. The minimum distance to the highway exit may be a straight line to the highway exit while staying within the lane markers, which may require lane changes from the left lane to the center lane and from the center lane to the right lane before exiting the highway. The timing of the lane changes may not affect the distance as long as both lane changes occur before the autonomous vehicle 182.1 reaches the highway exit.


At block 610, the server 140 may determine whether the autonomous vehicle 182.1 will collide with any of the other autonomous vehicles 182.2-182.N when travelling to the waypoint using maneuvers corresponding to the minimum distance. The server 140 may utilize the distances between the autonomous vehicle 182.1 and each of the other autonomous vehicles 182.2-182.N, the current speeds of the autonomous vehicles 182.1-182.N, and/or additional sensor data, such as accelerations, orientations, etc., of the autonomous vehicles 182.1-182.N to determine whether the autonomous vehicle 182.1 will collide with any of the other autonomous vehicles 182.2-182.N. In some embodiments, the server 140 may determine whether the autonomous vehicle 182.1 will collide with any of the other autonomous vehicles 182.2-182.N, while the autonomous vehicle 182.1 maintains its current speed, travels at the speed limit, and/or travels at a predetermined threshold speed. In this manner, the server 140 may determine an optimal path for the autonomous vehicle 182.1 while travelling at an optimal or maximum speed to minimize the amount of time to the waypoint.


In some embodiments, when the autonomous vehicle 182.1 will collide with one of the other autonomous vehicles 182.2-182.N and the timing of maneuvers does not affect the minimum distance, the server 140 may adjust the timing of the maneuvers. Continuing the example above, initially the server 140 may direct the autonomous vehicle 182.1 to make a lane change to the center lane after travelling one mile and a lane change into the right lane after travelling two miles. If the server 140 determines that the autonomous vehicle 182.1, while maintaining its current speed, will collide with another vehicle in the left lane after half a mile but the center lane is mostly empty, the server 140 may adjust the timing of the maneuvers so that the autonomous vehicle 182.1 is directed to move into the center lane right away and then into the right lane after travelling two miles.


The autonomous vehicle 182.1 may be directed to travel to the waypoint using the maneuvers which correspond to the minimum distance and/or a minimum amount of time. If the autonomous vehicles 182.1-182.N will not collide, the server 140 may determine whether each of the autonomous vehicles 181.1-182.N have been analyzed (block 616). If not, the server 140 may analyze and/or determine maneuvers for the next autonomous vehicle 182.2 to arrive at a corresponding waypoint over a minimum distance (block 604).


On the other hand, if the autonomous vehicle 182.1 will collide with any of the other autonomous vehicles 182.2-182.N, the server 140 may determine second sets of maneuvers for the other autonomous vehicles 182.2-182.N to avoid the path of the autonomous vehicle 182.1 (block 614). In some embodiments, the server 140 may identify second sets of maneuvers for each autonomous vehicle which is directly in front of, behind, or immediately adjacent to the autonomous vehicle 182.1. Then, the server 140 may work outwards and identify second sets of maneuvers for autonomous vehicles further away from the autonomous vehicle 182.1. Maneuvers within the second sets of maneuvers may include speeding up, slowing down, pulling over, changing lanes, turning, reversing, and/or any other suitable maneuver. Also in some embodiments, the server 140 may identify second sets of maneuvers for the other autonomous vehicles 182.2-182.N to evenly distribute the other autonomous vehicles 182.2-182.N across several lanes. In this manner, each lane has the same amount of traffic and one lane is not more crowded than the others.


For example, the server 140 may determine that the autonomous vehicle 182.1 may collide with another autonomous vehicle 182.2 in the same lane which is directly in front of the autonomous vehicle 182.1, when the autonomous vehicle 182.1 is travelling at the current speed and/or using maneuvers which correspond to the minimum distance. Accordingly, the server 140 may determine a second set of maneuvers for the other autonomous vehicle 182.2 which includes a lane change out of the lane of the autonomous vehicle 182.1. Each of the second sets of maneuvers may be transmitted to the respective autonomous vehicles 182.2-182.N for the autonomous vehicles 182.2-182.N to traverse according to a respective second set of maneuvers.


In another example, the server 140 may direct an autonomous vehicle 182.1 travelling in an emergency to move into the right lane and continue along the highway until reaching the waypoint (a highway exit). To avoid the path of the autonomous vehicle 182.1, the server 140 may direct each of the other autonomous vehicles 182.2-182.N to pull over onto the shoulder adjacent to the left lane to provide an open pathway for the autonomous vehicle 182.1.


At block 616, the server 140 may determine whether each of the communications corresponding to each of the autonomous vehicles 182.1-182.N have been analyzed. If not, the server 140 may analyze and/or determine maneuvers for the next autonomous vehicle 182.2 to arrive at a corresponding waypoint over a minimum distance (block 604). In some embodiments, the minimum distance and/or a minimum amount of time to the waypoint may be adjusted according to the second set of maneuvers for the next autonomous vehicle 182.2 to avoid the path of the first or a previously evaluated autonomous vehicle 182.1. For example, in an earlier iteration, the next autonomous vehicle 182.2 may be directed to maneuver into the left lane to avoid a collision with the first autonomous vehicle 182.1. The minimum distance to the waypoint for the next autonomous vehicle 182.2 may be the minimum distance to the waypoint including the distance involved while moving to the left lane. More specifically, the minimum distance to a highway exit on the right side may include the distance travelled moving to the left lane and then moving from the left lane to the center lane, from the center lane to the right lane, and/or from the right lane to the highway exit.


As a result, in some embodiments, the first autonomous vehicle 182.1 that is evaluated by the server 140 may be directed to a corresponding waypoint without taking into account any second sets of maneuvers to be performed to avoid collisions with other autonomous vehicles. Each subsequent autonomous 182.2-182.N that is evaluated by the server 140 may be directed to a corresponding waypoint, where at least some of the maneuvers to the corresponding waypoint are from a second set of maneuvers to avoid a collision with a previously evaluated autonomous vehicle. The maneuvers to the corresponding waypoint may include an aggregation of second sets of maneuvers for the autonomous vehicle to avoid collisions with previously evaluated autonomous vehicles.


In some embodiments, the order in which the autonomous vehicles 182.1-182.N are evaluated by the server 140 for path coordination may be determined according to a priority level. Each of the autonomous vehicles 182.1-182.N may be assigned a priority level and/or the autonomous vehicle 182.1-182.N having the highest priority level may be evaluated first, the autonomous vehicle 182.1-182.N having the second highest priority level may be evaluated second, and so on. In some embodiments, priority level may be assigned based upon the distance to the corresponding waypoint for an autonomous vehicle 182.1-182.N. For example, three autonomous vehicles 182.1-182.3 may be travelling on the same highway, each having a corresponding waypoint at a different highway exit. The autonomous vehicle 182.1 with a corresponding waypoint at the closest highway exit may be assigned the highest priority level and/or the autonomous vehicle 182.3 with a corresponding waypoint at the farthest highway exit may be assigned the lowest priority level.


As a result, the first autonomous vehicle 182.1 with the highest priority level may be evaluated first. The server 140 may direct the first autonomous vehicle 182.1 with the highest priority level to move into the right lane and keep going straight until the autonomous vehicle 182.1 reaches a first highway exit. The server 140 may also direct the other autonomous vehicles 182.2-182.3 to move into the center and left lanes respectively to avoid a collision with the first autonomous vehicle 182.1. The second autonomous vehicle 182.2 having the second highest priority level may be directed to continue in the center lane until the first autonomous vehicle 182.1 exits the highway and then to maneuver into the right lane before exiting the highway at a second highway exit. The third autonomous vehicle 182.3 having the lowest priority level may be directed to continue in the left lane until the second autonomous vehicle 182.2 moves into the right lane and at that point, the third autonomous vehicle 182.3 may be directed to maneuver into the center lane. When the second autonomous vehicle 182.2 exits the highway, the third autonomous vehicle 182.3 may be directed to maneuver into the right lane before exiting the highway at a third highway exit.


In some embodiments, the server 140 may cause each of the autonomous vehicles 182.1-182.N to move in accordance with the maneuvers assigned to the respective autonomous vehicle. This may include the second sets of maneuvers for the autonomous vehicle to avoid collisions with other autonomous vehicles and/or maneuvers to travel to a corresponding waypoint over a minimum distance. To move in accordance with the maneuvers assigned to the respective autonomous vehicle, the server 140 may direct the on-board computer 114 and/or mobile device 110 within the autonomous vehicle to directly or indirectly control the operation of the autonomous vehicle in accordance with various autonomous operation features. The autonomous operation features may include software applications or modules implemented by the on-board computer 114 to generate and implement control commands to control the steering, braking, or throttle of the autonomous vehicle.


Exemplary Signal Control Methods



FIG. 7 illustrates a flow diagram of an exemplary signal control method 700 for presenting a vehicle signal from an autonomous vehicle indicative of an upcoming maneuver. In some embodiments, the signal control method 700 may be implemented on the on-board computer 114 or mobile device 110 in the vehicle 108. The vehicle 108 may be operating in a fully autonomous mode of operation without any control decisions being made by a vehicle operator, excluding navigation decisions such as selection of a destination or route.


Such method 700 may be used to provide signals which may be perceived by other autonomous or semi-autonomous vehicles, pedestrians, and/or vehicle operators. The signals may be provided in addition and/or as an alternative to communication signals which may be received by other autonomous or semi-autonomous vehicles. During autonomous vehicle operation, autonomous vehicles may communicate with each other over a V2V wireless communication protocol. The autonomous vehicles may communicate upcoming maneuvers, such as speeding up, slowing down, lane changes, turns, etc. However, when communication is unavailable (e.g., one of the autonomous vehicles cannot connect to the network, a network server is down, etc.), the autonomous vehicles may be unable to provide indications of upcoming maneuvers to each other. Moreover, vehicle operators in manually operated vehicles and/or pedestrians may be unaware of the upcoming maneuvers for other autonomous vehicles. The signal control method 700 addresses these issues.


The signal control method 700 may begin by determining an upcoming maneuver for an autonomous vehicle 108 (block 702). A vehicle signal indicative of the upcoming maneuver may be identified (block 704). The on-board computer 114 within the autonomous vehicle 108 may cause the autonomous vehicle 108 to present the vehicle signal (block 706) and/or cause the autonomous vehicle 108 to perform the maneuver corresponding to the vehicle signal (block 708). Although the method 700 is described with reference to the on-board computer 114 for simplicity, the described method may be easily modified for implementation by other systems or devices, including one or more of mobile devices 110 and/or servers 140.


At block 702, the on-board computer 114 of the autonomous vehicle 108 may determine an upcoming maneuver for the autonomous vehicle 108. For example, the upcoming maneuver may be in response to communications received from other autonomous vehicles 182.1-182.N to avoid a collision with the other autonomous vehicles. In other scenarios, the upcoming maneuver may be the next maneuver along a route for arriving at a particular destination. In yet another example, the upcoming maneuver may be in response to sensors within the autonomous vehicle 108 which detect other vehicles and/or objects on the road. More specifically, the upcoming maneuver may be to slow down and/or stop in response to detecting a traffic light, a stop sign, a vehicle slowing down or stopping in front of the autonomous vehicle 108, pedestrians crossing, etc. In addition to planned maneuvers, such as turning or changing lanes, maneuvers may also include unplanned maneuvers, such as losing control, swerving, etc. In this manner, vehicle operators, pedestrians, and/or other vehicles may be aware of vehicles which may be dangerous, out of control, and/or experiencing system failures.


In any event, maneuvers may include braking/slowing down, turning left or right, turning around, reversing, speeding up, changing lanes, merging, swerving to avoid a collision with another vehicle, losing control, and/or a system failure in one of the autonomous operation features.


At block 704, the on-board computer 114 may identify a vehicle signal indicative of the upcoming maneuver. For example, the on-board computer 114 may store a table of vehicle signals and the corresponding maneuvers which each signal indicates. In other embodiments, the server 140 may provide the table of vehicle signals and corresponding maneuvers to the on-board computer 114. Each vehicle signal may be perceived by an autonomous vehicle, vehicle operator, and/or pedestrian. Vehicle signals may include visible signals, such as brake lights, turn signals, reverse lights, flashing lights, etc., audible signals such as a honk, an audio message, or other alert, and/or electromagnetic signals outside of the visible light spectrum, such as an infrared signal, an ultraviolet signal, etc. The vehicle signals may not include wireless communications via a radio signal, for example. In some embodiments, electromagnetic signals outside of the visible light spectrum may be used as signals when visibility is poor. For example, in foggy conditions other vehicles may not detect brake lights from the autonomous vehicle 108. Accordingly, an infrared signal may be provided instead which may be more easily detectable in foggy conditions.


A vehicle signal may indicate that the vehicle is braking/slowing down, turning left or right, turning around, reversing, speeding up, changing lanes, merging, that another vehicle is travelling too close to the vehicle, moving or swerving to avoid a collision with another vehicle, that the vehicle is losing control, and/or a system failure in at least one of the autonomous operation features.


Each of the autonomous vehicles 182.1-182.N may include the same table of vehicle signals and corresponding maneuvers to decode an identified vehicle signal. For example, the vehicle signal may be identified via the sensors 120 within the autonomous vehicle 108. More specifically, the digital camera, the LIDAR sensor, and/or the infrared sensor may detect visible light signals (turn signals, brake lights, flashing lights, reverse lights, etc.) and/or other electromagnetic signals outside of the visible light spectrum (infrared signals, ultraviolet signals, etc.). A microphone within the autonomous vehicle 108 may detect audible signals. The on-board computer 114 may then compare the vehicle signal identified from another autonomous vehicle 182.1-182.N to the table of vehicle signals to decode the vehicle signal and/or identify a corresponding maneuver. Additionally, vehicle operators and/or pedestrians may perceive the vehicle signal and/or determine a corresponding maneuver.


In any event, at block 706, the on-board computer 114 may automatically cause the autonomous vehicle 108 to present the vehicle signal. For example, the on-board computer 114 may communicate a control command to the vehicle components which may produce the signal, such as speakers to produce an audio signal, tail lights or head lights to produce a visual signal, an infrared light emitting diode (LED) to produce an infrared signal, etc. More specifically, the on-board computer 114 may communicate a control command to a turn signal light to turn on and off once per second, for example.


An exemplary vehicle signal may include flashing the head or tail lights to warn a vehicle behind the autonomous vehicle 108 of an impending collision. The on-board computer 114 may present this vehicle signal when the autonomous vehicle 108 is about to collide with another vehicle. In this manner, the vehicle behind the autonomous vehicle 108 may be made aware of two colliding vehicles up ahead and may pull over, change lanes, turn onto another road, etc. Additionally, the on-board computer 114 may present this vehicle signal when the vehicle behind the autonomous vehicle 108 is driving too closely behind the autonomous vehicle 108, which may result in a rear end collision with the autonomous vehicle 108. By flashing the head lights or tail lights, the on-board computer 114 may signal to the other vehicle to slow down to avoid a collision. The on-board computer 114 may also cause a horn to honk in the autonomous vehicle 108, a siren to go off, and/or any other suitable alarming sound via the speakers within the autonomous vehicle 108 to signal an impeding collision to the vehicle behind the autonomous vehicle 108.


Another exemplary vehicle signal may include flashing hazard lights to signal that the autonomous vehicle 108 is losing control and/or a system failure has occurred in at least one of the autonomous operation features. In response, vehicles nearby may pull over, change lanes to avoid the autonomous vehicle 108, move over several lanes to keep a safe distance from the autonomous vehicle 108, speed up or slow down to keep a safe distance from the autonomous vehicle 108, turn off the road, etc. Additionally, the other vehicles may call emergency road services to help the autonomous vehicle 108. In some embodiments, different vehicle signals may signal different types of malfunctions. For example, the frequency at which the hazard lights are flashed may be indicative of the type of malfunction. When the hazard lights are flashed several times per second, the autonomous vehicle 108 may be losing control and/or when the hazard lights are flashed once per second or once every several seconds, a system failure may have occurred in an autonomous operation feature. An electromagnetic signal outside of the visible light spectrum may be presented to specify which autonomous operation feature is malfunctioning. However, these are merely exemplary vehicle signals for ease of illustration and are not meant to be limiting. Any suitable vehicle signal may be used to signal any suitable maneuver.


In some embodiments, the on-board computer 114 may cause the autonomous vehicle 108 to present the vehicle signal indicating the upcoming maneuver at the same time as the on-board computer 114 transmits a communication (e.g., via a V2V wireless communication protocol) which also indicates the upcoming maneuver. In this manner, an additional warning of the upcoming maneuver is provided as backup for when communication breaks down.


Moreover, the autonomous vehicles 182.1-182.N may receive the communication while pedestrians and/or semi-autonomous or manually operated vehicles which do not have communication capabilities may perceive the vehicle signal. In other embodiments, the on-board computer 114 may cause the autonomous vehicle 108 to present the vehicle signal indicating the upcoming maneuver just before or just after the on-board computer 114 transmits a communication (e.g., within a predetermined threshold time of the communication).


In additional or alternative embodiments, the on-board computer 114 may transmit the communication indicating the upcoming maneuver to another autonomous vehicle 182. When an acknowledgement of the communication is not received from the other autonomous vehicle 182, the on-board computer 114 may cause the autonomous vehicle 108 to present the vehicle signal. For example, if an acknowledgement of the communication is not received within a predetermined threshold time (e.g., 10 seconds, 30 seconds, a minute, etc.) of the communication, the on-board computer 114 may cause the autonomous vehicle 108 to present the vehicle signal.


In yet other embodiments, the on-board computer 114 may cause the autonomous vehicle 108 to present the vehicle signal when the autonomous vehicle 108 is unable to transmit communications to other autonomous vehicles, semi-autonomous vehicles, and/or manually operated vehicles. For example, the autonomous vehicle 108 and/or the other vehicles may not include wireless communication capabilities, may be unable to connect to the network 130, may be unable to establish a V2V communication link, and/or may be unable to communicate with a server which relays communications between the vehicles.


After the autonomous vehicle 108 presents the vehicle signal, at block 708, the on-board computer 114 may cause the autonomous vehicle 108 to perform the upcoming maneuver corresponding to the vehicle signal. For example, as described above, the on-board computer 114 may directly or indirectly control the operation of the autonomous vehicle 108 according to various autonomous operation features. The autonomous operation features may include software applications or modules implemented by the on-board computer 114 to generate and implement control commands to control the steering, braking, or throttle of the autonomous vehicle 108. When a control command is generated by the on-board computer 114, it may thus be communicated to the control components of the vehicle 108 to effect a control action. The on-board computer 114 may generate control commands to brake, accelerate, steer into another lane, turn onto another road, etc.


Exemplary Autonomous Vehicle Crowdsourcing Methods



FIG. 8 illustrates a flow diagram of an exemplary autonomous vehicle crowdsourcing method 800 for presenting vehicle data regarding a road segment based upon data collected from several autonomous vehicles 182.1-182.N. The autonomous vehicles 182.1-182.N may be operating in a fully autonomous mode of operation without any control decisions being made by a vehicle operator, excluding navigation decisions such as selection of a destination or route. In some embodiments, the autonomous vehicles 182.1-182.N may include functionality to switch into a manual mode by for example, disabling the autonomous operation features. The autonomous vehicles 182.1-182.N may also include functionality to switch back into the autonomous mode by automatically enabling the autonomous operation features and/or enabling the autonomous operation features in response to a request by a vehicle operator. A vehicle operator may then take over operation of the autonomous vehicle 182.1-182.N in certain scenarios.


In some embodiments, the method 800 may be performed by a server 140 which communicates with the Data Application on the mobile device 110 within an autonomous vehicle 182.1-182.N. The Data Application may present the vehicle data regarding the road segment. For example, the Data Application may present the vehicle data on a display 202 of the mobile device 110. In other embodiments, the server 140 may communicate with the Data Application on the on-board computer 114. Although the method 800 is described with reference to the server 140 and the mobile device 110 for simplicity, the described method may be easily modified for implementation by other systems or devices, including any combination of one or more of on-board computers 114, mobile devices 110, and/or servers 140.


Such method 800 may be useful in providing vehicle operators and/or autonomous vehicles 182.1-182.N with detailed information regarding a vehicle environment (e.g., traffic, accidents, flooding, ice, etc.). For example, an accident up ahead may be identified by an autonomous operation feature of a vehicle controller 181.1 of vehicle 182.1 and transmitted via the Data Application operating in the mobile computing device 184.1 over the network 130 to the mobile computing device 184.2, where a warning regarding the accident may be presented to the driver of vehicle 182.2.


The autonomous vehicle crowdsourcing method 800 may begin by receiving communications from several autonomous vehicles 182.1-182.N including data for the same road segment on which the autonomous vehicles travelled 182.1-182.N (block 802). A road segment may be a portion of a road, such as a particular mile on a highway (e.g., mile marker 35), a portion between consecutive traffic lights and/or intersections, a portion between consecutive landmarks, etc. The data for the road segment may include an indication of the condition of road segment and/or a particular location within the road segment. The data may be combined for the same road segment from each of the communications to generate an overall indication of the condition of the road segment (block 804). The overall indication of the condition of the road segment may include a recommendation to vehicles approaching the road segment. A request for vehicle data may be received from a mobile device 110 within a vehicle approaching the road segment (block 806). In response to the request, the overall indication of the condition of the road segment may be displayed via a user interface 202 of the mobile device 110 (block 808). For example, the overall indication of the condition of the road segment may be transmitted to the mobile device 110.


At block 802, the server 140 may receive communications from several autonomous vehicles 182.1-182.N, including data for the same road segment. A vehicle operator and/or owner of the autonomous vehicle 182.1-182.N may opt-in to share data with the server 140 and/or between autonomous vehicles 182.1-182.N. Each communication may include an indication of the location of the autonomous vehicle 182.1-182.N which transmitted the communication. For example, the indication may be a GPS location with precise GPS coordinates. In another example, the indication may be a name of the road segment, such as Route 90 at mile marker 26 or Main Street between the traffic light at the intersection of Main Street and North Avenue and the traffic light at the intersection of Main Street and Green Street. In yet another example, the indication may be a subsection of the road segment, such as the first half of mile marker 26.


Each communication may also include an indication of the condition of the road segment at the particular location. The indication of the condition of the road segment may include, for example the amount of wear and tear on the road segment including the number of potholes, cracks, ice patches on the road segment, whether the road segment is currently under construction, etc. Additionally, the indication of the condition of the road segment may include an amount of traffic at the particular location including whether a vehicle collision occurred at the particular location, and/or a maneuver to be performed by the corresponding vehicle at the particular location. The indication of the condition of the road segment may also include unexpected debris on the road segment including obstacles on the road segment such as fallen branches, a flooded area, rocks, fallen cargo, a portion of a shredded tire, broken glass or other large objects.


At block 804, the server 140 may analyze and/or combine the data for the same road segment received from the communications to generate an overall indication of the condition of the road segment. For example, indications of the condition of the road segment at particular locations within the road segment may be aggregated to determine an overall condition of the road segment. More specifically, when the first half of the road segment is in poor condition (e.g., having several potholes, cracks, etc.) and the second half of the road segment is in great condition (e.g., having newly paved cement), the server 140 may determine that the road segment overall is in average condition.


Additionally, the server 140 may aggregate several traffic reports from the communications to determine the total amount of traffic on the road segment. In some embodiments, the server 140 may determine the total amount of traffic for the road segment based upon an aggregation of traffic reports from the communications and/or indications of maneuvers to be performed by the vehicles on the road segment. For example, when several vehicles indicate that they are planning to exit or turn off the road segment at the next available exit, the server 140 may determine that the total amount of traffic on the road segment will decrease. Moreover, the server 140 may determine the number of vehicles on the road segment based upon the amount of communications regarding the road segment. In addition to the traffic reports received from the vehicles, the server 140 may also determine the total amount of traffic on the road segment based upon the number of vehicles on the road segment. The total amount of traffic may be provided as a category, such as “Heavy traffic,” “Light traffic,” “Medium traffic,” etc. In another example, the total amount of traffic may be a numerical indication, such as the amount of additional time it will take to traverse the road segment (e.g., “3 additional minutes from mile 35 to mile 36 on Route 90.”).


In some embodiments, the autonomous vehicles 182.1-182.N may generate traffic reports by communicating with smart infrastructure components 188 on the road segment. For example, a smart infrastructure component 188 may transmit traffic conditions on the road segment, construction on the road segment, a vehicle collision on the road segment, a number of vehicles on the road segment, etc., to the autonomous vehicles 182.1-182.N.


Also in some embodiments, the server 140 may assign weights to the data received from the communications based upon the time when each communication is sent. For example, data from communications sent more recently is weighted higher than data from communication sent earlier. More specifically, data from communication sent within a predetermined threshold time of the current time may be weighted higher than data from communications that were not sent within the predetermined threshold time of the current time. In this manner, when autonomous vehicles 182.1-182.N report vehicle collisions or traffic from hours or days earlier, the reported data is discounted because it is unlikely that the earlier vehicle collision or traffic still affects the current condition of the road segment. In such embodiments, some types of data may be weighted while other types may not be weighted and/or the predetermined threshold time for increasing or decreasing the assigned weight may differ based upon the type of data. For example, traffic data may be relevant within a short time window (e.g., 30 minutes, one hour, two hours, etc.), because traffic is constantly changing. Accordingly, current traffic data may be assigned a much higher weight than traffic data that is hours or days old. On other hand, construction data may be relevant for a long time period, because construction can last for weeks, months, or even years. As a result, current construction data may not be assigned a higher weight than construction data that is weeks or months old.


The overall condition of the road segment may also include a recommendation to vehicles approaching the road segment. The recommendation may be an action for the vehicles and/or vehicle operators to perform based upon the overall condition of the road segment. For example, when the overall condition of the road segment is very poor due to potholes, ice patches, unexpected debris on the road segment, cracks, etc., the server 140 may determine that autonomous vehicles 182.1-182.N in a manual mode should switch to an autonomous mode. This may be because the autonomous operation features have faster reaction times than vehicle operators for dealing with dangerous conditions, such as icy patches or big potholes. Accordingly, a vehicle operator may select a control within the autonomous vehicle 182.1-182.N to switch into the autonomous mode, enabling autonomous operation features. In other embodiments, the autonomous vehicle 182.1-182.N may automatically enable the autonomous operation features.


The recommendation may also be to switch into an autonomous mode when several autonomous vehicles 182.1-182.N on the same road and/or within a predetermined threshold distance of each other are travelling to the same destination. When the autonomous vehicles 182.1-182.N switch into the autonomous mode, they may form a platoon so that the autonomous vehicles 182.1-182.N may follow each other to the destination. In another example, the recommendation may be to switch from the autonomous mode to the manual mode. In some scenarios, operating in the manual mode may be safer than the autonomous mode.


At block 806, the server 140 may receive a request for vehicle data from a mobile device 110 within a vehicle approaching the road segment. The request may include an indication of the location of the mobile device 110 which may be compared to the location of the road segment. In some embodiments, the request may be provided from the Data Application. For example, the Data Application may include one or more user controls presented on a display 202 of the mobile device 110 which, when selected, cause the Data Application to transmit a request to the server 140 for vehicle data at the mobile device's current location.


In some embodiments, the server 140 may store vehicle data for several road segments within several roads over many cities, states, and/or countries. When a request for vehicle data is received from a mobile device 110, the server 140 may retrieve the vehicle data for the road segment corresponding to the mobile device's current location and/or any other location specified by the mobile device 110. For example, a user of the mobile device 110 may want to view traffic, construction, etc., for a future route.


At block 808, the server 140 may cause the overall indication of the condition of the road segment to be displayed on the mobile device 110. The overall indication of the condition of the road segment may be displayed via the Data Application. As mentioned above, the overall indication of the condition of the road segment may include an indication of an amount of wear and tear on the road segment including the number of potholes, cracks, or ice patches on the road segment, an indication of whether there is unexpected debris on the road segment, such as fallen branches, a flooded area, rocks, fallen cargo, a portion of a shredded tire, broken glass or other large objects, an indication of whether the road segment is currently under construction, an indication of an amount of traffic on the road segment, and/or indications of maneuvers to be performed by vehicles on the road segment. The overall indication of the road segment may also include a recommendation to the vehicle corresponding to the mobile device 110.


Each indication may be provided in a text format, such as “There is heavy traffic on Route 90,” “Warning: construction on Main Street,” “South Avenue is in poor condition,” “Icy conditions on Route 66,” etc. In additional or alternative embodiments, the indications may be symbolic and/or may be annotations overlaid on a map display. For example, a construction symbol may be displayed on a road segment within a map display. In another example, vehicle symbols and orientations of the corresponding vehicles may be displayed within the map display. The orientations may be based upon the maneuvers provided to the server 140 in the communications from the autonomous vehicles 182.1-182.N. Although the overall indication of the condition of the road segment is described as being displayed in a text or symbolic format for simplicity, the overall indication may be displayed in any suitable manner.


Additionally, the recommendation may be provided in a text format on the display 202 of the mobile device 110 and/or an audio format via the speakers of the mobile device 110. For example, when the recommendation is to switch from a manual mode into an autonomous mode, the mobile device 110 may display text including, “Please switch into the autonomous mode now.” As a result, a vehicle operator may select a control within the autonomous vehicle 182.1-182.N to switch from the manual mode into the autonomous mode enabling autonomous operation features. In another example, the mobile device 110 may receive the recommendation and forward the recommendation onto the on-board computer 114. The on-board computer 114 may then generate a control command to automatically enable the autonomous operation features and switch into the autonomous mode.


Exemplary Methods of Determining Risk Using Telematics Data


As described herein, telematics data may be collected and used in monitoring, controlling, evaluating, and assessing risks associated with autonomous or semi-autonomous operation of a vehicle 108. In some embodiments, the Data Application installed on the mobile computing device 110 and/or on-board computer 114 may be used to collect and transmit data regarding vehicle operation. This data may include operating data regarding operation of the vehicle 108, autonomous operation feature settings or configurations, sensor data (including location data), data regarding the type or condition of the sensors 120, telematics data regarding vehicle regarding operation of the vehicle 108, environmental data regarding the environment in which the vehicle 108 is operating (e.g., weather, road, traffic, construction, or other conditions). Such data may be transmitted from the vehicle 108 or the mobile computing device 110 via radio links 183 (and/or via the network 130) to the server 140. The server 140 may receive the data directly or indirectly (i.e., via a wired or wireless link 183e to the network 130) from one or more vehicles 182 or mobile computing devices 184. Upon receiving the data, the server 140 may process the data to determine one or more risk levels associated with the vehicle 108.


In some embodiments, a plurality of risk levels associated with operation of the vehicle 108 may be determined based upon the received data, using methods similar to those discussed elsewhere herein, and a total risk level associated with the vehicle 108 may be determined based upon the plurality of risk levels. In other embodiments, the server 140 may directly determine a total risk level based upon the received data. Such risk levels may be used for vehicle navigation, vehicle control, control hand-offs between the vehicle and driver, settings adjustments, driver alerts, accident avoidance, insurance policy generation or adjustment, and/or other processes as described elsewhere herein.


In some aspects, computer-implemented methods for monitoring the use of a vehicle 108 having one or more autonomous operation features and/or adjusting an insurance policy associated with the vehicle 108 may be provided. In some embodiments, the mobile computing device 110 and/or on-board computer 114 may have a Data Application installed thereon, as described above. Such Data Application may be executed by one or more processors of the mobile computing device 110 and/or on-board computer 114 to, with the customer's permission or affirmative consent, collect the sensor data, determine the telematics data, receive the feature use levels, and transmit the information to the remote server 140. The Data Application may similarly perform or cause to be performed any other functions or operations described herein as being controlled by the mobile computing device 110 and/or on-board computer 114.


The telematics data may include data regarding one or more of the following regarding the vehicle 108: acceleration, braking, speed, heading, and/or location. The telematics data may further include information regarding one or more of the following: time of day of vehicle operation, road conditions in a vehicle environment in which the vehicle is operating, weather conditions in the vehicle environment, and/or traffic conditions in the vehicle environment. In some embodiments, the one or more sensors 120 of the mobile computing device 110 may include one or more of the following sensors disposed within the mobile computing device 110: an accelerometer array, a camera, a microphone, and/or a geolocation unit (e.g., a GPS receiver). In further embodiments, one or more of the sensors 120 may be communicatively connected to the mobile computing device 110 (such as through a wireless communication link).


The feature use levels may be received by the mobile computing device 110 from the on-board computer 114 via yet another radio link 183 between the mobile computing device 110 and the on-board computer 114, such as link 116. The feature use levels may include data indicating adjustable settings for at least one of the one or more autonomous operation features. Such adjustable settings may affect operation of the at least one of the one or more autonomous operation features in controlling an aspect of vehicle operation, as described elsewhere herein.


In some embodiments, the method may further including receiving environmental information regarding the vehicle's environment at the mobile computing device 110 and/or on-board computer 114 via another radio link 183 or wireless communication channel. Such environmental information may also be transmitted to the remote server 140 via the radio link 183 and may be used by the remote server 140 in determining the total risk level. In some embodiments, the remote server 140 may receive part or all of the environmental information through the network 130 from sources other than the mobile computing device 110 and/or on-board computer 114. Such sources may include third-party data sources, such as weather or traffic information services. The environmental data may include one or more of the following: road conditions, weather conditions, nearby traffic conditions, type of road, construction conditions, location of pedestrians, movement of pedestrians, movement of other obstacles, signs, traffic signals, or availability of autonomous communications from external sources. The environmental data may similarly include any other data regarding a vehicle environment described elsewhere herein.


In further embodiments, the method may include collecting additional telematics data and/or information regarding feature use levels at a plurality of additional mobile computing devices 184 associated with a plurality of additional vehicles 182. Such additional telematics data and/or information regarding feature use levels may be transmitted from the plurality of additional mobile computing devices 184 to the remote server 140 via a plurality of radio links 183 and received at one or more processors of the remote server 140. The remote server 140 may further base the determination of the total risk level at least in part upon the additional telematics data and/or feature use levels. Some embodiments of the methods described herein may include determining, adjusting, generating, rating, or otherwise performing actions necessary for creating or updating an insurance policy associated with the vehicle 108.


Autonomous Vehicle Insurance Policies


The disclosure herein relates in part to insurance policies for vehicles with autonomous operation features. Accordingly, as used herein, the term “vehicle” may refer to any of a number of motorized transportation devices. A vehicle may be a car, truck, bus, train, boat, plane, motorcycle, snowmobile, other personal transport devices, etc. Also as used herein, an “autonomous operation feature” of a vehicle means a hardware or software component or system operating within the vehicle to control an aspect of vehicle operation without direct input from a vehicle operator once the autonomous operation feature is enabled or engaged. Autonomous operation features may include semi-autonomous operation features configured to control a part of the operation of the vehicle while the vehicle operator control other aspects of the operation of the vehicle.


The term “autonomous vehicle” means a vehicle including at least one autonomous operation feature, including semi-autonomous vehicles. A “fully autonomous vehicle” means a vehicle with one or more autonomous operation features capable of operating the vehicle in the absence of or without operating input from a vehicle operator. Operating input from a vehicle operator excludes selection of a destination or selection of settings relating to the one or more autonomous operation features. Autonomous and semi-autonomous vehicles and operation features may be classified using the five degrees of automation described by the National Highway Traffic Safety Administration's.


Additionally, the term “insurance policy” or “vehicle insurance policy,” as used herein, generally refers to a contract between an insurer and an insured. In exchange for payments from the insured, the insurer pays for damages to the insured which are caused by covered perils, acts, or events as specified by the language of the insurance policy. The payments from the insured are generally referred to as “premiums,” and typically are paid by or on behalf of the insured upon purchase of the insurance policy or over time at periodic intervals.


Although the exemplary embodiments discussed herein relate to automobile insurance policies, it should be appreciated that an insurance provider may offer or provide one or more different types of insurance policies. Other types of insurance policies may include, for example, commercial automobile insurance, inland marine and mobile property insurance, ocean marine insurance, boat insurance, motorcycle insurance, farm vehicle insurance, aircraft or aviation insurance, and other types of insurance products.


Autonomous Automobile Insurance


Some aspects of some embodiments described herein may relate to assessing and pricing insurance based upon autonomous (or semi-autonomous) operation of the vehicle 108. Risk levels and/or insurance policies may be assessed, generated, or revised based upon the use of autonomous operation features or the availability of autonomous operation features in the vehicle 108. Additionally, risk levels and/or insurance policies may be assessed, generated, or revised based upon the effectiveness or operating status of the autonomous operation features (i.e., degree to which the features are operating as intended or are impaired, damaged, or otherwise prevented from full and ordinary operation). Thus, information regarding the capabilities or effectiveness of the autonomous operation features available to be used or actually used in operation of the vehicle 108 may be used in risk assessment and insurance policy determinations.


Insurance providers currently develop a set of rating factors based upon the make, model, and model year of a vehicle. Models with better loss experience receive lower factors, and thus lower rates. One reason that this current rating system cannot be used to assess risk for vehicles using autonomous technologies is that many autonomous operation features vary for the same vehicle model. For example, two vehicles of the same model may have different hardware features for automatic braking, different computer instructions for automatic steering, and/or different artificial intelligence system versions. The current make and model rating may also not account for the extent to which another “driver,” in this case the vehicle itself, is controlling the vehicle. The present embodiments may assess and price insurance risks at least in part based upon autonomous operation features that replace actions of the driver. In a way, the vehicle-related computer instructions and artificial intelligence may be viewed as a “driver.”


Insurance policies, including insurance premiums, discounts, and rewards, may be updated, adjusted, and/or determined based upon hardware or software functionality, and/or hardware or software upgrades, associated with autonomous operation features. Insurance policies, including insurance premiums, discounts, etc. may also be updated, adjusted, and/or determined based upon the amount of usage and/or the type(s) of the autonomous or semi-autonomous technology employed by the vehicle. In one embodiment, performance of autonomous driving software and/or sophistication of artificial intelligence utilized in the autonomous operation features may be analyzed for each vehicle. An automobile insurance premium may be determined by evaluating how effectively the vehicle may be able to avoid and/or mitigate crashes and/or the extent to which the driver's control of the vehicle is enhanced or replaced by the vehicle's software and artificial intelligence.


When pricing a vehicle with autonomous operation features, artificial intelligence capabilities, rather than human decision making, may be evaluated to determine the relative risk of the insurance policy. This evaluation may be conducted using multiple techniques. Autonomous operation feature technology may be assessed in a test environment, in which the ability of the artificial intelligence to detect and avoid potential crashes may be demonstrated experimentally. For example, this may include a vehicle's ability to detect a slow-moving vehicle ahead and/or automatically apply the brakes to prevent a collision. Additionally, actual loss experience of the software in question may be analyzed. Vehicles with superior artificial intelligence and crash avoidance capabilities may experience lower insurance losses in real driving situations. Results from both the test environment and/or actual insurance losses may be compared to the results of other autonomous software packages and/or vehicles lacking autonomous operation features to determine relative risk levels or risk factors for one or more autonomous operation features. To determine such risk levels or factors, the control decisions generated by autonomous operation features may be assessed to determine the degree to which actual or shadow control decisions are expected to succeed in avoiding or mitigating vehicle accidents. This risk levels or factors may be applicable to other vehicles that utilize the same or similar autonomous operation features and may, in some embodiments, be applied to vehicle utilizing similar features (such as other software versions), which may require adjustment for differences between the features.


Emerging technology, such as new iterations of artificial intelligence systems or other autonomous operation features, may be priced by combining an individual test environment assessment with actual losses corresponding to vehicles with similar autonomous operation features. The entire vehicle software and artificial intelligence evaluation process may be conducted with respect to each of various autonomous operation features. A risk level or risk factor associated with the one or more autonomous operation features of the vehicle could then be determined and applied when pricing insurance for the vehicle. In some embodiments, the driver's past loss experience and/or other driver risk characteristics may not be considered for fully autonomous vehicles, in which all driving decisions are made by the vehicle's artificial intelligence. Risks associated with the driver's operation of the vehicle may, however, be included in embodiments in which the driver controls some portion of vehicle operation in at least some circumstances.


In one embodiment, a separate portion of the automobile insurance premium may be based explicitly on the effectiveness of the autonomous operation features. An analysis of how the artificial intelligence of autonomous operation features facilitates avoiding accidents and/or mitigates the severity of accidents in order to build a database and/or model of risk assessment. After which, automobile insurance risk and/or premiums (as well as insurance discounts, rewards, and/or points) may be adjusted based upon autonomous or semi-autonomous vehicle functionality, such as by individual autonomous operation features or groups thereof. In one aspect, an evaluation may be performed of how artificial intelligence, and the usage thereof, impacts automobile accidents and/or automobile insurance claims. Such analysis may be based upon data from a plurality of autonomous vehicles operating in ordinary use, or the analysis may be based upon tests performed upon autonomous vehicles and/or autonomous operation feature test units.


The adjustments to automobile insurance rates or premiums based upon the autonomous or semi-autonomous vehicle-related functionality or technology may take into account the impact of such functionality or technology on the likelihood of a vehicle accident or collision occurring or upon the likely severity of such accident or collision. For instance, a processor may analyze historical accident information and/or test data involving vehicles having autonomous or semi-autonomous functionality. Factors that may be analyzed and/or accounted for that are related to insurance risk, accident information, or test data may include the following: (1) point of impact; (2) type of road; (3) time of day; (4) weather conditions; (5) road construction; (6) type/length of trip; (7) vehicle style; (8) level of pedestrian traffic; (9) level of vehicle congestion; (10) atypical situations (such as manual traffic signaling); (11) availability of internet connection for the vehicle; and/or other factors. These types of factors may also be weighted according to historical accident information, predicted accidents, vehicle trends, test data, and/or other considerations.


Automobile insurance premiums, rates, discounts, rewards, refunds, points, etc. may be adjusted based upon the percentage of time or vehicle usage that the vehicle is the driver, i.e., the amount of time a specific driver uses each type of autonomous operation feature. In other words, insurance premiums, discounts, rewards, etc. may be adjusted based upon the percentage of vehicle usage during which the autonomous or semi-autonomous functionality is in use. For example, automobile insurance risks, premiums, discounts, etc. for an automobile having one or more autonomous operation features may be adjusted and/or set based upon the percentage of vehicle usage that the one or more individual autonomous operation features are in use, which may include an assessment of settings used for the autonomous operation features. In some embodiments, such automobile insurance risks, premiums, discounts, etc. may be further set or adjusted based upon availability, use, or quality of Vehicle-to-Vehicle (V2V) wireless communication to a nearby vehicle also employing the same or other type(s) of autonomous communication features.


Insurance premiums, rates, ratings, discounts, rewards, special offers, points, programs, refunds, claims, claim amounts, etc. may be adjusted for, or may otherwise take into account, the foregoing functionalities, technologies, or aspects of the autonomous operation features of vehicles, as described elsewhere herein. For instance, insurance policies may be updated based upon autonomous or semi-autonomous vehicle functionality; V2V wireless communication-based autonomous or semi-autonomous vehicle functionality; and/or vehicle-to-infrastructure or infrastructure-to-vehicle wireless communication-based autonomous or semi-autonomous vehicle functionality.


Machine Learning


Machine learning techniques have been developed that allow parametric or nonparametric statistical analysis of large quantities of data. Such machine learning techniques may be used to automatically identify relevant variables (i.e., variables having statistical significance or a sufficient degree of explanatory power) from data sets. This may include identifying relevant variables or estimating the effect of such variables that indicate actual observations in the data set. This may also include identifying latent variables not directly observed in the data, viz. variables inferred from the observed data points. In some embodiments, the methods and systems described herein may use machine learning techniques to identify and estimate the effects of observed or latent variables such as time of day, weather conditions, traffic congestion, interaction between autonomous operation features, or other such variables that influence the risks associated with autonomous or semi-autonomous vehicle operation.


Some embodiments described herein may include automated machine learning to determine risk levels, identify relevant risk factors, optimize autonomous or semi-autonomous operation, optimize routes, determine autonomous operation feature effectiveness, predict user demand for a vehicle, determine vehicle operator or passenger illness or injury, evaluate sensor operating status, predict sensor failure, evaluate damage to a vehicle, predict repairs to a vehicle, predict risks associated with manual vehicle operation based upon the driver and environmental conditions, recommend optimal or preferred autonomous operation feature usage, estimate risk reduction or cost savings from feature usage changes, determine when autonomous operation features should be engaged or disengaged, determine whether a driver is prepared to resume control of some or all vehicle operations, and/or determine other events, conditions, risks, or actions as described elsewhere herein. Although the methods described elsewhere herein may not directly mention machine learning techniques, such methods may be read to include such machine learning for any determination or processing of data that may be accomplished using such techniques. In some embodiments, such machine-learning techniques may be implemented automatically upon occurrence of certain events or upon certain conditions being met. Use of machine learning techniques, as described herein, may begin with training a machine learning program, or such techniques may begin with a previously trained machine learning program.


A processor or a processing element may be trained using supervised or unsupervised machine learning, and the machine learning program may employ a neural network, which may be a convolutional neural network, a deep learning neural network, or a combined learning module or program that learns in two or more fields or areas of interest. Machine learning may involve identifying and recognizing patterns in existing data (such as autonomous vehicle system, feature, or sensor data, autonomous vehicle system control signal data, vehicle-mounted sensor data, mobile device sensor data, and/or telematics, image, or radar data) in order to facilitate making predictions for subsequent data (again, such as autonomous vehicle system, feature, or sensor data, autonomous vehicle system control signal data, vehicle-mounted sensor data, mobile device sensor data, and/or telematics, image, or radar data). Models may be created based upon example inputs of data in order to make valid and reliable predictions for novel inputs.


Additionally or alternatively, the machine learning programs may be trained by inputting sample data sets or certain data into the programs, such as autonomous system sensor and/or control signal data, and other data discuss herein. The machine learning programs may utilize deep learning algorithms primarily focused on pattern recognition, and may be trained after processing multiple examples. The machine learning programs may include Bayesian program learning (BPL), voice recognition and synthesis, image or object recognition, optical character recognition, and/or natural language processing—either individually or in combination. The machine learning programs may also include natural language processing, semantic analysis, automatic reasoning, and/or machine learning.


In supervised machine learning, a processing element may be provided with example inputs and their associated outputs, and may seek to discover a general rule that maps inputs to outputs, so that when subsequent novel inputs are provided the processing element may, based upon the discovered rule, accurately predict the correct or a preferred output. In unsupervised machine learning, the processing element may be required to find its own structure in unlabeled example inputs. In one embodiment, machine learning techniques may be used to extract the control signals generated by the autonomous systems or sensors, and under what conditions those control signals were generated by the autonomous systems or sensors.


The machine learning programs may be trained with autonomous system data, autonomous sensor data, and/or vehicle-mounted or mobile device sensor data to identify actions taken by the autonomous vehicle before, during, and/or after vehicle collisions; identify who was behind the wheel of the vehicle (whether actively driving, or riding along as the autonomous vehicle autonomously drove); identify actions taken by the human driver and/or autonomous system, and under what (road, traffic, congestion, or weather) conditions those actions were directed by the autonomous vehicle or the human driver; identify damage (or the extent of damage) to insurable vehicles after an insurance-related event or vehicle collision; and/or generate proposed insurance claims for insured parties after an insurance-related event.


The machine learning programs may be trained with autonomous system data, autonomous vehicle sensor data, and/or vehicle-mounted or mobile device sensor data to identify preferred (or recommended) and actual control signals relating to or associated with, for example, whether to apply the brakes; how quickly to apply the brakes; an amount of force or pressure to apply the brakes; how much to increase or decrease speed; how quickly to increase or decrease speed; how quickly to accelerate or decelerate; how quickly to change lanes or exit; the speed to take while traversing an exit or entrance ramp; at what speed to approach a stop sign or light; how quickly to come to a complete stop; and/or how quickly to accelerate from a complete stop.


After training, machine learning programs (or information generated by such machine learning programs) may be used to evaluate additional data. Such data may be related to tests of new autonomous operation feature or versions thereof, actual operation of an autonomous vehicle, or other similar data to be analyzed or processed. The trained machine learning programs (or programs utilizing models, parameters, or other data produced through the training process) may then be used for determining, assessing, analyzing, predicting, estimating, evaluating, or otherwise processing new data not included in the training data. Such trained machine learning programs may, thus, be used to perform part or all of the analytical functions of the methods described elsewhere herein.


Other Matters


In some aspect, customers may opt-in to a rewards, loyalty, or other program. The customers may allow a remote server to collect sensor, telematics, vehicle, mobile device, and other types of data discussed herein. With customer permission or affirmative consent, the data collected may be analyzed to provide certain benefits to customers. For instance, insurance cost savings may be provided to lower risk or risk averse customers. Recommendations that lower risk or provide cost savings to customers may also be generated and provided to customers based upon data analysis. The other functionality discussed herein may also be provided to customers in return for them allowing collection and analysis of the types of data discussed herein.


Although the text herein sets forth a detailed description of numerous different embodiments, it should be understood that the legal scope of the invention is defined by the words of the claims set forth at the end of this patent. The detailed description is to be construed as exemplary only and does not describe every possible embodiment, as describing every possible embodiment would be impractical, if not impossible. One could implement numerous alternate embodiments, using either current technology or technology developed after the filing date of this patent, which would still fall within the scope of the claims.


It should also be understood that, unless a term is expressly defined in this patent using the sentence “As used herein, the term ‘ ’ is hereby defined to mean . . . ” or a similar sentence, there is no intent to limit the meaning of that term, either expressly or by implication, beyond its plain or ordinary meaning, and such term should not be interpreted to be limited in scope based upon any statement made in any section of this patent (other than the language of the claims). To the extent that any term recited in the claims at the end of this disclosure is referred to in this disclosure in a manner consistent with a single meaning, that is done for sake of clarity only so as to not confuse the reader, and it is not intended that such claim term be limited, by implication or otherwise, to that single meaning. Finally, unless a claim element is defined by reciting the word “means” and a function without the recital of any structure, it is not intended that the scope of any claim element be interpreted based upon the application of 35 U.S.C. § 112(f).


Throughout this specification, plural instances may implement components, operations, or structures described as a single instance. Although individual operations of one or more methods are illustrated and described as separate operations, one or more of the individual operations may be performed concurrently, and nothing requires that the operations be performed in the order illustrated. Structures and functionality presented as separate components in example configurations may be implemented as a combined structure or component. Similarly, structures and functionality presented as a single component may be implemented as separate components. These and other variations, modifications, additions, and improvements fall within the scope of the subject matter herein.


Additionally, certain embodiments are described herein as including logic or a number of routines, subroutines, applications, or instructions. These may constitute either software (code embodied on a non-transitory, tangible machine-readable medium) or hardware. In hardware, the routines, etc., are tangible units capable of performing certain operations and may be configured or arranged in a certain manner. In example embodiments, one or more computer systems (e.g., a standalone, client or server computer system) or one or more modules of a computer system (e.g., a processor or a group of processors) may be configured by software (e.g., an application or application portion) as a module that operates to perform certain operations as described herein.


In various embodiments, a module may be implemented mechanically or electronically. Accordingly, the term “module” should be understood to encompass a tangible entity, be that an entity that is physically constructed, permanently configured (e.g., hardwired), or temporarily configured (e.g., programmed) to operate in a certain manner or to perform certain operations described herein. Considering embodiments in which modules are temporarily configured (e.g., programmed), each of the modules need not be configured or instantiated at any one instance in time. For example, where the modules comprise a general-purpose processor configured using software, the general-purpose processor may be configured as respective different modules at different times. Software may accordingly configure a processor, for example, to constitute a particular module at one instance of time and to constitute a different module at a different instance of time.


Modules can provide information to, and receive information from, other modules. Accordingly, the described modules may be regarded as being communicatively coupled. Where multiple of such modules exist contemporaneously, communications may be achieved through signal transmission (e.g., over appropriate circuits and buses) that connect the modules. In embodiments in which multiple modules are configured or instantiated at different times, communications between such modules may be achieved, for example, through the storage and retrieval of information in memory structures to which the multiple modules have access. For example, one module may perform an operation and store the output of that operation in a memory device to which it is communicatively coupled. A further module may then, at a later time, access the memory device to retrieve and process the stored output. Modules may also initiate communications with input or output devices, and can operate on a resource (e.g., a collection of information).


The various operations of example methods described herein may be performed, at least partially, by one or more processors that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors may constitute processor-implemented modules that operate to perform one or more operations or functions. The modules referred to herein may, in some example embodiments, comprise processor-implemented modules. Moreover, the systems and methods described herein are directed to an improvement to computer functionality and improve the functioning of conventional computers.


Similarly, the methods or routines described herein may be at least partially processor-implemented. For example, at least some of the operations of a method may be performed by one or more processors or processor-implemented modules. The performance of certain of the operations may be distributed among the one or more processors, not only residing within a single machine, but deployed across a number of machines. In some example embodiments, the processor or processors may be located in a single location (e.g., within a home environment, an office environment or as a server farm), while in other embodiments the processors may be distributed across a number of locations.


The performance of certain of the operations may be distributed among the one or more processors, not only residing within a single machine, but deployed across a number of machines. In some example embodiments, the one or more processors or processor-implemented modules may be located in a single geographic location (e.g., within a home environment, an office environment, or a server farm). In other example embodiments, the one or more processors or processor-implemented modules may be distributed across a number of geographic locations.


Unless specifically stated otherwise, discussions herein using words such as “processing,” “computing,” “calculating,” “determining,” “presenting,” “displaying,” or the like may refer to actions or processes of a machine (e.g., a computer) that manipulates or transforms data represented as physical (e.g., electronic, magnetic, or optical) quantities within one or more memories (e.g., volatile memory, non-volatile memory, or a combination thereof), registers, or other machine components that receive, store, transmit, or display information. Some embodiments may be described using the expression “coupled” and “connected” along with their derivatives. For example, some embodiments may be described using the term “coupled” to indicate that two or more elements are in direct physical or electrical contact. The term “coupled,” however, may also mean that two or more elements are not in direct contact with each other, but yet still co-operate or interact with each other. The embodiments are not limited in this context.


As used herein any reference to “one embodiment” or “an embodiment” means that a particular element, feature, structure, or characteristic described in connection with the embodiment may be included in at least one embodiment. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment. In addition, use of the “a” or “an” are employed to describe elements and components of the embodiments herein. This is done merely for convenience and to give a general sense of the description. This description, and the claims that follow, should be read to include one or at least one and the singular also includes the plural unless it is obvious that it is meant otherwise.


As used herein, the terms “comprises,” “comprising,” “includes,” “including,” “has,” “having” or any other variation thereof, are intended to cover a non-exclusive inclusion. For example, a process, method, article, or apparatus that comprises a list of elements is not necessarily limited to only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Further, unless expressly stated to the contrary, “or” refers to an inclusive or and not to an exclusive or. For example, a condition A or B is satisfied by any one of the following: A is true (or present) and B is false (or not present), A is false (or not present) and B is true (or present), and both A and B are true (or present).


This detailed description is to be construed as exemplary only and does not describe every possible embodiment, as describing every possible embodiment would be impractical, if not impossible. One could implement numerous alternate embodiments, using either current technology or technology developed after the filing date of this application. Upon reading this disclosure, those of skill in the art will appreciate still additional alternative structural and functional designs for system and a method for assigning mobile device data to a vehicle through the disclosed principles herein. Thus, while particular embodiments and applications have been illustrated and described, it is to be understood that the disclosed embodiments are not limited to the precise construction and components disclosed herein. Various modifications, changes and variations, which will be apparent to those skilled in the art, may be made in the arrangement, operation and details of the method and apparatus disclosed herein without departing from the spirit and scope defined in the appended claims.


The particular features, structures, or characteristics of any specific embodiment may be combined in any suitable manner and in any suitable combination with one or more other embodiments, including the use of selected features without corresponding use of other features. In addition, many modifications may be made to adapt a particular application, situation or material to the essential scope and spirit of the present invention. It is to be understood that other variations and modifications of the embodiments of the present invention described and illustrated herein are possible in light of the teachings herein and are to be considered part of the spirit and scope of the present invention.


While the preferred embodiments of the invention have been described, it should be understood that the invention is not so limited and modifications may be made without departing from the invention. The scope of the invention is defined by the appended claims, and all devices that come within the meaning of the claims, either literally or by equivalence, are intended to be embraced therein. It is therefore intended that the foregoing detailed description be regarded as illustrative rather than limiting, and that it be understood that it is the following claims, including all equivalents, that are intended to define the spirit and scope of this invention.

Claims
  • 1. A computer-implemented method for using data collected from a plurality of vehicles each having one or more autonomous operation features, comprising: receiving, at one or more processors from the plurality of vehicles, data corresponding to a road segment on which each vehicle of the plurality of vehicles travelled;generating, by the one or more processors, an overall indication of a condition of the road segment based upon the data corresponding to the road segment received from the plurality of vehicles; anddetermining a recommendation for one or more autonomous operation features based at least in part upon the overall indication of the condition of the road segment;wherein the recommendation to a vehicle approaching the road segment includes a mode recommendation to change vehicle operation from (a) a manual mode to an autonomous mode, or (b) an autonomous mode to a manual mode.
  • 2. The computer-implemented method of claim 1, wherein in response to receiving the recommendation to change vehicle operation from a manual mode to an autonomous mode, the vehicle having a computing device switches to the autonomous mode, wherein the recommendation includes the mode recommendation, and in response to receiving the recommendation to change vehicle operation from an autonomous mode to a manual mode, the vehicle having the computing device switches to the manual mode.
  • 3. The computer-implemented method of claim 2, wherein the recommendation includes an action for the vehicle having the computing device to perform based upon the overall indication of the condition of the road segment.
  • 4. The computer-implemented method of claim 1, wherein the data corresponding to the road segment includes an indication of a condition at a location within the road segment, wherein at least one of the plurality of vehicles is configured to obtain the data corresponding to the road segment at least partially from a smart infrastructure component.
  • 5. The computer-implemented method of claim 1, wherein the indication of the condition of the road segment at the location includes at least one selected from a group consisting of: (i) traffic at the road segment, (ii) a maneuver to be performed by each vehicle of the plurality of vehicles at the location, (iii) an amount of wear and tear on the road segment, (iv) whether the road segment is currently under construction, and (v) unexpected debris on the road segment.
  • 6. The computer-implemented method of claim 5, wherein the traffic at the road segment includes at least one selected from a group consisting of: an indication of a vehicle collision on the road segment, an indication of construction occurring on the road segment, a number of vehicles on the road segment, and a number of vehicles planning to exit the road segment; wherein the amount of wear and tear on the road segment includes at least one selected from a group consisting of: a number of potholes on the road segment, one or more ice patches on the road segment, and one or more cracks in the road segment;wherein the unexpected debris on the road segment includes at least one of selected from a group consisting of: a fallen branch on the road segment, a flooded portion of the road segment, a rock on the road segment, fallen cargo on the road segment, a portion of a shredded tire on the road segment, and broken glass on the road segment.
  • 7. The computer-implemented method of claim 1, wherein generating the overall indication of the condition of the road segment includes: assigning, by the one or more processors, a weight to the data corresponding to the road segment based upon time, wherein data received more recently is weighted higher.
  • 8. A computer system configured to use data collected from a plurality of vehicles each having one or more autonomous operation features, the computer system comprising one or more processors configured to: receive, from the plurality of vehicles, data corresponding to a road segment on which each vehicle of the plurality of vehicles travelled;generate an overall indication of a condition of the road segment based upon the data corresponding to the road segment received from the plurality of vehicles; anddetermine a recommendation for one or more autonomous operation features based at least in part upon the overall indication of the condition of the road segment generated based upon the data received the plurality of vehicles;wherein the recommendation to a vehicle approaching the road segment includes a mode recommendation to change vehicle operation from (a) a manual mode to an autonomous mode, or (b) an autonomous mode to a manual mode.
  • 9. The computer system of claim 8, wherein in response to receiving the recommendation to change vehicle operation from a manual mode to an autonomous mode, the vehicle having a computing device switches to the autonomous mode, wherein the recommendation includes the mode recommendation, and in response to receiving the recommendation to change vehicle operation from an autonomous mode to a manual mode, the vehicle having the computing device switches to the manual mode.
  • 10. The computer system of claim 9, wherein the recommendation includes an action for the vehicle having the computing device to perform based upon the overall indication of the condition of the road segment.
  • 11. The computer system of claim 8, wherein the data corresponding to the road segment includes an indication of a condition at a location within the road segment, wherein at least one of the plurality of vehicles is configured to obtain the data corresponding to the road segment at least partially from a smart infrastructure component.
  • 12. The computer system of claim 8, wherein an indication of the condition of the road segment at the location includes at least one selected from a group consisting of: (i) traffic at the road segment, (ii) a maneuver to be performed by each vehicle of the plurality of vehicles at the location, (iii) an amount of wear and tear on the road segment, (iv) whether the road segment is currently under construction, and (v) unexpected debris on the road segment.
  • 13. The computer system of claim 12, wherein the traffic at the road segment includes at least one selected from a group consisting of: an indication of a vehicle collision on the road segment, an indication of construction occurring on the road segment, a number of vehicles on the road segment, and a number of vehicles planning to exit the road segment; wherein the amount of wear and tear on the road segment includes at least one selected from a group consisting of: a number of potholes on the road segment, one or more ice patches on the road segment, and one or more cracks in the road segment;wherein the unexpected debris on the road segment includes at least one selected from a group consisting of: a fallen branch on the road segment, a flooded portion of the road segment, a rock on the road segment, fallen cargo on the road segment, a portion of a shredded tire on the road segment, and broken glass on the road segment.
  • 14. The computer system of claim 8, wherein to generate an overall indication of the condition of the road segment, the one or more processors are configured to: assign a weight to the data corresponding to the road segment based upon time, wherein data received more recently is weighted higher.
  • 15. A non-transitory computer-readable medium storing thereon a set of instructions that, when executed on one or more processors, causes the one or more processors to: receive, from a plurality of vehicles each having one or more autonomous operation features, data corresponding to a road segment on which each vehicle of the plurality of vehicles travelled;generate an overall indication of a condition of the road segment based upon the data corresponding to the road segment received from the plurality of vehicles; anddetermine a recommendation for one or more autonomous operation features based at least in part upon the overall indication of the condition of the road segment;wherein the recommendation to a vehicle approaching the road segment includes the mode recommendation to change vehicle operation from (a) a manual mode to an autonomous mode, or (b) an autonomous mode to a manual mode.
  • 16. The computer-readable medium of claim 15, wherein in response to receiving the recommendation to change vehicle operation from a manual mode to an autonomous mode, the vehicle having a computing device switches to the autonomous mode, wherein the recommendation includes the mode recommendation, and in response to receiving the recommendation to change vehicle operation from an autonomous mode to a manual mode, the vehicle having the computing device switches to the manual mode.
  • 17. The computer-readable medium of claim 16, wherein the recommendation includes an action for the vehicle having the computing device to perform based upon the overall indication of the condition of the road segment.
  • 18. The computer-readable medium of claim 15, wherein an indication of the condition of the road segment at the location includes at least one selected from a group consisting of: (i) traffic at the road segment, (ii) a maneuver to be performed by each vehicle of the plurality of vehicles at the location, (iii) an amount of wear and tear on the road segment, (iv) whether the road segment is currently under construction, and (v) unexpected debris on the road segment.
  • 19. The computer-readable medium of claim 18, wherein the traffic at the road segment includes at least one selected from a group consisting of: an indication of a vehicle collision on the road segment, an indication of construction occurring on the road segment, a number of vehicles on the road segment, and a number of vehicles planning to exit the road segment; wherein the amount of wear and tear on the road segment includes at least one selected from a group consisting of: a number of potholes on the road segment, one or more ice patches on the road segment, and one or more cracks in the road segment;wherein the unexpected debris on the road segment includes at least one selected from a group consisting of: a fallen branch on the road segment, a flooded portion of the road segment, a rock on the road segment, fallen cargo on the road segment, a portion of a shredded tire on the road segment, and broken glass on the road segment.
  • 20. The computer-readable medium of claim 15, wherein to generate an overall indication of the condition of the road segment, the set of instructions causes the one or more processors to: assign a weight to the data corresponding to the road segment based upon time, wherein data received more recently is weighted higher.
CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of and claims priority to U.S. application Ser. No. 16/848,170. Filed Apr. 14, 2020, entitled “Autonomous Vehicle Application,” which is a continuation of and claims the priority to U.S. application Ser. No. 16/150,658, filed Oct. 3, 2018, (now U.S. Pat. No. 10,679,497) entitled “Autonomous Vehicle Application”, which is a continuation of and claims priority to U.S. patent application Ser. No. 15/908,060, filed Feb. 28, 2018, (now U.S. Pat. No. 10,134,278) entitled “Autonomous Vehicle Application,” which is a continuation of and claims priority to U.S. patent application Ser. No. 15/409,115, filed Jan. 18, 2017, (now U.S. Pat. No. 9,940,834) entitled “Autonomous Vehicle Application” which claims priority to and the benefit of the filing date of the following applications: (1) provisional U.S. Patent Application No. 62/286,017 entitled “Autonomous Vehicle Routing, Maintenance, & Fault Determination,” filed on Jan. 22, 2016; (2) provisional U.S. Patent Application No. 62/287,659 entitled “Autonomous Vehicle Technology,” filed on Jan. 27, 2016; (3) provisional U.S. Patent Application No. 62/302,990 entitled “Autonomous Vehicle Routing,” filed on Mar. 3, 2016; (4) provisional U.S. Patent Application No. 62/303,500 entitled “Autonomous Vehicle Routing,” filed on Mar. 4, 2016; (5) provisional U.S. Patent Application No. 62/312,109 entitled “Autonomous Vehicle Routing,” filed on Mar. 23, 2016; (6) provisional U.S. Patent Application No. 62/349,884 entitled “Autonomous Vehicle Component and System Assessment,” filed on Jun. 14, 2016; (7) provisional U.S. Patent Application No. 62/351,559 entitled “Autonomous Vehicle Component and System Assessment,” filed on Jun. 17, 2016; (8) provisional U.S. Patent Application No. 62/373,084 entitled “Autonomous Vehicle Communications,” filed on Aug. 10, 2016; (9) provisional U.S. Patent Application No. 62/376,044 entitled “Autonomous Operation Expansion through Caravans,” filed on Aug. 17, 2016; (10) provisional U.S. Patent Application No. 62/380,686 entitled “Autonomous Operation Expansion through Caravans,” filed on Aug. 29, 2016; (11) provisional U.S. Patent Application No. 62/381,848 entitled “System and Method for Autonomous Vehicle Sharing Using Facial Recognition,” filed on Aug. 31, 2016; (12) provisional U.S. Patent Application No. 62/406,595 entitled “Autonomous Vehicle Action Communications,” filed on Oct. 11, 2016; (13) provisional U.S. Patent Application No. 62/406,600 entitled “Autonomous Vehicle Path Coordination,” filed on Oct. 11, 2016; (14) provisional U.S. Patent Application No. 62/406,605 entitled “Autonomous Vehicle Signal Control,” filed on Oct. 11, 2016; (15) provisional U.S. Patent Application No. 62/406,611 entitled “Autonomous Vehicle Application,” filed on Oct. 11, 2016; (16) provisional U.S. Patent Application No. 62/415,668 entitled “Method and System for Enhancing the Functionality of a Vehicle,” filed on Nov. 1, 2016; (17) provisional U.S. Patent Application No. 62/415,672 entitled “Method and System for Repairing a Malfunctioning Autonomous Vehicle,” filed on Nov. 1, 2016; (18) provisional U.S. Patent Application No. 62/415,673 entitled “System and Method for Autonomous Vehicle Sharing Using Facial Recognition,” filed on Nov. 1, 2016; (19) provisional U.S. Patent Application No. 62/415,678 entitled “System and Method for Autonomous Vehicle Ride Sharing Using Facial Recognition,” filed on Nov. 1, 2016; (20) provisional U.S. Patent Application No. 62/418,988 entitled “Virtual Testing of Autonomous Vehicle Control System,” filed on Nov. 8, 2016; (21) provisional U.S. Patent Application No. 62/418,999 entitled “Detecting and Responding to Autonomous Vehicle Collisions,” filed on Nov. 8, 2016; (22) provisional U.S. Patent Application No. 62/419,002 entitled “Automatic Repair on Autonomous Vehicles,” filed on Nov. 8, 2016; (23) provisional U.S. Patent Application No. 62/419,009 entitled “Autonomous Vehicle Component Malfunction Impact Assessment,” filed on Nov. 8, 2016; (24) provisional U.S. Patent Application No. 62/419,017 entitled “Autonomous Vehicle Sensor Malfunction Detection,” filed on Nov. 8, 2016; (25) provisional U.S. Patent Application No. 62/419,023 entitled “Autonomous Vehicle Damage and Salvage Assessment,” filed on Nov. 8, 2016; (26) provisional U.S. Patent Application No. 62/424,078 entitled “Systems and Methods for Sensor Monitoring,” filed Nov. 18, 2016; (27) provisional U.S. Patent Application No. 62/424,093 entitled “Autonomous Vehicle Sensor Malfunction Detection,” filed on Nov. 18, 2016; (28) provisional U.S. Patent Application No. 62/428,843 entitled “Autonomous Vehicle Control,” filed on Dec. 1, 2016; (29) provisional U.S. Patent Application No. 62/430,215 entitled Autonomous Vehicle Environment and Component Monitoring,” filed on Dec. 5, 2016; (30) provisional U.S. Patent Application No. 62/434,355 entitled “Virtual Testing of Autonomous Environment Control System,” filed Dec. 14, 2016; (31) provisional U.S. Patent Application No. 62/434,359 entitled “Detecting and Responding to Autonomous Environment Incidents,” filed Dec. 14, 2016; (32) provisional U.S. Patent Application No. 62/434,361 entitled “Component Damage and Salvage Assessment,” filed Dec. 14, 2016; (33) provisional U.S. Patent Application No. 62/434,365 entitled “Sensor Malfunction Detection,” filed Dec. 14, 2016; (34) provisional U.S. Patent Application No. 62/434,368 entitled “Component Malfunction Impact Assessment,” filed Dec. 14, 2016; and (35) provisional U.S. Patent Application No. 62/434,370 entitled “Automatic Repair of Autonomous Components,” filed Dec. 14, 2016. The entire contents of each of the preceding applications are hereby expressly incorporated herein by reference.

US Referenced Citations (1061)
Number Name Date Kind
4218763 Brailsford et al. Aug 1980 A
4386376 Takimoto et al. May 1983 A
4565997 Seko et al. Jan 1986 A
4833469 David May 1989 A
5132920 Bellows et al. Jul 1992 A
5214582 Gray May 1993 A
5363298 Survanshi et al. Nov 1994 A
5367456 Summerville et al. Nov 1994 A
5368484 Copperman et al. Nov 1994 A
5436839 Dausch et al. Jul 1995 A
5453939 Hoffman et al. Sep 1995 A
5488353 Kawakami et al. Jan 1996 A
5499182 Ousborne Mar 1996 A
5515026 Ewert May 1996 A
5574641 Kawakami et al. Nov 1996 A
5626362 Mottola May 1997 A
5689241 Clarke et al. Nov 1997 A
5797134 Mcmillan et al. Aug 1998 A
5835008 Colemere, Jr. Nov 1998 A
5983161 Lemelson et al. Nov 1999 A
6031354 Wiley et al. Feb 2000 A
6064970 Mcmillan et al. May 2000 A
6067488 Tano May 2000 A
6141611 Mackey et al. Oct 2000 A
6151539 Bergholz et al. Nov 2000 A
6246933 Bague Jun 2001 B1
6253129 Jenkins et al. Jun 2001 B1
6271745 Anzai et al. Aug 2001 B1
6285931 Hattori et al. Sep 2001 B1
6298290 Abe et al. Oct 2001 B1
6313749 Horne et al. Nov 2001 B1
6323761 Son Nov 2001 B1
6353396 Atlas Mar 2002 B1
6400835 Lemelson et al. Jun 2002 B1
6473000 Secreet et al. Oct 2002 B1
6477117 Narayanaswami et al. Nov 2002 B1
6477177 Potts Nov 2002 B1
6553354 Hausner et al. Apr 2003 B1
6556905 Mittelsteadt et al. Apr 2003 B1
6570609 Heien May 2003 B1
6579233 Hursh Jun 2003 B2
6609051 Fiechter et al. Aug 2003 B2
6661345 Bevan et al. Dec 2003 B1
6701234 Vogelsang Mar 2004 B1
6704434 Sakoh et al. Mar 2004 B1
6727800 Dutu Apr 2004 B1
6734685 Rudrich May 2004 B2
6754490 Okoro et al. Jun 2004 B2
6795759 Doyle Sep 2004 B2
6832141 Skeen et al. Dec 2004 B2
6889137 Rychlak May 2005 B1
6909947 Douros et al. Jun 2005 B2
6934365 Suganuma et al. Aug 2005 B2
6944536 Singleton Sep 2005 B2
6983313 Korkea-Aho Jan 2006 B1
6989737 Yasui Jan 2006 B2
7027621 Prokoski Apr 2006 B1
7054723 Seto et al. May 2006 B2
7102496 Ernst et al. Sep 2006 B1
7138922 Strumolo et al. Nov 2006 B2
7149533 Laird et al. Dec 2006 B2
7253724 Prakah-Asante et al. Aug 2007 B2
7254482 Kawasaki et al. Aug 2007 B2
7266532 Sutton et al. Sep 2007 B2
7290275 Baudoin et al. Oct 2007 B2
7302344 Olney et al. Nov 2007 B2
7315233 Yuhara Jan 2008 B2
7330124 Ota Feb 2008 B2
7348882 Adamczyk et al. Mar 2008 B2
7349860 Wallach et al. Mar 2008 B1
7356392 Hubbard et al. Apr 2008 B2
7386376 Basir et al. Jun 2008 B2
7423540 Kisacanin Sep 2008 B2
7424414 Craft Sep 2008 B2
7499774 Barrett et al. Mar 2009 B2
7565230 Gardner et al. Jul 2009 B2
7596242 Breed et al. Sep 2009 B2
7609150 Wheatley et al. Oct 2009 B2
7639148 Victor Dec 2009 B2
7676062 Breed et al. Mar 2010 B2
7692552 Harrington et al. Apr 2010 B2
7719431 Bolourchi May 2010 B2
7783426 Kato et al. Aug 2010 B2
7783505 Roschelle et al. Aug 2010 B2
7791503 Breed et al. Sep 2010 B2
7792328 Albertson et al. Sep 2010 B2
7797107 Shiller Sep 2010 B2
7812712 White et al. Oct 2010 B2
7813888 Vian et al. Oct 2010 B2
7835834 Smith et al. Nov 2010 B2
7865378 Gay Jan 2011 B2
7870010 Joao Jan 2011 B2
7877275 Ball Jan 2011 B2
7881951 Roschelle et al. Feb 2011 B2
7890355 Gay et al. Feb 2011 B2
7904219 Lowrey et al. Mar 2011 B1
7973674 Bell et al. Jul 2011 B2
7979172 Breed Jul 2011 B2
7979173 Breed Jul 2011 B2
7983802 Breed Jul 2011 B2
7987103 Gay et al. Jul 2011 B2
7991629 Gay et al. Aug 2011 B2
8005467 Gerlach et al. Aug 2011 B2
8009051 Omi Aug 2011 B2
8010283 Yoshida et al. Aug 2011 B2
8016595 Aoki et al. Sep 2011 B2
8027853 Kazenas Sep 2011 B1
8035508 Breed Oct 2011 B2
8040247 Gunaratne Oct 2011 B2
8068983 Vian et al. Nov 2011 B2
8078334 Goodrich Dec 2011 B2
8090598 Bauer et al. Jan 2012 B2
8095394 Nowak et al. Jan 2012 B2
8106769 Maroney et al. Jan 2012 B1
8108655 Abernathy et al. Jan 2012 B2
8117049 Berkobin et al. Feb 2012 B2
8123686 Fennell et al. Feb 2012 B2
8139109 Schmiedel et al. Mar 2012 B2
8140249 Hessling et al. Mar 2012 B2
8140358 Ling et al. Mar 2012 B1
8140359 Daniel Mar 2012 B2
8164432 Broggi et al. Apr 2012 B2
8180522 Tuff May 2012 B2
8180655 Hopkins, III May 2012 B1
8185380 Kameyama May 2012 B2
8188887 Catten et al. May 2012 B2
8190323 Maeda et al. May 2012 B2
8255144 Breed et al. Aug 2012 B2
8255243 Raines et al. Aug 2012 B2
8255244 Raines et al. Aug 2012 B2
8260489 Nielsen et al. Sep 2012 B2
8260639 Medina et al. Sep 2012 B1
8265861 Ikeda et al. Sep 2012 B2
8275417 Flynn Sep 2012 B2
8280752 Cripe et al. Oct 2012 B1
8311858 Everett et al. Nov 2012 B2
8314708 Gunderson et al. Nov 2012 B2
8332242 Medina, III Dec 2012 B1
8340893 Yamaguchi et al. Dec 2012 B2
8340902 Chiang Dec 2012 B1
8344849 Larsson et al. Jan 2013 B2
8352118 Mittelsteadt et al. Jan 2013 B1
8355837 Avery et al. Jan 2013 B2
8364391 Nagase et al. Jan 2013 B2
8384534 James et al. Feb 2013 B2
8386168 Hao Feb 2013 B2
8423239 Blumer et al. Apr 2013 B2
8437966 Connolly et al. May 2013 B2
8447231 Bai et al. May 2013 B2
8451105 Mcnay May 2013 B2
8457880 Malalur et al. Jun 2013 B1
8473143 Stark et al. Jun 2013 B2
8487775 Victor et al. Jul 2013 B2
8520695 Rubin et al. Aug 2013 B1
8554468 Bullock Oct 2013 B1
8554587 Nowak et al. Oct 2013 B1
8566126 Hopkins, III Oct 2013 B1
8595034 Bauer et al. Nov 2013 B2
8595037 Hyde et al. Nov 2013 B1
8605947 Zhang et al. Dec 2013 B2
8618922 Debouk et al. Dec 2013 B2
8634980 Urmson et al. Jan 2014 B1
8645014 Kozlowski et al. Feb 2014 B1
8645029 Kim et al. Feb 2014 B2
8660734 Zhu et al. Feb 2014 B2
8698639 Fung et al. Apr 2014 B2
8700251 Zhu et al. Apr 2014 B1
8725311 Breed May 2014 B1
8725472 Hagelin et al. May 2014 B2
8731977 Hardin et al. May 2014 B1
8742936 Galley et al. Jun 2014 B2
8781442 Link, II Jul 2014 B1
8781669 Teller et al. Jul 2014 B1
8788299 Medina, III Jul 2014 B1
8799034 Brandmaier et al. Aug 2014 B1
8816836 Lee et al. Aug 2014 B2
8818608 Cullinane et al. Aug 2014 B2
8825258 Cullinane et al. Sep 2014 B2
8849558 Morotomi et al. Sep 2014 B2
8868288 Plante et al. Oct 2014 B2
8874301 Rao et al. Oct 2014 B1
8874305 Dolgov et al. Oct 2014 B2
8876535 Fields et al. Nov 2014 B2
8880291 Hampiholi Nov 2014 B2
8892271 Breed Nov 2014 B2
8902054 Morris Dec 2014 B2
8909428 Lombrozo Dec 2014 B1
8917182 Chang et al. Dec 2014 B2
8928495 Hassib et al. Jan 2015 B2
8935036 Christensen et al. Jan 2015 B1
8954205 Sagar et al. Feb 2015 B2
8954217 Montemerlo et al. Feb 2015 B1
8954226 Binion et al. Feb 2015 B1
8965677 Breed et al. Feb 2015 B2
8972100 Mullen et al. Mar 2015 B2
8989959 Plante et al. Mar 2015 B2
8996228 Ferguson et al. Mar 2015 B1
8996240 Plante Mar 2015 B2
9008952 Caskey et al. Apr 2015 B2
9019092 Brandmaier et al. Apr 2015 B1
9020876 Rakshit Apr 2015 B2
9049584 Hatton Jun 2015 B2
9053588 Briggs et al. Jun 2015 B1
9056395 Ferguson et al. Jun 2015 B1
9063543 An et al. Jun 2015 B2
9070243 Kozlowski et al. Jun 2015 B1
9075413 Cullinane et al. Jul 2015 B2
9079587 Rupp et al. Jul 2015 B1
9081650 Brinkmann et al. Jul 2015 B1
9098080 Norris et al. Aug 2015 B2
9123250 Duncan et al. Sep 2015 B2
9135803 Fields et al. Sep 2015 B1
9141996 Christensen et al. Sep 2015 B2
9144389 Srinivasan et al. Sep 2015 B2
9147219 Binion et al. Sep 2015 B2
9147353 Slusar Sep 2015 B1
9151692 Breed Oct 2015 B2
9164507 Cheatham et al. Oct 2015 B2
9177475 Sellschopp Nov 2015 B2
9182764 Kolhouse et al. Nov 2015 B1
9182942 Kelly et al. Nov 2015 B2
9188985 Hobbs et al. Nov 2015 B1
9194168 Lu et al. Nov 2015 B1
9194769 Senibi et al. Nov 2015 B1
9205805 Cudak et al. Dec 2015 B2
9205842 Fields et al. Dec 2015 B1
9221396 Zhu et al. Dec 2015 B1
9224293 Taylor Dec 2015 B2
9235211 Davidsson et al. Jan 2016 B2
9262787 Binion et al. Feb 2016 B2
9274525 Ferguson et al. Mar 2016 B1
9275417 Binion et al. Mar 2016 B2
9275552 Fields et al. Mar 2016 B1
9282430 Brandmaier et al. Mar 2016 B1
9282447 Gianakis Mar 2016 B2
9299108 Diana et al. Mar 2016 B2
9308891 Cudak et al. Apr 2016 B2
9311271 Wright Apr 2016 B2
9317983 Ricci Apr 2016 B2
9342074 Dolgov et al. May 2016 B2
9342993 Fields et al. May 2016 B1
9352709 Brenneis et al. May 2016 B2
9352752 Cullinane et al. May 2016 B2
9355423 Slusar May 2016 B1
9361599 Biemer et al. Jun 2016 B1
9361650 Binion et al. Jun 2016 B2
9371072 Sisbot Jun 2016 B1
9376090 Gennermann Jun 2016 B2
9377315 Grover et al. Jun 2016 B2
9381916 Zhu et al. Jul 2016 B1
9384491 Briggs et al. Jul 2016 B1
9390451 Slusar Jul 2016 B1
9390452 Biemer et al. Jul 2016 B1
9390567 Kim et al. Jul 2016 B2
9399445 Abou et al. Jul 2016 B2
9401054 Fountain et al. Jul 2016 B2
9406177 Attard et al. Aug 2016 B2
9421972 Davidsson et al. Aug 2016 B2
9424607 Bowers et al. Aug 2016 B2
9429943 Wilson et al. Aug 2016 B2
9430944 Grimm et al. Aug 2016 B2
9440657 Fields et al. Sep 2016 B1
9443152 Atsmon et al. Sep 2016 B2
9443207 Przybylko et al. Sep 2016 B2
9443436 Scheidt Sep 2016 B2
9454786 Srey et al. Sep 2016 B1
9466214 Fuehrer Oct 2016 B2
9475496 Attard et al. Oct 2016 B2
9477990 Binion et al. Oct 2016 B1
9478150 Fields et al. Oct 2016 B1
9489635 Zhu Nov 2016 B1
9495874 Zhu et al. Nov 2016 B1
9505494 Marlow et al. Nov 2016 B1
9511765 Obradovich Dec 2016 B2
9511767 Okumura et al. Dec 2016 B1
9511779 Cullinane et al. Dec 2016 B2
9517771 Attard et al. Dec 2016 B2
9523984 Herbach et al. Dec 2016 B1
9524648 Gopalakrishnan et al. Dec 2016 B1
9529361 You et al. Dec 2016 B2
9530333 Fields et al. Dec 2016 B1
9542846 Zeng et al. Jan 2017 B2
9557741 Elie et al. Jan 2017 B1
9558667 Bowers et al. Jan 2017 B2
9566959 Breuer et al. Feb 2017 B2
9567007 Cudak et al. Feb 2017 B2
9587952 Slusar Mar 2017 B1
9594373 Solyom et al. Mar 2017 B2
9604652 Strauss Mar 2017 B2
9632502 Levinson et al. Apr 2017 B1
9633318 Plante Apr 2017 B2
9646428 Konrardy et al. May 2017 B1
9650051 Hoye et al. May 2017 B2
9656606 Vose et al. May 2017 B1
9663033 Bharwani May 2017 B2
9663112 Abou-Nasr et al. May 2017 B2
9665101 Templeton May 2017 B1
9679487 Hayward Jun 2017 B1
9688288 Lathrop et al. Jun 2017 B1
9692778 Mohanty Jun 2017 B1
9697733 Penilla et al. Jul 2017 B1
9707942 Cheatham et al. Jul 2017 B2
9712549 Almurayh Jul 2017 B2
9715711 Konrardy et al. Jul 2017 B1
9718405 Englander et al. Aug 2017 B1
9720415 Levinson et al. Aug 2017 B2
9720419 O'Neill et al. Aug 2017 B2
9725036 Tarte Aug 2017 B1
9727920 Healy et al. Aug 2017 B1
9734685 Fields et al. Aug 2017 B2
9753390 Kabai Sep 2017 B2
9754325 Konrardy et al. Sep 2017 B1
9754424 Ling et al. Sep 2017 B2
9754490 Kentley et al. Sep 2017 B2
9760702 Kursun et al. Sep 2017 B1
9761139 Acker et al. Sep 2017 B2
9766625 Boroditsky et al. Sep 2017 B2
9767516 Konrardy et al. Sep 2017 B1
9767680 Trundle Sep 2017 B1
9773281 Hanson Sep 2017 B1
9792656 Konrardy et al. Oct 2017 B1
9805423 Konrardy et al. Oct 2017 B1
9805601 Fields et al. Oct 2017 B1
9816827 Slusar Nov 2017 B1
9817400 Poeppel et al. Nov 2017 B1
9842496 Hayward Dec 2017 B1
9846978 Tseng et al. Dec 2017 B1
9847033 Carmack et al. Dec 2017 B1
9852475 Konrardy et al. Dec 2017 B1
9858621 Konrardy et al. Jan 2018 B1
9868394 Fields et al. Jan 2018 B1
9870649 Fields et al. Jan 2018 B1
9884611 Abou et al. Feb 2018 B2
9892567 Binion et al. Feb 2018 B2
9904928 Leise Feb 2018 B1
9939279 Pan et al. Apr 2018 B2
9940676 Biemer Apr 2018 B1
9940834 Konrardy et al. Apr 2018 B1
9944282 Fields et al. Apr 2018 B1
9944404 Gentry Apr 2018 B1
9946531 Fields et al. Apr 2018 B1
9948477 Marten Apr 2018 B2
9972054 Konrardy et al. May 2018 B1
9986404 Mehta et al. May 2018 B2
10007263 Fields et al. Jun 2018 B1
10013697 Cote et al. Jul 2018 B1
10019901 Fields et al. Jul 2018 B1
10026130 Konrardy et al. Jul 2018 B1
10026237 Fields et al. Jul 2018 B1
10042359 Konrardy et al. Aug 2018 B1
10042364 Hayward Aug 2018 B1
10043323 Konrardy et al. Aug 2018 B1
10049505 Harvey et al. Aug 2018 B1
10055794 Konrardy et al. Aug 2018 B1
10065517 Konrardy et al. Sep 2018 B1
10086782 Konrardy et al. Oct 2018 B1
10089693 Konrardy et al. Oct 2018 B1
10102586 Marlow et al. Oct 2018 B1
10102590 Farnsworth et al. Oct 2018 B1
10106083 Fields et al. Oct 2018 B1
10134278 Konrardy et al. Nov 2018 B1
10134280 You Nov 2018 B1
10156848 Konrardy et al. Dec 2018 B1
10157423 Fields et al. Dec 2018 B1
10163350 Fields et al. Dec 2018 B1
10166994 Fields et al. Jan 2019 B1
10168703 Konrardy et al. Jan 2019 B1
10181161 Konrardy et al. Jan 2019 B1
10185997 Konrardy et al. Jan 2019 B1
10185998 Konrardy et al. Jan 2019 B1
10185999 Konrardy et al. Jan 2019 B1
10210758 Hetz et al. Feb 2019 B2
10295363 Konrardy et al. May 2019 B1
10359782 Hayward Jul 2019 B1
10414376 Ghannam et al. Sep 2019 B1
10416205 Marti et al. Sep 2019 B2
10433032 Filson et al. Oct 2019 B2
10482689 Mcafee et al. Nov 2019 B2
10543838 Kentley-Klay et al. Jan 2020 B2
10599155 Konrardy et al. Mar 2020 B1
10657597 Billman et al. May 2020 B1
10679296 Devereaux et al. Jun 2020 B1
10679497 Konrardy Jun 2020 B1
10755566 Tennent et al. Aug 2020 B2
10783781 Ootsuji Sep 2020 B2
10818105 Konrardy et al. Oct 2020 B1
10824145 Konrardy et al. Nov 2020 B1
11189112 Konrardy et al. Nov 2021 B1
11448155 Zielke Sep 2022 B2
11600177 Konrardy Mar 2023 B1
20010005217 Hamilton et al. Jun 2001 A1
20020016655 Joao Feb 2002 A1
20020049535 Rigo et al. Apr 2002 A1
20020091483 Douet Jul 2002 A1
20020099527 Bomar et al. Jul 2002 A1
20020103622 Burge Aug 2002 A1
20020103678 Burkhalter et al. Aug 2002 A1
20020111725 Burge Aug 2002 A1
20020116228 Bauer et al. Aug 2002 A1
20020128751 Engstrom et al. Sep 2002 A1
20020128882 Nakagawa et al. Sep 2002 A1
20020135618 Maes et al. Sep 2002 A1
20020146667 Dowdell et al. Oct 2002 A1
20030028298 Macky et al. Feb 2003 A1
20030061116 Tago Mar 2003 A1
20030061160 Asahina Mar 2003 A1
20030095039 Shimomura et al. May 2003 A1
20030102997 Levin et al. Jun 2003 A1
20030112133 Webb et al. Jun 2003 A1
20030139948 Strech Jul 2003 A1
20030146850 Fallenstein Aug 2003 A1
20030182042 Watson et al. Sep 2003 A1
20030182183 Pribe Sep 2003 A1
20030200123 Burge et al. Oct 2003 A1
20040005927 Bonilla et al. Jan 2004 A1
20040017106 Aizawa et al. Jan 2004 A1
20040019539 Raman et al. Jan 2004 A1
20040054452 Bjorkman Mar 2004 A1
20040077285 Bonilla et al. Apr 2004 A1
20040085198 Saito et al. May 2004 A1
20040090334 Zhang et al. May 2004 A1
20040099462 Fuertsch et al. May 2004 A1
20040111301 Wahlbin et al. Jun 2004 A1
20040122639 Qiu Jun 2004 A1
20040139034 Farmer Jul 2004 A1
20040158476 Blessinger et al. Aug 2004 A1
20040169034 Park Sep 2004 A1
20040198441 Cooper et al. Oct 2004 A1
20040226043 Mettu et al. Nov 2004 A1
20040252027 Torkkola et al. Dec 2004 A1
20040260579 Tremiti Dec 2004 A1
20050007438 Busch et al. Jan 2005 A1
20050046584 Breed Mar 2005 A1
20050055249 Helitzer et al. Mar 2005 A1
20050059151 Bosch Mar 2005 A1
20050065678 Smith et al. Mar 2005 A1
20050071052 Coletrane et al. Mar 2005 A1
20050071202 Kendrick Mar 2005 A1
20050073438 Rodgers et al. Apr 2005 A1
20050080519 Oesterling et al. Apr 2005 A1
20050088291 Blanco et al. Apr 2005 A1
20050088521 Blanco et al. Apr 2005 A1
20050093684 Cunnien May 2005 A1
20050108910 Esparza et al. May 2005 A1
20050131597 Raz et al. Jun 2005 A1
20050154513 Matsunaga et al. Jul 2005 A1
20050216136 Lengning et al. Sep 2005 A1
20050228763 Lewis et al. Oct 2005 A1
20050237784 Kang Oct 2005 A1
20050246256 Gastineau et al. Nov 2005 A1
20050259151 Hamilton et al. Nov 2005 A1
20050267784 Slen et al. Dec 2005 A1
20060031103 Henry Feb 2006 A1
20060052909 Cherouny Mar 2006 A1
20060052929 Bastian et al. Mar 2006 A1
20060053038 Warren et al. Mar 2006 A1
20060055565 Kawamata et al. Mar 2006 A1
20060079280 LaPerch Apr 2006 A1
20060089766 Allard et al. Apr 2006 A1
20060092043 Lagassey May 2006 A1
20060136291 Morita et al. Jun 2006 A1
20060149461 Rowley et al. Jul 2006 A1
20060184295 Hawkins et al. Aug 2006 A1
20060212195 Veith et al. Sep 2006 A1
20060220905 Hovestadt Oct 2006 A1
20060229777 Hudson et al. Oct 2006 A1
20060232430 Takaoka et al. Oct 2006 A1
20060294514 Bauchot et al. Dec 2006 A1
20070001831 Raz et al. Jan 2007 A1
20070027726 Warren et al. Feb 2007 A1
20070048707 Caamano et al. Mar 2007 A1
20070055422 Anzai et al. Mar 2007 A1
20070080816 Haque et al. Apr 2007 A1
20070088469 Schmiedel et al. Apr 2007 A1
20070093947 Gould et al. Apr 2007 A1
20070122771 Maeda et al. May 2007 A1
20070124599 Morita et al. May 2007 A1
20070132773 Plante Jun 2007 A1
20070149208 Syrbe et al. Jun 2007 A1
20070159354 Rosenberg Jul 2007 A1
20070203866 Kidd et al. Aug 2007 A1
20070208498 Barker et al. Sep 2007 A1
20070219720 Trepagnier et al. Sep 2007 A1
20070265540 Fuwamoto et al. Nov 2007 A1
20070282489 Boss et al. Dec 2007 A1
20070282638 Surovy Dec 2007 A1
20070299700 Gay et al. Dec 2007 A1
20080027761 Bracha Jan 2008 A1
20080028974 Bianco Feb 2008 A1
20080033600 Norbeck Feb 2008 A1
20080061953 Bhogal et al. Mar 2008 A1
20080064014 Wojtczak et al. Mar 2008 A1
20080065427 Helitzer et al. Mar 2008 A1
20080082372 Burch Apr 2008 A1
20080084473 Romanowich Apr 2008 A1
20080097796 Birchall Apr 2008 A1
20080106390 White May 2008 A1
20080114502 Breed et al. May 2008 A1
20080114530 Petrisor et al. May 2008 A1
20080126137 Kidd et al. May 2008 A1
20080143497 Wasson et al. Jun 2008 A1
20080147265 Breed Jun 2008 A1
20080147266 Plante et al. Jun 2008 A1
20080147267 Plante et al. Jun 2008 A1
20080161989 Breed Jul 2008 A1
20080167821 Breed Jul 2008 A1
20080180237 Fayyad et al. Jul 2008 A1
20080189142 Brown et al. Aug 2008 A1
20080243530 Stubler Oct 2008 A1
20080255887 Gruter Oct 2008 A1
20080258885 Akhan Oct 2008 A1
20080258890 Follmer et al. Oct 2008 A1
20080291008 Jeon Nov 2008 A1
20080294690 Mcclellan et al. Nov 2008 A1
20080297488 Operowsky et al. Dec 2008 A1
20080300733 Rasshofer et al. Dec 2008 A1
20080313007 Callahan et al. Dec 2008 A1
20080319665 Berkobin et al. Dec 2008 A1
20090005979 Nakao et al. Jan 2009 A1
20090015684 Ooga et al. Jan 2009 A1
20090027188 Saban Jan 2009 A1
20090063030 Howarter et al. Mar 2009 A1
20090069953 Hale et al. Mar 2009 A1
20090079839 Fischer et al. Mar 2009 A1
20090081923 Dooley et al. Mar 2009 A1
20090085770 Mergen Apr 2009 A1
20090106135 Steiger Apr 2009 A1
20090115638 Shankwitz et al. May 2009 A1
20090132294 Haines May 2009 A1
20090140887 Breed et al. Jun 2009 A1
20090174573 Smith Jul 2009 A1
20090207005 Habetha et al. Aug 2009 A1
20090210257 Chalfant et al. Aug 2009 A1
20090228160 Eklund et al. Sep 2009 A1
20090254240 Olsen et al. Oct 2009 A1
20090267801 Kawai et al. Oct 2009 A1
20090300065 Birchall Dec 2009 A1
20100004995 Hickman Jan 2010 A1
20100030540 Choi et al. Feb 2010 A1
20100030586 Taylor et al. Feb 2010 A1
20100042318 Kaplan et al. Feb 2010 A1
20100050253 Baughman et al. Feb 2010 A1
20100055649 Takahashi et al. Mar 2010 A1
20100063672 Anderson Mar 2010 A1
20100076646 Basir et al. Mar 2010 A1
20100085171 Do Apr 2010 A1
20100094532 Vorona Apr 2010 A1
20100106346 Badli et al. Apr 2010 A1
20100106356 Trepagnier et al. Apr 2010 A1
20100128127 Ciolli May 2010 A1
20100131300 Collopy et al. May 2010 A1
20100131302 Collopy et al. May 2010 A1
20100131304 Collopy et al. May 2010 A1
20100131307 Collopy et al. May 2010 A1
20100143872 Lankteee Jun 2010 A1
20100148923 Takizawa Jun 2010 A1
20100157255 Togino Jun 2010 A1
20100164737 Lu et al. Jul 2010 A1
20100198491 Mays Aug 2010 A1
20100214087 Nakagoshi et al. Aug 2010 A1
20100219944 McCormick et al. Sep 2010 A1
20100253541 Seder et al. Oct 2010 A1
20100256836 Mudalige Oct 2010 A1
20100256852 Mudalige Oct 2010 A1
20100274629 Walker et al. Oct 2010 A1
20100286845 Rekow et al. Nov 2010 A1
20100289632 Seder et al. Nov 2010 A1
20100293033 Hall et al. Nov 2010 A1
20100299021 Jalili Nov 2010 A1
20110009093 Self et al. Jan 2011 A1
20110010042 Boulet et al. Jan 2011 A1
20110043350 Ben David Feb 2011 A1
20110043377 Mcgrath et al. Feb 2011 A1
20110054767 Schafer et al. Mar 2011 A1
20110060496 Nielsen et al. Mar 2011 A1
20110066310 Sakai et al. Mar 2011 A1
20110077809 Leary Mar 2011 A1
20110084824 Tewari et al. Apr 2011 A1
20110087505 Terlep Apr 2011 A1
20110090075 Armitage et al. Apr 2011 A1
20110090093 Grimm et al. Apr 2011 A1
20110093134 Emanuel et al. Apr 2011 A1
20110093350 Laumeyer et al. Apr 2011 A1
20110106370 Duddle et al. May 2011 A1
20110109462 Deng et al. May 2011 A1
20110118907 Elkins May 2011 A1
20110128161 Bae et al. Jun 2011 A1
20110133954 Ooshima et al. Jun 2011 A1
20110137684 Peak et al. Jun 2011 A1
20110140919 Hara et al. Jun 2011 A1
20110140968 Bai et al. Jun 2011 A1
20110144854 Cramer et al. Jun 2011 A1
20110153367 Amigo et al. Jun 2011 A1
20110161116 Peak et al. Jun 2011 A1
20110161119 Collins Jun 2011 A1
20110184605 Neff Jul 2011 A1
20110187559 Applebaum Aug 2011 A1
20110190972 Timmons et al. Aug 2011 A1
20110196571 Foladare et al. Aug 2011 A1
20110202305 Willis et al. Aug 2011 A1
20110224865 Gordon et al. Sep 2011 A1
20110224900 Hiruta et al. Sep 2011 A1
20110251751 Knight Oct 2011 A1
20110270513 Shida Nov 2011 A1
20110279263 Rodkey et al. Nov 2011 A1
20110288770 Greasby Nov 2011 A1
20110295446 Basir et al. Dec 2011 A1
20110295546 Khazanov Dec 2011 A1
20110301839 Pudar et al. Dec 2011 A1
20110304465 Boult et al. Dec 2011 A1
20110307188 Peng et al. Dec 2011 A1
20110307336 Smirnov et al. Dec 2011 A1
20120004933 Foladare et al. Jan 2012 A1
20120010906 Foladare et al. Jan 2012 A1
20120013582 Noue et al. Jan 2012 A1
20120019001 Hede et al. Jan 2012 A1
20120025969 Dozza Feb 2012 A1
20120028680 Breed Feb 2012 A1
20120053824 Nam et al. Mar 2012 A1
20120056758 Kuhlman et al. Mar 2012 A1
20120059227 Friedlander et al. Mar 2012 A1
20120066007 Ferrick et al. Mar 2012 A1
20120071151 Abramson et al. Mar 2012 A1
20120072029 Persaud et al. Mar 2012 A1
20120072214 Cox et al. Mar 2012 A1
20120072243 Collins et al. Mar 2012 A1
20120072244 Collins et al. Mar 2012 A1
20120083668 Pradeep et al. Apr 2012 A1
20120083964 Montemerlo et al. Apr 2012 A1
20120083974 Sandblom Apr 2012 A1
20120092157 Tran Apr 2012 A1
20120101855 Collins et al. Apr 2012 A1
20120108909 Slobounov et al. May 2012 A1
20120109407 Yousefi et al. May 2012 A1
20120109692 Collins et al. May 2012 A1
20120123806 Schumann et al. May 2012 A1
20120135382 Winston et al. May 2012 A1
20120143391 Gee Jun 2012 A1
20120143630 Hertenstein Jun 2012 A1
20120172055 Edge Jul 2012 A1
20120185204 Jallon et al. Jul 2012 A1
20120188100 Min et al. Jul 2012 A1
20120190001 Knight et al. Jul 2012 A1
20120191343 Haleem Jul 2012 A1
20120191373 Soles et al. Jul 2012 A1
20120197669 Kote et al. Aug 2012 A1
20120200427 Kamata Aug 2012 A1
20120203418 Braennstroem et al. Aug 2012 A1
20120209692 Bennett et al. Aug 2012 A1
20120214488 Busropan et al. Aug 2012 A1
20120215375 Chang Aug 2012 A1
20120235865 Nath et al. Sep 2012 A1
20120239242 Uehara Sep 2012 A1
20120239281 Hinz Sep 2012 A1
20120239471 Grimm et al. Sep 2012 A1
20120239821 Hozumi Sep 2012 A1
20120246733 Schaefer et al. Sep 2012 A1
20120256769 Satpathy Oct 2012 A1
20120258702 Matsuyama Oct 2012 A1
20120271500 Tsimhoni et al. Oct 2012 A1
20120277949 Ghimire et al. Nov 2012 A1
20120277950 Plante et al. Nov 2012 A1
20120286974 Claussen et al. Nov 2012 A1
20120289819 Snow Nov 2012 A1
20120290333 Birchall Nov 2012 A1
20120303177 Jauch et al. Nov 2012 A1
20120303222 Cooprider et al. Nov 2012 A1
20120306663 Mudalige Dec 2012 A1
20120316406 Rahman et al. Dec 2012 A1
20130006674 Bowne et al. Jan 2013 A1
20130006675 Bowne et al. Jan 2013 A1
20130018677 Chevrette Jan 2013 A1
20130030606 Mudalige et al. Jan 2013 A1
20130038437 Talati et al. Feb 2013 A1
20130044008 Gafford et al. Feb 2013 A1
20130046562 Taylor et al. Feb 2013 A1
20130066751 Glazer et al. Mar 2013 A1
20130073115 Levin et al. Mar 2013 A1
20130097128 Suzuki et al. Apr 2013 A1
20130116855 Nielsen et al. May 2013 A1
20130121239 Hicks, III May 2013 A1
20130131907 Green et al. May 2013 A1
20130144459 Ricci Jun 2013 A1
20130151027 Petrucci et al. Jun 2013 A1
20130151058 Zagorski et al. Jun 2013 A1
20130151202 Denny et al. Jun 2013 A1
20130164715 Hunt et al. Jun 2013 A1
20130179198 Bowne et al. Jul 2013 A1
20130189649 Mannino Jul 2013 A1
20130190966 Collins et al. Jul 2013 A1
20130191189 Aparicio et al. Jul 2013 A1
20130209968 Miller et al. Aug 2013 A1
20130218603 Hagelstein et al. Aug 2013 A1
20130218604 Hagelstein et al. Aug 2013 A1
20130226391 Nordbruch et al. Aug 2013 A1
20130227409 Das et al. Aug 2013 A1
20130237194 Davis Sep 2013 A1
20130245857 Gariepy et al. Sep 2013 A1
20130245881 Scarbrough Sep 2013 A1
20130245883 Humphrey Sep 2013 A1
20130257626 Masli et al. Oct 2013 A1
20130267194 Breed Oct 2013 A1
20130274940 Wei et al. Oct 2013 A1
20130278442 Rubin et al. Oct 2013 A1
20130304514 Hyde et al. Nov 2013 A1
20130307786 Heubel Nov 2013 A1
20130317693 Jefferies et al. Nov 2013 A1
20130317711 Plante Nov 2013 A1
20130317786 Kuhn Nov 2013 A1
20130317865 Tofte et al. Nov 2013 A1
20130339062 Brewer et al. Dec 2013 A1
20140002651 Plante Jan 2014 A1
20140004734 Hoang Jan 2014 A1
20140006660 Frei et al. Jan 2014 A1
20140009307 Bowers et al. Jan 2014 A1
20140018940 Casilli Jan 2014 A1
20140019170 Coleman et al. Jan 2014 A1
20140039934 Rivera Feb 2014 A1
20140047347 Mohn et al. Feb 2014 A1
20140047371 Palmer et al. Feb 2014 A1
20140052323 Reichel et al. Feb 2014 A1
20140052336 Moshchuk et al. Feb 2014 A1
20140052479 Kawamura Feb 2014 A1
20140058705 Brill Feb 2014 A1
20140058761 Freiberger et al. Feb 2014 A1
20140059066 Koloskov Feb 2014 A1
20140070980 Park Mar 2014 A1
20140074345 Gabay et al. Mar 2014 A1
20140080100 Phelan et al. Mar 2014 A1
20140095009 Oshima et al. Apr 2014 A1
20140095214 Mathe et al. Apr 2014 A1
20140099607 Armitage et al. Apr 2014 A1
20140100892 Collopy et al. Apr 2014 A1
20140104405 Weidl et al. Apr 2014 A1
20140106782 Chitre et al. Apr 2014 A1
20140108198 Jariyasunant et al. Apr 2014 A1
20140114691 Pearce Apr 2014 A1
20140125474 Gunaratne May 2014 A1
20140129053 Kleve et al. May 2014 A1
20140129301 Van et al. May 2014 A1
20140130035 Desai et al. May 2014 A1
20140135598 Weidl et al. May 2014 A1
20140136242 Weekes et al. May 2014 A1
20140137257 Martinez et al. May 2014 A1
20140148988 Lathrop et al. May 2014 A1
20140149148 Luciani May 2014 A1
20140152422 Breed Jun 2014 A1
20140156176 Caskey et al. Jun 2014 A1
20140163768 Purdy et al. Jun 2014 A1
20140167967 He et al. Jun 2014 A1
20140168399 Plummer et al. Jun 2014 A1
20140172467 He et al. Jun 2014 A1
20140172727 Abhyanker et al. Jun 2014 A1
20140188322 Oh et al. Jul 2014 A1
20140191858 Morgan et al. Jul 2014 A1
20140207325 Mudalige et al. Jul 2014 A1
20140207707 Na et al. Jul 2014 A1
20140218187 Chun et al. Aug 2014 A1
20140218520 Teich et al. Aug 2014 A1
20140221781 Schrauf et al. Aug 2014 A1
20140236638 Pallesen et al. Aug 2014 A1
20140240132 Bychkov Aug 2014 A1
20140250515 Jakobsson Sep 2014 A1
20140253376 Large et al. Sep 2014 A1
20140257866 Gay et al. Sep 2014 A1
20140266655 Palan Sep 2014 A1
20140272811 Palan Sep 2014 A1
20140278571 Mullen et al. Sep 2014 A1
20140278840 Scofield et al. Sep 2014 A1
20140279707 Joshua et al. Sep 2014 A1
20140301218 Luo et al. Oct 2014 A1
20140306799 Ricci Oct 2014 A1
20140306814 Ricci Oct 2014 A1
20140309864 Ricci Oct 2014 A1
20140309870 Ricci et al. Oct 2014 A1
20140310186 Ricci Oct 2014 A1
20140320318 Victor et al. Oct 2014 A1
20140337930 Hoyos et al. Nov 2014 A1
20140343972 Fernandes et al. Nov 2014 A1
20140350855 Vishnuvajhala Nov 2014 A1
20140350970 Schumann et al. Nov 2014 A1
20140358592 Wedig et al. Dec 2014 A1
20140379201 Wanami et al. Dec 2014 A1
20140380264 Misra et al. Dec 2014 A1
20150006278 Di et al. Jan 2015 A1
20150019266 Stempora Jan 2015 A1
20150024705 Rashidi Jan 2015 A1
20150025917 Stempora Jan 2015 A1
20150032581 Blackhurst et al. Jan 2015 A1
20150035685 Strickland et al. Feb 2015 A1
20150039350 Martin et al. Feb 2015 A1
20150039397 Fuchs Feb 2015 A1
20150045983 Fraser et al. Feb 2015 A1
20150046022 Bai et al. Feb 2015 A1
20150051752 Paszkowicz Feb 2015 A1
20150051787 Doughty et al. Feb 2015 A1
20150066284 Yopp Mar 2015 A1
20150070265 Cruz-Hernandez et al. Mar 2015 A1
20150073834 Gurenko et al. Mar 2015 A1
20150081202 Levin Mar 2015 A1
20150088358 Yopp Mar 2015 A1
20150088360 Bonnet et al. Mar 2015 A1
20150088373 Wilkins Mar 2015 A1
20150088550 Bowers et al. Mar 2015 A1
20150100189 Tellis et al. Apr 2015 A1
20150100190 Yopp Apr 2015 A1
20150100191 Yopp Apr 2015 A1
20150109450 Walker Apr 2015 A1
20150112731 Binion et al. Apr 2015 A1
20150112800 Binion et al. Apr 2015 A1
20150113521 Suzuki et al. Apr 2015 A1
20150120082 Cuddihy et al. Apr 2015 A1
20150120331 Russo et al. Apr 2015 A1
20150127570 Doughty et al. May 2015 A1
20150128123 Eling May 2015 A1
20150138001 Davies et al. May 2015 A1
20150142262 Lee May 2015 A1
20150149018 Attard et al. May 2015 A1
20150149218 Bayley et al. May 2015 A1
20150149265 Huntzicker et al. May 2015 A1
20150153733 Ohmura et al. Jun 2015 A1
20150154712 Cook Jun 2015 A1
20150158495 Duncan et al. Jun 2015 A1
20150161564 Sweeney et al. Jun 2015 A1
20150161738 Stempora Jun 2015 A1
20150161894 Duncan et al. Jun 2015 A1
20150166069 Engelman et al. Jun 2015 A1
20150169311 Dickerson et al. Jun 2015 A1
20150170287 Tirone et al. Jun 2015 A1
20150170290 Bowne et al. Jun 2015 A1
20150170522 Noh Jun 2015 A1
20150178997 Ohsaki Jun 2015 A1
20150179062 Ralston et al. Jun 2015 A1
20150185034 Abhyanker Jul 2015 A1
20150187013 Adams et al. Jul 2015 A1
20150187015 Adams et al. Jul 2015 A1
20150187016 Adams et al. Jul 2015 A1
20150187019 Fernandes et al. Jul 2015 A1
20150187194 Hypolite et al. Jul 2015 A1
20150189241 Kim et al. Jul 2015 A1
20150193219 Pandya et al. Jul 2015 A1
20150193220 Rork et al. Jul 2015 A1
20150203107 Lippman Jul 2015 A1
20150203113 Duncan et al. Jul 2015 A1
20150229885 Offenhaeuser Aug 2015 A1
20150234384 Taira et al. Aug 2015 A1
20150235323 Oldham Aug 2015 A1
20150235480 Cudak et al. Aug 2015 A1
20150235557 Engelman et al. Aug 2015 A1
20150239436 Kanal et al. Aug 2015 A1
20150241853 Vechart et al. Aug 2015 A1
20150242953 Suiter Aug 2015 A1
20150246672 Pilutti et al. Sep 2015 A1
20150266489 Solyom et al. Sep 2015 A1
20150266490 Coelingh et al. Sep 2015 A1
20150271201 Ruvio et al. Sep 2015 A1
20150274072 Croteau et al. Oct 2015 A1
20150293534 Takamatsu Oct 2015 A1
20150294422 Carver et al. Oct 2015 A1
20150301515 Houmb Oct 2015 A1
20150307110 Grewe et al. Oct 2015 A1
20150310742 Albornoz Oct 2015 A1
20150310758 Daddona et al. Oct 2015 A1
20150332407 Wilson et al. Nov 2015 A1
20150334545 Maier et al. Nov 2015 A1
20150336502 Hillis et al. Nov 2015 A1
20150338852 Ramanujam Nov 2015 A1
20150339928 Ramanujam Nov 2015 A1
20150343947 Bernico et al. Dec 2015 A1
20150346718 Stenneth Dec 2015 A1
20150346727 Ramanujam Dec 2015 A1
20150348335 Ramanujam Dec 2015 A1
20150348337 Choi Dec 2015 A1
20150356797 Mcbride et al. Dec 2015 A1
20150382085 Lawrie-Fussey et al. Dec 2015 A1
20160005130 Devereaux et al. Jan 2016 A1
20160012218 Perna et al. Jan 2016 A1
20160014252 Biderman et al. Jan 2016 A1
20160019790 Tobolski et al. Jan 2016 A1
20160025027 Mentele Jan 2016 A1
20160027276 Freeck et al. Jan 2016 A1
20160034363 Poledna Feb 2016 A1
20160036899 Moody et al. Feb 2016 A1
20160042463 Gillespie Feb 2016 A1
20160042644 Velusamy Feb 2016 A1
20160042650 Stenneth Feb 2016 A1
20160055750 Linder et al. Feb 2016 A1
20160068103 Mcnew et al. Mar 2016 A1
20160069694 Tao et al. Mar 2016 A1
20160071418 Oshida et al. Mar 2016 A1
20160078403 Sethi et al. Mar 2016 A1
20160083285 De et al. Mar 2016 A1
20160086285 Jordan et al. Mar 2016 A1
20160086393 Collins et al. Mar 2016 A1
20160092962 Wasserman et al. Mar 2016 A1
20160093212 Barfield et al. Mar 2016 A1
20160096272 Smith et al. Apr 2016 A1
20160098561 Keller et al. Apr 2016 A1
20160104250 Allen et al. Apr 2016 A1
20160105365 Droste et al. Apr 2016 A1
20160112445 Abramowitz Apr 2016 A1
20160116913 Niles Apr 2016 A1
20160117871 Mcclellan et al. Apr 2016 A1
20160117928 Hodges et al. Apr 2016 A1
20160125735 Tuukkanen May 2016 A1
20160129883 Penilla et al. May 2016 A1
20160129917 Gariepy et al. May 2016 A1
20160133131 Grimm et al. May 2016 A1
20160140783 Catt et al. May 2016 A1
20160140784 Akanuma et al. May 2016 A1
20160147226 Akselrod et al. May 2016 A1
20160153806 Ciasulli et al. Jun 2016 A1
20160163217 Harkness Jun 2016 A1
20160167652 Slusar Jun 2016 A1
20160171521 Ramirez et al. Jun 2016 A1
20160180610 Ganguli et al. Jun 2016 A1
20160187127 Purohit et al. Jun 2016 A1
20160187368 Modi et al. Jun 2016 A1
20160189303 Fuchs Jun 2016 A1
20160189435 Beaurepaire Jun 2016 A1
20160189544 Ricci Jun 2016 A1
20160203560 Parameshwaran Jul 2016 A1
20160217627 Khalaschi et al. Jul 2016 A1
20160221575 Posch et al. Aug 2016 A1
20160225240 Voddhi et al. Aug 2016 A1
20160231746 Hazelton et al. Aug 2016 A1
20160232774 Noland et al. Aug 2016 A1
20160236638 Lavie et al. Aug 2016 A1
20160239921 Bray et al. Aug 2016 A1
20160248598 Lin et al. Aug 2016 A1
20160255154 Kim et al. Sep 2016 A1
20160264132 Paul et al. Sep 2016 A1
20160272219 Ketfi-Cherif et al. Sep 2016 A1
20160275790 Kang et al. Sep 2016 A1
20160277911 Kang et al. Sep 2016 A1
20160282874 Kurata et al. Sep 2016 A1
20160285907 Nguyen et al. Sep 2016 A1
20160288833 Heimberger et al. Oct 2016 A1
20160291153 Mossau et al. Oct 2016 A1
20160292679 Kolin et al. Oct 2016 A1
20160301698 Katara et al. Oct 2016 A1
20160303969 Akula Oct 2016 A1
20160304027 Di et al. Oct 2016 A1
20160304038 Chen et al. Oct 2016 A1
20160304091 Remes Oct 2016 A1
20160313132 Pedro Oct 2016 A1
20160314224 Wei et al. Oct 2016 A1
20160321674 Lux Nov 2016 A1
20160323233 Song et al. Nov 2016 A1
20160327949 Wilson et al. Nov 2016 A1
20160343249 Gao et al. Nov 2016 A1
20160347329 Zelman et al. Dec 2016 A1
20160358497 Nguyen et al. Dec 2016 A1
20160370194 Colijn et al. Dec 2016 A1
20160371977 Wingate et al. Dec 2016 A1
20170001637 Nguyen Van Jan 2017 A1
20170004421 Gatson et al. Jan 2017 A1
20170004710 Dozono et al. Jan 2017 A1
20170008487 Ur et al. Jan 2017 A1
20170015263 Makled et al. Jan 2017 A1
20170017734 Groh et al. Jan 2017 A1
20170023945 Cavalcanti et al. Jan 2017 A1
20170024938 Lindsay Jan 2017 A1
20170036678 Takamatsu Feb 2017 A1
20170038773 Gordon et al. Feb 2017 A1
20170043780 Yoon Feb 2017 A1
20170052059 Smith et al. Feb 2017 A1
20170061712 Li et al. Mar 2017 A1
20170066452 Scofield Mar 2017 A1
20170067764 Skupin et al. Mar 2017 A1
20170069144 Lawrie-Fussey et al. Mar 2017 A1
20170072967 Fendt et al. Mar 2017 A1
20170076599 Gupta et al. Mar 2017 A1
20170076606 Gupta et al. Mar 2017 A1
20170080900 Huennekens et al. Mar 2017 A1
20170084175 Sedlik et al. Mar 2017 A1
20170086028 Hwang et al. Mar 2017 A1
20170088144 Shibata Mar 2017 A1
20170106876 Gordon et al. Apr 2017 A1
20170108870 Miller et al. Apr 2017 A1
20170116794 Gortsas Apr 2017 A1
20170120761 Kapadia et al. May 2017 A1
20170120803 Kentley et al. May 2017 A1
20170123421 Kentley et al. May 2017 A1
20170124781 Douillard et al. May 2017 A1
20170132711 Bruffey et al. May 2017 A1
20170136902 Ricci May 2017 A1
20170139412 Keohane et al. May 2017 A1
20170147722 Greenwood May 2017 A1
20170148102 Franke et al. May 2017 A1
20170148324 High et al. May 2017 A1
20170154479 Kim Jun 2017 A1
20170168493 Miller et al. Jun 2017 A1
20170169627 Kim et al. Jun 2017 A1
20170176641 Zhu et al. Jun 2017 A1
20170184416 Kohlenberg et al. Jun 2017 A1
20170185078 Weast et al. Jun 2017 A1
20170185428 Kohlenberg et al. Jun 2017 A1
20170190331 Gupta et al. Jul 2017 A1
20170192428 Vogt et al. Jul 2017 A1
20170200367 Mielenz Jul 2017 A1
20170212511 Paiva et al. Jul 2017 A1
20170234689 Gibson et al. Aug 2017 A1
20170236210 Kumar et al. Aug 2017 A1
20170249839 Becker et al. Aug 2017 A1
20170249844 Perkins et al. Aug 2017 A1
20170253237 Diessner Sep 2017 A1
20170255881 Ritch et al. Sep 2017 A1
20170270490 Penilla et al. Sep 2017 A1
20170270617 Fernandes et al. Sep 2017 A1
20170274897 Rink et al. Sep 2017 A1
20170278312 Minster et al. Sep 2017 A1
20170308082 Ullrich et al. Oct 2017 A1
20170309086 Zhai et al. Oct 2017 A1
20170309092 Rosenbaum Oct 2017 A1
20170323567 Nordbruch Nov 2017 A1
20170330399 Nordbruch et al. Nov 2017 A1
20170330448 Moore et al. Nov 2017 A1
20170364629 Tarte et al. Dec 2017 A1
20170364869 Tarte et al. Dec 2017 A1
20180004223 Baldwin Jan 2018 A1
20180013831 Dey et al. Jan 2018 A1
20180029489 Nordbruch Feb 2018 A1
20180029607 Khalifeh et al. Feb 2018 A1
20180039274 Saibel Feb 2018 A1
20180040171 Kundu et al. Feb 2018 A1
20180046198 Nordbruch et al. Feb 2018 A1
20180052463 Mays Feb 2018 A1
20180053411 Wieskamp et al. Feb 2018 A1
20180053422 Altinger et al. Feb 2018 A1
20180060153 Innes et al. Mar 2018 A1
20180074501 Boniske et al. Mar 2018 A1
20180075538 Konrardy et al. Mar 2018 A1
20180080995 Heinen Mar 2018 A1
20180091981 Sharma et al. Mar 2018 A1
20180099678 Absmeier et al. Apr 2018 A1
20180121833 Friedman et al. May 2018 A1
20180188746 Lesher et al. Jul 2018 A1
20180194343 Lorenz Jul 2018 A1
20180224844 Zhang et al. Aug 2018 A1
20180231979 Miller et al. Aug 2018 A1
20180276905 Makke et al. Sep 2018 A1
20180284807 Wood et al. Oct 2018 A1
20180307250 Harvey Oct 2018 A1
20180326991 Wendt et al. Nov 2018 A1
20180345811 Michels et al. Dec 2018 A1
20180357493 Takamatsu et al. Dec 2018 A1
20190005464 Harris et al. Jan 2019 A1
20190005745 Patil et al. Jan 2019 A1
20190047493 Chierichetti et al. Feb 2019 A1
20190051173 Kang Feb 2019 A1
20190061775 Emura et al. Feb 2019 A1
20190106118 Asakura et al. Apr 2019 A1
20190146491 Hu et al. May 2019 A1
20190146496 Woodrow et al. May 2019 A1
20200005633 Jin et al. Jan 2020 A1
20200314606 Stevens et al. Oct 2020 A1
20200320807 Gorti et al. Oct 2020 A1
20200326698 Kikuchi et al. Oct 2020 A1
20210065473 Diehl et al. Mar 2021 A1
20210075669 Hutz Mar 2021 A1
Foreign Referenced Citations (20)
Number Date Country
102010001006 Jul 2011 DE
102015208358 Nov 2015 DE
0700009 Mar 1996 EP
3239686 Nov 2017 EP
2268608 Jan 1994 GB
2488956 Sep 2012 GB
2494727 Mar 2013 GB
2002-259708 Sep 2002 JP
10-1515496 May 2015 KR
2005083605 Sep 2005 WO
2010034909 Apr 2010 WO
2010062899 Jun 2010 WO
2014092769 Jun 2014 WO
2014139821 Sep 2014 WO
2014148976 Sep 2014 WO
2015134152 Sep 2015 WO
2015137012 Sep 2015 WO
2016067610 May 2016 WO
2016156236 Oct 2016 WO
2017142931 Aug 2017 WO
Non-Patent Literature Citations (72)
Entry
“Rupak Rathore, Carroll Gau, Integrating Biometric Sensors into Automotive Internet of Things (2014), International Conference on Cloud Computing and Internet of Things (CCIOT 2014), 178-179” (Year: 2014).
“The Influence of Telematics on Customer Experience: Case Study of Progressive's Snapshot Program”, J.D. Power nsightsk, McGaw Hill Financial (2013).
Al-Shihabi, Talal et al., “A Framework for Modeling Human-like Driving Behaviors for Autonomous Vehicles in Driving Simulators”, Copyright 2001, Northeastern University, 6 pages.
Alberi et al., “A proposed standardized testing procedure for autonomous ground vehicles”, Virginia Polytechnic Institute and State University, 63 pages (Apr. 29, 2008).
Birch, Stuart, “Mercedes-Benz' world class driving simulator complex enhances moose safety”, Nov. 13, 2010, SAE International, Automobile Engineering (Year: 2010).
Broggi, Alberto et al., “Extensive Tests of Autonomous Driving Technologies,” May 30, 2013, IEEE Transactions on Intelligent Transportation Systems, vol. 14, Issue 3.
Campbell et al., Autonomous Driving in Urban Environments: Approaches, Lessons, and Challenaes, Phil. Trans. R. Soc. A, 368:4649-72 (2010).
Carroll et al. “Where Innovation is Sorely Needed”, http://www.technologyreview.com/news/422568/where-innovation-is-sorely-ne- eded/?nlid, retrieved from the internet on Nov. 4, 2013, 3 pages.
Davies, Alex, “Here's How Mercedes-Benz Tested Its New Self-Driving Car”, Nov. 20, 2012, Business Insider, 4 pages (Year: 2012).
Davies, Avoiding Squirrels and Other Things Google's Robot Car Can't Do, downloaded from the Internet at: <http://www.wired.com/2014/05/google-self-driving-car-can-cant/ (downloaded on May 28, 2014).
Dittrich et al. “Multi-Sensor Navigation System for an Autonomous Helicopter” IEEE, 9 pages (Year: 2002).
Driverless Cars . . . The Future is Already Here, AutoInsurance Center, downloaded from the Internet at: <http://www.autoinsurancecenter.com/driverless-cars...the-future-is-al- ready-here.htm> (2010; downloaded on Mar. 27, 2014).
Duffy et al., Sit, Stay, Drive: The Future of Autonomous Car Liability, SMU Science & Technology Law Review, vol. 16, DD. 101-23 (Winter 2013).
Eriksson et al. “Tuning for Ride Quality in Autonomous Vehicle Application to Linear Quadratic Path Planning Algorithm” Jun. 2015, 75 pages. (Year: 2015).
Fanke et al., “Autonomous Driving Goes Downtown”, IEEE Intelligent Systems. 13, 1998, pp. 40-48.
Filev et al., Future Mobility: Integrating Vehicle Control with Cloud Computing, Mechanical Engineering, 135.3:S18-S24 American Society of Mechanical Engineers (Mar. 2013).
Frigueiredo, Miguel C. et al., “An Approach to Simulate Autonomous Vehicles in Urban Traffic Scenerios”, Nov. 2009, Unversity of Porto.
Funkhouse, Kevin, “Paving the Road Ahead: Autonomous Vehicles, Products Liability, and the Need for a New Approach”, Copyright 2013, Issue 1, 2013 Utah L. Rev. 437 2013, 33 pages.
Garza, “Look Ma, No Hands!” Wrinkles and Wrecks in the Age of Autonomous Vehicles, New Enaland Law Review, vol. 46, pp. 581-616 (2012).
Gechter et al., Towards a Hybrid Real/Virtual Simulation of Autonomous Vehicles for Critical Scenarios, International Academy Research and Industry Association (IARIA), 4 pages (2014).
Gerdes et al., Implementable ethics for autonomous vehicles, Chapter 5, IN: Maurer et al. (eds), Autonomes Fahren, Soringer Vieweg, Berlin (2015).
Gietelink et al. “Development of advanced driver assistance systems with vehicle hardware-in-the-loop simulations”, Vehicle System Dynamics, vol. 44, No. 7, pp. 569-590, Jul. 2006. (Year: 2006).
Gleeson, “How much is a monitored alarm insurance deduction?”, Demand Media (Oct. 30, 2014).
Gray et al., A unified approach to threat assessment and control for automotive active safety, IEEE, 14(3):1490-9 (Sep. 2013).
Gumey, Jeffrey K., “Sue My Car Not Me: Products Liability and Accidents Involving Autonomous Vehicles”, Nov. 15, 2013, 2013 U. III. J.L. Tech. & Pol'y 247, 31 pages.
Hancock et al., “The Impact of Emotions and Predominant Emotion Regulation Technique on driving Performance,” Work, 41 Suppl 1:5882-5 (Feb. 2012).
Hars, Alexander, “Autonomous Cars: The Next Revolution Looms”, Jan. 2010, Inventivio GmbH.
Hars, Autonomous Cars: The Next Revolution Looms, Inventivio GmbH, 4 pages (Jan. 2010).
Integrated Vehicle-Based Safety Systems (IVBSS), Research and Innovative Technology Administration (RITA), http://www.its.dol.gove/ivbss/, retrieved from the internet on Nov. 4, 2013, 3 pages.
J. Martin, N. Kim, D. Mittal, and M. “Chisholm, Certification for Autonomous Vehicles”, 2015, pp. 1-34 (Year: 2015).
J. S. Dittrich and E. N. Johnson, “Multi-sensor navigation systom for an autonomous helicopter,” Proceedings. The 21st Digital Avionics Systems Conference, 2002, pp. 8.C.1-1 to 8.C.1-9 (Year: 2002).
J. Schindler et el., “A Joint Driver-Vehicle-Environment Simuletion Pletform for the Development and Accelereted Testing of Automotive Assistence end Autometion Systems”, Humen Modelling in Assisted Transportation. Springer, Mileno, 2011, pp. 1-6. (Yeer: 2011).
KPMG, “Self-driving cars: The next revolution” Copyright 2012,Center for Automotive Research.
Lattner et al., Knowledge-based risk assessment for intelligent vehicles, pp. 191-196, IEEE KIMAS 2005, Apr. 18-21, Waltham, Massachusetts (Apr. 2005).
Lee et al., Autonomous Vehicle Simulation Project, Int. J. Software Eng. and Its Applications, 7(5):393-402 (2013).
Levendusky, Advancements in automotive technology and their effect on personal auto insurance, downloaded from the Internet at: <http://www.verisk.com/visualize/advancements-in-automotive- technology-and-their-effect> (2013).
Lewis, The History of Driverless Cars, downloaded from the Internet at: <www.thefactsite.com/2017/06/driverless-cars-history.html> (Jun. 2017).
Linking Driving Behavior to Automobile Accidents and Insurance Rates: An Analysis of Five Billion Miles Driven, Progressive Insurance brochure (Jul. 2012).
Marchant et al., The coming collision between autonomous vehicles and the liability system, Santa Clara Law Review, 52(4): Article 6 (2012).
Martin et al. “Certification for Autonomous Vehicles”, 34 pages. (Year: 2015).
McCarthy et al., “The Effects of Different Types of Music on Mood, Tension, and Mental Clarity.” Alternative Therapies n Health and Medicine 4.1 (1998): 75-84. NCBI Pubmed. Web. Jul. 11, 2013.
Mercedes-Benz, “Press Information”, Nov. 2012 , Mercedes-Benz Driving Simulator (Year; 2012).
Miller, A simulation and regression testing framework for autonomous workers, Case Western Reserve University, 12 pages (Aug. 2007).
Mui, Will auto insurers survive their collision with driverless cars? (Part 6), downloaded from the Internet at: <http://www.forbes.com/sites/chunkamui/2013/03/28/will-auto-insurers-survive-their- collision> (Mar. 28, 2013).
O. Gietelink, J. Ploeg, B. De Schutter and M. Verhaegen, “Development of advanced driver assistance systems with vehicle hardware-in-the-loop simulations”, Vehicle System Dynamics, 44:7, 2006, pp. 569-590 (Year: 2006).
Pereira, An Integrated Architecture for Autonomous Vehicle Simulation, University of Porto., 114 pages (Jun. 2011).
Peterson, Robert W., “New Technology—Old Law: Autonomous Vehicles and California's Insurance Framework”, Dec. 18, 2012, Santa Clara Law Review, vol. 52, No. 4, Article 7, 60 pages.
Pohanka et al., Sensors simulation environment for sensor data fusion, 14th International Conference on Information Fusion, Chicaao, IL, pp. 1-8 (2011).
Private Ownership Costs, RACO, Wayback Machine, http://www.racq.com.au:80/-/media/pdf/racqpdfs/cardsanddriving/cars/0714_vehicle_running_cost s.ashx/ (Oct. 6, 2014).
Quinlan et al., Bringing Simulation to Life: A Mixed Reality Autonomous Intersection, Proc. IROS 2010—IEEE/RSJ International Conference on Intelligent Robots and Systems, Taipei Taiwan, 6 pages (Oct. 2010).
Quora, “What is baseline testing?” Oct. 24, 2015, 4 pages, Accessed at https://www.quora.com/What-is-baseline-testing (Year: 2015).
Read, Autonomous cars & the death of auto insurance, downloaded from the Internet at: <http://www.thecarconnection.com/news/ 1083266_autonomous-cars-the-death-of-auto- insurance> (Apr. 1, 2013).
Reddy, The New Auto Insurance Ecosystem: Telematics, Mobility and the Connected Car, Cognizant (Aug. 2012).
Reifel et al., “Telemalics: The Fame Changer—Reinventing Auto Insurance”, A.T. Kearney (2010).
Roberts, “What is Telematics Insurance?”, MoneySupermarket (Jun. 20, 2012).
Ryan Hurlbert, “Can Having Safety Features Reduce Your Insurance Premiums?”, Dec. 15, 2010, 1 page.
Saberi et al. “An Approach for Functional Safety Improvement of an Existing Automotive System” IEEE, 6 pages. (Year: 2015).
Schindler et al. “JDVE: A Joint Driver-Vehicle-Environment Simulation Platform for the Development and Accelerated Testing of Automotive Assistance and Automation Systems”, Jan. 2011, 6 pages. (Year: 2011).
Sepulcre et al., “Cooperative Vehicle-to-Vehicle Active Safety Testing Under Challenging Conditions”, Transportation Research Part C 26 (2013), Jan. 2013, pp. 233-255.
Sharma, Driving the future: the legal implications of autonomous vehicles conference recap, downloaded from the internet at: <http://law.scu.edu/hightech/autonomousvehicleconferencerecap2012> (2012).
Stavens, David Michael, “Leaming to Drive: Perception to Autonomous Cars”, May 2011, Stanford University.
Stienstra, Autonomous Vehicles & the Insurance Industry, 2013 CAS Annual Meeting—Minneapolis, MN (2013).
Synnott et al. “Simulation of Smart Home Activity Datasets”. Sensors 2015, 15, 14162-14179; doi: 10.3390/s150614162. 18 Pages.
Tiberkak et al., An architecture for policy-based home automation system (PBHAS), 2010 IEEE Green Technologies Conference (Apr. 15-16, 2010).
Vanus et al. “Development and testing of a visualization application software, implemented with wireless control system in smart home care”. Human-centric Computing and Information Sciences 4, Article No. 18 (Dec. 2014) |26 Pages.
Vasudevan et al., Safe semi-autonomous control with enhanced driver modeling, 2012 American Control Conference, Fairmont Queen Elizabeth, Montreal, Canada (Jun. 27-29, 2012).
Villasenor, Products liability and driverless cars: Issues and guiding principles for legislation, Brookings Center for Technology Innovation, 25 pages (Apr. 2014).
Wang et al., Shader-based sensor simulation for autonomous car testing, 15th International IEEE Conference on Intelligent Transportation Systems, Anchorage, Alaska, pp. 224-229 (2012).
Wardzinski, Dynamic risk assessment in autonomous vehicles motion planning, Proceedings of the 2008 1st International Conference on Information Technology, IT 2008, Gdansk, Poland (May 19-21, 2008).
Wiesenthal et al., “The Influence of Music on Driver Stress,” J. Applied Social Psychology, 30(8):1709-19 (Aug. 2000).
Young et al., “Cooperative Collision Warning Based Highway Vehicle Accident Reconstruction”, Eighth International Conference on Intelligent Systems Design and Applications, Nov. 26-28, 2008, pp. 561-565.
Zhou et al., A Simulation Model to Evaluate and Verify Functions of Autonomous Vehicle Based on Simulink, Tonaii University, 12 pages (2009).
Related Publications (1)
Number Date Country
20230154321 A1 May 2023 US
Provisional Applications (35)
Number Date Country
62434355 Dec 2016 US
62434359 Dec 2016 US
62434370 Dec 2016 US
62434365 Dec 2016 US
62434368 Dec 2016 US
62434361 Dec 2016 US
62430215 Dec 2016 US
62428843 Dec 2016 US
62424093 Nov 2016 US
62424078 Nov 2016 US
62419009 Nov 2016 US
62419017 Nov 2016 US
62418988 Nov 2016 US
62418999 Nov 2016 US
62419023 Nov 2016 US
62419002 Nov 2016 US
62415673 Nov 2016 US
62415668 Nov 2016 US
62415678 Nov 2016 US
62415672 Nov 2016 US
62406611 Oct 2016 US
62406600 Oct 2016 US
62406595 Oct 2016 US
62406605 Oct 2016 US
62381848 Aug 2016 US
62380686 Aug 2016 US
62376044 Aug 2016 US
62373084 Aug 2016 US
62351559 Jun 2016 US
62349884 Jun 2016 US
62312109 Mar 2016 US
62303500 Mar 2016 US
62302990 Mar 2016 US
62287659 Jan 2016 US
62286017 Jan 2016 US
Continuations (4)
Number Date Country
Parent 16848170 Apr 2020 US
Child 18099439 US
Parent 16150658 Oct 2018 US
Child 16848170 US
Parent 15908060 Feb 2018 US
Child 16150658 US
Parent 15409115 Jan 2017 US
Child 15908060 US