This document relates to tools (systems, apparatuses, methodologies, computer program products, etc.) for semi-autonomous and autonomous control of vehicles, and more particularly, road surface condition detecting techniques.
Autonomous vehicle navigation is a technology for sensing the position and movement of a vehicle and, based on the sensing, autonomously controlling the vehicle to navigate towards a destination. Autonomous vehicle navigation can have important applications in transportation of people, goods and services. In order to ensure the safety of the vehicle, as well as people and property in the vicinity of the vehicle, autonomous algorithms implemented by these applications, various measurement data is obtained.
Disclosed are devices, systems and methods for detecting road surface conditions. The disclosed technology can be applied to improve the accuracy of detecting road surface conditions, which can allow to control vehicles more efficiently based on the detected road surface conditions.
In one aspect, system installed in a vehicle comprises: an audio sensor configured to receive audio signals associated with an environment surrounding the vehicle; a location sensor configured to detect a location of the vehicle; a digital signal processor communicatively coupled to the audio sensor and configured to estimate an estimated road surface condition based on the audio signals received from the audio sensor; a data storage communicatively coupled to the digital signal processor and the location sensor and configured to store the estimated road surface condition with corresponding location information; and a control element communicatively coupled to the data storage and configured to control a driving of the vehicle based on the estimated road surface condition.
In another aspect, a method of detecting a road surface condition is provided. The method comprises: determining an estimated road surface condition based on audio signals collected from an audio sensor mounted on a vehicle; configuring data sets including the estimated road surface condition associated with a corresponding location information; and controlling a driving of the vehicle based on the data sets.
In another aspect, a system of detecting a road surface condition is provided. The system comprises: a processor; and a memory that comprises instructions stored thereon, wherein the instructions, when executed by the processor, configure the processor to: collect audio signals associated with an environment surrounding the vehicle; determine, based on the audio signals, an estimated road surface condition corresponding to a location of the vehicle; and configure data sets including the estimated road surface condition associated with corresponding location information.
In another aspect, the above-described method is embodied in a non-transitory computer readable storage medium. The non-transitory computer readable storage medium includes code that when executed by a processor, causes the processor to perform the methods described in this patent document.
In yet another exemplary embodiment, a device that is configured or operable to perform the above-described methods is disclosed.
The above and other aspects and features of the disclosed technology are described in greater detail in the drawings, the description and the claims.
Various implementations of the disclosed technology provide systems and methods for detecting road surface conditions. The transportation industry has been undergoing considerable changes in the way technology is used to improve a driving safety. The road surface conditions can play a decisive role in the impact of the driving safety. Especially, in the severe weather conditions such as rain, snow and fog, the detectability of road surface conditions can have a significant impact on several aspects of an unmanned aerial vehicle (UAV) system, including vehicle control, NPC (non-player character)'s route prediction, and safe braking distance. In addition, with the developments and popularity of an autonomous or semi-autonomous driving, knowledge of the road surface condition can also assist in optimizing trajectories or vehicle operation parameters to ensure the driving safety. For example, autonomous and semi-autonomous vehicles need to be aware of road surface conditions to automatically adapt vehicle speed or keep a safe distance to the vehicle in front.
The currently available system for detecting the road surface conditions include cameras, Radio Detection And Ranging (RADAR) sensors, Light Detection And Ranging (LIDAR) sensors to provide some information about the road surface condition. The cameras, the RADAR sensors, and the LIDAR sensors, however, have limited capabilities to obtain the information related to the road surface conditions. Thus, the accuracy of detecting the road surface condition based on the outputs provided from the cameras, the RADAR sensors, and the LIDAR sensors decrease significantly in poor lightning conditions (e.g., night, fog, smoke). The currently available detection systems based on those imaging and perception sensors (e.g., cameras, RADAR sensors, LIDAR sensors) do not provide a consistent level of detectability for the road surface conditions.
In recognition of the issues above in the currently available detection system for the road surface conditions and also importance of the knowledge of the road surface conditions for the autonomous or semi-autonomous driving, various implementations of the disclosed technology provide systems and methods for detecting road surface conditions that can improve the accuracy of detecting road surface conditions. Various implementations of the disclosed technology suggest detecting road surface conditions by using audio signals. Using the audio signals to identify hazardous situations, it is possible to improve the accuracy and reliability of detecting the road surface conditions. Moreover, autonomous and semi-autonomous vehicles need to be aware of road conditions to automatically adapt driving of the vehicles. With the increase of autonomous and semi-autonomous vehicles, detecting more accurate road surface conditions become more important for the safe driving of the vehicles.
Referring to
In
Based on some implementations, the one or more sensors may be disposed at different locations of the truck. In some implementations, the one or more sensors may include a first sensor disposed outside the truck or a second sensor disposed inside the truck. In some implementations, the one or more sensors may include a first sensor disposed on a front side of the truck and configured to generate a first signal, a second sensor disposed on a rear side of the truck and configured to generate a second signal; a third sensor disposed on a left side of the truck and configured to generate a third signal; and a fourth sensor disposed on a right side of the truck and configured to generate a fourth signal. The number and locations of the sensors may be predetermined to optimize obtaining of audio signals while minimizing noises. For example, the sensors may be disposed at locations that experience relatively low wind pressure changes. In some implementations, the sensors can be arranged in a particular array to detect the sounds in the direction in which the truck moves while ignoring sounds from other directions. In some implementations, the locations of the sensors may be determined to maximize detectability of the road surface conditions.
In
The digital signal processor (DSP) 120 includes a microphone array logic 122, a frequency analysis logic 124, a noise filtering unit 130, and a road condition classifier 140. The digital signal processors (DSP) 120 receives the multiple channels of digital audio signals and performs one or more pre-processing operations and road surface condition estimations based on the audio signals. In some implementations, algorithms for estimating the road surface conditions are preconfigured and applied to the audio signals to determine the road surface conditions corresponding to the audio signals. The algorithms may be trained using training data to make predictions or provide probabilities for the road surface conditions. For example, training data for supervised learning can include items with various parameters and an assigned classification. In the example, the supervised learning can use a training set including inputs and correct outputs to teach models to yield the desired output. The inputs can include various audio signal (e.g., various sounds of tires of the truck) and correct outputs (e.g., correct road surface conditions corresponding to the sounds of tires of the truck). In some implementations, the algorithms can use a probability distribution resulting from the analysis of training data. In such cases, the algorithm may analyze the audio data and provide one or more possible road surface conditions and a likelihood of each of the possible road surface conditions.
In some implementations, the microphone array logic 122 is configured to receive the multiple channels of the digital audio signals from the multiple microphones 112 and capable for providing a substantial directivity using a plurality of microphones disposed along an array. For example, each channel may represent audio captured from a corresponding microphone. In some implementations, a microphone may comprise one or more directionally sensitive sensors and may provide multi-channel audio where each channel may represent a specific direction from which the audio is captured (e.g., left/right/middle, etc.,). In some implementations, the microphone array logic 122 is further capable of performing synchronization and high overload point. The frequency analysis logic 124 is communicatively coupled to the microphone array logic 122 to receive the output signals from the microphone array logic 122. The frequency analysis logic 124 performs the frequency analysis and provides decomposed signals.
The noise filtering unit 130 is communicatively coupled to the frequency analysis logic 124 and is configured to perform the noise filtering on the decomposed signals received from the frequency analysis logic 124. The decomposed signals may include various noise signals, for example, road noise, engine noise, noise from other vehicles, wind noise, etc. The noise filtering unit 130 applies the noise filtering algorithms designed to eliminate, reduce or minimize such noises to obtain the desired clean signals.
The road condition classifier 140 is communicatively coupled to the noise filtering unit 130 and receives the filtered signals from the noise filtering unit 130. The road condition classifier 140 includes a condition fitting and estimation unit 142 which employs algorithms to determine the road condition based on the filtered signals. In some implementations, the road condition classifier 140 can include a neural network with multiple input nodes that receive an input data point or signal, such as a signal received from a sensor associated with the truck. The input nodes can correspond to functions that receive the input and produce result. These results can be provided to one or more levels of intermediate nodes that each produce further results based on a combination of lower-level node results. A weighting factor can be applied to the output of each node before the result is passed to the next layer node. At a final layer (“the output layer”), one or more nodes can produce a value classifying the input that, once the model is trained, can be used to cause an output in the truck. In some implementations, such neural networks, known as deep neural networks, can have multiple layers of intermediate nodes with different configurations, can be a combination of models that receive different parts of the input and/or input from other parts of the deep neural network, or are convolutions partially using output from previous iterations of applying the model as further input to produce results for the current input.
A machine learning model can be trained with supervised learning, where the training data includes inputs and desired outputs. The inputs can include, for example, the different partial or complete audio signals generated by different elements (e.g., bandpass filters). Example outputs used for training can include an indication of a road surface condition at the time the training inputs were collected and/or a classification of a type of the road surface condition. The desired output can be provided to the model. Output from the model can be compared to the desired output for the corresponding inputs. Based on the comparison, the model can be modified, such as by changing weights between nodes of the neural network or parameters of the functions used at each node in the neural network (e.g., applying a loss function). After applying each of the data points in the training data and modifying the model in this manner, the model can be trained to evaluate new data points (such as new audio signals) to generate the outputs.
Referring to
In some implementations, the history data can be configured in the form of a look-up table including a location and a road surface condition. For example, when the location of the truck is figured out by, for example, using the global positioning system (GPS) system of the truck or others, corresponding road surface information to the location of the truck can be provided to the condition fitting and estimation unit 142. The additional data such as the weather condition and the history data can be additionally considered to estimate the road surface condition to more accurately estimate the road surface condition. The additional data such as weather condition and history data can be used to train the algorithm/model for estimating a road surface condition.
The additional data such as the weather condition and the history data can be provided in various manners. In some implementations, the weather condition and the history data are provided from the weather data source 192 and the cloud storage 194, respectively, through the communication link. In some implementations, at least one of the weather data source 192 and the cloud storage 194 may provide weather conditions and history data in real time. For example, the weather data source 192 and/or the cloud storage 194 is in communication with one or more units that are configured to provide real-time information and operates to provide the weather condition and history data real-time for the condition fitting and estimation unit 142. In some implementations, the cloud storage 194 stores history data. By considering such additional data, for example, the weather condition and the history data, by the condition fitting and estimation unit 142, it is possible to more accurately analysis the audio signals and estimate the road surface conditions. The weather condition and history data are examples of the additional data that can be considered for estimating the road surface condition together with the audio signals obtained from the sensors. The additional data can further include visual data of road surfaces, local time and/or date, or others.
In some implementations, the condition fitting and estimation unit 142 employs the algorithms that obtain various road condition parameters which indicate the road surface conditions. In an example, the road condition parameters include the road friction coefficient and confidence, the road bump distribution and confidence, and other parameters corresponding to specific road surface conditions such as a rumble strip, a step, a speed bump, etc. In some implementations, based on the road condition parameters, the road condition classifier 140 can determine the road surface condition and provide the determined road surface condition to the data distribution and storage 180. In some implementations, the determined road surface condition can be at least one of dry, wet, snow, ice, sand, mud, dirt, oil, gravel, slush, or others. The determined road surface condition can be provided to a driver of the truck in various manners. For example, the determined road surface condition can be displayed on a display provided for the driver. In some implementations, the determined road surface condition can be displayed with visualizations to allow the driver to be easily aware of the determined road surface conditions. In some implementations, the road condition classifier 140 can provide not only the determined road surface condition but also the road condition parameters such as the road friction coefficient and confidence and the road bump distribution and confidence to the data distribution and storage 180.
Referring back to
The data distribution and storage 180 also distributes the stored road surface condition data sets, through various communications, for example, V2X (vehicle to everything), to various units which include a vehicle control unit (VCU) 190, the cloud storage, and/or other various units. The distribution of the road surface condition data sets from the data distribution and storage 180 can proceed in real time. In some implementations, the vehicle control unit 190 can be provided inside the truck or outside the truck. The vehicle control unit 190 can be communicatively coupled to the data distribution and storage 180 through a communication link and configured to receive the road surface condition data sets including the road surface conditions corresponding to the position information.
The vehicle control unit can be configured to include a data processor 312 for processing data received from the data distribution and storage 180. The data processor 312 can be combined with a data storage device 314 as part of a computing system 316 of the in-vehicle control system. The data storage device 314 can be used to store data, processing parameters, and data processing instructions. A processing module interface 320 can be provided to facilitate data communications between the data processor 312. In various examples, a plurality of processing modules can be provided for execution by data processor 312. Software can be integrated into the in-vehicle control system, optionally downloaded to the in-vehicle control system, or deployed separately from the in-vehicle control system.
The vehicle control unit 190 can be configured to receive or transmit data from/to a wide-area network and network resources connected thereto. A web-enabled device interface 330 can be used by the vehicle control unit 190 to facilitate data communication between the vehicle control unit 190 and the network via one or more web-enabled devices. Similarly, a user mobile device interface 340 can be used by the vehicle control unit 190 to facilitate data communication between the vehicle control unit 190 and the network via one or more user mobile devices. The vehicle control unit 190 can obtain real-time access to network resources via network. The network resources can be used to obtain processing modules for execution by data processor 312, data content to train internal neural networks, system parameters, or other data. The vehicle control unit 190 can include a vehicle subsystem interface 350 that supports communications from the vehicle subsystems, such as the data distribution and storage 180 in
By receiving the road surface condition information, the vehicle control unit 190 can help the truck to make the real-time control based on the road surface conditions of the road that the truck is driving. The road surface condition detected at a specific position of the road can be useful for the truck to determine or adjust the driving style (e.g., driving speed) especially when the detected road surface condition can continue for a couple of miles. For example, the truck which is aware of the road surface conditions can automatically adapt a vehicle speed when entering a wet road to keep a safe distance to the vehicle in front. As further discussed in the below, the road surface conditions can be utilized to optimize the control of the truck.
In some implementations, the road surface condition data set can be utilized for other vehicles than the truck which receives the corresponding audio signal and determines the road surface condition based on the audio signal. For example, the road surface condition data set including the road surface condition data stored with corresponding position information can be sent to the cloud storage 194 and stored in the cloud storage 194. The cloud storage 194 can be coupled to other vehicles through the communication link and the stored road surface condition data set can be utilized to assist the driving of the truck or other vehicles. Since the road surface condition data sets are stored by including the corresponding location information, the road surface condition information can be retrieved using a specific location. Thus, another vehicle can request for the road surface condition information corresponding to the specific location through the communication link. Although it has been described that the road surface condition data set is provided to another vehicle when there is a request from another vehicle, other implementations are also possible. In some implementations, the road surface condition data set for a particular location can be provided to one or more vehicles which are driving near the particular location without requests from the vehicles.
In some implementations, the road surface condition information stored in the cloud storage 194 and associated with a particular location information can be updated. For example, the road surface condition information associated with the particular location information can be updated when the cloud storage 194 receives the road surface condition for the particular location information from any vehicle. For example, when the truck sends the road surface condition data set for the particular condition to the cloud storage 194 after determining the road surface condition based on the audio signal, the cloud storage 194 updates the road surface condition information corresponding to the particular location based on the received road surface condition data set. Thus, when the cloud storage 194 receives a request for the road surface condition information for the particular location, the cloud storage 194 can provide the updated road surface condition information.
The VCU 190 of the truck can utilize the detected road surface condition to optimize the control of the truck. For example, when there is a pretty bad road surface condition stored for a specific location, the truck can use such road surface condition data to make a recommendation to avoid the specific location for future driving. Thus, in some implementations, the stored road surface condition data can be used to determine a navigation strategy for the truck, e.g., by suggesting a different route without passing the specific location or using another lane if the bad road surface condition exists on a certain lane only. In another example, the stored road surface condition data can be used to control or adjust the driving style based on the stored road surface condition and makes a recommendation, for example, to reduce the speed for the corresponding location.
In some implementations, for the operation of an autonomous vehicle (AV), the VCU 190 of the truck determines whether the current status of AV needs to alter its course to prevent damage based on the determined road surface condition. The course of action to be taken may include initiating communications with any oversight or human interaction systems present on the autonomous vehicle. The information indicating that a change to the course of the AV is needed may include an indicator indicative of bad road surface condition. The information indicating that a change to the AV's course of action is needed may be used to formulate a new course of action to be taken which includes slowing, stopping, moving into a shoulder, changing route, changing lane while staying on the same general route, or others. The course of action to be taken may then be transmitted from the VCU 150 to other units in the truck (e.g., an autonomous control system).
In some implementations, the determining of the estimated road surface condition includes: performing a frequency analysis on the audio signals collected from the audio sensor; removing noise signals from the audio signals; and applying an algorithm to determine road condition parameters including at least one of a road friction coefficient, a road bump distribution, or a specific road condition related parameter. In some implementations, the method 400 or 500 further includes receiving an additional data that includes at least one of weather condition or history data; and wherein the road condition parameters are determined based on the additional data. In some implementations, the method 400 or 500 further includes providing the data sets to an external storage through a communication link. In some implementations, the method 400 or 500 further comprises: obtaining the corresponding location information using a global navigation satellite system installed on the vehicle. In some implementations, the estimated road surface condition includes information relating to at least one of a presence of an obstruction, a road friction, or a road bump distribution. In some implementations, the method 400 or 500 further includes generating a control signal of the vehicle based on the estimated road surface condition associated with the location of the vehicle. In some implementations, the method 400 or 500 further includes communicating in real time with circuitries capable of providing an additional data that includes at least one of weather condition information or history information. In some implementations, the method 400 or 500 further includes receiving, from an external device, a request for the estimated road surface condition for the corresponding location.
Embodiments of the disclosed technology include a non-transitory computer-readable program storage medium having instructions stored thereon, the instructions, when executed by a processor, causing the processor to perform the method as shown in
Implementations of the subject matter and the functional operations described in this patent document can be implemented in various systems, digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Implementations of the subject matter described in this specification can be implemented as one or more computer program products, e.g., one or more modules of computer program instructions encoded on a tangible and non-transitory computer readable medium for execution by, or to control the operation of, data processing apparatus. The computer readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter effecting a machine-readable propagated signal, or a combination of one or more of them. The term “data processing unit” or “data processing apparatus” encompasses all apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The apparatus can include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.
A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
The processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read only memory or a random access memory or both. The essential elements of a computer are a processor for performing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks. In some implementations, however, a computer may not need such devices. Computer readable media suitable for storing computer program instructions and data include all forms of nonvolatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
While this patent document contains many specifics, these should not be construed as limitations on the scope of any invention or of what may be claimed, but rather as descriptions of features that may be specific to particular embodiments of particular inventions. Certain features that are described in this patent document in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.
Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. Moreover, the separation of various system components in the embodiments described in this patent document should not be understood as requiring such separation in all embodiments.
Only a few implementations and examples are described and other implementations, enhancements and variations can be made based on what is described and illustrated in this patent document.
This document claims priority to and the benefit of U.S. Provisional Application No. 63/365,195, filed on May 23, 2022. The aforementioned application of which is incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
63365195 | May 2022 | US |