*3.1. Steering-Wheel-Torque Direct Control Strategy*

The existing DDAS controller mostly adopts an open-loop strategy based on an assist characteristic curve look-up table inherited from the EPS control plan [7,18]. Different from the working principle of an EPS system, the steering assistance generated by a DDAS system through the ground traction force difference is indirectly applied on the steering system. Given the complexity of real road conditions and nonlinear characteristics of vehicle tires as well as inconstant scrub radius, acquiring the actual ground traction force accurately is difficult. Hence, a traditional control strategy like EPS which generates the steering assistance torque command directly based on a look-up table of control current of the steering electric motor is hard to implement. In another words, it is difficult to directly determine the torque commands of the two front in-wheel motors, since we do not know the accurate law that defines how much torque difference can generate required steering assistance torque for the steering system. Therefore, a reference steering wheel torque following control law called as steering-wheel-torque direct control strategy has to be proposed to avoid the embarrassment that the steering assistance torque is hard to know in DDAS system. It is proved that this control strategy is suitable to solve this problem and it is not hard to be carried out in real applications. The architecture of the steering-wheel-torque direct control strategy is shown in Figure 7.

**Figure 7.** Steering-wheel-torque direct control strategy.

As Figure 7 shows, the actual steering wheel torque *Tsw* is measured through a steering wheel torque sensor and the steering wheel angle δ*sw* is measured through a steering wheel angle sensor, and the vehicle speed signal *V* is obtained from the CAN bus. Then δ*sw* and *V* are delivered to the ideal steering wheel torque map to obtain the target steering wheel torque *Tswd*. The difference of the ideal steering wheel torque *Tswd* and the actual steering wheel torque *Tsw* is delivered to the DDAS controller to obtain the front wheels torque difference Δ*Tz*. The front wheels torque difference Δ*Tz* is distributed by the torque vectoring block, as shown in the Equation (17), which distributes half of the torque difference to the two side wheels with equal absolute value but opposite sign. Then the differential of ground traction force of the front wheels generated by torque vectoring makes the actual

steering wheel torque track the ideal steering wheel torque, which consequently reduces the steering wheel hand force of the driver:

$$\begin{cases} \begin{array}{c} T\_1, T\_2 = \frac{T\_{drr}}{4} \pm \frac{\Delta T\_r}{2} \\ T\_3, T\_4 = \frac{T\_{drr}}{4} \end{array} \end{cases} \tag{17}$$

where *Tdre* is the total demand driving torque determined by the longitudinal driver model, which can be calculated by the following formula:

$$T\_{d\text{fr}} = k\_p(V\_d - V) + k\_i \int\_0^t (V\_d - V) \text{d}t + k\_d \frac{\text{d}(V\_d - V)}{\text{d}t} \tag{18}$$

where *Vd* is the target speed, *kp* is the proportional coefficient of the PID controller, *ki* is the integral coefficient of the PID controller, *kd* is the differential coefficient of the PID controller.

As for the driver's ideal steering wheel torque, many research institutes have conducted a lot of researches very early, mainly through real vehicle test or driving simulator measurement. According to the previous research conclusion, the preference steering wheel torque characteristic of many drivers is closely related to the vehicle speed and the steering wheel angle [19–22]. Hence, as an example, a kind of driver's preference steering wheel torque map derived from other's experimental results is illustrated in Figure 8.

**Figure 8.** The ideal steering wheel torque map.

#### *3.2. Design of the ADRC Controller of DDAS System*

As discussed in Section 1, on one hand, the control effect of a conventional controller may be influenced by several interferences, such as inevitable steering wheel torque sensor noise and frequently changing suspension parameters as well as continuous road unevenness, while on the other hand, the change laws of these interferences are hardy to identify and accurately model. Therefore, PID control plans, especially the ones with fixed control parameters, as well as some robust and optimization control plan may not be competent for the DDAS control problem. As a result, the ADRC control method which has good robustness against inner parameter changes and outer sensor noise without knowing the accurate mathematical model of the controlled system in advance is proposed for the DDAS control system. Actually, as an improved PID controller, the ADRC controller treats the inner and outer interferences as a whole interference and the influence of the interference on the control effect is compensated by the disturbance estimation compensator. Therefore, compared with a PID controller, the ADRC controller has better anti-interference ability.

The ADRC controller is mainly composed of four parts: tracking differentiator, extended state observer, nonlinear state error feedback law and disturbance estimation compensator [23]. ADRC controller solves the problem that the differential signal of the error is difficult to extract in the traditional PID controller by using the tracking differentiator and the extended state observer. The extended state observer of ADRC controller obtains the state of the system, the differential signal of the state and the disturbance acting on the system by observing the input and output of the system. The nonlinear state error feedback of ADRC makes the controller more adaptive to nonlinear system by introducing nonlinear function *fal*. The disturbance estimation compensator of the ADRC controller can compensate the control result of nonlinear state error feedback by choosing appropriate compensation coefficient, so as to effectively reduce the influence of disturbance on control effect.

According to the characteristics of the DDAS system, the specific structure of the third-order ADRC controller of DDAS system designed in this paper is shown in Figure 9.

**Figure 9.** The structure of ADRC controller of DDAS system.

The specific design process of the ADRC controller of DDAS system is introduced as follows: (a) Tracking differentiator.

In classical control theory, the differential value of a given signal is solved by the following equation:

$$y = w(s)v = \frac{s}{Ts+1}v = \frac{1}{T}(1 - \frac{1}{Ts+1})v\tag{19}$$

where *T* is the time constant of the controlled system. The smaller the time constant *T* is, the closer the output of the system is to the real differential value of the signal. Therefore, the time constant is usually a small value [9]. The structure which tracks the dynamic characteristics of the signal as fast as possible through the first order inertia link and obtains the approximate differential signal by solving the differential equation is called a tracking differentiator.

To track the dynamics of the input signal fast, generally, the following nonlinear tracking differentiator can be selected:

$$\begin{cases} \dot{\mathbf{x}}\_1 = \mathbf{x}\_2\\ \dot{\mathbf{x}}\_2 = -R\text{sign}(\mathbf{x}\_1 - \upsilon\_0 + \frac{\mathbf{x}\_2^\bot \|\mathbf{x}\_2^\bot\|}{2R}) \end{cases} \tag{20}$$

where *v*<sup>0</sup> is the ideal steering wheel torque *Tswd*, *R* is the speed factor. The tracking performance is better when the *R* is bigger, which means that *x*<sup>1</sup> and *x*<sup>2</sup> are closer to *v*<sup>0</sup> and the differential of *v*0, respectively.

Although the nonlinear tracking differentiator can track the target steering wheel torque *Tswd* well, it is easy to generate high frequency oscillation due to the bang-bang characteristic of the selected sign function in Equation (20). In order to prevent the occurrence of high frequency oscillations when the system comes into a steady state, this paper uses the time-optimal control synthesis function *f han*(*x*1, *x*2,*R*, *h*) to design the tracking differentiator. The specific formula of this function is as follows [24]:

$$\begin{cases} \begin{aligned} d &= R \cdot h \\ d\_0 &= h \cdot d \\ y &= x\_1 + hx\_2 \\ a\_0 &= \sqrt{d^2 + 8r} |y| \end{aligned} \\\ a\_0 &= \begin{cases} x\_2 + 0.5(a\_0 - d)\text{sign}(y), \ |y| > d\_0 \\ x\_2 + \frac{y}{h}, \ |y| \le d\_0 \end{cases} \\\ fhan &= -\begin{cases} R \text{sign}(a), \ |a| > d \\ R \frac{d}{d'}, |a| \le d \end{cases} \end{cases} \tag{21}$$

where *h* is the tracking step and *R* is the speed factor.

Therefore, the final designed tracking differentiator in this paper is as follows:

$$\begin{cases}
\dot{\mathbf{x}}\_1 = \mathbf{x}\_2 \\
\dot{\mathbf{x}}\_2 = fhm(\mathbf{x}\_1 - T\_{\text{surd}}, \mathbf{x}\_2, \mathbf{R}, h)
\end{cases}
\tag{22}$$

(b) Extended state observer.

In the running process of the system, signal interaction with the external environment is constantly carried out. Therefore, the internal state information of the system can be determined by monitoring the system input and output. The device for determining the internal state information of the system is called the state observer [9].

For a general nonlinear system as shown in the following equations:

$$\begin{cases} \dot{\mathbf{x}}\_1 = \mathbf{x}\_2\\ \dot{\mathbf{x}}\_2 = f(\mathbf{x}\_1, \mathbf{x}\_2) + bu\\ y = \mathbf{x}\_1 \end{cases} \tag{23}$$

Then the state observer of this system can be established as follows by selecting a nonlinear feedback form:

$$\begin{cases} \varepsilon = z\_1 - y \\ \dot{z}\_1 = z\_2 - \gamma\_{01} \varrho\_1(\varepsilon) \\ \dot{z}\_2 = -\gamma\_{02} \varrho\_2(\varepsilon) + bu \end{cases} \tag{24}$$

where γ01, γ<sup>02</sup> are control parameters, *e* is the error term, *u* is the external input, *gi*(*e*) is nonlinear function that satisfies the following conditions:

$$
eg\_i(e) \ge 0\tag{25}$$

As long as the appropriate γ01, γ<sup>02</sup> and nonlinear function *gi*(*e*) are chosen for the state observer, the state variables can be well estimated in a wide range of system. Let *x*3(*t*) = *f*(*x*1(*t*), *x*2(*t*)), and denote . *x*3(*t*) = *wt*. Then, the system can be expanded into a new linear control system as follows:

$$\begin{cases}
\dot{\mathbf{x}}\_1 = \mathbf{x}\_2 \\
\dot{\mathbf{x}}\_2 = f(\mathbf{x}\_1, \mathbf{x}\_2) + bu \\
\dot{\mathbf{x}}\_3 = w(t) \\
y = \mathbf{x}\_1
\end{cases} \tag{26}$$

The state observer established for this new expanded control system is as follows:

$$\begin{cases} \varepsilon = z\_1 - y \\ \dot{z}\_1 = z\_2 - \gamma\_{01} \mathfrak{g}\_1(\mathfrak{e}) \\ \dot{z}\_2 = z\_3 - \gamma\_{02} \mathfrak{g}\_2(\mathfrak{e}) \\ \dot{z}\_3 = -\gamma\_{03} \mathfrak{g}\_3(\mathfrak{e}) + bu \end{cases} \tag{27}$$

This new state observer is known as the extended state observer of the new system. Among them, *x*3(*t*) is called the expanded state. According to the research needs of this paper, the third-order extended state observer established in this paper is rewritten as follows:

$$\begin{cases} \dot{c} = z\_1 - T\_{\text{sur}} \\ \dot{z}\_1 = z\_2 - \gamma\_{01} c \\ \dot{z}\_2 = z\_3 - \gamma\_{02} |e|^{\alpha\_1} \text{sign}(\varepsilon) + b \Delta T\_z \\ \dot{z}\_3 = -\gamma\_{03} |e|^{\alpha\_2} \text{sign}(\varepsilon) \end{cases} \tag{28}$$

In order to prevent the phenomenon of high frequency flutter in the control process, the function |*e*| <sup>α</sup>sign(*e*) in the extended state observer is replaced by the power function with linear segment at the origin as follows:

$$\begin{cases} \operatorname{al}(e,\alpha,\phi) = \begin{cases} \frac{\mathcal{E}}{\phi^{\alpha-1}} & |e| \le \phi \\ |e|^{\alpha}\operatorname{sign}(e) & |e| > \phi \end{cases} \end{cases} \tag{29}$$

where φ is the length of the linear segment and is an important parameter. The final third-order extended state observer is as follows:

$$\begin{cases} \dot{e} = z\_1 - T\_{sw} \\ \dot{z}\_1 = z\_2 - \gamma\_{01} e \\ \dot{z}\_2 = z\_3 - \gamma\_{02} f a(e, \alpha\_1, \phi\_1) + b\_0 \Delta T\_z \\ \dot{z}\_3 = -\gamma\_{03} f a(e, \alpha\_2, \phi\_2) \end{cases} \tag{30}$$

where α1, α<sup>2</sup> are the nonlinear factors in the *f al* function, *z*<sup>1</sup> tracks the target value of the actual steering wheel torque *Tsw*, *z*<sup>2</sup> tracks the target signal of the changing speed of steering wheel torque, and *z*<sup>3</sup> tracks the total disturbance term of the system.

(c) Nonlinear state error feedback.

The nonlinear state error feedback is an important part of the ADRC controller. This part can quickly adjust the deviation and make the system balance between response fastness and overshoot. Hence, the following nonlinear state error feedback is chosen:

$$\begin{cases} \mathbf{e}\_1 = \mathbf{x}\_1 - \mathbf{z}\_1\\ \mathbf{e}\_2 = \mathbf{x}\_2 - \mathbf{z}\_2\\ \mathbf{u}\_0 = \gamma\_1 f a l(\mathbf{e}\_1, \alpha\_3, \phi\_3) + \gamma\_2 f a l(\mathbf{e}\_2, \alpha\_4, \phi\_4) \end{cases} \tag{31}$$

where *e*<sup>1</sup> is the steering wheel torque error term, *e*<sup>2</sup> is the steering wheel torque change rate error term, γ<sup>1</sup> and γ<sup>2</sup> are nonlinear combination coefficients, *u*<sup>0</sup> is the control output of the nonlinear state error feedback.

After completing the design of above three parts, the final control value can be obtained based on the nonlinear state error feedback control value plus the compensation of the disturbance estimation value. This part is called disturbance estimation compensator mentioned above, which is expressed as follows:

$$
\Delta T\_z = \mu\_0 - z\_3 / b\_0 \tag{32}
$$

where Δ*Tz* is the front wheels torque difference required by the final decision of the ADRC controller, *b*<sup>0</sup> is the compensation factor, which determines the strength of the compensation and is an important parameter of the ADRC controller, directly affecting the ADRC controller performance [25].

#### **4. Controller Parameter Optimization Based on Simulated Annealing Algorithm**

Compared with the PID controller, though the ADRC controller has the advantages of better robustness, simple structure and easy implementation without knowing the accurate mathematical model of the controlled system, it also has the disadvantages of needing more control parameters and complicated parameter tuning [26], which severely limits its further industrial application. At the same time, these parameters have a great impact on the performance of the controller, so appropriate method selection to set the values of each parameter has to be done first.

According to the theory of ADRC, some of the parameters are determined empirically, and once these parameters are determined, no correction is needed. For example, α1, α2, α3, α<sup>4</sup> and φ1, φ2, φ3, φ<sup>4</sup> are the parameters of the nonlinear function *fal*, which affect the change trend of the nonlinear function, but they usually do not change with the change of the controlled system. Therefore, the ranges of α<sup>3</sup> and α<sup>4</sup> in the nonlinear state error feedback are generally 0 < α<sup>3</sup> < 1, α<sup>4</sup> > 1, so in this paper, α<sup>3</sup> and α<sup>4</sup> are chosen as fixed values, 0.95 and 1.25, respectively, α<sup>1</sup> and α<sup>2</sup> in the third-order extended state observer are chosen as fixed values, 0.5 and 0.25, respectively. The values of φ1, φ2, φ<sup>3</sup> and φ<sup>4</sup> have a great influence on the nonlinearity of the controller. After multiple simulations, the value of φ1, φ2, φ<sup>3</sup> and φ<sup>4</sup> are chosen as 0.01 which is ten times of the sampling step. The value of speed factor *R* in this paper is 10.

In summary, in addition to the empirically determined parameters, the other parameters which need to be specifically set are the following six parameters γ01, γ02, γ03, γ1, γ<sup>2</sup> and *b*0. Generally, there is no relationship between the six parameters γ01, γ02, γ03, γ1, γ2, *b*<sup>0</sup> and the parameters α1, α2, α3, α4, φ1, φ2, φ3, φ<sup>4</sup> mentioned above. At the same time, γ01, γ<sup>02</sup> and γ<sup>03</sup> in the extended state observer are mainly related to sampling step size [23], which can be designed separately. In addition, γ<sup>1</sup> and γ<sup>2</sup> in nonlinear state error feedback are also important parameters of the controller and *b*<sup>0</sup> is an important parameter to characterize the difference of different systems. Due to the fact that there is a certain mutual influence between these parameters, and manual adjustment is too complicated, offline optimization to set the values of these six parameters is implemented. In this optimization process, three parameters γ01, γ02, γ<sup>03</sup> are optimized first, and then the rest three parameters are optimized.

There are many existing optimization algorithms, such as genetic algorithm, simulated annealing algorithm and particle swarm optimization, etc. Among them, the simulated annealing algorithm has the advantages of simple description, flexible use, high operational efficiency and less constraint on initial conditions [27]. Therefore, the simulated annealing algorithm is chosen as the optimization algorithm.

In order to implement the optimization, the objective function of the optimization problem according to the needs of this paper should be determined first. The target of this paper is to design a better DDAS controller, which is to control the actual steering wheel torque to follow the ideal steering wheel torque in real time by controlling the front wheels driving torque difference. Therefore, the objective function is defined as follows:

$$J = \bigcup\_{0}^{\infty} |T\_{\text{surd}} - T\_{\text{sur}}| \text{clt} \tag{33}$$

In order to speed up the optimization process, the initial values of each parameter are determined at first by multiple simulations as shown in Table 1. Then the relevant optimization program is coded in MatLab software, in which the *sim* function is used to call the simulation model. The simulation condition selects the sinusoidal steering angle input at 30 km/h vehicle speed, and the road surface adhesion coefficient is high adhesion, which is 0.8. As an example, the iterative optimization process of the three parameters γ01, γ<sup>02</sup> and γ<sup>03</sup> in extended state observer is shown in Figure 10.

**Figure 10.** Optimization process.

As shown in Figure 10, after around 870 generations, the fitness function basically reaches the optimal value. The final six optimized parameters are shown in Table 1 below:

**Table 1.** ADRC controller parameter optimization


#### **5. Simulation Analysis**

#### *5.1. Sinusoidal Steering Wheel Angle Input Simulation*

The simulation condition is selected as the sinusoidal steering wheel angle input without the driver's steering model. First the vehicle gradually accelerates to 50 km/h and maintains this speed. As shown in Figure 11a, the vehicle is input a sinusoidal steering wheel angle at the 5th second and its amplitude and the frequency are 45 degrees and 0.2 Hz, respectively, and the road adhesion coefficient is set to 0.8. In order to verify the anti-interference performance of the proposed DDAS controller, the white noise model is used to imitate the sensor noise of the steering wheel torque, of which power and frequency are 0.01 and 27.5 Hz, respectively. During this procedure, two different controllers—one a PID controller, and the other the proposed ADRC controller—are used as two comparison simulation cases to control the DDAS system to assist the driver to steer the car. For better comparing their performance, the three parameters in the PID controller are also repeatedly calibrated after multiple groups of simulations with same sinusoidal steering angle input. Figure 11 shows all the comparison simulation results.

**Figure 11.** Sinusoidal input simulation: (**a**) Steering wheel angle; (**b**) Steering wheel torque; (**c**) Steering wheel torque with white noise; (**d**) Cross-plot of steering wheel angle and torque; (**e**) Wheel torque of ADRC controller; (**f**) Yaw rate; (**g**) Side slip angle.

It can be seen from Figure 11b that both PID controller and ADRC controller have achieved good performance in power assistance. The maximum torque of the steering wheel dropped from 6.3 Nm to about 2.7 Nm, a reduction by 56%, so the effect is remarkable. Moreover, it is obvious that the steering wheel torque not only has a certain leading response, but also has a little big peak value with respect to the ideal steering wheel torque when the PID controller is adopted. The trend looks good, but the tracking accuracy of PID controller is a little poor. However, as a contrast, when the ADRC controller is used, the steering wheel torque can better track the ideal steering wheel torque, and almost has no difference in peak value with respect to the ideal value. In addition, Figure 11c shows the actual steering wheel torque curve after adding white noise to the steering system. It can be seen from Figure 11c that the chatter of the actual steering wheel torque when the PID controller and ADRC controller are adopted, respectively, is similar during straight line driving conditions, while during steering conditions, it is obvious that the chatter of the actual steering wheel torque controlled by the ADRC controller is smaller than with the PID controller. During the steering stage, the function of the ADRC controller of the DDAS system is to generate steering assistance for the driver and simultaneously mitigate the system noise interference on the steering wheel torque control performance. In contrast, the linear PID controller shows difficulties in dealing with the interference. The result proves that the ADRC controller has better anti-interference ability than the PID controller.

Besides that, it can be seen from the relationship between the steering angle and the torque of the steering wheel shown in Figure 11d that the DDAS system using the PID controller and the ADRC controller can effectively reduce the steering efforts of the driver. However, the ADRC controller shows better assistance performance with smaller fluctuation and more stable steering wheel torque, indicating that the ADRC controller is significantly better than the PID controller. In addition, the

wheel torque curves of the ADRC controller in Figure 11e clearly show that the right and left front wheels begin to generate differential torque, and the maximum and minimum values are 190 Nm and −180 Nm, respectively, which are within the normal range. There is almost no difference between the two controllers in yaw rate and side slip angle of center of mass as shown in Figure 11f,g.

Table 2 summarizes the root mean square (RMS) values of the steering wheel torque tracking error of these control methods. It is obvious that the tracking error RMS of the ADRC controller is much smaller than that of the PID controller, which proves that the assistance performance of the ADRC controller is significantly better than that of the PID controller.

**Table 2.** The RMS comparison of the steering wheel torque following error in sinusoidal input simulation.


#### *5.2. Closed-Loop Lemniscate Simulation*

A driver-vehicle-road closed-loop simulation is also conducted to verify the control effect of the DDAS control strategy designed in this paper. The closed-loop simulation condition selects the standard lemniscate trajectory driving condition. The trajectory function is established according to the relevant standard, and the minimum curvature radius is set to *R*<sup>0</sup> = 6 m. In order to have a smooth steering process during the whole simulation, the standard lemniscate is rotated by 45 degrees, and a straight line segment is set before entering and after exiting the standard lemniscate road. The vehicle speed is chosen to be 10.8 km/h, and the road adhesion coefficient is 0.8. The white noise model with same amplitude and frequency as above simulation condition is also embedded into the comparing simulation. The simulation results are shown in Figure 12.

As seen in Figure 12a, the vehicle in each case with different controller can track the target trajectory better. As shown in Figure 12b, DDAS has achieved good power assisting effect with PID controller and ADRC controller, and the maximum torque of the steering wheel dropped from about 11.5 Nm to about 5.1 Nm, reduced by 50%. The effect of DDAS system on steering hand force reduction is remarkable. Furthermore, comparing to the case of PID controller, the steering wheel torque in the case of the ADRC controller can better track the ideal steering wheel torque with no advance response phenomenon, and has smaller chatter while reaching the peak value. In addition, Figure 12c shows the actual steering wheel torque result after adding white noise to the steering system. It also can be seen from Figure 12c that when the car is cornering, the influence of the sensor noise to the road feeling of the driver is greater than the car is in the straight line driving condition, especially for the case of the PID controller. Moreover, when the vehicle enters into the steering condition, the chatter of the actual steering wheel torque when using the PID controller is significantly greater than that when using the ADRC controller. The result fully proves that when the interference of the steering wheel torque sensor noise or other external or internal interference comes out, such as the changing suspension parameters as well as the nonlinear characteristics of the tires, the anti-interference ability of ADRC controller is significantly better than that of PID controller. Both Figures 12b and 12c prove that the ADRC controller shows better assistance performance with smaller fluctuations and smoother steering wheel torque when compared with the PID controller. Similar results can also be seen from the cross-plot of the steering wheel angle versus steering wheel torque as in Figure 12e. By observing the time history of yaw rate shown in Figure 12f and side slip angle shown in Figure 12g, so it also can be concluded that the DDAS system does not obviously influence the stability of the vehicle which is driving all the time at constant speed on a high-adhesion road.

**Figure 12.** Closed-loop lemniscate simulation: (**a**) Vehicle trajectory; (**b**) Steering wheel torque; (**c**) Steering wheel torque with white noise; (**d**) Steering wheel angle; (**e**) Cross-plot of steering wheel angle and torque; (**f**) Yaw rate; (**g**) Side slip angle.

Table 3 is the RMS value of the steering wheel torque tracking error with respect to the ideal value of each method under lemniscate simulation. It can be concluded that both the PID controller and the ADRC controller can make the RMS of the deviation of the steering wheel torque from ideal value be much smaller compared to without control, indicating that DDAS system has a good power- assisting effect. When the ADRC controller is adopted, the RMS of the deviation of the steering wheel torque from the ideal value is 69% smaller than that of the PID controller, indicating that the power assisting effect of the ADRC controller is significantly better than that of the PID controller.

**Table 3.** The RMS comparison of the steering wheel torque tracking errors in lemniscate simulation.

