1 Introduction

The increasing automation of vehicle guidance poses enormous challenges for development, testing, and verification. In terms of Advanced Driver Assistance Systems (ADAS), especially for automated driving functions with handover scenarios, there is increasing use of driving simulators. These allow a reproducible and safe investigation of human-machine interaction, especially for critical situations, for instance [14, 20]. An essential requirement for driving simulators is a high level of immersion, so the driver experiences the virtual environment as authentic as possible [11]. If the resulting perception of the driver does not match its expectations, this can lead to simulator sickness, which makes the driver react non-representative to the actual situation. Therefore, realistic visualization and motion are essential to obtain reliable results through simulator studies [3].

State-of-the-art driving simulators or general motion simulators often consist of parallel kinematics, such as a hexapod (mid-level simulator). In order to achieve greater mobility, there is a partial extension of the hexapod by one or two slides and/or a yaw joint (high-level simulator) [22]. These driving simulators always have a fixed environmental coupling, limiting the motion range [11]. This limitation reduces the ability to generate highly dynamic maneuvers (regarding the input frequency and long-lasting accelerations) and, therefore, affects the achievable level of immersion [21].

Considering this problem, TU Dresden and AMST-Systemtechnik GmbH developed a self-propelled driving simulator, which represents a unique and innovative driving simulator concept. Due to the free wheel-based motion on a driving surface, the simulator has a theoretically unlimited range of motion and therefore can provide high dynamics on a high level of immersion [21].

However, the new concept of the driving simulator also poses significant challenges due to the tire-based force transmission, especially in the control system. In addition to a simulator-specific Motion Cueing algorithm, which generates the target simulator accelerations by taking the motion space and the driver’s perception into account, there has to be a special Motion Control algorithm. This control has to realize the horizontal dynamics of the motion platform and is similar to an integrated vehicle dynamics control. Compared to a vehicle, however, the driving simulator does not have a preferred driving direction and can even rotate in a translational standstill around its vertical axis [21]. Therefore, the Motion Control has to ensure the generation of desired high dynamics at any time in any direction, regardless of the platform’s current orientation or motion state. This requirement and the Motion Control’s performance significantly influence the driver’s perception and the associated immersion of the simulation.

Supplementary to the control of the motion platform, the Motion Control has a second function, which is the control of the hexapod and the yaw joint motion. This paper focuses on the challenging control of the wheel-based platform and, therefore, presents the development and analysis of a Motion Control algorithm only for this innovative motion platform. The upper structure, consisting of the hexapod and the yaw joint, is not part of this paper, as it is another algorithm without interaction with the motion platform’s Motion Control.

2 Concept of the driving simulator and control structure

The concept of the simulator leads to the main requirements and specifications for the entire control system, which includes the Motion Cueing algorithm and the Motion Control. The following section presents the main specifications of the driving simulator concept and the classification of the Motion Control within the entire control system.

2.1 Concept of the driving simulator

The driving simulator consists of three motion systems: a hexapod (4) with six degrees of freedom (DOFs), mounted on a yaw joint (3) with one DOF, and a motion platform (1). The motion platform comprises four corner modules (2) with individually steerable and controllable wheels and provides three DOFs in the horizontal plane. These motion systems result in ten controllable DOFs. The driver is inside the upper dome (5), which includes a mock-up and a visualization. Figure 1 illustrates the virtual driving simulator [2].

Fig. 1
figure 1

Concept of the self-propelled driving simulator ©AMST-Systemtechnik GmbH

The driving simulator’s purpose is to generate accelerations, which the driver expects within the simulation. These accelerations can be highly dynamic and required in any direction of the simulator. The Motion Control includes two parts. The first part controls the motion platform (MP) in its three DOFs (horizontal dynamics on the driving surface). The second part controls the upper structure (US), including the hexapod and the yaw joint with seven DOFs in total. Table 1 contains essential specifications of the total system, the upper structure, and the motion platform.

Table 1 Specifications of the driving simulator

2.2 Concept of the control system

The control system is the link between the vehicle simulation and the driving simulator’s motion systems, as shown in Fig. 2.

Fig. 2
figure 2

Overview of the entire control system

Due to the vehicle motion in the simulation (six DOFs) and the current direction of gravity at the driver in the simulator, the Motion Cueing algorithm generates the translational target accelerations and rotational target velocities for each motion system (three DOFs for the motion platform, six DOF for the hexapod, and one DOF for the yaw joint). These motion states relate to human perception, as the vestibular organ senses only specific forces in translation (corresponding to the accelerations and desired direction of gravity), but velocities in rotation [15]. Regarding the motion platform, the algorithm includes a washout control, which continuously returns the motion platform to the starting position and restricts the movement to a limited motion area. In order to prevent the driver from perceiving the returning motion, the hexapod generates a compensating specific force by tilting the driver (called tilt coordination). Therefore, the Motion Cueing algorithm considers the driver’s perception in the entire motion planning process.

Afterward, the Motion Control realizes each motion system’s target accelerations and velocities, demanded by the Motion Cueing algorithm. Regarding the upper structure, the control variables are the actuators’ strokes for the hexapod, and the yaw velocity for the yaw joint. The DOFs of the required motion correlates with the number of available actuators and is seven in total (cf. Fig. 2). In contrast, the motion platform is an over-actuated system with more controllable actuators than DOFs: one drive and steering engine for each corner module, resulting in a horizontal motion with three DOFs.

This configuration of the motion platform is comparable to a vehicle, so the Motion Control for the motion platform is similar to an integrated vehicle dynamics control. Since the motion platform of the simulator does not have a preferential direction of motion, the Motion Control has to ensure accelerations with high dynamics in any direction. Therefore, a special control algorithm is required, especially considering the latency-based tire characteristics.

The Motion Control algorithm for the motion platform is presented in Sect. 4, based on the model definitions in Sect. 3. As the controller design requires various reference systems, the following Sect. 2.3 introduces these reference frames first.

2.3 Definition of reference frames

There are four basic reference systems required for the controller design, which are the inertial (I), the road (RD), the two-track (ZS), and the wheel (R) reference frame, shown in Fig. 3.

Fig. 3
figure 3

Overview of reference systems

2.3.1 Inertial (I) reference frame

The inertial (I) reference frame is the global or world reference frame, with z pointing upwards (cf. Fig. 3, top left).

2.3.2 Road (RD) reference frame

The road (RD) reference frame is the reference frame of the road surface located on top of it. It is tilted relative to the (I) reference frame by αrd around the \({}^{{\rm I}}x\)-axis and with \({\beta }_{{\rm rd}}\) around the \({}^{{\rm I}}y\)-axis, no rotation around the \({}^{{\rm I}}z\)-axis (cf. Fig. 3, top right).

2.3.3 Two-track (ZS) reference frame

The two-track (ZS) reference frame corresponds to the vehicle reference frame by ISO standard 8855, located in the center of mass and defined by x - front, y - left, and z - up. The (ZS) reference frame is rotated relative to the (RD) reference frame by the yaw angle of the motion platform \({\psi }_{{\rm MP}}-{\rm 0,25} \pi\) around the \({}^{{\rm RD}}z\)-axis, so the \({}^{{\rm RD}}x\)-axis points in the direction of the wheel R1 in the case of \({\psi }_{{\rm MP}}=0\) (cf. Fig. 3, bottom, and Fig. 5).

2.3.4 Wheel (R) reference frame

The wheel (R) reference frame is the reference frame of each wheel (R1…R4), located in the wheel center. It is rotated relative to the (ZS) reference frame by the steering angle \({\delta }_{i}\) (with \(i=1\dots 4\)) around the \({}^{{\rm ZS}}z\)-axis (cf. Fig. 3, bottom, for wheel R4).

3 Modular model definition

Due to the structure of the motion platform, consisting of the main frame and four wheel-based corner modules, this platform is generally comparable to a vehicle. Therefore, the definition of a horizontal two-track model leads to a simplified basic model for the subsequent development of the Motion Control. According to the overall structure of the Motion Control, presented in Sect. 4, there is a corresponding modular model structure. This section introduces the various modules, consisting of the extended HSRI tire model, the wheel-vehicle coupling, and the horizontal body dynamics.

3.1 Extended HSRI tire model

The basis of the tire model presented in this subsection is the physical HSRI (Highway Safety Research Institute) tire model by Dugoff et al. [4]. This model provides a relatively simple and expandable calculation for the tire forces on the one hand, ensuring real-time capability for the required applications, with appropriate accuracy on the other hand. The HSRI tire model generates the horizontal tire forces based on the longitudinal slip \(\kappa\) and the lateral slip \({\rm tan }\left(\alpha \right)\) and considers the current state of motion in the contact patch. However, the general slip definitions lead to a numerical singularity at low velocities. Applying the advanced slip ratio (ASR) method circumvents this problem and stabilizes the simulation. This method includes marginal velocities \({v}_{{\rm k}x,y}\) (kx for longitudinal, ky for lateral slip) with a safety coefficient \(\eta =1, 1\) [8, 9]. Merging the general slip definitions by Schramm et al. [18] and the expansions by Jung et al. [8] and Kim et al. [9] leads to Eqs. (1) and (2).

$$\kappa =\frac{{r}_{{\rm dyn}}\cdot \omega -{}{}^{{\rm R}}\dot{x}}{{\rm max}\left(\left|{r}_{{\rm dyn}}\cdot \omega \right|,\left|{}{}^{{\rm R}}\dot{x}\right|,\eta \cdot {v}_{{\rm k}x}\right)}$$
(1)
$${\rm tan}\left(\alpha \right)=\frac{{}_{ }{}^{{\rm R}}\dot{y}}{{\rm max}\left(\left|{}{}^{{\rm R}}\dot{x}\right|,\eta \cdot {v}_{{\rm k}y}\right)}$$
(2)

The definitions include the longitudinal \({}^{{\rm R}}\dot{x}\) and lateral \({}^{{\rm R}}\dot{y}\) velocities of the wheel hub, the rotation velocity \(\omega\), and the dynamic rolling radius \({r}_{{\rm dyn}}\) of the tire. Defining the marginal velocities as \({v}_{{\rm k}x}=2 \; {{\rm m\,s}}^{-1}\) and \({v}_{{\rm k}y}={\rm 0,1} \; {{\rm m\,s}}^{-1}\) ensures numerical stability and minimizes the impact on accuracy.

Regarding the state of motion in the contact patch, the general HSRI tire model defines the dimensionless variable \({s}_{{\rm R}}\), which considers the longitudinal and lateral slip and corresponding slip stiffnesses \({c}_{\kappa }\) and \({c}_{\alpha }\), and the wheel load \({F}_{z}\) and the friction coefficient \(\mu\) [18].

$${s}_{{\rm R}}=\frac{\sqrt{{\left({c}_{\kappa }\cdot \kappa \right)}^{2}+{\left({c}_{\alpha }\cdot {\rm tan}\left(\alpha \right)\right)}^{2}}}{\mu \cdot {F}_{z}\cdot \left(1-\left|\kappa \right|\right)}$$
(3)

According to the HSRI-definition, there are two case distinctions: \({s}_{{\rm R}}\le {\rm 0,5}\) indicates pure sticking in the contact patch, \({s}_{{\rm R}}>{\rm 0,5}\) considers an increasing sliding part. These considerations lead to the following definitions of steady-state tire forces in the longitudinal \({F}_{x,{\rm stat}}\) (4) and the lateral direction \({F}_{y,{\rm stat}}\) (5) [18].

$${F}_{x,{\rm stat}}=\left\{\begin{array}{ll}{c}_{\kappa }\cdot \kappa \cdot \frac{1}{1-\left|\kappa \right|}, & {s}_{{\rm R}}\le {\rm 0,5}\\ {c}_{\kappa }\cdot \kappa \cdot \frac{1}{1-\left|\kappa \right|}\cdot \frac{{s}_{{\rm R}}-{\rm 0,25}}{{s}_{{\rm R}}^{2}},& {s}_{{\rm R}}>{\rm 0,5}\end{array}\right.$$
(4)
$${F}_{y,{\rm stat}}=\left\{\begin{array}{ll}{c}_{\alpha }\cdot {\rm tan}\left(\alpha \right),& {s}_{{\rm R}}\le {\rm 0,5}\\ {c}_{\alpha }\cdot {\rm tan}\left(\alpha \right)\cdot \frac{{s}_{{\rm R}}-{\rm 0,25}}{\left(1-\left|\kappa \right|\right)\cdot {s}_{{\rm R}}^{2}}, & {s}_{{\rm R}}>{\rm 0,5}\end{array}\right.$$
(5)

From this point on, the definitions of the HSRI tire model require an expansion once again. Due to relaxation, force transmission always has a latency, which corresponds approximately to a first-order delay element (\(P{T}_{1}\)). Figure 4 shows a step-input of the lateral steady-state force \({F}_{y,{\rm stat}}\) and the resulting dynamic force \({F}_{y,{\rm dyn}}\), based on Ersoy et al. [5]. The leading tire characteristics influencing this transfer function are the relaxation lengths \({\sigma }_{\kappa ,\alpha }\) (\(\kappa\) for longitudinal and \(\alpha\) for lateral direction), defined in Eq. (6) [5].

Fig. 4
figure 4

Step response for the lateral tire force, based on [5]

$${\sigma }_{\kappa }=\frac{{c}_{\kappa }}{{c}_{x}} ; \quad {\sigma }_{\alpha }=\frac{{c}_{\alpha }}{{c}_{y}}$$
(6)

The relaxation lengths depend on the longitudinal \({c}_{\kappa }\) or lateral \({c}_{\alpha }\) slip stiffness and the longitudinal \({c}_{x}\) or lateral \({c}_{y}\) stiffness. The latency \(\tau\) (7) results from the ratio of relaxation length and longitudinal velocity and rises at decreasing velocity.

$$\tau =\frac{{\sigma }_{\alpha }}{\left|{}_{ }{}^{{\rm R}}\dot{x}\right|}$$
(7)

As shown in Fig. 4, this latency corresponds to the time after which the dynamic force reaches approx. two-thirds of the steady-state force [5].

With these considerations, the definitions for the dynamic tire forces correspond to the first-order differential Eqs. (8) and (9).

$${\dot{F}}_{x,{\rm dyn}}=\frac{{\rm max}\left(\left|{}_{ }{}^{{\rm R}}\dot{x}\right|,{v}_{x,{\rm min}}\right)}{{\sigma }_{\kappa }}\cdot \left({F}_{x,{\rm stat}}-{F}_{x,{\rm dyn}}\right)$$
(8)
$${\dot{F}}_{y,{\rm dyn}}=\frac{\left|{}_{ }{}^{{\rm R}}\dot{x}\right|}{{\sigma }_{\alpha }}\cdot \left({F}_{y,{\rm stat}}-{F}_{y,{\rm dyn}}\right)$$
(9)

Similar to the velocities \({v}_{{\rm k}x,y}\) regarding the ASR method, there is a further marginal velocity \({v}_{x,{\rm min}}\) included in the definition (8), defined as \({v}_{x,{\rm min}}={\rm 0,2} \; {{\rm m\,s}}^{-1}\). This parameter ensures the generation and transmission of a longitudinal force even from a standstill. The tire model does not consider pure movement in the lateral direction from a standing position, so there is no additional parameter in the lateral force definition.

Finally, Eqs. (1) to (9) result in the extended HSRI tire model, defined as a nonlinear, affine state-space model (10) with the system functions \({\varvec{f}}\left({\varvec{x}},{\varvec{p}}\right)\)\({\varvec{g}}\left({\varvec{x}}\right)\), and \({\varvec{h}}\left({\varvec{x}}\right)\). In order to obtain a system with an affine input, the state vector is \({\varvec x} := {\left[\begin{array}{llll}\omega & \delta & {F}_{x,{\rm dyn}}& {F}_{y,{\rm dyn}}\end{array}\right]}^{T}\). Defining input vector \(\varvec u := {\left[\begin{array}{ll}\dot{\omega }& \dot{\delta }\end{array}\right]}^{T}\) and output vector \(\varvec y := {\left[\begin{array}{cc}{F}_{x,{\rm dyn}}& {F}_{y,{\rm dyn}}\end{array}\right]}^{T}\), the system has a Multiple-Input Multiple-Output (MIMO) character.

$$\begin{array}{ll}\dot{{\varvec{x}}}={\varvec{f}}\left({\varvec{x}},{\varvec{p}}\right)+{\varvec{g}}\left({\varvec{x}}\right)\cdot {\varvec{u}}\\ {\varvec{y}}={\varvec{h}}\left({\varvec{x}}\right)\end{array}$$
(10)
$$\varvec f\left(\varvec x,\varvec p\right): = \left[\begin{array}{c}0\\ 0\\ \frac{{\rm max}\left(\left|{}_{ }{}^{{\rm R}}\dot{x}\right|,{v}_{x,{\rm min}}\right)}{{\sigma }_{\kappa }}\cdot \left({F}_{x,{\rm stat}}-{F}_{x,{\rm dyn}}\right)\\ \frac{\left|{}_{ }{}^{{\rm R}}\dot{x}\right|}{{\sigma }_{\alpha }}\cdot \left({F}_{y,{\rm stat}}-{F}_{y,{\rm dyn}}\right)\end{array}\right]$$
$$\varvec g\left(\varvec x\right): = \left[\begin{array}{cc}1& 0\\ 0& 1\\ 0& 0\\ 0& 0\end{array}\right]; \quad h\left(x\right) = \left[\begin{array}{c}{F}_{x,{\rm dyn}}\\ {F}_{y,{\rm dyn}}\end{array}\right]$$

The parameter vector \(\varvec p: = {\left[\begin{array}{ccc}{F}_{z}& {}{}^{{\rm ZS}}{\dot{x}}_{{\rm R}}& {}{}^{{\rm ZS}}{\dot{y}}_{{\rm R}}\end{array}\right]}^{T}\) contains global states provided by a superior model (resp. the two-track model, cf. Sect. 3.3). These states are the wheel load \({F}_{z}\) and the translational velocity, defined in the (ZS) reference frame \({{}^{{\rm ZS}}{\varvec{v}}}_{{\rm R}i} = {}_{ }{}^{{\rm ZS}}{\left[\begin{array}{cc}{\dot{x}}_{{\rm R}i}& {\dot{y}}_{{\rm R}i}\end{array}\right]}^{T}\). This velocity has to be transformed into the (R) reference frame due to Eq. (11), using the transformation matrix \({{\varvec{T}}}^{{\rm ZS}2{\rm R}}\).

$${}^{{\rm R}}{\varvec{v}}={{\varvec{T}}}^{{\rm ZS}2{\rm R}}\cdot {{}_{ }{}^{{\rm ZS}}{\varvec{v}}}_{{\rm R}i}$$
(11)
$${{\varvec{T}}}^{{\rm ZS}2{\rm R}} = \left[\begin{array}{cc}{\rm cos}\left(\delta \right)& {\rm sin}\left(\delta \right)\\ -{\rm sin}\left(\delta \right)& {\rm cos}\left(\delta \right)\end{array}\right]$$

3.2 Wheel-vehicle coupling

The following assumptions apply for modeling the wheel-vehicle coupling: there is no suspension kinematics, and the tire forces in the contact patch apply directly to the tire connection to the vehicle body. Regarding the two-track model in Fig. 5, the balances of forces in the x- and the y-direction (12), as well as the balance of the moment around the z-axis (13), define the relation between tire forces \({F}_{x,yi}\), and virtual body forces \({F}_{{\rm A}x,y}\) and moment \({M}_{{\rm A},z}\). In the following considerations, all vectors refer to the (ZS) reference frame if not stated otherwise.

Fig. 5
figure 5

Two-track model of the motion platform

$${F}_{{\rm A},x}=\sum_{i=1}^{4}{F}_{xi} ; \quad {F}_{{\rm A},y}=\sum_{i=1}^{4}{F}_{yi}$$
(12)
$${M}_{{\rm A},z}=\sum_{i=1}^{4}{{}_{{\rm C}}{}^{ }{\varvec{r}}}_{{\rm R}i}\times {{\varvec{F}}}_{i}$$
(13)

The force vector \({{\varvec{F}}}_{i}\) merges the tire’s horizontal forces \({F}_{xi}\) and \({F}_{yi}\). The location vectors \({{}_{{\rm C}}{}^{ }{\varvec{r}}}_{{\rm R}i}\) point from the body center to the position of the wheels R1…R4. According to the counting order of the wheels in Fig. 5, the single location vectors are as follows:

$${{}_{{\rm C}}{}^{ }{\varvec{r}}}_{{\rm R}1} = {l}^{*}\cdot \left[\begin{array}{c}1\\ 1\end{array}\right] ; \quad {{}_{{\rm C}}{}^{ }{\varvec{r}}}_{{\rm R}2} = {l}^{*}\cdot \left[\begin{array}{c}1\\ -1\end{array}\right]$$
$${{}_{{\rm C}}{}^{ }{\varvec{r}}}_{{\rm R}4} = {l}^{*}\cdot \left[\begin{array}{c}-1\\ 1\end{array}\right] ; \quad {{}_{{\rm C}}{}{\varvec{r}}}_{{\rm R}3} = {l}^{*}\cdot \left[\begin{array}{c}-1\\ -1\end{array}\right]$$

where the general longitudinal and lateral distance is

$${l}^{*} = \frac{{{\rm l}}_{{\rm arm}}}{\sqrt{2}}.$$

These definitions and assumptions result in the following linear equation system of the wheel-vehicle coupling (14), where \({{\varvec{F}}}_{{\rm A}}\) is the vector of the horizontal body forces and moment, \({\varvec{G}}\) is the coupling matrix, and \({{\varvec{F}}}_{{\rm R}xy}\) is the total wheel force vector, defined below [13].

$${\varvec{F}}_{{\rm A}}={\varvec{G}}\cdot {\varvec{F}}_{{\rm R}xy}$$
(14)
$${\varvec F}_{{\rm A}}: = {\left[\begin{array}{ccc}{F}_{{\rm A},x}& {F}_{{\rm A},y}& {M}_{{\rm A},z}\end{array}\right]}^{{\rm T}}$$
$$\varvec G: = \left[\begin{array}{cccccccc}1& 0& 1& 0& 1& 0& 1& 0\\ 0& 1& 0& 1& 0& 1& 0& 1\\ -{l}^{*}& {l}^{*}& {l}^{*}& {l}^{*}& {l}^{*}& -{l}^{*}& -{l}^{*}& -{l}^{*}\end{array}\right]$$
$${\varvec F}_{{\rm R}xy} := {\left[\begin{array}{cccccccc}{F}_{x1}& {F}_{y1}& {F}_{x2}& {F}_{y2}& {F}_{x3}& {F}_{y3}& {F}_{x4}& {F}_{y4}\end{array}\right]}^{T}$$

3.3 Horizontal body dynamics

The horizontal body dynamics consists of two parts: the horizontal body forces in translation and the horizontal body moment in rotation.

Similar to a vehicle, the horizontal body forces correspond to the total running resistance. In general, the running resistance includes an acceleration resistance, an aerodynamic drag \({{\varvec{F}}}_{{\rm aero}}\), a climbing resistance \({{\varvec{F}}}_{{\rm cr}}\) and a rolling resistance [23], but neglecting the rolling resistance for the driving simulator at this point as it is part of individual and separate control of the wheels’ drive engines. Therefore, using the law of conservation of moment, which is part of Newton’s laws of motion, Eq. (15) defines the horizontal forces in the (ZS) reference frame [23].

$${m}_{{\rm Sim}}\cdot {\varvec{a}}_{{\rm MP}}={\varvec{F}}_{{\rm A},xy}-{\varvec{F}}_{{\rm aero}}-{\varvec{F}}_{{\rm cr}}$$
(15)

The left part, including the mass of the simulator \({m}_{{\rm Sim}}\) and the acceleration of the motion platform center \({\varvec a}_{{\rm MP}}: = {\left[\begin{array}{cc}{\ddot{x}}_{{\rm MP}}& {\ddot{y}}_{{\rm MP}}\end{array}\right]}^{T}\), corresponds to the acceleration resistance. The horizontal body force on the right side is \({\varvec F}_{{\rm A},xy}: = {\left[\begin{array}{cc}{F}_{{\rm A},x}& {F}_{{\rm A},y}\end{array}\right]}^{T}\). At the current state, there is no consideration of the hexapod’s reaction forces, so this impact requires further investigations afterward at the existing system.

The aerodynamic drag \({\varvec{F}}_{{\rm aero}}\) generally depends on the air density \({\rho }_{{\rm air}}\), the cross-sectional area \({A}_{{\rm W}}\), the drag coefficient \({c}_{{\rm W}}\), and the velocity of the motion platform \({\varvec v}_{{\rm MP}}: = {\left[\begin{array}{cc}{\dot{x}}_{{\rm MP}}& {\dot{y}}_{{\rm MP}}\end{array}\right]}^{T}\). The ability of omnidirectional movement on the road surface leads to the following definition (16), defined in the (ZS) reference frame.

$${\varvec{F}}_{{\rm aero}}=\frac{1}{2}\cdot {A}_{{\rm W}}\cdot {\rho }_{{\rm air}}\cdot {c}_{{\rm W}}\cdot \Vert {\varvec{v}}_{{\rm MP}}\Vert \cdot {\varvec{v}}_{{\rm MP}}$$
(16)

Regarding the climbing resistance, a first definition according to Eq. (17) refers to the (RD) reference frame of the road (tilted by \({\alpha }_{{\rm rd}}\) around the x-axis and by \({\beta }_{{\rm rd}}\) around the y-axis of the (I) reference frame).

$${}^{{\rm RD}}{F}_{{\rm cr}}={m}_{{\rm Sim}}\cdot g\cdot \left[\begin{array}{c}{\rm sin}\left({\beta }_{{\rm rd}}\right)\\ -{\rm sin}\left({\alpha }_{{\rm rd}}\right)\cdot {\rm cos}\left({\beta }_{{\rm rd}}\right)\end{array}\right]$$
(17)

Considering the yaw angle \({\psi }_{{\rm MP}}\) of the motion platform concerning the (RD) reference frame, the transformation of the climbing resistance from the (RD) into the consistent (ZS) reference frame follows Eq. (18), with the transformation matrix \({\varvec{T}}^{{\rm RD}2{\rm ZS}}\) defined below.

$${\varvec{F}}_{{\rm cr}}={\varvec{T}}^{{\rm RD}2{\rm ZS}}\cdot {}{}^{{\rm RD}}{{\varvec{F}}}_{{\rm cr}}$$
(18)
$${\varvec T}^{{\rm RD}2{\rm ZS}} = \left[\begin{array}{cc}{\rm cos}\left({\psi }_{{\rm MP}}-{\rm 0,25}\pi \right)& {\rm sin}\left({\psi }_{{\rm MP}}-{\rm 0,25}\pi \right)\\ -{\rm sin}\left({\psi }_{{\rm MP}}-{\rm 0,25}\pi \right)& {\rm cos}\left({\psi }_{{\rm MP}}-{\rm 0,25}\pi \right)\end{array}\right].$$

With these considerations, the definition of the relation between the horizontal body forces and the running resistance is complete.

Continuing with the horizontal body moment in a similar way, the law of conservation of moment also applies. Consideration of the horizontal moment, regarding the (ZS) reference frame only, leads to

$${\Theta }_{{\rm MP},zz}\cdot {\ddot{\psi }}_{{\rm MP}}={M}_{{\rm A},z}-{\Theta }_{{\rm US},zz}\cdot \left({\ddot{\psi }}_{{\rm MP}}+{\ddot{\psi }}_{{\rm YJ}}\right)$$
(19)

where \({\Theta }_{{\rm MP},zz}\) is the moment of inertia of the motion platform and \({\Theta }_{{\rm US},zz}\) of the upper structure.

Within the rotation resistance, considering not only the yaw acceleration of the motion platform \({\ddot{\psi }}_{{\rm MP}}\) but also the additional yaw acceleration of the yaw joint \({\ddot{\psi }}_{{\rm YJ}}\) leads to a partial decoupling of the motion platform.

Finally, Eqs. (15) to (19) lead to the motion platform’s horizontal accelerations \({\ddot{x}}_{{\rm MP}}\) and \({\ddot{y}}_{{\rm MP}}\) in translation and \(\ddot{\psi }_{{{\text{MP}}}}\) in rotation, defined in the (ZS) reference frame. Due to the continuous rotation of the (ZS) reference frame, the velocities \(\dot{x}_{{{\text{MP}}}}\) and \(\dot{y}_{{{\text{MP}}}}\) in translation, as well as \(\dot{\psi }_{{{\text{MP}}}}\) in rotation, result from Eq. (20) (cf. [18].

$${\dot{x}}_{{\rm MP}}=\int {\ddot{x}}_{{\rm MP}}+{\dot{\psi }}_{{\rm MP}}\cdot {\dot{y}}_{{\rm MP}}\,\,{\rm d}t$$
$${\dot{y}}_{{\rm MP}}=\int {\ddot{y}}_{{\rm MP}}-{\dot{\psi }}_{{\rm MP}}\cdot {\dot{x}}_{{\rm MP}}\,\,{\rm d}t$$
$${\dot{\psi }}_{{\rm MP}}=\int {\ddot{\psi }}_{{\rm MP}}\,\,{\rm d}t$$
(20)

In addition to this, the wheels’ velocities \({\varvec{v}}_{{{\text{R}}i}}\) result from the motion platform’s absolute velocity \({\varvec{v}}_{{{\text{MP}}}}\) and the wheels’ relative velocity \({\varvec{\omega}} \times {}_{C}^{ } {\varvec{r}}_{Ri}\).

$${\varvec{v}}_{{\rm R}1}={\varvec{v}}_{{\rm MP}}+{\dot{\psi }}_{{\rm MP}}\cdot \left[\begin{array}{c}-{l}^{*}\\ {l}^{*}\end{array}\right]; \quad {\varvec{v}}_{{\rm R}2}={\varvec{v}}_{{\rm MP}}+{\dot{\psi }}_{{\rm MP}}\cdot \left[\begin{array}{c}{l}^{*}\\ {l}^{*}\end{array}\right]$$
$${\varvec{v}}_{{\rm R}4}={\varvec{v}}_{{\rm MP}}+{\dot{\psi }}_{{\rm MP}}\cdot \left[\begin{array}{c}-{l}^{*}\\ -{l}^{*}\end{array}\right]; \quad {\varvec{v}}_{{\rm R}3}={\varvec{v}}_{{\rm MP}}+{\dot{\psi }}_{{\rm MP}}\cdot \left[\begin{array}{c}{l}^{*}\\ -{l}^{*}\end{array}\right]$$

4 Design of the Motion Control

The Motion Control is the horizontal dynamics control of the motion platform. It transforms the motion platform’s general target accelerations in translation and target velocity in rotation (cf. Sect.  2.2), demanded by the Motion Cueing algorithm as \({\varvec{a}}_{MP,t}\), into steering angles \(\delta_{{{\text{R}}i}}\) and rotation velocities \(\omega_{{{\text{R}}i}}\) of the four individual controllable wheels. This control structure does not include the inner control loop of the wheel engines (drive and steering engine of each wheel). Figure 6 shows the general structure of the Motion Control, designed as a Two-Degrees-of-Freedom control with both a feedforward and a control loop [16].

Fig. 6
figure 6

Motion Control as Two-Degrees-of-Freedom control

The following subsections present the main components of the Motion Control, comprising Feedforward, Control Allocation, Single Wheel Control, and Compensation Control.

4.1 Feedforward

The input of the Feedforward consists of the horizontal, translational target accelerations of the motion platform \(\ddot{x}_{{{\text{MP}},{\text{t}}}}\) and \(\ddot{y}_{{{\text{MP}},{\text{t}}}}\), and the horizontal, rotational target velocity \(\dot{\psi }_{{{\text{MP}},{\text{t}}}}\), defined in the (ZS) reference frame and summarized in the total target vector \(\varvec a_{MP,t} := \left[ {\begin{array}{*{20}c} {\ddot{x}_{MP,t} } & {\ddot{y}_{MP,t} } & {\dot{\psi }_{MP,t} } \\ \end{array} } \right]^{T}\). The output contains the virtual target body forces in translation \({\varvec {F}}_{{{\text{A}},{\text{t}}xy}} := \left[ {\begin{array}{*{20}c} {F_{{{\text{A}},{\text{t}}x}} } & {F_{{{\text{A}},{\text{t}}y}} } \\ \end{array} } \right]^{T}\), and the virtual target body moment \(M_{{{\text{A}},{\text{t}}z}}\) in rotation [12]. The calculation includes the horizontal body dynamics presented in Sect. 3.3.

The target acceleration in translation leads to the acceleration resistance \({\varvec{F}}_{{{\text{acc}}}}\), defined in Eq. (21) (cf. acceleration resistance in Eq. (15)).

$${\varvec{F}}_{{\rm acc}}={m}_{{\rm Sim}}\cdot \left[\begin{array}{c}{\ddot{x}}_{{\rm MP},{\rm t}}\\ {\ddot{y}}_{{\rm MP},{\rm t}}\end{array}\right]$$
(21)

Considering the aerodynamic drag \({\varvec{F}}_{{{\text{aero}}}}\), defined in Eq. (16), and the climbing resistance \({\varvec{F}}_{{{\text{cr}}}}\), defined in Eqs. (17) and (18), the virtual target body forces \({\varvec{F}}_{{{\text{A}},{\text{t}}xy}}\) result from Eq. (22).

$${\varvec{F}}_{{\rm A},{\rm t}xy}={\varvec{F}}_{{\rm acc}}+{\varvec{F}}_{{\rm aero}}+{\varvec{F}}_{{\rm cr}}$$
(22)

Regarding the virtual target body moment \(M_{{{\text{A}},{\text{t}}z}}\) (cf. Eq. (19)), consideration of the target yaw rate’s derivative \(\psi _{{\rm MP, t}}\) leads to the following definition (23).

$${M}_{{\rm A},{\rm t}z}={\Theta }_{{\rm MP},zz}\cdot {\ddot{\psi }}_{{\rm MP},{\rm t}}+{\Theta }_{{\rm US},zz}\cdot \left({\ddot{\psi }}_{{\rm MP},{\rm t}}+{\ddot{\psi }}_{{\rm YJ}}\right)$$
(23)

The output vector of the Feedforward summarizes these definitions as virtual target body forces and moment

$${\varvec{F}}_{{\rm A},{\rm t}} = {\left[\begin{array}{ccc}{F}_{{\rm A},{\rm t}x}& {F}_{{\rm A},{\rm t}y}& {M}_{{\rm A},{\rm t}z}\end{array}\right]}^{T}.$$

4.2 Control Allocation

The Control Allocation describes an optimal force distribution of the given target forces to the wheels. These horizontal target forces and target moment \({\varvec{F}}_{{{\text{A}},{\text{ct}}}}\), defined in Eq. (24), consist of the virtual target body forces and moment \({\varvec{F}}_{{{\text{A}},{\text{t}}}}\) and the differential force \({{\varvec{\Delta}}}{\varvec{F}}_{{{\text{A}},{\text{c}}}}\), which results from the Compensation Control introduced in Sect. 4.4.

$${\varvec{F}}_{{\rm A},{\rm ct}}={\varvec{F}}_{{\rm A},{\rm t}}+{\varvec{\Delta F}}_{{\rm A},{\rm c}}$$
(24)

The basic model for the Control Allocation is the wheel-vehicle coupling presented in Sect. 3.2. The main steps in developing the Control Allocation are the general force distribution, followed by an optimal redistribution.

The inversion of Eq. (14) leads to general force distribution. As the coupling matrix \({\varvec{G}} \in {\mathbb{R}}^{3 \times 8}\) is not square, it is not directly invertible. Therefore, the Moore-Penrose-Inverse (MPI) \({\varvec{G}}^{ + } \in {\mathbb{R}}^{8 \times 3}\) is applied, also known as pseudoinverse and defined in (25). The MPI leads to a uniform distribution of the horizontal target forces and target moment \({\varvec{F}}_{\rm A,ct}\) on the wheels. Each wheel receives an equal share of the forces in the x- and the y-direction and of the moment. This distribution leads to the wheel forces \({\varvec{F}}_{{\rm R}xy}\) (26) [13].

$${\varvec{G}}^{+}={\varvec{G}}^{T}\cdot {\left({\varvec{G}}\cdot {\varvec{G}}^{T}\right)}^{-1}$$
(25)
$${\varvec{F}}_{{\rm R}xy}={\varvec{G}}^{+}\cdot {\varvec{F}}_{{\rm A},{\rm ct}}$$
(26)

However, due to the dynamic of the whole system, each wheel has an individual wheel load and an individual potential in force transmission. Even distribution can lead to overloading for one wheel, while another may still be able to transmit higher forces. A redistribution of the forces addresses this problem.

Due to the overdetermined system, five DOFs are remaining, usable specifically for optimal redistribution of the forces. These remaining DOFs lead to a free selection of a corresponding vector \({{\varvec{\Delta}}}{\varvec{F}}_{xy} \in {\mathbb{R}}^{5 \times 1}\), including five force parameters. These forces may only cause a redistribution of the wheel forces but must not influence the resulting body forces. Defining a right annihilator \({\varvec{G}}^{ \bot } \in {\mathbb{R}}^{8 \times 5}\) ensures that the virtual body forces and moment are not affected by the redistribution under the condition \({\varvec{G}} \cdot {\varvec{G}}^{ \bot } = 0\).

Extending Eq. (26) in terms of the redistribution finally leads to the following expression (27) [13].

$${\varvec{F}}_{{\rm R}xy} = {\varvec{G}}^{ + } \cdot {\varvec{F}}_{\rm A,ct} + {\varvec{G}}^{ \bot } \cdot {\varvec{\Delta F}}_{xy}$$
(27)

The free selectable vector \({{\varvec{\Delta}}}{\varvec{F}}_{xy}\) results from solving an optimization problem. The goal of this optimization problem is to obtain equal utilization of adhesion for all wheels so that each wheel receives the same amount of force related to the respective force potential [12].

Due to the traction circle in Fig. 7, the adhesion utilization \(\eta_{i}\) (with \(i = 1 \ldots 4\) for each wheel) is the ratio between the total horizontal force \(\| {\varvec{F}}_{i} \|\) and the maximal traction potential \(F_{{i,{\text{pot}}}}\), defined in (28). The traction potential results from the adhesion coefficient \(\mu_{i}\), depending on tire and road surface, and the wheel load \(F_{i,z}\).

$$\varvec \eta_{i} := \frac{{F_{i} }}{{F_{i,pot} }} = \frac{{\sqrt {F_{i,x}^{2} + F_{i,y}^{2} } }}{{\mu_{i} \cdot F_{i,z} }} \le 1 $$
(28)
Fig. 7
figure 7

Traction circle, based on [18]

Defining the general optimization problem according to (29) and taking into account the desired equal utilization of adhesion for all wheels, the weighting parameters’ definition is \(q_{i} := F_{{i,{\text{pot}}}}\). Considering the respective traction potentials \(F_{{i,{\text{pot}}}}\) leads to a greater safety margin in force transmission and ensures that all wheels can meet their target forces [12].

$${\text{min }}J{ } = \mathop \sum \limits_{i = 1}^{4} q_{i} \cdot \eta_{i}^{2}$$
(29)

Inserting Eq. (28) and the weighting parameters \(q_{i}\) for each wheel \(i = 1 \ldots 4\) into Eq. (29) leads to Eq. (30). This cost function depends on the wheel forces \({\varvec{F}}_{{\rm R}xy}\) and the weight matrix \({\varvec{Q}} \in {\mathbb{R}}^{8 \times 8}\), defined below as a diagonal matrix.

$$J = \left( {{\varvec{F}}_{{\rm R}xy} } \right)^{T} \cdot {\varvec{Q}} \cdot {\varvec{F}}_{{\rm R}xy}$$
(30)
$$\varvec Q := \left[ {\begin{array}{*{20}c} {\frac{1}{{F_{1,pot} }}} & 0 & \cdots & 0 & 0 \\ 0 & {\frac{1}{{F_{1,pot} }}} & \cdots & 0 & 0 \\ \vdots & \vdots & \ddots & \vdots & \vdots \\ 0 & 0 & \cdots & {\frac{1}{{F_{4,pot} }}} & 0 \\ 0 & 0 & \cdots & 0 & {\frac{1}{{F_{4,pot} }}} \\ \end{array} } \right] $$

Based on Eqs. (27) and (30), the cost function can be minimized concerning the force parameter vector \({{\varvec{\Delta}}}{\varvec{F}}_{xy}\), leading to the corresponding vector \({{\varvec{\Delta}}}{\varvec{F}}_{xy}^{*}\) in (31) and finally to the resulting optimal force distribution, defined in (32) [12].

$${\varvec{\Delta F}}_{xy}^{*} = - \left( {\left( {{\varvec{G}}^{ \bot } } \right)^{T} \cdot {\varvec{Q}} \cdot {\varvec{G}}^{ \bot } } \right)^{ - 1} \cdot \left( {{\varvec{G}}^{ \bot } } \right)^{T} \cdot {\varvec{Q}} \cdot {\varvec{G}}^{ + } \cdot {\varvec{F}}_{{\rm A}}$$
(31)
$${\varvec{F}}_{{\rm R,ges}} = \left( {{\varvec{G}}^{ + } - {\varvec{G}}^{ \bot } \cdot \left( {\left( {{\varvec{G}}^{ \bot } } \right)^{T} \cdot {\varvec{Q}} \cdot {\varvec{G}}^{ \bot } } \right)^{ - 1} \cdot \left( {{\varvec{G}}^{ \bot } } \right)^{T} \cdot {\varvec{Q}} \cdot {\varvec{G}}^{ + } } \right) \cdot {\varvec{F}}_{\rm A}$$
(32)

This distribution contains the horizontal target forces \({\varvec{F}}_{xy,i}\), defined as \(\varvec F_{R,ges} := \left[ {\begin{array}{*{20}c} {F_{xy,1} } & {F_{xy,2} } & {F_{xy,3} } & {F_{xy,4} } \\ \end{array} } \right]^{T}\) in the (ZS) reference frame. These target forces represent the input of the subsequent Single Wheel Control of the respective wheel, defined as \(\varvec F_{xy,i} := \left[ {\begin{array}{*{20}c} {F_{x,i} } & {F_{y,i} } \\ \end{array} } \right]^{T}\).

4.3 Single Wheel Control

The Single Wheel Control is an inner cascade of the control loop (cf. Fig. 6) and controls the horizontal tire forces by generating the required steering angles and rotational velocities. The basis is the extended HSRI tire model introduced in Sect.  3.1, which considers the tire’s essential nonlinear and transient characteristics. These considerations are necessary to minimize latencies in acceleration as much as possible but keep the complexity of the model at a minimum to ensure real-time capability.

The basis of the controller design is the exact input-output linearization, which requires a nonlinear, affine system. The extended HSRI tire model was defined accordingly in Sect.  3.1. Repeating the general formulation of the MIMO system (10):

$$\begin{array}{ll}\dot{{\varvec{x}}}={\varvec{f}}\left({\varvec{x}},{\varvec{p}}\right)+{\varvec{g}}\left({\varvec{x}}\right)\cdot {\varvec{u}}\\ {\varvec{y}}={\varvec{h}}\left({\varvec{x}}\right)\end{array}$$

The general idea of the controller design based on the exact input-output linearization is the transformation of a nonlinear system into an equivalent system with new coordinates, which is linear and controllable due to state feedback [7, 17]. The underlying process comprises the essential steps listed below.

  1. 1.

    Generating a linear input-output relation

  2. 2.

    Transforming the system

  3. 3.

    Implementing a linearizing state feedback

  4. 4.

    Implementing a stabilizing linear state control

The following Sect. 4.3.14.3.4, address these steps in the context of the Single Wheel Control. While the first two steps merely refer to a reformulation of the system description, the actual control design is part of the second half of this process.

4.3.1 Linear input–output relation

The linear input-output relation generally results from the derivations of the single output values \(y_{i}\). The derivation process repeats until there is a dependency on at least one of the input values \(u_{k}\) (\(k = 1 \ldots m\), with \(m\) as dimension of \({\varvec{u}}\)) for the first time. Equation (33) shows this process, where \(L_{{\varvec{f}}} h_{i} \left( {\varvec{x}} \right)\) is the Lie derivative of the function \(h_{i} \left( {\varvec{x}} \right)\) along the vector field \({\varvec{f}}\left( {\varvec{x}} \right)\), \(L_{{\varvec{g}}} L_{{\varvec{f}}} h_{i} \left( {\varvec{x}} \right)\) is the Lie derivative considering another vector field \({\varvec{g}}\left( {\varvec{x}} \right)\), and \(r_{i}\) is the relative degree of the system \(i\) [19].

$$y_{i} = h_{i} \left( {\varvec{x}} \right)$$
$$\dot{y}_{i} = L_{{\varvec{f}}} h_{i} \left( {\varvec{x}} \right) + \mathop \sum \limits_{k = 1}^{m} \mathop {\underbrace {{L_{{g_{k} }} h_{i} \left( {\varvec{x}} \right)}}_{ = 0}}\limits_{{}} \cdot u_{k}$$
$$\vdots$$
$$y_{i}^{{\left( {r_{i} - 1} \right)}} = L_{{\varvec{f}}}^{{r_{i} - 1}} h_{i} \left( {\varvec{x}} \right) + \mathop \sum \limits_{k = 1}^{m} \mathop {\underbrace {{L_{{g_{k} }} L_{{\varvec{f}}}^{{r_{i} - 2}} h_{i} \left( {\varvec{x}} \right)}}_{ = 0}}\limits_{{}} \cdot u_{k}$$
$$y_{i}^{{\left( {r_{i} } \right)}} = L_{{\varvec{f}}}^{{r_{i} }} h_{i} \left( {\varvec{x}} \right) + \mathop \sum \limits_{k = 1}^{m} \mathop {\underbrace {{L_{{g_{k} }} L_{{\varvec{f}}}^{{r_{i} - 1}} h_{i} \left( {\varvec{x}} \right)}}_{{ \ne 0{\text{ for min}}.{\text{ one }}k}}}\limits_{{}} \cdot u_{k}$$
(33)

The extended HSRI tire model consists of two subsystems corresponding to the output vector \({\varvec{y}} := \left[ {\begin{array}{*{20}c} {F_{x,dyn} } & {F_{y,dyn} } \\ \end{array} } \right]^{T}\). The definitions of \(F_{x,{\rm dyn}}\), and \(F_{y,{\rm dyn}}\) both contain various case distinctions (e.g., according to the \(s_{\rm R}\)-distinction or the nonlinear maximum functions), so all cases must be considered independently within one subsystem. Furthermore, the assumption of a constant parameter vector \({\varvec{p}}\) and constant HSRI parameter \(s_{\rm R}\) applies at the current time step of deviation. The deviation process leads to a consistent relative degree of \(r_{i} = 2\) for each subsystem. The resulting linear input-output relation for the MIMO system, defined in (34) [17], includes the new output vector \(\varvec y^{*} := \left[ {\begin{array}{*{20}c} {\ddot{F}_{x,dyn} } & {\ddot{F}_{y,dyn} } \\ \end{array} } \right]^{T}\), the input vector.

\(\varvec u := \left[ {\begin{array}{*{20}c} {\dot{\omega }} & {\dot{\delta }} \\ \end{array} } \right]^{T}\), as well as the state-dependent vector of Lie derivatives \({\varvec{c}}\left( {\varvec{x}} \right)\) and the decoupling matrix \({\varvec{D}} \left( {\varvec{x}} \right)\), as defined below.

$${\varvec{y}}^{*} = {\varvec{c}}\left( {\varvec{x}} \right) + {\varvec{D}}\left( {\varvec{x}} \right) \cdot {\varvec{u}}$$
(34)
$${\varvec{c}}\left( {\varvec{x}} \right) := \left[ {\begin{array}{*{20}c} {L_{{\varvec{f}}}^{2} h_{1} \left( {\varvec{x}} \right)} \\ {L_{{\varvec{f}}}^{2} h_{2} \left( {\varvec{x}} \right)} \\ \end{array} } \right]$$
$$\varvec D\left( x \right) := \left[ {\begin{array}{*{20}c} {L_{{g_{1} }} L_{f} h_{1} \left( x \right)} & {L_{{g_{2} }} L_{f} h_{1} \left( x \right)} \\ 0 & {L_{{g_{2} }} L_{f} h_{2} \left( x \right)} \\ \end{array} } \right] $$

4.3.2 System transformation

An expansion of the linear input-output relation in Eq. (34) leads to an equivalent system description of the original nonlinear system, defined in (35).

$$\begin{array}{ll} \dot{{\varvec{z}}} = {\varvec{b}} \left( {\varvec{z}} \right) + {\varvec{a}} \left( {\varvec{z}} \right) \cdot {\varvec{u}}\\ {\varvec{y}} = {\varvec{c}} \left( {\varvec{z}} \right) \end{array}$$
(35)

This description introduces a new state vector \({\varvec{z}}\), including the original output values and derivatives up to the order \(\left( {r_{i} - 1} \right)\) [1, 7]. Equation (36) contains the definition of \({\varvec{z}}\) for the extended HSRI tire model.

$$ \varvec z := \left[ {\begin{array}{*{20}c} {y_{1} } \\ {\dot{y}_{1} } \\ {y_{2} } \\ {\dot{y}_{2} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {F_{{x,{\text{dyn}}}} } \\ {\dot{F}_{{x,{\text{dyn}}}} } \\ {F_{{y,{\text{dyn}}}} } \\ {\dot{F}_{{y,{\text{dyn}}}} } \\ \end{array} } \right] $$
(36)

The transformation of the original system (10), based on states \({\varvec{x}}\), into the alternative system formulation with states \({\varvec{z}}\) in (35) uses the diffeomorphism (37).

$${\varvec{z}} = {\varvec{\Phi}} \left( {\varvec{x}} \right) = \left[ {\begin{array}{*{20}c} {h_{1} \left( {\varvec{x}} \right)} \\ {L_{{\varvec{f}}} h_{1} \left( {\varvec{x}} \right)} \\ {h_{2} \left( {\varvec{x}} \right)} \\ {L_{{\varvec{f}}} h_{2} \left( {\varvec{x}} \right)} \\ \end{array} } \right]$$
(37)

Merging the linear input-output relation (34) and the definition of \({\varvec{z}}\) in (35) and (36) leads to the final description of the new system (35) in the normal form, defined in (38) [19].

$$\left[ {\begin{array}{*{20}c} {\dot{z}_{1} } \\ {\dot{z}_{2} } \\ {\dot{z}_{3} } \\ {\dot{z}_{4} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {z_{2} } \\ {\varphi_{1} \left( {{\varvec{z}},{\varvec{u}}} \right)} \\ {z_{4} } \\ {\varphi_{2} \left( {{\varvec{z}},{\varvec{u}}} \right)} \\ \end{array} } \right]$$
$$\left[ {\begin{array}{*{20}c} {y_{1} } \\ {y_{2} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {z_{1} } \\ {z_{3} } \\ \end{array} } \right]$$
(38)

The function vector \(\varvec \varphi := \left[ {\begin{array}{*{20}c} {\varphi_{1} \left( {z,u} \right)} & {\varphi_{2} \left( {z,u} \right)} \\ \end{array} } \right]^{T}\) complies with the derived output vector \({\varvec{y}}^{*}\), considering the inverse diffeomorphism \({\varvec{x}} = {\varvec{\Phi}}^{ - 1} \left( {\varvec{z}} \right)\) [1, 7], 17].

4.3.3 Feedback linearization

After defining the various system descriptions, the actual control design can proceed by implementing linearizing state feedback. This section presents a feedforward control, defined in (39) and illustrated in Fig. 8. The plant relates to the original system definition (10).

$${\varvec{u}} = {\varvec{D}}^{ - 1} \left( {\varvec{x}} \right) \cdot \left( {{\varvec{v}} - {\varvec{c}}\left( {\varvec{x}} \right)} \right)$$
(39)
Fig. 8
figure 8

Linearizing, static state feedback, based on [17]

The feedforward corresponds to the inversion of the linear input-output relation (34) and is a decoupling control law. Required for this is that the decoupling matrix \({\varvec{D}}\) is invertible, so the matrix has to be nonsingular with a determinant \(\det \left( {\varvec{D}} \right) \ne 0\) [7, 19]. Furthermore, the introduction of a virtual reference input \({\varvec{v}} = {\varvec{y}}^{*}\) addresses the output definition, as relation (34) defines the derived output \({\varvec{y}}^{*}\), not the original output \({\varvec{y}}\) [7, 17].

With these considerations, the control law results in linearizing, static-state feedback control and comprises two subsystems, according to the virtual reference input.

$$ {\varvec{v}} := \left[ {\begin{array}{*{20}c} {\ddot{F}_{{x,{\text{ref}}}} } & {\ddot{F}_{{y,{\text{ref}}}} } \\ \end{array} } \right]^{T} . $$

4.3.4 Stabilizing, linear state control

The final step of the control design is expanding the linearizing, static-state feedback control by additional state feedback. This expansion leads to stabilizing, linear state control, defined in (40). The basis for the control is the alternative system description (35). Figure 9 illustrates the resulting control loop, where FF is the feedforward from Fig. 8.

$${\varvec{v}} = {\varvec{V}} \cdot {\varvec{w}} - {\varvec{K}} \cdot {\varvec{z}}$$
(40)
Fig. 9
figure 9

Stabilizing, linear state control, based on [1]

The reference input \(\varvec w := \left[ {\begin{array}{*{20}c} {F_{{x,{\text{ref}}}} } & {F_{{y,{\text{ref}}}} } \\ \end{array} } \right]^{T}\), providing the target forces of the tire, is passed through the static pre-filter \({\varvec{V}}\), while the state vector \({\varvec{z}}\) is fed back through the feedback gain matrix \({\varvec{K}}\), both defined below [17].

$$ {\varvec{V}} := \left[ {\begin{array}{*{20}c} {V_{1} } & 0 \\ 0 & {V_{2} } \\ \end{array} } \right] $$
$$ {\varvec{K}} := \left[ {\begin{array}{*{20}c} {a_{1,0} } & {a_{1,1} } & 0 & 0 \\ 0 & 0 & {a_{2,0} } & {a_{2,1} } \\ \end{array} } \right] $$

The linear state control (40) generally consists of two control systems corresponding to the output values \(y_{i}\). Due to the diffeomorphism (37), these control systems result in Eq. (41) with the respective transfer functions between the reference value \(w_{i}\) and the output \(y_{i}\) defined in (42).

$$v_{i} = V_{i} \cdot w_{i} - a_{i,0} \cdot y_{i} - a_{i,1} \cdot \dot{y}_{i}$$
(41)
$$G_{i} \left( s \right) = \frac{{Y_{i} \left( s \right)}}{{W_{i} \left( s \right)}} = \frac{{V_{i} }}{ s^2 + {a_{i,1} \cdot s + a_{i,0} }}$$
(42)

The individual choice of the coefficients \(V_{i} , \, a_{i,0}\) and \(a_{i,1}\) intends to ensure stability for the control system. Therefore, the characteristic polynomial of each system has to correspond to a Hurwitz polynomial. The definition for the static pre-filter is \(V_{i} = a_{i,0}\) [17].

Merging the feedback linearization and the stabilizing, linear state control, as well as the two subsystems within one formulation, finally leads to the Single Wheel Control definition (43).

$${\varvec{u}} = {\varvec{D}}^{ - 1} \left( {\varvec{x}} \right) \cdot \left[ {\begin{array}{*{20}c} {a_{1,0} \cdot \left( {w_{1} - y_{1} } \right) - a_{1,1} \cdot \dot{y}_{1} - L_{{\varvec{f}}}^{2} h_{1} \left( {\varvec{x}} \right)} \\ {a_{2,0} \cdot \left( {w_{2} - y_{2} } \right) - a_{2,1} \cdot \dot{y}_{2} - L_{{\varvec{f}}}^{2} h_{2} \left( {\varvec{x}} \right)} \\ \end{array} } \right]$$
(43)

Regarding the reference input \({\varvec{w}}\), this vector provides the target forces in the (R) reference frame of the respective wheel. Considering the target forces \({\varvec{F}}_{xy,i}\), these forces result from the Control Allocation and are defined in the (ZS) reference frame. Therefore, these forces first require a transformation into the (R) reference frame, according to (44) (cf. Equation (11)).

$${\varvec{w}} = {\varvec{T}}^{\rm ZS2R} \cdot {\varvec{F}}_{xy,i}$$
(44)

4.4 Compensation Control

Due to Fig. 6, the primary target values are the horizontal translational acceleration and the horizontal rotational velocity, provided by the Motion Cueing algorithm. Therefore, the Compensation Control as an outer cascade of the control loop applies to the horizontal dynamics and primarily compensates for the control deviation of the acceleration. This control also deals with differences between unsaturated and constrained target forces due to a special Anti-Windup modification. The general structure of the control system, including the saturation of the controlled target forces \({\varvec{F}}_{\rm A,ct}\), is illustrated in Fig. 10.

Fig. 10
figure 10

Motion Control, including force saturation

The basis for the design of the Compensation Control is an extended plant, which comprises parts of the Motion Control (Control Allocation and the parallel Single Wheel Control for the wheels), the wheel-vehicle coupling (cf. Sect. 3.2), and the horizontal body dynamics (cf. Sect. 3.3) of the system itself. As the Control Allocation corresponds to the inverse wheel-vehicle coupling, these two parts compensate each other [12]. The transfer behavior of the Single Wheel Control is quite complex, as it depends on the respective steering angle of the four wheels (due to the transformation between the (ZS) and the (R) reference frame) and therefore is not constant. In order to merge the Single Wheel Control for all wheels and neglect the dependency of the steering angles, a simple \(PT_{1}\) transfer function approximates the relaxation behavior of the tire. The behavior of the wheels’ inner control loop is assumed to be optimal. Regarding the horizontal body dynamics, a simple proportional term \(K_{\rm P}\) for translation and an additional integral term \(T_{\rm I}\) for rotation define the transfer functions for the extended plant, according to (45).

$$G_{{\rm ep},xy} \left( s \right) = \frac{{K_{{\rm P},xy} }}{{\tau_{\sigma } \cdot s + 1}}$$
$$G_{{{\text{ep}},\psi }} \left( s \right) = \frac{{K_{{{\text{P}},\psi }} }}{{T_{{{\text{I}},\psi }} \cdot s}} \cdot \frac{1}{{\tau_{\sigma } \cdot s + 1}}$$
(45)

The parameter \(\tau_{\sigma }\) corresponds to a longitudinal and lateral relaxation behavior generalization.

The general Compensation Control is a PI-Controller, including an additional Anti-Windup structure as shown in Fig. 11.

$$G_{\rm PI} \left( s \right) = K_{\rm P} \cdot \left( {1 + \frac{1}{{T_{\rm I} \cdot s}}} \right)$$
(46)
Fig. 11
figure 11

Structure of compensation control

Designing the PI-Controller, defined in (46), by loop shaping for both translational acceleration and rotational velocity, requires the consideration of the open-loop mode with transfer function \(G_{{\rm o},xy} \left( s \right)\) in translation and \(G_{{\rm o},\psi } \left( s \right)\) in rotation, defined in Eqs. (47) and (48) [10].

$$G_{{{\text{o}},xy}} \left( s \right) = K_{{\text{P}}} \cdot K_{{{\text{P}},xy}} \cdot \frac{{T_{{\text{I}}} \cdot s + 1}}{{T_{{\text{I}}} \cdot s \cdot \left( {\tau_{\sigma } \cdot s + 1} \right)}}$$
(47)
$${\text{G}}_{{{\text{o}},\psi }} \left( s \right) = K_{{\text{P}}} \cdot K_{{{\text{P}},\psi }} \cdot \frac{{T_{{\text{I}}} \cdot s + 1}}{{T_{{\text{I}}} \cdot T_{{{\text{I}},\psi }} \cdot s^{2} \cdot \left( {\tau_{\sigma } \cdot s + 1} \right)}}$$
(48)

Table 2 (left) shows both system’s open-loop frequency responses and the corresponding closed-loop step responses, based on the parameterization for the extended plant \(G_{\rm ep}\) and the general PI-Controller \(G_{\rm PI}\) from Table 3.

Table 2 System analysis for Compensation Control (open-loop transfer functions \(G_{{\rm o},xy}\) for translation and \(G_{{\rm o},\psi }\) for rotation)
Table 3 Parameterization for Compensation Control (transfer functions \(G_{\rm ep}\) for expanded plant, \(G_{\rm PI}\) for PI Controller, \(G_{\rm c}\) for correction term, \(G_{\rm DT}\) for \(DT_{1}\) term, \(G_{{\rm o},xy}\) for open-loop in translation and \(G_{{\rm o},\psi }\) for open-loop in rotation; AW for Anti-Windup)

Due to the stability and transfer behavior of the control system, the phase margin should be \(30^\circ \ldots 60^\circ\) [10]. In the case of the rotational control system, the PI-Controller must be expanded by a phase-raising correction term \(G_{\rm c} \left( s \right)\), as shown in Fig. 11. This term, defined in (49), has the desired derivative character for \(T_{\rm D} > T_{1}\).

$$G_{{\text{c}}} \left( s \right) = \frac{{T_{{\text{D}}} \cdot s + 1}}{{T_{1} \cdot s + 1}}$$
(49)

Regarding the translational control system, a similar extension of the PI-Controller by a \(DT_{1}\) term, defined in (50), results in a PID-Controller.

$$G_{{{\text{DT}}}} \left( s \right) = \frac{{T_{{\text{D}}} \cdot s}}{{T_{1} \cdot s + 1}}$$
(50)

With appropriate parameterization, this term leads to a damping behavior, with only minor influence on the relevant phase margin at \(0 \, \rm dB\) frequency. Based on the parameter sets from Table 3, these expansions result in the open-loop frequency responses and the closed-loop step responses, shown in Table 2 (right).

The saturation in Fig. 10 leads to force differences for the translational forces only, as there is no limitation for the low moment required. Due to the potential influence of this saturation, a modification of the PI- respectively PID-Controller’s integral part ensures the prevention of windup. This modification considers feedback of the force difference \({\Delta {\varvec{F}}}_{\rm AW}\) through a feedback gain \(K_{\rm AW}\), shown in Fig. 11 (cf. Table 3 for parameterization) [6].

5 Simulation results for translation

The basis for the analysis is a realistic and representative test maneuver, pre-processed by the Motion Cueing algorithm and evaluated for the first 30 s. The controlled system is a simplified reference model of the driving simulator, consisting of the two-track model and the extended HSRI tire model (cf. Sect. 3).

The primarily intended state of motion of the motion platform is the translation. An additional rotation only occurs for particular motion concepts within the Motion Cueing algorithm, and even then, only with low velocity and acceleration. Therefore, the focus is primarily on pure translational motion, connecting a low dynamic rotational motion afterward.

For the motion platform, there is an initial velocity in the x-direction of \(\dot{x}_{0} = 10\; {\rm m \, s}^{ - 1}\), which ensures a minimum velocity during the entire simulation. For a standstill of a wheel, the decoupling matrix \({\varvec{D}}\) in the Single Wheel Control is not invertible. This situation requires an alternative control approach, which is not part of this paper. The road has a constant inclination only around the y-axis with \(\beta_{\rm rd} = 5^\circ\). This angle corresponds approximately to the actual conditions for commissioning the driving simulator. If not otherwise specified, all results refer to the (I) reference frame. In the case of comparing the four wheels within one plot, the colors of the graphs correspond to the style of Fig. 5.

5.1 Feedforward

The Feedforward generates the virtual body forces, which correspond to the running resistance of the simulator. The basis for this is the target acceleration and the actual velocity, shown in Table 4 (blue for the x-direction, red for the y-direction). The longitudinal accelerations contain several extreme peaks (e.g., after about \(6 \, \rm s\) or \(20 \, \rm s\)), which should no longer occur to this extent after a revision of the Motion Cueing algorithm. However, for the analysis at this point, these sequences provide a suitable basis for testing the motion control’s functionality even in extreme situations.

Table 4 Target and actual states of the motion platform (acceleration xdd in the x-direction and ydd in the y-direction; velocity xd in the x-direction and yd in the y-direction)

The target acceleration leads to the acceleration resistance \(F_{{{\text{acc}}}}\). Due to the linear relation (21), the resulting graphs are similar for both directions, as shown in Table 5 (green). The additional graphs within these figures belong to the resulting virtual body force \(F_{\rm A,t}\) (black), or the total running resistance. The offset between these two graphs results from the further resistance terms, which are the aerodynamic drag \(F_{{{\text{aero}}}}\) (black) and the climbing resistance \(F_{\rm cr}\) (green), also presented in Table 5.

Table 5 Analysis of the virtual body force/running resistance (resulting virtual body force F_At, acceleration resistance F_acc, aerodynamic drag F_aero and climbing resistance F_cr)

Considering the aerodynamic drag, it primarily depends on the actual velocity of the driving simulator. This velocity increases the resistance by its square, noticeable by comparing the respective graphs in Tables 4 and 5.

The climbing resistance \(F_{\rm cr}\) is a static value in the (RD) reference frame in case of a constant road inclination. Regarding the running resistance in the (ZS) reference frame, it only depends on the current yaw angle of the motion platform. As the road has only an inclination angle around the y-axis, the climbing resistance only consists of a force in the x-direction. In contrast, the force in the y-direction remains zero regarding the (ZS) reference frame.

5.2 Control Allocation

The primary purpose of the Control Allocation is not only a basic distribution of the virtual body forces to the wheels but an optimal distribution due to an equal adhesion utilization. Therefore, it primarily depends on the traction potential of the wheels. Assuming equal adhesion coefficients \(\mu_{i}\), Table 6 shows the actual traction potentials \(F_{{\rm pot},i}\) (cf. Fig. 7 and Eq. (28)). The respective traction potentials correspond to the generally higher acceleration in the x- than in the y-direction of the test maneuver. The wheels’ distribution is symmetrically around the motion platform’s center, and the location of wheel R1 is on the \({}_{{}}^{\rm RD} x\)-axis (parallel to the \({}_{{}}^{\rm I} x\)-axis) in the positive direction. Therefore, wheels R1 (blue) and R3 (yellow) show a mirrored course with stronger fluctuations compared to wheels R2 (red) and R4 (green; mirrored course for the y-direction).

Table 6 Analysis of the Control Allocation (translation) (comparison of wheel R1 to wheel R4)

The force distribution presented in Table 6 corresponds to the total horizontal forces \(\| {\varvec{F}}_{i} \|\) (cf. Fig. 7 and Eq. (28)). Taking into account the optimization approach defined in Eq. (29) to (30), the influence of the individual traction potentials is visible. Referring to the detailed view in Table 6, wheel R1 (blue) has a significantly higher traction potential and, therefore, a higher force assignment than wheel R3 (yellow).

The appropriate, resulting adhesion utilization shows mainly consistent behavior for all wheels, also shown in Table 6. Therefore, the optimization goal of equal adhesion utilization is achieved.

5.3 Single Wheel Control

In connection with the force distribution, the Single Wheel Control generates the respective input values \(\omega_{i}\) and \(\delta_{i}\) of the wheels and controls the desired tire forces. As this part considers the forces in the respective (R) reference frame, the following results also refer to this frame.

Table 7 shows the tire forces in the x- (blue for actual force) and the y-direction (red for actual force; black for target force), only for wheel R1, and the corresponding rotation velocities \(\omega_{i}\) and steering angles \(\delta_{i}\) for all wheels. The resulting forces largely follow the target forces’ high dynamic, but certain deviations remain. As the target force in the y-direction is generally lower than the target force in the x-direction, there is also less deviation of the tire force. However, according to the respective relaxation behavior, the phase delay is higher for the lateral than for the longitudinal tire force.

Table 7 Analysis of the Single Wheel Control (wheel R1’s target and actual states, and comparison of wheel R1 to wheel R4)

5.4 Compensation Control

The analysis of the Compensation Control consists of three main parts: at first, there is a consideration of the starting point for the Compensation Control, which is the resulting acceleration of the control considered up to this point (Feedforward, Control Allocation & Single Wheel Control). Second, there is a connection of the first level of the Compensation Control, which consists of the PI-Controller and the subsequent extension, without any limitations of the virtual body forces. Finally, there is the second level, the total Compensation Control, including the Anti-Windup structure.

5.4.1 Starting point

Starting with the overall acceleration resulting from the previous sections, Table 8 presents the target (black) and actual accelerations in the x- (blue) and the y-direction (red), as well as the corresponding deviations. Compared to the Single Wheel Control results, the actual accelerations show a similar course as the longitudinal and lateral tire force in Table 7. In the x-direction, there is a major offset failure and a minor phase delay, while the deviations in the y-direction result primarily from the phase delay.

Table 8 Analysis of the starting point of the Compensation Control (translation) (motion platform’s target and actual accelerations)

5.4.2 PI-Controller and extensions

These simulation results are the starting point for analyzing the Compensation Control. Connecting the PI-Controller to the previous system, Table 9 presents the resulting accelerations in the x- (blue) and in the y-direction (red) and the resulting deviations. In both cases, there is already a considerable compensation for the remaining deviations. The various peaks in the deviation curves remain but result primarily from a low phase delay in the extreme cases, which will not occur with the revised Motion Cueing algorithm.

Table 9 Analysis of the Compensation Control with PI-Controller (translation) (motion platform’s target and actual accelerations)

With additional consideration of the \(DT_{1}\) extension, the resulting accelerations and deviations look very similar, though minor differences only become apparent upon detailed examination. Therefore, a selection of representative sections within the maneuver considers a relatively rapid change in acceleration in the x-direction after about \(1,4 \, \rm s\) and for y-direction after about \(21,8 \, \rm s\), as shown in Tables 10 and 11. Both tables provide a comparative overview of the resulting accelerations and deviations for these three cases: the uncontrolled system, or the starting point (without CC), the controlled system with PI-Controller (CC with PI), and the controlled system with PI-Controller and extension (CC with PI + extension).

Table 10 Comparison of the controller variations for the x-direction (motion platform’s target and actual acceleration in the x-direction)
Table 11 Comparison of the controller variations for the y-direction (motion platform’s target and actual acceleration in the y-direction)

These selections again highlight the significant reduction in deviations due to the PI-Controller, whereas the \(DT_{1}\) extension shows only minimal improvement.

5.4.3 Anti-Windup structure

Finally, there is a connection of the Anti-Windup structure to the Compensation Control. For this, there is a saturation of the virtual body forces, according to Fig. 10 (cf. Sect. 4.4). Since the given target accelerations do not cause any restriction, pseudo-limitations enforce a saturation in the selected critical sections of the test maneuver, comparable to a reduced adhesion coefficient \(\mu_{i}\) (e.g., due to a wet or icy road) or a lower wheel load.

Table 12 (x-direction) and Table 13 (y-direction) present the resulting accelerations and corresponding deviations, comparing the PI-Controller without Anti-Windup structure (AW) with the PI-Controller, including the Anti-Windup structure. Without an Anti-Windup structure, the integration error of the closed loop due to saturation causes a significant mismatch in the controller states for both directions x and y, which leads to increasing deviations. The Anti-Windup structure ensures the prevention of this effect; therefore, there is total compensation for the deviations due to windup.

Table 12 Analysis of the Anti-Windup structure for the x-direction (motion platform’s target and actual acceleration in the x-direction)
Table 13 Analysis of the Anti-Windup structure for the y-direction (motion platform’s target and actual acceleration in the y-direction)

6 Simulation results with additional rotation

Regarding the rotational motion, only relatively low target yaw velocities and accelerations result from the Motion Cueing algorithm due to particular motion concepts. Such a motion concept is, e.g., a constant rotation of the motion platform around its vertical axis with \(\dot{\psi }_{{{\text{MP}}}} = 1,2 \; {\rm rad\,s}^{ - 1}\) in case of low translational velocity or translational standstill. The yaw joint performs a counter-rotation to decouple the dome from the rotational motion. The primary movement of the motion platform is translational. As the Motion Cueing algorithm used for the pre-procession did not consider a yaw velocity, the rotation results from a pseudo-input. This input is a simple, adapted sine function, which generates an amplitude of \(\dot{\psi }_{\rm MP} = \pm 1 \; {\rm rad\,s}^{ - 1}\). The yaw joint rotates with five times the yaw velocity of the motion platform in the opposite direction (up to \(5 \; \rm rad\,s^{ - 1}\)), starting after \(15 \; {\text{s}}\). In addition, the translational target accelerations are only 25% of the previously considered maneuver.

6.1 Feedforward

Starting with the Feedforward, Fig. 12 shows the resulting virtual body moment generated by the Feedforward and provided by the motion platform. In the first half, the moment only depends on the motion platform’s rotation and, therefore, on the inertia moment of the total system. In the second half, the yaw joint decouples the upper and lower structure motion. However, since the moment of inertia of the motion platform is significantly higher than of the upper structure (cf. Table 1), the additional rotation of the yaw joint has only a marginal impact on the resulting virtual body moment.

Fig. 12
figure 12

Analysis of the virtual body moment

6.2 Control Allocation

The next step analyzes the Control Allocation for a superposition of translation and rotation. Analog to the corresponding pure translational analysis (cf. Sect. 5.2, Table 6), Table 14 illustrates the wheels’ traction potentials, force distribution, and resulting adhesion utilizations.

Table 14 Analysis of the Control Allocation (rotation) (comparison of wheel R1 to wheel R4)

One of the first things to notice is that almost no equal adhesion utilization is left. Only the virtual body moment is responsible for this, as in the case of a moment close to zero, the adhesion utilization is equal again. Comparing the resulting adhesion utilization to Fig. 12, this occurs at times \(t \approx 4 \; {\rm s}\), \(t \approx 7,5 \; {\rm s}\), or \(t \approx 15 \; {\rm s}\), for instance.

However, even if the adhesion utilization is not equal any longer, the different graphs are generally on a comparable level.

6.3 Compensation Control

The analysis of the Compensation Control for the superposition of translation and rotation starts with the starting point of the resulting rotational velocity and translational accelerations without Compensation Control, shown in Table 15. For the yaw velocity, there is mainly a deviation in the amplitude. Regarding the actual acceleration in the x-direction, the impact due to the additional rotation is only marginal. There is hardly any difference compared to Table 8 and taking into account the 100% target acceleration for that case. On the other hand, the yaw velocity highly impacts the actual acceleration in the y-direction. The relatively high deviations result from the superposed yaw velocity with the velocity in the x-direction, initialized with \(\dot{x}_{0} = 10 \; {\rm m\,s}^{ - 1}\).

Table 15 Analysis of the starting point of the Compensation Control (rotation) (motion platform’s target and actual translational acceleration and rotational velocity)

Repeating the analysis with connected Compensation Control leads to a significant reduction of the deviations of the yaw velocity, shown in Table 16. The already included extension by the correction term only provides a marginal improvement in case of such a periodic target input, compared to the PI-Controller without correction term.

Table 16 Analysis of the Compensation Control with PI-Controller (rotation) (motion platform’s target and actual translational acceleration and rotational velocity)

Regarding the accelerations in the x- and the y-direction, the deviations are considerably reduced. Compared to the previous analysis without rotation and 100% target acceleration (cf. Table 9), the respective deviations are very similar due to a compensation of the detrimental effect of the superposed rotation.

7 Discussion

Since the driving simulator accelerates with high dynamics in any direction, the control system has to meet these requirements and ensure the desired dynamics according to the driver’s perception. Regarding the test maneuver, considered in Sect.  5, it is a realistic and representative maneuver, even though the extreme peaks in the accelerations should no longer occur to this extent after a revision of the Motion Cueing algorithm. Therefore, the resulting target accelerations are a reasonable basis for analyzing the performance of the Motion Control.

The main results of the entire Motion Control, regarding the resulting translational accelerations and rotational velocity presented in Tables 9 and 16, indicate high accuracy and quality of the control. In the case of high dynamics, the resulting accelerations in the x- and the y-direction, as well as the yaw velocity, show a fast following behavior with only a minor phase delay. Although there are some deviation peaks that the driver could perceive, these mainly occur in the occasional and negligible extreme cases. Therefore, the deviations are not critical but need examination in more detail for realistic maneuvers later on for the existing system and the perception of the actual driver.

Concerning the Feedforward (cf. Table 5 and Fig. 12), estimation of the interferences should be as accurate as possible. The acceleration resistance corresponds to the desired target acceleration and is the primary part of the total running resistance. Nevertheless, especially climbing resistance has a significant impact on the virtual body forces. Considering this disturbance as precisely as possible improves the following behavior of the control system and reduces the intervention of the superimposed Compensation Control. The basis of the analysis in Sect.  5 is a constant inclination of the road, approximated to the actual conditions for commissioning the driving simulator. Extending this simplification to an adaptive inclination due to the natural, rough road should lead to higher accuracy. Besides the climbing resistance, the aerodynamic drag has a minor but also not negligible influence on the virtual body force. The current parameterization results from simplified assumptions regarding the aerodynamic coefficients \(A_{{\text{W}}}\) and \(c_{{\text{W}}}\). Determination of these coefficients for the existing system improves the Feedforward performance and leads to higher accuracy.

Regarding the Control Allocation (cf. Tables 6 and 14), the optimal force distribution leads to a similar load (pure translation) or at least to a load at a similar level (simultaneous translation and rotation) for all wheels. This distribution avoids the overload of a wheel and therefore ensures the force transmission for all wheels, considering their individually limited capabilities regarding the maximal force potentials. In general, there is no intention of high dynamic for the rotation movement, especially not at high translational dynamics. Therefore, the virtual body moment is relatively low on the one hand. On the other hand, the optimal force distribution regarding an equal utilization of adhesion is affected primarily only in uncritical situations with similar force potential on all wheels. For higher rotational dynamics, the optimization process requires further analysis.

The Single Wheel Control is the most critical part of the entire Motion Control. It is the inner cascade of the control loop, controls each wheel in parallel, and deals with the nonlinear and transient tire characteristics. The results in Table 7 show good following behavior for the longitudinal and lateral forces even at high dynamics. However, the relaxation behavior also results in certain deviations. Due to a relatively high relaxation length in the lateral direction, the corresponding forces show a significant phase delay. In contrast, the forces in the longitudinal direction have a lower phase delay but a more significant deviation of the amplitude. The differences result from the overall higher target acceleration in the x-direction, as well as the lower relaxation length \(\sigma_{\kappa } \approx 0,1 \cdot \sigma_{\alpha }\).

While the relaxation behavior only results in deviations of force transmission, there is one major problem regarding the exact input-output linearization, which leads to instability in the Single Wheel Control and is not avoidable in this formulation. This instability results from the definition of the decoupling matrix \({\varvec{D}}\) (cf. Sect. 4.3), which must be nonsingular. This matrix depends on the derivatives of the output values \(y_{i}\) and, therefore, on certain global states, e.g., the velocity \({}_{{}}^{{{\text{ZS}}}} {\varvec{v}}\) in the (ZS) reference frame. As long as the longitudinal velocity of the tire \({}_{{}}^{{\text{R}}} \dot{x}\) is high enough, the system remains stable. The motion concepts within the Motion Cueing algorithm should ensure a minimum wheel velocity but cannot avoid a standstill in exceptional cases. In this situation, the matrix becomes singular and is no longer invertible. A more detailed analysis of this problem reveals that there is no singularity for the isolated control system of the longitudinal forces. The instability results only from the lateral forces and, therefore, from a singularity in controlling the steering velocities. From these findings and additional research, it follows that an alternative, exceptional control has to control the steering angle in the case of a specific low-velocity range (anticipated with approx. \(< 1 \; {\rm m\,s}^{ - 1}\)). In contrast, the isolated control system of the longitudinal forces can proceed. In addition to this, there must be a bumpless switch between the two control systems.

According to the entire Motion Control analysis, consideration of the initial velocity \(\dot{x}_{0}\) (translation) and additional reduction of the translational target accelerations (rotation) already address this problem.

Finally, as an outer cascade of the control loop, the Compensation Control has to compensate for the remaining deviations of translational accelerations and rotational velocity. In addition, the windup effect must be prevented due to saturation of the virtual body forces, as presented in Tables 12 and 13. The general controller already shows high accuracy for both pure and extended PI-Controller. The basis for the controller design and parameterization is the simplified reference model, which consists only of the two-track model and the extended HSRI tire model. Regarding a more complex model (e.g., an MKS model) and especially the actual system, there has to be a revision and an additional analysis of this parameterization. This revision concerns the Compensation Control and the entire Motion Control with all components discussed before.

Discussing a final aspect relates to the direct control of the wheel engines, following the Motion Control. The Single Wheel Control only considers and provides the kinematic values, comprising the rotational wheel velocity \(\omega\) and the steering angle \(\delta\) for each wheel, respectively, their derivations. This paper assumes the wheels’ inner control loop to follow these values perfectly without consideration of its tracking performance. Therefore, the impact of the wheels’ inner control loop on the whole control structure requires further investigation. To improve its performance, an additional target drive torque and target steering velocity should enter the inner control loop by feedforward. This drive torque considers the wheel dynamics and the rolling resistance, so the rolling resistance does not affect the global control but only the direct wheel control.

8 Conclusion and outlook

The essential difference between the self-propelled driving simulator and state-of-the-art systems is the wheel-based motion platform, which provides a theoretically unlimited motion range and can accelerate with high dynamics in any direction. A Motion Control has to address these requirements for the motion platform, presented and discussed within this paper.

The basis of the Motion Control is a modular model definition, which consists of the extended HSRI tire model, the wheel-vehicle coupling, and the horizontal body dynamics (cf. Sect. 3). Each model corresponds to a specific part of the Motion Control structure, designed as a Two-Degrees-of-Freedom control (cf. Sect. 4).

The Feedforward computes the virtual horizontal body forces and moment, improving the control accuracy. The Control Allocation describes an optimal force distribution of these forces and moment to the four wheels, aspiring an equal adhesion utilization of all wheels. The basis of the Single Wheel Control design is the exact input-output linearization. This design leads first to linearizing, static-state feedback, and afterward to stabilizing, linear state control. The Compensation Control finally compensates for the remaining deviations on acceleration level and prevents windup effects due to force limitations.

Analyzing this concept of the Motion Control, the control performs with high accuracy and quality. At the same time, the remaining deviations primarily result from minor phase delays, as presented and discussed in Sects. 5 to 7. The Control Allocation ensures an optimal force distribution with an equal adhesion utilization, only affected by a virtual body moment. This effect is classified as not critical, as the relatively low moment arises only at low dynamics. Considering a minimum velocity requirement, the Single Wheel Control can handle the high dynamic of the test maneuver. Even though certain deviations in the tire forces remain, the Compensation Control finally compensates for them.

The analysis in this paper considers only a simplified reference model under almost ideal conditions but already reveals specific issues and difficulties. The main problem is currently the Single Wheel Control regarding the steering angle when the velocity of the wheel approaches zero. In this case, exceptional control has to ensure stability, robustness, and bumpless switching.

Regarding the implementation of the Motion Control on the existing system, it requires specific revisions and further analyses. This concerns, for instance, a validation of the tire model, a revised parameterization and validation of the Compensation Control, and the extension of the Feedforward regarding aerodynamic drag and climbing resistance. Estimating these disturbing factors should be as accurate as possible due to determining the aerodynamic coefficients and the road specifications. However, implementation of the Motion Control on the existing system especially requires further investigation of the entire control structure, including the wheels’ inner control loop. This paper assumes these controllers to be optimal, but regarding functionality and accuracy of the control structure, the wheels’ inner control loop requires specific examination and consideration. The final parameterization and validation then lead to an accurate control with high quality, which ultimately leads to the desired driver’s perception and makes the self-propelled driving simulator highly immersive.

9 Appendix

Definitions for quantities (Tables 17 and 18) and indices (Tables 19 and 20).

Table 17 Quantities with greek letters
Table 18 Quantities with Latin letters
Table 19 Indices with Greek letters and symbols
Table 20 Indices with Latin numbers and letters