1 Introduction

In recent years, numerous research has been conducted on vehicle control for advanced driver assistance system (ADAS) in the field of autonomous vehicle control. Among autonomous vehicle control (Li et al., 2020; Lee et al., 2012, 2019; Wang et al., 2019) lateral control is receiving a lot of attention in various research fields such as lane keeping system, lane change system and automatic parking. A model of a system representing the operation of a vehicle is essential in designing a lateral controller of an autonomous vehicle. In general, kinematic models that can effectively represent the motion of vehicles when driving at low speeds are widely used in vehicle lateral controller design (Kang et al., 2018; Kong et al., 2015). On the other hand, when the vehicle is driving at high speed or dynamically, most of the lateral dynamic model is used (Altché et al., 2017; Xu et al., 2017). These lateral dynamic models can more accurately calculate the motion of the vehicle by considering the lateral acceleration and lateral force of the tire using dynamics to express the motion of the vehicle. Several assumptions are made to represent this model linearly.

To identify a linear model for the vehicle, it is assumed that there is a linear relationship between the tire slip angle and the lateral tire force (Rajamani, 2011). Additionally, it is assumed that there is no vertical load transfer for both tires, and the vehicle longitudinal velocity remains constant. These assumptions provide the basis for deriving a linear vehicle model and are commonly employed in the process of modeling and control system design. Under these assumptions, a linear vehicle model can be obtained, which proves highly useful in designing control systems. However, in real-world driving conditions, the assumptions may significantly differ due to various environmental and situational factors. Considering all the dynamics of a vehicle becomes challenging, there are limitations and issues associated with attempting to incorporate them all into the model. Accordingly, there is a need to effectively represent the vehicle's dynamics model under various conditions. Ongoing research is being conducted to address the nonlinear aspects of the model and find solutions. This includes approaches such as Fuchshumer et al., (2005), which aim to continuously tackle and resolve these challenges associated with the vehicle's dynamics model.

There have been extensive research efforts in the field of dynamic modeling for unknown systems. Numerous studies, such as Chen et al., (2017), Montáns et al., (2019) and Na et al., (2019) have attempted to address the complexity and uncertainty inherent in these systems. In the field of modeling research, data-driven modeling methods have gained considerable attention due to their ability to tackle systems that inherent complexity and uncertainty (Kutz & Kutz, 2013; Kutz et al., 2016; Zehtabiyan-Rezaie et al., 2022). Data-driven modeling methods used in fluid dynamics and have recently been applied to various domains such as autonomous driving, photovoltaic, and DC motors (Moslehi et al., 2018; Naung et al., 2018). Among these methods, dynamic mode decomposition (DMD) stands out as it allows the identification of dynamic linear models solely based on input–output information (Zehtabiyan-Rezaie et al., 2022). With such convenience, beyond model identification, it is possible to design control using the identified data-driven models.

The Koopman operator is commonly used in methodologies that involve identifying models based on data and controlling systems using the identified models (Bruder et al., 2019; Kim et al., 2022; Korda & Mezić, 2018). Unlike DMD, which finds linear relationships solely based on the state variables, the Koopman operator augments the state variables with nonlinear basis functions and identifies the linear relationships among the augmented state variables. The identified model can be applied to various applications such as mobility systems, robots, and Kim et al., (2022) and Bruder et al., (2019) have designed linear quadratic regulator (LQR) and MPC based on data-driven models, respectively. In Kim et al., (2022), the lateral state vector of a vehicle was augmented with thin plate spline radial basis functions to identify a linear model and design an LQR lane-keeping controller. In Bruder et al., (2019), the model was identified using square-integrable real-valued functions as basis functions, and an MPC was designed.

Utilizing the augmented model with basis functions for control can be applied to nonlinear systems as well, but it requires careful consideration in augmenting the state vector and selecting appropriate basis functions. In this paper, we identified the linearizable lateral dynamics of a vehicle without augmenting the state vector and designed an MPC lane-keeping controller. Compared to the similar application in Kim et al., (2022), this controller controlled the vehicle with less state vector information, specifically without longitudinal and lateral acceleration information. Moreover, it achieved control at a lower frequency compared to Bruder et al., (2019) as it did not augment the state vector with nonlinear basis functions.

To validate the effectiveness of a data-model-based lane-keeping controller, we designed both a dynamic model-based control and a DMD model-based control. The dynamic model was identified using parameter-based data provided by CarSim Rajamani (2011), while the DMD model was identified using collected driving data that revealed the vehicle lateral dynamic characteristics. These identified models shared the same state vector, allowing us to design and compare lane-keeping controllers with structures. As a result of the comparison, it was found that the DMD model, which was identified solely based on the numerical information of the state and input data without any assumptions about the vehicle's dynamics, presented more stable driving performance.

2 Modeling Using Dynamic Mode Decomposition

MPC quantifies system prediction errors using a model (Rawlings, 2000), so it is important to derive a numerical model that represents the system characteristics. While model identification commonly relies on dynamics Buede and Miller (2024), we have employed DMD, which allows us to identify the model using only time-series state and input data Kutz et al., (2016). In this section, we will explain the data-driven MPC design process. Section 2.1 describes the vehicle lateral dynamics model. Section 2.2 describes the model identification process using DMD. Section 2.3 represents lane modeling for the use of a lane keeping system.

2.1 Vehicle Lateral Dynamics Model

A mechanical model with at minimum six degree of freedom (DOFs) can express the detailed dynamics of the vehicle, including the longitudinal and lateral dynamics of the vehicle (Rajamani, 2011). The bicycle model used in the vehicle’s dynamics of is shown in the Fig. 1.

$$x = \left[ { \dot{y} \dot{\psi } } \right]^{{\text{T}}} , u = \delta ,$$
(1)

where \(\dot{y}\) is the lateral velocity, \(\dot{\psi }\) is yaw rate and \(\delta\) is steering angle. Then, obtain the vehicle lateral dynamics in terms of the state vector. We have the lateral dynamics as

$$\dot{x} = \left[ { \begin{array}{*{20}c} {a_{11} } & {a_{12} } \\ {a_{21} } & {a_{22} } \\ \end{array} } \right]x + \left[ {\begin{array}{*{20}c} {b_{11} } \\ {b_{21} } \\ \end{array} } \right]u,$$
(2)

\(a_{11} , a_{12} , a_{21} , a_{22} , b_{11} , b_{21}\) are parameters of each vehicle dynamics as follows:

$$a_{11} = - \frac{{2C_{{\alpha {\text{f}}}} + 2C_{{\alpha {\text{r}}}} }}{{mV_{x} }},\quad a_{12} = - V_{x} - \frac{{2C_{{\alpha {\text{f}}}} l_{{\text{f}}} - 2C_{{\alpha {\text{r}}}} l_{{\text{r}}} }}{{mV_{x} }}$$

\(a_{21} = - \frac{{2C_{{\alpha {\text{f}}}} l_{{\text{f}}} + 2C_{{\alpha {\text{r}}}} l_{{\text{r}}} }}{{I_{z} V_{x} }},\quad a_{22} = - \frac{{2C_{{\alpha {\text{f}}}} l_{{\text{f}}}^{2} + 2C_{{\alpha {\text{r}}}} l_{{\text{r}}}^{2} }}{{I_{z} V_{x} }}\)

$$b_{11} = \frac{{2C_{{\alpha {\text{f}}}} }}{m}, \quad b_{21} = \frac{{2C_{{\alpha {\text{f}}}} l_{{\text{f}}} }}{{I_{z} }}.$$
Fig. 1
figure 1

Lateral vehicle dynamic of bicycle model

More information on the vehicle lateral modeling is available in Rajamani (2011), Ackermann (1990) and Bakker et al., (1989).

2.2 Data-Driven Modeling Strategy Using Dynamic Mode Decomposition

DMD assumes that the system is linear, as represented in Eq. (3).

$$\begin{gathered} x_{k + 1} = Ax_{k} + Bu_{k} \hfill \\ A \in {\mathbb{R}}^{{n_{x} \times n_{x} }} , B \in {\mathbb{R}}^{{n_{x} \times n_{u} }} \hfill \\ x_{k} \in {\mathbb{R}}^{{n_{x} }} , u_{k} \in {\mathbb{R}}^{{n_{u} }} \hfill \\ \end{gathered}$$
(3)

\(x_{k}\) and \(u_{k}\) represent the system state and input, respectively, while \(A\) and \(B\) refer to the system matrix and input matrix, respectively. DMD aims to discover a linear model described by Eq. (1) by cumulatively processing the system data with a one-step difference, as presented in Eqs. (4) and (5).

$$X^{\prime} = AX + B\Gamma = \left[ {\begin{array}{*{20}c} A & B \\ \end{array} } \right] \left[ {\begin{array}{*{20}c} X \\ \Gamma \\ \end{array} } \right] = G\Omega ,$$
(4)

where

$$\begin{gathered} X = \left[ {\begin{array}{*{20}c} {x_{1} } & {x_{2} } \\ \end{array} \cdots x_{N - 1} } \right] \in {\mathbb{R}}^{{n_{x} \times N - 1}} \hfill \\ X^{\prime} = \left[ {\begin{array}{*{20}c} {x_{2} } & {x_{3} } \\ \end{array} \cdots x_{N} } \right] \in {\mathbb{R}}^{{n_{x} \times N - 1}} \hfill \\ \Gamma = \left[ {\begin{array}{*{20}c} {u_{1} } & {u_{2} } \\ \end{array} \cdots u_{N - 1} } \right] \in {\mathbb{R}}^{{n_{u} \times N - 1}} . \hfill \\ \end{gathered}$$
(5)

By analyzing the relationship between state \(X\) of the previous time step, input variable \(\Gamma\), and subsequent state variable \(X^{\prime}\) through singular value decomposition (SVD), a linearized system \(G\) is derived as shown in Eq. (6) and (7).

$$\begin{gathered} G\Omega = X^{\prime} \hfill \\ {\text{SVD}}\left( \Omega \right) = U\Sigma V^{{\text{T}}} , \hfill \\ \end{gathered}$$
(6)

where

$$\begin{gathered} G = X^{\prime}\Sigma U^{{\text{T}}} = \left[ {\begin{array}{*{20}c} {\hat{A}} & {\hat{B}} \\ \end{array} } \right] \hfill \\ \hat{A} = X^{\prime}V\Sigma^{ - 1} U_{1}^{{\text{T}}} \hfill \\ \hat{B} = X^{\prime}V\Sigma^{ - 1} U_{2}^{{\text{T}}} . \hfill \\ \end{gathered}$$
(7)

The linear model \(\hat{A}\) and \(\hat{B}\) were derived using DMD solely based on the system states and inputs, without prior knowledge of the system dynamics and parameters. In this paper, for the purpose of designing a lane-keeping controller, identified the lateral dynamics using DMD. And then, to derive a model representing the dynamic characteristics of the system, a sine sweep steering wheel input with varying frequency and amplitude was applied to the CarSim simulation. The model identified through this process demonstrated valid results when compared to the dynamics-based model, with parameters identified through simulation settings.

2.3 Vehicle Reference Trajectory And Lane Modeling

The vehicle's camera sensor detects the lane based on the vehicle's local coordinates. Therefore, this can be described using the vehicle's local coordinates \(\left\{ {x^{{\text{l}}} } \right\}\) and \(\left\{ {y^{{\text{l}}} } \right\}\), along with the trajectory of the vehicle, denoted as \(f_{{\text{v}}} \left( x \right)\), and the polynomials representing the left and right lanes, denoted as \(f_{{\text{L}}} \left( x \right)\) and \(f_{{\text{R}}} \left( x \right)\), respectively. The camera perceive the longitudinal direction of the detected lane information and the vehicle's trajectory, as shown in the Fig. 2.

Fig. 2
figure 2

Lane and vehicle’s trajectory

The vehicle's trajectory \(f_{{\text{v}}} \left( x \right)\) is obtained using a parabolic projection and arc approximation under the assumption of constant velocity (\(V_{x}\)) and a constant yaw rate (\(\dot{\psi }\)) during the vehicle's movement (Ibrahim et al., 2003; Lin et al., 2000; Rajamani, 2011).

x is the longitudinal distance. Using the information of the lane detected by the camera, it is possible to define the polynomials of the lane, \(f_{{\text{L}}} \left( x \right)\) and \(f_{{\text{R}}} \left( x \right)\), as a third-order polynomial function (Enkelmann, 2001; Schreiber et al., 2005; Son et al., 2014; Velupillai & Guvenc, 2009 as follows:

$$\begin{aligned} f_{{\text{R}}} \left( x \right) & = c_{{{\text{R}}_{0} }} + c_{{{\text{R}}_{1} }} x + c_{{{\text{R}}_{2} }} x^{2} + c_{{{\text{R}}_{3} }} x^{3} \\ f_{{\text{L}}} \left( x \right) & = c_{{{\text{L}}_{0} }} + c_{{{\text{L}}_{1} }} x + c_{{{\text{L}}_{2} }} x^{2} + c_{{{\text{L}}_{3} }} x^{3} \\ f_{{\text{d}}} \left( x \right) & = c_{0} + c_{1} x + c_{2} x^{2} + c_{3} x^{3} , \\ \end{aligned}$$
(8)

where \(c_{{{\text{R}}_{0} }}\),\(c_{{{\text{L}}_{0} }}\) and \(c_{0} = \left( {c_{{{\text{R}}_{0} }} + c_{{{\text{L}}_{0} }} } \right)/2\) are the lateral offset, \(c_{{{\text{R}}_{1} }}\), \(c_{{{\text{L}}_{1} }}\) and \(c_{1} = \left( {c_{{{\text{R}}_{1} }} + c_{{{\text{L}}_{1} }} } \right)/2\) present the heading angles, \(c_{{{\text{R}}_{2} }}\), \(c_{{{\text{L}}_{2} }}\) and \(c_{2} = \left( {c_{{{\text{R}}_{2} }} + c_{{{\text{L}}_{2} }} } \right)/2\) present the curvatures, \(c_{{{\text{R}}_{3} }}\), \(c_{{{\text{L}}_{3} }}\) and \(c_{3} = \left( {c_{{{\text{R}}_{3} }} + c_{{{\text{L}}_{3} }} } \right)/2\) presents the curvature rates of the lane.

$$\begin{gathered} e_{{\text{L}}} = c_{0} + c_{1} L + c_{2} L^{2} + c_{3} L^{3} \hfill \\ e_{{ \psi_{{\text{L}}} }} = c_{1} + 2c_{2} L + 3c_{3} L^{2} , \hfill \\ \end{gathered}$$
(9)

\(e_{{y_{{\text{L}}} }}\) and \(e_{{\psi_{{\text{L}}} }}\) are the lateral offset error and yaw rate error at the look-ahead distance point, respectively. The desired lane information may be obtained as an average of the right lane and the left lane. The trajectory of the vehicle is determined according to the vehicle's momentum for instance yaw rate and speed, and lane information is updated every step.

3 Lane Keeping Control Design Strategy Using Data-Based Model

The state of the vehicle to be identified using DMD is the same as described in Eq. (1). While this system reference can receive directionality from vehicle position and heading error, it may not be suitable for direct use. Therefore, we have designed an upper-level controller, as shown in Fig. 3, to modulate error information into a suitable reference which lower-level controller capable of tracking this.

Fig. 3
figure 3

Lane keeping controller structure

System block of Fig. 3 consists of CarSim and a camera model. CarSim measures the vehicle state, and the camera model measures the lateral and heading angle errors by referencing the CarSim and Eq. (9).

The upper-level controller block has been designed with a proportional gain to enhance the lateral responsiveness of the vehicle by utilizing the system error information. This approach is similar to the methods that use the error with the lane as the desired state for lower-level control (Liang et al., 2021; Marino et al., 2011).

The lower-level controller block is designed with MPC in two modes, based on the system model being either DMD or a dynamic model. Its objective is to minimize the error between the predicted states of the system block and the reference states defined by the upper-level controller block. This MPC formulation is encapsulated in Eqs. (10) and (11), and the solution is obtained through QP solver, which is CVXGEN.

$$\begin{gathered} J_{k} = \left[ {\left( {r_{k} - x_{k} } \right)^{{\text{T}}} Q\left( {r_{k} - x_{k} } \right) + u_{k}^{{\text{T}}} Ru_{k} } \right] \hfill \\ r_{k} \in {\mathbb{R}}^{{n_{x} }} ,\quad Q \in {\mathbb{R}}^{{n_{x} \times n_{x} }} ,\quad R \in {\mathbb{R}}^{{n_{u } \times n_{u} }} \hfill \\ \end{gathered}$$
(10)
$$\begin{aligned} \mathop \sum \limits_{k = 0}^{{N_{p} }} J_{k} & = \left[ {\left( {r_{k} - x_{k} } \right)^{{\text{T}}} Q\left( {r_{k} - x_{k} } \right) + u_{k}^{{\text{T}}} Ru_{k} } \right] \\ & = \frac{1}{2}\Delta \tilde{u}_{k} H\tilde{u}_{k} + \Delta \tilde{u}_{k}^{{\text{T}}} f + f_{0} \\ \tilde{Q} & = I_{{N_{{\text{P}}} \times N_{{\text{P}}} }} \otimes Q, \tilde{R} = I_{{N_{{\text{C}}} \times N_{{\text{C}}} }} \otimes R, \\ \end{aligned}$$
(11)

where \(Q\) and \(R\) are the weighting matrices for the error variables and weighting matrix for the control input, respectively. \(N_{{\text{P}}}\) and \(N_{{\text{C}}}\) are prediction horizon and control horizon, respectively. \(r_{k}\) and \(x_{k}\) are the reference and state in \(k\)th time step, respectively. \(u_{k}\) and \({\Delta }u_{k}\) are the input and input rate at \(k\)th time step, respectively.

Equation (10) represents the error at a single time step, while Eq. (11) represents the performance index of the MPC over \(N_{{\text{P}}}\) and \(N_{{\text{C}}}\), indicating the error during that time span. In this case, the performance index needs to be formularized as a solution that needs to be solved, and therefore, Eq. (11) is defined with \({\Delta }u\) as a variable in MPC. Additionally, \(H\), \(f\), and \(f_{0}\) can be derived by combining the identified DMD model (Rawlings, 2000).

$$\begin{aligned} & \mathop {\text{minimize }}\limits_{\Delta u} \frac{1}{2}\Delta \tilde{u}_{k} H\tilde{u}_{k} + \Delta \tilde{u}_{k}^{T} f + f_{0} \\ & \quad {\text{subject}}\;{\text{to}}\;A\Delta \tilde{u} \le b, \\ & \quad lb \le \Delta \tilde{u} \le ub, \\ \end{aligned}$$
(12)

\(lb\) and \(ub\) are constraints with the upper boundary and lower boundary of input rate at one step, respectively.

Additionally, to consider the system's constraints, the problem can be defined as shown in Eq. (12), and an optimization solver library can be used to design a controller that is suitable for the system. In this paper, the linear optimization solver CVXGEN was utilized to design a lane-keeping controller with constraints on control inputs and their rates (Hanger et al., 2011; Mattingley & Boyd, 2012).

4 Simulation

In this section, we compare vehicle dynamics with the DMD model to assess the validity of the derived model and design/evaluate a control system based on the derived model. We also verify the effectiveness of an optimal controller utilizing the DMD model. To validate the effectiveness of the DMD model, we separated the data collection process from the evaluation of the derived model during driving. The evaluation was conducted through a scenario involving a double lane change (DLC) in which the vehicle exhibited dynamic driving characteristics. When analyzing the periodicity of the DLC steering wheel angle, characteristics within the range of 0–0.5 (Hz) were presented.

Additionally, to assess the effectiveness of the DMD model control, we evaluated the model by substituting only the vehicle dynamics while keeping the control conditions unchanged. In the experiment, we utilized a vehicle dynamics simulation tool called CarSim, which can represent the motion of vehicle, instead of using an actual vehicle. The process of deriving and evaluating the model was presented in Sect. 4.1, while the experiment for evaluating the effectiveness of the control was described in Sect. 4.2.

4.1 Modeling Using DMD

To derive a DMD model that represents the lateral state of a vehicle, the input–output state information used lateral velocity \(\left( {\dot{y}} \right)\), heading angle rate \(\left( {\dot{\psi }} \right)\), and steering wheel angle \(\left( {\theta_{{{\text{sw}}}} } \right)\). The derived model can incorporate lateral distance and heading angle errors into each respective state, making it useful for lane-keeping control design.

Before design controller, we applied a sine sweep steering wheel input with varying frequency and amplitude to the vehicle as shown in Fig. 4 to identify the DMD model. The frequency ranged from 0 to 1.5 (Hz), changing linearly with time. Subsequently, we observed and collected the corresponding output information from the vehicle.

Fig. 4
figure 4

DMD model Input data, steering wheel angle

Figure 4 depicts the steering wheel angle as the input to the vehicle, Fig. 5 shows the lateral velocity, and Fig. 6 represents the heading angle rate. Figures 4, 5 and 6 show similar waveforms, indicating the appearance of linearity in the vehicle lateral movements. Thanks to this, we were able to apply DMD by assuming the system to be linear for model identification.

Fig. 5
figure 5

DMD model state data, lateral speed

Fig. 6
figure 6

DMD model state data, heading angle rate

To further analysis which data would aid in model identification, we applied a sweep steering wheel to collect dynamic data from the vehicle.

The sweep steering with varying period and magnitude input allow for the observation of various dynamic characteristics. In this section, the DMD model was compared at intervals of 20 s for the simulation of the vehicle. That is, model 1 was obtained using 0–20 s, model 2 was 0–40 s, and model 3 was obtained using 0–60 s data. With each 20 s increment of data, it includes 0.5 Hz more operational characteristics.

The sweep steering which varying period and magnitude input allow for the observation of various dynamic characteristics. In this section, the DMD model was compared at intervals of 20 s for the simulation of the vehicle. That is, model 1 was obtained using 0–20 s, model 2 was 0–40 s, and model 3 was obtained using 0–60 s data. With each 20 s increment of data, it includes 0.5 Hz more operational characteristics.

This enables the analysis of which data can identify models that are closer to the system. We verified which model closely approximates the vehicle in a DLC maneuver where dynamic vehicle movements are presented. The experimental setup is depicted in Fig. 7.

Fig. 7
figure 7

DMD model estimation scenario

Figure 7 represents a DLC scenario, which allows for the observation of the vehicle's dynamic state. In this scenario, both the CarSim vehicle and the DMD model were subjected to the DLC steering wheel angle simultaneously, and the resulting state data of the model were compared. The experimental results indicate that the behavior of the CarSim vehicle and the DMD model were so similar that it was difficult to visually distinguish the differences between them, as shown in Figs. 8 and 9.

Fig. 8
figure 8

DMD model validated by DLC, lateral speed

Fig. 9
figure 9

DMD model validated by DLC, heading angle rate

To compare and analyze the behavior of CarSim and DMD models, we compared the lateral state data using root mean square (RMS) as shown in Table 1. We also conducted an fast Fourier transformation (FFT) analysis as shown in Fig. 10. For this FFT analysis, the data were divided into 20 s segments to distinguish the characteristics of the data utilized for each model derivation.

Table 1 Root mean square (RMS) of state
Fig. 10
figure 10

FFT of double lane change and sine sweep input

In the analysis presented in Table 1, the DMD model 1 exhibited the lowest error among all the models. Additionally, we observed that as the models possessed more dynamic characteristics, the error between CarSim and the models increased.

This can be attributed to the fact that the data used for DLC inputs and model 1 induction in Figs. 8 and 9 were most similar. Consequently, when incorporating data with different characteristics from 20 to 60 s, the errors in Table 1 increased. Based on these findings, we designed a lane-keeping controller using the DMD model 1 and MPC, which adequately represents dynamic driving characteristics, and compared it with the dynamics-based model predictive control.

4.2 Performance Comparison of Models Through Model Predictive Controller

To check the performance of the model using DMD, the lane keeping system of the vehicle was designed as an MPC that is effectively affected by the model. The DMD model 1, which had the smallest error in the previous experiment, was used in DMD model-based MPC design.

As shown in Fig. 3, the high-level P controller receives an error in each state and outputs lateral velocity \(\left( {\dot{y}_{{{\text{ref}}}} } \right)\) and yaw rate \(\left( {\dot{\psi }_{{{\text{ref}}}} } \right)\). The proposed method was experimented with MATLAB/Simulink and CarSim simulation (Fig. 11).

Fig. 11
figure 11

Road and trajectory of vehicle

Both models used controllers with the same configuration and parameters, and the values of the controller parameters are as follows. The numerical values of the P controller are as follows:

$$P_{{\dot{e}_{y} }} = 2,\quad P_{{\dot{e}_{\psi } }} = { }2.8$$

The configuration of the MPC for controlling the vehicle is as follows:

$$\begin{array}{*{20}c} {N_{p} = 20} & {N_{c} = 10,} \\ {Q = \left[ {\begin{array}{*{20}c} 8 & 0 \\ 0 & {10} \\ \end{array} } \right],} & {R = 0.1,} \\ {ub = 2.7,} & {lb = - 2.7} \\ \end{array} .$$

With the above controller, LKS experiments were conducted on each model at a speed \(V_{x}\) of 50 (kph).

Additionally, we applied the steering gear ratio of the vehicle to the dynamic model. The steering gear ratio is a coefficient that appears between the steering wheel angle (\(\theta_{{{\text{sw}}}}\)) and the steering angle (\(\delta\)) of the wheel. Because the dynamic model utilizes steering angle as an input, the same control structure as the DMD model, which uses the steering wheel angle, is not appropriate.

Therefore, we measured the gear ratio and applied it to the input matrix of the dynamic model in Eq. (1), considering \(\theta_{{{\text{sw}}}} /N = \delta\). And the parameter used in the dynamic model is as follows:

$$\begin{gathered} m = 1274\;({\text{kg}})\quad I_{z} = 1523\;({\text{kg}}\;{\text{m}}^{2} ) \hfill \\ l_{{\text{f}}} = 1.016 \;{\text{m}})\quad l_{{\text{r}}} = 1.562\;({\text{m}}) \hfill \\ C_{{\text{f}}} = 105664\;({\text{N/rad}})\quad C_{{\text{r}}} = 74324\;({\text{N/rad}}) \hfill \\ N = 18.04. \hfill \\ \end{gathered}$$

Figure 12 shows the result of comparing the lateral offset error of DMD model-based MPC and dynamic model-based MPC. Overall, we observe that DMD model-based MPC has a smaller error value than The RMS error of DMD model-based MPC was 0.0456 (m), and the RMS error of dynamic model-based MPC was 0.0642 (m). In addition, it was confirmed that DMD model-based MPC has a value of −0.220–0.136 (m) in the all section where two model errors occur significantly, while dynamic model-based MPC has a value of − 0.276–0.165 (m). The improved performance of the DMD model stems from the identification of a more accurate model compared to the dynamic model. This can be observed in the application of DMD control in open-loop scenarios in Table 2 and Figs. 13 and 14.

Fig. 12
figure 12

Compare DMD model-based MPC and Dynamic model-based MPC

Table 2 Compare DMD and dynamic model with CarSim by RMS error
Fig. 13
figure 13

Compare DMD and dynamic model lateral velocity (\(\dot{y}\)) with CarSim, when apply same steering wheel angle

Fig. 14
figure 14

Compare DMD and dynamic model heading angle rate (\(\dot{\psi }\)) with CarSim, when apply same steering wheel angle

The DMD model exhibited some discrepancies in certain dynamic segments compared to the CarSim model, but overall, it was more accurate than the dynamic model. This leads to improved performance of the DMD model in MPC with high model dependency.

5 Conclusion

Model-based control is commonly designed based on a dynamic model. Therefore, accurate parameter measurement or estimation is important in such systems. However, parameters such as inertia and cornering stiffness are not directly measurable, and there are limitations in modeling uncertain environmental information using dynamics. To overcome these constraints and identify a valid model, we propose a DMD model-based control system. The DMD can identify a model based on the given data and states. Also, the linear DMD model allows for minimizing computations required for control methods such as MPC. To validate the effectiveness of DMD-based MPC, we compared the results of both DMD-based MPC and conventional dynamic model-based MPC.

The proposed approach shows that the DMD model-based control shows improved tracking performance compared to the dynamic model-based control. However, the proposed approach can be effective when the system is linear. Future research will include the integrated use of techniques such as linear parameter variations, disturbance observers, and Koopman operators to overcome nonlinear system and unknown environment.