Patent Publication Number: US-9886801-B2

Title: Vehicle sensor compensation

Description:
TECHNICAL FIELD 
     The present disclosure generally relates to vehicles, and more particularly relates to methods and systems pertaining to vehicle sensors. 
     BACKGROUND 
     Many vehicles today have sensors that obtain data pertaining to objects that may be in proximity to vehicles. For example, many vehicles today use radar sensors, cameras, and/or light detection and ranging (LIDAR) devices for obtaining data pertaining to such objects, which may include, for example, other vehicles, other moving objects, and/or fixed objects in proximity to the vehicle. However, in certain cases there can be a misalignment of such sensors, which could affect the data pertaining to the objects. 
     Accordingly, it is desirable to provide techniques for using data from vehicle sensors, such as radar, camera, and LIDAR sensors of vehicles, for example in the event of misalignment of such sensors. It is also desirable to provide methods, systems, and vehicles utilizing such techniques. Furthermore, other desirable features and characteristics of the present invention will be apparent from the subsequent detailed description and the appended claims, taken in conjunction with the accompanying drawings and the foregoing technical field and background. 
     SUMMARY 
     In accordance with an exemplary embodiment, a method is provided. The method comprises obtaining, via a sensor, sensor data pertaining to an object in proximity to a vehicle; estimating, using a processor, a misalignment angle for the sensor using the sensor data; and generating, using the processor, a correction factor for the measured azimuth angle value using the misalignment angle. The sensor data includes a measured azimuth angle value for the object. 
     In accordance with an exemplary embodiment, a system is provided. The system comprises a sensor and a processor. The sensor is configured to at least facilitating obtaining sensor data pertaining to an object in proximity to a vehicle. The sensor data includes a measured azimuth angle value for the object. The processor is coupled to the sensor, and is configured to at least facilitate estimating a misalignment angle for the sensor using the sensor data and generating a correction factor for the measured azimuth angle value using the misalignment angle. 
     In accordance with a further exemplary embodiment, a vehicle is provided. The vehicle comprises a body, a sensor, and a processor. The sensor is configured to at least facilitating obtaining sensor data pertaining to an object in proximity to the vehicle. The sensor data includes a measured azimuth angle value for the object. The processor is disposed within the body and coupled to the sensor. The processor is configured to at least facilitate estimating a misalignment angle for the sensor using the sensor data and generating a correction factor for the measured azimuth angle value using the misalignment angle. 
    
    
     
       DESCRIPTION OF THE DRAWINGS 
       The present disclosure will hereinafter be described in conjunction with the following drawing figures, wherein like numerals denote like elements, and wherein: 
         FIG. 1  is a functional block diagram of a vehicle that includes a control system that includes one or more sensors for obtaining sensor data pertaining to an object in proximity to the vehicle and a controller for the one or more sensors, in accordance with an exemplary embodiment; 
         FIG. 2  is a flowchart of a process for controlling a sensor of a vehicle, and that can be used in connection with the vehicle and the control system of  FIG. 1 , in accordance with an exemplary embodiment; and 
         FIG. 3  is a flowchart for a sub-process of the process of  FIG. 2 , namely, a sub-process for compensating for a misalignment angle of a sensor of the control system, in accordance with an exemplary embodiment. 
     
    
    
     DETAILED DESCRIPTION 
     The following detailed description is merely exemplary in nature and is not intended to limit the disclosure or the application and uses thereof. Furthermore, there is no intention to be bound by any theory presented in the preceding background or the following detailed description. 
       FIG. 1  illustrates a vehicle  100 , or automobile, according to an exemplary embodiment. As described in greater detail further below, the vehicle  100  includes a control system  102  for use in obtaining and utilizing data pertaining to object that may be in proximity to the vehicle  100 . In certain embodiments, the control system  102  is part of and/or is coupled to one or more active safety systems for the vehicle  100 , such as for automatic braking, braking assist, steering assist, traction control, electronic stability control, lane departure warning, lane change awareness, and/or for one or more other active safety features. As discussed further below, the control system  102  includes a sensor array  103  of one or more sensors  103  that obtain sensor data pertaining to objects in proximity to the vehicle  100 , and a controller  104  that is used for controlling the sensor array  103 . 
     As depicted in  FIG. 1 , the vehicle  100  includes, in addition to the above-referenced control system  102 , a chassis  112 , a body  114 , four wheels  116 , an electronic control system  118 , a steering system  150 , and a braking system  160 . The body  114  is arranged on the chassis  112  and substantially encloses the other components of the vehicle  100 . The body  114  and the chassis  112  may jointly form a frame. The wheels  116  are each rotationally coupled to the chassis  112  near a respective corner of the body  114 . In various embodiments the vehicle  100  may differ from that depicted in  FIG. 1 . For example, in certain embodiments the number of wheels  116  may vary. By way of additional example, in various embodiments the vehicle  100  may not have a steering system, and for example may be steered by differential braking, among various other possible differences. 
     In the exemplary embodiment illustrated in  FIG. 1 , the vehicle  100  includes an actuator assembly  120 . The actuator assembly  120  includes at least one propulsion system  129  mounted on the chassis  112  that drives the wheels  116 . In the depicted embodiment, the actuator assembly  120  includes an engine  130 . In one embodiment, the engine  130  comprises a combustion engine. In other embodiments, the actuator assembly  120  may include one or more other types of engines and/or motors, such as an electric motor/generator, instead of or in addition to the combustion engine. 
     Still referring to  FIG. 1 , the engine  130  is coupled to at least some of the wheels  116  through one or more drive shafts  134 . In some embodiments, the engine  130  is mechanically coupled to the transmission. In other embodiments, the engine  130  may instead be coupled to a generator used to power an electric motor that is mechanically coupled to the transmission. In certain other embodiments (e.g. electrical vehicles), an engine and/or transmission may not be necessary. 
     The steering system  150  is mounted on the chassis  112 , and controls steering of the wheels  116 . The steering system  150  includes a steering wheel and a steering column (not depicted). The steering wheel receives inputs from a driver of the vehicle  100 . The steering column results in desired steering angles for the wheels  116  via the drive shafts  134  based on the inputs from the driver. Similar to the discussion above regarding possible variations for the vehicle  100 , in certain embodiments the vehicle  100  may not include a steering wheel and/or steering. In addition, in certain embodiments, an autonomous vehicle may utilize steering commands that are generated by a computer, with no involvement from the driver. 
     The braking system  160  is mounted on the chassis  112 , and provides braking for the vehicle  100 . The braking system  160  receives inputs from the driver via a brake pedal (not depicted), and provides appropriate braking via brake units (also not depicted). The driver also provides inputs via an accelerator pedal (not depicted) as to a desired speed or acceleration of the vehicle, as well as various other inputs for various vehicle devices and/or systems, such as one or more vehicle radios, other entertainment systems, environmental control systems, lighting units, navigation systems, and the like (also not depicted). Similar to the discussion above regarding possible variations for the vehicle  100 , in certain embodiments steering, braking, and/or acceleration can be commanded by a computer instead of by a driver. 
     The control system  102  is mounted on the chassis  112 . As discussed above, the control system  102  includes a sensor array  103  and a controller  104 . 
     The sensor array  103  includes one or more sensors that obtain sensor data pertaining to one or more objects in proximity to the vehicle  100 . In the depicted embodiment, the sensor array  103  includes one or more radar sensors  162 , one or more cameras (also referred to herein as camera sensors) sensors  164 , and/or one or more light detection and ranging (LIDAR) units (also referred to herein as LIDAR sensors)  166  that obtain sensor data pertaining to objects in proximity to the vehicle  100 . Such objects, may include, by way of example, road edges, road signs, guard rails, medians, signs, buildings, trees, other vehicles, pedestrians, and/or various other moving and/or non-moving objects. In various embodiments the sensor array  102  may include a single radar sensor  162 , a single camera  164 , and/or a single LIDAR unit  166 , and/or any combination of any number of radar sensors  162 , cameras  164 , and/or LIDAR units  166 . In addition, in certain embodiments, the sensor array  103  may also include one or more other sensors  168 , for example one or more wheel speed sensors and/or inertial measurement sensors for estimating a velocity of the vehicle  100 . The measurements and information from the various sensors of the sensor array  103  are provided to the controller  104  for processing. 
     The controller  104  is coupled to the sensor array  103 . The controller  104  utilizes the various measurements and information from the sensors array  103  for use in controlling, and compensating for, the sensors of the sensor array  103  (e.g., the radar sensors  162 , the cameras  164 , and/or the LIDAR units  166 ). In certain embodiments, the controller  104  utilizes dynamic monitoring of the sensors using the sensor data in order to estimate a misalignment angle of the sensors for use in compensating for measured values from the sensors. In certain embodiments, the controller  104 , along with the sensor array  103 , provide these and other functions also provide additional functions in accordance with the process  200  discussed further below in connection with  FIGS. 2 and 3 . 
     As depicted in  FIG. 1 , the controller  104  comprises a computer system. In certain embodiments, the controller  104  may also include one or more of the sensors of the sensor array  103 , one or more other devices and/or systems, and/or components thereof. In addition, it will be appreciated that the controller  104  may otherwise differ from the embodiment depicted in  FIG. 1 . For example, the controller  104  may be coupled to or may otherwise utilize one or more remote computer systems and/or other control systems, such as the electronic control system  118  of  FIG. 1 . 
     In the depicted embodiment, the computer system of the controller  104  includes a processor  172 , a memory  174 , an interface  176 , a storage device  178 , and a bus  180 . The processor  172  performs the computation and control functions of the controller  104 , and may comprise any type of processor or multiple processors, single integrated circuits such as a microprocessor, or any suitable number of integrated circuit devices and/or circuit boards working in cooperation to accomplish the functions of a processing unit. In one embodiment, the processor  172  is connected to the sensor array  103  through serial communication; however, this may vary in other embodiments. During operation, the processor  172  executes one or more programs  182  contained within the memory  174  and, as such, controls the general operation of the controller  104  and the computer system of the controller  104 , generally in executing the processes described herein, such as the process  200  described further below in connection with  FIGS. 2 and 3 . Also in one embodiment, the processor  172  is coupled to the sensor array  103 , and utilizes values from the various sensors of the sensor array  103  for performing the functions of the controller  104 . 
     The memory  174  can be any type of suitable memory. For example, the memory  174  may include various types of dynamic random access memory (DRAM) such as SDRAM, the various types of static RAM (SRAM), and the various types of non-volatile memory (PROM, EPROM, and flash). In certain examples, the memory  174  is located on and/or co-located on the same computer chip as the processor  172 . In the depicted embodiment, the memory  174  stores the above-referenced program  182  along with one or more stored values  184  (e.g., any stored threshold values) for use in making the determinations. 
     The bus  180  serves to transmit programs, data, status and other information or signals between the various components of the computer system of the controller  104 . The interface  176  allows communication to the computer system of the controller  104 , for example from a system driver and/or another computer system, and can be implemented using any suitable method and apparatus. In one embodiment, the interface  176  obtains the various data from the sensors of the sensor array  103 . The interface  176  can include one or more network interfaces to communicate with other systems or components. The interface  176  may also include one or more network interfaces to communicate with technicians, and/or one or more storage interfaces to connect to storage apparatuses, such as the storage device  178 . 
     The storage device  178  can be any suitable type of storage apparatus, including direct access storage devices such as hard disk drives, flash systems, floppy disk drives and optical disk drives. In one exemplary embodiment, the storage device  178  comprises a program product from which memory  174  can receive a program  182  that executes one or more embodiments of one or more processes of the present disclosure, such as the steps of the process  200  (and any sub-processes thereof) described further below in connection with  FIGS. 2 and 3 . In another exemplary embodiment, the program product may be directly stored in and/or otherwise accessed by the memory  174  and/or a disk (e.g., disk  186 ), such as that referenced below. 
     The bus  180  can be any suitable physical or logical means of connecting computer systems and components. This includes, but is not limited to, direct hard-wired connections, fiber optics, infrared and wireless bus technologies. During operation, the program  182  is stored in the memory  174  and executed by the processor  172 . 
     It will be appreciated that while this exemplary embodiment is described in the context of a fully functioning computer system, those skilled in the art will recognize that the mechanisms of the present disclosure are capable of being distributed as a program product with one or more types of non-transitory computer-readable signal bearing media used to store the program and the instructions thereof and carry out the distribution thereof, such as a non-transitory computer readable medium bearing the program and containing computer instructions stored therein for causing a computer processor (such as the processor  172 ) to perform and execute the program. Such a program product may take a variety of forms, and the present disclosure applies equally regardless of the particular type of computer-readable signal bearing media used to carry out the distribution. Examples of signal bearing media include: recordable media such as floppy disks, hard drives, memory cards and optical disks, and transmission media such as digital and analog communication links. It will be appreciated that cloud-based storage and/or other techniques may also be utilized in certain embodiments. It will similarly be appreciated that the computer system of the controller  104  may also otherwise differ from the embodiment depicted in  FIG. 1 , for example in that the computer system of the controller  104  may be coupled to or may otherwise utilize one or more remote computer systems and/or other control systems. 
     While the control system  102 , the sensory array  103 , and the controller  104  are depicted as being part of the same system, it will be appreciated that in certain embodiments these features may comprise two or more systems. In addition, in various embodiments the control system  102  may comprise all or part of, and/or may be coupled to, various other vehicle devices and systems, such as, among others, the actuator assembly  120 , and/or the electronic control system  118 . 
       FIG. 2  is a flowchart of a process  200  for controlling a sensor of a vehicle, in accordance with an exemplary embodiment. The processor  200  can be used in connection with the vehicle  100  and the control system  102  of  FIG. 1 , in accordance with an exemplary embodiment. In one embodiment, the various steps of the process  200 , is performed repeatedly, and preferably continuously, in various loops or iterations throughout the current vehicle drive or vehicle ignition cycle. 
     As depicted in  FIG. 2 , the process  200  is initiated at step  201 . Once the process is initiated, sensor data is obtained (step  202 ). The sensor data pertains to objects that are in proximity to the vehicle  100  of  FIG. 1 . In various embodiments, the objects may comprise one or more road edges, road signs, guard rails, medians, signs, buildings, trees, other vehicles, pedestrians, and/or various other moving and/or non-moving objects that are in proximity to the vehicle and/or the roadway on which the vehicle is travelling. Also in one embodiment, the sensor data includes a position of the sensor, a range between the object and the vehicle, a rate of change of the range, an azimuth angle between the object and the vehicle, a rate of change of the azimuth angle, and a velocity of the vehicle with respect to the object, as determined by the sensor (e.g., the radar, camera, or LIDAR sensor). 
     In various embodiments, the sensor data is obtained via the transmission and receipt of signals using the radar sensors  162 , camera sensors  164 , and/or LIDAR sensors  166  of  FIG. 1 . In one embodiment, the respective sensors transmit signals using a transmitter. The transmitting signals subsequently contact the objects on or alongside the road on which the vehicle  100  is travelling. After contacting the objects, the signals are reflected, and travel from the other vehicles and/or other objects in various directions, including some signals returning toward the vehicle  100 . The signals returning to the vehicle  100  received signals) are received by one or more receivers, and are then provided to the processor  172  of  FIG. 1  (for example, via the interface  176  of the controller  104 ) for processing. In certain embodiments, in addition to the received signals, the processor  172  also obtains additional data from one or more additional sensors  168  of the sensor array  103  of  FIG. 1  via the interface  176  (e.g. vehicle velocity values via one or more wheel speed sensor and/or inertial measurement sensors). In one embodiment, the processor  172  calculates the host vehicle&#39;s velocity based on wheel speed values, inertial measurement values, and steering angle values provided by one or more wheel speed sensors, inertial measurement units, and steering wheel sensors of the vehicle. 
     A determination is made, based on the sensor data, as to whether conditions are conducive for estimating one or more sensor misalignment angle(s) based on one or both a first technique and a second technique (step  204 ). In one embodiment, the misalignment angle pertains to a difference between an actual mounting angle and an expected mounting angle for the same sensor(s) (e.g., radar system, camera, or LIDAR unit) that is collecting data regarding the objects in proximity to the vehicle. Also in one embodiment, the first technique comprises a parallel motion based approach that assumes that the object in question is travelling in parallel to the vehicle  100 , for example as set forth in greater detail in U.S. patent application Ser. No. 14/598,894 entitled Method for Determining Misalignment of an Object Sensor, filed on Jan. 16, 2015, the entirety of which is incorporated herein by reference. Also in one embodiment, the second technique comprises a stationary object based approach that assumes that the object in question is stationary, for example as set forth in greater detail in U.S. patent application Ser. No. 14/229,178 entitled System and Method for Determining of and Compensating for Misalignment of a Sensor, filed on Mar. 28, 2014, the entirety of which is incorporated herein by reference. In one embodiment, the determination of step  204  is made by the processor  172  of  FIG. 1 . 
     In one embodiment, the first approach (e.g., the parallel motion approach) and the second approach (e.g., the stationary object approach) are both utilized regardless of the conditions as reflected in the sensor data. In one such embodiment, the conditions of step  204  can be always deemed to be satisfied for both the first and the second techniques. In other embodiments, the conditions for the first and second techniques may be satisfied based on various conditions such as those set forth below. For example, in one embodiment, if it is known from the sensor data that the object in question is moving substantially parallel to the vehicle  100 , then the parallel motion approach alone may be used. Similarly, in one embodiment, if it is known from the sensor data that the object in question is stationary, then the stationary object approach alone may be used. Also in one embodiment, if neither of these conditions (i.e., parallel movement of the object or the object being stationary) are determined to have been met by a reasonable degree of certainty, then the corresponding objects are considered invalid objects and are not used for calculation (in such event, the method will continue look for other valid objects in current and future loops and process accordingly, in one embodiment). 
     If it is determined that conditions for the first technique have been met, then the misalignment angle of the sensor is estimated using the first technique (step  206 ). In one embodiment in which the first technique comprises the above-described parallel motion technique, a first misalignment angle value for the sensor is calculated as follows: 
                     α   ≅     -           r   .     ⁢           ⁢   sin   ⁢           ⁢   θ     +     r   ⁢           ⁢   cos   ⁢           ⁢   θ   ⁢     θ   .               r   .     ⁢           ⁢   cos   ⁢           ⁢   θ     -     r   ⁢           ⁢   sin   ⁢           ⁢   θ   ⁢     θ   .               ,           (     Equation   ⁢           ⁢   1     )               
in which “α” represents the misalignment angle, “r” represents the range (or distance) between the object and the vehicle, “{dot over (r)}” represents the rate of change (or rate) of the range, “θ” represents the azimuth angle between the object and the vehicle, and “θ i ” represents the rate of change (or rate) of the azimuth angle. In one embodiment, these calculations are performed by the processor  172  of  FIG. 1 .
 
     If it is determined that conditions for the second technique have been met, then the misalignment angle of the sensor is estimated using the second technique (step  208 ). In one embodiment in which the first technique comprises the above-described stationary object technique, a second misalignment angle value for the sensor is calculated as follows: 
                     α   =       arccos   ⁡     (     -       r   .       v   H         )       -   θ       ,           (     Equation   ⁢           ⁢   2     )               
in which v H  represents a velocity of the vehicle with respect to the object. In one embodiment, these calculations are performed by the processor  172  of  FIG. 1 .
 
     As discussed above, in certain embodiments the estimate of the motion of the vehicle is generated using both the first and second techniques in each iteration. Also as discussed above, in certain other embodiments, the first technique, the second technique, or both may be utilized in any particular iteration based on the conditions represented in that particular iteration by the sensor data. Furthermore, because the steps are repeated throughout the vehicle drive or ignition cycle, the selection of the first technique, the second technique, or both, may be determined separately for each iteration or loop. For example, if the conditions for only the first technique are reflected by the sensor data for the first loop or iteration, then only the first technique may be used for the first iteration in one embodiment. By way of further example, if the conditions for only the second technique are reflected by the sensor data for the second loop or iteration, then only the second technique may be used for the second iteration in one embodiment. Similarly, if the conditions for both the first technique and the second technique are reflected by the sensor data for the third loop or iteration, then the first technique and the second technique may be used for the third iteration in one embodiment, and so on. 
     An average value for the misalignment angle is determined (step  210 ). In one embodiment, the average value is calculated by the processor  172  of  FIG. 1  using the first misalignment angle value of step  206  and the second misalignment value of step  208 . In one such embodiment, a weighted average value is obtained in step  210  for the misalignment angle. In certain embodiment, the weighting factors may vary based on which technique is utilized (for example for stationary versus moving objects). In one embodiment, the weighting factors are based at least in part on which technique is used. In one embodiment, the a first technique is used for tracked objects that are currently stationary (for example, objects that have previously been tracked as not moving and that continue to not move, or objects that have been previously tracked as moving but are not currently moving), whereas the second technique is used for moving objects, for example if the object is new (or newly located) or has been continuously tracked for at least a predetermined number of loops or iterations. In one embodiment, stationary objects are given more weight than moving objects, and objects that have been tracked for at least a predetermined number of loops or iterations are given more weight than new objects. 
     A determination is made as to whether the process is in an initial stage (step  212 ). In one embodiment, this determination is made by the processor  172  of  FIG. 1  based on an amount of time that has elapsed from the beginning of the current vehicle drive or ignition cycle. For example, in one embodiment, the process is deemed to be in the initial stage if the present loop or iteration is occurring less than a predetermined threshold amount of time after the beginning of the current vehicle drive or ignition cycle. Similarly, also in one embodiment, the process is deemed to n not be in the initial stage if the present loop or iteration is occurring after the predetermined threshold amount of time after the beginning of the current vehicle drive or ignition cycle. Also in one embodiment, the predetermined amount of time is stored in the memory  174  as a stored value  184  therein, and represents an amount of time after which sensor data (e.g., radar, camera, and/or LIDAR) with respect to the objects in proximity to the vehicle is expected to converge to reasonable stable values. In one embodiment, the predetermined threshold is equal to approximately 2600 seconds; however, this may vary in other embodiments. In one embodiment, the threshold is calibratable, and the value may change depending on the actual setups. In one example (consistent with the example provided above, in which the starting time stamp is equal to 2500 seconds), the threshold is equal to approximately 100 seconds in accordance with one embodiment. However, this may vary in other embodiments. 
     If it is determined that the process is in the initial stage, then a first filtering technique is applied (step  214 ). In one embodiment, the filtering is applied by the processor  172  of  FIG. 1  to the sensor data of step  202  using the first filtering technique to generate filtered data. Also in one embodiment, the first filtering technique comprises a relatively light or less intensive filtering approach. In one example, the light filtering approach uses first order filtering in accordance with the following equation:
 
 X   z   =a*c+X   z−1 *(1− c )  (Equation 3),
 
wherein X z−1  represents the previous loop&#39;s filtered value, “a” represents the current loop&#39;s instantaneous value, X z  represents the current loop&#39;s filter value, and “c” is the filter coefficient. Also in one embodiment, in light filtering, “c” is set to a relatively large value, as compared with the “c” value that is used in heavier filtering. In one embodiment, in the example given, the “c” value is set to 0.003 for light filtering, and 0.001 for heavy filtering. However, this may vary in other embodiments.
 
     Conversely, if it is determined that the process is not in the initial stage, then a second filtering technique is applied (step  216 ). In one embodiment, the filtering is applied by the processor  172  of  FIG. 1  to the sensor data of step  202  using the second filtering technique to generate filtered data. Also in one embodiment, the second filtering technique comprises a relatively heavy or more intensive filtering approach, such as the exemplary heavy filtering embodiment discussed above. 
     Per the discussion above, the various steps of the process  200  are preferably performed repeatedly throughout the vehicle drive or ignition cycle. Accordingly, in one embodiment, the first filtering technique of step  214  will be used for a number of the initial iterations or loops at the beginning of the current vehicle drive or ignition cycle, and the second filtering technique of step  216  will be subsequently used for the remaining iterations or loops of the vehicle drive or ignition cycle. Accordingly, a dual-stage filter is applied to the sensor data over various iterations or loops. 
     Compensation is provided for the sensor (step  218 ). In one embodiment, the compensation is provided by the processor  172  for the various sensor(s) of the sensor array  103  (e.g., radar  162 , camera  164 , and/or LIDAR  166 ) that obtained the radar data in step  202  pertaining to the object in proximity to the vehicle  100 . In certain embodiments, the weighted average of step  210  for the misalignment angle “α” is used to generate the compensation (also referred to herein as a correction factor) as follows:
 
θ c,i =θ i +α 0 +α  (Equation 4),
 
in which “θ i ” is the measured value of the azimuth angle between the object and the vehicle (as measured by the sensor as part of the sensor data of step  204 ), “α 0 ” represents the nominal (or expected) angle of mounting of the sensor with respect to the front of the vehicle (e.g., as noted in manufacturing specifications or the like), “α” is the misalignment angle of the sensor (for example, as determined using the weighted average of step  210 ), and θ c,i  is the revised (or compensate) azimuth angle between the object and the vehicle. It will be appreciated that in one embodiment X and Y components (for a vehicle X,Y coordinate system) may be used for the various parameters of Equation 4, including for the compensation for the sensor.
 
     The revised azimuth angle can then be used by the control system  102  and/or by other vehicle systems in any number of vehicle functions, for example in connection with the steering system  150  of  FIG. 1 , the braking system  160  of  FIG. 1 , any number of active safety functions (such as automatic braking, braking assist, steering assist, traction control, electronic stability control, lane departure warning, and lane change awareness), and/or any number of other functions. In addition, in one embodiment, the process also returns to step  201  in a new iteration, as the steps of the process  200  repeat, preferably continuously, in new loops or iterations throughout the vehicle drive or ignition cycle. 
     With reference to  FIG. 3 , in certain embodiments the compensation of step  218  may be provided only if certain additional conditions are also met. As depicted in  FIG. 3 , in one embodiment, step (or sub-process)  218  is initiated (step  302 ). Similar to the discussion above with respect to  FIG. 2 , the steps of  FIG. 3  are also repeated, preferably continuously, throughout the vehicle drive or ignition cycle. 
     A determination is made as to whether the first misalignment angle of step  206  of  FIG. 2  (e.g., using the parallel motion approach) exceeds a first fault threshold (step  304 ). In one embodiment, the first fault threshold is stored in the memory  174  of  FIG. 1  as one of the stored values  184  thereof. In one embodiment, the threshold value represents a fault flag that is set to plus or minus three degrees of misalignment. However, this may vary in other embodiments. If the first misalignment angle is greater than the first fault threshold, then a first fault counter (for the first misalignment estimation technique) is incremented (step  306 ). Conversely, if the first misalignment angle is less than or equal to the first fault threshold, then a first fault counter (for the first misalignment estimation technique) is decremented (step  308 ). In one embodiment, steps  304 - 308  are performed by the processor  172  of  FIG. 1 . 
     A determination is made as to whether the first fault counter has exceeded a first counter threshold (step  310 ). In one embodiment, the first counter threshold is equal to the calibrated fault mature time plus a hysteresis value. If the first fault counter is greater than the first counter threshold, then a flag for the first counter is set to true (step  312 ). Conversely, if the first counter is less than or equal to the first counter threshold, then the flag for the first counter is set to false (step  314 ). In one embodiment, steps  310 - 314  are performed by the processor  172  of  FIG. 1 . 
     In addition, a determination is made as to whether the second misalignment angle of step  208  of  FIG. 2  (e.g., using the stationary object approach) exceeds a second fault threshold (step  316 ). In one embodiment, the second fault threshold is stored in the memory  174  of  FIG. 1  as one of the stored values  184  thereof. In one embodiment, this threshold is equal to approximately plus or minus three degrees. However, this may vary in other embodiments. If the second misalignment angle is greater than the second fault threshold, then a second fault counter (for the second misalignment estimation technique) is incremented (step  318 ). Conversely, if the second misalignment angle is less than or equal to the second fault threshold, then a second fault counter (for the second misalignment estimation technique) is decremented (step  320 ). In one embodiment, steps  316 - 320  are performed by the processor  172  of  FIG. 1 . 
     A determination is made as to whether the second fault counter has exceeded a second counter threshold (step  322 ). In one embodiment, the second counter threshold is equal to the calibrated fault mature time plus a hysteresis value. If the second fault counter is greater than the second counter threshold, then a flag for the second counter is set to true (step  324 ). Conversely, if the second counter is less than or equal to the second counter threshold, then the flag for the second counter is set to false (step  326 ). In one embodiment, steps  322 - 326  are performed by the processor  172  of  FIG. 1 . 
     A determination is made as to whether the first fault flag and the second fault flag are both set to true (step  328 ). In one embodiment, this determination is made by the processor  172  of  FIG. 1  based on the most recent iterations of steps  312 ,  314 ,  324 , and  326 . In one embodiment, if it is determined that the first fault flag and the second fault flag are both set to true, then the compensation is provided for the sensor (step  330 ), preferably in the manner set forth above in connection with the discussion of step  218  of  FIG. 2 . Conversely, in one embodiment, if it is determined that one or both of the first fault flag and/or the second fault flag are set to false, then the process returns instead to step  302 , as steps  302 - 328  repeat until a determination is made that the first and second fault flags are both set to true. In addition, in one embodiment, the process also returns to step  302  for a new iteration following step  330 , as depicted in  FIG. 3 . 
     It will be appreciated that the disclosed methods, systems, and vehicles may vary from those depicted in the Figures and described herein. For example, the vehicle  100 , the control system  102 , and/or various components thereof may vary from that depicted in  FIG. 1  and described in connection therewith. In addition, it will be appreciated that certain steps of the process  200  may vary from those depicted in  FIGS. 2 and 3  and/or described above in connection therewith. It will similarly be appreciated that certain steps of the method described above may occur simultaneously or in a different order than that depicted in  FIGS. 2 and 3  and/or described above in connection therewith. 
     While at least one exemplary embodiment has been presented in the foregoing detailed description, it should be appreciated that a vast number of variations exist. It should also be appreciated that the exemplary embodiment or exemplary embodiments are only examples, and are not intended to limit the scope, applicability, or configuration of the disclosure in any way. Rather, the foregoing detailed description will provide those skilled in the art with a convenient road map for implementing the exemplary embodiment or exemplary embodiments. It should be understood that various changes can be made in the function and arrangement of elements without departing from the scope of the appended claims and the legal equivalents thereof.