Road roughness system for a vehicle

By using a road roughness algorithm to identify and adjust vehicle parameters based on vehicle sensor data, the problem of vehicle vibration and bumping on uneven road surfaces is solved, thus improving driving stability and comfort.

CN122071264APending Publication Date: 2026-05-22GM GLOBAL TECHNOLOGY OPERATIONS LLC
0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
GM GLOBAL TECHNOLOGY OPERATIONS LLC
Filing Date
2025-01-07
Publication Date
2026-05-22

Smart Images

  • Figure CN122071264A_ABST
    Figure CN122071264A_ABST
Patent Text Reader

Abstract

A method comprising receiving a plurality of sensor data at a road roughness algorithm, determining, via the road roughness algorithm, that wheel data exceeds a wheel threshold and a severity level exceeds a wheel threshold, executing a wheel flag, determining, based on the wheel flag, that a 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 duration of a wheel jerk of the wheel data exceeds a time threshold, identifying, via the road roughness algorithm, that a change in an IMU exceeds an IMU threshold, executing an IMU flag based on the change in the IMU exceeding the IMU threshold, adjusting a parameter of the road roughness algorithm based on the IMU flag, and fusing the wheel flag, the ride height flag, and the IMU flag to define a road anomaly.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] introduction

[0002] The information provided in this section is for the purpose of presenting the general context of this disclosure. The work of the currently attributed inventors, to the extent described in this section, and aspects of the description that might not otherwise be considered prior art at the time of filing, are neither expressly nor implicitly acknowledged as prior art to this disclosure. Technical Field

[0003] This disclosure generally relates to a road roughness system for vehicles. Background Technology

[0004] Vehicles typically travel along roads with irregularities, such as potholes, bumps, uneven surfaces, or other irregularities that may interfere with vehicle movement. While some vehicles may be equipped with features that indicate when a vehicle is outside a designated lane and potentially encountering chatter bumps, corrective or other mitigation actions are needed to avoid road irregularities. Some vehicles can utilize vision systems, such as cameras, to identify road irregularities and report them to the driver. However, a system is needed to identify irregularities and take mitigation actions to prevent or minimize contact between the vehicle and road irregularities. Summary of the Invention

[0005] In some aspects, the computer-implemented method causes the data processing hardware to perform operations when executed by the data processing hardware. These operations include receiving multiple sensor data from multiple sensors of the vehicle, including wheel data and ride height data, at a road roughness algorithm; determining, via the road roughness algorithm, that the wheel data exceeds a wheel threshold and the severity level associated with the wheel data exceeding the wheel threshold; performing wheel marking based on the wheel data exceeding the wheel threshold; and determining, based on the wheel marking, that the ride height data exceeds a ride height threshold. The operations also include performing a ride height marking based on the ride height exceeding the ride height threshold; determining, based on the wheel marking and the ride height marking, that the duration of wheel jerking in the wheel data exceeds a time threshold; and identifying, via the road roughness algorithm, changes in the initial measurement unit (IMU) exceeding an IMU threshold. The operations also include performing an IMU marking based on changes in the IMU exceeding an IMU threshold; adjusting one or more parameters of the road roughness algorithm based on the IMU marking; and fusing the wheel marking, ride height marking, and IMU marking via the road roughness algorithm to define road anomalies.

[0006] In some examples, adjusting one or more parameters may include identifying the severity level of one or more parameters. The operation may also include mitigating road anomalies and performing control and mitigation functions via a road roughness algorithm. Optionally, wheel data may include wheel abrupt change data. In some instances, wheel markings may include one or more wheel identifiers (IDs), and the road roughness algorithm is configured to identify the vehicle's wheels based on the wheel IDs. In other examples, mitigating road anomalies may include adjusting the wheels corresponding to the wheel IDs. In yet another example, mitigating road anomalies may include reducing the vehicle's speed. Optionally, determining that wheel data exceeds a wheel threshold may include generating the second derivative of the wheel data and identifying wheel abrupt changes in the wheel data. In other cases, the IMU may include at least two principal components, and identifying changes in the IMU may include identifying changes in at least two principal components exceeding a threshold of the IMU.

[0007] In another aspect, the road roughness system for a vehicle includes data processing hardware and memory hardware communicating with the data processing hardware. The memory hardware stores instructions that, when executed on the data processing hardware, cause the data processing hardware to perform operations. These operations include: receiving, at a road roughness algorithm, multiple sensor data from multiple sensors of the vehicle, including wheel data and ground clearance data; determining, via the road roughness algorithm, that the wheel data exceeds a wheel threshold and a severity level associated with the wheel data exceeding the wheel threshold; performing wheel marking based on the wheel data exceeding the wheel threshold and the severity level of the wheel data; and determining, based on the wheel marking, that the ground clearance data exceeds a ground clearance threshold. The operations also include performing ground clearance marking based on the ground clearance exceeding the ground clearance threshold, determining, based on the wheel marking and the ground clearance marking, that the duration of wheel jerking in the wheel data exceeds a time threshold, and identifying, via the road roughness algorithm, changes in the initial measurement unit (IMU) exceeding an IMU threshold. The operation also includes executing IMU flags based on changes in the IMU exceeding an IMU threshold, adjusting one or more parameters of the road roughness algorithm based on the IMU flags, and fusing wheel flags, ground clearance flags, and IMU flags via the road roughness algorithm to define road anomalies.

[0008] In some examples, adjusting one or more parameters may include identifying the severity level of one or more parameters. The operation may also include mitigating road anomalies and performing control and mitigation functions via a road roughness algorithm. Optionally, wheel data may include wheel abrupt change data. In some instances, wheel markings may include one or more wheel identifiers (IDs), and the road roughness algorithm may be configured to identify vehicle wheels based on wheel IDs. In other examples, mitigating road anomalies may include adjusting the wheels corresponding to the wheel IDs. In yet another instance, mitigating road anomalies may include reducing the vehicle's speed. Optionally, determining that wheel data exceeds a wheel threshold may include generating the second derivative of the wheel data and identifying wheel abrupt changes in the wheel data. In some examples, the IMU may include at least two principal components, and identifying changes in the IMU may include identifying changes in at least two principal components exceeding IMU thresholds.

[0009] In other aspects, the road roughness system for a vehicle includes data processing hardware and memory hardware communicating with the data processing hardware. The memory hardware stores instructions that, when executed on the data processing hardware, cause the data processing hardware to perform operations. These operations involve receiving multiple sensor data from multiple sensors of the vehicle, including wheel data and ground clearance data, at a road roughness algorithm; determining, via the road roughness algorithm, that the wheel data exceeds a wheel threshold and the severity level associated with the wheel data exceeding the wheel threshold; the wheel data including wheel identifiers (IDs) associated with the corresponding wheels of the vehicle; performing wheel marking based on the wheel data exceeding the wheel threshold; and determining, in response to the wheel marking, that the ground clearance data exceeds the ground clearance threshold. The operation also includes performing ground clearance marking based on the ground clearance data exceeding the ground clearance threshold; determining, in response to the wheel marking and the ground clearance marking, that the duration of wheel jerking in the wheel data exceeds a time threshold; and identifying, via the road roughness algorithm, that a change in the initial measurement unit (IMU) exceeds an IMU threshold. The operation also includes executing IMU flags based on changes in the IMU exceeding an IMU threshold, adjusting one or more parameters of the road roughness algorithm in response to the IMU flags, fusing wheel flags, ground clearance flags, and IMU flags via the road roughness algorithm to define road anomalies, and mitigating road anomalies and performing control and mitigation functions via the road roughness algorithm.

[0010] In some examples, mitigating road anomalies may include adjusting the wheel corresponding to the corresponding wheel ID and reducing the vehicle's speed by at least one of these. Attached Figure Description

[0011] The accompanying drawings described herein are for illustrative purposes only for the selected configurations and are not intended to limit the scope of this disclosure.

[0012] Figure 1This is a schematic diagram of a vehicle equipped with a road roughness system according to this disclosure;

[0013] Figure 2 This is an exemplary block diagram of a road roughness system according to the present disclosure;

[0014] Figure 3 This is a schematic diagram of a vehicle equipped with a road roughness system according to the present disclosure, the vehicle traveling along a road with road anomalies;

[0015] Figure 4-9 This is an exemplary flowchart of a road roughness system according to the present disclosure; and

[0016] Figure 10 This is an example method for a road roughness system based on this disclosure.

[0017] Throughout the accompanying drawings, corresponding reference numerals indicate the corresponding components. Detailed Implementation

[0018] The example configuration will now be described more fully with reference to the accompanying drawings. The example configuration is provided so that this disclosure will be thorough and will fully communicate the scope of this disclosure to those skilled in the art. Specific details, such as examples of specific components, apparatus, and methods, are set forth to provide a thorough understanding of the configuration of this disclosure. It will be apparent to those skilled in the art that the specific details are not required, the example configuration can be implemented in many different forms, and the specific details and example configuration should not be construed as limiting the scope of this disclosure.

[0019] The terminology used herein is for the purpose of describing a particular exemplary configuration only and is not intended to be restrictive. As used herein, the singular articles “a,” “an,” and “the” may be intended to include plural forms as well, unless the context clearly indicates otherwise. The terms “comprises,” “comprising,” “including,” and “having” 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. Unless specifically identified as an order of execution, the method steps, processes, and operations described herein should not be construed as requiring them to be performed in the specific order discussed or shown. Additional or alternative steps may be employed.

[0020] When an element or layer is referred to as being “on,” “joined to,” “connected to,” “attached to,” or “linked to” another element or layer, it may be directly on, joined to, connected to, attached to, or linked to the other element or layer, or there may be intermediate elements or layers present. Conversely, when an element is referred to as being “directly on,” “directly joined to,” “directly connected to,” “directly attached to,” or “directly linked to” another element or layer, there may be no intermediate elements or layers present. Other terms used to describe relationships between elements should be interpreted in a similar manner (e.g., “between” vs. “directly between,” “adjacent” vs. “directly adjacent,” etc.). As used herein, the term “and / or” includes any and all combinations of one or more of the associated listed items.

[0021] The terms “first,” “second,” “third,” etc., may be used herein to describe various elements, components, regions, layers, and / or sections. These elements, components, regions, layers, and / or sections should not be limited by these terms. These terms may be used only to distinguish one element, component, region, layer, or section from another. Unless the context clearly indicates otherwise, terms such as “first,” “second,” and other numerical terms do not imply order or sequence. Therefore, without departing from the teachings of the example configuration, the first element, component, region, layer, or part discussed below may be referred to as the second element, component, region, layer, or part.

[0022] In this application, including the following definitions, the term "module" may be replaced by the term "circuit". The term "module" may refer to, be part of, or include: application-specific integrated circuits (ASICs); digital, analog, or mixed-signal analog / digital discrete circuits; digital, analog, or mixed-signal analog / digital integrated circuits; combinational logic circuits; field-programmable gate arrays (FPGAs); processors (shared, dedicated, or grouped) that execute code; memory (shared, dedicated, or grouped) that stores code executed by the processor; other suitable hardware components that provide the described functionality; or combinations of some or all of the foregoing, such as in a system-on-a-chip.

[0023] The term "code" as used above can include software, firmware, and / or microcode, and can refer to programs, routines, functions, classes, and / or objects. The term "shared processor" covers a single processor that executes some or all of the code from multiple modules. The term "group processor" covers a processor that, in combination with additional processors, executes some or all of the code from one or more modules. The term "shared memory" covers a single memory that stores some or all of the code from multiple modules. The term "group memory" covers memory that, in combination with additional memory, stores some or all of the code from one or more modules. The term "memory" can be a subset of the term "computer-readable medium." The term "computer-readable medium" does not cover transient electrical and electromagnetic signals propagating through a medium, and therefore can be considered tangible and non-transitory memory. Non-limiting examples of non-transitory memory include tangible computer-readable media, which include non-volatile memory, magnetic memory, and optical memory.

[0024] The apparatus and methods described in this application can be implemented, in part or in whole, by one or more computer programs executed by one or more processors. The computer program includes processor-executable instructions stored on at least one non-transitory tangible computer-readable medium. The computer program may also include and / or depend on stored data.

[0025] A software application (i.e., a software resource) can refer to computer software that enables a computing device to perform tasks. In some examples, a software application may be referred to as an "application," "app," or "program." Example 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 game applications.

[0026] Non-transitory memory can be a physical device used to temporarily or permanently store programs (e.g., instruction sequences) or data (e.g., program state 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, but are not limited to, flash memory and read-only memory (ROM) / programmable read-only memory (PROM) / erasable programmable read-only memory (EPROM) / electrically erasable programmable read-only memory (EEPROM) (e.g., commonly used in firmware, such as boot programs). Examples of volatile memory include, but are not limited to, random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), phase-change memory (PCM), and magnetic disks or magnetic tapes.

[0027] These computer programs (also referred to as programs, software, software applications, or code) include machine instructions for a programmable processor and can be implemented using high-level procedural and / or object-oriented programming languages ​​and / or assembly / machine languages. As used herein, the terms “machine-readable medium” and “computer-readable medium” refer to any computer program product, non-transitory computer-readable medium, apparatus, and / or device (e.g., disk, optical disk, memory, programmable logic device (PLD)) used to provide machine instructions and / or data to a programmable processor, including machine-readable media that receive machine instructions as machine-readable signals. The term “machine-readable signal” refers to any signal used to provide machine instructions and / or data to a programmable processor.

[0028] Various implementations of the systems and techniques described herein can be implemented 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 implementations in one or more computer programs executable and / or interpretable on a programmable system, which includes at least one programmable processor, which may be dedicated or general-purpose, coupled to receive data and instructions from a storage system, at least one input device, and at least one output device, and to transmit data and instructions to the storage system, at least one input device, and at least one output device.

[0029] The processes and logic described in this specification can be executed by one or more programmable processors (also known as data processing hardware) that execute one or more computer programs to perform functions by manipulating input data and generating output. The processes and logic can also be executed by special-purpose logic circuitry, such as FPGAs (Field-Programmable Gate Arrays) or ASICs (Application-Specific Integrated Circuits). Processors suitable for executing computer programs include, for example, both general-purpose microprocessors and special-purpose microprocessors, as well as any one or more processors of any kind of digital computer. Typically, the processor receives instructions and data from read-only memory or random access memory, or both. The basic elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. Typically, a computer will also include one or more mass storage devices (e.g., magnetic disks, magneto-optical disks, or optical disks) for storing data, or operatively coupled to receive data from or transfer data to one or more mass storage devices, or both. However, a computer does not need to have such devices. Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and memory 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. Processors and memory may be supplemented by or incorporated into dedicated logic circuitry.

[0030] To provide interaction with a user, one or more aspects of this disclosure can be implemented on a computer having a display device for displaying information to the user, such as a CRT (cathode ray tube), LCD (liquid crystal display) monitor, or touchscreen, and optionally a keyboard and pointing device, such as a mouse or trackball, through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, voice, or tactile input. Furthermore, the computer can interact with the user by sending documents to and receiving documents from the device used by the user; for example, by sending a web page to a web browser on the user's client device in response to a request received from a web browser.

[0031] refer to Figure 1-3The road roughness system 10 includes a controller 12 configured as part of a vehicle 100. The controller 12 is configured with a road roughness algorithm 14 in response to sensor data 110 received from a plurality of sensors 112 of the vehicle 100. For example, the sensors 112 may include wheel sensors 114 configured to send wheel data 116 to the road roughness algorithm 14. The wheel data 116 may include wheel jerk 118 and one or more wheel identifiers (IDs) 120. For example, the vehicle 100 includes a plurality of wheels 102 that can be associated with wheel IDs 120, such that the wheel data 116 can identify wheel jerk data or wheel jerk 118 in one or more wheels 102 associated with a corresponding wheel ID 120. The sensors 112 may also include, but are not limited to, a ground clearance sensor 130 configured to capture ground clearance data 132 and a torsion bar sensor 140 configured to capture torsion bar data 142. The sensor data 110 is transmitted to the controller 12 for use with the road roughness algorithm 14 described herein.

[0032] The controller 12 also includes data processing hardware 16 and memory hardware 18 in communication with the data processing hardware 16. The memory hardware 18 stores instructions that, 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 sign protocol 20, in which various signs 20a-20f are executed. Signs 20a-20f include, but are not limited to, wheel sign 20a, ground clearance sign 20b, initial measurement unit (IMU) sign 20c, maturity sign 20d, torsion bar sign 20e, and anomaly sign 20f, each of which is further described below.

[0033] Memory hardware 18 stores thresholds 22, which the road roughness algorithm 14 uses to determine whether to execute the marking protocol 20. Thresholds 22 include, but are not limited to, wheel thresholds 22a, ground clearance thresholds 22b, IMU thresholds 22c, time thresholds 22d, and torsion bar thresholds 22e. The marking protocol 20 utilizes each threshold 22 to determine whether to execute the corresponding markings 20a-20d. Wheel markings 20a may be equipped with wheel marking counters 24, which track wheel markings 20a to identify counts associated with them, as described in more detail below. The road roughness thresholds 14 are also configured with an initial measurement unit (IMU) 26 and parameters 28, which are also used with the marking protocol 20, as described in more detail below.

[0034] The road roughness algorithm 14 is also configured with a severity level identifier (ID) 30, which associates the corresponding severity levels 30a, 30b with the flag protocol 20 and the sensor data 110 received by the controller 12. The severity level ID 30 includes, but is not limited to, wheel severity level 30a and parameter severity level 30b. Severity levels 30a, 30b can be represented as various levels, including, but not limited to, low / medium / high level scales or a scale from zero (0) to 100. For example, the road roughness algorithm 14 can evaluate wheel data 116 and determine that wheel data 116 has a medium severity level 30a based on its construction.

[0035] refer to Figure 2-4 The description of the flag protocol 20 pertains to wheel data 116 received from wheel sensor 114. Road roughness algorithm 14 receives wheel data 116 and utilizes wheel jerks 118. Wheel jerks 118 are identified by road roughness algorithm 14 by executing derivation function 40. Derivation function 40 is configured to generate a second derivative of wheel data 116 to identify wheel jerks 118. Wheel jerks 118 provide road roughness algorithm 14 with higher resolution of wheel 102 along road 200. For example, road roughness algorithm 14 evaluates the magnitude of wheel jerks 118 with higher clarity via derivative function 40, as a result of a reduced signal-to-noise ratio.

[0036] Road roughness algorithm 14 evaluates the value of wheel jerking 118 at a given time frame and compares wheel jerking 118 at the given time frame with a previous time step. Therefore, road roughness algorithm 14 evaluates the duration 42 of wheel jerking 118 when determining whether to execute flag protocol 20. Duration 42 can also be utilized by road roughness algorithm 14 in later operations. For example, road roughness algorithm 14 can use wheel flag 20a and ground clearance flag 20b to determine that the duration 42 of wheel jerking 118 in wheel data 116 exceeds a time threshold 22d. Duration 42 can be compared with maturity flag 20d. If road roughness algorithm 14 identifies a condition of vehicle 100 from wheel data 116 and determines that vehicle 100 has experienced that condition for a period of time based on the comparison of duration 42 with time threshold 22d, then road roughness algorithm 14 can raise maturity flag 20d.

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

[0038] Wheel severity level 30a is associated with wheel data 116 exceeding wheel threshold 22a (i.e., wheel jerking 118). Road roughness algorithm 14 can also utilize wheel marker counter 24 to monitor and generate wheel severity level 30a. For example, if wheel marker counter 24 is high, road roughness algorithm 14 can determine a higher wheel severity level 30a. As described above, wheel severity level 30a depends on the construction of the signals received from wheel sensor 114 (i.e., wheel data 116). Wheel data 116 also provides road roughness algorithm 14 with wheel ID 120 for each wheel 102 of vehicle 100. Therefore, wheel marker 20a may include one or more wheel IDs 120, which road roughness algorithm 14 uses to identify which wheel(s)(s) of vehicle 100 is experiencing wheel jerking 118. Wheel ID 120 is included in wheel marker 20a. Wheel markings 20a include indications of road anomaly 50, wheel severity level 30a, and wheel ID 120 of wheel 102 that experienced road anomaly 50.

[0039] Now for reference Figure 2 , Figure 3 and Figure 5 Once the evaluation of wheel data 116 is complete, road roughness algorithm 14 evaluates ground clearance data 132. Ground clearance data 132 provides road roughness algorithm 14 with information about the relative displacement or positional changes of each wheel 102 and / or suspension of vehicle 100. Road roughness algorithm 14 compares ground clearance data 132 with ground clearance threshold 22b to determine whether ground clearance data 132 exceeds ground clearance threshold 22b and raises ground clearance flag 20b. Before raising ground clearance flag 20b, road roughness algorithm 14 first evaluates wheel data 116.

[0040] For example, before evaluating the ground clearance data 132, the road roughness algorithm 14 first determines whether wheel markers 20a are set or otherwise executed. If wheel markers 20a are not executed, the road roughness algorithm 14 can re-examine the wheel data 116 based on the ground clearance data 132 to verify the possibility of road anomaly 50. In response to wheel markers 20a, the road roughness algorithm 14 determines whether the ground clearance data 132 exceeds a ground clearance threshold 22b. If wheel markers 20a are executed and the ground clearance data 132 exceeds the ground clearance threshold 22b, the road roughness algorithm 14 executes the ground clearance markers 20b.

[0041] refer to Figure 2 , Figure 3 and Figure 6 Next, after evaluating wheel data 116 and ground clearance data 132, road roughness algorithm 14 evaluates torsion bar data 142. Torsion bar data 142 is compared to a torsion bar threshold 22e to determine if it exceeds this threshold. This comparison helps road roughness algorithm 14 verify the wheel jerks 118 identified above. Therefore, torsion bar data 142 can be used as a verification check for wheel markers 20a and ground clearance markers 20b. If torsion bar data 142 exceeds the torsion bar threshold 22e, road roughness algorithm 14 can execute the torsion bar marker 20e.

[0042] Now for reference Figure 2 , Figure 3 and Figure 7 The road roughness algorithm 14 may be configured with an IMU 26. For example, the IMU 26 may be configured as a six (6) stop IMU 26 with various angular components. For each component, the road roughness algorithm 14 uses an IMU threshold 22c to examine for potential changes in a given component. If the change in the IMU 26 exceeds the IMU threshold 22c, the road roughness algorithm 14 executes an IMU flag 20c. In the exemplary six (6) components, the IMU 26 includes at least two principal components 26a. In some cases, the road roughness algorithm 14 may identify that the change in the principal components 26a exceeds the IMU threshold 22c, while the remaining components may remain unchanged or have less significant changes. A change in the principal components 26a of the IMU 26 exceeding the IMU threshold 22c may be sufficient to cause the road roughness algorithm 14 to execute the IMU flag 20c.

[0043] Once the road roughness algorithm 14 executes the flag protocol 20, it performs the fusion function 44 for flags 20a-20e. Each of the flags 20a-20e has a different weight, such that the weights of the flags 20a-20e are added together (i.e., fused). If the fused sum of the flags 20a-20e exceeds the fusion threshold 22f, the road roughness algorithm 14 may execute the anomalous flag 20f. Some of the flags 20a-20e may have a lower weight level compared to the other flags, such that the anomalous flag 20f can be executed based on comparison of the flags 20a-20e despite the reduced weight. For example, the wheel mark 20a may have a higher weight than the torsion bar mark 20e. Therefore, the weight of the wheel mark 20a as part of the fusion function 44 may have a greater influence on the road roughness algorithm 14 when determining whether to execute the anomalous flag 20f. The fusion of wheel marker 20a, ground clearance marker 20b, IMU marker 20c, maturity bar marker 20d, and torsion bar marker 20e can define road anomalies 50 for road roughness algorithm 14.

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

[0045] Control and mitigation function 60 is configured to mitigate road anomalies 50 by modifying parameter 28. For example, control and mitigation function 60 may result in adjustments to wheel functions 62 and / or speed 64 of vehicle 100. Controller 12 is configured to adjust parameter 28 by executing control and mitigation function 60 to adjust wheel functions 62 and / or speed 64 of vehicle 100, which can help avoid or minimize the impact on road anomalies 50.

[0046] For details, please refer to the following: Figure 4-9 An exemplary flowchart of the road roughness system 10 is shown. Each of the features referenced in the respective flowcharts is described in more detail above. Figure 4An exemplary flowchart of a road roughness algorithm 14 that evaluates wheel data 116 is shown. At 400, the road roughness algorithm 14 receives wheel data 116 and at 402 determines whether wheel data 116 exceeds a wheel threshold 22a. If wheel data 116 exceeds wheel threshold 22a, the road roughness algorithm 14 determines at 404 whether wheel flag 20a is on or activated. If not, the road roughness algorithm 14 activates or executes wheel flag 20a at 406.

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

[0048] If wheel data 116 exceeds wheel threshold 22a at 402, and wheel flag 20a is valid at 404, then road roughness algorithm 14 increments wheel flag counter 24 at 418. Road roughness algorithm 14 sets wheel flag 20a for the current time point at 420, and combines wheel flag 20a with wheel severity level 30a and wheel ID 120 at 412.

[0049] Figure 5 An exemplary flowchart of a road roughness algorithm 14 for evaluating ground clearance data 132 is shown. At 500, the road roughness algorithm 14 determines whether wheel marker 20a is active. If not, the road roughness algorithm 14 either deactivates or executes ground clearance marker 20b at 502. If wheel marker 20a is active, the road roughness algorithm 14 determines at 504 whether ground clearance data 132 exceeds ground clearance threshold 22b. If not, the road roughness algorithm 14 either deactivates or executes ground clearance marker 20b at 502. If ground clearance data 132 exceeds ground clearance threshold 22b, the road roughness algorithm 14 executes or otherwise activates ground clearance marker 20b at 506.

[0050] Figure 6An exemplary flowchart of a road roughness algorithm 14 that evaluates torsion bar data 142 is shown. At 600, the road roughness algorithm 14 determines whether wheel marker 20a is active. If not, the road roughness algorithm 14 either deactivates or executes torsion bar marker 20e at 602. If wheel marker 20a is active, the road roughness algorithm 14 determines at 604 whether torsion bar data 142 exceeds a torsion bar threshold 22e. If not, the road roughness algorithm 14 either deactivates or executes torsion bar marker 20e at 602. If torsion bar data 142 exceeds the torsion bar threshold 22e, the road roughness algorithm 14 executes torsion bar marker 20e or otherwise activates torsion bar marker 20e at 606.

[0051] Figure 7 An exemplary flowchart of the road roughness algorithm 14 for evaluating IMU 26 is shown. At 700, the road roughness algorithm 14 determines whether wheel marker 20a is active. If not, the road roughness algorithm 14 either deactivates or executes IMU marker 20c at 702. If wheel marker 20a is active, the road roughness algorithm 14 determines at 704 whether the principal component 26a exceeds IMU threshold 22c. If not, the road roughness algorithm 14 either deactivates or executes IMU marker 20c at 702. If the principal component 26a exceeds IMU threshold 22c, the road roughness algorithm 14 executes or otherwise activates IMU marker 20c at 706.

[0052] Figure 8 An exemplary flowchart of the road roughness algorithm 14 performing the fusion function 44 is shown. At 800, the road roughness algorithm 14 identifies each of the signs 20a-20e. At 802, the road roughness algorithm 14 performs the fusion function 44 for signs 20a-20e. At 804, the road roughness algorithm 14 executes the exception sign 20f.

[0053] Figure 9 An exemplary flowchart of the road roughness algorithm 14 for updating parameter 28 is shown. At 900, the road roughness algorithm 14 detects a road anomaly 50 and executes control and mitigation functions 60 at 902. The road roughness algorithm 14 updates parameter 28 at 904. At 906, the road roughness algorithm 14 determines whether the anomaly flag 20f is on or otherwise activated. If so, the road roughness algorithm 14 continues to execute control and mitigation functions 60 at 902. If the anomaly flag 20f is not activated or is otherwise off, the road roughness algorithm 14 identifies the normal parameter 28 at 908.

[0054] Now for reference Figure 10An example method 1000 for a road roughness system 10 is illustrated. At 1002, a road roughness algorithm 14 receives multiple sensor data 110 from multiple sensors 112 of a vehicle 100. The sensor data 110 includes wheel data 116 and ground clearance data 132. At 1004, the road roughness algorithm 14 determines that the wheel data 116 exceeds a wheel threshold 22a and the severity level 30a associated with the wheel data 116 exceeding the wheel threshold 22a. The wheel data 116 includes a wheel identifier (ID) 120 associated with the corresponding wheel 102 of the vehicle 100. Based on the wheel data 116 exceeding the wheel threshold 22a, the road roughness algorithm 14 performs a wheel flag 20a at 1006. At 1008, the road roughness algorithm 14 determines, in response to the wheel flag 20a, that the ground clearance data 132 exceeds the ground clearance threshold 22b. At 1010, the road roughness algorithm 14 executes a ground clearance flag 20b based on the ground clearance data 132 exceeding the ground clearance threshold 22b. At 1012, the road roughness algorithm 14 determines, in response to the wheel flag 20a and the ground clearance flag 20b, that the duration 42 of the wheel jerking 118 in the wheel data 116 exceeds the time threshold 22d.

[0055] At 1014, road roughness algorithm 14 identifies changes in initial measurement unit (IMU) 26 exceeding IMU threshold 22c. At 1016, road roughness algorithm 14 executes IMU flag 20c based on changes in IMU 26 exceeding IMU threshold 22c. At 1018, road roughness algorithm 14 adjusts one or more parameters 28 in response to IMU flag 20c. At 1020, road roughness algorithm 14 fuses wheel flag 20a, ground clearance flag 20b, and IMU flag 20c to define road anomaly 60. At 1022, road roughness algorithm 14 mitigates road anomaly 60 and executes control and mitigation functions 50.

[0056] Many embodiments have been described. However, it should be understood that various modifications can be made without departing from the spirit and scope of this disclosure. Therefore, other embodiments are within the scope of the appended claims.

[0057] The foregoing description has been provided for purposes of illustration and description. It is not intended to be exhaustive or limiting of this disclosure. Elements or features of a particular configuration are generally not limited to that particular configuration, but are interchangeable where applicable and can be used in selected configurations, even if not specifically shown or described. They can also be varied in many ways. Such variations should not be considered as departing from this disclosure, and all such modifications are intended to be included within the scope of this disclosure.

Claims

1. A computer-implemented method, when executed by data processing hardware, causes the data processing hardware to perform an operation, the operation comprising: At the road roughness algorithm, multiple sensor data from multiple sensors of the vehicle are received, including wheel data and ground clearance data. Using a road roughness algorithm, we determine whether wheel data exceeds a wheel threshold and the severity level associated with wheel data exceeding the wheel threshold. If the wheel data exceeds the wheel threshold, execute a wheel flag; Based on the wheel markings, it is determined that the ground clearance data exceeds the ground clearance threshold. If the ground clearance exceeds the ground clearance threshold, execute the ground clearance flag; Based on the wheel marker and the ground clearance marker, it is determined that the duration of wheel jerking in the wheel data exceeds a time threshold. The road roughness algorithm identifies changes in the initial measurement unit (IMU) that exceed the IMU threshold. If the change in the IMU exceeds the IMU threshold, execute the IMU flag; Based on IMU flags, adjust one or more parameters of the road roughness algorithm; and The road roughness algorithm is used to fuse the wheel markers, ground clearance markers, and IMU markers to define road anomalies.

2. The method of claim 1, wherein adjusting one or more parameters includes identifying the severity level of one or more parameters.

3. The method of claim 1 further includes mitigating the road anomalies and performing control and mitigation functions via the road roughness algorithm.

4. The method according to claim 1, wherein the wheel data includes wheel kinetic data.

5. The method of claim 3, wherein the wheel markings include one or more wheel identifiers (IDs), and the road roughness algorithm is configured to identify the wheels of the vehicle based on the wheel IDs.

6. The method of claim 5, wherein mitigating the road anomaly includes adjusting the wheel corresponding to the wheel ID.

7. The method of claim 5, wherein mitigating the road anomaly includes reducing the speed of the vehicle.

8. The method of claim 5, wherein determining that the wheel data exceeds the wheel threshold comprises generating a second derivative of the wheel data and identifying wheel abrupt changes in the wheel data.

9. The method of claim 1, wherein the IMU comprises at least two main components, and identifying changes in the IMU comprises identifying changes in the at least two main components exceeding a threshold of the IMU.

10. A road roughness system for a vehicle, the road roughness system being configured to perform the method according to claim 1.