1 Introduction

For some years now, motion simulator platforms have been used in real-time for many applications to simulate motion, especially in flight and driving simulation [1]. They have been able to contribute a lot of knowledge to the aeronautic and automotive fields [2]. They are beneficial for studying the effect of the implementation of active safety technologies and for conducting research on human factors [3]. As a result, the number of motion simulators has risen significantly over the last few years. Simulator manufacturers tend to improve early simulators (hexapod system) by significantly adding sensory equipment as well as adding additional rails [4]. We cite Daimler-Benz Driving Simulator from Daimler AG in Sindelfingen, Germany [5], Renault Driving Simulator in Technocentre Renault, France [6], that add one X rail and Toyota Driving Simulator in Susono, Japan [7], National Advanced Driving Simulator (NADS) in IOWA, USA [8], that add XY-table. The main benefit that simulators with XY-table have offered is that the movements can now be distributed with the XY-table to help linear or tilting movements of the hexapod and make the restitution and the recovering of acceleration and deceleration more realistic and adequate [9].

The motion cueing algorithm, commonly called the washout filter, objective is to provide the user with the most accurate perception of sliding/piloting so that the user cannot distinguish the real situation from that simulated by using a set of translational and angular movements. The MCA generates a trajectory that tends to maximize human sensation while respecting the simulator’s physical limits and returns the simulator platform back to its neutral position over time [10,11,12]. The classic approach algorithm was developed for the first time by [13, 14]. This approach is based on frequency separation, where the predefined specific force signals (predefined ski specific force in ski application) are separated into two parts. The simulator (often hexapod) can generate short-term high specific forces via translational movements, whereas static specific forces are emulated by tilting the hexapod, also called tilt coordination. The second type of MCA is the adaptive approach algorithm which was first developed by [15] for implementation on the flight simulator. This approach can be interpreted as a classic strategy whose parameters are adapted in real-time by an optimization method based on adaptive control theory. The third type of MCA is the optimal washout filter based on the Linear Quadratic Regulator (LQR) and the minimization of human motion sensation error, and it is developed firstly by [16] which has been improved by [17]. The main weakness of the adaptive washout filter is the difficulty of handling an application in real-time due to the extensive computation of differential equations, as well as the difficulty of selecting the appropriate cost weights. However, the optimal washout is designed to be applied in real-time but suffers from several problems, such as the inefficient use of the workspace (which tends to be as close as possible to the origin). Therefore, it is not suitable for all situations.

All these washout filters could be tuned to perform reasonably well concerning the pilot’s assessment justified by the experiments carried out by [18]. In addition, [19] stated that the classical washout filter has a better human sensation and higher motion fidelity for small driving simulators. Despite the advantages of classical washout filters, which lie mainly in the simplicity and short processing time, it still suffers from some significant drawbacks [20]. The trial and error method used to tune the classical washout filter parameters, which depend on the designer’s experience, leads to inefficient workspace usage. Although the XY-table use can enhance transient and sustainable specific force regeneration, it is always challenging to regenerate a sustained motion because of the phase delay generated by the low-pass filter and tilt coordination. In addition, the classic algorithm does not consider the human sensation model. All these limitations lead to a non-optimal solution and then false motion cues and misleading the sensation of movement.

MCA output is the achievable trajectories that increase human sensation and respect the robot simulator’s physical limitation. These achievable trajectories must be followed by the real robotic simulator, which requires the development of an appropriate robust tracking/stabilizing control law. Designing robust controllers to control robotic structures (coupled and nonlinear dynamic systems) is one of the most difficult tasks for many control engineers, especially when there is no complete system knowledge available [21,22,23]. In particular, in the case of a highly nonlinear system such as our 8-DoF mechatronic simulator, called XY-6DoF simulator, studied here [24,25,26].

Fig. 1
figure 1

The XY-6DoF ski simulator, CAD and real models

Note that the XY-6DoF can suffer from structured and unstructured uncertainties, such as the variation of the payload, internal, and external disturbances. Thus, a robust controller must be designed to overcome perturbations, uncertainties in the system’s parameters and redundancy with respect to some scenario. We may see for redundant robot manipulators, the optimization procedure for disturbance rejection proposed in [27]. Further, a controller should be designed, not only to the stabilization/tracking objectives, but also to reject known and unknown disturbances [28]. In the literature, in control systems, it is well known that the nonlinear Sliding Mode-based Controller (SMC) is not sensitive to parameter variations and the sliding mode can be reached in finite time [29,30,31]. The study case of vibrations suppression for a flexible spacecraft using SMC can be found in [32]. Moreover, the case of a smart rigid-flexible system control during multimode operational mission is studied in [33]. Parallel manipulator for motion simulators based MCA and SMC is studied in [34], for virtual reality gaming which mandating analytical modeling of workspace boundary as a simply closed, smooth surface with nonzero gradient. Performance evaluation for real-time PNU Vehicle driving simulator benefits from a SMC approach by perturbation compensator, as presented in [35].

In comparison with the MCA classical approach presented in the literature, which acts on the low and high frequencies, in this paper, we extend this approach to make change the intermediate frequencies by deploying the XY-table motions. For this, the materials and vestibular system are presented in Sect. 2. Section 3 deals with the extended classic washout filter and its parameters optimization using PSO. Once the achievable trajectories are defined, a control path is detailed in Sect. 4, which integrates the PSO-based parameters tuning. Finally, simulations and discussions are presented in Sect. 5.

2 Materials and vestibular system presentation

Our simulator, called XY-6DoF simulator, is shown in Fig. 1. It consists of the well-known Gough-Stewart platform carried by two sliders joints, X and Y, which form an XY-table, which has been fully designed and developed from scratch by our research team IRA2 in the IBISC-Laboratory [36, 37].

The translational movement of the hexapod legs is obtained thanks to the high-quality ball screw system, which transforms the rotational movement into translational movement. The translational movement of the sliders is obtained thanks to a mechanical rack wheel system. The Nanotec PD4 servo motor is the actuator used due to its high performance and low weight. The actuator torque capacity \(\Gamma \) is 37 N.cm. Table 1, presented in Sect. 5, defines the constructed hybrid platform’s maximum displacement, speed, and acceleration. Our platform’s hybrid construction (parallel and serial architecture) will increase the ability to replicate the driver’s real feel having more displacement, speed and acceleration capacities than a hexapod alone. This type of structure is redundant, offering a wide manipulation margin to suit people with disabilities. The platform limitations must be respected by the proposed MCA, which should consider the human sensation model. Therefore, the vestibular system description and the mathematical model are crucial.

The vestibular system, the apparatus of the human inner ear, is responsible for detecting linear and angular movements of the human head. We can distinguish the semicircular canals and the otolithic organs, which are, respectively, responsible for detecting rotational and linear movements. The semicircular canals are three channels approximately orthogonal to each other. The otolithic organs are composed of saccule and utricle organs. Nevertheless, the vestibular system has certain limits, such as it cannot detect specific exciting movements if it is below the thresholds of perception. In addition, a wrong interpretation of movement can appear between the translation and rotation movement. These imperfections are the basis of the MCA used in flight, driving and skiing simulators. The effect of translational and rotational movement on the vestibular system is illustrated in Fig. 2.

Fig. 2
figure 2

Transduction of movement, Rest vs otoliths (a) and semicircular canals (b) subjected, respectively, to linear and rotational movement [38]

Finding the best suitable mathematical model that simulates the semicircular canals and the otolith has been under research for several years we cite [39,40,41].

In this paper, we will use the otoliths model presented in [40] and can be expressed as:

$$\begin{aligned} \frac{{\hat{f}}(s)}{f(s)}= K_{oto} \frac{\tau _L s+1}{(1+\tau _1s)(1+\tau _2s)} \end{aligned}$$
(1)

where \(\tau _L\), \(\tau _1\) and \(\tau _2\) are the otolith parameters. \({\hat{f}}, f\) are, respectively, the specific felt and stimulating force. Recall that the specific force, for a unit mass, is the difference between the linear acceleration and the gravity vector \(f = a - g\).

For the semicircular canals we will use the [41] model presented below:

$$\begin{aligned} \frac{{\hat{\omega }}(s)}{\omega (s)}= K_{scc} \frac{\tau _1 \tau _a s^2 (1+\tau _L s) }{(1+\tau _a s)(1+\tau _1 s)(1+\tau _2 s)} \end{aligned}$$
(2)

where \(\tau _a\),\(\tau _1\),\(\tau _2\),\(\tau _L\) are the semicircular canals time constants, and \({\hat{\omega }}\), \(\omega \) are the felt and the head angular velocities, respectively, and s is the Laplace’s operator. \(K_{scc}\) is the static gain.

After the XY-6DoF hybrid simulator description and the mathematical model of the vestibular system presentation, we must specify an adequate MCA to increase the human sensation while respecting the simulator’s physical limits.

3 Extended washout filter proposition and optimization

This section details the extended classical washout filter dedicated to our XY-6DoF and the parameters tuning using PSO.

To design a washout filter, the classic approach consists of defining, from the predefined trajectory signals, two frequency range parts through two filters: (high and low)-pass filters [20]. In [9, 20], the XY-table acts as a high-pass filter to help the hexapod or by using an optimization criterion.

In our case, the predefined trajectories consist of the skier specific force signals predefined in the alpine ski application developed under Unity [37]. Let us take a worst-case example of a specific force and apply the existing washout filter in the literature [20]. The specific force recovery by the hexapod is present in Fig. 5 presented in Sect. 5.

The XY-6DoF simulator can generate a short-term high-frequency part of the specific force through translational movements of the hexapod and the XY-table. In addition, the static or the low-frequency part of the specific force is emulated by tilting the hexapod—also called tilt coordination. The tilt coordination mechanism is used to recover a part of the gravity acceleration by tilting the hexapod. For surge direction x, recovering a part of the gravity acceleration along x called \(g_x\) is done by tilting the hexapod around the y axis (for more details, we can see [6]).

From Fig. 5, we notice that the critical lack of restored specific force is within the intermediate frequency range, especially for the Handiski application [37]. Furthermore, it should be noted that the false motion signal is mainly presented in the tilt coordination due to restoration delay. Therefore, we propose that the XY-table acts as a band-pass filter to respond to the restored skier specific force lack in the intermediate frequency range. In other words, the XY-table will help the hexapod tilt restoration in the early low-frequency range and assist the hexapod in the late high-frequency range. The structure of our extended approach in the longitudinal mode is presented in Fig. 3.

Fig. 3
figure 3

Extended classic MCA approach for the XY-6DoF platform

A third-order high-pass filter \(F_{h_i}\) is proposed for the hexapod translational and rotational channel, and it is given by:

$$\begin{aligned} F_{h_i} = \frac{f_{ach}(s)}{f_{pd}(s)}=K_i \frac{s^2}{s^2+ 2\xi _i \omega _{n,i} s+ \omega _{n,i}^2} \end{aligned}$$
(3)

where \(K_i\), \(\omega _{n,i}\), and \(\xi _i\) are parameters to be adjusted for \(i^{th}\) high-pass filter and \(f_{pd}\), \(f_{ach}\) are, respectively, the specific force of the real skier and that to be reproduced on the simulator (achievable trajectories).

For the XY-table, a second-order band-pass filter \(F_{i}\) is proposed and it is presented as follows:

$$\begin{aligned} F_{i} = \frac{H_0 \frac{\omega _0}{Q}s}{s^2+ \frac{\omega _0}{Q} s+ \omega _{0}^2} \end{aligned}$$
(4)

where \(H_0\), Q and \(\omega _0\), are the band-pass filters parameters that to be tuned.

For tilt coordination channel, a second-order low-pass filter \(F_{l}\) is proposed and it is given by:

$$\begin{aligned} F_{l} = K\frac{1}{s^2+ 2\xi \omega _{n} s+ \omega _{n}^2} \end{aligned}$$
(5)

where K, \(\omega _{n}\), and \(\xi \) are parameters to be adjusted for the low-pass filter.

The adjustment of the parameters and the shape of the different filters are of crucial importance to maintain maximum perceptual consistency and reduce the resulting delays. In other words, the frequency response of these filters must be unitary in the bandwidth, while the attenuation must be infinite outside. Therefore, our hybrid structure features a mechatronic construction which improves the simulator capacity. Furthermore, the proposed medium frequency filter makes it possible to use better the XY-table of the XY-6DoF platform. The results presented in Sect. 5 present an increase in the specific force and the rotation speed recovering and then an increase in human sensation.

Despite the improvement made by adding the XY-table filter, the method to define the three filters parameters is done by the trial method as is done in the literature for the classical approach. The trial and error method is used to tune the classical washout filter parameters presented above. Both approaches do not use the human sensation model and physical constraint in setting filters parameters, which leads to non-optimal filters and then false motion cues generated by the simulator. Therefore, there are (high, band and low)-pass filter parameters that must be optimally tuned. In the following, we propose a PSO-based algorithm to tune these parameters. Indeed, PSO is a biologically inspired computational search and optimization method that was introduced for the first time by [42, 43]. It is based on two principal methodologies, it is related to artificial life in general, such as the theory of bird flocking, and it is also related, however, to evolutionary and genetic theories [44]. PSO iteratively improves a solution to an optimization problem and shares information with all members of the swarm [45]. PSO has proven to be capable of solving optimization problems with multi-dimensional search spaces [46]. PSO has been successfully used for parameter tuning in other algorithms [47].

In [48] PSO is also used to adjust washout filters. This shows that adapting this heuristic method to the MCA problem is feasible.

The goal of MCA is to minimize human sensation error without exceeding physical restrictions. Therefore, PSO is used to minimize the cost function, which is the total human sensation error. PSO should respond to three objectives: reduce the human sensation error, follow the predefined skier’s sensation signal accurately, and use the workspace more efficiently. Using PSO, the simulator’s physical limitations can be considered in the filter parameter tuning process. Therefore, PSO can offer a balance between human sensation error and the use of the workspace without the physical limitations being exceeded.

Hence, the PSO cost function, which should be minimized, is composed mainly of the sensation error between the real and simulator skiers. The literature offers a variety of functions, such as the Integral Absolute Error (IAE), Integral of the Squared Error (ISE) and Integral of the Time-weighted Squared Error (ITSE). We propose to define the cost function as the Integral of the Squared Error performance index. Integral of the Squared Error is an old, proven measure to quantify the error and measure the performance. Hence, we propose the total human sensation error cost function that includes the human sensation error in the translational and rotational modes at iteration j as follows:

$$\begin{aligned} F^j_{k,se} = \gamma _{e,f} \int e_f^2 dt + \gamma _{e,\omega } \int e_{\omega }^2 dt \end{aligned}$$
(6)

where \(\gamma _{e,f}\), \(\gamma _{e,\omega }\) are the penalty weights for the sensed specific force and angular velocity errors, and \(e_f(t) = {\hat{f}}_{pd}(t)-{\hat{f}}_{ach}(t)\) are the felt specific force errors and \(e_{\omega }(t) ={\hat{\omega }}_{pd}(t)-{\hat{\omega }}_{ach}(t)\) are the felt angular velocity errors between the predefined and achievable skier trajectories. The objective is to minimize the difference in felt specific force and felt angular rotation between the real skier (predefined trajectories) and between the simulator skier (achievable trajectories). The weights can be selected according to the robotic platform requirements to influence the cost function positively.

In addition, it is necessary to introduce a PSO limitation function that limits the linear and angular movements of the simulator to avoid any exceeding of the physical limitation. Therefore, we define the total limitation function by three limitation functions: the XY-table’s displacement and the translation and rotation bounds of the hexapod terminal. Consequently:

$$\begin{aligned} F^j_{k,lim}= & {} F^j_{k,lim, T, hexapod}+F^j_{k,lim, R, hexapod}\nonumber \\+ & {} F^j_{k,lim, XY table} \end{aligned}$$
(7)

where,

$$\begin{aligned} F^j_{k,lim, XY table}= & {} \gamma _{wash,x_t} \int \left( \int x_t dt \right) ^2 dt \nonumber \\+ & {} \gamma _{x_t} \int x_t^2 dt \nonumber \\+ & {} \gamma _{{\dot{x}}_t} \int {\dot{x}}_t^2 dt +\gamma _{\ddot{x}_t} \int \ddot{x}_t^2 dt \end{aligned}$$
(8a)
$$\begin{aligned} F^j_{k,lim, T, hexapod}= & {} \gamma _{wash,x_h} \int \left( \int x_h dt \right) ^2 dt \nonumber \\+ & {} \gamma _{x_h} \int x_h^2 dt \nonumber \\+ & {} \gamma _{{\dot{x}}_h} \int {\dot{x}}_h^2 dt + \gamma _{\ddot{x}_h} \int \ddot{x}_h^2 dt \end{aligned}$$
(8b)
$$\begin{aligned} F^j_{k,lim, R, hexapod}= & {} \gamma _{\theta }\int \theta ^2 dt \nonumber \\+ & {} \gamma _{{\dot{\theta }}} \int {\dot{\theta }}^2 dt \end{aligned}$$
(8c)

with \(\gamma _{x_h}, \gamma _{wash,x_h}, \gamma _{{\dot{x}}_h}\) and \(\gamma _{\ddot{x}_h}\) are the penalty weights of translational displacement, integral of translational displacement, translational velocity and translational acceleration for the hexapod, respectively. \(\gamma _{\theta }\) and \( \gamma _{{\dot{\theta }}}\) are the penalty weights of angular displacement, and angular velocity of the hexapod, respectively. Then \(\gamma _{x_t}, \gamma _{wash,x_t}, \gamma _{{\dot{x}}_t}\) and \( \gamma _{\ddot{x}_t}\) are the penalty weights of translational displacement, integral of translational displacement, translational velocity and translational acceleration for the XY-table, respectively. Therefore, the total evaluation or cost function of the PSO-based washout filter can be described as follows:

$$\begin{aligned} F(Y_k^j)= F^j_{k,se} + F^j_{k,lim} \end{aligned}$$
(9)

where \( F^j_{k,se}\) and \(F^j_{k,lim}\) are the cost functions related, respectively, to the total human sensation error and the displacement of the platform movement.

In our case, the most important movement to be recovered for a skier is in the longitudinal and transverse directions. Therefore, we present the particle in PSO at iteration j in the longitudinal mode as follows :

$$\begin{aligned} Y_k^j =[y_{k,1}^j, \ y_{k,2}^j,\ \cdots , \ y_{k,12}^j] \end{aligned}$$
(10)

where the \(k^{th}\) particle in the swarm includes \(y_{k,1}^j, \ y_{k,2}^j, \cdots , \ y_{k,12}^j\) that denote \(K_{l}, \xi _{l},\omega _{l}\), \(H_{0}, Q,\omega _{0}\), \(K_{h,m}, \xi _{h,m},\omega _{h,m}\) with \(m=1,2\) of the low-, band- and high-pass filter parameters, respectively.

The PSO algorithm is marked by two essential reasoning capabilities. First, the particles memorize their own best position and second, memorize the swarm best position, where the meaning of “best position” is the position with the smallest cost function value. Let us introduce, \(y_k(t)\) as the particle position at time step t. The particle location is affected by its velocity and is updated by adding \(v_k(t)\) to its current position. The expression of the PSO algorithm is [49]:

$$\begin{aligned}&v_k(t)=\chi (\phi ).( \underbrace{\ \omega v_k(t-1)}_{\text {Current motion}} \nonumber \\&\qquad + \underbrace{c_1 r_1 (p_{b,k}(t) - y_k(t-1))}_{\text {particle memory influence}} \nonumber \\&\qquad + \underbrace{ c_2 r_2 (g_b(t)-y_k(t-1)))}_{\text {swarm influence}} \end{aligned}$$
(11a)
$$\begin{aligned}&y_k(t+1)= y_k(t)+v_k(t+1) \end{aligned}$$
(11b)
$$\begin{aligned}&\chi (\phi ) = \frac{2}{2-\phi -\sqrt{\phi ^2-4\phi }} \end{aligned}$$
(11c)

where, \(\omega \) is the inertia weight that make a compromise between exploration and exploitation and its value goes from 1.1 to 0.1 to ensure a better convergence of the PSO-method [49], and \(\chi \) is a constriction factor, and \(\phi =c1 +c2, \phi >4\). \(p_{b,k}(t),\ g_b(t)\) represent the best local and global positions, \(c_1\), \(c_2\) represent the acceleration coefficients also known as self confidence, and \(r_1\in [0, 1] \) and \(r_2 \in [0, 1]\) represent the random vectors.

To avoid any non-feasible solution, the particle swarm can be limited \( x_{lo} \le x \le x_{up}\) where \(x_{lo}\) and \(x_{up}\) indicate the lower and upper limits, respectively.

We have evenly distributed the global value of the particle in the search area in order to avoid falling into a local minimum and to move towards a global optimal solution [48]. The PSO algorithm takes end by two means first, when the defined maximum number of iterations is reached or when a predefined cost value is obtained.

After implementing the PSO algorithms, we can find the three washout filters parameters (low, band and high), which optimize the cost function and minimize the limiting function. In other words, maximize human sensation while respecting the XY-6DoF simulator limits. The superiority of this method is clearly seen and presented in the results section.

Once the filter parameters have been optimized, the achievable trajectories resulting from the optimized filters will be generated. In the next section, we present the design and development of a control law that allows the XY-6DoF robotic platform to track these achievable trajectories.

4 Achievable skier trajectories path control

The sliding mode control (SMC) [50] possesses strong robustness against the uncertainties since it does not depend entirely on the accurate model of a plant. SMC is then retained to identify a control law to follow the feasible skier trajectories. It is well-known that the Sliding mode suffers from the chattering phenomenon, and the control parameters are set based on the experimental trial-and-error method [31, 51]. An optimization method is necessary to adjust the SMC to have the best reaching rate and avoid chattering problems. As described in Sect. 3, the PSO presents an excellent optimization method to solve many control parameters in terms of optimality. Therefore, the PSO will be used to adjust the SMC parameters.

This section develops the sliding mode control appropriate for the XY-6DoF platform and then adjusts the SMC parameters using the PSO-based method.

Let us define the trajectory tracking errors \(e_p(t) \in {\mathbb {R}}^{8}\) of the XY-6DoF joints as:

$$\begin{aligned} e_p(t) = q_d(t) - q(t) \end{aligned}$$
(12)

where \(q_d(t) \in {\mathbb {R}}^{8}\) is the desired actuator (joint) trajectories computed from the achievable trajectories (output of the PSO-based extended classic washout filter).

Let us define the sliding surface as in [52]:

$$\begin{aligned} s(t) = {\dot{e}}_p(t)+ \Lambda e_p(t) + \lambda \int e_p(t) \end{aligned}$$
(13)

where \(s(t) \in {\mathbb {R}}^{8}\), \({\dot{e}}_p(t)= {\dot{q}}_d(t) - {\dot{q}}(t)\) is the tracking velocity error \({\dot{e}}_p(t) \in {\mathbb {R}}^{8}\) in which \({\dot{q}}_d(t) \in {\mathbb {R}}^{8}\) is the desired speed trajectory, \(\Lambda =diag(\Lambda _i)\) with \(\Lambda _i>0\) for \( (i=1,\ldots ,8)\) is the diagonal positive definite constant matrix that determines the slope of the sliding surface and \(\lambda =diag(\lambda _i)\) with \(\lambda _i>0\) for \( (i=1,\ldots ,8)\) is a diagonal positive definite constant matrix. Remind that the system dynamics is expressed as [25]:

$$\begin{aligned} \Gamma = M(q(t)) \ddot{q}(t) + H(q(t),{\dot{q}}(t)) \end{aligned}$$
(14)

where, \(\Gamma \in {\mathbb {R}}^{8}\) is the joints torque vector, \(\ddot{q}(t) \in {\mathbb {R}}^{8}\) is the joints acceleration vector, \(H(q(t),{\dot{q}}(t)) \in {\mathbb {R}}^{8}\) is the coriolis and gravity vectors and \(M(q(t)) \in {\mathbb {R}}^{(8\times 8)}\) is the mass matrix.

Making time derivative of Eq. (13) and then substituting Eq. (14) into it yields.

$$\begin{aligned} {\dot{s}}(t)= & {} \ddot{e}_p(t)+ \Lambda {\dot{e}}_p(t) + \lambda e_p(t)\nonumber \\ {\dot{s}}(t)= & {} \ddot{q}_d(t)- M(q(t))^{-1} (\Gamma -H(q(t),{\dot{q}}(t))) \nonumber \\+ & {} \Lambda {\dot{e}}_p(t) + \lambda e_p(t) \end{aligned}$$
(15)

To improve the dynamic performance of the sliding mode reaching motion, an exponential reaching law is selected as:

$$\begin{aligned} {\dot{s}}(t)= -K sgn(s(t))- \zeta s(t) \end{aligned}$$
(16)

where \(K =diag(K_i)\) with \(K_i>0\) for \( (i=1,\ldots ,8)\), \(\zeta =diag(\zeta _i)\) with \(\zeta _i>0\) for \( (i=1,\ldots ,8)\) are the control gains and sgn(.) is the sign function.

Combining Eqs. (15) and (16) yields the non-linear robust sliding mode control law for the trajectory tracking as follows:

$$\begin{aligned} \Gamma= & {} M(q(t)) (\ddot{q}_d(t)+\Lambda {\dot{e}}_p(t)+ \lambda e_p(t) \nonumber \\&+ K sgn(s(t))+ \zeta s(t)) + H(q(t),{\dot{q}}(t)) \end{aligned}$$
(17)

To prove that the nonlinear robust sliding mode control law shown in Eq. (17) used for motion tracking of the end-effector, the robotic system is asymptotically stable, we choose the following Lyapunov candidate function, which is positive definite :

$$\begin{aligned} V(t)=\frac{1}{2} s(t)^Ts(t) \end{aligned}$$
(18)

Differentiating V(t) with respect to timescale and then substituting Eq. (16) into it yields

$$\begin{aligned} {\dot{V}}(t)= & {} s(t)^T {\dot{s}}(t) \nonumber \\= & {} s(t)^T (-K sgn(s(t))- \zeta s(t))\nonumber \\= & {} - s(t)^T K sgn(s(t)) -\zeta s(t)^Ts(t)\nonumber \\= & {} -K \Vert s(t)\Vert - \zeta \Vert s(t)\Vert ^2 \le 0 \end{aligned}$$
(19)

where \(\Vert .\Vert \) denotes the vector/matrix Euclidean norm. Since V(t) is a negative semi-definite function, based on the Lyapunov stability theory, the XY-6DoF robotic system is asymptotically stable.

To further mitigate chatter phenomena, a saturation function which is continuous around the sliding surface \(s(t) = 0\) is employed to replace the \(``sgn(s(t))''\) in Eq. (17) so as to ensure s(t) converges to zero smoothly. The saturation function \(``sat(s(t))''\) is given by [31]:

$$\begin{aligned} sat(s(t))= & {} [sat(s_i(t))],\ i=1,\ldots ,8 \end{aligned}$$
(20)
$$\begin{aligned} sat(s_i(t))= & {} \left\{ \begin{array}{lll} 1, &{} \text{ if } s_i(t) > \xi \\ (\frac{1}{\xi })s_i(t), &{} \text{ if } |s_i(t) |\le \xi \\ -1, &{} \text{ if } s_i(t) < -\xi \end{array} \right. \end{aligned}$$
(21)

where \(\xi \) represents the thickness of the boundary layer. Therefore, the sliding mode control law is as follows:

$$\begin{aligned} \Gamma= & {} M(q(t)) (\ddot{q}_d(t)+\Lambda {\dot{e}}_p(t)+ \lambda e_p(t) \nonumber \\+ & {} K sat(s(t))+ \zeta s(t)) + H(q(t),{\dot{q}}(t)) \end{aligned}$$
(22)

Now, solving the motion tracking problem with a sliding mode control leads to the control law Eq. (22). The \(\Lambda ,\ \lambda ,\ K\), and \(\zeta \) parameters are usually determined through experiments [53] and have a significant impact on the performance of the SMC. The \(\zeta \) and K parameters are the SMC gains where the \(\zeta _i\) parameters force the state x to approach the switching manifolds faster when s is large. Furthermore, \(K_i\) parameters influence the rate at which the switching variable s(t) reaches the switching manifold. The \(\Lambda \) and \(\lambda \) parameters are the slope of the sliding surface.

Unfortunately, no direct method exists in the literature to find these parameters because of the coupling effect and nonlinearities of the XY-6DoF robotic systems. Therefore, the choice of parameters through experiments depends only on experience or repeated debugging. PSO is an efficient method for choosing the optimized parameters of the sliding mode controller. The main advantages of PSO are efficiency and simplicity, proven in many other parameters tuning problems [34, 54,55,56,57].

For our application, PSO algorithm generates, at each step, a number of solutions equal to the number of particles. Let us take for j iteration the \(k^{th}\) particle position and its corresponding velocity as follow: \(Z^j_k=[\Lambda ^j_{k,n},\lambda ^j_{k,n},K^j_{k,n},\zeta ^j_{k,n}]\) with n is the actuators number, \(n=1,2,\ldots ,8\) and \(v^j_k=[v^j_{k,1},\ v^j_{k,2},\ldots , \ v^j_{k,32}]\) where \(Z^j_k \in {\mathbb {R}}^{(32\times 1)}\) and \(v^j_k \in {\mathbb {R}}^{(32\times 1)}\). The initialization of a swarm particles is done with a population of random solutions. During the optimization process that update the swarm particle positions and velocities require important values. The personal \(p_{b,j}(t)\) best position and the global best position \(g_b(t)\). They are updated following the equations presented in previous section. In this application, we propose defining the cost function as the sum of the Root Mean Square (RMS) of the acceleration errors. Root mean square error is an old, proven measure of control and quality. Therefore, we express the cost function as follows:

$$\begin{aligned} F(Z^j_k)= \sqrt{\frac{\sum _{k=1}^{k=N} \ddot{e}^2_{p}(Z^j_k)}{N}} \end{aligned}$$
(23)

where \(\ddot{e}_{p}(Z^j_k)\) is the acceleration error of the \(k^{th}\) sample and N is the sample number.

The parameters found by PSO can be used in the real-time implementation of the PSO-based SMC controller on our XY-6DoF robotic platform. We present in the following figure the structure of the proposed PSO-based sliding mode control for \(j^{th}\) iteration.

Fig. 4
figure 4

Proposed PSO-based SMC parameters optimization schema

First, desired trajectories of leg joints \(q_d,{\dot{q}}_d,\ddot{q}_d\) are obtained from the upper platform center of mass achievable trajectories based on the geometric and the kinematic models of the XY-6DoF [24, 25]. Then, as shown in Fig. 4, the SMC law is applied on the XY-6DoF, where the parameters are defined by the best parameters obtained in manual tuning. Then we calculate the cost function, in other words, the joint acceleration errors between desired and actual trajectories. Finally, the SMC parameters are updated to minimize the cost function. The PSO algorithm will run until the sliding mode parameters reach the optimal value, which minimizes the cost function. The results section will present the improvement of the PSO-SMC over the conventional one in terms of control specification. The following section will be devoted to applying the proposed algorithms to discuss the results.

5 Simulation results and discussion

Before starting the simulation development, let us present the maximum displacement, velocity, and acceleration of the constructed hybrid platform in Table 1. The X, Y are the table displacement, \(X_h\), \(Y_h\), \(Z_h\) are the hexapod translational displacements, and \(\theta _x\),\(\theta _y\), \(\theta _z\) are the hexapod rotational displacements.

Table 1 XY-6DoF physical limits [25]

Let’s also present the vestibular parameters, including otoliths and semicircular canal, in Table 2.

Table 2 Otoliths and semicircular canals parameters [40, 41]

Let us present the worst-case example of a specific force and apply the existing washout filter in the literature.

Fig. 5
figure 5

Classic MCA approach presented in the literature such as [20]

The different stages of a motion simulator are almost the same and consist of the following three parts:

  1. 1.

    Definition of the predefined trajectories either from a sensor placed on a real skier, or retrieved from simulation software such as Unity, or from modeling and planning of a ski trajectory.

  2. 2.

    Design and development of a MCA suitable for the robotic simulator. In our case, it will be the PSO-based extended classic washout filter.

  3. 3.

    Design a control law to follow the path of achievable trajectories by the robotic platform. In our case, it will be the PSO-based SMC.

In the following, we present in Fig. 6 the necessary steps of a Handiski motion simulator

Fig. 6
figure 6

From predefined ski paths to real simulator trajectories

First, note that when planning a trajectory, attention should be paid to the vestibular linear acceleration and velocity thresholds as well as the angular acceleration threshold. Recall that, \(a_{th}= 5 cm.s^{-2}\), \(v_{th}= 21 cm.s^{-1}\) and \(\ddot{\theta }_{th}=0.3 ^{\circ }.s^{-2}\) and \(R_0\) the fixed reference attached to the ground and \(R_H\) is the reference attached to the skier head.

Fig. 7
figure 7

Predefined trajectory planning

Figure 7 presents the different trajectory modes. A movement model made up of several ski-specific sub-models has been modeled. The predefined trajectory of the skier consists at first of a descending movement, mode 1. After that, we manage to have a constant slope to get the possibility of doing the washout. The washout is done to perform other trajectories modes such as mode 1+ mode 2. The skier specific force in \(x-\)direction is shown in Fig. 9.

Second, the proposed extended classic washout filter exhibits an improvement in the mid-frequency range. We will take the worst-case example, and it is shown in the following figure,

Fig. 8
figure 8

Extended classic MCA

As it is clear from Fig. 8, XY-table plays a vital role in specific force restoration comparable to literature in Fig. 5. A comparison of the extended classical approach with that exists in the literature for the ski-specific force trajectory is made in Fig. 9.

As described above, the proposed PSO is applied in this research work to tune the washout filter parameters. Its objective is to improve the filter’s performance by taking human sensation error and motion constraints into account and reducing the designer’s tuning effort.

The washout algorithm model is first verified. Then, the PSO washout algorithm is simulated and tested. Finally, the PSO-based washout results are compared with the common washout algorithm to prove the superiority of the PSO washout algorithm that we propose. Lastly, the performance of the PSO used for resolving the proposed model is simulated and analyzed. For the longitudinal mode, the low-pass filter in the tilt channel and the high-pass filter in the translational channel for the hexapod platform are tuned together. The band-pass filter and the high-pass filter in the rotational channel are tuned separately.

In the experimental study, the PSO parameters used were as follows: swarm size is about 100 particles; iteration limit is about 70 particles, and inertia range is [0.1, 1.1]. The convergence has been reached partially at the 28th iteration and totally at the 50th iteration. Therefore, optimized results are obtained with minimized cost functions values.

In the following, we present in Fig. 9 the felt specific forces in the longitudinal mode, four recovery classic filters are addressed. First is the classic washout filter, where the X-table acts in the high-frequency range (literature). Second is the proposed extended classic washout filter where the X-table acts on the band-frequency range. The last two classic washout filters are the same, but the parameters are optimized using the PSO algorithm. Figure 9 shows the felt specific forces of the four washout filters.

Fig. 9
figure 9

Restored specific force for classic and PSO-based filters

According to Fig. 9, the felt specific force in the PSO-based washout filter follows the predefined signal and its shape more precisely, as compared with that from the classical washout filter. In addition, we can see that the felt specific force follows the predefined specific force signal better when the X-table acts on the band-frequency range.

Fig. 10
figure 10

Restored felt acceleration errors for classic and PSO-based filters

The felt specific force error of the four filters is shown in Fig. 10, and it can be clearly observed that some of the sensation error peaks that provide false motion cues are strictly reduced using the PSO-based extended classic approach.

The displacements in the longitudinal direction for the hexapod and the XY-table are shown in Figs. 11 and 12, respectively.

Fig. 11
figure 11

Hexapod displacement for classic and PSO-based filters

For the hexapod, the displacement of the hexapod is increased from 0.185 m using the classical washout filter to 0.21 m using the PSO-based classic filter. Moreover, the displacement of the hexapod is increased from 0.18 m using the extended classical washout filter to 0.25 m using the PSO-based extended filter, which is the maximum displacement of the hexapod. Similarly, it can be seen from Fig. 12 the PSO-based use of all authorized displacement of the XY-table (1m). These results show the effectiveness of the proposed PSO-based washout filter in using the entire available workspace.

Fig. 12
figure 12

Table displacement for classic and PSO-based filters

Figure 13 indicates the inclination of the platform (tilt angle) for the four washout filters presented above.

Fig. 13
figure 13

Tilt angle and speed for classic and PSO-based filters

We can see that the proposed extended classical approach increases the angle utilization of the hexapod and increases the angular velocity to be faster in tracking the predefined specific force signal.

Let us introduce a performance indicator to measure the motion cueing algorithm’s fidelity and quantify the improvement.

$$\begin{aligned} PI_{\%} = 100 \left( 1-\frac{\Vert e_f\Vert }{\Vert {\hat{f}}_{pd}\Vert }\right) \end{aligned}$$
(24)

where \(\frac{\Vert e_f\Vert }{\Vert {\hat{f}}_{pd}\Vert }\) measures the achievable and predefined specific force offset and \(\Vert .\Vert \) is the quadratic norm \(\Vert x\Vert _2=(\sum _{i=0}^N x_i^2)^{\frac{1}{2}}\).

Table 3 PI of classic (literature) and extended MCA approaches
Fig. 14
figure 14

Desired hexapod joints

Fig. 15
figure 15

Table trajectories errors for SMC

Based on the achieved results obtained, there is a significant improvement in the washout filter performance by using the proposed PSO-based method. The PI increase from \(63.25 \%\) to \(77.57 \%\) for the classic approach (literature) and from \(80.99 \%\) to \(96.66 \%\) for the extended classic approach. The results show the effectiveness of the proposed PSO-based washout filter on many levels: reduce the human sensation error, maximize the shape following factor and use the entire XY-6DoF platform workspace availability. In addition, It can be seen that the proposed band-pass filter used for the XY-table can increase the PI of both MCA parameters tuning (Manual: \(17.74 \%\), PSO-based: \(19.09 \%\)). The idea is that the two parts of the robotic motion simulation platform, the hexapod, and the XY-table, cover most of the frequency range, providing the most realistic motion simulation in which all filter parameters are tuned using the PSO algorithm. The achievable (desired) trajectories will be the trajectories resulting from the extended PSO-based classic washout filter.

Third, we present the comparison between the conventional SMC and the PSO-based SMC in terms of convergence and chattering phenomena.

The table desired displacement, speed and acceleration trajectories are defined in Fig. 12. The hexapod desired translational displacement, speed and acceleration are also defined in Fig. 11, and the hexapod desired rotation and rotation speed are defined in Fig. 13. The dynamic behavior of the XY-6DoF robotic simulator was studied in previous research papers [24, 25, 37]. Therefore, based on the geometric and the kinematic models, we can generate the desired joints (legs) trajectories of the hexapod presented in Fig. 14.

In the experimental study, the PSO parameters used were as follows: swarm size 100; iteration limit 50, and inertia range is [0.1, 1.1]. The convergence has been reached partially at the 10th iteration and totally at the 18th iteration.

In the following, we will present the displacement, speed, and acceleration errors of the sliding mode control (SMC), where the parameters are set by the trial and error method and of the corresponding PSO-based SMC tuned parameters. Trajectories and control inputs of the X-table and the hexapod are also presented. Figures 15 and 16 present the table displacement, speed and acceleration errors for SMC and PSO-based SMC.

Fig. 16
figure 16

Table trajectories errors for PSO-based SMC

Fig. 17
figure 17

Table control input for PSO-based SMC

Fig. 18
figure 18

Hexapod trajectories errors for SMC (near view)

Fig. 19
figure 19

Hexapod trajectories errors for PSO-based SMC

Fig. 20
figure 20

Hexapod control input for PSO-based SMC

The PSO-based SMC has lower acceleration errors than the conventional SMC due to the definition of the PSO cost function. As can be clearly seen, the chattering phenomenon is present in the conventional SMC and eliminated in the PSO-based SMC. Figure 17 presents the table control input for PSO-based SMC.

Moreover, the chattering phenomenon is also eliminated in the control input with the proposed PSO-based SMC. Figures 18 and 19 present the hexapod displacement, speed and acceleration errors for conventional SMC and PSO-based SMC.

Figure 20 presents the hexapod control input for PSO-based SMC.

These figures show that the PSO-based sliding mode control provides a better control specification in terms of the fast response and trajectory tracking, especially for acceleration trajectories (same for the specific force). Therefore, the proposed PSO-based SMC shows good avoidance of chattering phenomena and a reduction of the acceleration error magnitude.

6 Conclusion

A direct application of the classical MCA leads to a significant lack of specific force recovery in the intermediate frequency range for the studied Handiski application. Hence, the classic washout filter is extended and takes advantage of the large workspace offered by the 8-DoF mechatronic platform by introducing a band-pass washout filter for the XY-table. Therefore, for a given reference skier’s trajectory, the performance indicator enhancement increases by \(18\%\); this implies that the hexapod and XY-table offer a more realistic motion simulation. Further, such a method of tuning filter parameters fails human perception integration. We have shown that the performance indicator reaches \(96,66\%\) when considering the PSO-based algorithm tuning the washout filter parameters. As the upper platform center of mass must follow the skier’s reference trajectory, a nonlinear sliding mode controller is proposed, and its control parameters have been optimized under a PSO algorithm. As a perspective of this work, a humanoid robot of the NAO type will be integrated and equipped with adequate sensors such that paraplegic human-like postural and equilibrium must be analyzed.