Keywords

1 Introduction

Fig. 1.
figure 1

Longitudinal characteristics of the Hoosier R20 tire

In the past decades, the development of wheelslip control solutions has been a challenging task both for passenger and race vehicles. When dealing with the former one, the main goal is to maintain stability of the vehicle. Racing cars on the other hand have more requirements, such as to achieve the best possible lap time. To accomplish this, it is necessary to maximize the accelerations of the vehicle. In order to achieve this in the longitudinal direction, it is vital to extract the maximum tractive and braking forces from the tires (Fig. 1).

When examining the longitudinal tire characteristics, it is evident that the tractive force is significantly impacted by the longitudinal slip. Therefore, it is crucial to maintain optimal wheelslip during braking and acceleration. The longitudinal wheelslip - in case of acceleration - can be calculated using the following formula:

$$\begin{aligned} \kappa = \frac{r\omega -v_x}{r\omega } \end{aligned}$$
(1)

where \(\kappa \) is the slip, r is the dynamic wheel radius, \(\omega \) is the rotational velocity of the given tire and \(v_x\) is the longitudinal velocity.

Designing a controller capable of maintaining optimum wheel slip is still a challenging task today due to the highly nonlinear behaviour of the tire/road interface. Several solutions can be found in the literature: the most recent ones include model predictive control (MPC) [1] or application of neural network [2]. MPC has the advantage of being able to handle constraints, but it requires significant computational capacity. A Formula Student car have limited capacity due to financial causes and weight limitations. The use of a neural network requires a substantial amount of reliable data for training. Conducting sufficient testing within the available time is not feasible. Therefore, it is advisable to consider classical control solutions that do not require significant computing capacity. In this paper a design of SMC for controlling slip is proposed.

2 Design of the Sliding Mode Controller

2.1 Longitudinal Model

To achieve optimal longitudinal wheelslip using sliding mode control, a longitudinal model must be established. It contains the longitudinal forces acting on the vehicle, as well as the forces and moments acting on a specific wheel. These forces and moments can be expressed as:

$$\begin{aligned} m \dot{v}_x = F_{x_{FL}} + F_{x_{FR}} + F_{x_{RL}} F_{x_{RR}} - F_{aero} - F_{r} \end{aligned}$$
(2)

where m is the mass of the car, \(F_{x_i}\) are the tractive forces on the four wheels, \(F_{aero}\) is the aerodynamic drag, \(F_{r}\) is the tire resistance.

$$\begin{aligned} \theta \dot{\omega } = M_{wheel} - F_x r + F_r r \end{aligned}$$
(3)

where \(\theta \) is the wheel inertia, \(\dot{\omega }\) is the angular acceleration of the wheel, \(M_{wheel}\) is the torque applied to the wheel, r is the wheel radius.

2.2 Idea Behind Sliding Mode Control

Sliding mode control is a nonlinear control technique that aims to achieve the optimal trajectory/reference even in the presence of significant uncertainties. The controller is a variable structure controller containing a discontinuous switching function. Its design ensures that the system always approaches and remains at the switching point of the function. This state is the sliding surface, defined by \(S(x) = 0\). The function S(x) is typically a linear combination of the state variables x, which equals to 0 if and only if the desired control objective is met. The controller design consists of creating the sliding surface, defining the switching function to ensure that the system always moves towards the sliding surface and finally deriving the equivalent function make sure that the system slides along this surface. In the case of wheelslip control the configuration space can be

$$\begin{aligned} S(\kappa , \omega ) = (\kappa - \kappa _{opt})\omega \end{aligned}$$
(4)

where \(\kappa \) is the longitudinal wheelslip, \(\kappa _{opt}\) is the optimal slip, \(\omega \) is the angular velocity of the given tire. This is a common solution that can be found in the literature [3].

2.3 Equivalent Control

The goal of the equivalent control is to keep the system in the sliding mode defined in Sect. 2.2. It is obtained by satisfying the equation

$$\begin{aligned} \dot{S}(v,\omega ) = 0 \end{aligned}$$
(5)

The derivative of the longitudinal velocity from Eq. 2 after coupling tractive forces losses into one term each yields:

$$\begin{aligned} \dot{v}_x = \frac{F_{x_{sum}} - F_{loss}}{m} \end{aligned}$$
(6)

The derivative of the angular velocity of the wheel can be expressed from 3:

$$\begin{aligned} \dot{\omega }_i = \frac{M_{{wheel}_i} - F_{x_i} r + T_{r_i}}{\theta } \end{aligned}$$
(7)

The configuration space 4 can be rewritten using 1:

$$\begin{aligned} S(v, \omega ) = \frac{r \omega _i - v}{r \omega _i} \omega _i - \kappa _{opt} \omega _i, \rightarrow S(v, \omega ) = (1 - \kappa _{opt}) \omega _i - \frac{v}{r} \end{aligned}$$
(8)

Taking the derivative of this, and cy substituting the terms from 6 and 7,we can get:

$$\begin{aligned} \dot{S}(v, \omega ) = (1 - \kappa _{opt}) \dot{\omega }_i - \frac{\dot{v}}{r}, \quad \dot{S}(v, \omega )_i = \frac{1 - \kappa _{opt}}{\theta } \left( M_{{wheel}_i} - F_{x_i} r + F_{r_i} r\right) \end{aligned}$$
(9)

The control input is the torque applied to the wheel. The equivalent part can be expressed using 5 and 9:

$$\begin{aligned} u_{i(eq)} = \frac{\left( 1 - \kappa _{opt}\right) \left( r \left( F_{x_i} - F_{r_i}\right) \right) }{\theta } + \frac{\theta }{1 - \kappa _{opt}} \cdot \frac{F_{x_{sum}} - F_{loss}}{r m} \end{aligned}$$
(10)

2.4 Switching Function

The idea behind the switching function is to drive the system from its initial state towards the sliding surface. Once it has reached sliding mode, it is also necessary to reject noise and uncertainties that the equivalent control could not handle. In order to move towards the desired sliding mode, the expression \(S \dot{S} = - \eta |S|\) must be satisfied, where \(\eta \) is a positive constant. This means that the sign of S(x) is always opposite to the sign of its derivative, which drives S to 0. To achieve this, the required input signal is

$$\begin{aligned} u_{sw} = -\eta {{\,\textrm{sgn}\,}}(S) \end{aligned}$$
(11)

In theory, the switching function should be a discontinuous signum function. Due to the highly oscillatory nature of this input signal, it is replaced by a sigmoid function to avoid unnecessary wear on the mechanical components:

$$\begin{aligned} u_{sw} = -\eta \frac{s}{|s|+\delta } \end{aligned}$$
(12)

where \(\delta \) is a parameter that “softens” the chatter. Given the characteristics of the tire, the main objective is to ensure that the slip remain in the optimal region, rather than tracking a specific reference value.

3 State Estimation

3.1 Tractive Force Observer

Fig. 2.
figure 2

Actual and estimated tractive forces

The input signal is the sum of the switching and the equivalent functions. Accurate estimation of tractive forces is crucial as it significantly influences the latter. Tire-road friction can vary in a wide range due to various factors such as surface, temperature, etc. Therefore, it is necessary to implement a force observer. The estimated states at time step \(k + 1\) of the discretized Luenberger observer are written as \(\hat{x}(k + 1) = A_d \hat{x}(k) + B_d u(k) + L_d (y(k) - \hat{y}(k))\), where \(\hat{x}(k)\) are the estimated states, u(k) are the inputs, y(k) are the measured states, \(\hat{y}(k)\) are the estimated outputs at time k. \(A_d\) is the state matrix, \(B_d\) is the input matrix, \(L_d\) is the observer gain matrix [4].

The aim is to estimate the tractive forces using the introduced Luenberger observer. By writing Eqs. 2 and 3 into state-space form, the estimator can be designed. The states are \(x^T = [v_x \,\, \omega _{FL} \,\, \omega _{FR} \,\, \omega _{RL} \,\, \omega _{RR} \,\, F_{FL} \,\, F_{FR} \,\, F_{RL} \,\, F_{RR}]\) and the inputs are: \(u^T = \left[ T_{FL} \,\, T_{FR} \,\, T_{RL} \,\, T_{RR} \,\, F_{loss}\right] \), where \(\left[ FL,\, FR,\, RL,\, RR\right] \) marks the front left, front right, rear left and rear right wheels.

The system is then discretized using Tustin transform. The observer gain is calculated via pole allocation and simulation results. The final poles in continuous time are \(p = \left[ -1 \, -2 \, \cdots \, -9 \right] \cdot 50\). The formula \(p_{disc} = e^{p T_s}\) is used to obtain the discrete poles, where \(T_s\) is the sampling time, which is 0.005 s. To demonstrate the performance of the observer, I made test runs in Carmaker with different friction coefficients. The results can be seen in Fig. 2.

3.2 Velocity Estimation

In reality, the longitudinal velocity cannot be measured with low-cost sensors, so its estimation is crucial to the successful implementation of the controller. The idea is to use Kalman filter in order to take advantage of the accuracy of the GPS and the quickness of the inertial sensors. This method is introduced in [5] and the realization for this particular race car can be found in [6].

4 Results, Comparison with PID

Fig. 3.
figure 3

Front left wheelslip

Fig. 4.
figure 4

Torques (front and rear left)

The controller has been designed using Matlab/Simulink. C code is generated from the model, which runs on a Texas Instruments TMS570LS1227 microcontroller. The SMC is compared to a run with a previously designed PID controller and to a run without wheelslip control.

Figure 3 shows that the wheelslip oscillates less with SMC than with PID. This also means that the torques oscillate more with PID (Fig. 4), which can cause the premature failure of certain drive train elements. In terms of performance, the SMC has a slightly higher overshoot, but is also faster. Its settling time is around 0.4 s, while the PID only settles after 0.75 s, also with a larger settling error. During the test, the car completed the 70 m straight in under 3.56 s without controller, 3.52 s with PID and under 3.4 s with SMC. The latter is an improvement of 4.495%. Looking at Fig. 5, we can see that the maximum acceleration was around without control, with PID and with SMC. It can be seen that the SMC performs better especially in the 0.3–0.75 s time interval, which is consistent with the fact that it settles faster (Fig. 6).

Fig. 5.
figure 5

Longitudinal acceleration

Fig. 6.
figure 6

Longitudinal velocity

5 Conclusion, Further Recommendations

This paper demonstrated that the proposed SMC is more advantageous than the previously designed PID wheelslip controller. The current design is only suitable for operation in straight-line acceleration scenarios. It would be advantageous to incorporate lateral dynamics in the future. This implies that the combined slip must be considered in lieu of the pure longitudinal, and that the force observer must also consider losses resulting from turning. Furthermore, with a slightly faster microcontroller it would be worth considering a simple MPC, as its attributes are highly suitable for this particular problem.