Patent Description:
In general terms, a steering system refers to a system of components, linkages, etc. which allows any land vehicle (such as a truck, car, motorcycle, or bicycle) to follow a desired course of travel. The primary purpose of the steering system is thus to allow the driver of the vehicle to guide the vehicle along the desired course of travel.

One conventional steering system is arranged to, via a steering column, turn the road-wheels (such as the front wheels) of the vehicle upon a hand-operated steering wheel being turned. The steering wheel is typically positioned in front of the driver. The steering column extends either between the steering wheel and a steering house or between the steering wheel and an electric motor which then in turn is coupled to the steering house. The steering column might comprise universal joints to allow the steering column to deviate somewhat from a straight line between the steering wheel and the electric motor (or the steering house). The electric motor forms part of a power steering system that aids the driver to steer the vehicle by augmenting the steering effort needed to turn the steering wheel, making it easier for the vehicle to turn or maneuver. In some Automated Driving Systems (ADSs) and Advanced Driving Support Systems (ADASs), the driver might apply considerably little torque, or not apply any torque at all, at the steering wheel, and the ADS or ADAS controls the steering system of the vehicle directly via the electric motor.

The output shaft of the steering house is connected to a pitman arm, which moves the road-wheels of the vehicle via a drag link, a wheel lever and a tie rod. In the remainder of this disclosure, the components between the steering house and the road-wheel are collectively denoted steering linkage. In the steering house the input torque is amplified, typically using hydraulics. A steering house of this type often exhibits non-negligible backlash at several places in the torque transfer.

In general terms, the amount of backlash increases with wear. It is then possible to gradually tighten the gears in the steering house, although this increases the rate of the wear. Hence, there is a trade-off between having a small amount of backlash and a slow wear of the gears in the steering house. In control theory, control loops with static nonlinearities can result in oscillatory behavior (so-called limit cycles) of the controlled system. In the specific case of backlash, the amplitude of the oscillations typically increases with the amount of backlash (i.e., with the size of the play). To ensure that the ADS or ADAS behaves as expected, it is important to ensure that the backlash is not larger than what the system has been designed for. Document <CIT> discloses a controller for compensating for backlash in a steering housing of a steering system in a vehicle, the controller comprising processing circuitry being configured to cause the controller to use a backlash correction hysteresis in order to compensate for the backlash in the steering house.

Hence, there is a need for accurate monitoring and handling of backlash in a steering house of a steering system in a vehicle.

An object of embodiments herein is to provide a controller and a computer program addressing the above issues.

According to a first aspect not forming part of the invention there is presented a method for compensating for backlash in a steering house of a steering system in a vehicle. The method is performed by a controller of the steering system. The method comprises obtaining a hysteresis model of the backlash in the steering house. The hysteresis model has an inverse. The method comprises obtaining a control signal to be input to an electric motor of the steering system. The control signal defines a desired set point for the steering system. The method comprises determining an adjusted set point for the steering system based on the inverse of the hysteresis model, the desired set point, and a current operating point in the hysteresis model. The adjusted set point defines an adjusted control signal. The method comprises compensating for the backlash in the steering house by providing the adjusted control signal, instead of the control signal, as input to the electric motor.

According to a second aspect there is presented a controller for compensating for backlash in a steering house of a steering system in a vehicle. The controller comprises processing circuitry. The processing circuitry is configured to cause the controller to obtain a hysteresis model of the backlash in the steering house. The hysteresis model has an inverse. The processing circuitry is configured to cause the controller to obtain a control signal to be input to an electric motor of the steering system. The control signal defines a desired set point for the steering system. The processing circuitry is configured to cause the controller to determine an adjusted set point for the steering system based on the inverse of the hysteresis model, the desired set point, and a current operating point in the hysteresis model. The adjusted set point defines an adjusted control signal. The processing circuitry is configured to cause the controller to compensate for the backlash in the steering house by providing the adjusted control signal, instead of the control signal, as input to the electric motor.

According to a third aspect there is presented a vehicle. The vehicle comprises a steering system. The steering system comprises a controller according to the second aspect.

According to a fourth aspect there is presented a computer program for compensating for backlash in a steering house of a steering system in a vehicle, the computer program comprising computer program code which, when run on a controller of the steering system, causes the controller to perform a method according to the first aspect.

According to a fifth aspect not forming pat of the invention there is presented a computer program product comprising a computer program according to the fourth aspect and a computer readable storage medium on which the computer program is stored. The computer readable storage medium could be a non-transitory computer readable storage medium.

Advantageously these aspects provide accurate monitoring and handling of backlash in a steering house of a steering system in a vehicle.

In some embodiments, the vehicle comprises and ADS or an ADAS, and wherein the steering system is part of the ADS or ADAS.

In some embodiments, the control signal to be input to the electric motor is provided as a command value from a steering function of the ADS or ADAS, and the command value sets a desired value for an angle of an output shaft of the steering house.

<FIG> is a block diagram of a steering system 100a according to an embodiment. The steering system 100a comprises an electric motor <NUM>, a steering house <NUM>, steering linkage <NUM>, and a road-wheel (or pair, or set, of road-wheels) <NUM>. The electric motor <NUM> is coupled to the input shaft of the steering house <NUM> and the output shaft of the steering house is connected to the road-wheel <NUM> via the steering linkage <NUM>. The steering linkage <NUM> comprises a pitman arm, which moves the road-wheels of the vehicle via a drag link, a wheel lever and a tie rod. In the steering house, input torque is amplified, typically using hydraulics. As disclosed above, a steering house of this type often exhibits non-negligible backlash at several places in the torque transfer. As further disclosed above, there is a need for accurate monitoring and handling of backlash in a steering house <NUM> of a steering system 100a in a vehicle.

The embodiments disclosed herein therefore relate to mechanisms for compensating for backlash in a steering house <NUM> of a steering system 100a in a vehicle. In order to obtain such mechanisms there is provided a controller, a method performed by the controller, a computer program product comprising code, for example in the form of a computer program, that when run on the controller, causes the controller to perform the method.

<FIG> is a flowchart illustrating embodiments of methods for compensating for backlash in a steering house <NUM> of a steering system 100a in a vehicle. The methods are performed by the controller <NUM>. The methods are advantageously provided as computer programs.

Nonlinear hydraulic amplification and different backlashes can be modeled as hysteresis. The method is based on using the inverse of a hysteresis model of the backlash to compensate for hysteresis effects (i.e., backlash) in the steering house <NUM>. A control signal is obtained (e.g. from a steering function) and an adjusted control signal is provided to the electric motor <NUM> of the steering system 100a. In particular, the controller <NUM> is configured to perform steps S102, S104, S106, and S108:.

Embodiments relating to further details of compensating for backlash in a steering house <NUM> of a steering system 100a in a vehicle as performed by the controller <NUM> will now be disclosed.

There may be different types of hysteresis models. One model involves monitoring the rotor angle of the electric motor <NUM> and the output torque from the electric motor <NUM> when a sign change of the angular velocity of the rotor is observed. A rotation of the rotor while the motor outputs a low torque indicates that the gears are moving in the play, and hence that the steering house <NUM> exhibits backlash. Another model involves the use of Preisach hysteresis operators. That is, in some embodiments the hysteresis model is based on Preisach hysteresis operators. In this respect, the hysteresis can be modelled using so-called Preisach hysteresis operators where the hysteresis is modelled as a weighted integral over relay operators. For some scalars α and β, where α ≥ β, consider the simple relay element ŷαβ illustrated at <NUM> in <FIG>. Provided some initial condition ξ = {-<NUM>, <NUM>} the output ω(t) = γ̂αβ[u, ξ] is defined as: <MAT>.

The Preisach operator can then be expressed as: <MAT> where µ : R<NUM> → R is the Preisach density function. The hysteresis model is then defined by the parameter µ.

In some embodiments, the current operating point is represented by measurements taken at two places in the steering system 100a. According to the illustrative example of <FIG>, there are two measurements: one measurement taken at point A before the steering house <NUM> and another measurement taken at point B after the steering house <NUM>. That is, in some embodiments, a first of the measurements is taken upstream the steering house <NUM>, and wherein a second of the measurements is taken downstream the steering house <NUM>.

According to the illustrative example of <FIG>, the measurements are of the angle of the input shaft and the output shaft of the steering box. That is, in some embodiments, the first of the measurements pertains to an angle of an input shaft of the steering house <NUM>, and wherein the second of the measurements pertains to an angle of an output shaft of the steering house <NUM>.

In some aspects, the controller <NUM> uses the inverse of the model to determine what the value on the input shaft to the steering house <NUM> (which is at point A) should be to give the value that the control signal as obtained in step S104, has commanded on the output shaft from the steering house <NUM> (which is at point B). That is, in some embodiments, the adjusted set point for the steering system 100a sets a desired value for the angle of the input shaft of the steering house <NUM>.

Assume that the angle of the input shaft (which is at point A) and the output shaft (which is at point B) of the steering house <NUM>, as illustrated in <FIG>. How the Preisach density function can be estimated will now be disclosed with reference to the block diagram <NUM> of <FIG>. Fig. schematically illustrates how measurements at the input and output of the steering house <NUM> are obtained by a hysteresis modeller <NUM>. The hysteresis modeller <NUM> implements the hysteresis model. The angle of the input shaft (as represented by the measurement at point A) is thus used as input to the hysteresis modeller <NUM>. The value (denoted Bm in <FIG>) as predicted by the hysteresis modeller <NUM> is then compared to the actual value (denoted Ba in <FIG>) of the angle of the output shaft (as represented by the measurement at point B) of the steering house <NUM>. The difference between the predicted value Bm and the actual value Ba can then be used to drive the update of the hysteresis model so as to decrease the prediction error. That is in some embodiments, the controller <NUM> is configured to perform (optional) steps S116 and S118:.

Steps S116 and S118 might be executed continuously whilst the method of <FIG> is running.

In some embodiments, the hysteresis model defines a hysteresis curve, and the measurements uniquely define a point on the hysteresis curve. <FIG> illustrates at <NUM> an example of such a hysteresis curve and <FIG> illustrates at <NUM> the inverse of the hysteresis model in <FIG>.

In some embodiments, the vehicle comprises and ADS or an ADAS, and wherein the steering system 100a is part of the ADS or ADAS. Oscillatory behaviour of the ADS or ADAS can then be prevented even if the steering house <NUM> exhibits a large backlash.

<FIG> is a block diagram of a steering system 100b according to an embodiment. The steering system 100b comprises the same components as the steering system 100a and additionally comprises the controller <NUM> and a steering function <NUM>. The steering function <NUM> could be part of the ADS or ADAS. <FIG> schematically illustrates how the steering function <NUM> supplies a commanded value to the controller <NUM>, where the commanded value sets a desired value for the angle of output shaft from the steering house <NUM>. The control signal is then in step S104 obtained from the steering function <NUM>. That is, in some embodiments, the control signal to be input to the electric motor <NUM> is provided as a command value from a steering function <NUM> of the ADS or ADAS, and the command value sets a desired value for the angle of the output shaft of the steering house <NUM>.

In accordance with what has been disclosed above, when the steering function <NUM> supplies the commanded value, it in essence sets a desired value for point B in <FIG> (closely related to the road-wheel angle). This value is received by the controller <NUM>. However, because of backlash, if this value is used as input to the steering house <NUM>, the output from the steering house <NUM> will be incorrect. The controller <NUM> therefore effectuates the command by setting an internal reference value for the input shaft to the steering house <NUM>. To compensate for backlash, the controller <NUM> uses the measurements from points A and B in <FIG> or <FIG> to determine the current operating point in the hysteresis model <NUM>, and uses the inverse of the hysteresis model <NUM> to determine what the value on the input shaft to the steering house <NUM> (which is at point A) should be to give the value that the steering function <NUM> has commanded on point B.

It is noted that the steering function <NUM> might not be part of the ADS or ADAS functionality. As an example, instead of receiving input from the ADS or ADAS, the steering function <NUM> might be configured to receive input from the driver. For example, the steering function <NUM> might be configured to receive input from the steering column as connected to the steering wheel.

In some aspects, the model of the hysteresis is used to monitor that the backlash is not larger than what the control system has been designed to handle. That is in some embodiments, the controller <NUM> is configured to perform (optional) step S110:
S110: The controller <NUM> determines an amount of deviation of the second of the measurements from a first threshold value. The amount of backlash can then be defined by this amount of deviation.

<FIG> schematically illustrates at <NUM> a hysteresis model that is representative of a maximum amount of backlash, in <FIG> defined by the width C, which can be compared to the first threshold value, in <FIG> defined by the width D. For instance, if it is known that the ADS or ADAS induces unacceptable oscillations for some lash or hysteresis width D or larger, and the estimate of the actual lash or hysteresis width defined by the width C, a system fault can be triggered when C>D. In this way, the width D serves as a specification of allowable values for the width C.

There could be different actions taken by the controller <NUM> when the amount of backlash, as defined by the amount of deviation, is too large.

In some aspects, the driver of the vehicle is warned. That is in some embodiments, the controller <NUM> is configured to perform (optional) step S112:
S112: The controller <NUM> issues a warning signal to a driver of the vehicle when the amount of deviation exceeds a second threshold value.

In some aspects, the ADS or ADAS is shut down. That is in some embodiments, the controller <NUM> is configured to perform (optional) step S112:
S114: The controller <NUM> disengages the ADS or ADAS when the amount of deviation exceeds a third threshold value.

In one example, the third threshold value is larger than the second threshold value. This example gives the driver the opportunity to by herself/himself shut down the ADS or ADAS. In another example, the third threshold value equals the second threshold value. This gives example gives the driver a warning that the ADS or ADAS is to be shut down (in case step S112 is performed before step S114).

<FIG> schematically illustrates a vehicle <NUM>. The vehicle <NUM> comprises a steering system 100a, 100b having a controller <NUM> as disclosed herein. There could be different examples of vehicle <NUM>. The vehicle <NUM> might be any of: a truck, a bus, a piece of construction equipment, or a personal vehicle <NUM>. In this respect, the herein disclosed embodiments can thus be applied in heavy-duty vehicle <NUM>, such as trucks, buses and construction equipment as well as person vehicle <NUM>. The herein disclosed embodiments are applicable on working machines within the fields of industrial construction machines or construction equipment, such as wheel loaders, articulated haulers, excavators and backhoe loaders. However, the herein disclosed embodiments are not restricted to any particular type of vehicle <NUM>.

<FIG> schematically illustrates, in terms of a number of functional units, the components of a controller <NUM> according to an embodiment. Processing circuitry <NUM> is provided using any combination of one or more of a suitable central processing unit (CPU), multiprocessor, microcontroller, digital signal processor (DSP), etc., capable of executing software instructions stored in a computer program product <NUM> (as in <FIG>), e.g. in the form of a storage medium <NUM>. The processing circuitry <NUM> may further be provided as at least one application specific integrated circuit (ASIC), or field programmable gate array (FPGA).

Particularly, the processing circuitry <NUM> is configured to cause the controller <NUM> to perform a set of operations, or steps, as disclosed above. For example, the storage medium <NUM> may store the set of operations, and the processing circuitry <NUM> may be configured to retrieve the set of operations from the storage medium <NUM> to cause the controller <NUM> to perform the set of operations.

Thus the processing circuitry <NUM> is thereby arranged to execute methods as herein disclosed. The controller <NUM> may further comprise a communications interface <NUM> at least configured for communications with other entities of the steering system, the ADS or ADAS, and/or the vehicle. As such the communications interface <NUM> may comprise one or more transmitters and receivers, comprising analogue and digital components. The processing circuitry <NUM> controls the general operation of the controller <NUM> e.g. by sending data and control signals to the communications interface <NUM> and the storage medium <NUM>, by receiving data and reports from the communications interface <NUM>, and by retrieving data and instructions from the storage medium <NUM>. Other components, as well as the related functionality, of the controller <NUM> are omitted in order not to obscure the concepts presented herein.

The controller <NUM> may be provided as a standalone device or as a part of at least one further device. Alternatively, functionality of the controller <NUM> may be distributed between at least two devices, or nodes. Thus, a first portion of the instructions performed by the controller <NUM> may be executed in a first device, and a second portion of the of the instructions performed by the controller <NUM> may be executed in a second device; the herein disclosed embodiments are not limited to any particular number of devices on which the instructions performed by the controller <NUM> may be executed. Hence, the methods according to the herein disclosed embodiments are suitable to be performed by a controller <NUM> residing in a cloud computational environment. Therefore, although a single processing circuitry <NUM> is illustrated in <FIG> the processing circuitry <NUM> may be distributed among a plurality of devices, or nodes.

Claim 1:
A controller (<NUM>) for compensating for backlash (C) in a steering house (<NUM>) of a steering system (100a, 100b) in a vehicle (<NUM>), the controller (<NUM>) comprising processing circuitry (<NUM>), the processing circuitry (<NUM>) being configured to cause the controller (<NUM>) to:
obtain a hysteresis model (<NUM>) of the backlash (C) in the steering house (<NUM>), the hysteresis model (<NUM>) having an inverse (<NUM>);
obtain a control signal to be input to an electric motor (<NUM>) of the steering system (100a, 100b), the control signal defining a desired set point for the steering system (100a, 100b);
determine an adjusted set point for the steering system (100a, 100b) based on the inverse (<NUM>) of the hysteresis model (<NUM>), the desired set point, and a current operating point in the hysteresis model (<NUM>), wherein the adjusted set point defines an adjusted control signal; and
compensate for the backlash (C) in the steering house (<NUM>) by providing the adjusted control signal, instead of the control signal, as input to the electric motor (<NUM>).