Patent Description:
In the automotive industry there is an increasing trend towards vehicle autonomy, which concept includes both fully autonomous vehicles and vehicles with the capability of performing some driving functions autonomously, like emergency braking or adaptive cruise control. Regardless of whether a vehicle is fully or partially autonomous, driving functions require precise information not only on the vehicle's position but also on the vehicle's state of motion, defined by the velocity of the vehicle's centre of mass and the rotation of the vehicle, e.g., about each of three orthogonal axes through the centre of mass. Rotation can be determined by a rotation rate sensor, which is often part of a larger sensor system like an Inertial Measurement Unit (IMU). This is an electronic sensor (or group of sensors) measuring acceleration, rate of rotation, and in some cases also orientation of the vehicle. An IMU is used for example in so-called Advanced Driver Assistance Systems (ADAS) or also with Restraint Control Systems (RCS). It is evident that for these applications the sensor output has to be reliably precise and remain so over time.

The published German patent application <CIT> relates to the calibration of a measurement device, in particular of a rotation rate sensor, in a vehicle. Offsets for measured rotation rates are obtained from a table, in which the offsets are stored in dependence on temperature and uptime of the rotation sensor. Also stored is a statistical error of each offset. The table may be updated if the vehicle is at rest. The updated value of an offset for a particular temperature and uptime is a weighted average of the current value of the offset and a newly measured rotation rate, where the weights are given by the statistical errors of the new rotation rate and of the stored offset, respectively. The statistical error of a stored offset may be increased with time passed since the last update.

<CIT> discloses temperature-dependent correction of a measured rotation rate of a vehicle with an offset from a table. In the table, offset values are stored associated with temperature values. The table may be updated at vehicle rest.

<CIT> describes a method according to which an inertial measurement system is first gauged overall in a testing device in one calibration operation. Resulting compensation values are used to improve the accuracy of the system in operation.

It is known to compensate an offset in rotation rate of the rotation rate sensor either at the beginning of a cruise while the vehicle is still at rest or during a cruise. There are issues with both known approaches. During a cruise, the offset estimation tends to become faulty with increasing duration of the cruise. A determination of the offset at the beginning of a cruise cannot address influences on the offset which only show up later during the cruise; in fact, it turns out that temperature is a major influence here, and temperature will usually change during a cruise.

A further effect on sensor performance is the age of a sensor. Additionally, an estimate of a remaining error after an offset compensation would be desirable.

Therefore, it is an object of the invention to provide a method for offset compensation of a rotation rate sensor on board of a vehicle which addresses at least some of the aforementioned problems. This object is achieved by a method according to claim <NUM>. Claim <NUM> relates to a corresponding system and claim <NUM> to a corresponding vehicle.

The method according to the invention is for the compensation of an offset of a rotation rate sensor on board of a vehicle. According to the method, a rotation rate of the vehicle is measured with the rotation rate sensor. This measured rotation rate is corrected by subtracting an offset from the measured rotation rate, and the rotation rate thus corrected is subsequently output.

The offset is provided from a table associating temperature values with offset values. A temperature for the rotation rate sensor is determined and from the table the offset value associated with the determined temperature is used for correcting the measured rotation rate.

In this way, in compensating the offset of the rotation rate sensor the temperature dependence of the offset is taken into account. The compensation of the offset therefore is more accurate.

It should be noted here that the measuring of the rotation rate with the rotation rate sensor may be accomplished by reading out a single rotation rate value from the rotation rate sensor, which rotation rate value subsequently is corrected as just described. Alternatively, the measuring of the rotation rate with the rotation rate sensor may include reading out a plurality of rotation rate values, averaging over the plurality of rotation rate values and using the resulting average as the measured rotation rate, which subsequently is corrected as described above. In either case, reading out one or plural rotation rate values may include a filtering of raw sensor output, for example by a low pass filter. Any other known way of obtaining a rotation rate reading from the rotation rate sensor may also be suitable. The determining of a temperature for the rotation rate sensor can be accomplished by any means known in the art, and may, for example, include measuring a temperature of the rotation rate sensor with a temperature sensor, but may for example also include measuring one or plural temperature values in a vicinity of the rotation rate sensor and inferring the temperature for the rotation rate sensor therefrom. For example, a temperature for the rotation rate sensor may be derived via some model from the one or plural temperature values measured in a vicinity of the rotation rate sensor; alternatively, the one temperature value or an average over the plural temperature values measured in a vicinity of the rotation rate sensor may be taken as the temperature for the rotation rate sensor for purposes of the invention. Outputting the corrected rotation rate may include providing the corrected rotation rate to other systems and/or functions of the vehicle and may also include displaying the corrected rotation rate to a user, like a driver.

The table is updated via the following steps: It is determined whether or not the vehicle is at rest. The reason is that at rest the actual rotation rate is zero. Determining a rotation rate from the rotation rate sensor then provides an offset of the rotation rate sensor. More precisely, if it is determined that the vehicle is at rest, a temperature for the rotation rate sensor is determined, and a rotation rate is determined from the rotation rate sensor. Determining the temperature can be accomplished as has already been discussed above for the case of providing an offset for correcting a measured rotation rate. Determining the rotation rate may include reading out a single rotation rate value from the rotation rate sensor or may include reading out a plurality of rotation rate values and taking the average of the plurality of rotation rate values as the determined rotation rate. Reading out one or plural rotation rate values may include a filtering of raw sensor output, for example by a low pass filter. Subsequently, the table is updated with the temperature and associated offset. Determining this offset associated with the temperature involves the determined rotation rate.

In order to determine whether the vehicle is at rest, various methods can be applied. For example, signals from various sensors, available, e.g., via a vehicle bus, may be evaluated. These signals may include, without being limited thereto, signals indicative of a speed of the vehicle, an acceleration of the vehicle, rotation of the vehicle, position of the brake pedal, position of the throttle pedal, the state of the reverse gear, the locking state of the steering wheel, on/off-state of the vehicle engine. Speed, acceleration, rotation or the change thereof, available via these signals may be compared to thresholds in order to determine vehicle rest.

In an example not part of the claimed invention, the determined rotation rate is used as the offset for the respective temperature. In a different example not part of the claimed invention, the offset for the respective temperature is determined by an averaging procedure of rotation rates determined previously for the respective temperature at vehicle rest and the currently determined rotation rate at vehicle rest. To this end, previously determined rotation rates may be stored associated with the respective temperature; for example, a certain number of previously determined rotation rates, like five, ten, or twenty, may be stored for a respective temperature. In a specific variant of this example, the averaging procedure of rotation rates is a weighted average of rotation rates, with the weight of a rotation rate decreasing with increasing age of the rotation rate. To this end, upon updating the table, along with the temperature for the rotation rate sensor and the rotation rate determined at the update, the date of the update is stored, so that the age of the respective rotation rate can be inferred for purposes of weighting. As an alternative variant, instead of storing the date of an update and deriving a weight therefrom, a weight can be stored along with the rotation rate determined at the update. The weight is decreased in dependence on time.

In the method according to the invention, the offset for a specific temperature in the table is updated as follows: The new, updated value of the offset for the specific temperature is a weighted average of the previous offset in the table for this specific temperature, i.e., the offset before the update, and the currently determined rotation rate at vehicle rest for this temperature. The weight of the previous offset in the table is the lower the older it is, i.e., the longer in the past it was calculated. In a variant outside the scope of the invention, the date of the latest update is stored along with the offset. According to the invention, instead of storing the date of the latest update, a weight for the updated offset is stored, and the weight is decreased over time. At the next update, the weight for the offset in the table is directly available as a stored value and need not be derived from the date of the previous update.

More precisely, according to the invention, upon update the updated offset receives a pre-defined initial weight, expressed by a value of a counter. The counter is decreased by one at fixed time intervals. The weight of the currently determined rotation rate in the weighted average is equal to the pre-defined initial weight.

In an embodiment, an update for the table at a specific temperature is only performed if a pre-defined minimum amount of time has passed since the last update for that specific temperature.

Through the updating of the table described above the ageing of the rotation rate sensor is taken into account. The offsets stored in the table for the various embodiments thus may change over the course of time as the rotation rate sensor suffers changes with time. In this way it is assured that when a measured rotation rate needs to be corrected, a relatively recent offset is contained in the table.

In an embodiment, determining the rotation rate at vehicle rest involves reading out a plurality of rotation rate values from the rotation rate sensor and calculating an average over the plurality of rotation rate values. In this embodiment, additionally a measure of a fluctuation of the plurality of rotation rate values is calculated and stored associated with the respective temperature. This measure of the fluctuation can be considered an estimate of a statistical error of the determined rotation rate. The measure of the fluctuation can for example be a number of standard deviations of the plurality of rotation rate values, e.g., one, two, or three standard deviations; the measure of fluctuations can for example also be the maximum deviation of a value of the plurality of rotation rate values from the average of the plurality of rotation rate values, i.e., from the determined rotation rate.

In an embodiment, along with an output of a corrected rotation rate an estimate of a total error of the corrected rotation rate is output, the total error including at least the measure of the fluctuation of the rotation rate values for the respective temperature; this measure of fluctuation represents a statistical error of the corrected rotation rate, due to the fluctuations of rotation rates at determining the offsets, i.e., due to a statistical error of the offsets.

In a variant of this embodiment, the total error includes an error due to a rate of change of temperature. The reason here is that while the offsets determined for various temperatures as described above can be used to correct the rotation rates obtained from the rotation rate sensor, this compensation may not be reliable if the temperature for the rotation rate sensor is not well defined. In particular, if the temperature of the rotation rate sensor, or an environment thereof, is changing, the rotation rate sensor may not be operating in a thermally settled state, leading to additional errors in the values of rotation rates provided by the sensor. An estimate of this error is included in the total error. One way to achieve this is to rely on a sensor data sheet provided by a manufacturer of the specific rotation rate sensor used, which data sheet gives estimates of this error in dependence on the rate of change of the temperature.

As has been described above, the table relating temperatures to offsets may be updated. Nonetheless it may occur that when an offset for a particular temperature is needed, the last update for the offset at this particular temperature has been some time ago; in the meantime, the offset may have changed. In order to account for this, the total error, in a further variant, includes an error due to the age of the offset used for correction of the rotation rate. One way to obtain this error is from a sensor data sheet provided by the manufacturer of the sensor, which states a drift rate of the rotation rate output from the sensor with sensor age or a maximum drift of the sensor over a specified lifetime of the sensor. In a simple example, a drift rate could be obtained as such a maximum drift divided by the specified lifetime. An estimate of the error due to the age of the offset used for correction may then be obtained as this drift rate multiplied with the time passed since this offset was calculated in an update of the table.

The total error, including one or more contributions as discussed above, may be such that the correct rotation rate of the vehicle is within the range specified by the total error about the corrected rotation rate with a specified probability, like <NUM>% or <NUM>%, without these percentages being a limitation of the invention.

It may occur that a measured rotation rate needs to be corrected and the temperature for the rotation rate sensor at which this rotation rate has been measured is not contained in the table. One approach is to choose the offset for that temperature in the table which is closest to the temperature at which this rotation rate was measured. Another approach is to calculate the offset for the temperature by interpolation of values contained in the table. The interpolation may for example be a linear interpolation or a cubic spline interpolation, without the invention being limited thereto.

As for the temperature and offset values stored in the table, the following further remarks are due: If, upon updating the table at vehicle rest, a temperature for the rotation rate sensor is determined which is not yet contained in the table, this temperature, along with the correspondingly determined offset, may be included in the table. The determined offset in case of first inclusion of a temperature-offset pair into the table for a temperature not previously contained in the table may be the determined rotation rate at vehicle rest at this temperature. This applies also in case the table is completely empty, e.g., for an entirely new vehicle or rotation rate sensor, or after a reset. The finite accuracy and resolution of the determination of the temperature, e.g., a temperature sensor used for this purpose will have a finite resolution and accuracy, may lead to a coarse graining of the temperature values stored in the table. Such a coarse graining may also be introduced by design of the table. For example, the table may only hold temperature values spaced apart by a minimal number of degrees, like one, two, or five degrees centigrade. Upon updating, the determined rotation rate may be used to update that entry of the table the corresponding temperature of which is closest to the temperature found at first at the update, i.e., one or an average of plural temperatures measured at or in the vicinity of the rotation rate sensor. The respective temperature contained in the table can be considered an effective temperature, and in this case, for purposes of updating, the temperature for the rotation rate sensor is this effective temperature. This approach may be refined by estimating the offset for the effective temperature, e.g., by linear approximation. A further refinement is that in addition to updating the entry of the table for the effective temperature, the table is also updated at a neighbouring entry, i.e., an entry corresponding to a further one of the temperatures held in the table, so that the temperature found at first for the rotation rate sensor is between the effective temperature and the temperature corresponding to the neighbouring entry. The corresponding offset for the neighbouring entry may be estimated, e.g., by linear approximation.

In an embodiment, when, for the purposes of an update of the table, the temperature for the rotation rate sensor is determined, a rate of change of the temperature for the rotation rate sensor is also determined. An update of the table is only performed if this rate of change is below a pre-defined threshold. The higher the rate of change of the temperature, the less thermally settled the rotation rate sensor is, and the more unreliable its rotation rate output becomes. By limiting updates of the table to situations when the rate of change of the temperature is below a pre-defined threshold, it is assured that the data in the table remain reliable to an accepted degree over the course of updates. In cases as discussed above, where the temperature for the rotation rate sensor is an effective temperature, here the rate of change of the temperature before conversion to the effective temperature should be considered, i.e., one or more temperatures measured at or in the vicinity of the rotation rate sensor.

Generally, the method according to the invention may be performed by a data processing unit on board of the vehicle in cooperation with the rotation rate sensor. The rotation rate sensor may be implemented in an Inertial Measurement Unit. The table holding temperature and offset values and the further values to be stored according to the method may be stored in the data processing unit in one or plural known and suitable data structures.

The system according to the invention includes a data processing unit and a rotation rate sensor and is configured to perform the method according to the invention, as described above. The vehicle according to the invention includes an aforementioned system according to the invention.

Below, the invention and its advantages will be described with reference to the accompanying figures.

The figures serve to illustrate the invention and relate to embodiments of the invention in order to do so. The figures are not to be taken as a limitation of the invention to such embodiments.

<FIG> is an example of a graph showing rotation rate as determined with a rotation rate sensor on board of a vehicle at rest versus temperature. So, this graph shows a rotation rate offset in dependence on temperature. While this dependence will be different for different types or models of rotation rate sensors, one typical rotation rate sensor has the offset varying over a range of about <NUM> degrees/second in a temperature range from about -<NUM> degrees centigrade to <NUM> degrees centigrade. Such a variation of the offset is too large to be neglected if reliable autonomous driving functions are to be achieved; it is in particular not sufficient to determine the offset once prior to a cruise with the vehicle still at rest, as temperature usually will vary during the cruise.

<FIG> shows the principle of rotation rate compensation. With rotation rate sensor <NUM> a rotation rate <NUM> is measured. A temperature <NUM> for the rotation rate sensor <NUM> is determined. The temperature <NUM> is referred to a table <NUM> holding values of temperature associated with rotation rate offsets. This referral results in an offset <NUM> for the temperature <NUM>. This offset <NUM> is subtracted from the measured rotation rate <NUM>, resulting in a corrected rotation rate <NUM>. If the temperature <NUM> is found in table <NUM>, the associated offset is the resulting offset <NUM>. If the temperature <NUM> is not found in table <NUM>, the offset associated with the temperature in table <NUM> closest to temperature <NUM> may be the resulting offset <NUM>. Another possibility is that the resulting offset <NUM> is found from interpolation of the temperature-offset pairs in table <NUM>.

<FIG> includes three plots sharing a common abscissa on which the temperature T for the rotation rate sensor is indicated. The top plot shows the offset stored in the table in dependence on temperature. The temperature values contained in the table are indicated by lines <NUM>. The rotation rate sensor has a temperature range of operation <NUM>, and in the example shown only offsets for temperatures in a smaller range <NUM> contained within the range of operation <NUM> have been determined and updated in the table. For temperatures in the range <NUM>, but outside range <NUM>, the offsets for the closest temperature in the range <NUM> are used. As can be seen, in this example the temperature values stored in the table are not spaced equidistantly.

The middle plot indicates the statistical error of the determined offset in the range <NUM>. Outside the range <NUM> the maximum rotation rate error for the operating life of the rotation rate sensor is used as offset error. This maximum rotation rate error can for example be obtained from a data sheet for the specific rotation rate sensor, provided by a manufacturer of the rotation rate sensor.

The bottom plot shows the weight for the offsets stored in the table for the various temperatures. The weights shown apply to a given point in time, as the weights are decreased with increasing age of an offset, i.e., increasing time since the last update for the respective temperature. Upon update the offset always receives a pre-defined initial weight, expressed by a value of a counter. At fixed time intervals, e.g., every <NUM> seconds, the counter is decreased by one. Upon update, the new offset is calculated as a weighted average of the rotation rate determined at update and the offset already stored in the table for the respective temperature. The weight of the offset stored is the value the counter has reached upon update, the weight of the rotation rate determined upon update is equal to the pre-defined initial weight. The new offset starts out with the pre-defined initial weight.

<FIG> shows an example of the updating of the temperature-offset table <NUM>. Vehicle bus data <NUM> and a rotation rate value <NUM> are provided to decision block <NUM> to determine whether the vehicle is at rest. The vehicle bus data <NUM> may for example include the locking state of the vehicle's steering wheel, the positions of throttle and brakes, the state of the gear, the on/off state of the vehicle's engine, speed and acceleration of the vehicle. The rotation rate <NUM> is obtained from the rotation rate sensor <NUM>, and here is shown to be obtained after passing the raw output from the rotation rate sensor <NUM> through a low pass filter <NUM>. If the vehicle is found not to be at rest, no update of table <NUM> is done. In decision block <NUM> it is determined whether a rate of change <NUM> over time of the temperature for the rotation rate sensor <NUM> is below a pre-defined threshold. If the rate of change <NUM> is above the threshold, no update of the table <NUM> is done, as the rotation rate <NUM> provided by the rotation rate sensor <NUM> may have too large an error. If the vehicle is determined to be at rest in decision block <NUM> and the rate of change <NUM> of the temperature is found to be below the threshold in decision block <NUM> then a computation <NUM> of various quantities is done. The computation <NUM> involves the rotation rate <NUM>, the temperature <NUM> for the rotation rate sensor <NUM>, the offset <NUM> currently stored in table <NUM> for the temperature <NUM>, and the weight <NUM> currently stored in the table <NUM> for temperature <NUM>. For the temperature <NUM> the computation produces an updated value of the offset <NUM> as weighted average of the rotation rate <NUM> and the offset <NUM> currently stored in the table <NUM>, the weighted average requiring the weight <NUM>. Also, the error <NUM> for the offset is determined; this error includes at least the statistical error. Temperature <NUM>, updated value of the offset <NUM>, determined error of the offset <NUM> and updated weight <NUM> are stored in the table <NUM>. Determining the statistical error included in error <NUM> for an update requires that the rotation rate <NUM> is obtained from a plurality of rotation rate readings from rotation rate sensor <NUM> via low pass filter <NUM> as an average, and that additionally the variations of the values of the plurality of readings around this average are calculated, as has been discussed above. Also, as has been discussed above, too, if the temperature <NUM> determined for the rotation rate sensor <NUM> does not fit the coarse graining of the temperatures in table <NUM>, a correspondingly adjusted temperature may be used instead.

<FIG> shows an example of rotation rate compensation, as an implementation of the general principle discussed in the context of <FIG>. A rotation rate <NUM> is measured by the rotation rate sensor <NUM> via a low pass filter <NUM>. This measured rotation rate <NUM>, a temperature <NUM> for the rotation rate sensor <NUM> and a rate of change <NUM> of the temperature for the rotation rate sensor <NUM> are provided to a compensation routine <NUM>. Compensation routine <NUM> can access the data stored in table <NUM>, i.e., temperatures, corresponding offsets, errors, and weights, as well as data <NUM> on the rotation rate sensor <NUM>, which may originate from the manufacturer of the rotation rate sensor <NUM>. From the data stored in table <NUM> compensation routine <NUM> obtains an offset to correct the measured rotation rate <NUM>; the offset can be obtained by interpolation if the temperature <NUM> has a value between the temperature values contained in the table <NUM>. This offset is subtracted from the measured rotation rate <NUM> to obtain the corrected rotation rate <NUM>. From the data in table <NUM> the compensation routine <NUM> also obtains a statistical error for the rotation rate, which may also be obtained by interpolation if the temperature <NUM> has a value between the temperature values contained in the table <NUM>. The statistical error is part of the total error <NUM>. From data <NUM> the compensation routine <NUM> obtains an error of the measured rotation rate due to the rate of change <NUM> of the temperature. This error is added to the statistical error. A further contribution to the total error <NUM> arises, as mentioned above, from the fact that the latest update of the data in table <NUM> relevant for temperature <NUM> may have been some time ago. From data <NUM> a drift rate of the rotation rate sensor error with time is obtained, and from the time since the last update of the relevant data in table <NUM> the corresponding contribution to the total error <NUM> is derived. The time since the last update may either be inferred directly from the time of the measurement of rotation rate <NUM> to be corrected and the time of the last update, if such time is stored in the table <NUM>, or it can be inferred from the weight stored in table <NUM>, as the weight is reduced in a defined manner in dependence on time, starting from a defined value. From the compensation routine <NUM> a corrected rotation rate <NUM> and a total error <NUM> are output. The nature of the total error <NUM>, based on the statistical error from table <NUM> and the errors due to rate of change of temperature and time since the last update, which are related to rotation rate sensor specifications, is such that the correct rotation rate deviates from the corrected rotation rate <NUM> at most by the total error <NUM> with a defined probability, like for instance <NUM>% or <NUM>%.

Claim 1:
Method for offset compensation of a rotation rate sensor (<NUM>) on board of a vehicle (<NUM>), the method comprising:
measuring a rotation rate (<NUM>) of the vehicle (<NUM>) with the rotation rate sensor (<NUM>);
correcting the rotation rate (<NUM>) by subtracting an offset (<NUM>) from the measured rotation rate (<NUM>);
outputting the corrected rotation rate (<NUM>);
wherein
a temperature (<NUM>) is determined for the rotation rate sensor (<NUM>), and
the offset (<NUM>) is provided from a table (<NUM>) associating temperature values with offset values,
wherein the table is updated by performing the following steps:
determining if the vehicle (<NUM>) is at rest;
if it is determined that the vehicle (<NUM>) is at rest,
determining a temperature (<NUM>) for the rotation rate sensor (<NUM>),
determining a rotation rate (<NUM>) from the rotation rate sensor (<NUM>),
updating the table (<NUM>) with an offset (<NUM>) and the temperature (<NUM>), wherein in the updating of the table (<NUM>) a weight (<NUM>) for the updated offset (<NUM>) is stored, the offset (<NUM>) is calculated as a weighted average of the currently determined rotation rate (<NUM>) at vehicle rest and the previous offset (<NUM>) contained in the table (<NUM>) for the respective temperature (<NUM>), and the weight (<NUM>) of the updated offset (<NUM>) is decreased with increasing time after the update,
characterized in that
the weight upon update for the updated offset is a pre-defined initial weight, expressed by a value of a counter;
the counter is decreased by one at fixed time intervals;
the weight of the currently determined rotation rate (<NUM>) in the weighted average is equal to the pre-defined initial weight.