ROAD ROAD ROUGHNESS SYSTEM FOR A VEHICLE

The road roughness system addresses vehicle handling issues by processing sensor data to detect and mitigate road anomalies, enhancing safety and comfort through adaptive vehicle adjustments.

DE102025101577B3Active Publication Date: 2026-05-21GM GLOBAL TECHNOLOGY OPERATIONS LLC
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
GM GLOBAL TECHNOLOGY OPERATIONS LLC
Filing Date
2025-01-17
Publication Date
2026-05-21

AI Technical Summary

Technical Problem

Vehicles face challenges in effectively detecting and mitigating road irregularities such as potholes and bumps, with existing systems lacking comprehensive measures to prevent contact and improve handling.

Method used

A road roughness system using sensor data processing to identify road anomalies through a road roughness algorithm, adjusting vehicle parameters like wheel and ride height, and implementing control functions to mitigate these anomalies.

Benefits of technology

Enhances vehicle safety and comfort by proactively adjusting vehicle settings to avoid road irregularities, minimizing impact and improving handling.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Method comprising: Receiving a variety of sensor data at a road roughness algorithm, determining, via the road roughness algorithm, that the wheel data exceeds a wheel threshold and a severity level exceeds the wheel threshold, executing a wheel flag, determining, based on the wheel flag, that the ride height data exceeds a ride height threshold, executing a ride height flag, determining, based on the wheel flag and the ride height flag, that a wheel pushdown time exceeds a time threshold, identifying, via the road roughness algorithm, an IMU change exceeding an IMU threshold, executing, based on the IMU change exceeding the IMU threshold, an IMU flag, adjusting, based on the IMU flag, parameters of the road roughness algorithm, and combining the wheel flag, the ride height flag, and the IMU flags to define a road anomaly.
Need to check novelty before this filing date? Find Prior Art

Description

INTRODUCTION

[0001] The information contained in this section serves to present the general context of the disclosure. Works of the inventors mentioned herein, insofar as they are described in this section, as well as aspects of the description that might not otherwise be considered prior art at the time of filing, are neither expressly nor implicitly admitted as prior art against the present disclosure.

[0002] The present disclosure relates generally to a road roughness system for a vehicle.

[0003] Vehicles often travel on roads with irregularities such as potholes, bumps, uneven surfaces, or other irregularities that can affect the vehicle's handling. While some vehicles may be equipped with features that indicate when the vehicle is out of its lane and may encounter bumps, there is a need for corrective or mitigation measures to avoid road irregularities. Some vehicles can use a visual system, such as cameras, to detect road irregularities and alert the driver. However, there is a need for a system that can detect the irregularities and take mitigation measures to prevent or minimize contact between the vehicle and the road irregularities.

[0004] DE 10 2014 200 031 A1 discloses an adaptive suspension system with road preview that uses sensors to detect road anomalies in front of the vehicle and classifies them by type and severity. In response to the classification, the suspension is controlled to adjust the driving characteristics. US 2016 / 0 185 216 A1 discloses an active powertrain system that automatically switches from two-wheel to all-wheel drive mode. The switchover is triggered when vehicle operating parameters such as wheel slip or lateral acceleration exceed predefined, speed-dependent thresholds. DE 10 2022 107 893 A1 discloses an adaptive vehicle system that reacts to surface deviations on the road, which are known either by sensor or from map data. The system determines a setting for an adaptive ride height system to proactively adjust the vehicle's ground clearance before the deviation is reached.DE 10 2017 101 447 A1 discloses a system for detecting anomalies crossing the roadway, such as railway tracks or cattle grids, using predictive sensors. To improve safety or comfort when crossing, the system can then adjust the vehicle's suspension or steering settings. SUMMARY

[0005] A computer-implemented procedure, when executed by data processing hardware, causes the data processing hardware to perform operations. These operations include: receiving a variety of sensor data from a variety of sensors on a vehicle using a road roughness algorithm, where the sensor data includes wheel data and ride height data; determining, via the road roughness algorithm, that the wheel data exceeds a wheel threshold and that a severity grade associated with the wheel data exceeds the wheel threshold; executing a wheel flag based on the wheel data exceeding the wheel threshold; and determining, based on the wheel flag, that the ride height data exceeds a ride height threshold.The operations also include executing a ride height flag based on the ride height exceeding the ride height threshold; determining, based on the wheel flag and the ride height flag, that the duration of a wheel pushback exceeds a time threshold; and identifying, via the road roughness algorithm, a change in measurement data acquired by an inertial measurement unit (IMU) where the change exceeds an IMU threshold. The operations further include executing an IMU flag based on the IMU threshold-exceeding change, adjusting one or more parameters of the road roughness algorithm based on the IMU flag, and combining the wheel flag, the ride height flag, and the IMU flag via the road roughness algorithm to define a road anomaly.

[0006] In some examples, adjusting one or more parameters may involve identifying the severity level of that parameter. The operations may also include mitigating the road anomaly and executing a control and mitigation function via the road roughness algorithm. In some cases, the wheel flag may contain one or more wheel identifications (IDs), and the road roughness algorithm is configured to identify a vehicle wheel based on these IDs. In other examples, mitigating the road anomaly may involve adjusting the wheel according to its ID. In still other examples, mitigating the road anomaly may involve reducing the vehicle's speed.Optionally, determining that the wheel data exceeds the wheel threshold value can include generating a second derivative of the wheel data and identifying the wheel imprint of the wheel data.

[0007] In other aspects, a road roughness system for a vehicle comprises data processing hardware and storage hardware that communicates with the data processing hardware. The storage hardware stores instructions that, when executed on the data processing hardware, cause it to perform operations. These operations include receiving a variety of sensor data from a variety of sensors on a vehicle, using a road roughness algorithm. The sensor data includes wheel data and ride height data. The road roughness algorithm determines whether the wheel data exceeds a wheel threshold and whether a severity level associated with the wheel data exceeds the wheel threshold. Based on this wheel data exceeding the wheel threshold and the severity level, a wheel flag is executed. Finally, based on the wheel flag, the ride height data is determined to exceed a ride height threshold.The operations also include executing a ride height flag based on the ride height exceeding the ride height threshold, determining, based on the wheel flag and the ride height flag, that the duration of a wheel pushdown of the wheel data exceeds a time threshold, and identifying, via the road roughness algorithm, a change in the initial measurement units (IMU) that exceeds an IMU threshold. The operations further include executing an IMU flag based on the IMU threshold-exceeding change, adjusting one or more parameters of the road roughness algorithm based on the IMU flag, and combining the wheel flag, the ride height flag, and the IMU flag via the road roughness algorithm to define a road anomaly.

[0008] In some examples, adjusting one or more parameters may involve identifying a severity level of that parameter. The operations may also include mitigating the road anomaly and performing a control and mitigation function via the road roughness algorithm. Optionally, the wheel data may also include data on wheel pressure. In some cases, the wheel flag may contain one or more wheel identifications (IDs), and the road roughness algorithm may be configured to identify a wheel of the vehicle based on the wheel ID. In other examples, mitigating the road anomaly may involve adjusting the wheel according to the wheel ID. In still other cases, mitigating the road anomaly may involve reducing the vehicle's speed.Optionally, determining that the wheel data exceeds the wheel threshold can include generating a second derivative of the wheel data and identifying the wheel data imbalance. In some examples, the IMU may include at least two principal components, and identifying the change in the IMU may include identifying a change in at least two principal components that exceeds the IMU threshold.

[0009] In other aspects, a road roughness system for a vehicle comprises data processing hardware and storage hardware that communicates with the data processing hardware. The storage hardware holds instructions that, when executed on the data processing hardware, cause the data processing hardware to perform operations.The operations are: Receiving a variety of sensor data from a variety of sensors of a vehicle using a road roughness algorithm, wherein the sensor data includes wheel data and ride height data; determining, via the road roughness algorithm, that the wheel data exceeds a wheel threshold and that a severity grade associated with the wheel data exceeds the wheel threshold, wherein the wheel data includes wheel identifications (IDs) that are associated with a respective wheel of the vehicle; executing a wheel flag based on the fact that the wheel data exceeds the wheel threshold; and determining, in response to the wheel flag, that the ride height data exceeds a ride height threshold.The operations also include executing a ride height flag based on the ride height data exceeding the ride height threshold, determining, in response to the wheel flag and the ride height flag, that a time duration for a wheel push of the wheel data exceeds a time threshold, and identifying, via the road roughness algorithm, a change in the initial units of measurement (IMU) that exceeds an IMU threshold. The operations further include executing an IMU flag in response to the change in IMU exceeding the IMU threshold, adjusting one or more parameters of the road roughness algorithm based on the IMU flag, combining the wheel flag, the ride height flag and the IMU flag via the road roughness algorithm to define a road anomaly, and mitigating the road anomaly and executing a control and mitigation function via the road roughness algorithm.

[0010] In some examples, mitigating the road anomaly may involve at least one of adjusting the wheel to match the respective wheel ID and reducing the vehicle speed. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] The drawings described here serve only to illustrate selected configurations and are not intended to limit the scope of protection of this disclosure. Fig. Figure 1 is a schematic representation of a vehicle equipped with a road roughness system according to the present disclosure; Fig. Figure 2 is an exemplary block diagram of a road roughness system according to the present disclosure; Fig. Figure 3 is a schematic representation of a vehicle equipped with the road roughness system according to the present disclosure, wherein the vehicle travels along a roadway with a road anomaly; Fig. Figures 4-9 are exemplary flowcharts of a road roughness system according to the present disclosure; and Fig. 10 is an exemplary method for a road roughness system according to the present disclosure.

[0012] The corresponding reference symbols consistently indicate the relevant parts in the drawings. DETAILED DESCRIPTION

[0013] Example configurations are now described in more detail with reference to the accompanying drawings. Example configurations are provided to ensure that this disclosure is comprehensive and fully conveys the scope of protection of the disclosure to those with average technical knowledge. Specific details are listed, such as examples of specific components, devices, and processes, to provide a thorough understanding of the configurations of this disclosure. It is obvious to those with average technical knowledge that specific details need not be used, that example configurations can be implemented in many different forms, and that the specific details and example configurations should not be interpreted as limiting the scope of protection of the disclosure.

[0014] The terminology used here serves only to describe certain exemplary configurations and is not to be understood as restrictive. The articles "a," "an," and "the" used here also include the plural forms unless the context clearly indicates otherwise. The terms "comprises," "comprehensive," "containing," and "exhibiting" are inclusive and therefore specify the presence of features, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, steps, operations, elements, components, and / or groups thereof. The procedural steps, processes, and operations described herein are not to be interpreted as necessarily being carried out in the particular order discussed or illustrated, unless they are expressly identified as such.Additional or alternative steps can be applied.

[0015] When an element or layer is described as being "on" or "interacting with" another element or layer, or as being "connected" or "coupled" or "attached" to the same, it may be directly on or interacting with, connected with, coupled to, or attached to the other element or layer, or there may be intervening elements or layers. However, when an element is described as being "directly on" or "directly interacting with" another element or layer, or as being "directly connected" or "directly coupled" or "attached" to the same, there must be no intervening elements or layers. Other words used to describe the relationship between elements should be interpreted similarly (e.g.,“Between” as opposed to “directly between”, “neighboring” or “adjacent” as opposed to “directly adjacent” or “directly bordering”, etc.). As used herein, the term “and / or” includes all combinations of one or more of the related listed items.

[0016] The terms "first," "second," "third," etc., may be used here to describe different elements, components, regions, layers, and / or subsections. These elements, components, regions, layers, and / or subsections should not be restricted by these terms. These terms may only be used to distinguish one element, component, region, layer, or subsection from another. Terms such as "first," "second," and other numerical terms do not imply any sequence or order unless the context clearly indicates otherwise.Thus, one could refer to a first element, a first component, a first region, a first layer or a first subsection discussed below as a second element, second component, second region, second layer or second subsection, without deviating from the lessons of the configuration examples.

[0017] In this application, including the definitions below, the term "module" may be replaced by the term "circuit". The term "module" may refer to, be part of, or include: an application-specific integrated circuit (ASIC); a digital, analog, or mixed analog / digital discrete circuit; a digital, analog, or mixed analog / digital integrated circuit; a combinational logic circuit; a field-programmable gate array (FPGA); a (shared, dedicated, or grouped) processor that executes code; a (shared, dedicated, or grouped) memory that stores code executed by a processor; other suitable hardware components that provide the described functionality;or a combination of some or all of the aforementioned components, such as in a system-on-a-chip.;

[0018] The term "code," as used above, may include software, firmware, and / or microcode, and may refer to programs, routines, functions, classes, and / or objects. The term "shared processor" includes a single processor that executes all or part of the code from multiple modules. The term "group processor" includes a processor that, in combination with additional processors, executes all or part of the code from one or more modules. The term "shared memory" includes a single memory that stores all or part of the code from multiple modules. The term "group memory" includes memory that, in combination with additional memory, stores all or part of the code from one or more modules. The term "memory" may be a subset of the term "computer-readable medium."The term "computer-readable medium" encompasses non-transient electrical and electromagnetic signals that propagate through a medium and can therefore be considered tangible and non-transient storage. Non-restrictive examples of non-transient storage include tangible computer-readable media, including non-volatile memory, magnetic storage, and optical storage.

[0019] The devices and procedures described in this application may be implemented in whole or in part by one or more computer programs executed by one or more processors. The computer programs include processor-executable instructions stored on at least one non-transitory, tangible, machine-readable medium. The computer programs may also include and / or be based on stored data.

[0020] A software application (i.e., a software resource) can refer to computer software that causes a computing device to perform a task. In some examples, a software application may be called an "application," "app," or "program." Examples of software applications include, but are not limited to, system diagnostic applications, system management applications, system maintenance applications, word processing applications, spreadsheet applications, messaging applications, media streaming applications, social networking applications, and gaming applications.

[0021] Non-transitory memory can be physical devices used for the temporary or permanent storage of programs (e.g., instruction sequences) or data (e.g., program status information) for use by a computing device. Non-transitory memory can be volatile and / or non-volatile addressable semiconductor memory. Examples of non-volatile memory include flash memory and read-only memory (ROM) / programmable read-only memory (PROM) / erasable programmable read-only memory (EPROM) / electronically erasable programmable read-only memory (EEPROM) (e.g., typically used for firmware, such as boot programs). Examples of volatile memory include random-access memory (RAM), dynamic random-access memory (DRAM), static random-access memory (SRAM), phase-change memory (PCM), and disks or tapes.

[0022] These computer programs (also referred to as programs, software, software applications, or code) contain machine instructions for a programmable processor and may be implemented in a procedural and / or object-oriented high-level language and / or in assembly / machine language. The terms "machine-readable medium" and "computer-readable medium" as used herein refer to any computer program product, non-transitory computer-readable medium, device, and / or apparatus (e.g., magnetic disks, optical disks, memory, programmable logic devices (PLDs)) that serves to provide machine instructions and / or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term "machine-readable signal" refers to any signal that serves to provide machine instructions and / or data to a programmable processor.

[0023] Various implementations of the systems and techniques described here can be realized in digital electronic and / or optical circuits, integrated circuits, specially designed ASICs (application-specific integrated circuits), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and / or interpretable on a programmable system that includes at least one programmable processor, which can be used as a special-purpose or general-purpose processor and is coupled such that it receives data and instructions from and transmits data and instructions to a storage system, as well as at least one input device and at least one output device.

[0024] The processes and logic flows described in this description can be performed by one or more programmable processors, also known as data processing hardware, which execute one or more computer programs to perform functions by working towards input data and generating outputs. The processes and logic flows can also be performed by specialized logic circuits, such as an FPGA (Field Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit). Processors suitable for executing a computer program include, for example, both general-purpose and specialized microprocessors, as well as one or more processors from digital computers of any type. Generally, a processor receives instructions and data from read-only memory, random-access memory, or both.The essential elements of a computer are a processor for executing instructions and one or more storage devices for storing instructions and data. Generally, a computer also includes one or more mass storage devices for storing data, such as magnetic, magneto-optical, or optical disks, or is functionally coupled to them to receive data from or transmit data to them, or both. However, a computer does not necessarily have to have such devices. Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and storage devices, including, for example, semiconductor memory devices such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.The processor and memory can be supplemented or integrated with special logic circuits.

[0025] To enable interaction with a user, one or more aspects of the revelation can be implemented on a computer that has a display device, such as a CRT (cathode ray tube), LCD (liquid crystal display) monitor, or touchscreen, to show information to the user, and optionally a keyboard and pointing device, such as a mouse or trackball, with which the user can input information into the computer. Other types of devices can also be used to enable interaction with the user; for example, the user can receive any form of sensory feedback, such as visual, auditory, or tactile feedback, and user input can be received in any form, including auditory, verbal, or tactile input.Furthermore, a computer can interact with a user by sending and receiving documents to and from a device used by the user, for example, by sending web pages to a web browser on a user's client device in response to requests received from the web browser.

[0026] With reference to Fig. 1-3 comprises a road roughness system 10 and a control unit 12 configured as part of a vehicle 100. The control unit 12 is configured with a road roughness algorithm 14 that responds to sensor data 110 received from a variety of sensors 112 of the vehicle 100. The sensors 112 may, for example, include a wheel sensor 114 configured to transmit wheel data 116 to the road roughness algorithm 14. The wheel data 116 may contain wheel imprints 118 and one or more wheel identifications (IDs) 120. For example, the vehicle 100 comprises a variety of wheels 102 that may be assigned to wheel IDs 120, so that the wheel data 116 can identify data about wheel imprints or wheel imprints 118 at one or more of the wheels 102 assigned to a particular wheel ID 120.The sensors 112 may also include, but are not limited to, a ride height sensor 130 configured to detect ride height values ​​132 and a torsion bar sensor 140 configured to detect torsion bar values ​​142. The sensor data 110 are transmitted to the control unit 12 for use with the road roughness algorithm 14 described herein.

[0027] The control unit 12 also includes data processing hardware 16 and storage hardware 18, which communicates with the data processing hardware 16. The storage hardware 18 stores instructions which, when executed on the data processing hardware 16, cause the data processing hardware 16 to perform operations associated with the road roughness algorithm 14 described herein. The road roughness algorithm 14 is configured to execute a flag protocol 20, in which various flags 20a-20f are executed. Flags 20a-20f include, among others, a wheel flag 20a, a ride height flag 20b, an initial measurement unit (IMU) flag 20c, a runout flag 20d, a torsion bar flag 20e, and an anomaly flag 20f, each of which is described below.

[0028] The memory hardware 18 stores threshold values ​​22, which the road roughness algorithm 14 uses to determine whether the flag protocol 20 should be executed. The threshold values ​​22 include, among others, a wheel threshold value 22a, a ride height threshold value 22b, an IMU threshold value 22c, a time threshold value 22d, and a torsion bar threshold value 22e. Each threshold value 22 is used by the flag protocol 20 to determine whether a corresponding flag 20a-20d should be executed. The wheel flag 20a can be equipped with a wheel flag counter 24, which tracks the wheel flag 20a to identify a counter reading associated with the wheel flag 20a, which is described in more detail below. The road roughness threshold 14 is also configured with initial measurement units (IMU) 26 and parameters 28, which are also used with the flag protocol 20, which is described in more detail below.

[0029] The road roughness algorithm 14 is also configured with a severity identification (ID) 30, which assigns a respective severity level 30a, 30b to the flag protocol 20 and the sensor data 110 received by the control unit 12. The severity identification 30 includes, among other things, a wheel severity level 30a and a parameter severity level 30b. The severity levels 30a, 30b can be represented as different grades, including, but not limited to, a low / medium / high degree scale or a scale from zero (0) to 100. For example, the road roughness algorithm 14 can evaluate the wheel data 116 and, based on a construct of the wheel data 116, determine that the wheel data 116 has a medium severity level 30a.

[0030] With reference to Fig. Sections 2-4 describe the flag protocol 20 with respect to the wheel data 116 received by the wheel sensor 114. The road roughness algorithm 14 receives the wheel data 116 and uses the wheel pressure 118. The wheel pressure 118 is determined by the road roughness algorithm 14 by performing a derivative function 40. The derivative function 40 is configured to generate a second derivative of the wheel data 116 to identify the wheel pressure 118. The wheel pressure 118 provides the road roughness algorithm 14 with a higher resolution of the wheels 102 along a roadway 200. For example, the road roughness algorithm 14 uses the derivative function 40 to evaluate the amplitude of the wheel pressure 118 with a higher degree of clarity due to a lower signal-to-noise ratio.

[0031] The road roughness algorithm 14 evaluates a wheel pressure value 118 within a given time frame and compares this wheel pressure value to a previous time step. Thus, the road roughness algorithm 14 evaluates the duration 42 of the wheel pressure value 118 when deciding whether to execute the flag protocol 20. The duration 42 can also be used in subsequent operations by the road roughness algorithm 14. For example, the road roughness algorithm 14 can use the wheel flag 20a and the ride height flag 20b to determine that the duration 42 of the wheel pressure value 118 exceeds the time threshold 22d. The duration 42 can then be compared to an expiration flag 20d.If the road roughness algorithm 14 identifies a condition of the vehicle 100 from the wheel data 116 and determines, based on the comparison of the time duration 42 with the time threshold 22d, that the vehicle 100 has experienced the condition for a certain period of time, the road roughness algorithm 14 can set the expiry flag 20d.

[0032] Similarly, the road roughness algorithm 14 uses the wheel data 116 to identify the wheel imprint 118 and to determine whether the wheel data 116 (i.e., the wheel imprint 118) exceeds the wheel threshold value 22a. If the wheel data 116 exceeds the wheel threshold value 22a, the road roughness algorithm 14 can set the wheel flag 20a. If the wheel flag 20a has already been issued by the flag protocol 20, the road roughness algorithm 14 can add it to the wheel flag counter 24 to increment the counter associated with wheel flags 20a triggered by the flag protocol 20. In addition to issuing or otherwise executing the wheel flag 20a, the road roughness algorithm 14 determines the wheel severity grade 30a.

[0033] The wheel severity grade 30a is assigned to wheel data 116 (i.e., wheel pressure 118) that exceeds the wheel threshold value 22a. The road roughness algorithm 14 can also use the wheel flag counter 24 to monitor and generate the wheel severity grade 30a. For example, if the counter for wheel flag 24 is "high," the road roughness algorithm 14 can determine a higher wheel severity grade 30a. As mentioned above, the wheel severity grade 30a depends on the structure of the signals received by the wheel sensor 114 (i.e., the wheel data 116). The wheel data 116 also provides the road roughness algorithm 14 with the wheel ID 120 for each wheel 102 of the vehicle 100. Accordingly, the wheel flag 20a can contain one or more wheel IDs 120, which the road roughness algorithm 14 uses to identify which wheel or wheels 102 of the vehicle 100 are experiencing the wheel pressure 118. The wheel identification 120 is contained in the wheel flag 20a.The wheel flag 20a contains a reference to a road anomaly 50, the wheel severity grade 30a and the wheel ID(s) 120 of the wheel 102 on which the road anomaly 50 occurs.

[0034] With reference to Fig. 2, Fig. 3 and Fig. 5. The road roughness algorithm 14 evaluates the ride height data 132 after the evaluation of the wheel data 116 is complete. The ride height data 132 provides the algorithm 14 with information about a relative displacement or change in position of the individual wheels 102 and / or the vehicle suspension 100. The road roughness algorithm 14 compares the ride height data 132 with the ride height threshold 22b to determine whether the ride height data 132 exceeds the ride height threshold 22b and to set the ride height flag 20b. Before executing the ride height flag 20b, the road roughness algorithm 14 first evaluates the wheel data 116.

[0035] For example, the road roughness algorithm 14 first determines whether wheel flag 20a is set or otherwise executed before evaluating the ride height data 132. If wheel flag 20a is not executed, the road roughness algorithm 14 can re-examine the wheel data 116 based on the ride height data 132 to verify the potential of a road anomaly 50. In response to wheel flag 20a, the road roughness algorithm 14 determines whether the ride height data 132 exceeds the ride height threshold 22b. If wheel flag 20a is executed and the ride height data 132 exceeds the ride height threshold 22b, then the road roughness algorithm 14 executes ride height flag 20b.

[0036] With reference to Fig. 2, Fig. 3 and Fig. 6. The road roughness algorithm 14 next evaluates the torsion bar data 142, after evaluating the wheel data 116 and the ride height data 132. The torsion bar data 142 is compared with the torsion bar threshold value 22e to determine whether it exceeds this threshold. This comparison can assist the road roughness algorithm 14 in verifying the aforementioned wheel pressure 118. Thus, the torsion bar data 142 can be used as a validation check for the wheel flag 20a and the ride height flag 20b. If the torsion bar data 142 exceeds the torsion bar threshold 22e, the road roughness algorithm 14 can execute the torsion bar flag 20e.

[0037] Now, regarding Fig. 2, Fig. 3 and Fig. 7. The road roughness algorithm 14 can be configured with the IMU 26. The IMU 26 can, for example, be configured as an IMU 26 with six (6) stops and various angular components. For each of the components, the road roughness algorithm 14 checks for a possible change for a specific component with the IMU threshold 22c. If the change in the IMU 26 exceeds the IMU threshold 22c, the road roughness algorithm 14 executes the IMU flag 20c. Of the example six (6) components, the IMU 26 includes at least two principal components 26a. In some cases, the road roughness algorithm 14 may detect a change in the principal components 26a that exceeds the IMU threshold 22c, while the remaining components may remain unchanged or change less significantly.The change to the main component 26a of the IMU 26, which exceeds the IMU threshold 22c, may be sufficient for the road roughness algorithm 14 to execute the IMU flag 20c.

[0038] After the road roughness algorithm 14 has executed the flag protocol 20, it performs a merge function 44 of flags 20a-20e. Each of the flags 20a-20e has a different weight, so the weights of flags 20a-20e are added (i.e., merged). If the total sum of the merged flags 20a-20e exceeds a merge threshold 22f, the road roughness algorithm 14 can execute an anomaly flag 20f. Some of the flags 20a-20e may have a lower weight compared to others, so the anomaly flag 20f can still be executed based on the comparison flags 20a-20e, even if the flags have a lower weight. For example, the wheel flag 20a can have a higher weighting than the torsion bar flag 20e.Thus, the weighting of the wheel flag 20a can have a greater influence on the road roughness algorithm 14 as part of the merging function 44 when determining whether the anomaly flag 20f should be executed. The merging of the wheel flag 20a, the ride height flag 20b, the IMU flag 20c, the runout flag 20d, and the torsion bar flag 20e can define the road anomaly 50 for the road roughness algorithm 14.

[0039] Still referring to Fig. 2-9 The parameters 28 of the road roughness algorithm 14 can be adjusted or otherwise controlled via a control and mitigation function 60. The parameters 28 can reflect a parameter severity level 30b, which can be adjusted via the control and mitigation function 60. The parameters 28 can be adjusted by the road roughness algorithm 14 in response to the IMU flag 20c. For example, the road roughness algorithm 14 can identify the parameter severity level 30b before adjusting the parameters and use the parameter severity level 30b when executing the control and mitigation function 60.

[0040] The control and mitigation function 60 is configured to mitigate road anomaly 50 by modifying parameters 28. For example, control and mitigation function 60 can lead to an adjustment of the wheel functions 62 and / or the speed 64 of vehicle 100. The control unit 12 is configured to adjust parameters 28 by executing control and mitigation function 60 in order to adjust the wheel functions 62 and / or the speed 64 of vehicle 100, which can help to avoid road anomaly 50 or minimize an impact on it.

[0041] With particular reference to Fig. Figures 4-9 illustrate exemplary flowcharts for the road roughness system 10. Each of the flowcharts is described in more detail above with regard to the various features referenced in the respective flowcharts. Fig. Figure 4 illustrates an example flowchart of the road roughness algorithm 14, which evaluates the wheel data 116. At 400, the road roughness algorithm 14 receives the wheel data 116 and determines at 402 whether the wheel data 116 exceeds the wheel threshold value 22a. If the wheel data 116 exceeds the wheel threshold value 22a, the road roughness algorithm 14 determines at 404 whether the wheel flag 20a is turned on or activated. If it is not, the road roughness algorithm 14 turns on the wheel flag 20a or executes it at 406.

[0042] If the wheel data 116 does not exceed the wheel threshold value 22a, the road roughness algorithm 14 determines at 408 whether the duration exceeds the time threshold value 22d. If the duration does not exceed the time threshold value 22d, the road roughness algorithm 14 holds the current wheel flag 20a at 410. The road roughness algorithm 14 then combines the wheel flag 20a with the wheel severity grade 30a and the wheel ID 120 at 412. If the duration exceeds the time threshold value 22d, the road roughness algorithm 14 switches off the wheel flag 20a at 414 and resets the wheel flag counter 24 at 416.

[0043] If the wheel data 116 exceeds the wheel threshold value 22a at 402 and the wheel flag 20a is active at 404, the road roughness algorithm 14 increments the wheel flag counter 24 at 418. The road roughness algorithm 14 sets the wheel flag 20a to the current time at 420 and combines the wheel flag 20a with the wheel severity grade 30a and the wheel ID 120 at 412.

[0044] Fig. Figure 5 shows an example flowchart of the road roughness algorithm 14, which evaluates the ride height data 132. At 500, the road roughness algorithm 14 determines whether wheel flag 20a is active. If it is not, at 502, the road roughness algorithm 14 does not activate ride height flag 20b and does not execute it. If wheel flag 20a is activated, at 504, the road roughness algorithm 14 determines whether the ride height data 132 exceeds the ride height threshold 22b. If it is not, at 502, the road roughness algorithm 14 does not activate ride height flag 20b and does not execute it. If the ride height data 132 exceeds the ride height threshold 22b, the road roughness algorithm 14 at 506 executes the ride height flag 20b or otherwise activates it.

[0045] Fig. Figure 6 illustrates an example flowchart of the road roughness algorithm 14, which evaluates the torsion bar data 142. At 600, the road roughness algorithm 14 determines whether wheel flag 20a is active. If it is not, the road roughness algorithm 14 does not activate the torsion bar flag 20e at 602. If wheel flag 20a is active, the road roughness algorithm 14 determines at 604 whether the torsion bar data 142 exceeds the torsion bar threshold 22e. If it is not, the road roughness algorithm 14 does not activate the torsion bar flag 20e at 602 and does not execute it. If the torsion bar data 142 exceeds the torsion bar threshold 22e, the road roughness algorithm 14 executes the torsion bar flag 20e or otherwise turns it on (606).

[0046] Fig. Figure 7 shows an example flowchart of the road roughness algorithm 14, which evaluates the IMU 26. At 700, the road roughness algorithm 14 determines whether wheel flag 20a is active. If it is not, at 702, the road roughness algorithm 14 does not activate IMU flag 20c and does not execute it. If wheel flag 20a is active, at 704, the road roughness algorithm 14 determines whether the principal components 26a exceed the IMU threshold 22c. If they are not, at 702, the road roughness algorithm 14 does not activate IMU flag 20c and does not execute it. If the main components 26a exceed the IMU threshold 22c, the road roughness algorithm 14 executes the IMU flag 20c at 706 or otherwise turns it on.

[0047] Fig. Figure 8 illustrates an example flowchart of the road roughness algorithm 14, which executes the merge function 44. At 800, the road roughness algorithm 14 identifies each of the flags 20a-20e. At 802, the road roughness algorithm 14 executes the merge function 44 for flags 20a-20e. At 804, the road roughness algorithm 14 executes the anomaly flag 20f.

[0048] Fig. Figure 9 shows an example flowchart of the road roughness algorithm 14 for updating parameters 28. At 900, the road roughness algorithm 14 detects the road anomaly 50 and executes the control and mitigation function 60 at 902. The road roughness algorithm 14 updates parameters 28 at 904. At 906, the road roughness algorithm 14 determines whether the anomaly flag 20f is turned on or otherwise active. If so, the road roughness algorithm 14 continues with the execution of the control and mitigation function 60 at 902. If the anomaly flag 20f is inactive or otherwise turned off, the road roughness algorithm 14 identifies the regular parameters 28 at 908.

[0049] Referring now to Fig.Figure 10 illustrates an example procedure 1000 for the road roughness system 10. In Figure 1002, a road roughness algorithm 14 receives a variety of sensor data 110 from a variety of sensors 112 of a vehicle 100. The sensor data 110 include wheel data 116 and ride height data 132. In Figure 1004, the road roughness algorithm 14 determines that the wheel data 116 exceeds a wheel threshold value 22a, and a severity grade 30a associated with the wheel data 116 exceeds the wheel threshold value 22a. The wheel data 116 includes wheel identifications (IDs) 120, which are assigned to a respective wheel 102 of the vehicle 100. Based on the fact that the wheel data 116 exceeds the wheel threshold value 22a, the road roughness algorithm 14 executes a wheel flag 20a at 1006. At 1008, in response to the wheel flag 20a, the road roughness algorithm 14 determines that the ride height data 132 exceeds a ride height threshold value 22b.The road roughness algorithm 14 executes a ride height flag 20b at 1010 based on the fact that the ride height data 132 exceeds the ride height threshold 22b. At 1012, the road roughness algorithm 14 determines, in response to the wheel flag 20a and the ride height flag 20b, that a time duration 42 of a wheel pressure 118 of the wheel data 116 exceeds a time threshold 22d.

[0050] The road roughness algorithm 14 identifies a change in the initial measurement units (IMU) 26 that exceeds an IMU threshold 22c at 1014. At 1016, based on the fact that the change in IMU 26 exceeds the IMU threshold 22c, the road roughness algorithm 14 executes an IMU flag 20c. At 1018, in response to IMU flag 20c, the road roughness algorithm 14 adjusts one or more parameters 28 of the road roughness algorithm 14. At 1020, the road roughness algorithm 14 combines the wheel flag 20a, the ride height flag 20b, and the IMU flag 20c to define a road anomaly 60. At 1022, the road roughness algorithm 14 mitigates the road anomaly 60 and performs a control and mitigation function 50.

[0051] Several implementations have been described. However, it goes without saying that various modifications can be made without deviating from the spirit and scope of protection of the disclosure. Accordingly, other implementations also fall within the scope of protection of the following claims.

[0052] The foregoing description is provided for illustrative and descriptive purposes only. It makes no claim to be exhaustive or to limit the disclosure. Individual elements or features of a particular configuration are generally not restricted to that specific configuration but are interchangeable and may be used in a selected configuration even if they are not specifically shown or described. These may also be varied in many ways. Such variations are not to be considered a departure from the disclosure, and all such modifications are to be included within the scope of protection of the disclosure.

Claims

[1] Computer-implemented method which, when executed by data processing hardware (16), causes the data processing hardware (16) to perform operations which include: Receiving a multitude of sensor data (110) from a multitude of sensors (112) of a vehicle (100) at a road roughness algorithm (14), wherein the sensor data (110) include wheel data (116) and ride height data (132); Determine, via the road roughness algorithm (14), that the wheel data (116) exceed a wheel threshold value (22a) and a severity level (30a) assigned to the wheel data (116) exceeds the wheel threshold value (22a); Executing a wheel flag (20a) based on the fact that the wheel data (116) exceeds the wheel threshold value (22a); Determine, based on the wheel flag (20a), that the ride height data (132) exceed a ride height threshold (22b); Executing a ride height flag (20b) based on the ride height exceeding the ride height threshold (22b); Determine, based on the wheel flag (20a) and the ride height flag (20b), that a time duration (42) of a wheel print of the wheel data (116) exceeds a time threshold (22d); Identify, via the road roughness algorithm (14), a change in measurement data recorded by an inertial measurement unit (IMU) (26), wherein the change exceeds an IMU threshold (22c); Executing an IMU flag (20c) based on the fact that the change in the IMU (26) exceeds the IMU threshold (22c); Adjust, based on the IMU flag (20c), one or more parameters (28) of the road roughness algorithm (14); and Combining the wheel flag (20a), the ride height flag (20b) and the IMU flag (20c) via the road roughness algorithm (14) to define a road anomaly (50). [2] Method according to claim 1, wherein the adjustment of one or more parameters (28) includes identifying a severity level (30b) of one or more parameters (28). [3] Method according to claim 1, further comprising mitigating the road anomaly (50) and performing a control and mitigation function (60) via the road roughness algorithm (14). [4] Method according to claim 3, wherein the wheel flag (20a) contains one or more wheel identifications (IDs) (120) and the road roughness algorithm (14) is configured to identify a wheel (102) of the vehicle (100) based on the wheel IDs (120). [5] Method according to claim 4, wherein mitigating the road anomaly (50) comprises adjusting the wheel (102) according to the wheel ID (120). [6] Method according to claim 4, wherein mitigating the road anomaly (50) comprises reducing the speed of the vehicle (100). [7] Method according to claim 4, wherein determining that the wheel data (116) exceeds the wheel threshold value (22a) comprises generating a second derivative of the wheel data (116) and identifying the wheel imprint of the wheel data (116). [8] Road roughness system for a vehicle (100), wherein the road roughness system is configured to perform the method according to claim 1.