Preventive Vehicle Safety Systems

Through preventive vehicle safety systems, the use of induction systems and deep learning technology to predict collisions and optimize vehicle and passenger positions, intelligently control the passive safety mechanism, solve the problem of insufficient passivity of existing vehicle safety systems, and improve the safety and passenger protection effect during collisions.

JP7654938B2Active Publication Date: 2025-04-02INTEL CORP
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2022508793
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-09-13
Filing Date
2020-08-12
Publication Date
2025-04-02
Estimated Expiration
2040-08-12

AI Technical Summary

Technical Problem

The existing vehicle safety systems are passive and cannot predict and prevent collisions, resulting in the impact of passenger safety and the effectiveness of built-in safety equipment, and are greatly affected by the collision angle, direction and strength.

Method used

Adopting preventive vehicle safety systems, through induction systems and deep learning technologies, predict potential collisions and optimize vehicle paths and passenger positions, intelligently control passive safety mechanisms to minimize collision damage.

Benefits of technology

It improves the safety of the vehicle in collision situations and passenger protection effect, reduces collision damage and equipment damage, and enhances the active safety capabilities of the vehicle.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007654938000001
    Figure 0007654938000001
  • Figure 0007654938000002
    Figure 0007654938000002
  • Figure 0007654938000003
    Figure 0007654938000003
Patent Text Reader

Abstract

In one embodiment, an autonomous vehicle (AV) system determines an imminent collision between the AV itself and another object based on data obtained from sensors attached to the AV, determines an optimal vehicle orientation for the collision, determines a vehicle path to position the vehicle at the optimal vehicle orientation, and autonomously controls the vehicle to travel along the determined vehicle path.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates generally to the field of computer systems, and more specifically, to computing systems that enable safety technologies in autonomous vehicles. [Background technology]

[0002] Current vehicle safety systems are passive in nature, i.e., they act in response to a crash occurring, regardless of the angle, direction, or strength of that impact. For example, current vehicle safety systems may include passive mechanisms such as fixed-position airbags with programmed inflation rates and fixed crash sensors that are activated based on programmed accelerations. Such items may not be aware of the pre-crash state of the automobile, nor what the vehicle will do upon impact, which may affect occupant safety and the placement of built-in safety devices. Occupant safety may therefore vary depending on the direction or strength of the impact, the occupant's position, and the object the vehicle is striking. [Brief description of the drawings]

[0003] [Figure 1] 1 is a simplified diagram illustrating an example of an autonomous driving environment.

[0004] [Diagram 2] FIG. 1 is a simplified block diagram illustrating an implementation example of a vehicle equipped with an autonomous driving function.

[0005] [Diagram 3] FIG. 2 illustrates an example of a portion of a neural network in accordance with certain embodiments.

[0006] [Figure 4] FIG. 1 is a simplified block diagram illustrating examples of levels of autonomous driving that can be supported in various vehicles.

[0007] [Diagram 5] FIG. 1 is a simplified block diagram illustrating an example of an automated driving flow that may be implemented in some automated driving systems.

[0008] [Figure 6] FIG. 1 illustrates an example scenario for determining an optimal path and orientation for an imminent collision between a vehicle and an object.

[0009] [Figure 7A] FIG. 1 illustrates an example scenario for determining optimal occupant orientation for an imminent collision between a vehicle and an object. [Figure 7B] FIG. 1 illustrates an example scenario for determining optimal occupant orientation for an imminent collision between a vehicle and an object.

[0010] [Figure 8] FIG. 1 illustrates an example scenario for determining optimal path and orientation based on vehicle-to-vehicle communication.

[0011] [Figure 9] FIG. 1 illustrates an example scenario for determining optimal path and orientation based on vehicle-object communication.

[0012] [Figure 10] FIG. 1 is a simplified block diagram of an example autonomous vehicle control system.

[0013] [Figure 11] FIG. 2 is a simplified flow diagram illustrating an example of a decision-making process for a preventative vehicle safety system.

[0014] [Figure 12] 1 is a flow chart illustrating an example of a process for controlling an autonomous vehicle implementing a proactive safety system.

[0015] [Figure 13] FIG. 2 is a block diagram of an example processor in accordance with some embodiments.

[0016] [Figure 14]FIG. 1 is a block diagram of an exemplary computing system according to some embodiments.

[0017] Like reference numbers and designations in the various drawings indicate like elements. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0018] FIG. 1 is a simplified diagram (100) illustrating an example of an autonomous driving environment. Vehicles (e.g., 105, 110, 115, etc.) may have various levels of autonomous driving capabilities facilitated by on-board computing systems having logic implemented in hardware, firmware, and / or software to enable their respective autonomous driving stacks. Such autonomous driving stacks may enable each vehicle to control itself or provide driver assistance to detect roads, navigate from one point to another, detect other vehicles and actors on the road (e.g., pedestrians (e.g., 135), bicyclists, etc.), detect obstacles and hazards (e.g., 120) and road conditions (e.g., traffic volume, road conditions, weather conditions, etc.), and adjust vehicle control and guidance accordingly.

[0019] In some implementations, vehicles (e.g., 105, 110, 115) within this environment may be "connected" in that the on-board computing system includes a communications module that supports wireless communications using one or more technologies (e.g., IEEE 802.11 communications (e.g., WiFi), cellular data networks (e.g., Third Generation Partnership Project (3GPP) networks, Global System for Mobile Communications (GSM), General Packet Radio Service, Code Division Multiple Access (CDMA), etc.), Bluetooth, millimeter wave (mmWave), Zigbee, Z-Wave, etc.) such that the on-board computing system can connect to and communicate with other computing systems, such as on-board computing systems of other vehicles, roadside units, or supporting infrastructure such as cloud-based computing systems. For example, in some implementations, the vehicles (e.g., 105, 110, 115) may interact with computing systems that provide sensors, data, and services to support the autonomous driving capabilities of the vehicles themselves. For example, as shown in the illustrative example of Figure 1, devices such as support drones 180 (e.g., on the ground and / or in the air), roadside computing devices (e.g., 140), and various external (external to or "outside" the vehicle) sensor devices (e.g., 160, 165, 170, 175, etc.), among other examples, may be provided as an autonomous driving infrastructure separate from the computing systems, sensors, and logic implemented on the vehicles (e.g., 105, 110, 115) to assist and enhance the autonomous driving results provided by the vehicles. Each vehicle may also communicate over wireless communication channels with other networked vehicles to share data and coordinate actions within the autonomous driving environment, among other communication examples.

[0020] As shown in the example of FIG. 1, the autonomous driving infrastructure may incorporate a variety of different systems. Such systems may vary based on location, with more developed roads (e.g., roads managed by a particular municipality or toll authority, roads in urban areas, road sections known to be problematic for autonomous vehicles, etc.) having more or more advanced supporting infrastructure devices than other road sections. For example, auxiliary sensor devices (e.g., 160, 165, 170, 175) may be provided that include sensors for observing parts of the roadway and the vehicle moving within the environment and generating corresponding data that represents or embodies the sensor observations. By way of example, the sensor devices may be incorporated into the road itself (e.g., sensor 160), roadside or overhead signs (e.g., sensor 165 installed on sign 125), sensors (e.g., 170, 175) attached to electronic roadside equipment or facilities (e.g., traffic lights (e.g., 130), electronic road signs, electronic bulletin boards, etc.), dedicated roadside units (e.g., 140), among other examples. The sensor devices may also include communication capabilities to communicate collected sensor data directly to nearby networked vehicles or to fog- or cloud-based computing systems (e.g., 140, 150). The vehicle may obtain sensor data collected by external sensor devices (e.g., 160, 165, 170, 175, 180) or data embodying observations or recommendations made by other systems (e.g., 140, 150) based on sensor data from these sensor devices (e.g., 160, 165, 170, 175, 180) and use this data for tasks performed by the onboard autonomous driving system, such as sensor fusion, inference, and route planning. In some cases, such external sensors and sensor data may actually be located within the vehicle, such as in the form of aftermarket sensors attached to the vehicle, personal computing devices carried or worn by vehicle occupants (e.g., smartphones, wearables, etc.), etc.Other roadway actors, including pedestrians, cyclists, drones, e-scooters, etc., may also be equipped with or carry sensors and generate sensor data representative of the autonomous driving environment. Such sensor data may be used and consumed by autonomous vehicles, cloud-based or fog-based assistance systems (e.g., 140, 150), other sensor devices (e.g., 160, 165, 170, 175, 180), among other examples.

[0021] Because autonomous vehicle systems may have varying levels of functionality and sophistication, the assistance infrastructure may be required to supplement not only the sensing capabilities of some vehicles, but also the computational and machine learning capabilities that enable the autonomous driving capabilities of some vehicles. For example, the computational resources and autonomous driving logic used to facilitate the training of machine learning models and the use of such machine learning models may be provided entirely in the in-vehicle computing system, or partially in both the in-vehicle system and some external systems (e.g., 140, 150). For example, networked vehicles may interact with roadside units, edge systems, or cloud-based devices (e.g., 140) that are only on certain sections of road and that can provide data (e.g., sensor data collected from local sensors (e.g., 160, 165, 170, 175, 180) or data reported from sensors in other vehicles) and the networked vehicles may perform calculations (as a service) on the data provided by a vehicle to supplement vehicle-specific capabilities and / or push information to passing or approaching vehicles (e.g., based on sensor data collected by device 140 or from nearby sensor devices, etc.). Networked vehicles (e.g., 105, 110, 115) may also or instead interact with cloud-based computing systems (e.g., 150) that may provide similar memory, sensing, and computational resources to extend the resources available to the vehicles. For example, a cloud-based system (e.g., 150) may collect sensor data from various devices at one or more locations and use this data to build and / or train machine learning models that can be used by the cloud-based system (to provide results to various vehicles (e.g., 105, 110, 115) in communication with the cloud-based system 150 or to push results to the vehicles for use by their in-vehicle systems, among other implementations.Access points (e.g., 145), such as cellular towers, roadside units, network access points attached to various roadway infrastructure, and access points provided by nearby vehicles or buildings, may be provided within the environment and used to facilitate communication between the cloud-based system (e.g., 150) and the various vehicles (e.g., 105, 110, 115) over one or more local or wide area networks (e.g., 155). With such infrastructure and computing systems, it should be understood that the examples, features, and solutions described herein may be performed entirely by one or more of such in-vehicle computing systems, fog-based or edge computing devices, or cloud-based computing systems, or by a combination of the foregoing through interaction and coordination between the systems.

[0022] Generally, the terms "server," "client," "computing device," "network element," "host," "platform," "sensor device," "edge device," "autonomous driving system," "autonomous vehicle," "fog-based system," "cloud-based system," "system," and the like, described herein may generally include electronic computing devices operable to receive, transmit, process, store, or manage data and information associated with an autonomous driving environment. As used herein, the terms "computer," "processor," "processor device," or "processing device" are intended to encompass any suitable processing device, including central processing units (CPUs), graphic processing units (GPUs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), digital signal processors (DSPs), and matrix computation processors such as tensor processors, among other examples. For example, an element depicted in an environment as a single device may be implemented using multiple computing devices and processors, such as a server pool including multiple server computers. Further, any, all, or some of the computing devices may be adapted to run any operating system, including Linux, UNIX, Microsoft Windows, Apple OS, Apple iOS, Google Android, Windows Server, etc., and the virtual machines are adapted to virtualize the execution of specific operating systems, including customized proprietary operating systems.

[0023] Any of the flows, methods, processes (or portions thereof), or functions relating to any of the various components described below or illustrated in the figures may be performed by any suitable computing logic, such as suitable computing logic, such as one or more modules, engines, blocks, units, models, or systems. References herein to a "module," "engine," "block," "unit," "model," "system," or "logic" may refer to hardware, firmware, software, and / or combinations thereof that perform one or more functions. As an example, a module, engine, block, unit, model, system, or logic may include one or more hardware components, such as a microcontroller or processor, in association with a non-transitory medium that stores code adapted to be executed by the microcontroller or processor. Thus, references to a module, engine, block, unit, model, system, or logic may, in one embodiment, refer to hardware, such hardware being specifically configured to recognize and / or execute code held on the non-transitory medium. Additionally, in another embodiment, the use of a module, engine, block, unit, model, system, or logic refers to a non-transitory medium containing code, such code being specifically adapted to be executed by a microcontroller or processor to perform a given operation. As may be inferred, in yet another embodiment, a module, engine, block, unit, model, system, or logic may refer to a combination of hardware and non-transitory medium.In various embodiments, a module, engine, block, unit, model, system, or logic may include suitable hardware and / or software, such as a processing element, such as a microprocessor, that operatively executes software instructions, discrete logic, such as an application specific integrated circuit (ASIC), a programmed logic device, such as a field programmable gate array (FPGA), a memory device containing instructions, or a combination of logic devices (e.g., as found on a printed circuit board). A module, engine, block, unit, model, system, or logic may include circuit elements, such as, for example, one or more gates, which may be implemented with transistors. In some embodiments, a module, engine, block, unit, model, system, or logic may be embodied completely as software. Software may be embodied as a software package, code, instructions, instruction sets, and / or data recorded on a non-transitory computer-readable storage medium. Firmware may be embodied as hard-coded (e.g., non-volatile) code, instructions or instruction sets, and / or data in a memory device. Additionally, logic boundaries shown as separate will typically vary and may overlap in some cases. For example, a first module and a second module (or multiple engines, blocks, units, models, systems, or logic) may share hardware, software, firmware, or a combination thereof, or in some cases may retain some independent hardware, software, or firmware.

[0024] The flows, methods, and processes described below and illustrated in the figures are merely representative of functions that may be performed in certain embodiments. In other embodiments, additional functions may be performed in such flows, methods, and processes. Various embodiments of the present disclosure contemplate any suitable signaling mechanism for achieving the functions described herein. Some of the functions illustrated herein may be repeated, combined, modified, or removed from the flows, methods, and processes as desired. Furthermore, functions may be performed in any suitable order in the flows, methods, and processes without departing from the scope of a particular embodiment.

[0025] 2, a simplified block diagram 200 is shown illustrating one example implementation of a vehicle (and corresponding on-board computing system) 105 with autonomous driving capabilities. In one example, the vehicle 105 may include one or more processors 202, such as a central processing unit (CPU), a graphic processing unit (GPU), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), and a matrix computation processor such as a tensor processor, among other examples. Such processors 202 may be coupled to or integrated with a hardware accelerator device (e.g., 204), which may include hardware to accelerate certain processing and memory access functions, such as functions related to machine learning inference or training (including any of the machine learning inference or training described below), processing certain sensor data (e.g., camera image data, LIDAR point clouds, etc.), performing certain computational functions related to autonomous driving (e.g., matrix computations, convolution computations, etc.), among other examples. One or more memory elements (e.g., 206) may be provided for storing machine-executable instructions implementing all or a portion of any of the modules or sub-modules of the autonomous driving stack implemented in the vehicle, as well as for storing data received, generated, or used in connection with the autonomous driving functions performed by the vehicle (or used in connection with the examples and solutions described herein), such as machine learning models (e.g., 256) and sensor data (e.g., 258). Various communication modules (e.g., 212) may also be provided, implemented in hardware circuitry and / or software that implement communication functions used by the vehicle's systems to interact with other external computing systems over one or more network channels using one or more network communication technologies.These various processors 202, accelerators 204, memory devices 206, and network communication modules 212 may be interconnected on the vehicle's system through one or more interconnection fabrics or links (e.g., 208), such as fabrics utilizing technologies such as Peripheral Component Interconnect Express (PCIe), Ethernet, OpenCAPI, Gen-Z, UPI, Universal Serial Bus (USB), Cache Coherent Interconnect for Accelerators (CCIX), Advanced Micro Device's (AMD) Infinity, Common Communications Interface (CCI), or Qualcomm's Centriq interconnect, among others.

[0026] Continuing with the example of FIG. 2, an example vehicle (and corresponding on-board computing system) 105 may include an autonomous driving system 210, driving controls (e.g., 220), sensors (e.g., 225), and user / occupant interfaces (e.g., 230), among other example modules that implement the functionality of an autonomous vehicle in hardware and / or software. For example, the autonomous driving system 210 may implement all or a portion of the autonomous driving stack and process flow in some implementations (e.g., as shown and described in the example of FIG. 5). A machine learning engine 232 may be provided that utilizes various machine learning models (e.g., 256) provided to the vehicle 105 in association with one or more autonomous functions and features (e.g., as described in the examples herein) provided and implemented in or for the vehicle. Such machine learning models 256 may include example models such as artificial neural network models, convolutional neural networks, decision tree-based models, support vector machines (SVMs), Bayesian models, and deep learning models. In some implementations, an example of a machine learning engine 232 may include one or more model trainer engines 252 involved in training (e.g., initial training, ongoing training, etc.) one or more of a plurality of machine learning models 256. One or more inference engines 254 may also be provided, which utilize the trained machine learning models 256 to derive results such as various inferences, predictions, and classifications. In some embodiments, training or inference of the machine learning models described herein may be performed outside the vehicle, such as by computing system 140 or 150.

[0027] The machine learning engine 232 provided to the vehicle may be utilized to assist and provide results for use by other logical components and modules of the autonomous driving system 210 that implement autonomous driving related functions, such as an autonomous driving stack. For example, the data collection module 234 may include logic to determine from which sources data should be collected (e.g., for input in training or using various machine learning models 256 used by the vehicle). For example, a particular source (e.g., on-board sensors (e.g., 225) or external sources (e.g., 115, 140, 150, 180, 215, etc.)) may be selected, as well as the frequency and fidelity at which data is sampled. In some cases, such selection and configuration may be performed at least in part autonomously by the data collection module 234 using one or more corresponding machine learning models (e.g., collect data as needed given a particular detected scenario).

[0028] The sensor fusion module 236 may also be used to control the use and processing of various sensor inputs utilized by the machine learning engine 232 and other modules (e.g., 238, 240, 242, 244, 246, etc.) of the autonomous driving system. One or more sensor fusion modules (e.g., 236) may be provided that may derive output from multiple sensor data sources (e.g., on the vehicle or external to the vehicle). Such sources may be homogenous or heterogeneous (e.g., multiple inputs from multiple instances of a common type of sensor, or multiple inputs from each instance of multiple different types of sensors). An example of the sensor fusion module 236 may apply direct fusion, indirect fusion, among other example sensor fusion techniques. In some cases, the output of the sensor fusion may be provided as an input (possibly together with additional inputs) to another module of the autonomous driving system and / or one or more machine learning models in connection with providing a function such as an autonomous driving function (e.g., as described in the example solutions described herein).

[0029] A perception engine 238 may be provided in some examples, which may take as input various sensor data (e.g., 258), possibly including data from external sources and / or sensor fusion module 236, and perform object recognition and / or tracking of detected objects, among other example functions corresponding to autonomous perception of the environment encountered (or to be encountered) by vehicle 105. Perception engine 238 may perform object recognition from sensor data inputs using deep learning, e.g., machine learning models 256, such as one or more convolutional neural networks. Object tracking may also be performed, which autonomously infers from sensor data inputs whether an object is moving and, if so, along what trajectory it is moving. For example, after recognizing a given object, perception engine 238 may detect how the given object moves in relation to the vehicle. Such functionality may be used, for example, to detect objects moving in the environment, such as other vehicles, pedestrians, wildlife, bicyclists, etc., among other use cases, whose movement may affect the path of the vehicle on the road.

[0030] A localization engine 240 may also be included in the autonomous driving system 210 in some implementations. In some cases, the localization engine 240 may be implemented as a subcomponent of the perception engine 238. The localization engine 240 may also utilize one or more machine learning models 256 and sensor fusion (e.g., of LIDAR and GPS data) to determine a reliable location of the vehicle and the space the vehicle occupies in a given physical space (or “environment”).

[0031] The vehicle 105 may further include a path planner 242, which may utilize the results of various other modules, such as (e.g., recommendation engine 244), data collection (e.g., 234), sensor fusion (e.g., 236), perception engine (e.g., 238), and localization engine (e.g., 240), among others, to determine a path plan and / or action plan for the vehicle, which may be used by a driving control device (e.g., 220) to control the driving of the vehicle 105 within the environment. For example, the path planner 242 may utilize such inputs and one or more machine learning models to determine the probability of various events within the driving environment to determine a valid real-time plan to execute within that environment.

[0032] In some implementations, the vehicle 105 may include one or more recommendation engines 244 to generate various recommendations from sensor data generated by the vehicle 105's own sensors (e.g., 225) and from external sensors (e.g., sensor devices 115, 180, 215, etc.). Some recommendations may be determined by the recommendation engine 244, and these recommendations may be provided as inputs to other components of the vehicle's autonomous driving stack to influence decisions made by these components. For example, recommendations may be determined that, when considered by the route planner 242, cause the route planner 242 to deviate from a decision or plan that it would normally have otherwise decided in the absence of the recommendation. Recommendations may also be generated by the recommendation engine (e.g., 244) based on considerations regarding passenger comfort and experience. In some cases, internal functions within the vehicle may be operated predictively and autonomously based on these recommendations (determined from sensor data (e.g., 258) collected by the vehicle's sensors and / or external sensors, etc.).

[0033] As mentioned above, some vehicle implementations may include a user / occupant experience engine (e.g., 246) that utilizes sensor data and the output of other modules in the vehicle's autonomous driving stack to result in driving maneuvers and changes to the vehicle's cabin environment that enhance the occupant's experience within the vehicle based on observations collected by the sensor data (e.g., 258). In some cases, aspects of the user interface (e.g., 230) provided in the vehicle that allows a user to interact with the vehicle and its autonomous driving system may be extended. In some cases, information representations (e.g., audio, visual, and / or tactile representations) may be generated and provided through a user display to help influence and enhance the occupant experience within the vehicle (e.g., 105), among other use cases.

[0034] In some cases, a system manager 250 may also be provided that monitors information collected by various sensors on the vehicle to detect problems related to the performance of the vehicle's autonomous driving system. For example, operational events such as calculation errors, sensor outages and problems, availability and quality of communication channels (e.g., provided by communication module 212), or vehicle system inspections (e.g., problems related to the motor, transmission, battery, cooling system, electrical system, tires, etc.) may be detected by system manager 250. Such problems may be identified in system notification data generated by system manager 250, which in some cases may be utilized as inputs to machine learning models 256 and associated autonomous driving modules (e.g., 232, 234, 236, 238, 240, 242, 244, 246, etc.) to enable the health and problems of the vehicle systems to be considered along with other information collected in sensor data 258 included in the autonomous driving functions of vehicle 105.

[0035] In some implementations, the autonomous driving stack of the vehicle 105 may be coupled to driving controls 220, including steering controls (e.g., 260), accelerator / throttle controls (e.g., 262), brake controls (e.g., 264), and signaling controls (e.g., 266), among other examples, to affect how the vehicle is driven. In some cases, the vehicle may be controlled entirely or in part based on user input. For example, the user interface (e.g., 230) may include driving controls (e.g., physical or virtual steering wheel, accelerator, brake, clutch, etc.) that may enable a human driver to take over control from the autonomous driving system (e.g., in a handover or following a driver assistance action). Other sensors may be utilized to receive user / occupant input, examples of which include voice detection 292 and gesture detection camera 294. The user interface (e.g., 230) may read the occupant-user's desires and intentions, which the autonomous driving stack of the vehicle 105 may take into account as additional inputs (e.g., in the driving control 220) when controlling the driving of the vehicle. In some implementations, the driving control may be controlled by an external computing system, such as when an occupant utilizes an external device (e.g., a smartphone or tablet) to provide driving directions or instructions, or in the case of a remote parking service where an external driver or system takes over control of the vehicle (e.g., based on an emergency event), among other implementations.

[0036] As discussed above, the vehicle's autonomous driving stack may utilize various sensor data (e.g., 258) generated by various sensors on and outside the vehicle. As an example, the vehicle 105 may include an array of sensors 225 to collect various information related to the vehicle's exterior and surrounding environment, the status of the vehicle's systems, and conditions within the vehicle, and other information available to each module of the vehicle's processing system 210. For example, such sensors 225 may include a global positioning (GPS) sensor 268, a light detection and ranging (LIDAR) sensor 270, a two-dimensional (2D) camera 272, a three-dimensional (3D) or stereo camera 274, an acoustic sensor 276, an inertial measurement unit (IMU) sensor 278, a temperature sensor 280, an ultrasonic sensor 282, a biosensor 284 (e.g., facial recognition, voice recognition, heart rate sensor, body temperature sensor, emotion detection sensor, etc.), a radar sensor 286, and weather sensors (not shown), among other example sensors. The sensor data 258 may also (or instead) be generated by sensors that are not integrally coupled to the vehicle. Such sensors include sensors mounted on other vehicles (e.g., 115) (which may be communicated to the vehicle 105 by vehicle-to-vehicle communication or other techniques), sensors mounted on drones 180 on the ground or in the air, sensors on user devices 215 (e.g., smartphones or wearable devices) carried by human users inside or outside the vehicle 105, and sensors attached to or provided with other roadside elements, such as roadside units (e.g., 140), road signs, traffic lights, street lights, etc. Sensor data from such external sensor devices may be provided to the vehicle directly from the sensor devices, or through data aggregation devices or as a result of generation by other computing systems (e.g., 140, 150) based on these sensors, among other implementations.

[0037] In some implementations, the autonomous vehicle system 105 may interface with and leverage information and services provided by other computing systems to extend, enable, or otherwise assist the autonomous driving capabilities of the device 105. In some cases, some autonomous driving capabilities (including some of the example solutions described herein) may be enabled by resources, such as services, computing logic, machine learning models, or data, of computing systems external to the vehicle. If such external systems are unavailable to the vehicle, these capabilities may be at least temporarily disabled. For example, external computing systems may be provided and leveraged, such as those hosted on roadside units or fog-based edge devices (e.g., 140), other (e.g., higher-level) vehicles (e.g., 115), and cloud-based systems 150 (e.g., accessible through various network access points (e.g., 145)). A roadside unit 140 or a cloud-based system 150 (such as a cooperative system with which a vehicle (e.g., 105) interacts) may include all or a portion of the logic illustrated as belonging to an example of an automated driving system (e.g., 210), possibly along with additional functionality and logic. For example, a computing system such as a cloud-based computing system or a roadside unit 140 may include a machine learning engine that assists with either or both of the model training and inference engine logic. For example, such external systems may be equipped with higher-end computing resources and more advanced or updated machine learning models, enabling these services to provide better results than those originally produced by the vehicle's processing system 210. For example, the automated driving system 210 may utilize machine learning training, machine learning inference, and / or machine learning models provided through a cloud-based service for processing certain tasks and certain scenarios.Indeed, it should be understood that one or more of the modules described and illustrated as belonging to vehicle 105 may, in some implementations, alternatively or additionally be provided within a cloud-based or fog-based, or other such computing system that supports an autonomous driving environment.

[0038] Various embodiments herein may utilize one or more machine learning models to perform functions of an AV stack (and other functions described herein). The machine learning models may be executed by a computing system to incrementally improve performance of a particular task. In some embodiments, parameters of the machine learning models may be adjusted based on training data during a training phase. The trained machine learning models may then be used during an inference phase to make predictions or decisions based on input data.

[0039] The machine learning models described herein may take any suitable form or utilize any suitable technique, for example, any of the machine learning models may utilize supervised, semi-supervised, unsupervised, or reinforcement learning techniques.

[0040] In supervised learning, a model may be constructed using a training set of data that includes both inputs and corresponding desired outputs. Each training instance may include one or more inputs and a desired output. Training may include iteration through the training instances and use of an objective function to teach the model to predict an output for a new input. In semi-supervised learning, some of the inputs included in the training set may lack a desired output.

[0041] In unsupervised learning, a model may be constructed from a set of data that contains only inputs and no desired output. Unsupervised models may be used to find structure in the data by discovering patterns in the data (e.g., grouping or clustering of data points). Techniques that may be implemented in unsupervised learning models may include, for example, self-organizing maps, nearest neighbor mapping, k-means clustering, and singular value decomposition.

[0042] In reinforcement learning models, positive or negative feedback may be given to improve accuracy. In reinforcement learning models, one or more goals / rewards may be maximized. Techniques that may be implemented in reinforcement learning models may include, for example, Q-learning, temporal difference (TD), and deep adversarial networks.

[0043] Various embodiments described herein may utilize one or more classification models. A classification model may restrict the output to a limited set of values. A classification model may output a class for an input set of one or more input values. References to a classification model herein may contemplate, for example, a model implementing any one or more of the following techniques: a linear classifier (e.g., logistic regression or naive Bayes classifier), a support vector machine, a decision tree, a boosted tree, a random forest, a neural network, or a nearest neighbor technique.

[0044] Various embodiments described herein may utilize one or more regression models. A regression model may output a numerical value from a continuous range based on an input set of one or more values. References to a regression model herein may contemplate, for example, a model implementing any one or more of the following techniques (or suitable approaches): linear regression, decision trees, random forests, or neural networks.

[0045] In various embodiments, any of the machine learning models described herein may utilize one or more neural networks. A neural network may include a group of neural units that loosely model the structure of a biological brain, including large clusters of synaptically connected neurons. In a neural network, neural units are connected to other neural units via links. The links may be excitatory or inhibitory in terms of their influence on the activation state of the connected neural units. A neural unit may utilize the value of its input to perform a function to update the membrane potential of the neural unit. A neural unit may communicate a spike signal to a connected neural unit when a threshold associated with the neural unit is exceeded. A neural network may be trained or otherwise adapted to perform a suitable computing task, such as a variety of data processing tasks (including tasks performed by an AV stack), e.g., a computer vision task or a speech recognition task.

[0046] FIG. 3 illustrates an example of a portion of a neural network 300 according to certain embodiments. Neural network 300 includes neural units X1-X9. Neural units X1-X4 are input neural units that receive primary inputs I1-I4, respectively, which may be held constant while neural network 300 processes the output. Any suitable primary inputs may be used. As an example, if neural network 300 performs image processing, the primary input values ​​may be values ​​of pixels from the image (and the values ​​of the primary inputs may be constant while processing the image). As another example, if neural network 300 performs audio processing, the primary input values ​​applied to a particular input neural unit may change over time based on changes in the input audio.

[0047] Although a particular topology and connection scheme is shown in FIG. 3, the teachings of the present disclosure may be used with neural networks having any suitable topology and / or connections. For example, the neural network may be a neural network such as a forward propagation neural network or a recurrent network with any suitable connectivity between neural units. As another example, although the neural network is shown as having an input layer, a hidden layer, and an output layer, the neural network may have any suitable layers arranged in any suitable manner. In the embodiment shown, each link between two neural units has a synaptic weight, which indicates the strength of the relationship between the two neural units. The synaptic weights are shown as WXY, where X indicates a pre-synaptic neural unit and Y indicates a post-synaptic neural unit. Links between neural units may be excitatory or inhibitory in terms of their effect on the activation state of the connected neural units. For example, a spike traveling from X1 to X5 may increase or decrease the membrane potential of X5 depending on the value of W15. In various embodiments, the connections may be oriented or non-oriented.

[0048] In various embodiments, at each time step of the neural network, a neural unit may receive any suitable input. Such input may be, for example, a bias value or one or more input spikes from one or more of the neural units connected to the neural unit via their respective synapses (this set of neural units is referred to as the neural unit's fan-in neural units). The bias value applied to the neural unit may be a function of the primary inputs applied to the input neural units and / or some other value applied to the neural unit (e.g., a constant value that may be adjusted in an operation such as training the neural network). In various embodiments, each neural unit may be associated with its own bias value, or a bias value may be applied to multiple neural units.

[0049] The neural unit may use the values ​​of its input and the current membrane potential to perform a function. For example, the input may be added to the neural unit's current membrane potential to generate an updated membrane potential. As another example, a non-linear function, such as a sigmoid transfer function, may be applied to the input and the current membrane potential. Any other suitable function may be used. The neural unit then updates its membrane potential based on the output of the function.

[0050] Referring to FIG. 4, a simplified block diagram (400) is shown illustrating examples of levels of autonomous driving that may be supported in various vehicles (e.g., by their respective on-board computing systems). For example, a range of levels may be defined (e.g., L0-L5 (405-435)), with Level 5 (L5) corresponding to a vehicle with the highest level of autonomous driving functionality (e.g., fully automated) and Level 0 (L0) corresponding to the lowest level of autonomous driving functionality (e.g., no automation). For example, an L5 vehicle (e.g., 435) may be equipped with a fully autonomous computing system that can provide autonomous driving performance equivalent to or better than that provided by a human driver in all driving scenarios, including challenging road conditions and weather. An L4 vehicle (e.g., 430) may also be considered to be fully autonomous and capable of autonomously performing safety-critical driving functions and effectively monitoring road conditions throughout the entire journey from the starting point to the destination. L4 vehicles may differ from L5 vehicles in that the L4 autonomous capabilities are defined within the limits of the vehicle's "driving design space" and may not include all driving scenarios. L3 vehicles (e.g., 420) provide automated driving functionality that transfers safety-critical functions entirely to the vehicle in a specific set of traffic and environmental conditions, but still expects the involvement and availability of a human driver to handle driving in all other scenarios. Thus, L3 vehicles may provide handover protocols that orchestrate the transfer of control from the human driver to the automated driving stack and vice versa. L2 vehicles (e.g., 415) provide driver assistance functionality that allows the driver to be freed from physical operation of the vehicle at times, so that both the driver's hands and feet may be freed from the vehicle's physical controls at times. L1 vehicles (e.g., 410) provide driver assistance for one or more specific functions (e.g., steering, braking, etc.), but still require constant control by the driver for most functions of the vehicle. L0 vehicles may be considered not autonomous.That is, a human driver controls all driving functions of the vehicle (though such vehicles may still passively engage in the automated driving environment, e.g., by providing sensor data to higher level vehicles, using sensor data to enrich GPS and infotainment services in the vehicle, etc.). In some implementations, a single vehicle may assist in operations at multiple automated driving levels. For example, the driver may control and select which level of assisted autonomy to use on a given journey (e.g., L4 or lower). In other cases, the vehicle may autonomously switch between levels based, for example, on conditions affecting the road or the vehicle's automated driving system. For example, in response to detecting that one or more sensors are damaged, a L5 or L4 vehicle may transition to a lower mode (e.g., L2 or lower) to account for the sensor issue and involve a human occupant, among other examples.

[0051] FIG. 5 is a simplified block diagram (500) illustrating an example of an automated driving flow that may be implemented in some automated driving systems. For example, an automated driving flow implemented in an automated (or semi-automated) vehicle may include a detection and recognition stage 505, a planning and decision stage 510, and a control and execution stage 515. In the detection and recognition stage 505, data is generated by various sensors and collected for use by the automated driving system. In some cases, data collection may include filtering of data and receiving sensors from external sources. This stage may also include sensor fusion operations and cognitive tasks such as object recognition (e.g., localization) performed using one or more machine learning models. The planning and decision stage 510 may utilize the sensor data and the results of various perception operations to make probabilistic predictions about the road ahead and determine a real-time path plan based on these predictions. The planning and decision stage 510 may further include making decisions related to the path plan in response to detection of events such as obstacles, and may take these events into account to determine whether and which actions should be taken to safely navigate the determined path. Based on the route plans and decisions of the Plan and Decision stage 510, the Control and Execution stage 515 may translate these decisions into actions by actuators that operate the driving controls including steering, accelerator, and brakes, as well as secondary controls such as turn signals, sensor cleaners, windshield wipers, headlights, etc.

[0052] Current vehicle safety systems are passive in nature, i.e., they act in response to a crash occurring, regardless of the angle, direction, or strength of the impact. For example, current vehicle safety systems may include passive mechanisms such as fixed-position airbags with programmed inflation rates and fixed crash sensors that are activated based on programmed accelerations. Such items may not be aware of the pre-crash state of the automobile, nor what the vehicle will do upon impact, which may affect occupant safety and the placement of built-in safety devices. Occupant safety may vary accordingly depending on the direction or strength of the impact, the occupant's position, and the object the vehicle is striking. This is because not all parts of a vehicle are homogenous in terms of their safety and structural integrity (i.e., some parts of a vehicle may be weaker than other areas and require additional protection).

[0053] When a human driver is operating a vehicle, there is little that can be done in the event of a collision due to the nature of driving and the ability of the human driver to plan and execute emergency maneuvers. However, in a world with autonomous (e.g., AI-based) systems and powerful sensor networks, it should be possible to predict collisions and estimate and pre-plan many scenarios. For example, an autonomous system may determine and optimize a collision (e.g., by controlling the vehicle's positioning prior to the collision) to minimize damage and injury to occupants, etc., and maximize the use of passive and active safety systems to optimize their use and execution. Furthermore, because current automotive systems are not networked or communicate with other vehicles or roadside objects / structures, there is no preventative means for impending collision vehicles (or vehicles and structures) to communicate with each other to determine possible measures that could mitigate damage, injury, or fatality.

[0054] Thus, this disclosure describes embodiments of preventative vehicle safety systems that may optimize crash outcomes, for example, through proactive vehicle path planning, vehicle and / or occupant positioning, smart control of passive safety mechanisms, etc. The techniques described herein may be applied to existing automobiles, where actuators (e.g., steering, brakes, throttle) can override driver input, and also to autonomous vehicles (AVs), where the preventative safety system operates in parallel with another high-performance computer system (e.g., an AI-based system) dedicated to identifying the safest and least-loss / damage course of action for the vehicle in case of an impending accident. A variety of approaches may be supported by the techniques described herein.

[0055] For example, a single vehicle loss minimization approach may be utilized that includes active crash direction prediction, active vehicle and / or occupant orientation, and variable reaction response techniques for passive safety mechanisms. For example, the vehicle may use active sensors and deep learning discrimination tracking techniques to identify dangerous objects in the crash zone, plot possible accident trajectories, and actively orient the vehicle using vehicle actuators that manipulate the vehicle to present the vehicle's "safest" crash surface. Additionally, the vehicle may present the strongest occupant restraints and safety systems for the crash direction. This may include vehicle rotation or interior seat (or cabin) rotation to present the safest angle prior to impact (e.g., to ensure that the occupant's backside faces the crash and that the impact hits an empty or occupied seat).

[0056] Additionally, predictive systems can initiate and control the activation of passive vehicle safety mechanisms, such as by pre-deploying protective restraints such as airbags and anti-intrusion systems (e.g., roll bars or occupant protection cages) prior to impact. In some cases, preventative systems may regulate the response of passive mechanisms, such as airbag inflation speed or multiple airbag deployment (e.g., to minimize injury to the occupant's limbs, neck, or head). In contrast, today's systems typically deploy airbags using blank projectiles, providing an all-or-nothing option. The system also releases in response to impact through passive sensors with no safety interconnections to other systems, optimizing overall safety by coordinating various passive and active mechanisms. Controlling these systems together can provide impact G and shock to internal organs through active attenuation of the impact. For example, airbag systems with variable inflation speeds or timed inflation patterns (e.g., opening early on impact to provide partial deflation) may reduce injury to occupants (especially in the case of children or small animals).

[0057] For example, referring to the scenario illustrated in FIGS. 6-7, vehicle 602 is traveling toward object 610, a collision between the two is imminent, and there is no time or space for vehicle 602 to avoid the collision (e.g., due to vehicle capabilities, vehicle speed, etc.). Assuming there is no driver input (e.g., the driver becomes distraught or incapacitated, or is otherwise unable to further control the vehicle), the vehicle will continue along path 607 and collide with object 610 in a near head-on collision, which can be very dangerous. However, according to aspects of the present disclosure, a proactive safety system of vehicle 602 may determine a crash orientation for the vehicle and its occupants that optimizes a safety outcome for the collision (e.g., based on vehicle safety information (e.g., crash zones, crash test data, etc.), occupant information (e.g., age, size, location within the vehicle), or other information about the vehicle (e.g., unrestrained objects inside the vehicle that may pose a threat to eject during an accident), and may autonomously control the vehicle to achieve an optimal crash orientation for the vehicle and its occupants.

[0058] For example, referring to the example shown in Figure 6, vehicle 602 may select path 605 over possible paths such as paths 607, 609, etc. because it has been determined that path 605 provides the safest outcome for an impending collision. Path 605 may have been selected over other paths based on a determination that, for example, the grazing crash nature of path 605 provides a safer outcome (e.g., than path 607), the location of the vehicle's impact on path 605 provides a safer outcome (e.g., than path 607 due to a crash zone in that area of ​​the vehicle), the location of the occupants within the vehicle dictates that path 605 is safer (e.g., if only the driver is in the vehicle and the side of the vehicle on which the crash occurred is the passenger side (e.g., versus path 609)), etc. Although shown as changing the path of the vehicle 602, it will be understood that in some cases, the vehicle may alternatively decide to continue on the path 607 and yaw or turn to present the safest angle for impact with the object 610. Additionally, as shown in Figures 7A-7B, the vehicle 602 may turn the vehicle occupants so that their backs face the direction of impact with the object 610 and move the occupants' seats further away from the impact point to increase occupant safety. In some cases, the system may be programmed to identify a child / baby seat in the vehicle and optimize the angle and direction of the accident impact so that the child (or elderly) receives maximum protection from the vehicle itself and its built-in safety systems.

[0059] In some cases, multiple vehicles may communicate with each other to coordinate safety in response to a determination of an imminent collision. For example, in the event of an emergency or imminent collision, a vehicle in trouble may communicate with one or more vehicles around it (e.g., in its current path or possible future path), e.g., vehicles on a convergence vector. Each vehicle may share the safest collision location with each other and may determine a collision trajectory so that the vehicles collide in the safest place. For example, a cooperative safety action may include one vehicle clearing a safety space / lane for a runaway vehicle or truck to move from the traffic lane to the shoulder.

[0060] Additionally, the vehicle may determine a collision trajectory that allows the vehicle to stop in a "safe" location away from potential hazards such as pedestrians and minimize injury to the occupants. In some models, multiple vehicles may interact to slow down and stop a fast-moving out-of-control vehicle to a safe location by redirecting the moving vehicle and adjusting its trajectory or slowing it down with a diagonal collision. In this scenario, for example, a model may be used to avoid a large-scale pile-up collision on a highway by multiple vehicles containing a potential accident to one lane to avoid a rollover accident.

[0061] For example, with reference to the example scenario depicted in Figure 8, vehicle 802 has determined that a collision with at least one other vehicle or object in the environment is imminent because vehicle 802 does not have the time or space to avoid the collision (e.g., based on vehicle speed, current path, distance to object, capabilities, etc.). Assuming a vehicle such as vehicle 802 does not have driver input (e.g., if the driver of vehicle 802 becomes distraught or incapacitated, or is otherwise unable to further control vehicle 802), vehicle 802 will continue along path 803 and collide with vehicle 804 ahead in a near head-on collision, which may be highly dangerous and may cause further collisions (e.g., with one or more of vehicles 808, 810, 812, 814). However, according to aspects of the present disclosure, the preventive safety system of the vehicle 802 may determine an optimal crash orientation and path (e.g., based on information such as vehicle 802 safety information (e.g., crash zones, crash test data, etc.), information regarding safety from other vehicles, trajectory, etc.) to achieve the safest possible crash outcome.

[0062] The optimal heading and path determination may be based on information vehicle 802 receives from other vehicles (e.g., 804, 806) regarding their respective paths, safety information, etc. In some cases, each vehicle may coordinate their paths to achieve the safest overall crash outcome. For example, vehicles 802, 806 may communicate with each other to coordinate their paths. For example, in one scenario, vehicle 802 may choose to continue along path 805 and vehicle 806 may choose to continue along path 809, but allow both vehicles to slow down as much as possible before colliding with something (e.g., vehicle 806 colliding with wall 820). In another scenario, vehicle 802 may choose to continue along path 807, and vehicle 806 may slow down and cause a minor collision with vehicle 802, helping to orient vehicle 802 toward wall 820 and slowing vehicle 802 down before the collision. Vehicles 802, 806 may choose one of these two scenarios. This is because the collision only involves two vehicles (rather than additional vehicles such as 804, 808, 810, etc.).

[0063] In some cases, each vehicle may obtain information from roadside objects or structures (e.g., through signs or by interacting with the object / structure) and use that information in determining the optimal path and crash orientation. For example, in a vehicle-to-everything (V2X) model, the exterior walls of a building may communicate to a runaway vehicle the "safest" area of ​​the building for the vehicle to hit, minimizing injury to people (inside the vehicle or the building, or both). In some cases, certain areas of a building may be made to have areas (or may have adjacent structures with areas) that are purposely designed to withstand a crash. In a passive model, the structure may only have visible signs that are used to indicate these "crash areas" to the vehicle's safety system, while in an active model, the structure may be equipped with a transponder that communicates with the vehicle's safety system. Additionally, in some cases, the vehicle may use information about the building itself (e.g., placement of windows vs. brick walls) to make decisions related to path / orientation. For example, it may be determined that the vehicle will avoid the glass windows of the building. Glass windows can increase the potential for injury to people inside a building.

[0064] For example, referring to the example scenario depicted in FIG. 9, vehicle 902 determines that a collision with either vehicle 904 or structure 910 is imminent because vehicle 902 does not have the time or space to avoid the collision (e.g., based on vehicle speed, current path, distance to object, capabilities, etc.). According to aspects of the present disclosure, a proactive safety system of vehicle 902 may determine an optimal collision orientation and path (e.g., based on vehicle 902's safety information (e.g., crash zones, crash test data, etc.) and that of structure 910 (e.g., structure, building occupancy information, "crash zone," etc.)) to achieve the safest possible collision outcome. For example, the vehicle may select path 903 or 905 to avoid a collision with vehicle 904 and ensure a collision with structure 910. The vehicle may receive information from the structure 910 (e.g., via signs 914 or a transponder connected to the structure 910) that the structure 910 has a particular area 912 that will produce the safest outcome for the building's occupants. This area is likely the safest because it has been created as a safe crash zone (i.e., designed to handle an impact from a vehicle better than other areas of the structure 910), has the fewest nearby occupants, etc. Based on this information, the vehicle 910 may select path 903 or 905 (or another path) as the safest crash path. For example, path 903 may be selected if it is determined to be safer than path 905 (e.g., due to a more grazing impact with the structure). Path 905 may be selected if it is determined to be safer than path 903 (e.g., due to the increased safety that the crash zone 912 allows).

[0065] In certain implementations, trained neural network models of vehicle dynamics and safety systems may be used to optimize the safety characteristics of the vehicle in the event of an accident. For example, a vehicle may be equipped with a model that is initially trained and specific to the vehicle. Over time, this model may be retrained or learn based on historical information, such as the vehicle's own service information, which is essentially a customization of the model to the specific vehicle and its actual expected performance and capabilities (compared to the manufacturer's expected specifications). Furthermore, in some implementations, neural networks may be used as actuation systems that control (e.g., time) the release of passive safety restraint devices in the vehicle. Furthermore, in some implementations, actual accident data may be used to improve the characteristics of the vehicle, and on the road when facing an imminent accident situation. For example, deep learning models may be used to understand an imminent accident, determine that it is unavoidable, and take measures to pre-configure and adjust the occupant safety system, which may represent a significant improvement over current vehicle safety systems.

[0066] For example, a neural network-enhanced safety system as described herein may constantly track the vehicle's autonomous control system (or "ADAS") with respect to the car and possible impacts, continually identifying possible scenarios as the most likely occurrences, and calculating safety responses in terms of trajectory, primary and secondary impact characteristics that minimize damage in the form of recommendations to the vehicle's ADAS. Furthermore, a safety neural network (S-NN) may use information about the vehicle's safety characteristics in a model of the vehicle itself to plan possible safety responses to an impending accident. In other words, if the S-NN receives an alert from the vehicle's ADAS that it is losing control and an accident is imminent, the S-NN can predictively pre-configure active and passive safety mechanisms to minimize the possibility of injury and loss of life. Furthermore, the S-NN may have provided the ADAS with information to optimize the vehicle's crash orientation, so that the ADAS may have had time to orient the car to the object (such as a lamppost versus a child's school bus). This ensures that the part of the car that is optimally designed to absorb the impact absorbs the impact. This also optimizes the effectiveness of any passive devices or mechanisms, such as airbags, intended to provide maximum protection under the circumstances of a particular vehicle orientation and crash angle. Finally, in a networked environment, the system can communicate its strategies with other vehicles, allowing each vehicle to optimize its own safety and crash strategies for the upcoming vehicle accident.

[0067] Aspects of the present disclosure may provide one or more advantages. For example, in some cases, the approaches described herein may convert current passive safety systems to active ones, and in some cases to preventive ones. Furthermore, the approaches described herein do not disable the operation of fail-safe modes based on existing technology. In some cases, preventive vehicle systems as described herein may help reduce most consumer concerns about accidents in autonomous vehicles by improving safety in case of accidents. Thus, the position of autonomous vehicles as having fewer accidents and fewer injuries is further strengthened by the system placing occupants in the safest possible scenario in case of any accident. Furthermore, the system proposed herein can learn from actual accidents by retraining the autonomous vehicle safety neural network (S-NN) system and the model from actual accident data, so that known accident data may be used to reinforce or modify safety behaviors.

[0068] FIG. 10 is a simplified block diagram of an example of an autonomous vehicle (AV) control system 1000. The system 1000 may be implemented in accordance with aspects of an autonomous system, such as the autonomous system 210 of FIG. 2. The example shown in FIG. 10 illustrates elements of a primary control system 1010 and a proactive safety system 1020 of an AV operating in parallel. The primary control system 1010 includes a sensor processing module 1011 that receives and processes sensor data from a number of sensors fixedly mounted on the AV. The sensor processing module 1011 may be implemented similarly to, and perform the same or similar functions as, the data collection module 234 of FIG. 2. The processed sensor data is then passed to a sensor fusion module 1012. The sensor fusion module 1012 may be implemented similarly to, and perform the same or similar functions as, the sensor fusion module 236 of FIG. 2. The sensor fusion module 1012 passes its output to a localization module 1013. The location module 1013 may be implemented similarly to and perform the same or similar functions as the location engine 240 of Figure 2. As shown, the location module 1013 may utilize map data 1019 to determine the location of the AV within its environment.

[0069] The sensor fusion module 1012 also passes its output to an object identification module 1014, which also receives processed sensor data from the sensor processing module 1011. The object identification module 1014 may use this data to identify specific objects (e.g., other vehicles, obstacles, infrastructure, etc.) in the AV's vicinity. The object identification module 1014 passes its output to an object modeling module 1015, which uses the object identification module to model the identified objects.

[0070] The output of the localization module 1013 and the object modeling module 1015, along with the output of the sensor fusion module 1012, are then provided to an environment modeling module 1016. The environment modeling module 1016 may take information provided by other modules (along with map data 1019 as shown) and create a model of the environment around the AV, which may include a representation of what is around the AV and place the AV itself within the representation. The modeled environment is used by a path planning module 1017 to determine a path for the AV to follow, which is then used by an actuation and control module 1018 to autonomously control the AV to follow the path determined by the path planning module 1017. The path planning module 1017 may be implemented similarly to and perform the same or similar functions as the path planner 242 of FIG. 2, and the actuation and control module 1018 may be a control module that controls various actuators of the AV (such as the driving control device 220 of FIG. 2).

[0071] The preventive safety system 1020 may operate in parallel with the primary system 1010. In some cases, the preventive safety system 1020 may be an AI-driven system, such as a neural network-based safety assessment and prediction system. In other cases, the preventive safety system 1020 may be a heuristic-based system. For example, the system may determine N different combinations of paths / orientations and select one based on information provided by the AV sensors or a modeling module (e.g., the environmental modeling module 1016). In the illustrated example, the preventive safety system 1020 includes a continuous collision simulation module 1021 that monitors information about the AV and its environment (received from the object identification module 1014 and / or the environmental model 1016) and continuously simulates possible collisions and their consequences.

[0072] The proactive safety system 1020 also includes a collision detection and mitigation module 1022 that uses information from the object identification module 1014 and / or the environment model 1016, and simulation information from the real-time collision simulation module 1021, to detect an impending collision between the AV and another object (e.g., another vehicle and / or a structure) and also determines a collision mitigation plan. Determining the collision mitigation plan may include determining an optimal collision path for the AV, an optimal collision orientation for the AV, and / or an optimal collision orientation for an occupant of the AV, as described above. As shown, the collision detection and mitigation module 1022 may communicate with other vehicles and structures via a vehicle-to-vehicle (V2V) / vehicle-to-exchange (V2X) communication system 1030, and this information may be used in the collision detection and mitigation plan. In some cases, the collision detection and mitigation module 1022 may real-time plan a path for the AV and develop emergency evacuation measures.

[0073] The proactive safety system 1020 also includes an actuator override module 1023 that determines whether and when to override the actuation and control provided by the actuation and control module 1018. If the actuator override module 1023 determines to override the actuator and control module 1018, such as when a crash is determined to be imminent, the actuators of the primary system 1010 may be disabled in order to control and guide the vehicle in a manner that optimizes vehicle and occupant safety.

[0074] 11 is a simplified flow diagram illustrating an example of a decision-making process 1100 for a preventative vehicle safety system. Process 1100 may be implemented by aspects of an automated driving system, such as automated driving system 210 of FIG. 2. Set of operations 1110 may be performed by aspects of a current AV control system, while other operations shown in the figure represent approaches to enhancing a vehicle's safety system to be preventative. Thus, additional operations shown beyond set 1110 may transform a typical passive vehicle safety system (i.e., a system that only reacts to potential or actual crashes) into a preventative vehicle safety system (i.e., a system that provides safety features based on a determination of an imminent crash prior to the imminent crash).

[0075] In the illustrated example, the set of operations 1110 includes detecting one or more threats at 1111 (e.g., detecting an object that the vehicle may possibly come into contact with, such as a vehicle or a roadside structure), initiating an accident avoidance routine at 1112 (e.g., a typical accident avoidance maneuver such as braking or steering to avoid a collision), determining that a collision is imminent at 1113 (e.g., determining that a collision between the vehicle and the one or more threats detected at 1111 is unavoidable), evaluating a primary collision threat at 1114 (e.g., an object that the vehicle may collide with first), determining an estimated expected path for a primary collision at 1115, and determining an expected deflection path, if any, for a secondary collision at 1116. In some implementations, the set of operations 1110 may be performed using a neural network (e.g., a neural network for machine learning model 256 of FIG. 2).

[0076] In parallel with these operations, a set of operations 1120 may also be performed. Specifically, a preventative vehicle safety system may determine an optimal vehicle orientation in 1121 to minimize damage to the vehicle and / or injury to its occupants, etc. The system may take into account the following: vehicle safety information (e.g., location of passive safety features such as crash belts, airbags, seat belts, or roll bars / cages, and / or information related to accident testing or actual accident data (described below)), vehicle dynamics (e.g., processing functions such as braking or steering, including accounting for aging, wear, or replacement of such devices), current driving direction, current speed, distance to primary and / or secondary collision threats, number and type of dangerous objects in the expected collision path (from operations 1115, 1116), vehicle weight (e.g., weight location in trunk vs. front seats, back seats, etc.), information about the occupants of the vehicle such as occupant position, age, size, or the same / similar information from other vehicles or objects such as infrastructure. In some implementations, a trained neural network for a particular vehicle and / or function may be used to determine the optimal vehicle orientation, as described below.

[0077] The system may then determine 1122 a plan for engaging the vehicle's active safety features (e.g., changing seat or passenger compartment position / orientation (as described above), disabling the fuel system, disabling the electrical system, locking / unlocking door locks, opening / closing windows, etc.) and 1123 a plan for engaging the vehicle's passive safety features (e.g., control of airbag deployment (e.g., inflation rate, timing or sequence of airbag deployment for multiple airbags, limiting deployment to a specific airbag), engaging a roll bar / cage mechanism).

[0078] Based on the expected path information, the determined vehicle heading, and the active and passive safety plans, the vehicle may then select an optimal path to follow before coming to a stop, which may include autonomously controlling the vehicle's actuators to steer the vehicle along the path selected in 1124, which may include overriding actual actuator inputs (e.g., from the vehicle driver).

[0079] After the collision, information related to the collision may be collected 1108 and passed to a neural network training system 1106 resulting in a vehicle and function specific trained neural network 1102 that is used to determine 1121 how the vehicle should best orient itself for the impending collision. Additionally, the vehicle may use the neural network to interact with other vehicles or objects in its vicinity to coordinate path and collision planning strategies between the vehicle / objects.

[0080] In some cases, the neural network training system 1106 may use an emulated or simulated environment to train the neural network based on the structural safety of the vehicle itself (crash belts, protective belts, etc.). Additionally, in some implementations, the neural network may be trained using crash test data (e.g., from safety / regulatory agencies such as the NTSB) or actual crash data (reported by the vehicle itself in the field or other similar vehicles) to train the neural network. In some cases, the neural network may be trained based on vehicle dynamics. A current pathfinding training system may be used for the neural network training process. For example, AI-based reinforcement learning may be used based on a simulation in which the vehicle drives different paths in various environments. The simulation may have certain information about the particular vehicle being simulated (e.g., build information, crash data, etc.) in addition to the environment built therein. The simulation may have multiple predefined orientations of the vehicle and its occupants to choose from, each of which may be simulated in different scenarios to determine the optimal crash orientation. For example, the optimal orientation for impacting a wall (a wide object) may be different from the optimal orientation for impacting a traffic light pole (a strong, thin object), which may be different from the optimal impact orientation for impacting another vehicle (which may be intermediate between the first two in terms of thinness / wideness), which may be different from the optimal impact orientation for a relatively soft object such as a bush, etc. Neural networks can be trained to minimize injury to occupants, to minimize damage to surrounding vehicles / structures, or a combination of both (e.g., with an emphasis on minimizing injury to occupants of the vehicle itself).

[0081] As the vehicle and its systems age, the neural network training system 1106 can incorporate changes in the vehicle's behavior into its model. For example, the neural network may consider whether the vehicle has been in an accident before and know if there are structural areas that are now damaged, e.g., compared to the vehicle when new. The neural network may use this information to determine an optimal orientation for the same scenario that is different than the orientation previously determined to be optimal (e.g., an area that was previously hit may now be damaged and may be avoided in the next accident). The neural network may also consider changes in the vehicle's dynamics, such as braking, steering, etc. This information may be used to continually train the neural network to ensure that the safety model is as up-to-date and accurate as possible for the particular vehicle.

[0082] FIG. 12 is a flowchart 1200 illustrating an example process for controlling an autonomous vehicle that implements a proactive safety system. The process illustrated in FIG. 12 may be performed by a control system for the autonomous vehicle (e.g., various components of the vehicle 105 of FIG. 2 or a system modeled after the system 1000 of FIG. 10). This example process may include additional or different operations, which may be performed in the order shown in the figure or in a different order. In some cases, one or more of the operations illustrated in FIG. 12 may be implemented as a process that includes multiple operations, sub-processes, or other types of routines. In some cases, these operations may be combined, performed in a different order, performed in parallel, repeated, or otherwise repeated, or performed in other ways.

[0083] At 1202, sensor data generated by one or more sensors connected to the vehicle is processed. The sensor data may include data from sensors similar to sensor 225 of FIG.

[0084] At 1204, it is determined that a collision between the vehicle and another object (e.g., another vehicle, a roadside object, infrastructure, a building, etc.) is imminent. Determining that a collision is imminent may include determining that the collision is unavoidable given the current dynamics of the vehicle (e.g., speed) and the vehicle's environment (e.g., positions of objects around the vehicle and their respective distances to those objects).

[0085] At 1206, an optimal vehicle orientation for the collision (e.g., the direction or angle of the vehicle at the time of the collision) is determined, and at 1208, a path is determined to position the vehicle at the optimal orientation. The optimal vehicle orientation may be determined using a neural network trained based on one or more of vehicle static safety information, vehicle crash test information, and vehicle actual accident information (e.g., as described above). In other examples, the determination may be made heuristically. The optimal vehicle orientation may be based on the determined likelihood of injury to the vehicle occupants, and thus may be based on information about the vehicle occupants (e.g., the location of the occupants in the vehicle, the age of the occupants, or the size of the occupants). Additionally, in some cases, the determination may be based on information received from other vehicles or objects (e.g., buildings, roadside units, structures, etc.) in the vicinity of the vehicle. In these cases, the vehicles and other objects may cooperate to determine the optimal orientation for the collision. Similarly, the vehicles may transmit their own determined path or optimal vehicle orientation to other vehicles / objects for cooperation. At 1210, the vehicle is autonomously controlled to travel along the path determined at 1208, which may include overriding driver input in some cases.

[0086] At 1212 an optimal occupant orientation for the crash is determined, and at 1214 the seat or cabin of the vehicle is moved to position the occupant in the optimal occupant orientation determined at 1212 .

[0087] At 1216, one or more passive safety features of the vehicle are controlled, which may include timing the release of an airbag set, sequencing the release of an airbag set, or determining the airbag inflation rate of an airbag set, or involving a roll bar / cage, as the case may be.

[0088] 13-14 are block diagrams of exemplary computer architectures that may be used in accordance with the embodiments disclosed herein. Other computer architecture designs for processors and computing systems known in the art may also be used. In general, computer architectures suitable for the embodiments disclosed herein may include, but are not limited to, the configurations shown in FIGS. 13-14.

[0089] FIG. 13 illustrates an example of a processor according to one embodiment. Processor 1300 is an example of a type of hardware device that may be used in connection with the implementations described above. Processor 1300 may be any type of processor, such as a microprocessor, an embedded processor, a digital signal processor (DSP), a network processor, a multi-core processor, or a single-core processor, that executes code. Although only one processor 1300 is shown in FIG. 13, a processing element may alternatively include two or more of the processors 1300 shown in FIG. 13. Processor 1300 may be a single-threaded core, or, for at least one embodiment, processor 1300 may be multi-threaded in that it may include two or more hardware thread contexts (or logical processors) per core.

[0090] 13 also illustrates memory 1302 coupled to the processor 1300 according to some embodiments. The memory 1302 may be any of a wide variety of memories (including various layers of a memory hierarchy) known or otherwise available to those skilled in the art. Such memory elements may include, but are not limited to, random access memory (RAM), read only memory (ROM), logic blocks of a field programmable gate array (FPGA), erasable programmable read only memory (EPROM), and electrically erasable programmable ROM (EEPROM).

[0091] The processor 1300 may execute any type of instruction associated with an algorithm, process, or operation detailed herein. In general, the processor 1300 may transform an element or item (e.g., data) from one state or thing to another state or thing.

[0092] Code 1304, which may be one or more instructions executed by the processor 1300, may be stored in memory 1302 as needed and based on specific needs, and may be stored in software, hardware, firmware, or any suitable combination thereof, or any other internal or external component, device, element, or object. In one example, the processor 1300 may follow a program sequence of instructions indicated by the code 1304. Each instruction enters the front-end logic 1306 and is processed by one or more decoders 1308. The decoder may generate as its output micro-operations, such as fixed-width micro-operations in a predetermined format, and may generate other instructions, micro-instructions, and control signals that reflect the original code instruction. The front-end logic 1306 also includes register renaming logic 1310 and scheduling logic 1312, which generally allocate resources and queue operations corresponding to the instructions for execution.

[0093] The processor 1300 may also include execution logic 1314 having a set of execution units 1316a, 1316b, 1316n, etc. In some embodiments, several execution units may be dedicated to a particular function or set of functions. Other embodiments may include only one execution unit or one execution unit capable of performing a particular function. The execution logic 1314 performs operations specified by code instructions.

[0094] The back-end logic 1318 may retire instructions in the code 1304 after completing execution of the operation specified by the code instruction. In one embodiment, the processor 1300 allows out-of-order execution, but requires in-order retirement of instructions. The retirement logic 1320 may take a variety of known forms (e.g., a reorder buffer, etc.). Thus, the processor 1300 changes during execution of the code 1304 with respect to at least the outputs generated by the decoder, the hardware registers and tables utilized by the register renaming logic 1310, and any registers (not shown) modified by the execution logic 1314.

[0095] Although not shown in FIG. 13, a processing element may include other elements on a chip with processor 1300. For example, a processing element may include memory control logic along with processor 1300. A processing element may include I / O control logic and / or I / O control logic integrated with memory control logic. A processing element may also include one or more caches. In some embodiments, non-volatile memory (such as flash memory or fuses) may also be included on a chip with processor 1300.

[0096] 14 illustrates a computing system 1400 according to one embodiment arranged in a point-to-point (PtP) configuration. Specifically, FIG. 14 illustrates a system in which processors, memory, and input / output devices are interconnected by several point-to-point interfaces. In general, one or more of the computing systems described herein may be configured in the same or similar manner as computing system 1300.

[0097] Processors 1470 and 1480 may also include integrated memory controller logic (MC) 1472 and 1482, respectively, that communicate with memory devices 1432 and 1434. In alternative embodiments, memory controller logic 1472 and 1482 may be separate logic from processors 1470 and 1480. Memory devices 1432 and / or 1434 may store various data used by processors 1470 and 1480 in implementing the operations and functions outlined herein.

[0098] The processors 1470 and 1480 may be any type of processor, such as those described in connection with other figures. The processors 1470 and 1480 may exchange data via a point-to-point (PtP) interface 1450 using point-to-point interface circuits 1478 and 1488, respectively. The processors 1470 and 1480 may exchange data with a chipset 1490 via respective point-to-point interfaces 1452 and 1454 using point-to-point interface circuits 1476, 1486, 1494, and 1498. The chipset 1490 may also exchange data with a coprocessor 1438 (e.g., a coprocessor 1438 such as a high-performance graphics circuit or a machine learning accelerator) via an interface 1439, which may be a PtP interface circuit. In an alternative embodiment, any or all of the PtP links shown in FIG. 14 may be implemented as a multi-drop bus rather than a PtP link.

[0099] Chipset 1490 may communicate with bus 1420 via interface circuit 1496. Bus 1420 may have one or more devices that communicate information over bus 1420, such as bus bridge 1418 and I / O device 1416. Bus bridge 1418 may communicate with other devices over bus 1410, such as user interface 1412 (e.g., input devices such as a keyboard, mouse, touch screen, etc.), communication device 1426 (e.g., a type of communication device such as a modem or network interface device that may communicate over computer network 1460), audio I / O device 1414, and / or data storage device 1428. Data storage device 1428 may store code 1430, which may be executed by processor 1470 and / or 1480. In alternative embodiments, any portion of the bus architecture may be implemented with one or more PtP links.

[0100] The computer system shown in Figure 14 is a schematic diagram of one embodiment of a computing system that may be utilized to implement the various embodiments described herein. It will be appreciated that the various components of the system shown in Figure 14 may be combined in a system-on-chip (SoC) architecture or any other suitable configuration capable of implementing the functionality and features of the examples and implementations provided herein.

[0101] Although some of the systems and solutions described and illustrated herein are described as including or associated with multiple elements, not all elements explicitly shown or described may be utilized in each alternative implementation of the disclosure. Furthermore, one or more of the elements described herein may be located external to the system, and in other examples, a particular element may be included or included as part of one or more of the other described elements and other elements not described in the illustrated implementation. Furthermore, a particular element may be combined with other components and may be used for alternative or additional purposes in addition to those described herein.

[0102] Further, it should be understood that the above-described examples are non-limiting examples provided solely for the purpose of illustrating certain principles and functionality, and do not necessarily limit or constrain possible implementations of the concepts described herein. For example, various different embodiments may be realized utilizing various combinations of the features and components described herein, including combinations realized by various implementations of the components described herein. Other implementations, functionality, and details should be understood from the contents of this specification.

[0103] While the present disclosure has been described with respect to specific implementations and generally associated methods, modifications and permutations of these implementations and methods will be apparent to those skilled in the art. For example, the operations described herein can be performed in an order different from that described and still achieve desirable results. As an example, the processes depicted in the accompanying figures do not necessarily require the particular order depicted in the figures, or sequential order, to achieve desirable results. Certain implementations may benefit from multitasking and parallel processing. Additionally, other user interface layouts and functions may be supported. Other variations are within the scope of the following claims.

[0104] While this specification contains many specific implementation details, these should not be construed as limitations on the scope of any invention or what may be claimed, but rather as describing features specific to particular embodiments of a particular invention. Certain features described herein in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination. Furthermore, although these features may be described above as working in a particular combination and initially claimed as such, one or more features from the claimed combination can, in some cases, be deleted from the combination, and the claimed combination may be directed to a subcombination or a variation of the subcombination.

[0105] Similarly, although the figures show operations in a particular order, it should not be understood that such operations need to be performed in the particular order or sequential order shown in the figures, or that all of the operations shown in the figures need to be performed, to achieve desired results. In certain situations, multitasking and parallel processing may be advantageous. Furthermore, the separation of various system components in the embodiments described above should not be understood as requiring such separation in all embodiments, and it should be understood that the program components and systems described may generally be integrated together in a single software product or packaged into multiple software products.

[0106] Generally, the terms "server," "client," "computing device," "network element," "host," "block," "platform," "sensor device," "edge device," "autonomous driving system," "autonomous vehicle," "fog-based system," "cloud-based system," "system," and the like, described herein may generally include electronic computing devices operable to receive, transmit, process, store, or manage data and information associated with an autonomous driving environment. As used herein, the terms "computer," "processor," "processor device," or "processing device" are intended to encompass any suitable processing device, including central processing units (CPUs), graphic processing units (GPUs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), digital signal processors (DSPs), and matrix computation processors such as tensor processors, among other examples. For example, an element depicted in an environment as a single device may be implemented using multiple computing devices and processors, such as a server pool including multiple server computers. Further, any, all, or some of the computing devices may be adapted to run any operating system, including Linux, UNIX, Microsoft Windows, Apple OS, Apple iOS, Google Android, Windows Server, etc., and the virtual machine is adapted to virtualize the execution of a particular operating system, including customized proprietary operating systems.

[0107] Any of the flows, methods, processes (or portions thereof), or functions relating to any of the various components described above or illustrated in the figures may be performed by any suitable computing logic, such as suitable computing logic, such as one or more modules, engines, blocks, units, models, or systems. References herein to a "module," "engine," "block," "unit," "model," "system," or "logic" may refer to hardware, firmware, software, and / or combinations thereof that perform one or more functions. As an example, a module, engine, block, unit, model, system, or logic may include one or more hardware components, such as a microcontroller or processor, in association with a non-transitory medium that stores code adapted to be executed by the microcontroller or processor. Thus, references to a module, engine, block, unit, model, system, or logic may, in one embodiment, refer to hardware, such hardware being specifically configured to recognize and / or execute code held on the non-transitory medium. Additionally, in another embodiment, the use of a module, engine, block, unit, model, system, or logic may refer to a non-transitory medium containing code, such code being specifically adapted to be executed by a microcontroller or processor to perform a given operation. As can be inferred, in yet another embodiment, a module, engine, block, unit, model, system, or logic may refer to a combination of hardware and non-transitory medium.In various embodiments, a module, engine, block, unit, model, system, or logic may include suitable hardware and / or software, such as a processing element, such as a microprocessor, that operatively executes software instructions, discrete logic, such as an application specific integrated circuit (ASIC), a programmed logic device, such as a field programmable gate array (FPGA), a memory device containing instructions, or a combination of logic devices (e.g., as found on a printed circuit board). A module, engine, block, unit, model, system, or logic may include circuit elements, such as, for example, one or more gates, which may be implemented with transistors. In some embodiments, a module, engine, block, unit, model, system, or logic may be embodied completely as software. Software may be embodied as a software package, code, instructions, instruction sets, and / or data recorded on a non-transitory computer-readable storage medium. Firmware may be embodied as hard-coded (e.g., non-volatile) code, instructions or instruction sets, and / or data in a memory device. Additionally, logic boundaries shown as separate will typically vary and may overlap in some cases. For example, a first module and a second module (or multiple engines, blocks, units, models, systems, or logic) may share hardware, software, firmware, or a combination thereof, or in some cases may retain some independent hardware, software, or firmware.

[0108] The flows, methods, and processes described above and illustrated in the accompanying drawings are merely representative of functions that may be performed in certain embodiments. In other embodiments, additional functions may be performed in such flows, methods, and processes. Various embodiments of the present disclosure contemplate any suitable signaling mechanism for achieving the functions described herein. Some of the functions illustrated herein may be repeated, combined, modified, or removed from the flows, methods, and processes as appropriate. Furthermore, functions may be performed in any suitable order in the flows, methods, and processes without departing from the scope of a particular embodiment.

[0109] The following examples relate to embodiments according to the present specification. It will be understood that in some cases, in one or more aspects, some of the examples described below may be combined with other examples.

[0110] Example 1 includes at least one machine-accessible storage medium having instructions stored thereon that, when executed by a machine, cause the machine to access sensor data generated by one or more connected sensors connected to a vehicle, determine, at the vehicle, that a collision between the vehicle and another object is imminent, determine, at the vehicle, an optimal vehicle orientation for the collision based on the determination that the collision is imminent, determine, at the vehicle, a vehicle path to position the vehicle at the optimal vehicle orientation, and autonomously control the vehicle to travel along the determined vehicle path.

[0111] Example 2 includes the subject matter of example 1, and optionally, the instructions are further executable to cause the machine to determine an optimal occupant orientation for the crash and autonomously move one or more seats of the vehicle to position an occupant in the optimal occupant orientation prior to the crash.

[0112] Example 3 includes the subject matter of examples 1 or 2, and optionally, the instructions are further executable to cause the machine to control activation of one or more passive safety mechanisms at or near the crash.

[0113] Example 4 includes the subject matter of example 3, and optionally, controlling activation of the one or more passive safety mechanisms includes one or more of timing the release of an airbag set, sequencing the release of the airbag set, and determining an airbag inflation rate of the airbag set.

[0114] Example 5 includes the subject matter of any of the preceding examples, and optionally, the instructions are further executable to cause the machine to determine the optimal vehicle orientation using a neural network trained based on one or more of static safety information of the vehicle, crash test information of the vehicle, and actual accident information of the vehicle.

[0115] Example 6 includes the subject matter of any of the preceding examples, and optionally, the instructions are further executable to cause the machine to heuristically determine the optimal vehicle orientation.

[0116] Example 7 includes the subject matter of any of the preceding examples, and optionally, the instructions are further executable to cause the machine to determine the optimal vehicle orientation based on a likelihood of injury to an occupant of the vehicle.

[0117] Example 8 includes the subject matter of example 7, and optionally, the impending collision is between the vehicle and another vehicle, and the instructions are further executable to cause the machine to determine the optimal vehicle crash orientation further based on a likelihood of injury to an occupant of the other vehicle.

[0118] Example 9 includes the subject matter of any of the preceding examples, and optionally, the instructions are further executable to cause the machine to determine the optimal vehicle orientation based on one or both of information received from other vehicles in the vicinity of the vehicle and information received from infrastructure objects in the vicinity of the vehicle.

[0119] Example 10 includes the subject matter of any of the preceding examples, and optionally, the instructions are further executable to cause the machine to determine the optimal vehicle orientation based on information regarding at least one occupant within the vehicle.

[0120] Example 11 includes the subject matter of example 10, and optionally, the instructions are further executable to cause the machine to determine the optimal vehicle orientation based on one or more of a position of the occupant within the vehicle, an age of the occupant, and a size of the occupant.

[0121] Example 12 includes the subject matter of any of the preceding examples, and optionally, the instructions are further executable to cause the machine to autonomously control the vehicle by overriding input from a driver of the vehicle.

[0122] Example 13 includes the subject matter of any of the preceding examples, and optionally, the instructions are further executable to cause the machine to transmit information regarding the determined vehicle path or the optimal vehicle heading to another vehicle or infrastructure object.

[0123] Example 14 includes the subject matter of examples 9 and / or 13, and optionally, the instructions are further executable to cause the machine to determine the vehicle path in coordination with the other vehicles or infrastructure.

[0124] Example 15 is a method comprising the steps of processing sensor data generated by one or more sensors connected to a vehicle; determining, using at least one data processor of the vehicle, based on the sensor data, that a collision between the vehicle and another object is imminent; determining, using at least one data processor of the vehicle, an optimal vehicle orientation for the collision based on the determination that the collision is imminent; determining, using at least one data processor of the vehicle, a vehicle path for positioning the vehicle at the optimal vehicle orientation; and autonomously controlling the vehicle to travel along the determined vehicle path.

[0125] Example 16 includes the subject matter of example 15, optionally further comprising: determining, using at least one data processor of the vehicle, an optimal occupant orientation for the crash; and autonomously moving a seat of the vehicle to position an occupant in the optimal occupant orientation prior to the crash.

[0126] Example 17 includes the subject matter of example 15, optionally further comprising controlling, by at least one data processor of the vehicle, one or more passive safety mechanisms at or near the time of the collision.

[0127] Example 18 includes the subject matter of example 17, and optionally, controlling the one or more passive safety mechanisms includes one or more of timing the release of an airbag set, sequencing the release of the airbag set, and determining an airbag inflation rate of the airbag set.

[0128] Example 19 includes the subject matter of any of the method examples described above, and optionally, the optimal vehicle orientation is determined using a neural network trained based on one or more of static safety information of the vehicle, crash test information of the vehicle, and actual accident information of the vehicle.

[0129] Example 20 includes the subject matter of any of the method embodiments described above, optionally wherein the optimal vehicle orientation is determined heuristically.

[0130] Example 21 includes the subject matter of any of the method embodiments described above, optionally wherein determining the optimal vehicle orientation is based on a determined likelihood of injury to an occupant of the vehicle.

[0131] Example 22 includes the subject matter of example 21, and optionally, the impending collision is between the vehicle and another vehicle, and determining the optimal vehicle collision orientation is further based on a determined likelihood of injury to an occupant of the other vehicle.

[0132] Example 23 includes the subject matter of any of the method embodiments described above, and optionally, determining the optimal vehicle orientation is based on one or both of information received from other vehicles in the vicinity of the vehicle and information received from infrastructure objects in the vicinity of the vehicle.

[0133] Example 24 includes the subject matter of any of the method embodiments described above, and optionally, determining the optimal vehicle orientation is based on information about at least one occupant within the vehicle.

[0134] Example 25 includes the subject matter of example 24, and optionally, the information about the at least one occupant includes one or more of the occupant's position within the vehicle, the occupant's age, and the occupant's size.

[0135] Example 26 includes the subject matter of any of the method embodiments described above, and optionally, autonomously controlling the vehicle includes overriding input from a driver of the vehicle.

[0136] Example 27 includes the subject matter of any of the method embodiments described above, optionally further comprising transmitting information regarding the positioning of the vehicle at the optimal vehicle orientation to another vehicle or infrastructure object.

[0137] Example 28 includes the subject matter of examples 23 and / or 27, optionally wherein the vehicle path is determined in coordination with the other vehicles or infrastructure.

[0138] Example 29 includes a system comprising one or more processors, a memory, a set of sensors, and an automated driving system, wherein the one or more processors are executable to: detect a collision threat based on an environment model for a vehicle generated based at least in part on data from the set of sensors; determine that a collision between a vehicle and the collision threat is unavoidable based on the environment model and current vehicle dynamics; determine a collision mitigation plan for the vehicle based on the determination that the collision is imminent, the collision mitigation plan indicating a particular collision orientation and a particular vehicle trajectory of the vehicle; and autonomously control the vehicle to implement the collision mitigation plan.

[0139] Example 30 includes the subject matter of Example 29, and optionally, the collision mitigation plan further indicates an optimal occupant orientation for the collision, and the autonomous driving system is further executable to cause the one or more processors to autonomously move one or more seats of the vehicle to position an occupant in the optimal occupant orientation prior to the collision.

[0140] Example 31 includes the subject matter of Examples 29 or 30, and optionally, the collision mitigation plan further indicates an activation plan for one or more passive safety mechanisms of the vehicle, and the autonomous driving system is further executable to cause the one or more processors to autonomously control activation of the one or more passive safety mechanisms in accordance with the activation plan.

[0141] Example 32 includes the subject matter of any of the system examples described above, and optionally further includes a machine learning model trained based on one or more of static safety information of the vehicle, crash test information of the vehicle, and actual accident information of the vehicle, and the autonomous driving system uses the machine learning model to determine the optimal vehicle orientation.

[0142] Example 33 includes the subject matter of any of the system examples described above, and optionally, the autonomous driving system determines the collision mitigation plan based on one or more of: a position of an occupant in the vehicle, an age of an occupant in the vehicle, a size of an occupant in the vehicle, a possibility of injury to an occupant of the vehicle, a possibility of injury to an occupant of another vehicle in the vicinity of the vehicle, a possibility of injury to a pedestrian in the vicinity of the vehicle, and a possibility of damage to one or more objects in the vicinity of the vehicle.

[0143] Example 34 includes an automated vehicle system including means for determining that a collision between the automated vehicle and another object is imminent based on data obtained from a sensor attached to the automated vehicle, means for determining an optimal vehicle orientation for the collision based on the determination that the collision is imminent, means for determining a vehicle path to position the vehicle at the optimal vehicle orientation, and means for autonomously controlling the automated vehicle to travel along the determined vehicle path.

[0144] Example 35 includes the subject matter of example 34, optionally further comprising: means for determining an optimal occupant orientation for the crash; and means for moving a seat of the vehicle to position an occupant in the optimal occupant orientation prior to the crash.

[0145] Example 36 includes the subject matter of any of the autonomous vehicle system embodiments described above, optionally further comprising means for controlling one or more passive safety mechanisms of the vehicle at or near the crash.

[0146] Example 37 includes the subject matter of any of the autonomous vehicle system examples described above, and optionally, the means for determining the optimal vehicle orientation includes a neural network trained based on one or more of static safety information of the vehicle, crash test information of the vehicle, and actual accident information of the vehicle.

[0147] Example 38 includes an autonomous vehicle device that includes means, such as logic, modules, or circuits, for performing one or more elements of a method described or related to any of the above examples, or any other method or process described herein.

[0148] Thus, several embodiments of the present subject matter have been described. Other embodiments are within the scope of the following claims. In some cases, the actions recited in the claims can be performed in a different order and still achieve desirable results. Additionally, the processes depicted in the accompanying figures do not necessarily require the particular order depicted in the figures, or sequential order, to achieve desirable results. [Other possible items] (Item 1) At least one machine-accessible storage medium having instructions stored thereon that, when executed by a machine, cause the machine to: accessing sensor data generated by one or more sensors connected to the vehicle; determining, at the vehicle, that a collision between the vehicle and another object is imminent; determining, at the vehicle, an optimal vehicle orientation for the collision based on the determination that the collision is imminent; determining, in the vehicle, a vehicle path for positioning the vehicle in the optimal vehicle orientation; A storage medium that autonomously controls the vehicle to travel along the determined vehicle path. (Item 2) The instructions further include: determining an optimal occupant orientation for said crash; Autonomously moving one or more seats of the vehicle to position an occupant in the optimal occupant orientation prior to the crash. 2. The storage medium according to item 1, (Item 3) 2. The storage medium of claim 1, wherein the instructions are further executable to cause the machine to control activation of one or more passive safety mechanisms at or near the crash. (Item 4) 4. The storage medium of claim 3, wherein controlling the activation of the one or more passive safety mechanisms includes one or more of timing the release of an airbag set, sequencing the release of the airbag set, and determining an airbag inflation rate of the airbag set. (Item 5) 5. The storage medium of any one of items 1 to 4, wherein the instructions are further executable to cause the machine to determine the optimal vehicle orientation using a neural network trained based on one or more of static safety information of the vehicle, crash test information of the vehicle, and actual accident information of the vehicle. (Item 6) 5. The storage medium of any one of claims 1 to 4, wherein the instructions are further executable to cause the machine to heuristically determine the optimal vehicle orientation. (Item 7) 5. The storage medium of any one of claims 1 to 4, wherein the instructions are further executable to cause the machine to determine the optimal vehicle orientation based on a likelihood of injury to an occupant of the vehicle. (Item 8) 8. The storage medium of claim 7, wherein the impending collision is between the vehicle and another vehicle, and the instructions are further executable to cause the machine to determine the optimal vehicle crash orientation further based on a likelihood of injury to an occupant of the other vehicle. (Item 9) 5. The storage medium of any one of items 1 to 4, wherein the instructions are further executable to cause the machine to determine the optimal vehicle orientation based on one or both of information received from other vehicles in the vicinity of the vehicle and information received from infrastructure objects in the vicinity of the vehicle. (Item 10) 10. The storage medium of claim 9, wherein the instructions are further executable to cause the machine to determine the vehicle route in coordination with the other vehicles or infrastructure. (Item 11) 5. The storage medium of any one of claims 1 to 4, wherein the instructions are further executable to cause the machine to determine the optimal vehicle orientation based on information regarding one or more occupants within the vehicle. (Item 12) Item 12. The storage medium of item 11, wherein the instructions are further executable to cause the machine to determine the optical vehicle orientation based on one or more of a position of the one or more occupants within the vehicle, an age of the one or more occupants, and a size of the one or more occupants. (Item 13) 5. The storage medium of any one of claims 1 to 4, wherein the instructions are further executable to cause the machine to override input from an operator of the vehicle. (Item 14) processing sensor data generated by one or more sensors connected to the vehicle; determining, using at least one data processor of the vehicle, that a collision between the vehicle and another object is imminent based on the sensor data; determining, based on said determination that said collision is imminent, an optimal vehicle orientation for said collision using at least one data processor of said vehicle; determining, with at least one data processor of said vehicle, a vehicle path for positioning said vehicle at said optimum vehicle orientation; autonomously controlling the vehicle to travel along the determined vehicle path; A method for providing the above. (Item 15) 15. The method of claim 14, further comprising determining the optimal vehicle orientation based on one or more of: a position of an occupant within the vehicle; an age of an occupant within the vehicle; a size of an occupant within the vehicle; a possibility of injury to an occupant of the vehicle; a possibility of injury to an occupant of another vehicle in the vicinity of the vehicle; a possibility of injury to a pedestrian in the vicinity of the vehicle; and a possibility of damage to one or more objects in the vicinity of the vehicle. (Item 16) one or more processors; Memory, A sensor set; 1. An automated driving system, comprising: detecting a collision threat based on an environment model for the vehicle that is generated based at least in part on data from the set of sensors; determining that a collision between the vehicle and the collision threat is unavoidable based on the environmental model and current vehicle dynamics; determining a collision mitigation plan for the vehicle based on the determination that the collision is imminent, the collision mitigation plan indicating a particular crash orientation and a particular vehicle trajectory for the vehicle; autonomously controlling the vehicle to implement the collision mitigation plan; An automated driving system that is capable of A system comprising: (Item 17) 17. The system of claim 16, wherein the collision mitigation plan further indicates an optimal occupant orientation for the collision, and the autonomous driving system is further executable by the one or more processors to autonomously move one or more seats of the vehicle to position an occupant in the optical occupant orientation prior to the collision. (Item 18) 17. The system of claim 16, wherein the collision mitigation plan further indicates an activation plan for one or more passive safety mechanisms of the vehicle, and the autonomous driving system is further executable by the one or more processors to autonomously control activation of the one or more passive safety mechanisms in accordance with the activation plan. (Item 19) 19. The system of any one of items 16 to 18, wherein the system further comprises a machine learning model trained based on one or more of static safety information of the vehicle, crash test information of the vehicle, and actual accident information of the vehicle, and the autonomous driving system determines the optimal vehicle orientation using the machine learning model. (Item 20) 19. The system of any one of items 16 to 18, wherein the autonomous driving system determines the collision mitigation plan based on one or more of: a position of an occupant in the vehicle, an age of an occupant in the vehicle, a size of an occupant in the vehicle, a possibility of injury to an occupant of the vehicle, a possibility of injury to an occupant of another vehicle in the vicinity of the vehicle, a possibility of injury to a pedestrian in the vicinity of the vehicle, and a possibility of damage to one or more objects in the vicinity of the vehicle.

Claims

1. accessing sensor data generated by one or more sensors connected to the vehicle; determining at the vehicle that a collision between the vehicle and another object is imminent; determining, based on the determination that the collision is imminent, an optimal vehicle orientation for the collision and a passive safety activation schedule for the vehicle, the passive safety activation schedule being determined based on the determined optimal vehicle orientation for the collision and indicating activation timings of one or more passive safety mechanisms of the vehicle including both a release timing of a plurality of airbags in an airbag set and a release sequence of the plurality of airbags in the airbag set, wherein at least one passive safety mechanism is activated prior to the collision; determining, at the vehicle, a vehicle path for positioning the vehicle at the optimal vehicle orientation; autonomously controlling the vehicle to travel along the determined vehicle path and controlling activation of passive safety mechanisms of the vehicle in accordance with the passive safety mechanism activation schedule; A method for providing the above.

2. The method further comprises: determining an optimal occupant orientation for said crash; autonomously moving one or more seats of the vehicle to position an occupant in the optimal occupant orientation prior to the crash. The method of claim 1 , comprising:

3. 2. The method of claim 1, wherein determining an activation schedule for the passive safety mechanism comprises determining an airbag inflation rate for the set of airbags.

4. 4. The method of claim 1, wherein the optimal vehicle orientation is determined using a neural network trained based on one or more of static safety information of the vehicle, crash test information of the vehicle, and actual accident information of the vehicle.

5. The method of claim 1 , wherein the optimal vehicle orientation is determined heuristically.

6. The method of claim 1 , wherein the optimal vehicle orientation is determined based on a likelihood of injury to an occupant of the vehicle.

7. 7. The method of claim 6, wherein the impending collision is between the vehicle and another vehicle, the method further comprising determining the optimal vehicle crash orientation further based on a likelihood of injury to an occupant of the other vehicle.

8. 8. The method of claim 1 , wherein the optimal vehicle orientation is determined based on one or both of information received from other vehicles in the vicinity of the vehicle and information received from infrastructure objects in the vicinity of the vehicle.

9. The method of claim 8 , further comprising determining the vehicle path in coordination with the other vehicles or infrastructure.

10. The method of claim 1 , wherein the optimal vehicle orientation is determined based on information about one or more occupants within the vehicle.

11. 11. The method of claim 10, further comprising determining the optimal vehicle orientation based on one or more of a position of the one or more occupants within the vehicle, an age of the one or more occupants, and a size of the one or more occupants.

12. 12. The method of claim 1, further comprising overriding input from a driver of the vehicle.

13. 13. The method of claim 1, wherein determining the activation schedule of the passive safety mechanisms comprises determining a timing for engagement of a rollover protection mechanism of the vehicle, the rollover protection mechanism being engaged prior to the collision.

14. 10. The method of claim 1, further comprising one or more of: disabling one or more components of a fuel system of the vehicle, disabling one or more components of an electrical system of the vehicle, locking or unlocking one or more door locks of the vehicle, and opening or closing a window of the vehicle at or shortly before the crash.

15. A computer program product causing a processor to carry out the method according to any one of claims 1 to 14.

16. one or more processors; Memory, A sensor set; 1. An automated driving system, comprising: detecting a collision threat based on an environment model of the vehicle generated based at least in part on data from the set of sensors; determining that a collision between the vehicle and the collision threat is unavoidable based on the environmental model and current vehicle dynamics; determining a crash mitigation plan for the vehicle based on the determination that the crash is imminent, the crash mitigation plan indicating a specific crash orientation of the vehicle, a specific vehicle trajectory, and an activation plan of passive safety mechanisms of the vehicle, the activation plan being determined based on the determined specific crash orientation of the vehicle and indicating activation timings of the passive safety mechanisms of the vehicle including both a release timing of a plurality of airbags in an airbag set and a release sequence of the plurality of airbags in the airbag set, and activation of at least one passive safety mechanism occurs prior to the crash; autonomously controlling the vehicle to implement the collision mitigation plan; An automated driving system that is capable of A system comprising:

17. 17. The system of claim 16, wherein the crash mitigation plan further indicates an optimal occupant orientation for the crash, and the autonomous driving system is further executable by the one or more processors to autonomously move one or more seats of the vehicle to position an occupant in the optimal occupant orientation prior to the crash.

18. 18. The system of claim 16 or 17, further comprising a machine learning model trained based on one or more of static safety information of the vehicle, crash test information of the vehicle, and actual accident information of the vehicle, and wherein the automated driving system uses the machine learning model to determine optimal vehicle orientation.

19. 19. The system of claim 16, wherein the autonomous driving system determines the collision mitigation plan based on one or more of: a location of occupants in the vehicle, an age of occupants in the vehicle, a size of occupants in the vehicle, a possibility of injury to occupants of the vehicle, a possibility of injury to occupants of other vehicles in the vicinity of the vehicle, a possibility of injury to pedestrians in the vicinity of the vehicle, and a possibility of damage to one or more objects in the vicinity of the vehicle.

20. 20. The system of claim 16, wherein the crash mitigation plan further indicates a plan for active safety mechanisms of the vehicle, the plan for the active safety mechanisms including one or more of disabling one or more components of a fuel system of the vehicle, disabling one or more components of an electrical system of the vehicle, locking or unlocking one or more door locks of the vehicle, and opening or closing a window of the vehicle.

21. 21. The system of claim 16, wherein the activation strategy of the passive safety mechanisms of the vehicle further indicates engagement of a roll bar mechanism of the vehicle prior to the impact.

Citation Information

Patent Citations

  • Damage reduction system vehicle crash

    JP2001058552A

  • Travel assisting device for vehicle

    JP2007022263A

  • Collision controller for vehicle

    JP2008024108A

  • Occupant protection device

    JP2011068290A

  • Individually inflatable two-stage cushion airbags

    JP2017516702A